codemen

dual five sevens script [roblox]

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