Advertisement
lafur

Untitled

Sep 19th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.62 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end local player = game:GetService("Players").LocalPlayer
  6. repeat
  7. wait()
  8. until player.Character
  9. local char = player.Character
  10. local torso = char:WaitForChild("Torso")
  11. local mouse = player:GetMouse()
  12. local color = BrickColor.new("Really black")
  13. local material = "Neon"
  14. local trans = 0.5
  15. local debounce = false
  16. for u,c in pairs(player.Character:GetChildren()) do
  17. if c.className == "Hat" and c.Name ~= "Hybrid Goggles" then
  18. c.Handle.BrickColor = BrickColor.new("Really black")
  19. c.Handle.Mesh.TextureId = "http://www.roblox.com/asset/?id=0"
  20. end
  21. end
  22. blast = function()
  23.  
  24. local b = Instance.new("Part", workspace)
  25. game.Debris:AddItem(b, 2)
  26. b.Size = Vector3.new(5, 5, 5)
  27. b.CFrame = torso.CFrame * CFrame.new(0, 0, -5)
  28. b.TopSurface = "Smooth"
  29. b.BottomSurface = "Smooth"
  30. b.CanCollide = false
  31. b.BrickColor = color
  32. b.Transparency = trans
  33. b.Material = material
  34. local v = Instance.new("BodyVelocity", b)
  35. v.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  36. v.Velocity = torso.CFrame.lookVector * 50
  37. r = Instance.new("BodyAngularVelocity", b)
  38. r.AngularVelocity = Vector3.new(25, 25, 25)
  39. b.Touched:connect(function(hit)
  40.  
  41. p = hit.Parent
  42. if p and p:FindFirstChild("Humanoid") and p.Name ~= player.Name then
  43. b:Remove()
  44. p.Humanoid:TakeDamage(1000000)
  45. end
  46. end
  47. )
  48. end
  49.  
  50. death = function()
  51.  
  52. local b = Instance.new("Part", workspace)
  53. game.Debris:AddItem(b, 2)
  54. b.Size = Vector3.new(5, 5, 5)
  55. b.CFrame = torso.CFrame * CFrame.new(0, 0, -5)
  56. b.TopSurface = "Smooth"
  57. b.BottomSurface = "Smooth"
  58. b.CanCollide = false
  59. b.BrickColor = color
  60. b.Transparency = trans
  61. b.Material = material
  62. local v = Instance.new("BodyVelocity", b)
  63. v.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  64. v.Velocity = torso.CFrame.lookVector * 50
  65. r = Instance.new("BodyAngularVelocity", b)
  66. r.AngularVelocity = Vector3.new(25, 25, 25)
  67. b.Touched:connect(function(hit)
  68.  
  69. p = hit
  70. if p and p.Name ~= "Base" and p.Name ~= player.Name then
  71. p:Remove()
  72. end
  73. end
  74. )
  75. end
  76.  
  77. wall = function()
  78.  
  79. local b = Instance.new("Part", workspace)
  80. game.Debris:AddItem(b, 5)
  81. b.Size = Vector3.new(1, 1, 1)
  82. b.CFrame = torso.CFrame * CFrame.new(0, 0, -5)
  83. b.TopSurface = "Smooth"
  84. b.BottomSurface = "Smooth"
  85. b.CanCollide = false
  86. b.Anchored = true
  87. b.BrickColor = color
  88. b.Transparency = trans
  89. b.Material = material
  90. for i = 1, 50 do
  91. wait()
  92. b.CFrame = torso.CFrame * CFrame.new(0, 0, -5)
  93. b.Size = b.Size + Vector3.new(0.5, 0.5, 0)
  94. end
  95. b.CanCollide = true
  96. b.Touched:connect(function(hit)
  97.  
  98. p = hit.Parent
  99. if p and p:FindFirstChild("Humanoid") and p.Name ~= player.Name then
  100. p.Humanoid:TakeDamage(1000000)
  101. end
  102. end
  103. )
  104. end
  105.  
  106. fade = function()
  107.  
  108. for i,v in pairs(char:GetChildren()) do
  109. if v.className == "Part" and v.Name ~= "HumanoidRootPart" then
  110. v.Transparency = 0.5
  111. end
  112. end
  113. for i,v in pairs(char:GetChildren()) do
  114. if v.className == "Hat" then
  115. v.Handle.Transparency = 0.5
  116. end
  117. end
  118. end
  119.  
  120. unfade = function()
  121.  
  122. for i,v in pairs(char:GetChildren()) do
  123. if v.className == "Part" and v.Name ~= "HumanoidRootPart" then
  124. v.Transparency = 0
  125. end
  126. end
  127. for i,v in pairs(char:GetChildren()) do
  128. if v.className == "Hat" then
  129. v.Handle.Transparency = 0
  130. end
  131. end
  132. end
  133.  
  134. dash = function(x)
  135.  
  136. b = Instance.new("Part", workspace)
  137. game.Debris:AddItem(b, 0.7)
  138. b.Size = Vector3.new(3, 3, 3)
  139. b.BrickColor = color
  140. b.Material = material
  141. b.CanCollide = false
  142. b.CFrame = torso.CFrame * x
  143. t = Instance.new("BodyVelocity", b)
  144. r = Instance.new("BodyAngularVelocity", b)
  145. r.AngularVelocity = Vector3.new(15, 15, 15)
  146. for i = 1, 5 do
  147. wait()
  148. b.Transparency = b.Transparency + 0.1
  149. torso.CFrame = torso.CFrame * CFrame.new(0, 0, -1)
  150. end
  151. end
  152.  
  153. mouse.KeyDown:connect(function(key)
  154.  
  155. if key == "v" then
  156. holding = true
  157. fade()
  158. while holding and wait(0.01) do
  159. dash(CFrame.new(2, 1, 0))
  160. dash(CFrame.new(-2, -1, 1))
  161. dash(CFrame.new(0, 1, 3))
  162. end
  163. end
  164. end
  165. )
  166. mouse.KeyUp:connect(function(key)
  167.  
  168. if key == "v" then
  169. unfade()
  170. holding = false
  171. end
  172. end
  173. )
  174. mouse.KeyDown:connect(function(key)
  175.  
  176. if key == "e" and debounce == false then
  177. debounce = true
  178. blast()
  179. wait(0.5)
  180. debounce = false
  181. end
  182. end
  183. )
  184. mouse.KeyDown:connect(function(key)
  185.  
  186. if key == "q" and debounce == false then
  187. debounce = true
  188. wall()
  189. wait(0.5)
  190. debounce = false
  191. end
  192. end
  193. )
  194. mouse.KeyDown:connect(function(key)
  195.  
  196. if key == "t" and debounce == false then
  197. debounce = true
  198. death()
  199. wait(0.5)
  200. debounce = false
  201. end
  202. end
  203. )
  204.  
  205. local player = game.Players.LocalPlayer
  206. repeat wait() until player.Character;
  207. local rs = game:GetService("RunService").RenderStepped
  208. local char = player.Character
  209. local HRP = char.HumanoidRootPart
  210. local Head = char.Head
  211. local tents = {}
  212. function getValue(p, x)
  213. return p[2] + 0.5 * x*(p[3] - p[1] + x*(2.0*p[1] - 5.0*p[2] + 4.0*p[3] - p[4] + x*(3.0*(p[2] - p[3]) + p[4] - p[1])))
  214. end
  215. function getV3Cubic(tabl,perc)
  216. local x,y,z = {},{},{}
  217. if perc >= 2 then
  218. perc = perc %1
  219. for i = 3, 6 do
  220. table.insert(x,tabl[i].x)
  221. table.insert(y,tabl[i].y)
  222. table.insert(z,tabl[i].z)
  223. end
  224. elseif perc >= 1 then
  225. perc = perc %1
  226. for i = 2, 5 do
  227. table.insert(x,tabl[i].x)
  228. table.insert(y,tabl[i].y)
  229. table.insert(z,tabl[i].z)
  230. end
  231. else
  232. for i = 1, 4 do
  233. table.insert(x,tabl[i].x)
  234. table.insert(y,tabl[i].y)
  235. table.insert(z,tabl[i].z)
  236. end
  237. end
  238. local X,Y,Z = getValue(x,perc),getValue(y,perc),getValue(z,perc)
  239. return Vector3.new(X,Y,Z)
  240. end
  241. local rainbow = {"Institutional white","Institutional white","Institutional white","Institutional white","Institutional white","Institutional white","Institutional white","Institutional white","Institutional white"}
  242. local rainbowCount = 1
  243. local isRainbow = true
  244. for i = 0, 4 do
  245. local m = Instance.new("Model",char)
  246. m.Name = "Tentac00l"
  247. local parts = {}
  248. local lastpart = Head
  249. local defC0
  250. rainbowCount = 1
  251. for j = 0, 8 do
  252. local sizex = 0.25 - 0.2 * (j/8)
  253. local sizey = (15/8) - (9/8) * (j/8)
  254. local p = Instance.new("Part")
  255. p.Size = Vector3.new(0.2,0.2,0.2)
  256. p.BrickColor = BrickColor.new("Really black")
  257. p.TopSurface = 0
  258. p.BottomSurface = 0
  259. p.CanCollide = false
  260. p.Material = "SmoothPlastic"
  261. p.TopSurface = 0
  262. p.BottomSurface = 0
  263. local mesh = Instance.new("CylinderMesh",p)
  264. mesh.Name = "CyMesh"
  265. mesh.Scale = Vector3.new(sizex,sizey,sizex) *5
  266. p.Parent = m
  267. local p2 = p:Clone()
  268. p2.Parent = m
  269. p2.CyMesh.Scale = p2.CyMesh.Scale + Vector3.new(0.075,0.001,0.075) * 5
  270. p2.Material = "Neon"
  271. if isRainbow then
  272. p2.BrickColor = BrickColor.new(tostring(rainbow[rainbowCount]))
  273. else
  274. p2.BrickColor = BrickColor.new(j%2 == 1 and "Toothpaste" or "Electric blue")
  275. end
  276. rainbowCount = rainbowCount + 1
  277. p2.Transparency = 0.35
  278. local w2 = Instance.new("Weld",p)
  279. w2.Parent = p2
  280. w2.Part0 = p
  281. w2.Part1 = p2
  282. local w = Instance.new("Weld",p)
  283. w.Parent = p
  284. w.Part0 = lastpart
  285. w.Part1 = p
  286. if j == 0 then
  287. w.C0 = CFrame.Angles(0,math.rad(-10 + 200 * i/4),math.rad(-30 + (i%2==0 and 96 or 70))) * CFrame.new(0,0.6,0)
  288. w.C1 = CFrame.new(0,-0.125,0)
  289. defC0 = w.C0
  290. else
  291. w.C0 = CFrame.new(0,lastpart.CyMesh.Scale.y/10,0)
  292. w.C1 = CFrame.new(0,-sizey/2,0)
  293. end
  294. table.insert(parts,{p,w,p2})
  295. lastpart = p
  296. rs:wait()
  297. end
  298. local randoms = {Vector3.new(0,0,0),
  299. Vector3.new(math.random(-28,28)/100,math.random(-42,42)/100,math.random(-28,28)/100),
  300. Vector3.new(math.random(-28,28)/100,math.random(-42,42)/100,math.random(-28,28)/100),
  301. Vector3.new(math.random(-28,28)/100,math.random(-42,42)/100,math.random(-28,28)/100);
  302. Vector3.new(math.random(-28,28)/100,math.random(-42,42)/100,math.random(-28,28)/100);
  303. Vector3.new(math.random(-28,28)/100,math.random(-42,42)/100,math.random(-28,28)/100);
  304. }
  305. table.insert(tents,{0,randoms,parts,defC0})
  306. end
  307. player.Chatted:connect(function(msg)
  308. if string.sub(msg:lower(),1,4) == "col/" then
  309. for i, v in pairs(tents) do
  310. for j, o in pairs(v[3]) do
  311. o[3].BrickColor = BrickColor.new(string.sub(msg,5))
  312. end
  313. end
  314. elseif string.sub(msg:lower(),1,7) == "/e col/" then
  315. for i, v in pairs(tents) do
  316. for j, o in pairs(v[3]) do
  317. o[3].BrickColor = BrickColor.new(string.sub(msg,8))
  318. end
  319. end
  320. end
  321. end)
  322. rs:connect(function()
  323. for i, v in pairs(tents) do
  324. v[1] = v[1] %200 + 1
  325. if v[1] == 1 then
  326. v[2][1] = v[2][2]
  327. v[2][2] = v[2][3]
  328. v[2][3] = v[2][4]
  329. v[2][4] = v[2][5]
  330. v[2][5] = v[2][6]
  331. v[2][6] = Vector3.new(math.random(-28,28)/100,math.random(-42,42)/100,math.random(-28,28)/100)
  332. end
  333. local p0 = v[2][1]
  334. local p1 = v[2][2]
  335. local p2 = v[2][3]
  336. local p3 = v[2][4]
  337. local p4 = v[2][5]
  338. local p5 = v[2][6]
  339. local arr = {p0,p1,p2,p3,p4,p5}
  340. local dir = i%2 == 0 and 1 or -1
  341. for j, V in pairs(v[3]) do
  342. local val = math.sin(math.pi/2 * 2 * (((v[1] + (100 * j/#v[3])*dir) % 100)/100))
  343. local off = getV3Cubic(arr,(v[1] + 340*(j/#v[3]))/200)
  344. V[3].Transparency = 0.12 + val * 0.65
  345. if j == 1 then
  346. V[2].C0 = v[4] * CFrame.Angles(off.x*2,off.y*2,off.z*2)
  347. else
  348. V[2].C0 = CFrame.new(0,V[2].C0.y,0) * CFrame.Angles(off.x*2 * (1 + 0.75 * (j/#v[3])),off.y*2 * (1 + 0.75 * (j/#v[3])),off.z*2 * (1 + 0.75 * (j/#v[3])))
  349. end
  350. end
  351. end
  352. end)
  353.  
  354. -- params : ...
  355.  
  356. Model = Instance.new("Model", game.Workspace)
  357. Model.Name = "ShadowFigs"
  358. Model.ChildAdded:connect(function(Child)
  359.  
  360. wait(0.2)
  361. if Child.Name == "ShadowClone" and Child.Name ~= "HoverBlocks" then
  362. local Light = Instance.new("PointLight", Child.Torso)
  363. Light.Color = Color3.new(1, 1, 1)
  364. Light.Range = 10
  365. Light.Brightness = 2
  366. Light.Shadows = true
  367. for t = 1, 5 do
  368. wait(0.1)
  369. for i = 1, #Child:GetChildren() do
  370. Child:GetChildren()[i].Transparency = t / 10 + 0.5
  371. end
  372. end
  373. Child:remove()
  374. end
  375. end
  376. )
  377. Parts = {"Head", "Torso", "Left Arm", "Left Leg", "Right Arm", "Right Leg"}
  378. repeat
  379. wait()
  380. until game.Players.LocalPlayer
  381. Plr = game.Players.LocalPlayer
  382. PlrChildren = Plr:GetChildren()
  383. Plr.Character.Humanoid.WalkSpeed = 32
  384. for i = 1, #PlrChildren do
  385. print(PlrChildren[i])
  386. end
  387. do
  388. while 1 do
  389. Posit = Plr.Character.HumanoidRootPart.Position
  390. wait(0.1)
  391. if Plr.Character.HumanoidRootPart.Position == Posit or Plr.Character.Humanoid.WalkSpeed == 32 then
  392. Set = Instance.new("Model", game.Workspace.ShadowFigs)
  393. Set.Name = "ShadowClone"
  394. for i = 1, #Parts do
  395. PartClone = Plr.Character[Parts[i]]:Clone()
  396. RotationX = math.rad(Plr.Character[Parts[i]].Rotation.X)
  397. RotationY = math.rad(Plr.Character[Parts[i]].Rotation.Y)
  398. RotationZ = math.rad(Plr.Character[Parts[i]].Rotation.Z)
  399. PartClone.CFrame = CFrame.new(Plr.Character[Parts[i]].Position) * CFrame.Angles(RotationX, RotationY, RotationZ)
  400. PartClone.Parent = Set
  401. PartClone.Anchored = true
  402. PartClone.CanCollide = false
  403. PartClone.Transparency = 0.7
  404. PartClone.Material = "Neon"
  405. PartClone.BrickColor = BrickColor.new("White")
  406. if PartClone.Name == "Head" or PartClone.Name == "Torso" then
  407. Children = PartClone:GetChildren()
  408. for i = 1, #Children do
  409. if Children[i].ClassName ~= "Mesh" and Children[i].ClassName ~= "SpecialMesh" then
  410. Children[i]:remove()
  411. end
  412. end
  413. end
  414. end
  415. end
  416. end
  417. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement