Advertisement
samuelrichter66

za warudo

May 16th, 2019
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.40 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,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152.  
  153.  
  154.  
  155. --[[ Time Testing ]]--
  156. -------------------------------------------------------
  157. --[[
  158.  
  159. This script was created by WafflesAreVeryGood.
  160. ATTACKS
  161. _______
  162.  
  163.  
  164. --]]
  165. -------------------------------------------------------
  166. print("This script was created by WafflesAreVeryGood!")
  167. --[[Changeable Variables]]--
  168. local multiplier = 1 --Attack multiplier (default is 1)
  169. local soundlist = {
  170. HardHit1 = "rbxassetid://565207203",
  171. HardHit2 = "rbxassetid://541909913",
  172. HardHit3 = "rbxassetid://541909983",
  173. WeakHit1 = "rbxassetid://558642292",
  174. WeakHit2 = "rbxassetid://541907812",
  175. Slice1 = "rbxassetid://260429964",
  176. Slice2 = "rbxassetid://260430015",
  177. Explosion1 = "rbxassetid://138186576",
  178. Explosion2 = "rbxassetid://157878578",
  179. Woosh1 = "rbxassetid://541909867",
  180. Woosh2 = "rbxassetid://541909763",
  181. TimeSlow = "rbxassetid://615678808",
  182. TimeStop = "rbxassetid://926382097",
  183. TimeResume = "rbxassetid://894793352",
  184. TimeFast = "rbxassetid://743499393",
  185. TimeReverse = "rbxassetid://618737332",
  186.  
  187. }
  188.  
  189. --[[Important Variables]]--
  190. local plr = game:GetService('Players').LocalPlayer
  191. local char = plr.Character
  192. local mouse = plr:GetMouse()
  193. local input = game:GetService('UserInputService')
  194. ----
  195. local joints = {"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}
  196. local torso,head,rootpart = char.Torso,char.Head,char.HumanoidRootPart
  197. local rs = torso["Right Shoulder"]
  198. local ls = torso["Left Shoulder"]
  199. local rh = torso["Right Hip"]
  200. local lh = torso["Left Hip"]
  201. local neck = torso.Neck
  202. local rj = rootpart["RootJoint"]
  203. ----
  204. local huge = Vector3.new(math.huge, math.huge, math.huge)
  205. local attacking = false
  206. local cananim = true
  207. local timestop = false
  208. local timeslow = false
  209. local timefast = false
  210. local reversing = false
  211. local unfreeze = {}
  212. local sounddata = {}
  213. local connections = {}
  214. local healthstuff = {}
  215.  
  216. --[[ Functions ]]--
  217. function addattack(keycode, func)
  218. input.InputBegan:connect(function(inp)
  219. if inp.KeyCode == keycode and not input:GetFocusedTextBox() then
  220. func()
  221. end
  222. end)
  223. end
  224. function attackend(keycode, func)
  225. input.InputEnded:connect(function(inp)
  226. if inp.KeyCode == keycode and not input:GetFocusedTextBox() then
  227. func()
  228. end
  229. end)
  230. end
  231. function swait(t)
  232. if t then
  233. for i = 0, t do
  234. game:GetService('RunService').Stepped:wait(0)
  235. end
  236. else
  237. game:GetService('RunService').Stepped:wait(0)
  238. end
  239. return true
  240. end
  241. function fade(obj, dest, grow)
  242. spawn(function()
  243. local oldcf = obj.CFrame
  244. for i = 0, 10 do
  245. if grow then
  246. obj.Size = obj.Size +Vector3.new(1,1,1)
  247. obj.CFrame = oldcf
  248. end
  249. obj.Transparency = obj.Transparency +0.1
  250. swait()
  251. end
  252. if dest then
  253. obj:Destroy()
  254. end
  255. end)
  256. end
  257. function replacejoint(name)
  258. local j = torso:FindFirstChild(name)
  259. if not j then j = char.HumanoidRootPart:FindFirstChild(name) end
  260. if j then
  261. if true then
  262. local already = j.Parent:FindFirstChild(j.Name.." Replacement")
  263. local new = Instance.new("Weld")
  264. local c0 = j.C0
  265. local c1 = j.C1
  266. new.Part0 = j.Part0
  267. j.Part0 = nil
  268. new.Name = j.Name.." Replacement"
  269. if already then c0 = already.C0 c1 = already.C1 already:Destroy() end
  270. new.Parent = j.Parent
  271. new.Part1 = j.Part1
  272. new.C0 = c0
  273. new.C1 = c1
  274. return new
  275. end
  276. end
  277. end
  278. function removejoint(name, fast)
  279. local j = torso:FindFirstChild(name.." Replacement")
  280. if not j then j = char.HumanoidRootPart:FindFirstChild(name.." Replacement") end
  281. if j then
  282. local p0 = j.Part0
  283. if p0 ~= nil then
  284. local c0 = j.C0
  285. local c1 = j.C1
  286. j:Destroy()
  287. local new = p0:FindFirstChild(name)
  288. local ac0 = new.C0
  289. local ac1 = new.C1
  290. new.Part0 = p0
  291. new.C0 = c0
  292. new.C1 = c1
  293. spawn(function()
  294. if name ~= "RootJoint" then
  295. if not fast then
  296. for i = 0, 0.6, 0.1 do
  297. new.C0 = new.C0:Lerp(ac0, 0.5)
  298. new.C1 = new.C1:lerp(ac1, 0.5)
  299. swait()
  300. end
  301. else
  302. new.C0 = new.C0:Lerp(ac0, 1)
  303. new.C1 = new.C1:lerp(ac1, 1)
  304. end
  305. end
  306. end)
  307. end
  308. end
  309. end
  310. function fixalljoints(fast)
  311. for i,v in pairs({"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}) do
  312. removejoint(v, fast)
  313. end
  314. end
  315. function getnewjoints()
  316. local rs = replacejoint("Right Shoulder")
  317. local ls = replacejoint("Left Shoulder")
  318. local rh = replacejoint("Right Hip")
  319. local lh = replacejoint("Left Hip")
  320. local neck = replacejoint("Neck")
  321. local rj = replacejoint("RootJoint")
  322. return rs,ls,rh,lh,neck,rj
  323. end
  324. function knockback(hit, force)
  325. local bv = Instance.new("BodyVelocity")
  326. bv.MaxForce = huge
  327. bv.Velocity = force
  328. bv.Parent = hit
  329. game:GetService('Debris'):AddItem(bv, 0.15)
  330. end
  331. function soundeffect(id, volume, speed, parent, forcewait)
  332. local func = function()
  333. local s = LoadLibrary("RbxUtility").Create("Sound")()
  334. s.Name = "SoundEffect"
  335. s.Volume = volume
  336. s.PlaybackSpeed = speed
  337. s.SoundId = id
  338. s.Name = "dont"
  339. s.Looped = false
  340. s.Parent = parent
  341. s:Play()
  342. repeat wait() until not s.Playing
  343. s:Destroy()
  344. end
  345. if forcewait then
  346. func()
  347. else
  348. spawn(func)
  349. end
  350. end
  351. function getascendants(obj)
  352. local par = obj
  353. local ret = {}
  354. pcall(function()
  355. repeat
  356. par = par.Parent
  357. if par ~= nil then
  358. table.insert(ret, par)
  359. end
  360. until par == nil
  361. end)
  362. return ret
  363. end
  364. function findascendant(obj, class)
  365. local par = obj
  366. local ret = nil
  367. pcall(function()
  368. repeat
  369. par = par.Parent
  370. if par:IsA(class) then
  371. ret = par
  372. break
  373. end
  374. until par == nil
  375. end)
  376. return ret
  377. end
  378. function hurt(hit, dmg)
  379. --pcall(function()
  380. local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
  381. if hum then
  382. if hum.Parent ~= char then
  383. hum.Health = hum.Health - dmg
  384. hum.Health = hum.Health - dmg
  385. soundeffect(soundlist.Headshot, 1.5, 1, workspace.CurrentCamera)
  386. return true
  387. end
  388. end
  389. --end)
  390. end
  391. --[[ Actual script :OOOOOOOOOO ]]--
  392. addattack(Enum.KeyCode.G, function()
  393. if not timeslow and not timefast and not reversing then
  394. local p = Instance.new("Part")
  395. p.Anchored = true
  396. p.Material = "Glass"
  397. p.Size = Vector3.new(0.1,0.1,0.1)
  398. p.BrickColor = BrickColor.new("Toothpaste")
  399. p.CanCollide = false
  400. p.CFrame = char.HumanoidRootPart.CFrame
  401. local m = Instance.new("SpecialMesh")
  402. m.MeshType = "Sphere"
  403. m.Parent = p
  404. p.Parent = char
  405. spawn(function()
  406. for i = 1, 50 do
  407. p.Transparency = i/50
  408. p.Size = p.Size:Lerp(Vector3.new(40,40,40),0.1)
  409. p.CFrame = char.HumanoidRootPart.CFrame
  410. swait()
  411. end
  412. p:Destroy()
  413. end)
  414. if not timestop then
  415. local s = Instance.new("Sound")
  416. s.Volume = 3
  417. s.Name = "dont"
  418. s.SoundId = soundlist.TimeStop
  419. s.Parent = char
  420. s:Play()
  421. dcon = workspace.DescendantAdded:connect(function(obj)
  422. pcall(function()
  423. swait()
  424. local ok = true
  425. for i,v in pairs(getascendants(obj)) do
  426. if v.Name:lower():find("ignoremodel") then
  427. ok = false
  428. end
  429. end
  430. if obj:IsA("BasePart") and ok and not findascendant(obj, "Tool") and not findascendant(obj, "HopperBin") and not findascendant(obj, "Camera") then
  431. if not obj.Anchored and obj.Name ~= "HumanoidRootPart" then
  432. table.insert(unfreeze, obj)
  433. obj.Anchored = true
  434. end
  435. end
  436. if obj:IsA("Sound") and obj.Name ~= "dont" then
  437. if obj.Playing then
  438. obj:Pause()
  439. table.insert(unfreeze, obj)
  440. end
  441. end
  442. if obj:IsA("Humanoid") then
  443. local last = obj.Health
  444. local always = last
  445. local con = obj.HealthChanged:connect(function(health)
  446. if last-health > 0 then
  447. table.insert(healthstuff, {hum = obj, change = last-health})
  448. end
  449. last = health
  450. obj.Health = always
  451. end)
  452. table.insert(connections, con)
  453. end
  454. end)
  455. end)
  456. for i,v in pairs(workspace:GetDescendants()) do
  457. pcall(function()
  458. if v:IsA("BasePart") then
  459. local ok = true
  460. for i,e in pairs(getascendants(v)) do
  461. if e.Name:lower():find("ignore_model") then
  462. ok = false
  463. end
  464. if e:IsA("Camera") then
  465. ok = false
  466. end
  467. end
  468. if not v.Anchored and ok and v.Parent ~= char and not findascendant(v, "Camera") and not findascendant(v, "Tool") and not findascendant(v, "HopperBin") then
  469. local ok = true
  470. if v.Parent:IsA("Accessory") then ok = false end
  471. if ok and v.Name ~= "HumanoidRootPart" then
  472. v.Anchored = true
  473. table.insert(unfreeze, v)
  474. end
  475. end
  476. end
  477. end)
  478. pcall(function()
  479. if v:IsA("Sound") and v.Name ~= "dont" then
  480. if v.Playing then
  481. v:Pause()
  482. table.insert(unfreeze, v)
  483. end
  484. end
  485. end)
  486. pcall(function()
  487. if v:IsA("Humanoid") then
  488. local last = v.Health
  489. local always = last
  490. local con = v.HealthChanged:connect(function(health)
  491. if last-health > 0 then
  492. table.insert(healthstuff, {hum = v, change = last-health})
  493. end
  494. last = health
  495. v.Health = always
  496. end)
  497. table.insert(connections, con)
  498. end
  499. end)
  500. end
  501. timestop = true
  502. local cor = Instance.new("ColorCorrectionEffect")
  503. cor.Name = "tstopef"
  504. cor.Parent = game:GetService('Lighting')
  505. for i = 1, 50 do
  506. cor.Saturation = Vector3.new(cor.Saturation,0,0):Lerp(Vector3.new(-5,0,0), 0.05).X
  507. swait()
  508. end
  509. game.Debris:AddItem(s, 2)
  510. else
  511. local s = Instance.new("Sound")
  512. s.Volume = 7
  513. s.Name = "dont"
  514. s.SoundId = soundlist.TimeResume
  515. s.Parent = char
  516. s:Play()
  517. local cor = game:GetService('Lighting'):FindFirstChild("tstopef")
  518. if cor then
  519. for i = 1, 50 do
  520. cor.Saturation = Vector3.new(cor.Saturation,0,0):Lerp(Vector3.new(0,0,0), 0.05).X
  521. swait()
  522. end
  523. cor:Destroy()
  524. end
  525. game.Debris:AddItem(s, 2)
  526. timestop = false
  527. for i,v in pairs(unfreeze) do
  528. pcall(function()
  529. v.Anchored = false
  530. end)
  531. pcall(function()
  532. v:Resume()
  533. end)
  534. end
  535. for i,v in pairs(connections) do
  536. pcall(function()
  537. v:disconnect()
  538. end)
  539. end
  540. for i,v in pairs(healthstuff) do
  541. pcall(function()
  542. local hum = v.hum
  543. hum.Health = hum.Health - v.change
  544. if hum.Parent:FindFirstChild("Health") then
  545. pcall(function()
  546. hum.Parent.Health.Disabled = false
  547. end)
  548. end
  549. end)
  550. end
  551. pcall(function()
  552. dcon:disconnect()
  553. end)
  554. healthstuff = {}
  555. unfreeze = {}
  556. end
  557. end
  558. end)
  559. local humanoiddata = {}
  560. local bodymoverdata = {}
  561. local dcon2
  562. local connectionsdata = {}
  563. addattack(Enum.KeyCode.H, function()
  564. if not timeslow and not timestop and not reversing then
  565. local p = Instance.new("Part")
  566. p.Anchored = true
  567. p.Material = "Glass"
  568. p.Size = Vector3.new(0.1,0.1,0.1)
  569. p.BrickColor = BrickColor.new("Toothpaste")
  570. p.CanCollide = false
  571. p.CFrame = char.HumanoidRootPart.CFrame
  572. local m = Instance.new("SpecialMesh")
  573. m.MeshType = "Sphere"
  574. m.Parent = p
  575. p.Parent = char
  576. spawn(function()
  577. for i = 1, 50 do
  578. p.Transparency = i/50
  579. p.Size = p.Size:Lerp(Vector3.new(40,40,40),0.1)
  580. p.CFrame = char.HumanoidRootPart.CFrame
  581. swait()
  582. end
  583. p:Destroy()
  584. end)
  585. if not timefast then
  586. timefast = true
  587. soundeffect(soundlist.TimeFast, 1.5, 1, char)
  588. for i,v in pairs(workspace:GetDescendants()) do
  589. if v:IsA("Humanoid") then
  590. table.insert(humanoiddata, {Hum = v, WS = v.WalkSpeed, JP = v.JumpPower})
  591. for _,track in pairs(v:GetPlayingAnimationTracks()) do
  592. end
  593. local con = v.AnimationPlayed:connect(function(track)
  594. end)
  595. table.insert(connections, con)
  596. end
  597. if v:IsA("BodyVelocity") then
  598. table.insert(bodymoverdata, {Mover = v, Vel = v.Velocity})
  599. end
  600. if v:IsA("BodyPosition") then
  601. table.insert(bodymoverdata, {Mover = v, Vel = v.P})
  602. end
  603. if v.Name == "HumanoidRootPart" and v:IsA("BasePart") then
  604. end
  605. if v:IsA("Sound") and v.Name ~= "dont" then
  606. table.insert(sounddata, {Sound = v, Speed = v.PlaybackSpeed})
  607. end
  608. end
  609. dcon2 = workspace.DescendantAdded:connect(function(v)
  610. swait(2)
  611. if v:IsA("Humanoid") then
  612. table.insert(humanoiddata, {Hum = v, WS = v.WalkSpeed, JP = v.JumpPower})
  613. for _,track in pairs(v:GetPlayingAnimationTracks()) do
  614. track:AdjustSpeed(1.4)
  615. end
  616. local con = v.AnimationPlayed:connect(function(track)
  617. track:AdjustSpeed(1.4)
  618. end)
  619. table.insert(connections, con)
  620. end
  621. if v:IsA("BodyVelocity") then
  622. table.insert(bodymoverdata, {Mover = v, Vel = v.Velocity})
  623. end
  624. if v:IsA("BodyPosition") then
  625. table.insert(bodymoverdata, {Mover = v, Vel = v.P})
  626. end
  627. if v.Name == "HumanoidRootPart" and v:IsA("BasePart") then
  628. end
  629. if v:IsA("Sound") and v.Name ~= "dont" then
  630. table.insert(sounddata, {Sound = v, Speed = v.PlaybackSpeed})
  631. end
  632. end)
  633. else
  634. timefast = false
  635. soundeffect(soundlist.TimeResume, 1.5, 1, char)
  636. for i,v in pairs(humanoiddata) do
  637. pcall(function()
  638. v["Hum"].WalkSpeed = v["WS"]
  639. v["Hum"].JumpPower = v["JP"]
  640. end)
  641. end
  642. for i,v in pairs(bodymoverdata) do
  643. pcall(function()
  644. if v["Mover"]:IsA("BodyVelocity") then
  645. v["Mover"].Velocity = v["Vel"]
  646. end
  647. if v["Mover"]:IsA("BodyPosition") then
  648. v["Mover"].P = v["Vel"]
  649. end
  650. end)
  651. end
  652. for i,v in pairs(sounddata) do
  653. pcall(function()
  654. v["Sound"].PlaybackSpeed = v["Speed"]
  655. end)
  656. end
  657. for i,v in pairs(connections) do
  658. pcall(function()
  659. v:disconnect()
  660. end)
  661. end
  662. connections = {}
  663. pcall(function()
  664. dcon2:disconnect()
  665. end)
  666. humanoiddata = {}
  667. end
  668. end
  669. end)
  670. local reversedata = {}
  671. local saved = false
  672. addattack(Enum.KeyCode.C, function()
  673. if not timestop and not timeslow and not timefast then
  674. if not saved then
  675. saved = true
  676. for i,v in pairs(workspace:GetDescendants()) do
  677. end
  678. else
  679. reversing = true
  680. saved = false
  681. soundeffect(soundlist.TimeReverse, 2, 1, workspace)
  682. for i = 1, 10 do
  683. for _,v in pairs(reversedata) do
  684. local obj = v.obj
  685. local cf = v.cf obj.Anchored = true
  686. end
  687. end
  688. swait()
  689. end
  690. char.HumanoidRootPart.Velocity = Vector3.new(0,0,0)
  691. reversedata = {}
  692. reversing = false
  693. end
  694. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement