RblxVoidScriptBuild

gun

Aug 2nd, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.55 KB | None | 0 0
  1. --By Rufus14
  2. script.Name = "Gunnnn"
  3. script.Parent = owner.Character
  4. --Converted with ttyyuu12345's model to script plugin v4
  5. function sandbox(var,func)
  6. local env = getfenv(func)
  7. local newenv = setmetatable({},{
  8. __index = function(self,k)
  9. if k=="script" then
  10. return var
  11. else
  12. return env[k]
  13. end
  14. end,
  15. })
  16. setfenv(func,newenv)
  17. return func
  18. end
  19. cors = {}
  20. mas = Instance.new("Model",game:GetService("Lighting"))
  21. Tool0 = Instance.new("Tool")
  22. Part1 = Instance.new("Part")
  23. SpecialMesh2 = Instance.new("SpecialMesh")
  24. Sound3 = Instance.new("Sound")
  25. Sound4 = Instance.new("Sound")
  26. Sound5 = Instance.new("Sound")
  27. Sound6 = Instance.new("Sound")
  28. Sound7 = Instance.new("Sound")
  29. Sound8 = Instance.new("Sound")
  30. Sound9 = Instance.new("Sound")
  31. Sound10 = Instance.new("Sound")
  32. RemoteEvent11 = Instance.new("RemoteEvent")
  33. Tool0.Name = "Pistol"
  34. Tool0.Parent = mas
  35. Tool0.TextureId = "rbxassetid://168510890"
  36. Tool0.CanBeDropped = false
  37. Tool0.Grip = CFrame.new(-0.0662693828, -0.275076389, -0.4518933, -0.998969376, 0, 0.0453881398, 0, 1, 0, -0.0453881398, 0, -0.998969376)
  38. Tool0.GripForward = Vector3.new(-0.0453881398, -0, 0.998969376)
  39. Tool0.GripPos = Vector3.new(-0.0662693828, -0.275076389, -0.4518933)
  40. Tool0.GripRight = Vector3.new(-0.998969376, 0, -0.0453881398)
  41. Tool0.ToolTip = "Gun to kill skids."
  42. Part1.Name = "Handle"
  43. Part1.Parent = Tool0
  44. Part1.CFrame = CFrame.new(1.84143364, 0.946836948, -16.1359825, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  45. Part1.Position = Vector3.new(1.84143364, 999999, -16.1359825)
  46. Part1.Size = Vector3.new(0.230000198, 0.0500000007, 0.290000528)
  47. Part1.BottomSurface = Enum.SurfaceType.Smooth
  48. Part1.TopSurface = Enum.SurfaceType.Smooth
  49. SpecialMesh2.Parent = Part1
  50. SpecialMesh2.MeshId = "rbxassetid://436697873"
  51. SpecialMesh2.Scale = Vector3.new(0.0299999993, 0.0299999993, 0.0299999993)
  52. SpecialMesh2.TextureId = "rbxassetid://436697889"
  53. SpecialMesh2.MeshType = Enum.MeshType.FileMesh
  54. Sound3.Name = "shatter"
  55. Sound3.Parent = Part1
  56. Sound3.SoundId = "rbxassetid://2978605361"
  57. Sound3.PlaybackSpeed = 2
  58. Sound4.Name = "gunshot"
  59. Sound4.Parent = Part1
  60. Sound4.Pitch = 1.2000000476837
  61. Sound4.PlaybackSpeed = 1.2000000476837
  62. Sound4.SoundId = "rbxassetid://2400424487"
  63. Sound5.Name = "empty"
  64. Sound5.Parent = Part1
  65. Sound5.SoundId = "rbxassetid://1347142405"
  66. Sound6.Name = "equip"
  67. Sound6.Parent = Part1
  68. Sound6.SoundId = "rbxassetid://291256829"
  69. Sound7.Name = "unequip"
  70. Sound7.Parent = Part1
  71. Sound7.SoundId = "rbxassetid://769464514"
  72. Sound8.Name = "supersonic bullet crack"
  73. Sound8.Parent = Part1
  74. Sound8.EmitterSize = 1
  75. Sound8.MinDistance = 1
  76. Sound8.Pitch = 1.5
  77. Sound8.PlaybackSpeed = 1.5
  78. Sound8.SoundId = "rbxassetid://259586543"
  79. Sound8.Volume = 1
  80. Sound9.Name = "bullethitflesh"
  81. Sound9.Parent = Part1
  82. Sound9.SoundId = "rbxassetid://3092866899"
  83. Sound10.Name = "bullethit"
  84. Sound10.Parent = Part1
  85. Sound10.SoundId = "rbxassetid://1489924400"
  86. RemoteEvent11.Name = "GunEvent"
  87. RemoteEvent11.Parent = Tool0
  88. for i,v in pairs(mas:GetChildren()) do
  89. v.Parent = script
  90. pcall(function() v:MakeJoints() end)
  91. end
  92. mas:Destroy()
  93. for i,v in pairs(cors) do
  94. spawn(function()
  95. pcall(v)
  96. end)
  97. end
  98. Tool0.Parent = script
  99. NLS([[
  100. game:GetService("Players").LocalPlayer.Character:WaitForChild("Gunnnn")
  101. game:GetService("Players").LocalPlayer.Character.Gunnnn.Pistol:WaitForChild("GunEvent")
  102. print("script ran")
  103. tool = game:GetService("Players").LocalPlayer.Character.Gunnnn.Pistol
  104. playermouse = game:GetService("Players").LocalPlayer:GetMouse()
  105. runservice = game:GetService("RunService").RenderStepped
  106. gunevent = tool.GunEvent
  107. function onpress()
  108. gunevent:FireServer("shoot", playermouse.Hit.p, playermouse.Origin.p)
  109. end
  110. tool.Activated:connect(onpress)
  111. function removearms()
  112. if game:GetService("Players").LocalPlayer.Character.Torso:findFirstChild("RightArmWeld") then
  113. game:GetService("Players").LocalPlayer.Character.Torso:findFirstChild("RightArmWeld"):destroy()
  114. end
  115. if game:GetService("Players").LocalPlayer.Character.Torso:findFirstChild("HeadWeld") then
  116. game:GetService("Players").LocalPlayer.Character.Torso:findFirstChild("HeadWeld"):destroy()
  117. end
  118. if game:GetService("Players").LocalPlayer.Character.Torso:findFirstChild("LeftArmWeld") then
  119. game:GetService("Players").LocalPlayer.Character.Torso:findFirstChild("LeftArmWeld"):destroy()
  120. end
  121. if game:GetService("Players").LocalPlayer.Character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeld") then
  122. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeld"):destroy()
  123. end
  124. end
  125. tool.Unequipped:connect(removearms)
  126. while runservice:wait() do
  127. if tool.Parent == game:GetService("Players").LocalPlayer.Character then
  128. if (workspace.CurrentCamera.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.Position).magnitude < 1.3 then
  129. if game:GetService("Players").LocalPlayer.Character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeld") then
  130. gunevent:FireServer("point", playermouse.Hit.p, playermouse.Origin.p)
  131. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.HumanoidRootPartWeld.C0 = CFrame.fromEulerAnglesXYZ(0,math.pi/3,0)
  132. else
  133. local humanoidrootpart = Instance.new("Weld", game:GetService("Players").LocalPlayer.Character.HumanoidRootPart)
  134. humanoidrootpart.Part0 = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart
  135. humanoidrootpart.Part1 = game:GetService("Players").LocalPlayer.Character.Torso
  136. humanoidrootpart.Name = "HumanoidRootPartWeld"
  137. end
  138. else
  139. if game:GetService("Players").LocalPlayer.Character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeld") then
  140. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeld"):destroy()
  141. end
  142. gunevent:FireServer("point", playermouse.Hit.p, playermouse.Origin.p)
  143. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(playermouse.Hit.p.x,game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position.y,playermouse.Hit.p.z)) * CFrame.fromEulerAnglesXYZ(0,math.pi/3,0)
  144. end
  145. end
  146. end
  147. ]], owner.Character)
  148. wait(0.8)
  149. --By Rufus14
  150. canuse = true
  151. heartbeat = game:GetService("RunService").Heartbeat
  152. tool = Tool0
  153. handle = Part1
  154. shoot = handle.gunshot
  155. shattersound = handle.shatter
  156. empty = handle.empty
  157. shootevent = tool.GunEvent
  158. equip = handle.equip
  159. unequip = handle.unequip
  160. bullethitflesh = handle.bullethitflesh
  161. bullethit = handle.bullethit
  162. bulletcrack = handle["supersonic bullet crack"]
  163. function positiongun()
  164. equip:Play()
  165. end
  166. function resetgun()
  167. unequip:Play()
  168. end
  169. tool.Unequipped:connect(resetgun)
  170. tool.Equipped:connect(positiongun)
  171. Tool0.Parent = owner.Character
  172. function dosomething(plr, whataction, pos, origin)
  173. if whataction == "shoot" then
  174. if canuse then
  175. canuse = false
  176. shoot:Play()
  177. for i = 1,10 do
  178. plr.Character.Torso:findFirstChild("RightArmWeld").C1 = plr.Character.Torso:findFirstChild("RightArmWeld").C1 * CFrame.fromEulerAnglesXYZ(-0.055,0,0)
  179. end
  180. local light = Instance.new("PointLight", handle)
  181. light.Brightness = 10
  182. local ray = Ray.new(handle.Position, (pos - handle.Position).unit * 400)
  183. local hit, position = workspace:FindPartOnRayWithIgnoreList(ray, {handle, tool.Parent["Right Arm"]})
  184. local part = Instance.new("Part", handle)
  185. part.Anchored = true
  186. part.CanCollide = false
  187. part.Material = "Neon"
  188. part.Size = Vector3.new(0,0,(handle.Position - position).magnitude/4)
  189. part.CFrame = CFrame.new(handle.Position, position) * CFrame.new(0,0,-(handle.Position - position).magnitude/2)
  190. local function hide()
  191. bulletcrack.Parent = part
  192. bulletcrack:Play()
  193. bulletcrack.MaxDistance = part.Size.z
  194. wait(0.01)
  195. part.Transparency = 1
  196. wait(bulletcrack.TimeLength - 0.01)
  197. bulletcrack.Parent = handle
  198. part:destroy()
  199. end
  200. spawn(hide)
  201. game.Debris:AddItem(light, 0.04)
  202. local function makewound(hitt)
  203. local ball = Instance.new("Part", hitt.Parent)
  204. ball.Shape = "Ball"
  205. ball.Name = "ouchwound"
  206. ball.Transparency = hitt.Transparency
  207. ball.CanCollide = false
  208. ball.Size = Vector3.new(0.25,0.25,0.25)
  209. ball.CFrame = CFrame.new(position.x,position.y,position.z)
  210. local hitweld = Instance.new("Weld", hitt)
  211. ball.CFrame = CFrame.new(ball.Position, handle.Position)
  212. hitweld.C0 = hitt.CFrame:toObjectSpace(ball.CFrame)
  213. hitweld.Part0 = hitt
  214. hitweld.Part1 = ball
  215. hitweld.Name = "ouch_weld"
  216. hitweld.C0 = hitweld.C0 * CFrame.new(0,0,0.1)
  217. bullethit.Parent = ball
  218. if hitt.Name == "ouchwound" then
  219. ball.Transparency = 1
  220. local function waittoremove()
  221. wait(3)
  222. ball:destroy()
  223. end
  224. spawn(waittoremove)
  225. end
  226. bullethit:Play()
  227. bullethit.MaxDistance = 10
  228. if hitt.Parent:findFirstChildOfClass("Humanoid") then
  229. if hitt.Parent:findFirstChildOfClass("Humanoid").Health > 0 then
  230. bullethitflesh.Parent = ball
  231. bullethitflesh:Play()
  232. bullethitflesh.MaxDistance = 10
  233. local randomdamage = math.random(40,80)
  234. if hitt.Parent:findFirstChildOfClass("Humanoid").Health > 9999 then
  235. hitt.Parent:findFirstChildOfClass("Humanoid").MaxHealth = 9999
  236. hitt.Parent:findFirstChildOfClass("Humanoid").Health = 9999
  237. end
  238. if hitt.Parent:findFirstChildOfClass("Humanoid").Health <= randomdamage then
  239. local velocity = Instance.new("BodyVelocity", hit)
  240. velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
  241. velocity.Velocity = handle.CFrame.lookVector * -math.random(15,25)
  242. game.Debris:AddItem(velocity, 0.1)
  243. hitt.Parent:findFirstChildOfClass("Humanoid").Health = 0
  244. local function searchforweld(wot)
  245. for i,v in pairs(wot:GetChildren()) do
  246. searchforweld(v)
  247. if v.ClassName == "Weld" or v.ClassName == "Motor6D" and v.Name ~= "ouch_weld" then
  248. v:destroy()
  249. end
  250. end
  251. end
  252. searchforweld(hitt.Parent)
  253. ragdollkill(hitt.Parent)
  254. else
  255. if hitt.Name ~= "Head" then
  256. hitt.Parent:findFirstChildOfClass("Humanoid").Health = hitt.Parent:findFirstChildOfClass("Humanoid").Health - randomdamage
  257. local velocity = Instance.new("BodyVelocity", hit)
  258. velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
  259. velocity.Velocity = handle.CFrame.lookVector * -math.random(15,25)
  260. game.Debris:AddItem(velocity, 0.1)
  261. else
  262. hitt.Parent:findFirstChildOfClass("Humanoid").Health = 0
  263. local function searchforweld(wot)
  264. for i,v in pairs(wot:GetChildren()) do
  265. searchforweld(v)
  266. if v.ClassName == "Weld" or v.ClassName == "Motor6D" and v.Name ~= "ouch_weld" then
  267. v:destroy()
  268. end
  269. end
  270. end
  271. searchforweld(hitt.Parent)
  272. ragdollkill(hitt.Parent)
  273. end
  274. end
  275. local function bbb()
  276. wait(bullethitflesh.TimeLength)
  277. bullethitflesh.Parent = handle
  278. end
  279. spawn(bbb)
  280. ball.BrickColor = BrickColor.new("Maroon")
  281. ball.Material = "Pebble"
  282. end
  283. else
  284. if not hitt.Parent:findFirstChildOfClass("Humanoid") and hitt.Parent.ClassName == "Model" then
  285. hitt:BreakJoints()
  286. local velocity = Instance.new("BodyVelocity", hitt)
  287. velocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  288. velocity.Velocity = handle.CFrame.lookVector * -math.random(10,30)
  289. local function cancollide()
  290. wait(0.1)
  291. hitt.CanCollide = true
  292. velocity:destroy()
  293. end
  294. spawn(cancollide)
  295. end
  296. ball.BrickColor = hitt.BrickColor
  297. ball.Material = "Cobblestone"
  298. local function fadeaway()
  299. wait(20)
  300. for i = 1,100 do
  301. ball.Transparency = ball.Transparency + 0.01
  302. wait()
  303. end
  304. ball:destroy()
  305. end
  306. spawn(fadeaway)
  307. end
  308. local function aaa()
  309. wait(bullethit.TimeLength)
  310. bullethit.Parent = handle
  311. end
  312. spawn(aaa)
  313. end
  314. if hit ~= nil then
  315. if hit.Parent ~= nil then
  316. if not hit.Parent:findFirstChildOfClass("Humanoid") and not hit:findFirstChild("shattered") and not hit.Name ~= "HumanoidRootPart" and hit.Transparency > 0.1 then
  317. if hit.Size.z < hit.Size.x then
  318. if hit.Size.z <= 1.5 then
  319. local sha = Instance.new("BoolValue", hit)
  320. sha.Name = "shattered"
  321. local shatter = Instance.new("Part", workspace)
  322. shatter.Transparency = hit.Transparency
  323. shatter.Material = hit.Material
  324. shatter.BrickColor = hit.BrickColor
  325. shatter.Size = Vector3.new(hit.Size.x/2,hit.Size.y/2,hit.Size.z)
  326. shatter.CanCollide = hit.CanCollide
  327. shatter.CFrame = hit.CFrame * CFrame.new(shatter.Size.x/2,shatter.Size.y/2,0)
  328. shatter:BreakJoints()
  329. shatter.Velocity = handle.CFrame.lookVector * -20
  330. game.Debris:AddItem(shatter, 15)
  331. --
  332. local shatter = Instance.new("Part", workspace)
  333. shatter.Transparency = hit.Transparency
  334. shatter.Material = hit.Material
  335. shatter.BrickColor = hit.BrickColor
  336. shatter.Size = Vector3.new(hit.Size.x/2,hit.Size.y/2,hit.Size.z)
  337. shatter.CanCollide = hit.CanCollide
  338. shatter.CFrame = hit.CFrame * CFrame.new(-shatter.Size.x/2,shatter.Size.y/2,0)
  339. shatter:BreakJoints()
  340. shatter.Velocity = handle.CFrame.lookVector * -20
  341. game.Debris:AddItem(shatter, 15)
  342. --
  343. local shatter = Instance.new("Part", workspace)
  344. shatter.Transparency = hit.Transparency
  345. shatter.Material = hit.Material
  346. shatter.BrickColor = hit.BrickColor
  347. shatter.Size = Vector3.new(hit.Size.x/2,hit.Size.y/2,hit.Size.z)
  348. shatter.CanCollide = hit.CanCollide
  349. shatter.CFrame = hit.CFrame * CFrame.new(shatter.Size.x/2,-shatter.Size.y/2,0)
  350. shatter:BreakJoints()
  351. shatter.Velocity = handle.CFrame.lookVector * -20
  352. game.Debris:AddItem(shatter, 15)
  353. --
  354. local shatter = Instance.new("Part", workspace)
  355. shatter.Transparency = hit.Transparency
  356. shatter.Material = hit.Material
  357. shatter.BrickColor = hit.BrickColor
  358. shatter.Size = Vector3.new(hit.Size.x/2,hit.Size.y/2,hit.Size.z)
  359. shatter.CanCollide = hit.CanCollide
  360. shatter.CFrame = hit.CFrame * CFrame.new(-shatter.Size.x/2,-shatter.Size.y/2,0)
  361. shatter:BreakJoints()
  362. shatter.Velocity = handle.CFrame.lookVector * -20
  363. game.Debris:AddItem(shatter, 15)
  364. --
  365. hit.Anchored = true
  366. hit.Transparency = 1
  367. hit.CanCollide = false
  368. local function stopshattering()
  369. shattersound.Parent = hit
  370. shattersound:Play()
  371. shattersound.MaxDistance = 30
  372. game.Debris:AddItem(hit,2)
  373. wait(shattersound.TimeLength/2)
  374. shattersound.Parent = handle
  375. end
  376. spawn(stopshattering)
  377. end
  378. elseif hit.Size.x < hit.Size.z then
  379. if hit.Size.x <= 1.5 then
  380. local sha = Instance.new("BoolValue", hit)
  381. sha.Name = "shattered"
  382. local shatter = Instance.new("Part", workspace)
  383. shatter.Transparency = hit.Transparency
  384. shatter.Material = hit.Material
  385. shatter.BrickColor = hit.BrickColor
  386. shatter.Size = Vector3.new(hit.Size.x,hit.Size.y/2,hit.Size.z/2)
  387. shatter.CanCollide = hit.CanCollide
  388. shatter.CFrame = hit.CFrame * CFrame.new(0,shatter.Size.y/2,shatter.Size.z/2)
  389. shatter:BreakJoints()
  390. shatter.Velocity = handle.CFrame.lookVector * -20
  391. game.Debris:AddItem(shatter, 15)
  392. --
  393. local shatter = Instance.new("Part", workspace)
  394. shatter.Transparency = hit.Transparency
  395. shatter.Material = hit.Material
  396. shatter.BrickColor = hit.BrickColor
  397. shatter.Size = Vector3.new(hit.Size.x,hit.Size.y/2,hit.Size.z/2)
  398. shatter:BreakJoints()
  399. shatter.CanCollide = hit.CanCollide
  400. shatter.CFrame = hit.CFrame * CFrame.new(0,-shatter.Size.y/2,shatter.Size.z/2)
  401. shatter.Velocity = handle.CFrame.lookVector * -20
  402. game.Debris:AddItem(shatter, 15)
  403. --
  404. local shatter = Instance.new("Part", workspace)
  405. shatter.Transparency = hit.Transparency
  406. shatter.Material = hit.Material
  407. shatter.BrickColor = hit.BrickColor
  408. shatter.Size = Vector3.new(hit.Size.x,hit.Size.y/2,hit.Size.z/2)
  409. shatter.CanCollide = hit.CanCollide
  410. shatter.CFrame = hit.CFrame * CFrame.new(0,shatter.Size.y/2,-shatter.Size.z/2)
  411. shatter:BreakJoints()
  412. shatter.Velocity = handle.CFrame.lookVector * -20
  413. game.Debris:AddItem(shatter, 15)
  414. --
  415. local shatter = Instance.new("Part", workspace)
  416. shatter.Transparency = hit.Transparency
  417. shatter.Material = hit.Material
  418. shatter.BrickColor = hit.BrickColor
  419. shatter.Size = Vector3.new(hit.Size.x,hit.Size.y/2,hit.Size.z/2)
  420. shatter.CanCollide = hit.CanCollide
  421. shatter.CFrame = hit.CFrame * CFrame.new(0,-shatter.Size.y/2,-shatter.Size.z/2)
  422. shatter:BreakJoints()
  423. shatter.Velocity = handle.CFrame.lookVector * -20
  424. game.Debris:AddItem(shatter, 15)
  425. --
  426. hit.Anchored = true
  427. hit.Transparency = 1
  428. hit.CanCollide = false
  429. local function stopshattering()
  430. shattersound.Parent = hit
  431. shattersound:Play()
  432. shattersound.MaxDistance = 30
  433. game.Debris:AddItem(hit,2)
  434. wait(shattersound.TimeLength/2)
  435. shattersound.Parent = handle
  436. end
  437. spawn(stopshattering)
  438. end
  439. end
  440. end
  441. end
  442. if hit.Parent.ClassName == "Accessory" or hit.Parent.ClassName == "Hat" then
  443. for i,v in pairs(hit:GetChildren()) do
  444. if v.ClassName == "Attachment" or v.ClassName == "Weld" or v.ClassName == "Motor6D" then
  445. v:destroy()
  446. end
  447. end
  448. hit.Parent.Parent = workspace
  449. hit.CanCollide = false
  450. local velocity = Instance.new("BodyVelocity", hit)
  451. velocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  452. velocity.Velocity = handle.CFrame.lookVector * -math.random(10,30)
  453. local function cancollide()
  454. wait(0.1)
  455. hit.CanCollide = true
  456. velocity:destroy()
  457. end
  458. spawn(cancollide)
  459. else
  460. makewound(hit)
  461. end
  462. end
  463. for i = 1,10 do
  464. if plr.Character.Torso:findFirstChild("RightArmWeld") then
  465. plr.Character.Torso:findFirstChild("RightArmWeld").C1 = plr.Character.Torso:findFirstChild("RightArmWeld").C1 * CFrame.fromEulerAnglesXYZ(0.055,0,0)
  466. heartbeat:wait()
  467. end
  468. end
  469. canuse = true
  470. end
  471. elseif whataction == "point" then
  472. if plr.Character:findFirstChild("Torso") then
  473. if not plr.Character.Torso:findFirstChild("HeadWeld") then
  474. local head = Instance.new("Weld", plr.Character.Torso)
  475. head.Part0 = plr.Character.Torso
  476. head.Part1 = plr.Character.Head
  477. head.C0 = CFrame.new(0,1.5,0)
  478. head.C1 = CFrame.new(0,-0.5,0)
  479. head.Name = "HeadWeld"
  480. end
  481. if not plr.Character.Torso:findFirstChild("RightArmWeld") then
  482. local rightarm = Instance.new("Weld", plr.Character.Torso)
  483. rightarm.Part0 = plr.Character.Torso
  484. rightarm.Part1 = plr.Character["Right Arm"]
  485. rightarm.C0 = CFrame.new(1.5,0,0)
  486. rightarm.C1 = CFrame.new(0,0.5,0)
  487. rightarm.Name = "RightArmWeld"
  488. end
  489. if not plr.Character.Torso:findFirstChild("LeftArmWeld") then
  490. local leftarm = Instance.new("Weld", plr.Character.Torso)
  491. leftarm.Part0 = plr.Character.Torso
  492. leftarm.Part1 = plr.Character["Left Arm"]
  493. leftarm.C0 = CFrame.new(-1.5,0,0)
  494. leftarm.C1 = CFrame.new(0,0.5,0)
  495. leftarm.Name = "LeftArmWeld"
  496. end
  497. if plr.Character.Torso:findFirstChild("RightArmWeld") then
  498. plr.Character.Torso:findFirstChild("RightArmWeld").C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,math.pi/3) * CFrame.fromEulerAnglesXYZ(math.asin((pos-origin).unit.y),0,0)
  499. end
  500. if plr.Character.Torso:findFirstChild("HeadWeld") then
  501. plr.Character.Torso:findFirstChild("HeadWeld").C0 = CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(math.asin((pos-origin).unit.y),-math.pi/3,0)
  502. end
  503. if plr.Character.Torso:findFirstChild("LeftArmWeld") then
  504. plr.Character.Torso:findFirstChild("LeftArmWeld").C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.asin((pos-origin).unit.y)/2,0,0)
  505. end
  506. end
  507. end
  508. end
  509. shootevent.OnServerEvent:connect(dosomething)
  510. function ragdollkill(character)
  511. local victimshumanoid = character:findFirstChildOfClass("Humanoid")
  512. if not character:findFirstChild("UpperTorso") then
  513. character.Archivable = true
  514. for i,v in pairs(character:GetChildren()) do
  515. if v.ClassName == "Sound" then
  516. v:remove()
  517. end
  518. for q,w in pairs(v:GetChildren()) do
  519. if w.ClassName == "Sound" then
  520. w:remove()
  521. end
  522. end
  523. end
  524. local ragdoll = character:Clone()
  525. ragdoll:findFirstChildOfClass("Humanoid").Health = 0
  526. if ragdoll:findFirstChild("Health") then
  527. if ragdoll:findFirstChild("Health").ClassName == "Script" then
  528. ragdoll:findFirstChild("Health").Disabled = true
  529. end
  530. end
  531. for i,v in pairs(character:GetChildren()) do
  532. if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
  533. v:destroy()
  534. end
  535. end
  536. for i,v in pairs(character:GetChildren()) do
  537. if v.ClassName == "Accessory" then
  538. local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
  539. if attachment1 then
  540. for q,w in pairs(character:GetChildren()) do
  541. if w.ClassName == "Part" then
  542. local attachment2 = w:findFirstChild(attachment1.Name)
  543. if attachment2 then
  544. local hinge = Instance.new("HingeConstraint", v.Handle)
  545. hinge.Attachment0 = attachment1
  546. hinge.Attachment1 = attachment2
  547. hinge.LimitsEnabled = true
  548. hinge.LowerAngle = 0
  549. hinge.UpperAngle = 0
  550. end
  551. end
  552. end
  553. end
  554. end
  555. end
  556. ragdoll.Parent = workspace
  557. if ragdoll:findFirstChild("Right Arm") then
  558. local glue = Instance.new("Glue", ragdoll.Torso)
  559. glue.Part0 = ragdoll.Torso
  560. glue.Part1 = ragdoll:findFirstChild("Right Arm")
  561. glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  562. glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  563. local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
  564. limbcollider.Size = Vector3.new(1.4,1,1)
  565. limbcollider.Shape = "Cylinder"
  566. limbcollider.Transparency = 1
  567. limbcollider.Name = "LimbCollider"
  568. local limbcolliderweld = Instance.new("Weld", limbcollider)
  569. limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
  570. limbcolliderweld.Part1 = limbcollider
  571. limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  572. end
  573. if ragdoll:findFirstChild("Left Arm") then
  574. local glue = Instance.new("Glue", ragdoll.Torso)
  575. glue.Part0 = ragdoll.Torso
  576. glue.Part1 = ragdoll:findFirstChild("Left Arm")
  577. glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  578. glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  579. local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
  580. limbcollider.Size = Vector3.new(1.4,1,1)
  581. limbcollider.Shape = "Cylinder"
  582. limbcollider.Name = "LimbCollider"
  583. limbcollider.Transparency = 1
  584. local limbcolliderweld = Instance.new("Weld", limbcollider)
  585. limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
  586. limbcolliderweld.Part1 = limbcollider
  587. limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  588. end
  589. if ragdoll:findFirstChild("Left Leg") then
  590. local glue = Instance.new("Glue", ragdoll.Torso)
  591. glue.Part0 = ragdoll.Torso
  592. glue.Part1 = ragdoll:findFirstChild("Left Leg")
  593. glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  594. glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  595. local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
  596. limbcollider.Size = Vector3.new(1.4,1,1)
  597. limbcollider.Shape = "Cylinder"
  598. limbcollider.Name = "LimbCollider"
  599. limbcollider.Transparency = 1
  600. local limbcolliderweld = Instance.new("Weld", limbcollider)
  601. limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
  602. limbcolliderweld.Part1 = limbcollider
  603. limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  604. end
  605. if ragdoll:findFirstChild("Right Leg") then
  606. local glue = Instance.new("Glue", ragdoll.Torso)
  607. glue.Part0 = ragdoll.Torso
  608. glue.Part1 = ragdoll:findFirstChild("Right Leg")
  609. glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  610. glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  611. local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
  612. limbcollider.Size = Vector3.new(1.4,1,1)
  613. limbcollider.Shape = "Cylinder"
  614. limbcollider.Name = "LimbCollider"
  615. limbcollider.Transparency = 1
  616. local limbcolliderweld = Instance.new("Weld", limbcollider)
  617. limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
  618. limbcolliderweld.Part1 = limbcollider
  619. limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  620. end
  621. if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
  622. local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
  623. HeadAttachment.Position = Vector3.new(0, -0.5, 0)
  624. local connection = Instance.new('HingeConstraint', ragdoll["Head"])
  625. connection.LimitsEnabled = true
  626. connection.Attachment0 = ragdoll.Torso.NeckAttachment
  627. connection.Attachment1 = HeadAttachment
  628. connection.UpperAngle = 60
  629. connection.LowerAngle = -60
  630. elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
  631. local hedweld = Instance.new("Weld", ragdoll.Torso)
  632. hedweld.Part0 = ragdoll.Torso
  633. hedweld.Part1 = ragdoll.Head
  634. hedweld.C0 = CFrame.new(0,1.5,0)
  635. end
  636. game.Debris:AddItem(ragdoll, 30)
  637. local function aaaalol()
  638. wait(0.2)
  639. local function searchforvelocity(wot)
  640. for i,v in pairs(wot:GetChildren()) do
  641. searchforvelocity(v)
  642. if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
  643. v:destroy()
  644. end
  645. end
  646. end
  647. searchforvelocity(ragdoll)
  648. wait(0.5)
  649. if ragdoll:findFirstChildOfClass("Humanoid") then
  650. ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
  651. end
  652. if ragdoll:findFirstChild("HumanoidRootPart") then
  653. ragdoll:findFirstChild("HumanoidRootPart"):destroy()
  654. end
  655. end
  656. spawn(aaaalol)
  657. elseif character:findFirstChild("UpperTorso") then
  658. character.Archivable = true
  659. for i,v in pairs(character:GetChildren()) do
  660. if v.ClassName == "Sound" then
  661. v:remove()
  662. end
  663. for q,w in pairs(v:GetChildren()) do
  664. if w.ClassName == "Sound" then
  665. w:remove()
  666. end
  667. end
  668. end
  669. local ragdoll = character:Clone()
  670. ragdoll:findFirstChildOfClass("Humanoid").Health = 0
  671. if ragdoll:findFirstChild("Health") then
  672. if ragdoll:findFirstChild("Health").ClassName == "Script" then
  673. ragdoll:findFirstChild("Health").Disabled = true
  674. end
  675. end
  676. for i,v in pairs(character:GetChildren()) do
  677. if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
  678. v:destroy()
  679. end
  680. end
  681. for i,v in pairs(character:GetChildren()) do
  682. if v.ClassName == "Accessory" then
  683. local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
  684. if attachment1 then
  685. for q,w in pairs(character:GetChildren()) do
  686. if w.ClassName == "Part" or w.ClassName == "MeshPart" then
  687. local attachment2 = w:findFirstChild(attachment1.Name)
  688. if attachment2 then
  689. local hinge = Instance.new("HingeConstraint", v.Handle)
  690. hinge.Attachment0 = attachment1
  691. hinge.Attachment1 = attachment2
  692. hinge.LimitsEnabled = true
  693. hinge.LowerAngle = 0
  694. hinge.UpperAngle = 0
  695. end
  696. end
  697. end
  698. end
  699. end
  700. end
  701. ragdoll.Parent = workspace
  702. local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
  703. Humanoid.PlatformStand = true
  704. local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
  705. local connection = Instance.new('BallSocketConstraint', limb)
  706. connection.LimitsEnabled = true
  707. connection.Attachment0 = attachementone
  708. connection.Attachment1 = attachmenttwo
  709. connection.TwistLimitsEnabled = true
  710. connection.TwistLowerAngle = twistlower
  711. connection.TwistUpperAngle = twistupper
  712. local limbcollider = Instance.new("Part", limb)
  713. limbcollider.Size = Vector3.new(0.1,1,1)
  714. limbcollider.Shape = "Cylinder"
  715. limbcollider.Transparency = 1
  716. limbcollider:BreakJoints()
  717. local limbcolliderweld = Instance.new("Weld", limbcollider)
  718. limbcolliderweld.Part0 = limb
  719. limbcolliderweld.Part1 = limbcollider
  720. limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
  721. end
  722. local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
  723. local connection = Instance.new('HingeConstraint', limb)
  724. connection.LimitsEnabled = true
  725. connection.Attachment0 = attachementone
  726. connection.Attachment1 = attachmenttwo
  727. connection.LimitsEnabled = true
  728. connection.LowerAngle = lower
  729. connection.UpperAngle = upper
  730. local limbcollider = Instance.new("Part", limb)
  731. limbcollider.Size = Vector3.new(0.1,1,1)
  732. limbcollider.Shape = "Cylinder"
  733. limbcollider.Transparency = 1
  734. limbcollider:BreakJoints()
  735. local limbcolliderweld = Instance.new("Weld", limbcollider)
  736. limbcolliderweld.Part0 = limb
  737. limbcolliderweld.Part1 = limbcollider
  738. limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
  739. end
  740. local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
  741. HeadAttachment.Position = Vector3.new(0, -0.5, 0)
  742. if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
  743. makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
  744. end
  745. makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
  746. makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
  747. makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
  748. makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
  749. --
  750. makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
  751. makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
  752. makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
  753. --
  754. makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
  755. makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
  756. makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
  757. --
  758. makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
  759. makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
  760. makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
  761. for i,v in pairs(Humanoid.Parent:GetChildren()) do
  762. if v.ClassName == "Accessory" then
  763. local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
  764. if attachment1 then
  765. for q,w in pairs(Humanoid.Parent:GetChildren()) do
  766. if w.ClassName == "Part" then
  767. local attachment2 = w:findFirstChild(attachment1.Name)
  768. if attachment2 then
  769. local hinge = Instance.new("HingeConstraint", v.Handle)
  770. hinge.Attachment0 = attachment1
  771. hinge.Attachment1 = attachment2
  772. hinge.LimitsEnabled = true
  773. hinge.LowerAngle = 0
  774. hinge.UpperAngle = 0
  775. end
  776. end
  777. end
  778. end
  779. end
  780. end
  781. for i,v in pairs(ragdoll:GetChildren()) do
  782. for q,w in pairs(v:GetChildren()) do
  783. if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] then
  784. w:destroy()
  785. end
  786. end
  787. end
  788. if ragdoll:findFirstChild("HumanoidRootPart") then
  789. ragdoll.HumanoidRootPart.Anchored = true
  790. ragdoll.HumanoidRootPart.CanCollide = false
  791. end
  792. if ragdoll:findFirstChildOfClass("Humanoid") then
  793. ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
  794. end
  795. local function waitfordatmoment()
  796. wait(0.2)
  797. local function searchforvelocity(wot)
  798. for i,v in pairs(wot:GetChildren()) do
  799. searchforvelocity(v)
  800. if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
  801. v:destroy()
  802. end
  803. end
  804. end
  805. searchforvelocity(ragdoll)
  806. end
  807. spawn(waitfordatmoment)
  808. game.Debris:AddItem(ragdoll, 30)
  809. end
  810. end
Add Comment
Please, Sign In to add comment