Hebablazin

Epic Pistol

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