KrYn0MoRe

among us kill tool

Oct 1st, 2020 (edited)
1,760
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function limb_collide(obj,mode)
  2.     if (obj:IsA("UnionOperation") or obj:IsA("BasePart")) and not obj:FindFirstChild('limb') then else return end
  3.     local exists = pcall(game:GetService("PhysicsService").GetCollisionGroupId, game:GetService("PhysicsService"), 'Limb Collide')
  4.     if not exists then
  5.         game:GetService("PhysicsService"):CreateCollisionGroup('Limb Collide')
  6.     end
  7.     game:GetService("PhysicsService"):CollisionGroupSetCollidable('Limb Collide','Limb Collide',false)
  8.     --
  9.     local t = {}
  10.     --
  11.     local cb = Instance.new("Part")
  12.     cb.Name = 'limb'
  13.     cb.Transparency = 1
  14.     cb.CanCollide = true
  15.     cb.Anchored = false
  16.     cb.CFrame = obj.CFrame
  17.     cb.Size = obj.Size
  18.     cb.Massless = true
  19.     cb.Locked = true
  20.     game:GetService("PhysicsService"):SetPartCollisionGroup(cb,'Limb Collide')
  21.     game:GetService("PhysicsService"):SetPartCollisionGroup(obj,'Limb Collide')
  22.     local weld = Instance.new("Weld")
  23.     weld.Part0 = cb
  24.     weld.Part1 = obj
  25.     weld.Parent = cb
  26.     obj.Massless = true
  27.     obj.Anchored = false
  28.     if mode or obj:FindFirstChild("Dismembered") then
  29.         cb.Parent = obj -- .Parent
  30.     else
  31.         cb.Parent = script
  32.         table.insert(t,1,cb)
  33.     end
  34.     --
  35.     if not string.match(obj.Name:lower(),'torso') and not string.match(obj.Name:lower(),'rootpart') and not string.match(obj.Name:lower(),'head') then
  36.         local lv = Vector3.new() -- Vector3.new(cb.Size.X,0,cb.Size.Z)
  37.         local cb2 = Instance.new("Part")
  38.         cb2.Name = 'limb'
  39.         cb2.Transparency = 1
  40.         cb2.CanCollide = true
  41.         cb2.Anchored = false
  42.         cb2.CFrame = obj.CFrame
  43.         cb2.Size = lv
  44.         cb2.Massless = true
  45.         cb2.Locked = true
  46.         local weld2 = Instance.new("Weld")
  47.         weld2.Part0 = cb
  48.         weld2.Part1 = cb2
  49.         weld2.C1 = CFrame.new(0,(cb.Size.Y/2),0)
  50.         weld2.Parent = cb2
  51.         if mode or obj:FindFirstChild("Dismembered") then
  52.             cb2.Parent = obj -- .Parent
  53.         else
  54.             cb2.Parent = script
  55.             table.insert(t,1,cb2)
  56.         end
  57.     end
  58.     --
  59.     return t
  60. end
  61. function Ragdoll(targchar,headless,insta,kill)
  62.     local pc = targchar
  63.     local targhum = pc:FindFirstChild("Humanoid")
  64.     local js,js2 = {},{}
  65.     for _,obj in pairs(pc:GetDescendants()) do
  66.         if obj:IsA("BasePart") or obj:IsA("UnionOperation") then
  67.             obj.Massless = true
  68.             obj.Locked = true
  69.         end
  70.     end
  71.     if kill == true then
  72.         pc.Archivable = true
  73.         local old_pc = pc
  74.         pc = pc:Clone()
  75.         for i,v in pairs(pc:GetDescendants()) do
  76.             limb_collide(v,true)
  77.             if v:IsA("ParticleEmitter") then
  78.                 v.Enabled = false
  79.             end
  80.             if v:IsA("SelectionBox") or v:IsA("BodyVelocity") or v:IsA("BodyPosition") or v:IsA("BodyAngularVelocity") or v:IsA("BodyForce") or v:IsA("BodyGyro") or v:IsA("BodyThrust") or v:IsA("BodyMover") then
  81.                 if v:IsA("BodyVelocity") then
  82.                     game:GetService("Debris"):AddItem(v,0.15)
  83.                 else
  84.                     v:Destroy()
  85.                 end
  86.             end
  87.             if (v:IsA("Script") and v.Name == 'Health') or (v:IsA("LocalScript") and v.Name == 'Animate') then
  88.                 v:Destroy()
  89.             end
  90.             if v:IsA("Humanoid") then
  91.                 v.BreakJointsOnDeath = false
  92.                 v.Health = 0
  93.                 v.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff
  94.                 v.PlatformStand = true
  95.             end
  96.         end
  97.         for i,v in pairs(old_pc:GetDescendants()) do
  98.             if v:IsA("BasePart") or v:IsA("UnionOperation") or v:IsA("ForceField") or v:IsA("Accessory") or v:IsA("Decal") or v:IsA("Texture") or v:IsA("SurfaceGui") then
  99.                 v:destroy()
  100.             end
  101.             if v:IsA("Humanoid") then
  102.                 v.BreakJointsOnDeath = true
  103.                 v.Health = 0
  104.                 v.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff
  105.                 v.PlatformStand = true
  106.             end
  107.         end
  108.         pc.Parent = workspace
  109.         game:GetService("Debris"):AddItem(pc,30)
  110.     end
  111.     --if kill and targhum:FindFirstChild("Ragdolled") then return; end;
  112.     if pc ~= nil then
  113.         local hum = pc:FindFirstChild'Humanoid'
  114.         local LArm = pc:FindFirstChild'Left Arm'
  115.         local RArm = pc:FindFirstChild'Right Arm'
  116.         local LLeg = pc:FindFirstChild'Left Leg'
  117.         local RLeg = pc:FindFirstChild'Right Leg'
  118.         local torso = pc:FindFirstChild'Torso'
  119.         local head = pc:FindFirstChild'Head'
  120.        
  121.        
  122.         local LUA = pc:FindFirstChild'LeftUpperArm'
  123.         local LLA = pc:FindFirstChild'LeftLowerArm'
  124.         local LH = pc:FindFirstChild'LeftHand'
  125.        
  126.         local RUA = pc:FindFirstChild'RightUpperArm'
  127.         local RLA = pc:FindFirstChild'RightLowerArm'
  128.         local RH = pc:FindFirstChild'RightHand'
  129.        
  130.         local LUL = pc:FindFirstChild'LeftUpperLeg'
  131.         local LLL = pc:FindFirstChild'LeftLowerLeg'
  132.         local LF = pc:FindFirstChild'LeftFoot'
  133.        
  134.         local RUL = pc:FindFirstChild'RightUpperLeg'
  135.         local RLL = pc:FindFirstChild'RightLowerLeg'
  136.         local RF = pc:FindFirstChild'RightFoot'
  137.        
  138.         local UT = pc:FindFirstChild'UpperTorso'
  139.         local LT = pc:FindFirstChild'LowerTorso'
  140.        
  141.         if hum and LArm and RArm and LLeg and RLeg and head then
  142.             hum.BreakJointsOnDeath = false
  143.             if insta then
  144.                 if hum.RigType==Enum.HumanoidRigType.R6 then
  145.                     for _,v in pairs(torso:GetDescendants()) do
  146.                         if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA('Weld') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
  147.                             if not kill then
  148.                                 table.insert(js2,1,{obj = v,par = v.Parent})
  149.                                 v.Parent = nil
  150.                             elseif kill then
  151.                                 v:Destroy()
  152.                             end
  153.                         end
  154.                     end
  155.                     local vis = false
  156.                     local vis2 = false
  157.                     if LArm and not LArm:FindFirstChild('Dismembered') then
  158.                         local at1 = Instance.new("Attachment")
  159.                         at1.Parent = torso
  160.                         at1.Visible = vis
  161.                         at1.Orientation = torso.Orientation + Vector3.new(0,180,0)
  162.                         at1.Position = Vector3.new(-1,1,0)
  163.                        
  164.                         local at1p2 = Instance.new("Attachment")
  165.                         at1p2.Parent = LArm
  166.                         at1p2.Visible = vis
  167.                         at1p2.Orientation = LArm.Orientation + Vector3.new(0,180,0)
  168.                         at1p2.Position = Vector3.new(.5,1,0)
  169.                        
  170.                         local bis = Instance.new("BallSocketConstraint")
  171.                         bis.Parent = LArm
  172.                         bis.Attachment0 = at1
  173.                         bis.Attachment1 = at1p2
  174.                         bis.LimitsEnabled = true
  175.                         bis.UpperAngle = 15
  176.                         bis.Visible = vis2
  177.                         bis.TwistLimitsEnabled = true
  178.                         bis.UpperAngle = -45
  179.                         bis.TwistLowerAngle = -45
  180.                         table.insert(js,1,bis)
  181.                     end
  182.                     if RArm and not RArm:FindFirstChild('Dismembered') then    
  183.                         local at2 = Instance.new("Attachment")
  184.                         at2.Parent = torso
  185.                         at2.Visible = vis
  186.                         at2.Orientation = torso.Orientation + Vector3.new(0,0,0)
  187.                         at2.Position = Vector3.new(1,1,0)
  188.                        
  189.                         local at2p2 = Instance.new("Attachment")
  190.                         at2p2.Parent = RArm
  191.                         at2p2.Visible = vis
  192.                         at2p2.Orientation = RArm.Orientation + Vector3.new(0,0,0)
  193.                         at2p2.Position = Vector3.new(-.5,1,0)
  194.                        
  195.                         local bis2 = Instance.new("BallSocketConstraint")
  196.                         bis2.Parent = RArm
  197.                         bis2.Attachment0 = at2
  198.                         bis2.Attachment1 = at2p2
  199.                         bis2.LimitsEnabled = true
  200.                         bis2.UpperAngle = 15
  201.                         bis2.Visible = vis2
  202.                         bis2.TwistLimitsEnabled = true
  203.                         bis2.UpperAngle = -45
  204.                         bis2.TwistLowerAngle = -45
  205.                         table.insert(js,1,bis2)
  206.                     end
  207.                     if RLeg and not RLeg:FindFirstChild('Dismembered') then
  208.                         local at3 = Instance.new("Attachment")
  209.                         at3.Parent = torso
  210.                         at3.Visible = vis
  211.                         at3.Orientation = torso.Orientation + Vector3.new(90,0,-90)
  212.                         at3.Position = Vector3.new(.5,-1,0)
  213.                        
  214.                         local at3p2 = Instance.new("Attachment")
  215.                         at3p2.Parent = RLeg
  216.                         at3p2.Visible = vis
  217.                         at3p2.Orientation = RLeg.Orientation + Vector3.new(90,0,-90)
  218.                         at3p2.Position = Vector3.new(0,1,0)
  219.                        
  220.                         local bis3 = Instance.new("BallSocketConstraint")
  221.                         bis3.Parent = RLeg
  222.                         bis3.Attachment0 = at3
  223.                         bis3.Attachment1 = at3p2
  224.                         bis3.LimitsEnabled = true
  225.                         bis3.UpperAngle = 180-15
  226.                         bis3.Visible = vis2
  227.                         table.insert(js,1,bis3)
  228.                     end
  229.                    
  230.                     if LLeg and not LLeg:FindFirstChild('Dismembered') then  
  231.                         local at4 = Instance.new("Attachment")
  232.                         at4.Parent = torso
  233.                         at4.Visible = vis
  234.                         at4.Orientation = torso.Orientation + Vector3.new(90,0,-90)
  235.                         at4.Position = Vector3.new(-.5,-1,0)
  236.                        
  237.                         local at4p2 = Instance.new("Attachment")
  238.                         at4p2.Parent = LLeg
  239.                         at4p2.Visible = vis
  240.                         at4p2.Orientation = LLeg.Orientation + Vector3.new(90,0,-90)
  241.                         at4p2.Position = Vector3.new(0,1,0)
  242.                        
  243.                         local bis4 = Instance.new("BallSocketConstraint")
  244.                         bis4.Parent = LLeg
  245.                         bis4.Attachment0 = at4
  246.                         bis4.Attachment1 = at4p2
  247.                         bis4.LimitsEnabled = true
  248.                         bis4.UpperAngle = 180-15
  249.                         bis4.Visible = vis2
  250.                         table.insert(js,1,bis4)
  251.                     end
  252.                    
  253.                     if head and not headless and not head:FindFirstChild('Dismembered') then  
  254.                         local at5 = Instance.new("Attachment")
  255.                         at5.Parent = torso
  256.                         at5.Visible = vis
  257.                         at5.Orientation = torso.Orientation + Vector3.new(180,90,0)
  258.                         at5.Position = Vector3.new(0,1,0)
  259.                        
  260.                         local at5p2 = Instance.new("Attachment")
  261.                         at5p2.Parent = head
  262.                         at5p2.Visible = vis
  263.                         at5p2.Orientation = head.Orientation + Vector3.new(180,90,0)
  264.                         at5p2.Position = Vector3.new(0,-.5,0)
  265.                        
  266.                         local bis5 = Instance.new("BallSocketConstraint")
  267.                         bis5.Parent = head
  268.                         bis5.Attachment0 = at5p2
  269.                         bis5.Attachment1 = at5
  270.                         bis5.LimitsEnabled = true
  271.                         bis5.UpperAngle = 75
  272.                         bis5.Visible = vis2
  273.                         bis5.TwistLimitsEnabled = true
  274.                         bis5.UpperAngle = -45
  275.                         bis5.TwistLowerAngle = -45
  276.                         table.insert(js,1,bis5)
  277.                     else
  278.                         --head:BreakJoints()
  279.                     end
  280.                 end
  281.             else
  282.                 hum.Died:Connect(function()
  283.                     if hum.RigType==Enum.HumanoidRigType.R6 then
  284.                         for _,v in pairs(torso:GetDescendants()) do
  285.                             if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA('Weld') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
  286.                                 if not kill then
  287.                                     table.insert(js2,1,{obj = v,par = v.Parent})
  288.                                     v.Parent = nil
  289.                                 elseif kill then
  290.                                     v:Destroy()
  291.                                 end
  292.                             end
  293.                         end
  294.                         local vis = false
  295.                         local vis2 = false
  296.                         if LArm and not LArm:FindFirstChild('Dismembered') then
  297.                             local at1 = Instance.new("Attachment")
  298.                             at1.Parent = torso
  299.                             at1.Visible = vis
  300.                             at1.Orientation = torso.Orientation + Vector3.new(0,180,0)
  301.                             at1.Position = Vector3.new(-1,1,0)
  302.                            
  303.                             local at1p2 = Instance.new("Attachment")
  304.                             at1p2.Parent = LArm
  305.                             at1p2.Visible = vis
  306.                             at1p2.Orientation = LArm.Orientation + Vector3.new(0,180,0)
  307.                             at1p2.Position = Vector3.new(.5,1,0)
  308.                            
  309.                             local bis = Instance.new("BallSocketConstraint")
  310.                             bis.Parent = LArm
  311.                             bis.Attachment0 = at1
  312.                             bis.Attachment1 = at1p2
  313.                             bis.LimitsEnabled = true
  314.                             bis.UpperAngle = 15
  315.                             bis.Visible = vis2
  316.                             bis.TwistLimitsEnabled = true
  317.                             bis.UpperAngle = -45
  318.                             bis.TwistLowerAngle = -45
  319.                             table.insert(js,1,bis)
  320.                         end
  321.                         if RArm and not RArm:FindFirstChild('Dismembered') then    
  322.                             local at2 = Instance.new("Attachment")
  323.                             at2.Parent = torso
  324.                             at2.Visible = vis
  325.                             at2.Orientation = torso.Orientation + Vector3.new(0,0,0)
  326.                             at2.Position = Vector3.new(1,1,0)
  327.                            
  328.                             local at2p2 = Instance.new("Attachment")
  329.                             at2p2.Parent = RArm
  330.                             at2p2.Visible = vis
  331.                             at2p2.Orientation = RArm.Orientation + Vector3.new(0,0,0)
  332.                             at2p2.Position = Vector3.new(-.5,1,0)
  333.                            
  334.                             local bis2 = Instance.new("BallSocketConstraint")
  335.                             bis2.Parent = RArm
  336.                             bis2.Attachment0 = at2
  337.                             bis2.Attachment1 = at2p2
  338.                             bis2.LimitsEnabled = true
  339.                             bis2.UpperAngle = 15
  340.                             bis2.Visible = vis2
  341.                             bis2.TwistLimitsEnabled = true
  342.                             bis2.UpperAngle = -45
  343.                             bis2.TwistLowerAngle = -45
  344.                             table.insert(js,1,bis2)
  345.                         end
  346.                         if RLeg and not RLeg:FindFirstChild('Dismembered') then
  347.                             local at3 = Instance.new("Attachment")
  348.                             at3.Parent = torso
  349.                             at3.Visible = vis
  350.                             at3.Orientation = torso.Orientation + Vector3.new(90,0,-90)
  351.                             at3.Position = Vector3.new(.5,-1,0)
  352.                            
  353.                             local at3p2 = Instance.new("Attachment")
  354.                             at3p2.Parent = RLeg
  355.                             at3p2.Visible = vis
  356.                             at3p2.Orientation = RLeg.Orientation + Vector3.new(90,0,-90)
  357.                             at3p2.Position = Vector3.new(0,1,0)
  358.                            
  359.                             local bis3 = Instance.new("BallSocketConstraint")
  360.                             bis3.Parent = RLeg
  361.                             bis3.Attachment0 = at3
  362.                             bis3.Attachment1 = at3p2
  363.                             bis3.LimitsEnabled = true
  364.                             bis3.UpperAngle = 180-15
  365.                             bis3.Visible = vis2
  366.                             table.insert(js,1,bis3)
  367.                         end
  368.                        
  369.                         if LLeg and not LLeg:FindFirstChild('Dismembered') then  
  370.                             local at4 = Instance.new("Attachment")
  371.                             at4.Parent = torso
  372.                             at4.Visible = vis
  373.                             at4.Orientation = torso.Orientation + Vector3.new(90,0,-90)
  374.                             at4.Position = Vector3.new(-.5,-1,0)
  375.                            
  376.                             local at4p2 = Instance.new("Attachment")
  377.                             at4p2.Parent = LLeg
  378.                             at4p2.Visible = vis
  379.                             at4p2.Orientation = LLeg.Orientation + Vector3.new(90,0,-90)
  380.                             at4p2.Position = Vector3.new(0,1,0)
  381.                            
  382.                             local bis4 = Instance.new("BallSocketConstraint")
  383.                             bis4.Parent = LLeg
  384.                             bis4.Attachment0 = at4
  385.                             bis4.Attachment1 = at4p2
  386.                             bis4.LimitsEnabled = true
  387.                             bis4.UpperAngle = 180-15
  388.                             bis4.Visible = vis2
  389.                             table.insert(js,1,bis4)
  390.                         end
  391.                        
  392.                         if head and not headless and not head:FindFirstChild('Dismembered') then  
  393.                             local at5 = Instance.new("Attachment")
  394.                             at5.Parent = torso
  395.                             at5.Visible = vis
  396.                             at5.Orientation = torso.Orientation + Vector3.new(180,90,0)
  397.                             at5.Position = Vector3.new(0,1,0)
  398.                            
  399.                             local at5p2 = Instance.new("Attachment")
  400.                             at5p2.Parent = head
  401.                             at5p2.Visible = vis
  402.                             at5p2.Orientation = head.Orientation + Vector3.new(180,90,0)
  403.                             at5p2.Position = Vector3.new(0,-.5,0)
  404.                            
  405.                             local bis5 = Instance.new("BallSocketConstraint")
  406.                             bis5.Parent = head
  407.                             bis5.Attachment0 = at5p2
  408.                             bis5.Attachment1 = at5
  409.                             bis5.LimitsEnabled = true
  410.                             bis5.UpperAngle = 75
  411.                             bis5.Visible = vis2
  412.                             bis5.TwistLimitsEnabled = true
  413.                             bis5.UpperAngle = -45
  414.                             bis5.TwistLowerAngle = -45
  415.                             table.insert(js,1,bis5)
  416.                         else
  417.                             --head:BreakJoints()
  418.                         end
  419.                     end
  420.                 end)
  421.             end
  422.         elseif head and hum then
  423.             hum.BreakJointsOnDeath = false
  424.             if insta then
  425.                 if hum.RigType==Enum.HumanoidRigType.R15 then
  426.                     for _,v in pairs(pc:GetDescendants()) do
  427.                         if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
  428.                             if not kill then
  429.                                 table.insert(js2,1,{obj = v,par = v.Parent})
  430.                                 v.Parent = nil
  431.                             elseif kill then
  432.                                 v:Destroy()
  433.                             end
  434.                         end
  435.                     end
  436.                     local vis = false
  437.                     local vis2 = false
  438.                    
  439.                     if LF and not LF:FindFirstChild('Dismembered') then  
  440.                         local bsc1 = Instance.new("BallSocketConstraint",LF)
  441.                         bsc1.Attachment0 = LF.LeftAnkleRigAttachment
  442.                         bsc1.Attachment1 = LLL.LeftAnkleRigAttachment
  443.                         table.insert(js,1,bsc1)
  444.                     end
  445.                     if LLL and not LLL:FindFirstChild('Dismembered') then  
  446.                         local bsc2 = Instance.new("BallSocketConstraint",LLL)
  447.                         bsc2.Attachment0 = LLL.LeftKneeRigAttachment
  448.                         bsc2.Attachment1 = LUL.LeftKneeRigAttachment
  449.                         table.insert(js,1,bsc2)
  450.                     end
  451.                     if LUL and not LUL:FindFirstChild('Dismembered') then  
  452.                         local bsc3 = Instance.new("BallSocketConstraint",LUL)
  453.                         bsc3.Attachment0 = LUL.LeftHipRigAttachment
  454.                         bsc3.Attachment1 = LT.LeftHipRigAttachment
  455.                         table.insert(js,1,bsc3)
  456.                     end
  457.                     if RF and not RF:FindFirstChild('Dismembered') then  
  458.                         local bsc4 = Instance.new("BallSocketConstraint",RF)
  459.                         bsc4.Attachment0 = RF.RightAnkleRigAttachment
  460.                         bsc4.Attachment1 = RLL.RightAnkleRigAttachment
  461.                         table.insert(js,1,bsc4)
  462.                     end
  463.                     if RLL and not RLL:FindFirstChild('Dismembered') then  
  464.                         local bsc5 = Instance.new("BallSocketConstraint",RLL)
  465.                         bsc5.Attachment0 = RLL.RightKneeRigAttachment
  466.                         bsc5.Attachment1 = RUL.RightKneeRigAttachment
  467.                         table.insert(js,1,bsc5)
  468.                     end
  469.                     if RUL and not RUL:FindFirstChild('Dismembered') then  
  470.                         local bsc6 = Instance.new("BallSocketConstraint",RUL)
  471.                         bsc6.Attachment0 = RUL.RightHipRigAttachment
  472.                         bsc6.Attachment1 = LT.RightHipRigAttachment
  473.                         table.insert(js,1,bsc6)
  474.                     end
  475.                     if LH and not LH:FindFirstChild('Dismembered') then  
  476.                         local bsc7 = Instance.new("BallSocketConstraint",LH)
  477.                         bsc7.Attachment0 = LH.LeftWristRigAttachment
  478.                         bsc7.Attachment1 = LLA.LeftWristRigAttachment
  479.                         table.insert(js,1,bsc7)
  480.                     end
  481.                     if LLA and not LLA:FindFirstChild('Dismembered') then  
  482.                         local bsc8 = Instance.new("BallSocketConstraint",LLA)
  483.                         bsc8.Attachment0 = LLA.LeftElbowRigAttachment
  484.                         bsc8.Attachment1 = LUA.LeftElbowRigAttachment
  485.                         table.insert(js,1,bsc8)
  486.                     end
  487.                     if LUA and not LUA:FindFirstChild('Dismembered') then  
  488.                         local bsc9 = Instance.new("BallSocketConstraint",LUA)
  489.                         bsc9.Attachment0 = LUA.LeftShoulderAttachment
  490.                         bsc9.Attachment1 = UT.LeftCollarAttachment
  491.                         table.insert(js,1,bsc9)
  492.                     end
  493.                     if RH and not RH:FindFirstChild('Dismembered') then  
  494.                         local bsc10 = Instance.new("BallSocketConstraint",RH)
  495.                         bsc10.Attachment0 = RH.RightWristRigAttachment
  496.                         bsc10.Attachment1 = RLA.RightWristRigAttachment
  497.                         table.insert(js,1,bsc10)
  498.                     end
  499.                     if RLA and not RLA:FindFirstChild('Dismembered') then  
  500.                         local bsc11 = Instance.new("BallSocketConstraint",RLA)
  501.                         bsc11.Attachment0 = RLA.RightElbowRigAttachment
  502.                         bsc11.Attachment1 = RUA.RightElbowRigAttachment
  503.                         table.insert(js,1,bsc11)
  504.                     end
  505.                     if RUA and not RUA:FindFirstChild('Dismembered') then  
  506.                         local bsc12 = Instance.new("BallSocketConstraint",RUA)
  507.                         bsc12.Attachment0 = RUA.RightShoulderAttachment
  508.                         bsc12.Attachment1 = UT.RightCollarAttachment
  509.                         table.insert(js,1,bsc12)
  510.                     end
  511.                     if LT and not LT:FindFirstChild('Dismembered') then  
  512.                         local bsc13 = Instance.new("BallSocketConstraint",LT)
  513.                         bsc13.Attachment0 = LT.WaistRigAttachment
  514.                         bsc13.Attachment1 = UT.WaistRigAttachment
  515.                         table.insert(js,1,bsc13)
  516.                     end
  517.                     if head and not headless and not head:FindFirstChild('Dismembered')  then
  518.                         local bsc14 = Instance.new("BallSocketConstraint",head)
  519.                         bsc14.Attachment0 = UT.NeckRigAttachment
  520.                         bsc14.Attachment1 = head.NeckRigAttachment
  521.                         bsc14.LimitsEnabled = true
  522.                         bsc14.UpperAngle = -75
  523.                         bsc14.TwistLimitsEnabled = true
  524.                         bsc14.UpperAngle = -45
  525.                         bsc14.TwistLowerAngle = -45
  526.                         table.insert(js,1,bsc14)
  527.                     else
  528.                         --head:BreakJoints()
  529.                     end
  530.                 end
  531.             else
  532.                 hum.Died:Connect(function()
  533.                     if hum.RigType==Enum.HumanoidRigType.R15 then
  534.                         for _,v in pairs(pc:GetDescendants()) do
  535.                             if (v:IsA('Motor6D') or v:IsA('Motor') or v:IsA("BallSocketConstraint")) and (not string.match(v.Name:lower(),'root')) then
  536.                                 if not kill then
  537.                                     table.insert(js2,1,{obj = v,par = v.Parent})
  538.                                     v.Parent = nil
  539.                                 elseif kill then
  540.                                     v:Destroy()
  541.                                 end
  542.                             end
  543.                         end
  544.                         local vis = false
  545.                         local vis2 = false
  546.                        
  547.                         if LF and not LF:FindFirstChild('Dismembered') then  
  548.                             local bsc1 = Instance.new("BallSocketConstraint",LF)
  549.                             bsc1.Attachment0 = LF.LeftAnkleRigAttachment
  550.                             bsc1.Attachment1 = LLL.LeftAnkleRigAttachment
  551.                             table.insert(js,1,bsc1)
  552.                         end
  553.                         if LLL and not LLL:FindFirstChild('Dismembered') then  
  554.                             local bsc2 = Instance.new("BallSocketConstraint",LLL)
  555.                             bsc2.Attachment0 = LLL.LeftKneeRigAttachment
  556.                             bsc2.Attachment1 = LUL.LeftKneeRigAttachment
  557.                             table.insert(js,1,bsc2)
  558.                         end
  559.                         if LUL and not LUL:FindFirstChild('Dismembered') then  
  560.                             local bsc3 = Instance.new("BallSocketConstraint",LUL)
  561.                             bsc3.Attachment0 = LUL.LeftHipRigAttachment
  562.                             bsc3.Attachment1 = LT.LeftHipRigAttachment
  563.                             table.insert(js,1,bsc3)
  564.                         end
  565.                         if RF and not RF:FindFirstChild('Dismembered') then  
  566.                             local bsc4 = Instance.new("BallSocketConstraint",RF)
  567.                             bsc4.Attachment0 = RF.RightAnkleRigAttachment
  568.                             bsc4.Attachment1 = RLL.RightAnkleRigAttachment
  569.                             table.insert(js,1,bsc4)
  570.                         end
  571.                         if RLL and not RLL:FindFirstChild('Dismembered') then  
  572.                             local bsc5 = Instance.new("BallSocketConstraint",RLL)
  573.                             bsc5.Attachment0 = RLL.RightKneeRigAttachment
  574.                             bsc5.Attachment1 = RUL.RightKneeRigAttachment
  575.                             table.insert(js,1,bsc5)
  576.                         end
  577.                         if RUL and not RUL:FindFirstChild('Dismembered') then  
  578.                             local bsc6 = Instance.new("BallSocketConstraint",RUL)
  579.                             bsc6.Attachment0 = RUL.RightHipRigAttachment
  580.                             bsc6.Attachment1 = LT.RightHipRigAttachment
  581.                             table.insert(js,1,bsc6)
  582.                         end
  583.                         if LH and not LH:FindFirstChild('Dismembered') then  
  584.                             local bsc7 = Instance.new("BallSocketConstraint",LH)
  585.                             bsc7.Attachment0 = LH.LeftWristRigAttachment
  586.                             bsc7.Attachment1 = LLA.LeftWristRigAttachment
  587.                             table.insert(js,1,bsc7)
  588.                         end
  589.                         if LLA and not LLA:FindFirstChild('Dismembered') then  
  590.                             local bsc8 = Instance.new("BallSocketConstraint",LLA)
  591.                             bsc8.Attachment0 = LLA.LeftElbowRigAttachment
  592.                             bsc8.Attachment1 = LUA.LeftElbowRigAttachment
  593.                             table.insert(js,1,bsc8)
  594.                         end
  595.                         if LUA and not LUA:FindFirstChild('Dismembered') then  
  596.                             local bsc9 = Instance.new("BallSocketConstraint",LUA)
  597.                             bsc9.Attachment0 = LUA.LeftShoulderAttachment
  598.                             bsc9.Attachment1 = UT.LeftCollarAttachment
  599.                             table.insert(js,1,bsc9)
  600.                         end
  601.                         if RH and not RH:FindFirstChild('Dismembered') then  
  602.                             local bsc10 = Instance.new("BallSocketConstraint",RH)
  603.                             bsc10.Attachment0 = RH.RightWristRigAttachment
  604.                             bsc10.Attachment1 = RLA.RightWristRigAttachment
  605.                             table.insert(js,1,bsc10)
  606.                         end
  607.                         if RLA and not RLA:FindFirstChild('Dismembered') then  
  608.                             local bsc11 = Instance.new("BallSocketConstraint",RLA)
  609.                             bsc11.Attachment0 = RLA.RightElbowRigAttachment
  610.                             bsc11.Attachment1 = RUA.RightElbowRigAttachment
  611.                             table.insert(js,1,bsc11)
  612.                         end
  613.                         if RUA and not RUA:FindFirstChild('Dismembered') then  
  614.                             local bsc12 = Instance.new("BallSocketConstraint",RUA)
  615.                             bsc12.Attachment0 = RUA.RightShoulderAttachment
  616.                             bsc12.Attachment1 = UT.RightCollarAttachment
  617.                             table.insert(js,1,bsc12)
  618.                         end
  619.                         if LT and not LT:FindFirstChild('Dismembered') then  
  620.                             local bsc13 = Instance.new("BallSocketConstraint",LT)
  621.                             bsc13.Attachment0 = LT.WaistRigAttachment
  622.                             bsc13.Attachment1 = UT.WaistRigAttachment
  623.                             table.insert(js,1,bsc13)
  624.                         end
  625.                         if head and not headless and not head:FindFirstChild('Dismembered')  then
  626.                             local bsc14 = Instance.new("BallSocketConstraint",head)
  627.                             bsc14.Attachment0 = UT.NeckRigAttachment
  628.                             bsc14.Attachment1 = head.NeckRigAttachment
  629.                             bsc14.LimitsEnabled = true
  630.                             bsc14.UpperAngle = -75
  631.                             bsc14.TwistLimitsEnabled = true
  632.                             bsc14.UpperAngle = -45
  633.                             bsc14.TwistLowerAngle = -45
  634.                             table.insert(js,1,bsc14)
  635.                         else
  636.                             --head:BreakJoints()
  637.                         end
  638.                     end
  639.                 end)
  640.             end
  641.         end
  642.     end
  643.     return js,js2
  644. end
  645.  
  646. local t = Instance.new("Tool")
  647. t.CanBeDropped = false
  648. local Part1 = Instance.new("Part")
  649. local Sound6 = Instance.new("Sound")
  650. t.Name = "Impostor Tool"
  651. t.TextureId = "rbxassetid://5701818647"
  652. t.Grip = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  653. t.GripForward = Vector3.new(-1, -0, -0)
  654. t.GripPos = Vector3.new(0, 0, -1.5)
  655. t.GripRight = Vector3.new(0, 1, 0)
  656. t.GripUp = Vector3.new(0, 0, 1)
  657. Part1.Name = "Handle"
  658. Part1.Parent = t
  659. Part1.CFrame = CFrame.new(214.957138, 4.28734684, -190.317474, 0.0910440385, -0.881099463, 0.464084357, 0.537011683, 0.435894847, 0.722229123, -0.838648558, 0.183463722, 0.512845576)
  660. Part1.Orientation = Vector3.new(-46.2400017, 42.1399994, 50.9300003)
  661. Part1.Position = Vector3.new(214.957138, 4.28734684, -190.317474)
  662. Part1.Rotation = Vector3.new(-54.6199989, 27.6499996, 84.0999985)
  663. Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
  664. Part1.Size = Vector3.new()
  665. Part1.BottomSurface = Enum.SurfaceType.Smooth
  666. Part1.BrickColor = BrickColor.new("Dark stone grey")
  667. Part1.Locked = true
  668. Part1.Transparency = 1
  669. Part1.TopSurface = Enum.SurfaceType.Smooth
  670. Part1.brickColor = BrickColor.new("Dark stone grey")
  671. Part1.FormFactor = Enum.FormFactor.Plate
  672. Part1.formFactor = Enum.FormFactor.Plate
  673. Sound6.Name = "Kill"
  674. Sound6.Parent = nil
  675. Sound6.SoundId = "rbxassetid://5700183626"
  676. Sound6.Volume = 2
  677.  
  678. plr = owner
  679.  
  680. local Tool = t
  681. local Handle = Tool:WaitForChild("Handle")
  682. Tool.Parent = plr['Backpack']
  683.  
  684. local tag = Instance.new("ObjectValue")
  685. tag.Name = 'par'
  686. tag.Value = plr['Backpack']
  687. tag.Parent = t
  688.  
  689. local char = plr.Character
  690. local hum = char:FindFirstChildOfClass("Humanoid")
  691. local root = char:FindFirstChild("HumanoidRootPart")
  692.  
  693. local Players = game:GetService("Players")
  694. local Debris = game:GetService("Debris")
  695.  
  696. local Sounds = {
  697.     Kill = Sound6,
  698. }
  699.  
  700. local function CheckIfAlive()
  701.     return (((plr and plr.Parent and char and char.Parent and hum and hum.Parent and hum.Health > 0 and root and root.Parent) and true) or false)
  702. end
  703.  
  704. local can_kill = true
  705. local kill_cooldown = 10
  706. local kill_distance = 10
  707.  
  708. local function kill(Hit,dist)
  709.     if not Hit or not Hit.Parent or not CheckIfAlive() then
  710.         return
  711.     end
  712.     local character = Hit.Parent
  713.     if character == char then
  714.         return
  715.     end
  716.     local humanoid = character:FindFirstChildOfClass("Humanoid")
  717.     if not humanoid or humanoid.Health == 0 then
  718.         return
  719.     end
  720.     local player = Players:GetPlayerFromCharacter(character)
  721.     if player and ((player == plr)) then
  722.         return
  723.     end
  724.     if can_kill then
  725.         local sp = Instance.new("Part")
  726.         sp.Size = Vector3.new()
  727.         sp.Transparency = 1
  728.         sp.CanCollide = false
  729.         sp.Anchored = true
  730.         sp.Locked = true
  731.         sp.Position = root.Position
  732.         sp.Parent = script
  733.         local s1 = Sounds.Kill:Clone()
  734.         s1.Parent = sp
  735.         s1:Play()
  736.         spawn(function()
  737.             root.Anchored = true
  738.             local sv = root.Velocity
  739.             local trans = {}
  740.             for i,v in pairs(char:GetDescendants()) do
  741.                 if (v:IsA("BasePart") or v:IsA("UnionOperation")) and 0 >= v.Transparency then
  742.                     trans[v] = true
  743.                     game:GetService("TweenService"):Create(v,TweenInfo.new(0.1),{Transparency = 1}):Play()
  744.                 end
  745.             end
  746.             game:GetService("TweenService"):Create(root,TweenInfo.new(0.1),{CFrame = Hit.CFrame}):Play()
  747.             humanoid:TakeDamage(1/0)
  748.             wait(0.1)
  749.             for i,v in pairs(trans) do
  750.                 game:GetService("TweenService"):Create(i,TweenInfo.new(0.1),{Transparency = 0}):Play()
  751.             end
  752.             root.Anchored = false
  753.             root.Velocity = sv
  754.             local tempkillval = Instance.new("ObjectValue")
  755.             tempkillval.Name = 'killer'
  756.             tempkillval.Value = nil -- plr
  757.             tempkillval.Parent = humanoid
  758.             humanoid:TakeDamage(1/0)
  759.             local ragval = Instance.new("ObjectValue")
  760.             ragval.Name = 'Ragdolled'
  761.             ragval.Parent = humanoid
  762.             humanoid.AutoRotate = false
  763.             humanoid.PlatformStand = true
  764.             Ragdoll(character,true,true,true)
  765.         end)
  766.         spawn(function()
  767.             can_kill = false
  768.             Tool.Parent = nil
  769.             wait(kill_cooldown)
  770.             if not char or not hum or not root or 0 >= hum.Health then
  771.                 repeat
  772.                     wait(1)
  773.                     char = plr.Character
  774.                     hum = char:FindFirstChildOfClass("Humanoid")
  775.                     root = char:FindFirstChild("HumanoidRootPart")
  776.                 until char and hum and root and hum.Health > 0
  777.             end
  778.             Tool.Parent = plr['Backpack']
  779.             can_kill = true
  780.         end)
  781.     end
  782. end
  783.  
  784. local function get_near()
  785.     local dist = kill_distance
  786.     local near = nil
  787.     for i,v in pairs(workspace:GetChildren()) do
  788.         if v ~= char then else continue end
  789.         local tc = v
  790.         local tt = nil
  791.         local th = nil
  792.         pcall(function()
  793.             tt = tc:FindFirstChild("HumanoidRootPart") or tc:FindFirstChild("Torso") or tc:FindFirstChild("Head")
  794.         end)
  795.         pcall(function()
  796.             th = tc:FindFirstChildOfClass("Humanoid")
  797.         end)
  798.         if tc and tt and th and th.Health > 0 then
  799.             local cdi = (tt.Position-root.Position).Magnitude
  800.             if dist >= cdi then
  801.                 dist = cdi
  802.                 near = tt
  803.             end
  804.         end
  805.     end
  806.     return near,dist
  807. end
  808.  
  809. Tool.Equipped:Connect(function()
  810.     local near,dist = get_near()
  811.     if not near then
  812.         wait(0)
  813.         if not can_kill then
  814.             Tool.Parent = nil
  815.         else
  816.             if not char or not hum or not root or 0 >= hum.Health then
  817.                 repeat
  818.                     wait(1)
  819.                     char = plr.Character
  820.                     hum = char:FindFirstChildOfClass("Humanoid")
  821.                     root = char:FindFirstChild("HumanoidRootPart")
  822.                 until char and hum and root and hum.Health > 0
  823.             end
  824.             Tool.Parent = plr['Backpack']
  825.         end
  826.     else
  827.         kill(near)
  828.     end
  829. end)
RAW Paste Data