Advertisement
cardeer

Roblox - Pistol Script [Skill Updated!]

Apr 8th, 2017
24,090
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 21.24 KB | None | 0 0
  1. local plr = game.Players.LocalPlayer
  2. local mouse = plr:GetMouse()
  3. repeat wait() until plr.Character
  4. local char = plr.Character
  5. repeat wait() until char:FindFirstChild("Humanoid")
  6. local h = char.Humanoid
  7.  
  8. local head = char.Head
  9. local torso = char.Torso
  10. local rightArm = char["Right Arm"]
  11. local leftArm = char["Left Arm"]
  12. local rightLeg = char["Right Leg"]
  13. local leftLeg = char["Left Leg"]
  14.  
  15. local cf = CFrame.new
  16. local angles = CFrame.Angles
  17. local fangles = CFrame.fromEulerAnglesXYZ
  18. local vn = Vector3.new
  19. local rad = math.rad
  20. local rand = math.random
  21.  
  22. function makeJoints(model)
  23.     for _,v in pairs(model:GetChildren()) do
  24.         if v:IsA("BasePart") then
  25.             v:MakeJoints()
  26.             v.Anchored = false
  27.             v.CanCollide = false
  28.         else
  29.             makeJoints(v)
  30.         end
  31.     end
  32. end
  33.  
  34. local rightArmJoint = Instance.new("Weld", rightArm)
  35. rightArmJoint.Part0 = nil
  36. rightArmJoint.Part1 = torso
  37. rightArmJoint.C0 = cf(-((torso.Size.X/2) + (rightArm.Size.X/2)),0,0)*angles(0,0,0)
  38. local rightArmOriginCF = cf(-((torso.Size.X/2) + (rightArm.Size.X/2)),0,0)*angles(0,0,0)
  39. local rightArmTargetCF = rightArmOriginCF
  40. local rightArmHoldCF = rightArmOriginCF*angles(rad(-90), 0, 0)*cf(0, -0.5, 0.5)
  41.  
  42. local leftArmJoint = Instance.new("Weld", leftArm)
  43. leftArmJoint.Part0 = nil
  44. leftArmJoint.Part1 = torso
  45. leftArmJoint.C0 = cf((torso.Size.X/2)+(leftArm.Size.X/2),0,0)*angles(0,0,0)
  46. local leftArmOriginCF = cf((torso.Size.X/2)+(leftArm.Size.X/2),0,0)*angles(0,0,0)
  47. local leftArmTargetCF = leftArmOriginCF
  48. local leftArmHoldCF = leftArmOriginCF*angles(rad(-90), 0, 0)*cf(0, -0.5, 0.5)
  49.  
  50. local rightLegJoint = Instance.new("Weld", rightLeg)
  51. rightLegJoint.Part0 = nil
  52. rightLegJoint.Part1 = torso
  53. rightLegJoint.C0 = cf(0, ((torso.Size.Y/2)+(rightLeg.Size.Y/2)), 0)*angles(0,0,0)
  54. local rightLegOriginCF = cf(-(torso.Size.X/2) + rightLeg.Size.X/2, ((torso.Size.Y/2)+(rightLeg.Size.Y/2)), 0)*angles(0,0,0)
  55. local rightLegTargetCF = rightLegOriginCF
  56.  
  57. local leftLegJoint = Instance.new("Weld", leftLeg)
  58. leftLegJoint.Part0 = nil
  59. leftLegJoint.Part1 = torso
  60. leftLegJoint.C0 = cf(0, ((torso.Size.Y/2)+(leftLeg.Size.Y/2)), 0)*angles(0,0,0)
  61. local leftLegOriginCF = cf((torso.Size.X/2) - leftLeg.Size.X/2, ((torso.Size.Y/2)+(leftLeg.Size.Y/2)), 0)*angles(0,0,0)
  62. local leftLegTargetCF = leftLegOriginCF
  63.  
  64. game:GetService("RunService").RenderStepped:connect(function()
  65.     leftArmJoint.C0 = leftArmJoint.C0:lerp(leftArmTargetCF, 0.1)
  66.     rightArmJoint.C0 = rightArmJoint.C0:lerp(rightArmTargetCF, 0.1)
  67.     rightLegJoint.C0 = rightLegJoint.C0:lerp(rightLegTargetCF, 0.1)
  68.     leftLegJoint.C0 = leftLegJoint.C0:lerp(leftLegTargetCF, 0.1)
  69. end)
  70.  
  71. local currentSide = 1
  72.  
  73. function weldBetween(p0, p1)
  74.     local weld = Instance.new("Weld")
  75.     weld.Part0 = p0
  76.     weld.Part1 = p1
  77.     weld.C0 = p0.CFrame:inverse()
  78.     weld.C1 = p1.CFrame:inverse()
  79.     weld.Parent = p0
  80. end
  81.  
  82. function weldModel(model, pp)
  83.     for _,v in pairs(model:GetChildren()) do
  84.         if v:IsA("BasePart") then
  85.             local weld = Instance.new("Weld")
  86.             weld.Part0 = pp
  87.             weld.Part1 = v
  88.             weld.C0 = pp.CFrame:inverse()
  89.             weld.C1 = v.CFrame:inverse()
  90.             weld.Parent = pp
  91.         end
  92.     end
  93. end
  94.  
  95. function scan(obj)
  96.     obj:BreakJoints()
  97.     for _,v in pairs(obj:GetChildren()) do
  98.         if v:IsA("BasePart") then
  99.             v.Anchored = false
  100.             v.CanCollide = false
  101.         else
  102.             scan(v)
  103.         end
  104.     end
  105. end
  106.  
  107. function surfaceChange(part)
  108.     part.TopSurface = 10
  109.     part.BottomSurface = 10
  110.     part.FrontSurface = 10
  111.     part.BackSurface = 10
  112.     part.RightSurface = 10
  113.     part.LeftSurface = 10
  114. end
  115.  
  116. function createPistol()
  117.     local model = Instance.new("Model", char)
  118.     model.Name = "Pistol"
  119.    
  120.     local mag = Instance.new("Model", model)
  121.     mag.Name = "Mag"
  122.    
  123.     local m1 = Instance.new("Part", mag)
  124.     m1.Name = "Part"
  125.     m1.Size = Vector3.new(0.200000003, 0.200000003, 0.323524684)
  126.     m1.CFrame = CFrame.new(-11.2802582, 0.178448141, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  127.     m1.Anchored = false
  128.     m1.CanCollide = false
  129.     m1.BrickColor = BrickColor.new("Black")
  130.     surfaceChange(m1)
  131.     local m2 = Instance.new("Part", mag)
  132.     m2.Name = "Part"
  133.     m2.Size = Vector3.new(0.647049308, 0.200000003, 0.323524684)
  134.     m2.CFrame = CFrame.new(-11.5902891, 0.13587451, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  135.     m2.Anchored = false
  136.     m2.CanCollide = false
  137.     m2.BrickColor = BrickColor.new("Black")
  138.     surfaceChange(m2)
  139.     local m3 = Instance.new("Part", mag)
  140.     m3.Name = "Part"
  141.     m3.Size = Vector3.new(0.307348371, 0.200000003, 0.323524684)
  142.     m3.CFrame = CFrame.new(-11.4223385, 0.161293387, 16.346323, 0.988745034, -0.149589986, 0, 0.149582624, 0.9887532, 0, 0, 0, 1)
  143.     m3.Anchored = false
  144.     m3.CanCollide = false
  145.     m3.BrickColor = BrickColor.new("Black")
  146.     surfaceChange(m3)
  147.     local m4 = Instance.new("Part", mag)
  148.     m4.Name = "Part"
  149.     m4.Size = Vector3.new(0.200000003, 0.200000003, 0.323524684)
  150.     m4.CFrame = CFrame.new(-11.9297647, 0.157671332, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  151.     m4.Anchored = false
  152.     m4.CanCollide = false
  153.     m4.BrickColor = BrickColor.new("Black")
  154.     surfaceChange(m4)
  155.     local m5 = Instance.new("Part", mag)
  156.     m5.Name = "PP"
  157.     m5.Size = Vector3.new(0.541903794, 1.01101518, 0.200000003)
  158.     m5.CFrame = CFrame.new(-11.5822363, 0.680492878, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  159.     m5.Anchored = false
  160.     m5.CanCollide = false
  161.     m5.BrickColor = BrickColor.new("Black")
  162.     surfaceChange(m5)
  163.     local p2 = Instance.new("Part", model)
  164.     p2.Name = "Handle"
  165.     p2.Size = Vector3.new(0.541903794, 1.01101518, 0.200000003)
  166.     p2.CFrame = CFrame.new(-11.5822363, 0.680492878, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  167.     p2.Anchored = false
  168.     p2.CanCollide = false
  169.     p2.BrickColor = BrickColor.new("Medium stone grey")
  170.     surfaceChange(p2)
  171.     local p3 = Instance.new("Part", model)
  172.     p3.Name = "Part"
  173.     p3.Size = Vector3.new(0.541903794, 1.01910317, 0.200000003)
  174.     p3.CFrame = CFrame.new(-11.5817852, 0.684512913, 16.4555092, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  175.     p3.Anchored = false
  176.     p3.CanCollide = false
  177.     p3.BrickColor = BrickColor.new("Smoky grey")
  178.     surfaceChange(p3)
  179.     local p4 = Instance.new("Part", model)
  180.     p4.Name = "Part"
  181.     p4.Size = Vector3.new(0.541903794, 1.01910317, 0.200000003)
  182.     p4.CFrame = CFrame.new(-11.5817852, 0.684512913, 16.2371349, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  183.     p4.Anchored = false
  184.     p4.CanCollide = false
  185.     p4.BrickColor = BrickColor.new("Smoky grey")
  186.     surfaceChange(p4)
  187.     local p5 = Instance.new("Part", model)
  188.     p5.Name = "Part"
  189.     p5.Size = Vector3.new(0.200000003, 1.05954385, 0.274995983)
  190.     p5.CFrame = CFrame.new(-11.8694487, 0.696427584, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  191.     p5.Anchored = false
  192.     p5.CanCollide = false
  193.     p5.BrickColor = BrickColor.new("Smoky grey")
  194.     surfaceChange(p5)
  195.     local p6 = Instance.new("Part", model)
  196.     p6.Name = "Part"
  197.     p6.Size = Vector3.new(0.200000003, 1.05954385, 0.274995983)
  198.     p6.CFrame = CFrame.new(-11.2986317, 0.63239634, 16.346323, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  199.     p6.Anchored = false
  200.     p6.CanCollide = false
  201.     p6.BrickColor = BrickColor.new("Smoky grey")
  202.     surfaceChange(p6)
  203.     local p7 = Instance.new("Part", model)
  204.     p7.Name = "Part"
  205.     p7.Size = Vector3.new(0.3073484, 0.307348609, 0.200000003)
  206.     p7.CFrame = CFrame.new(-11.5363941, 0.980687678, 16.4999962, 0.931046963, 0.364899546, 0, -0.364899546, 0.931046903, 0, 0, 0, 1)
  207.     p7.Anchored = false
  208.     p7.CanCollide = false
  209.     p7.BrickColor = BrickColor.new("Black")
  210.     surfaceChange(p7)
  211.     local p8 = Instance.new("Part", model)
  212.     p8.Name = "Part"
  213.     p8.Size = Vector3.new(0.3073484, 0.630873501, 0.200000003)
  214.     p8.CFrame = CFrame.new(-11.6234102, 0.567052245, 16.4999962, 0.993767619, 0.111472785, 0, -0.111472793, 0.99376756, 0, 0, 0, 1)
  215.     p8.Anchored = false
  216.     p8.CanCollide = false
  217.     p8.BrickColor = BrickColor.new("Black")
  218.     surfaceChange(p8)
  219.     local p9 = Instance.new("Part", model)
  220.     p9.Name = "Part"
  221.     p9.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  222.     p9.CFrame = CFrame.new(-11.3422289, 0.824556589, 16.4999962, -0.9937675, 0, 0.111472867, 0.111472875, 0, 0.9937675, 0, 1, 0)
  223.     p9.Anchored = false
  224.     p9.CanCollide = false
  225.     p9.BrickColor = BrickColor.new("Black")
  226.     surfaceChange(p9)
  227.     local p10 = Instance.new("Part", model)
  228.     p10.Name = "Part"
  229.     p10.Size = Vector3.new(0.3073484, 0.630873501, 0.200000003)
  230.     p10.CFrame = CFrame.new(-11.6234102, 0.567052245, 16.1926479, 0.993767619, 0.111472785, 0, -0.111472793, 0.99376756, 0, 0, 0, 1)
  231.     p10.Anchored = false
  232.     p10.CanCollide = false
  233.     p10.BrickColor = BrickColor.new("Black")
  234.     surfaceChange(p10)
  235.     local p11 = Instance.new("Part", model)
  236.     p11.Name = "Part"
  237.     p11.Size = Vector3.new(0.3073484, 0.307348609, 0.200000003)
  238.     p11.CFrame = CFrame.new(-11.5363941, 0.980687678, 16.1926479, 0.931046963, 0.364899546, 0, -0.364899546, 0.931046903, 0, 0, 0, 1)
  239.     p11.Anchored = false
  240.     p11.CanCollide = false
  241.     p11.BrickColor = BrickColor.new("Black")
  242.     surfaceChange(p11)
  243.     local p12 = Instance.new("Part", model)
  244.     p12.Name = "Part"
  245.     p12.Size = Vector3.new(0.200000003, 0.200000003, 0.218379155)
  246.     p12.CFrame = CFrame.new(-11.9146175, 0.656711042, 16.3503666, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  247.     p12.Anchored = false
  248.     p12.CanCollide = false
  249.     p12.BrickColor = BrickColor.new("Black")
  250.     surfaceChange(p12)
  251.     local p13 = Instance.new("Part", model)
  252.     p13.Name = "Part"
  253.     p13.Size = Vector3.new(0.200000003, 0.200000003, 0.218379155)
  254.     p13.CFrame = CFrame.new(-11.8940992, 0.743149281, 16.3503666, 0.988745034, -0.149589986, 0, 0.149582624, 0.9887532, 0, 0, 0, 1)
  255.     p13.Anchored = false
  256.     p13.CanCollide = false
  257.     p13.BrickColor = BrickColor.new("Black")
  258.     surfaceChange(p13)
  259.     local p14 = Instance.new("Part", model)
  260.     p14.Name = "Part"
  261.     p14.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  262.     p14.CFrame = CFrame.new(-11.8513021, 1.22758293, 16.3503666, 0.828027964, 0.560686827, 0, -0.560686827, 0.828027904, 0, 0, 0, 1)
  263.     p14.Anchored = false
  264.     p14.CanCollide = false
  265.     p14.BrickColor = BrickColor.new("Black")
  266.     surfaceChange(p14)
  267.     local p15 = Instance.new("Part", model)
  268.     p15.Name = "Part"
  269.     p15.Size = Vector3.new(0.200000003, 0.200000003, 0.218379155)
  270.     p15.CFrame = CFrame.new(-11.8547096, 0.967769444, 16.3503666, 0.931046963, 0.364899546, 0, -0.364899546, 0.931046903, 0, 0, 0, 1)
  271.     p15.Anchored = false
  272.     p15.CanCollide = false
  273.     p15.BrickColor = BrickColor.new("Black")
  274.     surfaceChange(p15)
  275.     local p16 = Instance.new("Part", model)
  276.     p16.Name = "Part"
  277.     p16.Size = Vector3.new(0.200000003, 0.200000003, 0.218379155)
  278.     p16.CFrame = CFrame.new(-11.848114, 0.983309388, 16.3503666, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  279.     p16.Anchored = false
  280.     p16.CanCollide = false
  281.     p16.BrickColor = BrickColor.new("Black")
  282.     surfaceChange(p16)
  283.     local p17 = Instance.new("Part", model)
  284.     p17.Name = "Part"
  285.     p17.Size = Vector3.new(0.200000003, 0.200000003, 0.218379155)
  286.     p17.CFrame = CFrame.new(-11.8507061, 1.06176257, 16.3503666, 0.988745034, -0.149589986, 0, 0.149582624, 0.9887532, 0, 0, 0, 1)
  287.     p17.Anchored = false
  288.     p17.CanCollide = false
  289.     p17.BrickColor = BrickColor.new("Black")
  290.     surfaceChange(p17)
  291.     local p18 = Instance.new("Part", model)
  292.     p18.Name = "Part"
  293.     p18.Size = Vector3.new(0.376906186, 0.200000003, 0.200000003)
  294.     p18.CFrame = CFrame.new(-11.9414015, 1.36785984, 16.3503666, 0.828027964, 0.560686827, 0, -0.560686827, 0.828027904, 0, 0, 0, 1)
  295.     p18.Anchored = false
  296.     p18.CanCollide = false
  297.     p18.BrickColor = BrickColor.new("Black")
  298.     surfaceChange(p18)
  299.     local p19 = Instance.new("Part", model)
  300.     p19.Name = "Part"
  301.     p19.Size = Vector3.new(0.200000003, 0.200000003, 0.218379155)
  302.     p19.CFrame = CFrame.new(-11.8434582, 1.11297774, 16.3503666, 0.951277733, -0.308335513, 0, 0.308335543, 0.951277614, 0, 0, 0, 1)
  303.     p19.Anchored = false
  304.     p19.CanCollide = false
  305.     p19.BrickColor = BrickColor.new("Black")
  306.     surfaceChange(p19)
  307.     local p20 = Instance.new("Part", model)
  308.     p20.Name = "Part"
  309.     p20.Size = Vector3.new(0.200000003, 0.237790748, 0.200000003)
  310.     p20.CFrame = CFrame.new(-11.9254217, 1.21484756, 16.3503666, 0.756803453, -0.653634727, 0, 0.653631568, 0.756821513, 0, 0, 0, 1)
  311.     p20.Anchored = false
  312.     p20.CanCollide = false
  313.     p20.BrickColor = BrickColor.new("Black")
  314.     surfaceChange(p20)
  315.     local p21 = Instance.new("Part", model)
  316.     p21.Name = "Part"
  317.     p21.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  318.     p21.CFrame = CFrame.new(-12.0393581, 1.33804011, 16.3503666, 0.717730284, -0.696321309, 0, 0.696321249, 0.717730284, 0, 0, 0, 1)
  319.     p21.Anchored = false
  320.     p21.CanCollide = false
  321.     p21.BrickColor = BrickColor.new("Black")
  322.     surfaceChange(p21)
  323.     local p22 = Instance.new("Part", model)
  324.     p22.Name = "Part"
  325.     p22.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  326.     p22.CFrame = CFrame.new(-12.0967665, 1.41755128, 16.3503666, 0.983917534, 0.178622946, 0, -0.178622946, 0.983917534, 0, 0, 0, 1)
  327.     p22.Anchored = false
  328.     p22.CanCollide = false
  329.     p22.BrickColor = BrickColor.new("Black")
  330.     surfaceChange(p22)
  331.     local p23 = Instance.new("Part", model)
  332.     p23.Name = "Part"
  333.     p23.Size = Vector3.new(0.271760672, 0.200000003, 0.200000003)
  334.     p23.CFrame = CFrame.new(-11.9907618, 1.34500718, 16.3503666, 0.828027964, 0.560686827, 0, -0.560686827, 0.828027904, 0, 0, 0, 1)
  335.     p23.Anchored = false
  336.     p23.CanCollide = false
  337.     p23.BrickColor = BrickColor.new("Black")
  338.     surfaceChange(p23)
  339.     local p24 = Instance.new("Part", model)
  340.     p24.Name = "Part"
  341.     p24.Size = Vector3.new(0.604991019, 0.200000003, 0.276613623)
  342.     p24.CFrame = CFrame.new(-11.5234394, 1.22756207, 16.3455143, 0.9937675, 0.111472867, 0, -0.111472875, 0.9937675, 0, 0, 0, 1)
  343.     p24.Anchored = false
  344.     p24.CanCollide = false
  345.     p24.BrickColor = BrickColor.new("Black")
  346.     surfaceChange(p24)
  347.     local p25 = Instance.new("Part", model)
  348.     p25.Name = "Part"
  349.     p25.Size = Vector3.new(1.74703312, 0.2685256, 0.323524684)
  350.     p25.CFrame = CFrame.new(-10.9460964, 1.39836848, 16.3285313, 1, 1.70171716e-005, 0, -1.70171716e-005, 1, 0, 0, 0, 1)
  351.     p25.Anchored = false
  352.     p25.CanCollide = false
  353.     p25.BrickColor = BrickColor.new("Black")
  354.     surfaceChange(p25)
  355.     local p26 = Instance.new("Part", model)
  356.     p26.Name = "Part"
  357.     p26.Size = Vector3.new(0.511169076, 0.200000003, 0.237790659)
  358.     p26.CFrame = CFrame.new(-11.4444475, 1.2284658, 16.3285313, 1, 1.70171716e-005, 0, -1.70171716e-005, 1, 0, 0, 0, 1)
  359.     p26.Anchored = false
  360.     p26.CanCollide = false
  361.     p26.BrickColor = BrickColor.new("Black")
  362.     surfaceChange(p26)
  363.     local p27 = Instance.new("Part", model)
  364.     p27.Name = "Part"
  365.     p27.Size = Vector3.new(0.888075173, 0.200000003, 0.31058377)
  366.     p27.CFrame = CFrame.new(-10.7495079, 1.20498598, 16.3285313, 1, 1.70171716e-005, 0, -1.70171716e-005, 1, 0, 0, 0, 1)
  367.     p27.Anchored = false
  368.     p27.CanCollide = false
  369.     p27.BrickColor = BrickColor.new("Black")
  370.     surfaceChange(p27)
  371.     local p28 = Instance.new("Part", model)
  372.     p28.Name = "Part"
  373.     p28.Size = Vector3.new(0.339700907, 0.200000003, 0.200000003)
  374.     p28.CFrame = CFrame.new(-10.1629801, 1.31906176, 16.3285313, 1, 1.70171716e-005, 0, -1.70171716e-005, 1, 0, 0, 0, 1)
  375.     p28.Anchored = false
  376.     p28.CanCollide = false
  377.     p28.BrickColor = BrickColor.new("Black")
  378.     surfaceChange(p28)
  379.     local p29 = Instance.new("Part", model)
  380.     p29.Name = "Main"
  381.     p29.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  382.     p29.CFrame = CFrame.new(-9.94953632, 1.48003721, 16.3016109, 0, -1, 1.70171716e-005, 0, 1.70171716e-005, 1, -1, 0, 0)
  383.     p29.Anchored = false
  384.     p29.CanCollide = false
  385.     p29.BrickColor = BrickColor.new("Institutional white")
  386.     surfaceChange(p29)
  387.     local p30 = Instance.new("Part", model)
  388.     p30.Name = "ShootTop"
  389.     p30.Size = Vector3.new(1.80203247, 0.211908743, 0.3510243)
  390.     p30.CFrame = CFrame.new(-10.9396744, 1.61764574, 16.3285313, 1, 1.70171716e-005, 0, -1.70171716e-005, 1, 0, 0, 0, 1)
  391.     p30.Anchored = false
  392.     p30.CanCollide = false
  393.     p30.BrickColor = BrickColor.new("Smoky grey")
  394.     surfaceChange(p30)
  395.     local p31 = Instance.new("Part", model)
  396.     p31.Name = "Part"
  397.     p31.Size = Vector3.new(0.200000003, 0.200000003, 0.244261131)
  398.     p31.CFrame = CFrame.new(-10.0182848, 1.47841287, 16.2991848, 1, 1.70171716e-005, 0, -1.70171716e-005, 1, 0, 0, 0, 1)
  399.     p31.Anchored = false
  400.     p31.CanCollide = false
  401.     p31.BrickColor = BrickColor.new("Black")
  402.     surfaceChange(p31)
  403.    
  404.     scan(model)
  405.     weldModel(model, model.Handle)
  406.     weldModel(mag, model.Handle)
  407.     return model
  408. end
  409.  
  410.  
  411. function activated()
  412.     local gun = createPistol()
  413.     gun.PrimaryPart = gun.Handle
  414.     gun:SetPrimaryPartCFrame(rightArm.CFrame*cf(0, -1, 0)*angles(0, rad(90), 0)*fangles(0, 0, rad(-90)))
  415.     weldBetween(gun.PrimaryPart, rightArm)
  416.    
  417.     local gun2 = createPistol()
  418.     gun2.PrimaryPart = gun2.Handle
  419.     gun2:SetPrimaryPartCFrame(leftArm.CFrame*cf(0, -1, 0)*angles(0, rad(90), 0)*fangles(0,0,rad(-90)))
  420.     weldBetween(gun2.PrimaryPart, leftArm)
  421.     return gun, gun2
  422. end
  423.  
  424. local g1, g2 = nil, nil
  425.  
  426. local ac = false
  427.  
  428. local cu = true
  429.  
  430. mouse.KeyDown:connect(function(key)
  431.     if key:lower() == "f" then
  432.         if not ac then
  433.             g1, g2 = activated()
  434.             rightArmJoint.Part0 = rightArm
  435.             leftArmJoint.Part0 = leftArm
  436.             rightArmTargetCF = rightArmHoldCF
  437.             leftArmTargetCF = leftArmHoldCF
  438.             ac = true
  439.         else
  440.             currentSide = 1
  441.             rightArmTargetCF = rightArmOriginCF
  442.             leftArmTargetCF = leftArmOriginCF
  443.             wait(0.2)
  444.             g1:Destroy()
  445.             g2:Destroy()
  446.             g1, g2 = nil, nil
  447.             rightArmJoint.Part0 = nil
  448.             leftArmJoint.Part0 = nil
  449.             ac = false
  450.         end
  451.     elseif key:lower() == "q" then
  452.         if ac and cu then
  453.             cu = false
  454.             rightArmTargetCF = rightArmHoldCF*angles(rad(0),0,rad(-30))*cf(-0.3,0.5,0)
  455.             leftArmTargetCF = leftArmHoldCF*angles(0,0,rad(30))*cf(0.3,0.5,0)
  456.             for i = 1,20, 1 do
  457.                 wait()
  458.                 if currentSide == 1 then
  459.                     rightArmTargetCF = rightArmHoldCF*angles(rad(0),0,rad(-30))*cf(-0.3,0.5,-0.5)
  460.                     local hit = mouse.hit.p
  461.                     local ray = Ray.new(g1.Main.Position, (mouse.hit.p - g1.Main.Position).unit*500)
  462.                     local hit,pos = workspace:FindPartOnRay(ray, char)
  463.                     local dist = (mouse.hit.p - g1.Main.Position).magnitude
  464.                     local l1 = Instance.new("Part", workspace)
  465.                     game.Debris:AddItem(l1, 0.3)
  466.                     surfaceChange(l1)
  467.                     l1.Size = Vector3.new(0.2,0.2,dist)
  468.                     l1.CFrame = CFrame.new(g1.Main.Position, mouse.hit.p)
  469.                     l1.CFrame = l1.CFrame*CFrame.new(0,0,-dist/2)
  470.                     l1.Transparency = 0.5
  471.                     l1.BrickColor = BrickColor.new("Really red")
  472.                     l1.Anchored = true
  473.                     l1.CanCollide = false
  474.                     if hit ~= nil then
  475.                         if hit.Parent:FindFirstChild("Humanoid") then
  476.                             hit.Parent.Humanoid:TakeDamage(30)
  477.                         end
  478.                     end
  479.                     currentSide = 2
  480.                 else
  481.                     leftArmTargetCF = leftArmHoldCF*angles(rad(0),0,rad(30))*cf(0.3,0.5,-0.5)
  482.                     local hit = mouse.hit.p
  483.                     local ray = Ray.new(g2.Main.Position, (mouse.hit.p - g2.Main.Position).unit*500)
  484.                     local hit,pos = workspace:FindPartOnRay(ray, char)
  485.                     local dist = (mouse.hit.p - g2.Main.Position).magnitude
  486.                     local l1 = Instance.new("Part", workspace)
  487.                     game.Debris:AddItem(l1, 0.3)
  488.                     surfaceChange(l1)
  489.                     l1.Size = Vector3.new(0.2,0.2,dist)
  490.                     l1.CFrame = CFrame.new(g2.Main.Position, mouse.hit.p)
  491.                     l1.CFrame = l1.CFrame*CFrame.new(0,0,-dist/2)
  492.                     l1.Transparency = 0.5
  493.                     l1.BrickColor = BrickColor.new("Really red")
  494.                     l1.Anchored = true
  495.                     l1.CanCollide = false
  496.                     if hit ~= nil then
  497.                         if hit.Parent:FindFirstChild("Humanoid") then
  498.                             hit.Parent.Humanoid:TakeDamage(30)
  499.                         end
  500.                     end
  501.                     currentSide = 1
  502.                 end
  503.                 wait(0.1)
  504.                 rightArmTargetCF = rightArmHoldCF*angles(rad(0),0,rad(-30))*cf(-0.3,0.5,0)
  505.                 leftArmTargetCF = leftArmHoldCF*angles(0,0,rad(30))*cf(0.3,0.5,0)
  506.             end
  507.             wait(0.2)
  508.             rightArmTargetCF = rightArmHoldCF
  509.             leftArmTargetCF = leftArmHoldCF
  510.             cu = true
  511.         end
  512.     end
  513. end)
  514.  
  515. mouse.Button1Down:connect(function()
  516.     if ac and cu then
  517.         if g1 ~= nil and g2 ~= nil then
  518.             if currentSide == 1 then
  519.                 local ray1 = Ray.new(g1.Main.Position, (mouse.hit.p - g1.Main.Position).unit*500)
  520.                 local hit,pos = workspace:FindPartOnRay(ray1, char)
  521.                 local dist = (mouse.hit.p - g1.Main.Position).magnitude
  522.                 rightArmTargetCF = rightArmHoldCF*angles(rad(-30),0,0)
  523.                 local l1 = Instance.new("Part", workspace)
  524.                 game.Debris:AddItem(l1, 0.3)
  525.                 surfaceChange(l1)
  526.                 l1.Size = Vector3.new(0.2,0.2,dist)
  527.                 l1.CFrame = CFrame.new(g1.Main.Position, mouse.hit.p)
  528.                 l1.CFrame = l1.CFrame*CFrame.new(0,0,-dist/2)
  529.                 l1.Transparency = 0.5
  530.                 l1.BrickColor = BrickColor.new("Really red")
  531.                 l1.Anchored = true
  532.                 l1.CanCollide = false
  533.                 if hit ~= nil then
  534.                     if hit.Parent:FindFirstChild("Humanoid") then
  535.                         hit.Parent.Humanoid:TakeDamage(20)
  536.                     end
  537.                 end
  538.                 currentSide = 2
  539.                 wait(0.2)
  540.                 rightArmTargetCF = rightArmHoldCF
  541.             else
  542.                 local ray1 = Ray.new(g2.Main.Position, (mouse.hit.p - g2.Main.Position).unit*500)
  543.                 local hit,pos = workspace:FindPartOnRay(ray1, char)
  544.                 local dist = (mouse.hit.p - g2.Main.Position).magnitude
  545.                 leftArmTargetCF = leftArmHoldCF*angles(rad(-30),0,0)
  546.                 local l1 = Instance.new("Part", workspace)
  547.                 game.Debris:AddItem(l1, 0.3)
  548.                 surfaceChange(l1)
  549.                 l1.Size = Vector3.new(0.2,0.2,dist)
  550.                 l1.CFrame = CFrame.new(g2.Main.Position, mouse.hit.p)
  551.                 l1.CFrame = l1.CFrame*CFrame.new(0,0,-dist/2)
  552.                 l1.Transparency = 0.5
  553.                 l1.BrickColor = BrickColor.new("Really red")
  554.                 l1.Anchored = true
  555.                 l1.CanCollide = false
  556.                 if hit ~= nil then
  557.                     if hit.Parent:FindFirstChild("Humanoid") then
  558.                         hit.Parent.Humanoid:TakeDamage(20)
  559.                     end
  560.                 end
  561.                 currentSide = 1
  562.                 wait(0.2)
  563.                 leftArmTargetCF = leftArmHoldCF
  564.             end
  565.         end
  566.     end
  567. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement