SHOW:
|
|
- or go back to the newest paste.
| 1 | Services = setmetatable({},{__index=function(s,r) return game:service(r) end})
| |
| 2 | Player = Services.Players.LocalPlayer | |
| 3 | wait()script.Parent=nil | |
| 4 | BodyParts={}
| |
| 5 | abs = function(int) | |
| 6 | if int < 0 then return -int else return int end | |
| 7 | end | |
| 8 | rad = function(deg) | |
| 9 | return deg * math.pi / 180 | |
| 10 | end | |
| 11 | deg = function(rad) | |
| 12 | return rad * 180 / math.pi | |
| 13 | end | |
| 14 | dist = function(p1,p2) | |
| 15 | r,e = ypcall(function() | |
| 16 | p1 = p1.Position | |
| 17 | end) | |
| 18 | if not r then p1 = p1 end | |
| 19 | r,e = ypcall(function() | |
| 20 | p2 = p2.Position | |
| 21 | end) | |
| 22 | if not r then p1 = p1 end | |
| 23 | return math.sqrt( (p2.X-p1.X)^2 + (p2.Y-p1.Y)^2 + (p2.Z-p1.Z)^2 ) | |
| 24 | end | |
| 25 | ||
| 26 | function GetChar() | |
| 27 | return Player.Character | |
| 28 | end | |
| 29 | function GetHum() | |
| 30 | for i,v in pairs(GetChar():children'') do | |
| 31 | if v.ClassName == 'Humanoid' then | |
| 32 | return v | |
| 33 | end | |
| 34 | end | |
| 35 | end | |
| 36 | ||
| 37 | function Died() | |
| 38 | for i,v in pairs(GetChar():children'') do | |
| 39 | if v.ClassName == 'Part' then | |
| 40 | table.insert(BodyParts,{v.CFrame,v})
| |
| 41 | elseif v.ClassName == 'Hat' then | |
| 42 | v.Parent=workspace | |
| 43 | table.insert(BodyParts,{v.Handle.CFrame,v.Handle,1})
| |
| 44 | end | |
| 45 | end | |
| 46 | ||
| 47 | wait(3) | |
| 48 | for i,v in pairs(BodyParts) do | |
| 49 | v[2].Anchored=true | |
| 50 | if v[2].Name == 'Torso' then pos = v[1] end | |
| 51 | end | |
| 52 | ||
| 53 | for i,v in pairs(BodyParts) do | |
| 54 | coroutine.resume(coroutine.create(function() | |
| 55 | repeat Services.RunService.Heartbeat:wait() | |
| 56 | v[2].CFrame = v[2].CFrame:lerp(v[1],.1) | |
| 57 | until dist(v[2],v[1]) < .05 | |
| 58 | v[2].CFrame=v[1] | |
| 59 | end)) | |
| 60 | end | |
| 61 | end | |
| 62 | ||
| 63 | Player.CharacterAdded:connect(function(char) | |
| 64 | char:WaitForChild('Torso')
| |
| 65 | for i,v in pairs(BodyParts) do | |
| 66 | if v[3] then | |
| 67 | v[2]:Remove() | |
| 68 | end | |
| 69 | end | |
| 70 | BodyParts={}
| |
| 71 | char.Torso.CFrame=pos or CFrame.new(0,12,0) | |
| 72 | GetHum().Died:connect(Died) | |
| 73 | end) | |
| 74 | GetHum().Died:connect(Died) | |
| 75 | print'rannering' |