AnormalPerson

Ragdoll

Feb 26th, 2020
1,894
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2.  
  3. local Player,game,owner = owner,game
  4.  
  5. local RealPlayer = Player
  6.  
  7. do print("FE Compatibility code V3 by Desered_ROBLOX")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
  8. --[[
  9.     local vel = Instance.new("BodyVelocity", game.Players.LocalPlayer.Character.Torso)
  10. vel.Velocity = game.Players.LocalPlayer.Character.Torso.CFrame.lookVector * -5
  11. vel.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  12. --]]
  13. --Credit To Rufus14
  14. --I just edit it a bit ^_^
  15. mouse = game.Players.LocalPlayer:GetMouse()
  16. function ragdoll()
  17. game.Players.LocalPlayer.Character.Archivable = true
  18. clone = game.Players.LocalPlayer.Character:Clone()
  19. clone.Parent = workspace
  20. for i,v in pairs(clone:GetChildren()) do
  21.     if v.ClassName == "Script" or v.ClassName == "LocalScript" then
  22.         v:destroy()
  23.     end
  24.     for i,p in pairs(v:GetChildren()) do
  25.     if p.ClassName == "Weld" or p.ClassName == "Motor6D" or p.ClassName == "BodyVelocity" then
  26.         p:destroy()
  27.     end
  28. end
  29. end
  30. for i,t in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
  31.     if t.ClassName == "Accessory" or t.ClassName == "ForceField" then
  32.         t:destroy()
  33.     end
  34. end
  35. vel = Instance.new("BodyVelocity", clone.Torso)
  36. vel.Velocity = clone.Torso.CFrame.lookVector * -5
  37. vel.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  38. clone.Head.face.Texture = "http://www.roblox.com/asset/?id=161061608"
  39. using = false
  40. hit = Instance.new("Sound", clone.Torso)
  41. hit.SoundId = "rbxassetid://260430060"
  42. hit.Volume = 5
  43. hit1 = Instance.new("Sound", clone.Torso)
  44. hit1.SoundId = "rbxassetid://138087186"
  45. hit1.Volume = 5
  46. hit2 = Instance.new("Sound", clone.Torso)
  47. hit2.SoundId = "rbxassetid://131237241"
  48. hit2.Volume = 5
  49. hit3 = Instance.new("Sound", clone.Torso)
  50. hit3.SoundId = "rbxassetid://278062209"
  51. hit3.Volume = 5
  52. hit3.TimePosition = 0.33
  53. ded = Instance.new("Sound", clone.Torso)
  54. ded.SoundId = "rbxassetid://163154423"
  55. ded.Volume = 5
  56. local leftarm = clone:findFirstChild("Left Arm")
  57. local rightrm = clone:findFirstChild("Right Arm")
  58. local leftleg = clone:findFirstChild("Left Leg")
  59. local rightleg = clone:findFirstChild("Right Leg")
  60. local head = clone:findFirstChild("Head")
  61. local welding = Instance.new("Weld", clone.Torso)
  62. welding.Part0 = clone.Torso
  63. welding.Part1 = head
  64. welding.C0 = welding.C0 * CFrame.new(0,1.5,0)
  65. for i, g in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
  66.     if g.ClassName == "Part" then
  67.         g:destroy()
  68.     end
  69. end
  70. for i, h in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
  71.     if h.ClassName == "Accesory" then
  72.         h:destroy()
  73.     end
  74. end
  75. game.Workspace.CurrentCamera.CameraSubject = head
  76. if leftleg ~= nil then
  77. local glue = Instance.new("Glue", clone.Torso)
  78. glue.Part0 = clone.Torso
  79. glue.Part1 = leftleg
  80. glue.Name = "Left leg"
  81. local collider = Instance.new("Part", leftleg)
  82. collider.Position = Vector3.new(0,999,0)
  83. collider.Size = Vector3.new(1.7, 1, 1)
  84. collider.Shape = "Cylinder"
  85. local weld = Instance.new("Weld", collider)
  86. weld.Part0 = leftleg
  87. weld.Part1 = collider
  88. weld.C0 = CFrame.Angles(0, 0, 80)
  89. collider.TopSurface = "Smooth"
  90. collider.BottomSurface = "Smooth"
  91. collider.formFactor = "Symmetric"
  92. glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  93. glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  94. collider.Transparency = 1
  95. end
  96. ------------
  97. if rightleg ~= nil then
  98. local glue1 = Instance.new("Glue", clone.Torso)
  99. glue1.Part0 = clone.Torso
  100. glue1.Part1 = rightleg
  101. glue1.Name = "Right leg"
  102. local collider1 = Instance.new("Part", rightleg)
  103. collider1.Position = Vector3.new(0,999,0)
  104. collider1.Size = Vector3.new(1.7, 1, 1)
  105. collider1.Shape = "Cylinder"
  106. local weld1 = Instance.new("Weld", collider1)
  107. weld1.Part0 = rightleg
  108. weld1.Part1 = collider1
  109. weld1.C0 = CFrame.Angles(0, 0, 80)
  110. collider1.TopSurface = "Smooth"
  111. collider1.BottomSurface = "Smooth"
  112. collider1.formFactor = "Symmetric"
  113. glue1.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  114. glue1.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  115. collider1.Transparency = 1
  116. end
  117. ------------
  118. if rightrm ~= nil then
  119. local glue11 = Instance.new("Glue", clone.Torso)
  120. glue11.Part0 = clone.Torso
  121. glue11.Part1 = rightrm
  122. glue11.Name = "Right shoulder"
  123. local collider11 = Instance.new("Part", rightrm)
  124. collider11.Position = Vector3.new(0,9999,0)
  125. collider11.Size = Vector3.new(1.8,1,1)
  126. collider11.Shape = "Cylinder"
  127. local weld11 = Instance.new("Weld", collider11)
  128. weld11.Part0 = rightrm
  129. weld11.Part1 = collider11
  130. weld11.C0 = CFrame.Angles(0, 0, 80)
  131. collider11.TopSurface = "Smooth"
  132. collider11.BottomSurface = "Smooth"
  133. collider11.formFactor = "Symmetric"
  134. glue11.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  135. glue11.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  136. collider11.Transparency = 1
  137. end
  138. ------------
  139. if leftarm ~= nil then
  140. local glue111 = Instance.new("Glue", clone.Torso)
  141. glue111.Part0 = clone.Torso
  142. glue111.Part1 = leftarm
  143. glue111.Name = "Left shoulder"
  144. local collider111 = Instance.new("Part", leftarm)
  145. collider111.Position = Vector3.new(0,9999,0)
  146. collider111.Size = Vector3.new(1.8,1,1)
  147. collider111.Shape = "Cylinder"
  148. local weld111 = Instance.new("Weld", collider111)
  149. weld111.Part0 = leftarm
  150. weld111.Part1 = collider111
  151. weld111.C0 = CFrame.Angles(0, 0, 80)
  152. collider111.TopSurface = "Smooth"
  153. collider111.BottomSurface = "Smooth"
  154. collider111.formFactor = "Symmetric"
  155. glue111.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  156. glue111.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  157. collider111.Transparency = 1
  158. ----------------
  159. sensoring = Instance.new("Part", clone.Torso)
  160. sensoring.Size = Vector3.new(1.2,1.1,0.8)
  161. sensoring.CanCollide = false
  162. sensoring.Position = clone.Torso.Position
  163. local welder = Instance.new("Weld", sensoring)
  164. welder.Part0 = clone.Torso
  165. welder.Part1 = sensoring
  166. welder.C0 = welder.C0 * CFrame.new(0,0,1.05)
  167. sensoring.Transparency = 1
  168. -----------------
  169. sensoring1 = Instance.new("Part", clone.Torso)
  170. sensoring1.Size = Vector3.new(1.2,1.1,0.8)
  171. sensoring1.CanCollide = false
  172. sensoring1.Position = clone.Torso.Position
  173. local welder1 = Instance.new("Weld", sensoring)
  174. welder1.Part0 = clone.Torso
  175. welder1.Part1 = sensoring1
  176. welder1.C0 = welder1.C0 * CFrame.new(0,0,-1.05)
  177. sensoring1.Transparency = 1
  178. end
  179. clone.Name = game.Players.LocalPlayer.Character.Name.." (DEAD)"
  180. ded:Play()
  181. vel:destroy()
  182. wait(0.5)
  183. local function touch()
  184.     if not using then
  185.         using = true
  186.         local Math = math.random(1,4)
  187.         if Math == 1 then
  188.             hit:Play()
  189.         end
  190.         if Math == 2 then
  191.             hit1:Play()
  192.         end
  193.         if Math == 3 then
  194.             hit2:Play()
  195.         end
  196.         if Math == 4 then
  197.             hit3:Play()
  198.         end
  199.         wait(0.1)
  200.         using = false
  201.     end
  202. end
  203. sensoring.Touched:connect(touch)
  204. sensoring1.Touched:connect(touch)
  205. wait(4.47)
  206. hit1.Volume = 0
  207. hit2.Volume = 0
  208. hit3.Volume = 0
  209. hit.Volume = 0
  210.         end
  211.  
  212. game.Players.LocalPlayer.Character.Humanoid.Died:connect(ragdoll)
  213.  
  214. --di ent
Advertisement
Add Comment
Please, Sign In to add comment