Advertisement
SmokeDelsin

supa gun

May 27th, 2015
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. if script == nil then return end
  3.  
  4.  
  5. Player = game.Players.SmokeDelsin
  6. Name = "MP412"
  7. MC = BrickColor.new("Really blue")
  8. GC = BrickColor.new("Really red")
  9. Spread = 90000
  10. MR = 0.15
  11. Chamber = 1
  12. Loaded = 0
  13. Scoped = false
  14. Scoped = false
  15. selected = false
  16. Hammer = true
  17. canDual = false
  18. dual = true
  19. Button1Down = false
  20. damage = 10
  21. canFire = false
  22. canFire2 = true
  23. readyTime = 0.000023
  24. automatic = false
  25. burst = false
  26. burstCount = 0
  27. burstCountMax = 3
  28. canSilence = false
  29. silenced = false
  30. canZoom = true
  31. zoom = false
  32. switchToSingle = true
  33. switchToBurst = true
  34. switchToAutomatic = true
  35.  
  36.  
  37. ammoGui = Instance.new("ScreenGui")
  38. ammoGui.Name = Name
  39. local frame = Instance.new("Frame")
  40. frame.Name = "Frame"
  41. frame.Size = UDim2.new(0, 165, 0, 60)
  42. frame.Position = UDim2.new(0, 0, 1, -400)
  43. frame.BackgroundColor3 = Color3.new(1, 1, 1)
  44. frame.BorderColor3 = Color3.new(0, 0, 0)
  45. frame.Parent = ammoGui
  46. local label = Instance.new("TextLabel")
  47. label.Name = "Weapon"
  48. label.Text = "Weapon: " ..Name
  49. label.Size = UDim2.new(1, 0, 0, 20)
  50. label.Position = UDim2.new(0, 0, 0, 0)
  51. label.BackgroundColor3 = Color3.new(1, 0, 0)
  52. label.BorderColor3 = Color3.new(0, 0, 0)
  53. label.Parent = frame
  54. local label = Instance.new("TextLabel")
  55. label.Name = "MagazinePrefix"
  56. label.Text = " Magazine:"
  57. label.TextXAlignment = "Left"
  58. label.Size = UDim2.new(1, 0, 0, 20)
  59. label.Position = UDim2.new(0, 0, 0, 20)
  60. label.BackgroundColor3 = Color3.new(1, 1, 1)
  61. label.BorderColor3 = Color3.new(0, 0, 0)
  62. label.Parent = frame
  63. local label = Instance.new("TextLabel")
  64. label.Name = "Magazine"
  65. label.Text = "0/0"
  66. label.TextXAlignment = "Right"
  67. label.Size = UDim2.new(1, 0, 0, 20)
  68. label.Position = UDim2.new(0, -10, 0, 20)
  69. label.BackgroundTransparency = 1
  70. label.BorderSizePixel = 0
  71. label.Parent = frame
  72. local label = Instance.new("TextLabel")
  73. label.Name = "AmmoPrefix"
  74. label.Text = " .357 Magnum:"
  75. label.TextXAlignment = "Left"
  76. label.Size = UDim2.new(1, 0, 0, 20)
  77. label.Position = UDim2.new(0, 0, 0, 40)
  78. label.BackgroundColor3 = Color3.new(1, 1, 1)
  79. label.BorderColor3 = Color3.new(0, 0, 0)
  80. label.Parent = frame
  81. local label = Instance.new("TextLabel")
  82. label.Name = "Ammo"
  83. label.Text = "0/0"
  84. label.TextXAlignment = "Right"
  85. label.Size = UDim2.new(1, 0, 0, 20)
  86. label.Position = UDim2.new(0, -10, 0, 40)
  87. label.BackgroundTransparency = 1
  88. label.BorderSizePixel = 0
  89. label.Parent = frame
  90.  
  91.  
  92. function updateGui()
  93. if selected == false then return end
  94. if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end
  95. if Player.PlayerGui:FindFirstChild(Name) == nil then
  96. ammoGui:Clone().Parent = Player.PlayerGui
  97. end
  98. Player.PlayerGui[Name].Frame.Magazine.Text = tostring(magazine.Value).. "/" ..tostring(magazineMax.Value)
  99. Player.PlayerGui[Name].Frame.Ammo.Text = tostring(ammo.Value).. "/" ..tostring(ammoMax.Value)
  100. end
  101.  
  102.  
  103. function makeParts(format)
  104. local model = Instance.new("Model")
  105. model.Name = Name
  106. local pm = Instance.new("Part")
  107. pm.Name = "Handle"
  108. pm.formFactor = "Symmetric"
  109. pm.Size = Vector3.new(1, 1, 1)
  110. pm.BrickColor = MC
  111. pm.Reflectance = MR
  112. pm.Transparency = 1
  113. pm.CanCollide = false
  114. pm.Locked = true
  115. pm.TopSurface = 0
  116. pm.BottomSurface = 0
  117. pm.Parent = model
  118. local m = Instance.new("SpecialMesh")
  119. m.MeshType = "Brick"
  120. m.Scale = Vector3.new(0.3, 0.8, 0.4)
  121. m.Parent = pm
  122. if format ~= nil then
  123. local w = Instance.new("Weld")
  124. w.Part0 = pm
  125. if format == "RightHand" then
  126. w.Part1 = Player.Character:FindFirstChild("Right Arm")
  127. w.C0 = CFrame.new(0, 0.9, 0.68)
  128. w.C1 = CFrame.new()
  129. elseif format == "LeftHand" then
  130. w.Part1 = Player.Character:FindFirstChild("Left Arm")
  131. w.C0 = CFrame.new(0, 0.9, 0.68)
  132. w.C1 = CFrame.new()
  133. model.Name = Name.. " (Left)"
  134. elseif format == "RightHolster" then
  135. w.Part1 = Player.Character:FindFirstChild("Right Leg")
  136. w.C0 = CFrame.new(-0.65, -0.25, 0) * CFrame.fromEulerAnglesXYZ(math.rad(25), 0, 0)
  137. w.C1 = CFrame.new()
  138. w.Parent = pm
  139. model.Name = Name.. " (Holstered)"
  140. elseif format == "LeftHolster" then
  141. w.Part1 = Player.Character:FindFirstChild("Left Leg")
  142. w.C0 = CFrame.new(0.65, -0.25, 0) * CFrame.fromEulerAnglesXYZ(math.rad(25), 0, 0)
  143. w.C1 = CFrame.new()
  144. model.Name = Name.. " (Holstered, Left)"
  145. end
  146. w.Parent = pm
  147. model.Parent = Player.Character
  148. end
  149. local s = Instance.new("Sound")
  150. s.Name = "Fire"
  151. s.SoundId = "http://www.roblox.com/Asset/?id=10209875"
  152. s.Volume = .5
  153. s.Pitch = 50
  154. s.Looped = false
  155. s.Parent = pm
  156. local s = Instance.new("Sound")
  157. s.Name = "Reload"
  158. s.SoundId = "http://www.roblox.com/Asset/?id=10209894"
  159. s.Volume = 0.8
  160. s.Pitch = 4
  161. s.Looped = false
  162. s.Parent = pm
  163. local s = Instance.new("Sound")
  164. s.Name = "Empty"
  165. s.SoundId = "http://www.roblox.com/asset/?id=2697295"
  166. s.Volume = 1
  167. s.Pitch = 5
  168. s.Looped = false
  169. s.Parent = pm
  170. local s = Instance.new("Sound")
  171. s.Name = "Lock"
  172. s.SoundId = "http://www.roblox.com/Asset/?id=10209845"
  173. s.Volume = 1
  174. s.Pitch = 3
  175. s.Looped = false
  176. s.Parent = pm
  177. local s = Instance.new("Sound")
  178. s.Name = "Release"
  179. s.SoundId = "http://www.roblox.com/Asset/?id=10209813"
  180. s.Volume = 1
  181. s.Pitch = 4
  182. s.Looped = false
  183. s.Parent = pm
  184. local s = Instance.new("Sound")
  185. s.Name = "Switch"
  186. s.SoundId = "http://www.roblox.com/asset/?id=2697295"
  187. s.Volume = 1
  188. s.Pitch = 10
  189. s.Looped = false
  190. s.Parent = pm
  191. local p = Instance.new("Part")
  192. p.Name = "ShellOut"
  193. p.formFactor = "Symmetric"
  194. p.Size = Vector3.new(1, 1, 1)
  195. p.Transparency = 1
  196. p.Locked = true
  197. p.CanCollide = false
  198. p.TopSurface = 0
  199. p.BottomSurface = 0
  200. p.Parent = model
  201. local w = Instance.new("Weld")
  202. w.Part0 = p
  203. w.Part1 = pm
  204. w.C0 = CFrame.new(0.5, 0, 0.5) * CFrame.fromEulerAnglesXYZ(0, math.rad(45), 0)
  205. w.C1 = CFrame.new()
  206. w.Parent = p
  207. local p = Instance.new("Part")
  208. p.Name = "Grip"
  209. p.formFactor = "Symmetric"
  210. p.Size = Vector3.new(1, 1, 1)
  211. p.BrickColor = GC
  212. p.CanCollide = false
  213. p.Locked = true
  214. p.TopSurface = 0
  215. p.BottomSurface = 0
  216. p.Parent = model
  217. local m = Instance.new("BlockMesh")
  218. m.Scale = Vector3.new(0.261, 0.42, 0.7)
  219. m.Parent = p
  220. local w = Instance.new("Weld")
  221. w.Part0 = p
  222. w.Part1 = pm
  223. w.C0 = CFrame.new(0, -0.022, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0)
  224. w.C1 = CFrame.new()
  225. w.Parent = p
  226. local p = Instance.new("Part")
  227. p.Name = "TriggerGuard"
  228. p.formFactor = "Symmetric"
  229. p.Size = Vector3.new(1, 1, 1)
  230. p.BrickColor = GC
  231. p.CanCollide = false
  232. p.Locked = true
  233. p.TopSurface = 0
  234. p.BottomSurface = 0
  235. p.Parent = model
  236. local m = Instance.new("SpecialMesh")
  237. m.MeshType = "FileMesh"
  238. m.MeshId = "http://www.roblox.com/asset/?id=3270017"
  239. m.Scale = Vector3.new(0.3, 0.3, 0.8)
  240. m.Parent = p
  241. local w = Instance.new("Weld")
  242. w.Part0 = p
  243. w.Part1 = pm
  244. w.C0 = CFrame.new(-0.21, 0.16, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  245. w.C1 = CFrame.new()
  246. w.Parent = p
  247. local p = Instance.new("Part")
  248. p.Name = "Trigger"
  249. p.formFactor = "Symmetric"
  250. p.Size = Vector3.new(1, 1, 1)
  251. p.BrickColor = GC
  252. p.CanCollide = false
  253. p.Locked = true
  254. p.TopSurface = 0
  255. p.BottomSurface = 0
  256. p.Parent = model
  257. local m = Instance.new("BlockMesh")
  258. m.Scale = Vector3.new(0.1, 0.4, 0.16)
  259. m.Parent = p
  260. local w = Instance.new("Weld")
  261. w.Part0 = p
  262. w.Part1 = pm
  263. w.C0 = CFrame.new(0, 0.04, -0.22)
  264. w.C1 = CFrame.new()
  265. w.Parent = p
  266. local p = Instance.new("Part")
  267. p.Name = "Base"
  268. p.CanCollide = false
  269. p.formFactor = "Symmetric"
  270. p.Size = Vector3.new(1, 1, 1)
  271. p.BrickColor = GC
  272. p.Locked = true
  273. p.TopSurface = 0
  274. p.BottomSurface = 0
  275. p.Parent = model
  276. local m = Instance.new("BlockMesh")
  277. m.Scale = Vector3.new(0.26, 0.72, 0.1)
  278. m.Parent = p
  279. local w = Instance.new("Weld")
  280. w.Part0 = p
  281. w.Part1 = pm
  282. w.C0 = CFrame.new(0, 0.09, -0.1)
  283. w.C1 = CFrame.new()
  284. w.Parent = p
  285. local p = Instance.new("Part")
  286. p.Name = "Body"
  287. p.formFactor = "Symmetric"
  288. p.Size = Vector3.new(1, 1, 1)
  289. p.BrickColor = GC
  290. p.CanCollide = false
  291. p.Locked = true
  292. p.TopSurface = 0
  293. p.BottomSurface = 0
  294. p.Parent = model
  295. local m = Instance.new("BlockMesh")
  296. m.Scale = Vector3.new(0.26, 0.1, 0.28)
  297. m.Parent = p
  298. local w = Instance.new("Weld")
  299. w.Part0 = p
  300. w.Part1 = pm
  301. w.C0 = CFrame.new(0, 0, 0.03)
  302. w.C1 = CFrame.new()
  303. w.Parent = p
  304. local p = Instance.new("Part")
  305. p.Name = "Body"
  306. p.formFactor = "Symmetric"
  307. p.Size = Vector3.new(1, 1, 1)
  308. p.BrickColor = GC
  309. p.CanCollide = false
  310. p.Locked = true
  311. p.TopSurface = 0
  312. p.BottomSurface = 0
  313. p.Parent = model
  314. local m = Instance.new("SpecialMesh")
  315. m.MeshType = "Wedge"
  316. m.Scale = Vector3.new(0.086, 0.2, 0.15)
  317. m.Parent = p
  318. local w = Instance.new("Weld")
  319. w.Part0 = p
  320. w.Part1 = pm
  321. w.C0 = CFrame.new(0.086, -0.15, 0.08)
  322. w.C1 = CFrame.new()
  323. w.Parent = p
  324. local p = Instance.new("Part")
  325. p.Name = "Body"
  326. p.formFactor = "Symmetric"
  327. p.Size = Vector3.new(1, 1, 1)
  328. p.BrickColor = GC
  329. p.CanCollide = false
  330. p.Locked = true
  331. p.TopSurface = 0
  332. p.BottomSurface = 0
  333. p.Parent = model
  334. local m = Instance.new("SpecialMesh")
  335. m.MeshType = "Wedge"
  336. m.Scale = Vector3.new(0.086, 0.2, 0.15)
  337. m.Parent = p
  338. local w = Instance.new("Weld")
  339. w.Part0 = p
  340. w.Part1 = pm
  341. w.C0 = CFrame.new(-0.086, -0.15, 0.08)
  342. w.C1 = CFrame.new()
  343. w.Parent = p
  344. local p = Instance.new("Part")
  345. p.Name = "Body"
  346. p.formFactor = "Symmetric"
  347. p.Size = Vector3.new(1, 1, 1)
  348. p.BrickColor = GC
  349. p.CanCollide = false
  350. p.Locked = true
  351. p.TopSurface = 0
  352. p.BottomSurface = 0
  353. p.Parent = model
  354. local m = Instance.new("SpecialMesh")
  355. m.MeshType = "Wedge"
  356. m.Scale = Vector3.new(0.086, 0.2, 0.075)
  357. m.Parent = p
  358. local w = Instance.new("Weld")
  359. w.Part0 = p
  360. w.Part1 = pm
  361. w.C0 = CFrame.new(0, -0.15, 0.02)
  362. w.C1 = CFrame.new()
  363. w.Parent = p
  364. local p = Instance.new("Part")
  365. p.Name = "Hammer"
  366. p.formFactor = "Symmetric"
  367. p.Size = Vector3.new(1, 1, 1)
  368. p.BrickColor = MC
  369. p.Reflectance = MR
  370. p.CanCollide = false
  371. p.Locked = true
  372. p.TopSurface = 0
  373. p.BottomSurface = 0
  374. p.Parent = model
  375. local m = Instance.new("BlockMesh")
  376. m.Scale = Vector3.new(0.086, 0.1, 0.3)
  377. m.Parent = p
  378. local w = Instance.new("Weld")
  379. w.Part0 = p
  380. w.Part1 = pm
  381. if Hammer == false then
  382. w.C0 = CFrame.new(0, -0.1, 0.08)
  383. else
  384. w.C0 = CFrame.new(0, -0.1, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-35), 0, 0)
  385. end
  386. w.C1 = CFrame.new()
  387. w.Parent = p
  388. local p = Instance.new("Part")
  389. p.Name = "Body"
  390. p.formFactor = "Symmetric"
  391. p.Size = Vector3.new(1, 1, 1)
  392. p.BrickColor = GC
  393. p.CanCollide = false
  394. p.Locked = true
  395. p.TopSurface = 0
  396. p.BottomSurface = 0
  397. p.Parent = model
  398. local m = Instance.new("BlockMesh")
  399. m.Scale = Vector3.new(0.26, 0.22, 0.1)
  400. m.Parent = p
  401. local w = Instance.new("Weld")
  402. w.Part0 = p
  403. w.Part1 = pm
  404. w.C0 = CFrame.new(0, -0.16, -0.02)
  405. w.C1 = CFrame.new()
  406. w.Parent = p
  407. local pv1 = Instance.new("Part")
  408. pv1.Name = "Pivot1"
  409. pv1.formFactor = "Symmetric"
  410. pv1.Size = Vector3.new(1, 1, 1)
  411. pv1.BrickColor = MC
  412. pv1.Reflectance = MR
  413. pv1.CanCollide = false
  414. pv1.Locked = true
  415. pv1.TopSurface = 0
  416. pv1.BottomSurface = 0
  417. pv1.Parent = model
  418. local m = Instance.new("CylinderMesh")
  419. m.Scale = Vector3.new(0.15, 0.261, 0.15)
  420. m.Parent = pv1
  421. local w = Instance.new("Weld")
  422. w.Part0 = pv1
  423. w.Part1 = pm
  424. w.C0 = CFrame.new(-0.45, 0, -0.04) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(90))
  425. w.C1 = CFrame.new()
  426. w.Parent = pv1
  427. local pv = Instance.new("Part")
  428. pv.Name = "Pivot"
  429. pv.formFactor = "Symmetric"
  430. pv.Size = Vector3.new(1, 1, 1)
  431. pv.BrickColor = BrickColor.new("Lime green")
  432. pv.Reflectance = MR
  433. pv.CanCollide = false
  434. pv.Locked = true
  435. pv.TopSurface = 0
  436. pv.BottomSurface = 0
  437. pv.Parent = model
  438. local m = Instance.new("CylinderMesh")
  439. m.Scale = Vector3.new(0.1, 0.27, 0.1)
  440. m.Parent = pv
  441. local w = Instance.new("Weld")
  442. w.Part0 = pv
  443. w.Part1 = pv1
  444. w.C0 = CFrame.new(0, 0, 0)
  445. w.C1 = CFrame.new()
  446. w.Parent = pv
  447. local p = Instance.new("Part")
  448. p.Name = "Barrel1"
  449. p.formFactor = "Symmetric"
  450. p.Size = Vector3.new(1, 1, 1)
  451. p.BrickColor = MC
  452. p.Reflectance = MR
  453. p.CanCollide = false
  454. p.Locked = true
  455. p.TopSurface = 0
  456. p.BottomSurface = 0
  457. p.Parent = model
  458. local m = Instance.new("BlockMesh")
  459. m.Scale = Vector3.new(0.15, 0.26, 0.28)
  460. m.Parent = p
  461. local w = Instance.new("Weld")
  462. w.Part0 = p
  463. w.Part1 = pv
  464. w.C0 = CFrame.new(0, 0, 0.14)
  465. w.C1 = CFrame.new()
  466. w.Parent = p
  467. local p = Instance.new("Part")
  468. p.Name = "Barrel2"
  469. p.formFactor = "Symmetric"
  470. p.Size = Vector3.new(1, 1, 1)
  471. p.BrickColor = MC
  472. p.Reflectance = MR
  473. p.CanCollide = false
  474. p.Locked = true
  475. p.TopSurface = 0
  476. p.BottomSurface = 0
  477. p.Parent = model
  478. local m = Instance.new("BlockMesh")
  479. m.Scale = Vector3.new(0.6, 0.2, 0.28)
  480. m.Parent = p
  481. local w = Instance.new("Weld")
  482. w.Part0 = p
  483. w.Part1 = pv
  484. w.C0 = CFrame.new(-0.36, 0, 0.14)
  485. w.C1 = CFrame.new()
  486. w.Parent = p
  487. local p = Instance.new("Part")
  488. p.Name = "Barrel3"
  489. p.formFactor = "Symmetric"
  490. p.Size = Vector3.new(1, 1, 1)
  491. p.BrickColor = MC
  492. p.Reflectance = MR
  493. p.CanCollide = false
  494. p.Locked = true
  495. p.TopSurface = 0
  496. p.BottomSurface = 0
  497. p.Parent = model
  498. local m = Instance.new("BlockMesh")
  499. m.Scale = Vector3.new(0.6, 0.26, 0.22)
  500. m.Parent = p
  501. local w = Instance.new("Weld")
  502. w.Part0 = p
  503. w.Part1 = pv
  504. w.C0 = CFrame.new(-0.36, 0, 0.14)
  505. w.C1 = CFrame.new()
  506. w.Parent = p
  507. local p = Instance.new("Part")
  508. p.Name = "Hole"
  509. p.formFactor = "Symmetric"
  510. p.Size = Vector3.new(1, 1, 1)
  511. p.BrickColor = BrickColor.new("New Yeller")
  512. p.Reflectance = 0
  513. p.CanCollide = false
  514. p.Locked = true
  515. p.TopSurface = 0
  516. p.BottomSurface = 0
  517. p.Parent = model
  518. local m = Instance.new("CylinderMesh")
  519. m.Scale = Vector3.new(0.1, 0.602, 0.1)
  520. m.Parent = p
  521. local w = Instance.new("Weld")
  522. w.Part0 = p
  523. w.Part1 = pv
  524. w.C0 = CFrame.new(0, -0.36, 0.18) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(90))
  525. w.C1 = CFrame.new()
  526. w.Parent = p
  527. local p = Instance.new("Part")
  528. p.Name = "Top"
  529. p.formFactor = "Symmetric"
  530. p.Size = Vector3.new(1, 1, 1)
  531. p.BrickColor = MC
  532. p.Reflectance = MR
  533. p.CanCollide = false
  534. p.Locked = true
  535. p.TopSurface = 0
  536. p.BottomSurface = 0
  537. p.Parent = model
  538. local m = Instance.new("BlockMesh")
  539. m.Scale = Vector3.new(0.5, 0.26, 0.08)
  540. m.Parent = p
  541. local w = Instance.new("Weld")
  542. w.Part0 = p
  543. w.Part1 = pv
  544. w.C0 = CFrame.new(0.25, 0, 0.24)
  545. w.C1 = CFrame.new()
  546. w.Parent = p
  547. if Scoped == true then
  548. canZoom = true
  549. local p = Instance.new("Part")
  550. p.Name = "Scope"
  551. p.formFactor = "Symmetric"
  552. p.Size = Vector3.new(1, 1, 1)
  553. p.BrickColor = GC
  554. p.CanCollide = false
  555. p.Locked = true
  556. p.TopSurface = 0
  557. p.BottomSurface = 0
  558. p.Parent = model
  559. local m = Instance.new("CylinderMesh")
  560. m.Scale = Vector3.new(0.24, 0.5, 0.24)
  561. m.Parent = p
  562. local w = Instance.new("Weld")
  563. w.Part0 = p
  564. w.Part1 = pv
  565. w.C0 = CFrame.new(0, -0.2, 0.38) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(90))
  566. w.C1 = CFrame.new()
  567. w.Parent = p
  568. local p = Instance.new("Part")
  569. p.Name = "Scope"
  570. p.formFactor = "Symmetric"
  571. p.Size = Vector3.new(1, 1, 1)
  572. p.BrickColor = BrickColor.new("White")
  573. p.Reflectance = 0.5
  574. p.CanCollide = false
  575. p.Locked = true
  576. p.TopSurface = 0
  577. p.BottomSurface = 0
  578. p.Parent = model
  579. local m = Instance.new("CylinderMesh")
  580. m.Scale = Vector3.new(0.23, 0.503, 0.23)
  581. m.Parent = p
  582. local w = Instance.new("Weld")
  583. w.Part0 = p
  584. w.Part1 = pv
  585. w.C0 = CFrame.new(0, -0.2, 0.38) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(90))
  586. w.C1 = CFrame.new()
  587. w.Parent = p
  588. else end
  589. local p = Instance.new("Part")
  590. p.Name = "RearSight"
  591. p.formFactor = "Symmetric"
  592. p.Size = Vector3.new(1, 1, 1)
  593. p.BrickColor = MC
  594. p.Reflectance = MR
  595. p.CanCollide = false
  596. p.Locked = true
  597. p.TopSurface = 0
  598. p.BottomSurface = 0
  599. p.Parent = model
  600. local m = Instance.new("BlockMesh")
  601. m.Scale = Vector3.new(0.1, 0.08, 0.08)
  602. m.Parent = p
  603. local w = Instance.new("Weld")
  604. w.Part0 = p
  605. w.Part1 = pv
  606. w.C0 = CFrame.new(0.44, 0.08, 0.28)
  607. w.C1 = CFrame.new()
  608. w.Parent = p
  609. local p = Instance.new("Part")
  610. p.Name = "RearSight"
  611. p.formFactor = "Symmetric"
  612. p.Size = Vector3.new(1, 1, 1)
  613. p.BrickColor = MC
  614. p.Reflectance = MR
  615. p.CanCollide = false
  616. p.Locked = true
  617. p.TopSurface = 0
  618. p.BottomSurface = 0
  619. p.Parent = model
  620. local m = Instance.new("BlockMesh")
  621. m.Scale = Vector3.new(0.1, 0.08, 0.08)
  622. m.Parent = p
  623. local w = Instance.new("Weld")
  624. w.Part0 = p
  625. w.Part1 = pv
  626. w.C0 = CFrame.new(0.44, -0.08, 0.28)
  627. w.C1 = CFrame.new()
  628. w.Parent = p
  629. local p = Instance.new("Part")
  630. p.Name = "FrontSight"
  631. p.formFactor = "Symmetric"
  632. p.Size = Vector3.new(1, 1, 1)
  633. p.BrickColor = MC
  634. p.Reflectance = MR
  635. p.CanCollide = false
  636. p.Locked = true
  637. p.TopSurface = 0
  638. p.BottomSurface = 0
  639. p.Parent = model
  640. local m = Instance.new("BlockMesh")
  641. m.Scale = Vector3.new(0.1, 0.08, 0.08)
  642. m.Parent = p
  643. local w = Instance.new("Weld")
  644. w.Part0 = p
  645. w.Part1 = pv
  646. w.C0 = CFrame.new(-0.58, 0, 0.28)
  647. w.C1 = CFrame.new()
  648. w.Parent = p
  649. local p = Instance.new("Part")
  650. p.Name = "Cylinder"
  651. p.formFactor = "Symmetric"
  652. p.Size = Vector3.new(1, 1, 1)
  653. p.BrickColor = MC
  654. p.Reflectance = MR
  655. p.CanCollide = false
  656. p.Locked = true
  657. p.TopSurface = 0
  658. p.BottomSurface = 0
  659. p.Parent = model
  660. local m = Instance.new("CylinderMesh")
  661. m.Scale = Vector3.new(0.29, 0.32, 0.29)
  662. m.Parent = p
  663. local w = Instance.new("Weld")
  664. w.Part0 = p
  665. w.Part1 = pv
  666. w.C0 = CFrame.new(0, 0.23, 0.1) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(90))
  667. w.C1 = CFrame.new()
  668. w.Parent = p
  669. local p = Instance.new("Part")
  670. p.Name = "Pin"
  671. p.formFactor = "Symmetric"
  672. p.Size = Vector3.new(1, 1, 1)
  673. p.BrickColor = BrickColor.new("New Yeller")
  674. p.Reflectance = MR
  675. p.CanCollide = false
  676. p.Locked = true
  677. p.TopSurface = 0
  678. p.BottomSurface = 0
  679. p.Parent = model
  680. local m = Instance.new("CylinderMesh")
  681. m.Scale = Vector3.new(0.06, 0.46, 0.06)
  682. m.Parent = p
  683. local w = Instance.new("Weld")
  684. w.Part0 = p
  685. w.Part1 = pv
  686. w.C0 = CFrame.new(0, 0.23, 0.1) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(90))
  687. w.C1 = CFrame.new()
  688. w.Parent = p
  689. local p = Instance.new("Part")
  690. if silenced == false then
  691. p.Name = "Muzzle"
  692. else
  693. p.Name = "Muzzle 2"
  694. end
  695. p.formFactor = "Symmetric"
  696. p.Size = Vector3.new(1, 1, 1)
  697. p.BrickColor = BrickColor.new("Lime green")
  698. p.Reflectance = 0.06
  699. p.CanCollide = false
  700. p.Transparency = 1
  701. p.Locked = true
  702. p.TopSurface = 0
  703. p.BottomSurface = 0
  704. p.Parent = model
  705. local m = Instance.new("CylinderMesh")
  706. m.Scale = Vector3.new(0.5, 0.1, 0.5)
  707. m.Offset = Vector3.new(0, 0, 0)
  708. m.Parent = p
  709. local w = Instance.new("Weld")
  710. w.Part0 = p
  711. w.Part1 = pv
  712. w.C0 = CFrame.new(0, 0.8, 0.18) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(-90))
  713. w.C1 = CFrame.new()
  714. w.Parent = p
  715. local s = Instance.new("Smoke")
  716. s.Enabled = false
  717. s.Name = "Smoke"
  718. s.RiseVelocity = -5
  719. s.Opacity = 0.3
  720. s.Color = Color3.new(75 / 225, 75 / 225, 75 / 225)
  721. s.Size = 1
  722. s.Parent = p
  723. local f = Instance.new("Fire")
  724. f.Enabled = false
  725. f.Name = "Fire"
  726. f.Heat = -35
  727. f.Size = 1
  728. f.Parent = p
  729. return model
  730. end
  731.  
  732.  
  733. function removeParts(format)
  734. if format == "RightHand" then
  735. pcall(function() Player.Character[Name]:Remove() end)
  736. elseif format == "LeftHand" then
  737. pcall(function() Player.Character[Name.. " (Left)"]:Remove() end)
  738. elseif format == "RightHolster" then
  739. pcall(function() Player.Character[Name.. " (Holstered)"]:Remove() end)
  740. elseif format == "LeftHolster" then
  741. pcall(function() Player.Character[Name.. " (Holstered, Left)"]:Remove() end)
  742. end
  743. end
  744.  
  745.  
  746. function SetAngle(Joint, Angle, Character)
  747. if Character == nil then return false end
  748. local Joints = {
  749. Character.Torso:FindFirstChild("Right Shoulder 2"),
  750. Character.Torso:FindFirstChild("Left Shoulder 2"),
  751. Character.Torso:FindFirstChild("Right Hip 2"),
  752. Character.Torso:FindFirstChild("Left Hip 2")
  753. }
  754. if Joints[Joint] == nil then return false end
  755. if Joint == 1 or Joint == 3 then
  756. Joints[Joint].DesiredAngle = Angle
  757. end
  758. if Joint == 2 or Joint == 4 then
  759. Joints[Joint].DesiredAngle = -Angle
  760. end
  761. end
  762.  
  763.  
  764. function ForceAngle(Joint, Angle, Character)
  765. if Character == nil then return false end
  766. local Joints = {
  767. Character.Torso:FindFirstChild("Right Shoulder 2"),
  768. Character.Torso:FindFirstChild("Left Shoulder 2"),
  769. Character.Torso:FindFirstChild("Right Hip 2"),
  770. Character.Torso:FindFirstChild("Left Hip 2")
  771. }
  772. if Joints[Joint] == nil then return false end
  773. if Joint == 1 or Joint == 3 then
  774. Joints[Joint].DesiredAngle = Angle
  775. Joints[Joint].CurrentAngle = Angle
  776. end
  777. if Joint == 2 or Joint == 4 then
  778. Joints[Joint].DesiredAngle = -Angle
  779. Joints[Joint].CurrentAngle = -Angle
  780. end
  781. end
  782.  
  783.  
  784. function SetSpeed(Joint, Speed, Character)
  785. if Character == nil then return false end
  786. local Joints = {
  787. Character.Torso:FindFirstChild("Right Shoulder 2"),
  788. Character.Torso:FindFirstChild("Left Shoulder 2"),
  789. Character.Torso:FindFirstChild("Right Hip 2"),
  790. Character.Torso:FindFirstChild("Left Hip 2")
  791. }
  792. if Joints[Joint] == nil then return false end
  793. Joints[Joint].MaxVelocity = Speed
  794. end
  795.  
  796.  
  797. function DisableLimb(Limb, Character)
  798. if Character == nil then return false end
  799. if Character:FindFirstChild("Torso") == nil then return false end
  800. local Joints = {
  801. Character.Torso:FindFirstChild("Right Shoulder"),
  802. Character.Torso:FindFirstChild("Left Shoulder"),
  803. Character.Torso:FindFirstChild("Right Hip"),
  804. Character.Torso:FindFirstChild("Left Hip")
  805. }
  806. local Limbs = {
  807. Character:FindFirstChild("Right Arm"),
  808. Character:FindFirstChild("Left Arm"),
  809. Character:FindFirstChild("Right Leg"),
  810. Character:FindFirstChild("Left Leg")
  811. }
  812. if Joints[Limb] == nil then return false end
  813. if Limbs[Limb] == nil then return false end
  814. local Joint = Instance.new("Motor")
  815. Joint.Parent = Character.Torso
  816. Joint.Part0 = Character.Torso
  817. Joint.Part1 = Limbs[Limb]
  818. if Limb == 1 then
  819. Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  820. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  821. Joint.Name = "Right Shoulder 2"
  822. elseif Limb == 2 then
  823. Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  824. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  825. Joint.Name = "Left Shoulder 2"
  826. elseif Limb == 3 then
  827. Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  828. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  829. Joint.Name = "Right Hip 2"
  830. elseif Limb == 4 then
  831. Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  832. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  833. Joint.Name = "Left Hip 2"
  834. end
  835. Joint.MaxVelocity = Joints[Limb].MaxVelocity
  836. Joint.CurrentAngle = Joints[Limb].CurrentAngle
  837. Joint.DesiredAngle = Joints[Limb].DesiredAngle
  838. Joints[Limb]:Remove()
  839. end
  840.  
  841.  
  842. function ResetLimbCFrame(Limb, Character)
  843. if Character == nil then return false end
  844. if Character.Parent == nil then return false end
  845. if Character:FindFirstChild("Torso") == nil then return false end
  846. local Joints = {
  847. Character.Torso:FindFirstChild("Right Shoulder 2"),
  848. Character.Torso:FindFirstChild("Left Shoulder 2"),
  849. Character.Torso:FindFirstChild("Right Hip 2"),
  850. Character.Torso:FindFirstChild("Left Hip 2")
  851. }
  852. local Limbs = {
  853. Character:FindFirstChild("Right Arm"),
  854. Character:FindFirstChild("Left Arm"),
  855. Character:FindFirstChild("Right Leg"),
  856. Character:FindFirstChild("Left Leg")
  857. }
  858. if Joints[Limb] == nil then return false end
  859. if Limbs[Limb] == nil then return false end
  860. if Limb == 1 then
  861. Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  862. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  863. elseif Limb == 2 then
  864. Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  865. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  866. elseif Limb == 3 then
  867. Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  868. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  869. elseif Limb == 4 then
  870. Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  871. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  872. end
  873. end
  874.  
  875.  
  876. function EnableLimb(Limb, Character)
  877. if Character == nil then return false end
  878. if Character:FindFirstChild("Torso") == nil then return false end
  879. local Joints = {
  880. Character.Torso:FindFirstChild("Right Shoulder 2"),
  881. Character.Torso:FindFirstChild("Left Shoulder 2"),
  882. Character.Torso:FindFirstChild("Right Hip 2"),
  883. Character.Torso:FindFirstChild("Left Hip 2")
  884. }
  885. local Limbs = {
  886. Character:FindFirstChild("Right Arm"),
  887. Character:FindFirstChild("Left Arm"),
  888. Character:FindFirstChild("Right Leg"),
  889. Character:FindFirstChild("Left Leg")
  890. }
  891. if Joints[Limb] == nil then return false end
  892. if Limbs[Limb] == nil then return false end
  893. if Limb == 1 then
  894. Joints[Limb].Name = "Right Shoulder"
  895. elseif Limb == 2 then
  896. Joints[Limb].Name = "Left Shoulder"
  897. elseif Limb == 3 then
  898. Joints[Limb].Name = "Right Hip"
  899. elseif Limb == 4 then
  900. Joints[Limb].Name = "Left Hip"
  901. end
  902. Animate = Character:FindFirstChild("Animate")
  903. if Animate == nil then return false end
  904. Animate = Animate:Clone()
  905. Character.Animate:Remove()
  906. Animate.Parent = Character
  907. end
  908.  
  909.  
  910. function playAnimation(format, mouse)
  911. if format == "equip" then
  912. Player.Character[Name.. " (Holstered)"].Handle.Weld:Remove()
  913. local w = Instance.new("Weld")
  914. w.Part0 = Player.Character[Name.. " (Holstered)"].Handle
  915. w.Part1 = Player.Character:FindFirstChild("Right Arm")
  916. w.C0 = CFrame.new(0, 1.2, 0.7)
  917. w.C1 = CFrame.new()
  918. w.Parent = Player.Character[Name.. " (Holstered)"].Handle
  919. for i = 0.01, 1, 0.1 do
  920. if Player.Character:FindFirstChild("Torso") ~= nil then
  921. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  922. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  923. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.55 * i) + (1.5 * (1 - i)), 0.75 * i, 0.35 * i) * CFrame.fromEulerAnglesXYZ(math.rad(315 + ((1 - i) * 50)), 0, math.rad(-90) * i)
  924. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  925. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-1 * i) + (-1.5 * (1 - i)), 0.5 * i, 0.6 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0)
  926. wait()
  927. else return false end
  928. else return false end
  929. end
  930. return playAnimation("hold")
  931. end
  932. if format == "rightEquip" then
  933. Player.Character[Name.. " (Holstered)"].Handle.Weld:Remove()
  934. local w = Instance.new("Weld")
  935. w.Part0 = Player.Character[Name.. " (Holstered)"].Handle
  936. w.Part1 = Player.Character:FindFirstChild("Right Arm")
  937. w.C0 = CFrame.new(0, 1.2, 0.7)
  938. w.C1 = CFrame.new()
  939. w.Parent = Player.Character[Name.. " (Holstered)"].Handle
  940. for i = 0.01, 1, 0.1 do
  941. if Player.Character:FindFirstChild("Torso") ~= nil then
  942. if Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  943. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  944. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-1 * i) + (-1.5 * (1 - i)), 0.5 * i, 0.6 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0)
  945. wait()
  946. else return false end
  947. else return false end
  948. end
  949. return playAnimation("rightHold")
  950. end
  951. if format == "leftEquip" then
  952. Player.Character[Name.. " (Holstered, Left)"].Handle.Weld:Remove()
  953. local w = Instance.new("Weld")
  954. w.Part0 = Player.Character[Name.. " (Holstered, Left)"].Handle
  955. w.Part1 = Player.Character:FindFirstChild("Left Arm")
  956. w.C0 = CFrame.new(0, 1.2, 0.7)
  957. w.C1 = CFrame.new()
  958. w.Parent = Player.Character[Name.. " (Holstered, Left)"].Handle
  959. for i = 0.01, 1, 0.1 do
  960. if Player.Character:FindFirstChild("Torso") ~= nil then
  961. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  962. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  963. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((1 * i) + (1.5 * (1 - i)), 0.5 * i, 0.6 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(5 * i), 0)
  964. wait()
  965. else return false end
  966. else return false end
  967. end
  968. return playAnimation("leftHold")
  969. end
  970. if format == "unequip" then
  971. for i = 1, 0.01, -0.1 do
  972. if Player.Character:FindFirstChild("Torso") ~= nil then
  973. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  974. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  975. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.55 * i) + (1.5 * (1 - i)), 0.75 * i, 0.35 * i) * CFrame.fromEulerAnglesXYZ(math.rad(315 + ((1 - i) * 50)), 0, math.rad(-90) * i)
  976. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  977. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-1 * i) + (-1.5 * (1 - i)), 0.5 * i, 0.6 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0)
  978. wait()
  979. else return false end
  980. else return false end
  981. end
  982. return true
  983. end
  984. if format == "leftUnequip" then
  985. for i = 1, 0.01, -0.1 do
  986. if Player.Character:FindFirstChild("Torso") ~= nil then
  987. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  988. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  989. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((1 * i) + (1.5 * (1 - i)), 0.5 * i, 0.6 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(5 * i), 0)
  990. wait()
  991. else return false end
  992. else return false end
  993. end
  994. return true
  995. end
  996. if format == "rightUnequip" then
  997. for i = 1, 0.01, -0.1 do
  998. if Player.Character:FindFirstChild("Torso") ~= nil then
  999. if Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1000. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1001. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-1 * i) + (-1.5 * (1 - i)), 0.5 * i, 0.6 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0)
  1002. wait()
  1003. else return false end
  1004. else return false end
  1005. end
  1006. return true
  1007. end
  1008. if format == "hold" then
  1009. if Player.Character:FindFirstChild("Torso") ~= nil then
  1010. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1011. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1012. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.55, 0.75, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(315), 0, math.rad(-90))
  1013. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1014. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0)
  1015. else return false end
  1016. else return false end
  1017. end
  1018. if format == "rightHold" then
  1019. if Player.Character:FindFirstChild("Torso") ~= nil then
  1020. if Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1021. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1022. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(-10))
  1023. else return false end
  1024. else return false end
  1025. end
  1026. if format == "leftHold" then
  1027. if Player.Character:FindFirstChild("Torso") ~= nil then
  1028. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  1029. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1030. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(10))
  1031. else return false end
  1032. else return false end
  1033. end
  1034. if format == "reload" then
  1035. Player.Character[Name].Handle.Empty:Play()
  1036. for i = 0, 25, 7.5 do
  1037. if Player.Character:FindFirstChild("Torso") ~= nil then
  1038. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1039. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1040. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1041. wait()
  1042. else return false end
  1043. else return false end
  1044. end
  1045. for i = 25, 0, -7.5 do
  1046. if Player.Character:FindFirstChild("Torso") ~= nil then
  1047. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1048. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1049. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1050. wait()
  1051. else return false end
  1052. else return false end
  1053. end
  1054. coroutine.wrap(function()
  1055. for i = 0, 90, 15 do
  1056. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(i), 0) end)
  1057. wait()
  1058. end
  1059. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) end)
  1060. for i = 1, Loaded do
  1061. Player.Character[Name].Handle.Switch:Play()
  1062. makeShell(Player.Character[Name]:FindFirstChild("Cylinder"))
  1063. Loaded = Loaded - 1
  1064. if magazine.Value ~= 0 then
  1065. magazine.Value = magazine.Value - 1
  1066. updateGui()
  1067. end
  1068. wait(0.02)
  1069. end
  1070. end)()
  1071. CamShake(15, 50000)
  1072. Player.Character[Name].Handle.Release:Play()
  1073. --[[for i = 25, 0, -5 do
  1074. if Player.Character:FindFirstChild("Torso") ~= nil then
  1075. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1076. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1077. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1 + ((25 - i) / 30), 0.5, 0.6 + ((25 - i) / 25)) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), math.rad((25 * 2) - (i * 2)))
  1078. wait()
  1079. else return false end
  1080. else return false end
  1081. end
  1082. for i = 25, 0, -5 do
  1083. if Player.Character:FindFirstChild("Torso") ~= nil then
  1084. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1085. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1086. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1 + (i / 30), 0.5, 0.6 + (i / 25)) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), math.rad((25 * 2) - ((25 - i) * 2)))
  1087. wait()
  1088. else return false end
  1089. else return false end
  1090. end
  1091. wait(0.18)--]]
  1092. for i = 0, 35, 5 do
  1093. if Player.Character:FindFirstChild("Torso") ~= nil then
  1094. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1095. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1096. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, -0.4, 0.3) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0)
  1097. wait()
  1098. else return false end
  1099. else return false end
  1100. end
  1101. wait(0.2)
  1102. if ammo.Value >= 6 then
  1103. for i = 1, 6 do
  1104. for i = 5, 0, -1 do
  1105. if Player.Character:FindFirstChild("Torso") ~= nil then
  1106. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1107. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1108. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.55, 0.85, 0.84) * CFrame.fromEulerAnglesXYZ(math.rad(315 + (i * 1.5)), math.rad(i * 4), math.rad(-90))
  1109. wait()
  1110. else return false end
  1111. else return false end
  1112. end
  1113. Player.Character[Name].Handle.Reload:Play()
  1114. ammo.Value = ammo.Value - 1
  1115. magazine.Value = magazine.Value + 1
  1116. Loaded = Loaded + 1
  1117. updateGui()
  1118. wait(0.1)
  1119. end
  1120. elseif ammo.Value <= 6 then
  1121. for i = 1, ammo.Value do
  1122. for i = 5, 0, -1 do
  1123. if Player.Character:FindFirstChild("Torso") ~= nil then
  1124. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1125. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1126. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.55, 0.85, 0.84) * CFrame.fromEulerAnglesXYZ(math.rad(315 + (i * 1.5)), math.rad(i * 4), math.rad(-90))
  1127. wait()
  1128. else return false end
  1129. else return false end
  1130. end
  1131. Player.Character[Name].Handle.Reload:Play()
  1132. ammo.Value = ammo.Value - 1
  1133. magazine.Value = magazine.Value + 1
  1134. Loaded = Loaded + 1
  1135. updateGui()
  1136. wait(0.1)
  1137. end
  1138. else end
  1139. wait(0.04)
  1140. coroutine.wrap(function()
  1141. for i = 1, 0, -0.25 do
  1142. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(i * 90), 0) end)
  1143. wait()
  1144. end
  1145. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) end)
  1146. end)()
  1147. CamShake(15, 50000)
  1148. Player.Character[Name].Handle.Release:Play()
  1149. for i = 0, 25, 7.5 do
  1150. if Player.Character:FindFirstChild("Torso") ~= nil then
  1151. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1152. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1153. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1154. wait()
  1155. else return false end
  1156. else return false end
  1157. end
  1158. for i = 25, 0, -7.5 do
  1159. if Player.Character:FindFirstChild("Torso") ~= nil then
  1160. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1161. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1162. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1163. wait()
  1164. else return false end
  1165. else return false end
  1166. end
  1167. playAnimation("hold")
  1168. return true
  1169. end
  1170. if format == "reloadDual" then
  1171. for i = 0, 25, 7.5 do
  1172. if Player.Character:FindFirstChild("Torso") ~= nil then
  1173. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1174. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1175. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(5), 0)
  1176. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1177. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1178. wait()
  1179. else return false end
  1180. else return false end
  1181. end
  1182. CamShake(1, 40000)
  1183. Player.Character[Name].Handle.Release:Play()
  1184. coroutine.wrap(function()
  1185. for i = 0, 90, 15 do
  1186. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(i), 0) end)
  1187. pcall(function() Player.Character[Name.. " (Left)"].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(i), 0) end)
  1188. wait()
  1189. end
  1190. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) end)
  1191. pcall(function() Player.Character[Name.. " (Left)"].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) end)
  1192. end)()
  1193. for i = 0, 25, 7.5 do
  1194. if Player.Character:FindFirstChild("Torso") ~= nil then
  1195. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1196. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1197. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(5), 0)
  1198. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1199. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1200. wait()
  1201. else return false end
  1202. else return false end
  1203. end
  1204. for i = 125, 0, -15 do
  1205. if Player.Character:FindFirstChild("Torso") ~= nil then
  1206. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1207. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1208. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad((-90 - i) + 100), math.rad(5), 0)
  1209. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1210. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad((-90 - i) + 100), math.rad(-5), 0)
  1211. wait()
  1212. else return false end
  1213. else return false end
  1214. end
  1215. for i = 1, 6 do
  1216. Player.Character[Name].Handle.Switch:Play()
  1217. makeShell(Player.Character[Name]:FindFirstChild("Cylinder"))
  1218. makeShell(Player.Character[Name.. " (Left)"]:FindFirstChild("Cylinder"))
  1219. wait(0.04)
  1220. end
  1221. magazine.Value = 0
  1222. Player.Character[Name].Handle.Reload:Play()
  1223. for i = 0, 125, 15 do
  1224. if Player.Character:FindFirstChild("Torso") ~= nil then
  1225. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1226. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1227. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad((-90 - i) + 100), math.rad(5), 0)
  1228. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1229. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad((-90 - i) + 100), math.rad(-5), 0)
  1230. wait()
  1231. else return false end
  1232. else return false end
  1233. end
  1234. coroutine.wrap(function()
  1235. for i = 1, 0, -0.25 do
  1236. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(i * 90), 0) end)
  1237. pcall(function() Player.Character[Name.. " (Left)"].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(i * 90), 0) end)
  1238. wait()
  1239. end
  1240. pcall(function() Player.Character[Name].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) end)
  1241. pcall(function() Player.Character[Name.. " (Left)"].Pivot.Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) end)
  1242. end)()
  1243. Player.Character[Name].Handle.Release:Play()
  1244. for i = 25, 0, -5 do
  1245. if Player.Character:FindFirstChild("Torso") ~= nil then
  1246. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1247. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1248. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(5), 0)
  1249. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1250. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1251. wait()
  1252. else return false end
  1253. else return false end
  1254. end
  1255. end
  1256. if format == "hammer" then
  1257. Player.Character[Name].Handle.Reload:Play()
  1258. for i = 25, 0, -5 do
  1259. if Player.Character:FindFirstChild("Torso") ~= nil then
  1260. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1261. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1262. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1 + (i / 30), 0.5, 0.6 + (i / 25)) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), math.rad((25 * 2) - ((25 - i) * 2)))
  1263. wait()
  1264. else return false end
  1265. else return false end
  1266. end
  1267. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-35), 0, 0)
  1268. end
  1269. if format == "fire" then
  1270. coroutine.resume(coroutine.create(function()
  1271. if Hammer == false then
  1272. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-35), 0, 0)
  1273. wait(0.04)
  1274. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.08) * CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0)
  1275. else
  1276. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.08) * CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0)
  1277. Hammer = false
  1278. end
  1279. end))
  1280. if Player.Character[Name]:FindFirstChild("Handle") ~= nil then
  1281. if silenced then
  1282. Player.Character[Name].Handle.Fire.Volume = math.random(3, 8) / 10
  1283. Player.Character[Name].Handle.Fire.Pitch = math.random(35, 40) / 15
  1284. Player.Character[Name].Handle.Fire:Play()
  1285. CamShake(15, 50000)
  1286. else
  1287. Player.Character[Name].Handle.Fire.Volume = math.random(8, 12) / 10
  1288. Player.Character[Name].Handle.Fire.Pitch = math.random(25, 35) / 20
  1289. Player.Character[Name].Handle.Fire:Play()
  1290. CamShake(15, 50000)
  1291. end
  1292. else return false end
  1293. if Player.Character[Name]:FindFirstChild("Muzzle") ~= nil then
  1294. if silenced == false then
  1295. coroutine.resume(coroutine.create(function() Player.Character[Name].Muzzle.Smoke.Enabled = true Player.Character[Name].Muzzle.Fire.Enabled = true wait(0.1) Player.Character[Name].Muzzle.Smoke.Enabled = false Player.Character[Name].Muzzle.Fire.Enabled = false end))
  1296. else end
  1297. else return false end
  1298. for i = 0, 10, 5 do
  1299. if Player.Character:FindFirstChild("Torso") ~= nil then
  1300. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1301. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1302. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.55, 0.75, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(315), math.rad(i), math.rad(-90))
  1303. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1304. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1305. wait()
  1306. else return false end
  1307. else return false end
  1308. end
  1309. for i = 10, 0, -5 do
  1310. if Player.Character:FindFirstChild("Torso") ~= nil then
  1311. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1312. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1313. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.55, 0.75, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(315), math.rad(i), math.rad(-90))
  1314. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1315. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  1316. wait()
  1317. else return false end
  1318. else return false end
  1319. end
  1320. end
  1321. if format == "rightFire" then
  1322. coroutine.resume(coroutine.create(function()
  1323. if Hammer == false then
  1324. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-35), 0, 0)
  1325. wait(0.04)
  1326. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.08) * CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0)
  1327. else
  1328. Player.Character[Name].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.08) * CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0)
  1329. Hammer = false
  1330. end
  1331. end))
  1332. if Player.Character[Name]:FindFirstChild("Handle") ~= nil then
  1333. if silenced then
  1334. Player.Character[Name].Handle.Fire.Volume = math.random(3, 8) / 10
  1335. Player.Character[Name].Handle.Fire.Pitch = math.random(35, 40) / 15
  1336. Player.Character[Name].Handle.Fire:Play()
  1337. CamShake(15, 50000)
  1338. else
  1339. Player.Character[Name].Handle.Fire.Volume = math.random(8, 12) / 10
  1340. Player.Character[Name].Handle.Fire.Pitch = math.random(25, 35) / 20
  1341. Player.Character[Name].Handle.Fire:Play()
  1342. CamShake(15, 50000)
  1343. end
  1344. else return false end
  1345. if Player.Character[Name]:FindFirstChild("Muzzle") ~= nil then
  1346. if silenced == false then
  1347. coroutine.resume(coroutine.create(function() Player.Character[Name].Muzzle.Smoke.Enabled = true Player.Character[Name].Muzzle.Fire.Enabled = true wait(0.1) Player.Character[Name].Muzzle.Smoke.Enabled = false Player.Character[Name].Muzzle.Fire.Enabled = false end))
  1348. else end
  1349. else return false end
  1350. for i = 0, 10, 5 do
  1351. if Player.Character:FindFirstChild("Torso") ~= nil then
  1352. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1353. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1354. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), 0, math.rad(-10))
  1355. wait()
  1356. else return false end
  1357. else return false end
  1358. end
  1359. for i = 10, 0, -5 do
  1360. if Player.Character:FindFirstChild("Torso") ~= nil then
  1361. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1362. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  1363. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), 0, math.rad(-10))
  1364. wait()
  1365. else return false end
  1366. else return false end
  1367. end
  1368. end
  1369. if format == "leftFire" then
  1370. coroutine.resume(coroutine.create(function()
  1371. if Hammer == false then
  1372. Player.Character[Name.. "(Left)"].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-35), 0, 0)
  1373. wait(0.04)
  1374. Player.Character[Name.. "(Left)"].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.08) * CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0)
  1375. else
  1376. Player.Character[Name.. "(Left)"].Hammer.Weld.C0 = CFrame.new(0, -0.1, 0.08) * CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0)
  1377. Hammer = false
  1378. end
  1379. end))
  1380. if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") ~= nil then
  1381. if silenced then
  1382. Player.Character[Name.. " (Left)"].Handle.Fire.Volume = math.random(3, 8) / 10
  1383. Player.Character[Name.. " (Left)"].Handle.Fire.Pitch = math.random(25, 40) / 15
  1384. Player.Character[Name.. " (Left)"].Handle.Fire:Play()
  1385. CamShake(15, 50000)
  1386. else
  1387. Player.Character[Name.. " (Left)"].Handle.Fire.Volume = math.random(8, 12) / 10
  1388. Player.Character[Name.. " (Left)"].Handle.Fire.Pitch = math.random(25, 35) / 20
  1389. Player.Character[Name.. " (Left)"].Handle.Fire:Play()
  1390. CamShake(15, 50000)
  1391. end
  1392. end
  1393. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") ~= nil then
  1394. if silenced == false then
  1395. coroutine.resume(coroutine.create(function() Player.Character[Name.. " (Left)"].Muzzle.Smoke.Enabled = true Player.Character[Name.. " (Left)"].Muzzle.Fire.Enabled = true wait(0.1) Player.Character[Name.. " (Left)"].Muzzle.Smoke.Enabled = false Player.Character[Name.. " (Left)"].Muzzle.Fire.Enabled = false end))
  1396. else end
  1397. end
  1398. for i = 0, 10, 5 do
  1399. if Player.Character:FindFirstChild("Torso") ~= nil then
  1400. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1401. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1402. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), 0, math.rad(10))
  1403. wait()
  1404. else return false end
  1405. else return false end
  1406. end
  1407. for i = 10, 0, -5 do
  1408. if Player.Character:FindFirstChild("Torso") ~= nil then
  1409. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  1410. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  1411. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(0.7, 0.5, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), 0, math.rad(10))
  1412. wait()
  1413. else return false end
  1414. else return false end
  1415. end
  1416. end
  1417. return true
  1418. end
  1419.  
  1420.  
  1421. function CamShake(time, freq)
  1422. coroutine.resume(coroutine.create(function()
  1423. local cam = game:GetService("Workspace").CurrentCamera
  1424. local time = 10
  1425. local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0)
  1426. if math.random(1, 2) == 1 then seed = Vector3.new(-seed.x, seed.y, 0) end
  1427. if math.random(1, 2) == 1 then seed = Vector3.new(seed.x, -seed.y, 0) end
  1428. cam.CoordinateFrame = (CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(seed.x * time, seed.y * time, 0)) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude)
  1429. for i = 1, time do
  1430. cam.CoordinateFrame = (CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(-seed.x, -seed.y, 0)) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude)
  1431. wait()
  1432. end
  1433. end))
  1434. end
  1435.  
  1436.  
  1437. function makeShell(part)
  1438. if part == nil then return false end
  1439. local casing = Instance.new("Part")
  1440. casing.Name = "Shell"
  1441. casing.formFactor = "Custom"
  1442. casing.Size = Vector3.new(0.2, 0.26, 0.2)
  1443. casing.CFrame = CFrame.new(part.Position) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  1444. casing.BrickColor = BrickColor.new("New Yeller")
  1445. local mesh = Instance.new("CylinderMesh")
  1446. mesh.Scale = Vector3.new(0.4, 1, 0.4)
  1447. mesh.Parent = casing
  1448. casing.Parent = game:GetService("Workspace")
  1449. casing:BreakJoints()
  1450. coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do casing.Transparency = i wait() end casing:Remove() end))
  1451. end
  1452.  
  1453.  
  1454. function Weld(x, y)
  1455. local weld = Instance.new("Weld")
  1456. weld.Part0 = x
  1457. weld.Part1 = y
  1458. CJ = CFrame.new(x.Position)
  1459. C0 = x.CFrame:inverse() * CJ
  1460. C1 = y.CFrame:inverse() * CJ
  1461. weld.C0 = C0
  1462. weld.C1 = C1
  1463. weld.Parent = x
  1464. end
  1465.  
  1466.  
  1467. function tagHumanoid(humanoid)
  1468. local tag = Instance.new("ObjectValue")
  1469. tag.Name = "creator"
  1470. tag.Value = Player
  1471. tag.Parent = humanoid
  1472. local tag = Instance.new("StringValue")
  1473. tag.Name = "creatorType1"
  1474. tag.Value = Name
  1475. tag.Parent = humanoid
  1476. local tag = Instance.new("StringValue")
  1477. tag.Name = "creatorType2"
  1478. tag.Value = "shot"
  1479. tag.Parent = humanoid
  1480. end
  1481.  
  1482.  
  1483. function untagHumanoid(humanoid)
  1484. if humanoid ~= nil then
  1485. local tag = humanoid:FindFirstChild("creator")
  1486. if tag ~= nil then
  1487. tag:Remove()
  1488. end
  1489. local tag = humanoid:FindFirstChild("creatorType1")
  1490. if tag ~= nil then
  1491. tag:Remove()
  1492. end
  1493. local tag = humanoid:FindFirstChild("creatorType2")
  1494. if tag ~= nil then
  1495. tag:Remove()
  1496. end
  1497. end
  1498. end
  1499.  
  1500.  
  1501. function fire(startPoint, endPoint, hit)
  1502. local trail = Instance.new("Part")
  1503. trail.Name = "Bullet Trail"
  1504. trail.BrickColor = BrickColor.new("New Yeller")
  1505. trail.TopSurface = 0
  1506. trail.BottomSurface = 0
  1507. trail.formFactor = 0
  1508. trail.Size = Vector3.new(1, 1, 1)
  1509. trail.Transparency = 0.5
  1510. trail.Anchored = true
  1511. trail.CanCollide = false
  1512. trail.CFrame = CFrame.new((startPoint + endPoint) / 2, endPoint)
  1513. trail.Parent = game:GetService("Workspace")
  1514. local mesh = Instance.new("SpecialMesh")
  1515. mesh.MeshType = "Brick"
  1516. mesh.Scale = Vector3.new(0.1, 0.1, (startPoint - endPoint).magnitude)
  1517. mesh.Parent = trail
  1518. coroutine.resume(coroutine.create(function(part) for i = 1, 10 do part.Mesh.Scale = Vector3.new(part.Mesh.Scale.x - 0.01, part.Mesh.Scale.y - 0.01, part.Mesh.Scale.z) wait() end part:Remove() end), trail)
  1519. if hit ~= nil then
  1520. if hit.Parent == nil then return end
  1521. if hit.Parent.ClassName == "Hat" then
  1522. if hit.Parent.Parent.Humanoid ~= nil then
  1523. hit.Parent.Parent.Humanoid:TakeDamage(damage * 5)
  1524. end
  1525. end
  1526. if hit.Parent:FindFirstChild("Humanoid") ~= nil then
  1527. tagHumanoid(hit.Parent.Humanoid)
  1528. if hit.Name == "Head" then
  1529. hit.Parent.Humanoid:TakeDamage(damage * 10)
  1530. elseif hit.Name == "Torso" then
  1531. hit.Parent.Humanoid:TakeDamage(damage * 2)
  1532. elseif hit.Name == "Left Leg" then
  1533. hit.Parent.Humanoid:TakeDamage(damage)
  1534. hit.Parent.Humanoid.Sit = false
  1535. elseif hit.Name == "Right Leg" then
  1536. hit.Parent.Humanoid:TakeDamage(damage)
  1537. hit.Parent.Humanoid.Sit = false
  1538. else
  1539. hit.Parent.Humanoid:TakeDamage(damage)
  1540. end
  1541. if math.random(1, 10) == 1 then
  1542. hit.Parent.Humanoid.Sit = false
  1543. end
  1544. delay(0.1, function() untagHumanoid(hit.Parent.Humanoid) end)
  1545. end
  1546. if hit.Anchored == false then
  1547. hit.Velocity = hit.Velocity + ((endPoint - startPoint).unit * (damage * 2))
  1548. end
  1549. end
  1550. end
  1551.  
  1552.  
  1553. function onButton1Down(mouse)
  1554. if selected == false then return end
  1555. if Player.Character:FindFirstChild(Name) ~= nil and Button1Down == false and canFire == true and (function() if dual == true then if Player.Character:FindFirstChild(Name.. " (Left)") ~= nil then return true else return false end else return true end end)() == true then
  1556. if Player.Character[Name]:FindFirstChild("Handle") == nil then return end
  1557. if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
  1558. if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end end
  1559. if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end end
  1560. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  1561. Button1Down = true
  1562. canFire = false
  1563. canFire2 = true
  1564. while canFire2 == true do
  1565. local humanoid = Player.Character:FindFirstChild("Humanoid")
  1566. if humanoid == nil then
  1567. canFire2 = false
  1568. break
  1569. end
  1570. if humanoid.Health <= 0 then
  1571. canFire2 = false
  1572. break
  1573. end
  1574. local fireLeft = false
  1575. if automatic == false and burst == false then
  1576. canFire2 = false
  1577. elseif automatic == false and burst == true then
  1578. if burstCount >= burstCountMax then
  1579. canFire2 = false
  1580. burstCount = 0
  1581. break
  1582. end
  1583. burstCount = burstCount + 1
  1584. elseif automatic == true and burst == false then
  1585. fireLeft = true
  1586. end
  1587. if magazine.Value > 0 then
  1588. magazine.Value = magazine.Value - Chamber
  1589. updateGui()
  1590. if silenced == true then
  1591. CamShake(1, Spread)
  1592. else end
  1593. fire(Player.Character[Name].Muzzle.Position, mouse.Hit.p, mouse.Target)
  1594. coroutine.resume(coroutine.create(function()
  1595. if dual == true then
  1596. playAnimation("rightFire")
  1597. elseif dual == false then
  1598. playAnimation("fire")
  1599. end
  1600. end))
  1601. if dual == true then
  1602. wait(math.random(0, 0.15))
  1603. fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target)
  1604. coroutine.resume(coroutine.create(function()
  1605. playAnimation("leftFire")
  1606. end))
  1607. end
  1608. else
  1609. Player.Character[Name].Handle.Empty:Play()
  1610. end
  1611. if fireLeft == true and dual == true and automatic == true then
  1612. if magazine.Value > 0 then
  1613. coroutine.resume(coroutine.create(function()
  1614. wait(readyTime / 2)
  1615. magazine.Value = magazine.Value - 1
  1616. updateGui()
  1617. fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target)
  1618. if silenced == true then
  1619. CamShake(1, Spread)
  1620. else end
  1621. playAnimation("leftFire")
  1622. end))
  1623. else
  1624. coroutine.resume(coroutine.create(function()
  1625. wait(readyTime / 2)
  1626. Player.Character[Name].Handle.Empty:Play()
  1627. end))
  1628. end
  1629. end
  1630. wait(readyTime)
  1631. end
  1632. if magazine.Value ~= 0 then
  1633. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  1634. else end
  1635. canFire = true
  1636. end
  1637. end
  1638.  
  1639.  
  1640. function onButton1Up(mouse)
  1641. if selected == false then return end
  1642. Button1Down = false
  1643. canFire2 = false
  1644. burstCount = 0
  1645. while canFire == false do wait() end
  1646. if dual == true and automatic == false then
  1647. if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end
  1648. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
  1649. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  1650. canFire = false
  1651. canFire2 = true
  1652. while canFire2 == true do
  1653. local humanoid = Player.Character:FindFirstChild("Humanoid")
  1654. if humanoid == nil then
  1655. canFire2 = false
  1656. break
  1657. end
  1658. if humanoid.Health <= 0 then
  1659. canFire2 = false
  1660. break
  1661. end
  1662. if burst == false then
  1663. canFire2 = false
  1664. elseif burst == true then
  1665. if burstCount >= burstCountMax then
  1666. canFire2 = false
  1667. burstCount = 0
  1668. break
  1669. end
  1670. burstCount = burstCount + 1
  1671. end
  1672. if magazine.Value <= 0 then
  1673. Player.Character[Name].Handle.Empty:Play()
  1674. else end
  1675. end
  1676. if magazine.Value ~= 0 then
  1677. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  1678. else end
  1679. canFire = true
  1680. end
  1681. end
  1682.  
  1683.  
  1684. function onKeyDown(key, mouse)
  1685. if selected == false then return end
  1686. key = key:lower()
  1687. if key == "q" and Button1Down == false and canFire == true then
  1688. if mouse.Target == nil then return end
  1689. if game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent) ~= nil then
  1690. if dual == true then onKeyDown("t", mouse) end
  1691. onDeselected(mouse)
  1692. removeParts("RightHolster")
  1693. script.Parent.Parent = game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent).Backpack
  1694. end
  1695. end
  1696. if key == "e" and Button1Down == false and canFire == true and canSilence == true then
  1697. if silenced then
  1698. silenced = false
  1699. Player.Character[Name].Handle.Lock.Pitch = 5
  1700. Player.Character[Name].Handle.Lock:Play()
  1701. if Player.Character:FindFirstChild(Name) == nil then return end
  1702. if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
  1703. if Player.Character[Name]:FindFirstChild("Muzzle 2") == nil then return end
  1704. Player.Character[Name].Muzzle.Transparency = 1
  1705. Player.Character[Name].Muzzle.Name = "Silencer"
  1706. Player.Character[Name]["Muzzle 2"].Name = "Muzzle"
  1707. if dual == true then
  1708. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
  1709. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle 2") == nil then return end
  1710. Player.Character[Name.. " (Left)"].Muzzle.Transparency = 1
  1711. Player.Character[Name.. " (Left)"].Muzzle.Name = "Silencer"
  1712. Player.Character[Name.. " (Left)"]["Muzzle 2"].Name = "Muzzle"
  1713. end
  1714. else
  1715. silenced = true
  1716. Player.Character[Name].Handle.Lock.Pitch = 5
  1717. Player.Character[Name].Handle.Lock:Play()
  1718. if Player.Character:FindFirstChild(Name) == nil then return end
  1719. if Player.Character[Name]:FindFirstChild("Silencer") == nil then return end
  1720. if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
  1721. Player.Character[Name].Silencer.Transparency = 0
  1722. Player.Character[Name].Muzzle.Name = "Muzzle 2"
  1723. Player.Character[Name].Silencer.Name = "Muzzle"
  1724. if dual == true then
  1725. if Player.Character[Name.. " (Left)"]:FindFirstChild("Silencer") == nil then return end
  1726. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
  1727. Player.Character[Name.. " (Left)"].Silencer.Transparency = 0
  1728. Player.Character[Name.. " (Left)"].Muzzle.Name = "Muzzle 2"
  1729. Player.Character[Name.. " (Left)"].Silencer.Name = "Muzzle"
  1730. end
  1731. end
  1732. end
  1733. if key == "r" and Button1Down == false and canFire == true then
  1734. if ammo.Value > 0 and magazine.Value ~= magazineMax.Value then
  1735. canFire = false
  1736. burstCount = 0
  1737. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  1738. updateGui()
  1739. if dual == true then
  1740. playAnimation("reloadDual")
  1741. elseif dual == false then
  1742. playAnimation("reload")
  1743. end
  1744. if dual == true then
  1745. if ammo.Value - magazineMax.Value < 0 then
  1746. magazine.Value = ammo.Value
  1747. ammo.Value = 0
  1748. elseif ammo.Value - magazineMax.Value >= 0 then
  1749. ammo.Value = ammo.Value - magazineMax.Value
  1750. magazine.Value = magazine.Value + magazineMax.Value
  1751. end
  1752. else end
  1753. updateGui()
  1754. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  1755. canFire = true
  1756. end
  1757. end
  1758. if key == "t" and Button1Down == false and canFire == true and canDual == true then
  1759. canFire = false
  1760. if dual == false then
  1761. local weapon = nil
  1762. for _, p in pairs(Player.Backpack:GetChildren()) do
  1763. if p.Name == Name and p ~= script.Parent then weapon = p break end
  1764. end
  1765. if weapon ~= nil then
  1766. dual = true
  1767. Chamber = 2
  1768. weapon.Name = "Dual"
  1769. weapon.Parent = script
  1770. removeParts("RightHand")
  1771. makeParts("RightHand")
  1772. removeParts("RightHolster")
  1773. makeParts("LeftHolster")
  1774. playAnimation("leftEquip")
  1775. removeParts("LeftHolster")
  1776. makeParts("LeftHand")
  1777. magazineMax.Value = math.ceil(magazineMax.Value * 2)
  1778. ammoMax.Value = math.ceil(ammoMax.Value * 2)
  1779. magazine.Value = magazine.Value + weapon.Magazine.Value
  1780. ammo.Value = ammo.Value + weapon.Ammo.Value
  1781. updateGui()
  1782. end
  1783. elseif dual == true then
  1784. local weapon = script:FindFirstChild("Dual")
  1785. if weapon ~= nil then
  1786. dual = false
  1787. Chamber = 1
  1788. weapon.Name = Name
  1789. weapon.Parent = Player.Backpack
  1790. removeParts("RightHand")
  1791. makeParts("RightHand")
  1792. playAnimation("leftUnequip")
  1793. removeParts("LeftHand")
  1794. makeParts("RightHolster")
  1795. playAnimation("hold")
  1796. weapon.Magazine.Value = math.floor(magazine.Value / 2)
  1797. weapon.Ammo.Value = math.floor(ammo.Value / 2)
  1798. magazineMax.Value = math.ceil(magazineMax.Value / 2)
  1799. ammoMax.Value = math.ceil(ammoMax.Value / 2)
  1800. magazine.Value = math.ceil(magazine.Value / 2)
  1801. ammo.Value = math.ceil(ammo.Value / 2)
  1802. updateGui()
  1803. end
  1804. end
  1805. canFire = true
  1806. end
  1807. if key == "y" and canZoom == true then
  1808. if zoom == false then
  1809. zoom = true
  1810. local pos = mouse.Hit.p
  1811. local target = mouse.Target
  1812. local cam = game:GetService("Workspace").CurrentCamera
  1813. focus = Instance.new("Part", workspace)
  1814. focus.Anchored = true
  1815. focus.CanCollide = false
  1816. focus.Transparency = 1
  1817. focus.TopSurface = 0
  1818. focus.BottomSurface = 0
  1819. focus.formFactor = "Plate"
  1820. focus.Size = Vector3.new(0, 0, 0)
  1821. focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p)
  1822. cam.CameraSubject = focus
  1823. cam.CameraType = "Attach"
  1824. while zoom == true and selected == true do
  1825. local set = false
  1826. if target ~= nil then
  1827. if target.Parent ~= nil then
  1828. if target.Anchored == false then
  1829. focus.CFrame = CFrame.new(target.CFrame.p) * (CFrame.new(Player.Character.Torso.CFrame.p, target.CFrame.p) - CFrame.new(Player.Character.Torso.CFrame.p, target.CFrame.p).p)
  1830. set = true
  1831. end
  1832. end
  1833. end
  1834. if set == false then
  1835. focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p)
  1836. end
  1837. wait()
  1838. end
  1839. if focus ~= nil then focus:Remove() focus = nil end
  1840. local cam = game:GetService("Workspace").CurrentCamera
  1841. cam.CameraSubject = Player.Character:FindFirstChild("Humanoid")
  1842. cam.CameraType = "Custom"
  1843. else
  1844. zoom = false
  1845. end
  1846. end
  1847. if key == "u" and Button1Down == false and canFire == true then
  1848. if automatic == false and burst == false then
  1849. if switchToBurst == true then
  1850. burst = true
  1851. local m = Instance.new("Message", Player)
  1852. m.Text = "Burst"
  1853. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  1854. delay(2.5, function() m:Remove() end)
  1855. elseif switchToAutomatic == true then
  1856. automatic = true
  1857. local m = Instance.new("Message", Player)
  1858. m.Text = "Automatic"
  1859. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  1860. delay(2.5, function() m:Remove() end)
  1861. end
  1862. elseif automatic == false and burst == true then
  1863. if switchToAutomatic == true then
  1864. automatic = true
  1865. burst = false
  1866. local m = Instance.new("Message", Player)
  1867. m.Text = "Automatic"
  1868. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  1869. delay(2.5, function() m:Remove() end)
  1870. elseif switchToSingle == true then
  1871. burst = false
  1872. local m = Instance.new("Message", Player)
  1873. m.Text = "Single"
  1874. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  1875. delay(2.5, function() m:Remove() end)
  1876. end
  1877. elseif automatic == true and burst == false then
  1878. if switchToSingle == true then
  1879. automatic = false
  1880. local m = Instance.new("Message", Player)
  1881. m.Text = "Single"
  1882. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  1883. delay(2.5, function() m:Remove() end)
  1884. elseif switchToBurst == true then
  1885. automatic = false
  1886. burst = true
  1887. local m = Instance.new("Message", Player)
  1888. m.Text = "Burst"
  1889. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  1890. delay(2.5, function() m:Remove() end)
  1891. end
  1892. end
  1893. end
  1894. if key == "c" and Hammer == false and dual == false and canFire == true then
  1895. playAnimation("hammer")
  1896. Hammer = true
  1897. end
  1898. end
  1899.  
  1900.  
  1901. function onSelected(mouse)
  1902. if selected == true then return end
  1903. selected = true
  1904. canFire = false
  1905. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  1906. while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
  1907. if Player.Character.WeaponActivated.Value == nil then break end
  1908. if Player.Character.WeaponActivated.Value.Parent == nil then break end
  1909. wait()
  1910. end
  1911. updateGui()
  1912. local weapon = Instance.new("ObjectValue")
  1913. weapon.Name = "WeaponActivated"
  1914. weapon.Value = script.Parent
  1915. weapon.Parent = Player.Character
  1916. DisableLimb(1, Player.Character)
  1917. DisableLimb(2, Player.Character)
  1918. ForceAngle(1, 0, Player.Character)
  1919. ForceAngle(2, 0, Player.Character)
  1920. if dual == true then
  1921. coroutine.resume(coroutine.create(function() playAnimation("leftEquip") end))
  1922. playAnimation("rightEquip")
  1923. removeParts("LeftHolster")
  1924. makeParts("LeftHand")
  1925. else
  1926. playAnimation("equip")
  1927. end
  1928. removeParts("RightHolster")
  1929. makeParts("RightHand")
  1930. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  1931. mouse.Button1Up:connect(function() onButton1Up(mouse) end)
  1932. mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)
  1933. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  1934. canFire = true
  1935. end
  1936.  
  1937.  
  1938. function onDeselected(mouse)
  1939. if selected == false then return end
  1940. Button1Down = false
  1941. while canFire == false do
  1942. wait()
  1943. end
  1944. selected = false
  1945. if dual == true then
  1946. if math.random(1, 2) == 1 then
  1947. coroutine.resume(coroutine.create(function() playAnimation("leftUnequip") end))
  1948. wait(math.random(1, 10) / 10)
  1949. playAnimation("rightUnequip")
  1950. else
  1951. coroutine.resume(coroutine.create(function() playAnimation("rightUnequip") end))
  1952. wait(math.random(1, 10) / 10)
  1953. playAnimation("leftUnequip")
  1954. end
  1955. removeParts("LeftHand")
  1956. makeParts("LeftHolster")
  1957. else
  1958. playAnimation("unequip")
  1959. end
  1960. removeParts("RightHand")
  1961. makeParts("RightHolster")
  1962. ForceAngle(1, 0, Player.Character)
  1963. ForceAngle(2, 0, Player.Character)
  1964. ResetLimbCFrame(1, Player.Character)
  1965. ResetLimbCFrame(2, Player.Character)
  1966. EnableLimb(1, Player.Character)
  1967. EnableLimb(2, Player.Character)
  1968. if Player.PlayerGui:FindFirstChild(Name) ~= nil then Player.PlayerGui[Name]:Remove() end
  1969. if Player.Character:FindFirstChild("WeaponActivated") ~= nil then
  1970. if Player.Character.WeaponActivated.Value == script.Parent then
  1971. Player.Character.WeaponActivated:Remove()
  1972. end
  1973. end
  1974. while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
  1975. if Player.Character.WeaponActivated.Value == nil then break end
  1976. if Player.Character.WeaponActivated.Value.Parent == nil then break end
  1977. wait()
  1978. end
  1979. end
  1980.  
  1981.  
  1982. if script.Parent.className ~= "HopperBin" then
  1983. if Player == nil then print("Error: Player not found!") return end
  1984. Tool = Instance.new("HopperBin")
  1985. Tool.Name = Name
  1986. Tool.Parent = Player.Backpack
  1987. script.Name = "Main"
  1988. script.Parent = Tool
  1989. elseif script.Parent.className == "HopperBin" then
  1990. while script.Parent.Parent.className ~= "Backpack" do
  1991. wait()
  1992. end
  1993. if script.Parent:FindFirstChild("MagazineMax") == nil then
  1994. magazineMax = Instance.new("NumberValue")
  1995. magazineMax.Name = "MagazineMax"
  1996. magazineMax.Value = 1333333333333333337
  1997. magazineMax.Parent = script.Parent
  1998. else
  1999. magazineMax = script.Parent.MagazineMax
  2000. end
  2001. if script.Parent:FindFirstChild("Magazine") == nil then
  2002. magazine = Instance.new("NumberValue")
  2003. magazine.Name = "Magazine"
  2004. magazine.Value = 133333333333333333337
  2005. magazine.Parent = script.Parent
  2006. else
  2007. magazine = script.Parent.Magazine
  2008. end
  2009. if script.Parent:FindFirstChild("AmmoMax") == nil then
  2010. ammoMax = Instance.new("NumberValue")
  2011. ammoMax.Name = "AmmoMax"
  2012. ammoMax.Value = 133333333333333333333333333333333333333333333333333333333337
  2013. ammoMax.Parent = script.Parent
  2014. else
  2015. ammoMax = script.Parent.AmmoMax
  2016. end
  2017. if script.Parent:FindFirstChild("Ammo") == nil then
  2018. ammo = Instance.new("NumberValue")
  2019. ammo.Name = "Ammo"
  2020. ammo.Value = script.Parent.AmmoMax.Value
  2021. ammo.Parent = script.Parent
  2022. else
  2023. ammo = script.Parent.Ammo
  2024. end
  2025. Player = script.Parent.Parent.Parent
  2026. makeParts("RightHolster")
  2027. script.Parent.Selected:connect(onSelected)
  2028. script.Parent.Deselected:connect(onDeselected)
  2029. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement