SHARE
TWEET

Grab Knife v2

DanielTG Feb 9th, 2019 15 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. me = game.Players.LocalPlayer
  3. char = me.Character
  4. selected = false
  5. attacking = false
  6. hurt = false
  7. grabbed = nil
  8. mode = "drop"
  9. bloodcolors = {"Really red", "Bright red"}
  10.  
  11.  
  12. function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
  13. part.Parent = parent
  14. part.formFactor = form
  15. part.CanCollide = collide
  16. part.Transparency = tran
  17. part.Reflectance = ref
  18. part.Size = Vector3.new(x,y,z)
  19. part.BrickColor = BrickColor.new(color)
  20. part.TopSurface = 0
  21. part.BottomSurface = 0
  22. part.Anchored = anchor
  23. part.Locked = true
  24. part:BreakJoints()
  25. end
  26.  
  27. function weld(w, p, p1, a, b, c, x, y, z)
  28. w.Parent = p
  29. w.Part0 = p
  30. w.Part1 = p1
  31. w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
  32. end
  33.  
  34. function mesh(mesh, parent, x, y, z, type)
  35. mesh.Parent = parent
  36. mesh.Scale = Vector3.new(x, y, z)
  37. mesh.MeshType = type
  38. end
  39.  
  40. function remgui()
  41.         for _,v in pairs(me.PlayerGui:GetChildren()) do
  42.                 if v.Name == "Modeshow" then
  43.                         v:remove()
  44.                 end
  45.         end
  46. end
  47.  
  48. function inform(text,delay)
  49.         remgui()
  50.         local sc = Instance.new("ScreenGui")
  51.         sc.Parent = me.PlayerGui
  52.         sc.Name = "Modeshow"
  53.         local bak = Instance.new("Frame",sc)
  54.         bak.BackgroundColor3 = Color3.new(1,1,1)
  55.         bak.Size = UDim2.new(0.94,0,0.1,0)
  56.         bak.Position = UDim2.new(0.03,0,0.037,0)
  57.         bak.BorderSizePixel = 0
  58.         local gi = Instance.new("TextLabel",sc)
  59.         gi.Size = UDim2.new(0.92,0,0.09,0)
  60.         gi.BackgroundColor3 = Color3.new(0,0,0)
  61.         gi.Position = UDim2.new(0.04,0,0.042,0)
  62.         gi.TextColor3 = Color3.new(1,1,1)
  63.         gi.FontSize = "Size12"
  64.         gi.Text = text
  65.         coroutine.resume(coroutine.create(function()
  66.                 wait(delay)
  67.                 sc:remove()
  68.         end))
  69. end
  70.  
  71. if char:findFirstChild("Bricks",true) then
  72.         char:findFirstChild("Bricks",true):remove()
  73. end
  74.  
  75. bricks = Instance.new("Model",me.Character)
  76. bricks.Name = "Bricks"
  77.  
  78. --Parts-------------------------Parts-------------------------Parts-------------------------Parts----------------------
  79.  
  80. rarm = char:findFirstChild("Right Arm")
  81. larm = char:findFirstChild("Left Arm")
  82. lleg = char:findFirstChild("Left Leg")
  83. torso = char:findFirstChild("Torso")
  84. hum = char:findFirstChild("Humanoid")
  85.  
  86. righthold = Instance.new("Part")
  87. prop(righthold, bricks, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  88. w11 = Instance.new("Weld")
  89. weld(w11, rarm, righthold, 0, 0, 0, 0, 1, 0)
  90.  
  91. lefthold = Instance.new("Part")
  92. prop(lefthold, bricks, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  93. w12 = Instance.new("Weld")
  94. weld(w12, larm, lefthold, 0, 0, 0, 0, 1, 0)
  95.  
  96. hold = Instance.new("Part")
  97. prop(hold, bricks, false, 0, 0, 0.2, 0.4, 0.7, "Really red", false, "Custom")
  98. oh = Instance.new("Weld")
  99. weld(oh, lleg, hold, -math.pi/1.4, 0, math.rad(35), 0.55, -0.9, 0.3)
  100.  
  101. knife = Instance.new("Part")
  102. prop(knife, bricks, false, 0, 0, 0.35, 1.1, 0.5, "Really black", false, "Custom")
  103. orr = Instance.new("Weld")
  104. weld(orr, hold, knife, 0, 0, 0, 0, 0.7, 0)
  105. ar = Instance.new("Weld")
  106. weld(ar, lefthold, nil, math.pi/2, 0, math.pi, 0, 0, 0)
  107.  
  108.  
  109. blade = Instance.new("Part")
  110. prop(blade, bricks, false, 0, 0, 0.1, 1.5, 0.4, "Medium grey", false, "Custom")
  111. Instance.new("BlockMesh",blade).Scale = Vector3.new(0.3,1,1)
  112. w2 = Instance.new("Weld")
  113. weld(w2, knife, blade, 0, 0, 0, 0, -1.2, 0)
  114.  
  115. blade2 = Instance.new("Part")
  116. prop(blade2, bricks, false, 0, 0, 0.1, 0.5, 0.4, "Medium grey", false, "Custom")
  117. local mew = Instance.new("SpecialMesh",blade2)
  118. mew.MeshType = "Wedge"
  119. mew.Scale = Vector3.new(0.3,1,1)
  120. w3 = Instance.new("Weld")
  121. weld(w3, blade, blade2, 0, 0, 0, 0, -1, 0)
  122.  
  123.  
  124.  
  125.  
  126. rb = Instance.new("Part")
  127. prop(rb, bricks, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  128. w13 = Instance.new("Weld")
  129. weld(w13, torso, rb, 0, 0, 0, -1.5, -0.5, 0)
  130.  
  131. lb = Instance.new("Part")
  132. prop(lb, bricks, false, 1, 0, 0.1, 0.1, 0.1, "White", false, "Custom")
  133. w14 = Instance.new("Weld")
  134. weld(w14, torso, lb, 0, 0, 0, 1.5, -0.5, 0)
  135.  
  136. rw = Instance.new("Weld")
  137. weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0)
  138.  
  139. lw = Instance.new("Weld")
  140. weld(lw, lb, nil, 0, 0, 0, 0, 0.5, 0)
  141.  
  142. grabweld = nil
  143. platlol = nil
  144. lolhum = nil
  145.  
  146. function touch(h)
  147.         if hurt then
  148.                 if grabbed == nil then
  149.                         local hu = h.Parent:findFirstChild("Humanoid")
  150.                         local head = h.Parent:findFirstChild("Head")
  151.                         local torz = h.Parent:findFirstChild("Torso")
  152.                         if hu ~= nil and head ~= nil and torz ~= nil and h.Parent.Name ~= name then
  153.                                 if hu.Health > 0 then
  154.                                 grabbed = torz
  155.                                 hu.PlatformStand = true
  156.                                 local w = Instance.new("Weld")
  157.                                 weld(w,righthold,grabbed,math.pi/2,0.2,0,0.7,-0.9,-0.6)
  158.                                 grabweld = w
  159.                                 lolhum = hu
  160.                                 local lolxd = true
  161.                                 platlol = lolxd
  162.                                 hu.Changed:connect(function(prop)
  163.                                         if prop == "PlatformStand" and platlol then
  164.                                                 hu.PlatformStand = true
  165.                                         end
  166.                                 end)
  167.                                 end
  168.                         end
  169.                 end
  170.         end
  171. end
  172.  
  173. righthold.Touched:connect(touch)
  174. lefthold.Touched:connect(touch)
  175.  
  176. function bleed(part,po)
  177.         local lol1 = math.random(5,30)/100
  178.         local lol2 = math.random(5,30)/100
  179.         local lol3 =math.random(5,30)/100
  180.         local lol4 = math.random(1,#bloodcolors)
  181.         local p = Instance.new("Part")
  182.         prop(p,part.Parent,false,0,0,lol1,lol2,lol3,bloodcolors[lol4],false,"Custom")
  183.         p.CFrame = part.CFrame * CFrame.new(math.random(-5,5)/10,po,math.random(-5,5)/10)
  184.         p.Velocity = Vector3.new(math.random(-190,190)/10,math.random(-190,190)/10,math.random(-190,190)/10)
  185.         p.RotVelocity = Vector3.new(math.random(-400,400)/10,math.random(-400,400)/10,math.random(-400,400)/10)
  186.         coroutine.resume(coroutine.create(function()
  187.                 wait(3)
  188.                 p:remove()
  189.         end))
  190. end
  191.  
  192. if script.Parent.className ~= "HopperBin" then
  193.         h = Instance.new("HopperBin",me.Backpack)
  194.         h.Name = "Grab"
  195.         script.Parent = h
  196. end
  197.  
  198. bin = script.Parent
  199.  
  200. function select(mouse)
  201.         orr.Part1 = nil
  202.         ar.Part1 = knife
  203.         mouse.Button1Down:connect(function()
  204.                 if attacking == false then
  205.                         attacking = true
  206.                         lw.Part1 = larm
  207.                         rw.Part1 = rarm
  208.                         hurt = true
  209.                         for i=1, 8 do
  210.                                 rw.C0 = rw.C0 * CFrame.new(-0.03,0,-0.08) * CFrame.fromEulerAnglesXYZ(0.18,0.04,0)
  211.                                 lw.C0 = lw.C0 * CFrame.new(0.06,0,-0.06) * CFrame.fromEulerAnglesXYZ(0.15,-0.11,-0.05)
  212.                                 wait()
  213.                         end
  214.                         wait(1)
  215.                         hurt = false
  216.                         if grabbed == nil then
  217.                                 for i=1, 4 do
  218.                                         rw.C0 = rw.C0 * CFrame.new(0.06,0,0.16) * CFrame.fromEulerAnglesXYZ(-0.36,-0.08,0)
  219.                                         lw.C0 = lw.C0 * CFrame.new(-0.12,0,0.12) * CFrame.fromEulerAnglesXYZ(-0.3,0.22,0.05)
  220.                                         wait()
  221.                                 end
  222.                                 lw.C0 = CFrame.new(0,0,0)
  223.                                 rw.C0 = CFrame.new(0,0,0)
  224.                                 lw.Part1 = nil
  225.                                 rw.Part1 = nil
  226.                                 attacking = false
  227.                         end
  228.                 elseif hurt == false and grabbed ~= nil and mode == "drop" then
  229.                         grabweld:remove()
  230.                         grabweld = nil
  231.                         platlol = false
  232.                         grabbed = nil
  233.                         lolhum.PlatformStand = false
  234.                         lolhum = nil
  235.                         for i=1, 4 do
  236.                                 rw.C0 = rw.C0 * CFrame.new(0.06,0,0.16) * CFrame.fromEulerAnglesXYZ(-0.36,-0.08,0)
  237.                                 lw.C0 = lw.C0 * CFrame.new(-0.12,0,0.16) * CFrame.fromEulerAnglesXYZ(-0.3,0.2,0)
  238.                                 wait()
  239.                         end
  240.                         lw.C0 = CFrame.new(0,0,0)
  241.                         rw.C0 = CFrame.new(0,0,0)
  242.                         lw.Part1 = nil
  243.                         rw.Part1 = nil
  244.                         attacking = false
  245.                         platlol = nil
  246.                 elseif hurt == false and grabbed ~= nil and grabweld ~= nil and mode == "throw" then
  247.                         grabweld:remove()
  248.                         grabweld = nil
  249.                         local bf = Instance.new("BodyForce",grabbed)
  250.                         bf.force = torso.CFrame.lookVector * 8500
  251.                         bf.force = bf.force + Vector3.new(0,7400,0)
  252.                         coroutine.resume(coroutine.create(function()
  253.                                 wait(0.12)
  254.                                 bf:remove()
  255.                         end))
  256.                         for i=1, 6 do
  257.                                 rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.35,0,0)
  258.                                 lw.C0 = lw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.18,0,0)
  259.                                 wait()
  260.                         end
  261.                         for i=1, 4 do
  262.                                 rw.C0 = rw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(-0.47,0,0)
  263.                                 lw.C0 = lw.C0 * CFrame.new(0,0,0) * CFrame.fromEulerAnglesXYZ(0.2,0,0)
  264.                                 wait()
  265.                         end
  266.                         wait(0.2)
  267.                         platlol = false
  268.                         grabbed = nil
  269.                         lolhum.PlatformStand = false
  270.                         lolhum = nil
  271.                         for i=1, 4 do
  272.                                 rw.C0 = rw.C0 * CFrame.new(0.06,0,0.16) * CFrame.fromEulerAnglesXYZ(-0.36,-0.08,0)
  273.                                 lw.C0 = lw.C0 * CFrame.new(-0.12,0,0.16) * CFrame.fromEulerAnglesXYZ(-0.3,0.2,0)
  274.                                 wait()
  275.                         end
  276.                         lw.C0 = CFrame.new(0,0,0)
  277.                         rw.C0 = CFrame.new(0,0,0)
  278.                         lw.Part1 = nil
  279.                         rw.Part1 = nil
  280.                         attacking = false
  281.                         platlol = nil
  282.                 elseif hurt == false and grabbed ~= nil and lolhum ~= nil and grabweld ~= nil and mode == "kill" then
  283.                         for i=1, 5 do
  284.                                 lw.C0 = lw.C0 * CFrame.new(0.02,0.12,0.1) * CFrame.fromEulerAnglesXYZ(-0.05,0,-0.03)
  285.                                 wait()
  286.                         end
  287.                         local ne = grabbed:findFirstChild("Neck")
  288.                         coroutine.resume(coroutine.create(function()
  289.                                 local duh = grabbed
  290.                                 local duh2 = grabbed.Parent.Head
  291.                                 local lolas = lolhum
  292.                                 duh.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  293.                                 for i=1, 60 do
  294.                                         wait()
  295.                                         local hm = math.random(1,9)
  296.                                         pcall(function()
  297.                                                 if hm == 1 then
  298.                                                         duh2.Sound.Pitch = math.random(90,110)/100
  299.                                                         duh2.Sound:play()
  300.                                                 end
  301.                                         end)
  302.                                         if hm > 0 and hm < 3 then
  303.                                                 bleed(duh,1)
  304.                                                 bleed(duh2,-0.5)
  305.                                         end
  306.                                 end
  307.                                 lolas.Health = 0
  308.                                 for i=1, 85 do
  309.                                         wait()
  310.                                         local hm = math.random(1,9)
  311.                                         pcall(function()
  312.                                                 if hm == 1 then
  313.                                                         duh2.Sound.Pitch = math.random(90,110)/100
  314.                                                         duh2.Sound:play()
  315.                                                 end
  316.                                         end)
  317.                                         if hm > 0 and hm < 3 then
  318.                                                 bleed(duh,1)
  319.                                                 bleed(duh2,-0.5)
  320.                                         end
  321.                                 end
  322.                         end))
  323.                         for i=1, 3 do
  324.                                 lw.C0 = lw.C0 * CFrame.new(0.02,0.12,0.1) * CFrame.fromEulerAnglesXYZ(-0.05,0,-0.03)
  325.                                 if ne ~= nil then
  326.                                         grabbed.Neck.C0 = grabbed.Neck.C0 * CFrame.fromEulerAnglesXYZ(-0.35,0,0)
  327.                                 end
  328.                                 wait()
  329.                         end
  330.                         grabweld:remove()
  331.                         grabweld = nil
  332.                         for i=1, 4 do
  333.                                 lw.C0 = lw.C0 * CFrame.new(-0.04,-0.24,-0.2) * CFrame.fromEulerAnglesXYZ(0.1,0,0.06)
  334.                                 wait()
  335.                         end
  336.                         for i=1, 4 do
  337.                                 rw.C0 = rw.C0 * CFrame.new(0.06,0,0.16) * CFrame.fromEulerAnglesXYZ(-0.36,-0.08,0)
  338.                                 lw.C0 = lw.C0 * CFrame.new(-0.12,0,0.12) * CFrame.fromEulerAnglesXYZ(-0.3,0.22,0.05)
  339.                                 wait()
  340.                         end
  341.                         lw.C0 = CFrame.new(0,0,0)
  342.                         rw.C0 = CFrame.new(0,0,0)
  343.                         lw.Part1 = nil
  344.                         rw.Part1 = nil
  345.                         platlol = false
  346.                         grabbed = nil
  347.                         lolhum = nil
  348.                         attacking = false
  349.                         platlol = nil
  350.                 end
  351.         end)
  352.         mouse.KeyDown:connect(function(kai)
  353.                 key = kai:lower()
  354.                 if key == "q" then
  355.                         mode = "drop"
  356.                         inform("Mode: Drop",2)
  357.                 elseif key == "e" then
  358.                         mode = "throw"
  359.                         inform("Mode: Throw",2)
  360.                 elseif key == "f" then
  361.                         mode = "kill"
  362.                         inform("Mode: Kill",2)
  363.                 end
  364.         end)
  365. end
  366.  
  367. function desel()
  368.         repeat wait() until attacking == false
  369.         orr.Part1 = knife
  370.         ar.Part1 = nil
  371. end
  372.  
  373. bin.Selected:connect(select)
  374. bin.Deselected:connect(desel)
  375.  
  376. char.Humanoid.Died:connect(function()
  377.         pcall(function()
  378.                 grabweld:remove()
  379.                 grabweld = nil
  380.                 grabbed = nil
  381.                 platlol = false
  382.                 platlol = nil
  383.         end)
  384. end)
  385.  
  386. inform("Grab script loaded succesfully.",2)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top