Advertisement
SmokeDelsin

SPIRIT OF REVENGE

May 20th, 2015
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Player = script:FindFirstChild("Player") ~= nil and script.Player.Value or game:GetService("Players"):FindFirstChild("SmokeDelsin")
  2. Name = "Spirit of Vengence"
  3. -- Mechanics
  4. WSPenalty = 50
  5. Reliability = 75
  6. Jammed = false
  7. Mode = 0
  8. Spread = 900000
  9. -- Appearance
  10. Reciever = 0
  11. MC = BrickColor.new("White")
  12. DC = BrickColor.new("White")
  13. GC = BrickColor.new("White")
  14. MR = 0
  15. GR = 0
  16. Magazine = "Beta-C"
  17. Sight = 1
  18. Grip = true
  19. Attachment = true
  20. Stock = 1
  21. -- Stats/Abilities
  22. selected = false
  23. canDual = false
  24. dual = false
  25. Button1Down = false
  26. damage = 40
  27. canFire = true
  28. canFire2 = false
  29. readyTime = 0.09
  30. automatic = false
  31. burst = false
  32. burstCount = 0
  33. burstCountMax = 15
  34. canSilence = true
  35. silenced = false
  36. canZoom = false
  37. zoom = false
  38. switchToSingle = true
  39. switchToBurst = true
  40. switchToAutomatic = true
  41.  
  42.  
  43. ammoGui = Instance.new("ScreenGui")
  44. ammoGui.Name = Name
  45. local frame = Instance.new("Frame")
  46. frame.Name = "Frame"
  47. frame.Size = UDim2.new(0, 165, 0, 60)
  48. frame.Position = UDim2.new(0, 0, 1, -400)
  49. frame.BackgroundColor3 = Color3.new(1, 1, 1)
  50. frame.BorderColor3 = Color3.new(0, 0, 0)
  51. frame.Parent = ammoGui
  52. local label = Instance.new("TextLabel")
  53. label.Name = "Weapon"
  54. label.Text = "Weapon: " ..Name
  55. label.Size = UDim2.new(1, 0, 0, 20)
  56. label.Position = UDim2.new(0, 0, 0, 0)
  57. label.BackgroundColor3 = Color3.new(1, 0, 0)
  58. label.BorderColor3 = Color3.new(0, 0, 0)
  59. label.Parent = frame
  60. local label = Instance.new("TextLabel")
  61. label.Name = "MagazinePrefix"
  62. label.Text = " " ..Magazine.. " Magazine:"
  63. label.TextXAlignment = "Left"
  64. label.Size = UDim2.new(1, 0, 0, 20)
  65. label.Position = UDim2.new(0, 0, 0, 20)
  66. label.BackgroundColor3 = Color3.new(1, 1, 1)
  67. label.BorderColor3 = Color3.new(0, 0, 0)
  68. label.Parent = frame
  69. local label = Instance.new("TextLabel")
  70. label.Name = "Magazine"
  71. label.Text = "0/0"
  72. label.TextXAlignment = "Right"
  73. label.Size = UDim2.new(1, 0, 0, 20)
  74. label.Position = UDim2.new(0, -10, 0, 20)
  75. label.BackgroundTransparency = 1
  76. label.BorderSizePixel = 0
  77. label.Parent = frame
  78. local label = Instance.new("TextLabel")
  79. label.Name = "AmmoPrefix"
  80. label.Text = " 5.56x45mm NATO:"
  81. label.TextXAlignment = "Left"
  82. label.Size = UDim2.new(1, 0, 0, 20)
  83. label.Position = UDim2.new(0, 0, 0, 40)
  84. label.BackgroundColor3 = Color3.new(1, 1, 1)
  85. label.BorderColor3 = Color3.new(0, 0, 0)
  86. label.Parent = frame
  87. local label = Instance.new("TextLabel")
  88. label.Name = "Ammo"
  89. label.Text = "0/0"
  90. label.TextXAlignment = "Right"
  91. label.Size = UDim2.new(1, 0, 0, 20)
  92. label.Position = UDim2.new(0, -10, 0, 40)
  93. label.BackgroundTransparency = 1
  94. label.BorderSizePixel = 0
  95. label.Parent = frame
  96.  
  97.  
  98. function updateGui()
  99. if selected == false then return end
  100. if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end
  101. if Player.PlayerGui:FindFirstChild(Name) == nil then
  102. ammoGui:Clone().Parent = Player.PlayerGui
  103. end
  104. Player.PlayerGui[Name].Frame.Magazine.Text = tostring(magazine.Value).. "/" ..tostring(magazineMax.Value)
  105. Player.PlayerGui[Name].Frame.Ammo.Text = tostring(ammo.Value).. "/" ..tostring(ammoMax.Value)
  106. end
  107.  
  108.  
  109. function makeParts(format)
  110. local model = Instance.new("Model")
  111. model.Name = Name
  112. local pm = Instance.new("Part")
  113. pm.Name = "Handle"
  114. pm.formFactor = "Symmetric"
  115. pm.Size = Vector3.new(1, 1, 1)
  116. pm.BrickColor = MC
  117. pm.Reflectance = MR
  118. pm.CanCollide = false
  119. pm.Locked = true
  120. pm.TopSurface = 0
  121. pm.BottomSurface = 0
  122. pm.Parent = model
  123. local m = Instance.new("BlockMesh")
  124. m.Scale = Vector3.new(0.3, 1.1, 0.41)
  125. m.Offset = Vector3.new(0, -0.14, 0.07)
  126. m.Parent = pm
  127. if format ~= nil then
  128. local w = Instance.new("Weld")
  129. w.Part0 = pm
  130. if format == "RightHand" then
  131. w.Part1 = Player.Character:FindFirstChild("Right Arm")
  132. w.C0 = CFrame.new(0, 1.15, 0.7)
  133. w.C1 = CFrame.new()
  134. elseif format == "RightHolster" then
  135. w.Part1 = Player.Character:FindFirstChild("Torso")
  136. w.C0 = CFrame.new(-0.65, -0.6, 0.4) * CFrame.fromEulerAnglesXYZ(math.rad(40), math.rad(90), 0)
  137. w.C1 = CFrame.new()
  138. model.Name = Name.. " (Holstered)"
  139. end
  140. w.Parent = pm
  141. model.Parent = Player.Character
  142. end
  143. --[[
  144. sniper1 http://www.roblox.com/asset/?id=1868836
  145. equip http://www.roblox.com/asset/?id=13510737
  146. fire1 http://www.roblox.com/asset/?id=2760979
  147. fire2 http://www.roblox.com/asset/?id=13510352
  148. fire3 http://www.roblox.com/asset/?id=2692806
  149. fire4 http://www.roblox.com/asset/?id=2691586
  150. fire5 http://www.roblox.com/asset/?id=2920959
  151. fire6 http://www.roblox.com/asset/?id=2697431
  152. fire7 http://www.roblox.com/asset/?id=2920959
  153. reload1 http://www.roblox.com/asset/?id=2691591
  154. reload2 http://www.roblox.com/asset/?id=2697432
  155. reload3 http://www.roblox.com/asset/?id=2920960
  156. reload4 http://www.roblox.com/asset/?id=2761842
  157. shotgun1 http://www.roblox.com/asset/?id=2697294
  158. --]]
  159. local s = Instance.new("Sound")
  160. s.Name = "Fire"
  161. s.SoundId = "http://www.roblox.com/Asset/?id=10209803" --"http://www.roblox.com/asset/?id=2920959"
  162. s.Volume = 1
  163. s.Pitch = 2
  164. s.Looped = false
  165. s.Parent = pm
  166. local s = Instance.new("Sound")
  167. s.Name = "Fire2"
  168. s.SoundId = "http://www.roblox.com/Asset/?id=10209633"
  169. s.Volume = 1
  170. s.Pitch = 3
  171. s.Looped = false
  172. s.Parent = pm
  173. local s = Instance.new("Sound")
  174. s.Name = "Jam"
  175. s.SoundId = "http://www.roblox.com/Asset/?id=10209636"
  176. s.Volume = 1
  177. s.Pitch = 2
  178. s.Looped = false
  179. s.Parent = pm
  180. local s = Instance.new("Sound")
  181. s.Name = "Lock"
  182. s.SoundId = "http://www.roblox.com/Asset/?id=10209845"
  183. s.Volume = 1
  184. s.Pitch = 3
  185. s.Looped = false
  186. s.Parent = pm
  187. local s = Instance.new("Sound")
  188. s.Name = "Release"
  189. s.SoundId = "http://www.roblox.com/Asset/?id=10209813"
  190. s.Volume = 1
  191. s.Pitch = 2
  192. s.Looped = false
  193. s.Parent = pm
  194. local s = Instance.new("Sound")
  195. s.Name = "Reload"
  196. s.SoundId = "http://www.roblox.com/asset/?id=2697295"
  197. s.Volume = 1
  198. s.Pitch = 7.5
  199. s.Looped = false
  200. s.Parent = pm
  201. local s = Instance.new("Sound")
  202. s.Name = "Empty"
  203. s.SoundId = "http://www.roblox.com/asset/?id=2697295"
  204. s.Volume = 1
  205. s.Pitch = 5
  206. s.Looped = false
  207. s.Parent = pm
  208. local s = Instance.new("Sound")
  209. s.Name = "Switch"
  210. s.SoundId = "http://www.roblox.com/asset/?id=2697295"
  211. s.Volume = 1
  212. s.Pitch = 10
  213. s.Looped = false
  214. s.Parent = pm
  215. local s = Instance.new("Sound")
  216. s.Name = "Equip"
  217. s.SoundId = "http://www.roblox.com/Asset/?id=10209845"
  218. s.Volume = 1
  219. s.Pitch = 1.2
  220. s.Looped = false
  221. s.Parent = pm
  222. local p = Instance.new("Part")
  223. p.Name = "ShellOut"
  224. p.formFactor = "Symmetric"
  225. p.Size = Vector3.new(1, 1, 1)
  226. p.Transparency = 1
  227. p.Locked = true
  228. p.CanCollide = false
  229. p.TopSurface = 0
  230. p.BottomSurface = 0
  231. p.Parent = model
  232. local w = Instance.new("Weld")
  233. w.Part0 = p
  234. w.Part1 = pm
  235. w.C0 = CFrame.new(0, 0.4, 0.1) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  236. w.C1 = CFrame.new()
  237. w.Parent = p
  238. local p = Instance.new("Part")
  239. p.Name = "Grip"
  240. p.formFactor = "Symmetric"
  241. p.Size = Vector3.new(1, 1, 1)
  242. p.BrickColor = GC
  243. p.Reflectance = GR
  244. p.CanCollide = false
  245. p.Locked = true
  246. p.TopSurface = 0
  247. p.BottomSurface = 0
  248. p.Parent = model
  249. local m = Instance.new("BlockMesh")
  250. m.Scale = Vector3.new(0.29, 0.38, 0.8)
  251. m.Parent = p
  252. local w = Instance.new("Weld")
  253. w.Part0 = p
  254. w.Part1 = pm
  255. w.C0 = CFrame.new(0, -0.15, -0.5) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0)
  256. w.C1 = CFrame.new()
  257. w.Parent = p
  258. local p = Instance.new("Part")
  259. p.Name = "Magazine Housing"
  260. p.formFactor = "Symmetric"
  261. p.Size = Vector3.new(1, 1, 1)
  262. p.BrickColor = MC
  263. p.Reflectance = MR
  264. p.CanCollide = false
  265. p.Locked = true
  266. p.TopSurface = 0
  267. p.BottomSurface = 0
  268. p.Parent = model
  269. local m = Instance.new("BlockMesh")
  270. m.Scale = Vector3.new(0.3, 0.46, 0.4)
  271. m.Parent = p
  272. local w = Instance.new("Weld")
  273. w.Part0 = p
  274. w.Part1 = pm
  275. w.C0 = CFrame.new(0, 0.46, -0.21)
  276. w.C1 = CFrame.new()
  277. w.Parent = p
  278. local p = Instance.new("Part")
  279. p.Name = "BoltHole" --------------
  280. p.CanCollide = false
  281. p.formFactor = "Symmetric"
  282. p.Size = Vector3.new(1, 1, 1)
  283. p.BrickColor = BrickColor.new("Really black")
  284. p.Locked = true
  285. p.TopSurface = 0
  286. p.BottomSurface = 0
  287. p.Parent = model
  288. local m = Instance.new("CylinderMesh")
  289. m.Scale = Vector3.new(0.13, 0.29, 0.13)
  290. m.Parent = p
  291. local w = Instance.new("Weld")
  292. w.Part0 = p
  293. w.Part1 = pm
  294. w.C0 = CFrame.new(-0.1, 0.4, -0.04)
  295. w.C1 = CFrame.new()
  296. w.Parent = p
  297. local p = Instance.new("Part")
  298. p.Name = "MagazineHole"
  299. p.formFactor = "Symmetric"
  300. p.Size = Vector3.new(1, 1, 1)
  301. p.BrickColor = BrickColor.new("Really black")
  302. p.CanCollide = false
  303. p.Locked = true
  304. p.TopSurface = 0
  305. p.BottomSurface = 0
  306. p.Parent = model
  307. local m = Instance.new("BlockMesh")
  308. m.Scale = Vector3.new(0.28, 0.44, 0.406)
  309. m.Parent = p
  310. local w = Instance.new("Weld")
  311. w.Part0 = p
  312. w.Part1 = pm
  313. w.C0 = CFrame.new(0, 0.46, -0.21)
  314. w.C1 = CFrame.new()
  315. w.Parent = p
  316. if Magazine == "Beta-C" then
  317. local pm2 = Instance.new("Part")
  318. pm2.Name = "Magazine"
  319. pm2.formFactor = "Symmetric"
  320. pm2.Size = Vector3.new(1, 1, 1)
  321. pm2.BrickColor = BrickColor.new("Dark stone grey")
  322. pm2.Locked = true
  323. pm2.CanCollide = false
  324. pm2.TopSurface = 0
  325. pm2.BottomSurface = 0
  326. pm2.Parent = model
  327. local m = Instance.new("BlockMesh")
  328. m.Scale = Vector3.new(0.25, 0.43, 0.6)
  329. m.Parent = pm2
  330. local w = Instance.new("Weld")
  331. w.Part0 = pm2
  332. w.Part1 = pm
  333. w.C0 = CFrame.new(0, 0.425, -0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-6), 0, 0)
  334. w.C1 = CFrame.new()
  335. w.Parent = p
  336. local p = Instance.new("Part")
  337. p.Name = "MagPull1"
  338. p.formFactor = "Symmetric"
  339. p.Size = Vector3.new(1, 1, 1)
  340. p.BrickColor = BrickColor.new("Dark stone grey")
  341. p.Locked = true
  342. p.CanCollide = false
  343. p.TopSurface = 0
  344. p.BottomSurface = 0
  345. p.Parent = model
  346. local m = Instance.new("CylinderMesh")
  347. m.Scale = Vector3.new(0.5, 0.43, 0.5)
  348. m.Parent = p
  349. local w = Instance.new("Weld")
  350. w.Part0 = p
  351. w.Part1 = pm2
  352. w.C0 = CFrame.new(-0.26, 0, -0.12)
  353. w.C1 = CFrame.new()
  354. w.Parent = p
  355. local p = Instance.new("Part")
  356. p.Name = "MagPull2"
  357. p.formFactor = "Symmetric"
  358. p.Size = Vector3.new(1, 1, 1)
  359. p.BrickColor = BrickColor.new("Dark stone grey")
  360. p.Locked = true
  361. p.CanCollide = false
  362. p.TopSurface = 0
  363. p.BottomSurface = 0
  364. p.Parent = model
  365. local m = Instance.new("CylinderMesh")
  366. m.Scale = Vector3.new(0.5, 0.43, 0.5)
  367. m.Parent = p
  368. local w = Instance.new("Weld")
  369. w.Part0 = p
  370. w.Part1 = pm2
  371. w.C0 = CFrame.new(0.26, 0, -0.12)
  372. w.C1 = CFrame.new()
  373. w.Parent = p
  374. elseif Magazine == "STANAG" then
  375. local pm2 = Instance.new("Part")
  376. pm2.Name = "Magazine"
  377. pm2.formFactor = "Symmetric"
  378. pm2.Size = Vector3.new(1, 1, 1)
  379. pm2.BrickColor = BrickColor.new("Dark stone grey")
  380. pm2.Locked = true
  381. pm2.CanCollide = false
  382. pm2.TopSurface = 0
  383. pm2.BottomSurface = 0
  384. pm2.Parent = model
  385. local m = Instance.new("BlockMesh")
  386. m.Scale = Vector3.new(0.25, 0.43, 0.8)
  387. m.Parent = pm2
  388. local w = Instance.new("Weld")
  389. w.Part0 = pm2
  390. w.Part1 = pm
  391. w.C0 = CFrame.new(0, 0.425, -0.6) * CFrame.fromEulerAnglesXYZ(math.rad(-6), 0, 0)
  392. w.C1 = CFrame.new()
  393. w.Parent = p
  394. local p = Instance.new("Part")
  395. p.Name = "MagPull1"
  396. p.formFactor = "Symmetric"
  397. p.Size = Vector3.new(1, 1, 1)
  398. p.BrickColor = BrickColor.new("Sand green")
  399. p.Locked = true
  400. p.CanCollide = false
  401. p.TopSurface = 0
  402. p.BottomSurface = 0
  403. p.Parent = model
  404. local m = Instance.new("BlockMesh")
  405. m.Scale = Vector3.new(0.26, 0.44, 0.2)
  406. m.Parent = p
  407. local w = Instance.new("Weld")
  408. w.Part0 = p
  409. w.Part1 = pm2
  410. w.C0 = CFrame.new(0, 0, -0.15)
  411. w.C1 = CFrame.new()
  412. w.Parent = p
  413. local p = Instance.new("Part")
  414. p.Name = "MagPull2"
  415. p.formFactor = "Symmetric"
  416. p.Size = Vector3.new(1, 1, 1)
  417. p.BrickColor = BrickColor.new("Sand green")
  418. p.Locked = true
  419. p.CanCollide = false
  420. p.TopSurface = 0
  421. p.BottomSurface = 0
  422. p.Parent = model
  423. local m = Instance.new("BlockMesh")
  424. m.Scale = Vector3.new(0.26, 0.2, 0.3)
  425. m.Parent = p
  426. local w = Instance.new("Weld")
  427. w.Part0 = p
  428. w.Part1 = pm2
  429. w.C0 = CFrame.new(0, 0, -0.3)
  430. w.C1 = CFrame.new()
  431. w.Parent = p
  432. else end
  433. local p = Instance.new("Part")
  434. p.Name = "Trigger Housing"
  435. p.formFactor = "Symmetric"
  436. p.Size = Vector3.new(1, 1, 1)
  437. p.BrickColor = MC
  438. p.Reflectance = MR
  439. p.CanCollide = false
  440. p.Locked = true
  441. p.TopSurface = 0
  442. p.BottomSurface = 0
  443. p.Parent = model
  444. local m = Instance.new("BlockMesh")
  445. m.Scale = Vector3.new(0.1, 0.4, 0.025)
  446. m.Parent = p
  447. local w = Instance.new("Weld")
  448. w.Part0 = p
  449. w.Part1 = pm
  450. w.C0 = CFrame.new(0, 0.1, -0.38)
  451. w.C1 = CFrame.new()
  452. w.Parent = p
  453. local p = Instance.new("Part")
  454. p.Name = "Trigger"
  455. p.formFactor = "Symmetric"
  456. p.Size = Vector3.new(1, 1, 1)
  457. p.BrickColor = MC
  458. p.Reflectance = MR
  459. p.CanCollide = false
  460. p.Locked = true
  461. p.TopSurface = 0
  462. p.BottomSurface = 0
  463. p.Parent = model
  464. local m = Instance.new("BlockMesh")
  465. m.Scale = Vector3.new(0.1, 0.05, 0.15)
  466. m.Parent = p
  467. local w = Instance.new("Weld")
  468. w.Part0 = p
  469. w.Part1 = pm
  470. w.C0 = CFrame.new(0, 0.03, -0.275)
  471. w.C1 = CFrame.new()
  472. w.Parent = p
  473. local p = Instance.new("Part")
  474. p.Name = "Center" --------------
  475. p.CanCollide = false
  476. p.formFactor = "Symmetric"
  477. p.Size = Vector3.new(1, 1, 1)
  478. p.BrickColor = MC
  479. p.Reflectance = MR
  480. p.Locked = true
  481. p.TopSurface = 0
  482. p.BottomSurface = 0
  483. p.Parent = model
  484. local m = Instance.new("CylinderMesh")
  485. m.Scale = Vector3.new(0.32, 1.1, 0.32)
  486. m.Parent = p
  487. local w = Instance.new("Weld")
  488. w.Part0 = p
  489. w.Part1 = pm
  490. w.C0 = CFrame.new(0, 0.14, -0.04)
  491. w.C1 = CFrame.new()
  492. w.Parent = p
  493. local p = Instance.new("Part")
  494. p.Name = "CHandleC" --------------
  495. p.CanCollide = false
  496. p.formFactor = "Symmetric"
  497. p.Size = Vector3.new(1, 1, 1)
  498. p.BrickColor = DC
  499. p.Reflectance = MR
  500. p.Locked = true
  501. p.TopSurface = 0
  502. p.BottomSurface = 0
  503. p.Parent = model
  504. local m = Instance.new("CylinderMesh")
  505. m.Scale = Vector3.new(0.32, 0.1, 0.32)
  506. m.Parent = p
  507. local w = Instance.new("Weld")
  508. w.Part0 = p
  509. w.Part1 = pm
  510. w.C0 = CFrame.new(0, -0.08, -0.38) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  511. w.C1 = CFrame.new()
  512. w.Parent = p
  513. local p = Instance.new("Part")
  514. p.Name = "CHandleB" --------------
  515. p.CanCollide = false
  516. p.formFactor = "Symmetric"
  517. p.Size = Vector3.new(1, 1, 1)
  518. p.BrickColor = DC
  519. p.Reflectance = MR
  520. p.Transparency = 1
  521. p.Locked = true
  522. p.TopSurface = 0
  523. p.BottomSurface = 0
  524. p.Parent = model
  525. local m = Instance.new("CylinderMesh")
  526. m.Scale = Vector3.new(0.32, 0.1, 0.32)
  527. m.Parent = p
  528. local w = Instance.new("Weld")
  529. w.Part0 = p
  530. w.Part1 = pm
  531. w.C0 = CFrame.new(0, -0.08, -0.72) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  532. w.C1 = CFrame.new()
  533. w.Parent = p
  534. local p = Instance.new("Part")
  535. p.Name = "CHandleB1" --------------
  536. p.CanCollide = false
  537. p.formFactor = "Symmetric"
  538. p.Size = Vector3.new(1, 1, 1)
  539. p.BrickColor = DC
  540. p.Reflectance = MR
  541. p.Transparency = 1
  542. p.Locked = true
  543. p.TopSurface = 0
  544. p.BottomSurface = 0
  545. p.Parent = model
  546. local m = Instance.new("BlockMesh")
  547. m.Scale = Vector3.new(0.15, 0.8, 0.1)
  548. m.Parent = p
  549. local w = Instance.new("Weld")
  550. w.Part0 = p
  551. w.Part1 = pm
  552. w.C0 = CFrame.new(0, -0.3, 0.08)
  553. w.C1 = CFrame.new()
  554. w.Parent = p
  555. local p = Instance.new("Part")
  556. p.Name = "Bolt" --------------
  557. p.CanCollide = false
  558. p.formFactor = "Symmetric"
  559. p.Size = Vector3.new(1, 1, 1)
  560. p.BrickColor = BrickColor.new("Dark stone grey")
  561. p.Locked = true
  562. p.TopSurface = 0
  563. p.BottomSurface = 0
  564. p.Parent = model
  565. local m = Instance.new("CylinderMesh")
  566. m.Name = "Mesh"
  567. m.Scale = Vector3.new(0.14, 0.3, 0.14)
  568. m.Offset = Vector3.new(0, 0, 0)
  569. m.Parent = p
  570. local w = Instance.new("Weld")
  571. w.Part0 = p
  572. w.Part1 = pm
  573. w.C0 = CFrame.new(-0.1, 0.4, -0.04)
  574. w.C1 = CFrame.new()
  575. w.Parent = p
  576. local p = Instance.new("Part")
  577. p.Name = "DustCover" --------------
  578. p.CanCollide = false
  579. p.formFactor = "Symmetric"
  580. p.Size = Vector3.new(1, 1, 1)
  581. p.BrickColor = DC
  582. p.Locked = true
  583. p.TopSurface = 0
  584. p.BottomSurface = 0
  585. p.Parent = model
  586. local m = Instance.new("BlockMesh")
  587. m.Name = "Mesh"
  588. m.Scale = Vector3.new(0.14, 0.34, 0.14)
  589. m.Offset = Vector3.new(0, 0, 0)
  590. m.Parent = p
  591. local s = Instance.new("Smoke")
  592. s.Enabled = false
  593. s.Name = "Smoke"
  594. s.RiseVelocity = 0
  595. s.Opacity = 0.1
  596. s.Color = Color3.new(90 / 225, 90 / 225, 90 / 225)
  597. s.Size = 0.2
  598. s.Parent = p
  599. local w = Instance.new("Weld")
  600. w.Part0 = p
  601. w.Part1 = pm
  602. w.C0 = CFrame.new(0, 0, 1) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  603. w.C1 = CFrame.new()
  604. w.Parent = p
  605. local w = Instance.new("Weld")
  606. w.Part0 = p
  607. w.Part1 = pm
  608. w.C0 = CFrame.new(-0.105, 0.4, -0.06) * CFrame.fromEulerAnglesXYZ(0, math.rad(-6), 0)
  609. w.C1 = CFrame.new()
  610. w.Parent = p
  611. local p = Instance.new("Part")
  612. p.Name = "ForeBarrel"
  613. p.CanCollide = false
  614. p.formFactor = "Symmetric"
  615. p.Size = Vector3.new(1, 1, 1)
  616. p.BrickColor = GC
  617. p.Reflectance = GR
  618. p.Locked = true
  619. p.TopSurface = 0
  620. p.BottomSurface = 0
  621. p.Parent = model
  622. local m = Instance.new("CylinderMesh")
  623. m.Scale = Vector3.new(0.36, 0.8, 0.36)
  624. m.Parent = p
  625. local w = Instance.new("Weld")
  626. w.Part0 = p
  627. w.Part1 = pm
  628. w.C0 = CFrame.new(0, 1.08, -0.04)
  629. w.C1 = CFrame.new()
  630. w.Parent = p
  631. local p = Instance.new("Part")
  632. p.Name = "Rail" --------------
  633. p.CanCollide = false
  634. p.formFactor = "Symmetric"
  635. p.Size = Vector3.new(1, 1, 1)
  636. p.BrickColor = MC
  637. p.Reflectance = MR
  638. p.Locked = true
  639. p.TopSurface = 0
  640. p.BottomSurface = 0
  641. p.Parent = model
  642. local m = Instance.new("BlockMesh")
  643. m.Scale = Vector3.new(0.36, 0.7, 0.18)
  644. m.Parent = p
  645. local w = Instance.new("Weld")
  646. w.Part0 = p
  647. w.Part1 = pm
  648. w.C0 = CFrame.new(0, 1.08, -0.04)
  649. w.C1 = CFrame.new()
  650. w.Parent = p
  651. local p = Instance.new("Part")
  652. p.Name = "Rail" --------------
  653. p.CanCollide = false
  654. p.formFactor = "Symmetric"
  655. p.Size = Vector3.new(1, 1, 1)
  656. p.BrickColor = MC
  657. p.Reflectance = MR
  658. p.Locked = true
  659. p.TopSurface = 0
  660. p.BottomSurface = 0
  661. p.Parent = model
  662. local m = Instance.new("BlockMesh")
  663. m.Scale = Vector3.new(0.18, 0.7, 0.36)
  664. m.Parent = p
  665. local w = Instance.new("Weld")
  666. w.Part0 = p
  667. w.Part1 = pm
  668. w.C0 = CFrame.new(0, 1.08, -0.04)
  669. w.C1 = CFrame.new()
  670. w.Parent = p
  671. if Reciever == 0 then
  672. local p = Instance.new("Part")
  673. p.Name = "Barrel 1"
  674. p.formFactor = "Symmetric"
  675. p.Size = Vector3.new(1, 1, 1)
  676. p.BrickColor = DC
  677. p.Reflectance = MR
  678. p.CanCollide = false
  679. p.Locked = true
  680. p.TopSurface = 0
  681. p.BottomSurface = 0
  682. p.Parent = model
  683. local m = Instance.new("CylinderMesh")
  684. m.Scale = Vector3.new(0.15, 0.8, 0.15)
  685. m.Parent = p
  686. local w = Instance.new("Weld")
  687. w.Part0 = p
  688. w.Part1 = pm
  689. w.C0 = CFrame.new(0, 1.6, -0.04)
  690. w.C1 = CFrame.new()
  691. w.Parent = p
  692. local p = Instance.new("Part")
  693. p.Name = "Hole"
  694. p.formFactor = "Symmetric"
  695. p.Size = Vector3.new(1, 1, 1)
  696. p.BrickColor = BrickColor.new("Really black")
  697. p.CanCollide = false
  698. p.Locked = true
  699. p.TopSurface = 0
  700. p.BottomSurface = 0
  701. p.Parent = model
  702. local m = Instance.new("CylinderMesh")
  703. m.Scale = Vector3.new(0.1, 0.4, 0.1)
  704. m.Offset = Vector3.new(0, 0.2, 0)
  705. m.Parent = p
  706. local w = Instance.new("Weld")
  707. w.Part0 = p
  708. w.Part1 = pm
  709. w.C0 = CFrame.new(0, 2.403, -0.04)
  710. w.C1 = CFrame.new()
  711. w.Parent = p
  712. local p = Instance.new("Part")
  713. if silenced == false then
  714. p.Name = "Muzzle"
  715. else
  716. p.Name = "Muzzle 2"
  717. end
  718. p.formFactor = "Symmetric"
  719. p.Size = Vector3.new(1, 1, 1)
  720. p.BrickColor = DC
  721. p.Reflectance = MR
  722. p.CanCollide = false
  723. p.Locked = true
  724. p.TopSurface = 0
  725. p.BottomSurface = 0
  726. p.Parent = model
  727. local m = Instance.new("CylinderMesh")
  728. m.Scale = Vector3.new(0.18, 0.4, 0.18)
  729. m.Offset = Vector3.new(0, 0.2, 0)
  730. m.Parent = p
  731. local w = Instance.new("Weld")
  732. w.Part0 = p
  733. w.Part1 = pm
  734. w.C0 = CFrame.new(0, 2.4, -0.04)
  735. w.C1 = CFrame.new()
  736. w.Parent = p
  737. local s = Instance.new("Smoke")
  738. s.Enabled = false
  739. s.Name = "Smoke"
  740. s.RiseVelocity = -5
  741. s.Opacity = 0.3
  742. s.Color = Color3.new(75 / 225, 75 / 225, 75 / 225)
  743. s.Size = 1
  744. s.Parent = p
  745. local f = Instance.new("Fire")
  746. f.Enabled = false
  747. f.Name = "Fire"
  748. f.Heat = -35
  749. f.Size = 1
  750. f.Parent = p
  751. local p = Instance.new("Part")
  752. p.formFactor = "Symmetric"
  753. p.Size = Vector3.new(1, 1, 1)
  754. p.BrickColor = MC
  755. p.CanCollide = false
  756. if silenced == false then
  757. p.Name = "Silencer"
  758. p.Transparency = 1
  759. else
  760. p.Name = "Muzzle"
  761. p.Transparency = 0
  762. end
  763. p.Locked = true
  764. p.TopSurface = 0
  765. p.BottomSurface = 0
  766. p.Parent = model
  767. local m = Instance.new("CylinderMesh")
  768. m.Scale = Vector3.new(0.25, 0.8, 0.25)
  769. m.Parent = p
  770. local w = Instance.new("Weld")
  771. w.Part0 = p
  772. w.Part1 = pm
  773. w.C0 = CFrame.new(0, 2.5, -0.04)
  774. w.C1 = CFrame.new()
  775. w.Parent = p
  776. local p = Instance.new("Part")
  777. p.Name = "Silencer1"
  778. p.formFactor = "Symmetric"
  779. p.Size = Vector3.new(1, 1, 1)
  780. p.BrickColor = BrickColor.new("Dark stone grey")
  781. p.CanCollide = false
  782. if silenced == false then
  783. p.Transparency = 1
  784. else
  785. p.Transparency = 0
  786. end
  787. p.Locked = true
  788. p.TopSurface = 0
  789. p.BottomSurface = 0
  790. p.Parent = model
  791. local m = Instance.new("CylinderMesh")
  792. m.Scale = Vector3.new(0.255, 0.6, 0.255)
  793. m.Parent = p
  794. local w = Instance.new("Weld")
  795. w.Part0 = p
  796. w.Part1 = pm
  797. w.C0 = CFrame.new(0, 2.5, -0.04)
  798. w.C1 = CFrame.new()
  799. w.Parent = p
  800. local p = Instance.new("Part")
  801. p.Name = "Silencer2"
  802. p.formFactor = "Symmetric"
  803. p.Size = Vector3.new(1, 1, 1)
  804. p.BrickColor = BrickColor.new("Really black")
  805. p.CanCollide = false
  806. if silenced == false then
  807. p.Transparency = 1
  808. else
  809. p.Transparency = 0
  810. end
  811. p.Locked = true
  812. p.TopSurface = 0
  813. p.BottomSurface = 0
  814. p.Parent = model
  815. local m = Instance.new("CylinderMesh")
  816. m.Scale = Vector3.new(0.1, 0.803, 0.1)
  817. m.Parent = p
  818. local w = Instance.new("Weld")
  819. w.Part0 = p
  820. w.Part1 = pm
  821. w.C0 = CFrame.new(0, 2.5, -0.04)
  822. w.C1 = CFrame.new()
  823. w.Parent = p
  824. local p = Instance.new("Part") -- Gas Block
  825. p.Name = "Frontsight"
  826. p.formFactor = "Symmetric"
  827. p.Size = Vector3.new(1, 1, 1)
  828. p.BrickColor = DC
  829. p.Reflectance = MR
  830. p.CanCollide = false
  831. p.Locked = true
  832. p.TopSurface = 0
  833. p.BottomSurface = 0
  834. p.Parent = model
  835. local m = Instance.new("BlockMesh")
  836. m.Scale = Vector3.new(0.08, 0.1, 0.3)
  837. m.Parent = p
  838. local w = Instance.new("Weld")
  839. w.Part0 = p
  840. w.Part1 = pm
  841. w.C0 = CFrame.new(0, 1.7, 0.1)
  842. w.C1 = CFrame.new()
  843. w.Parent = p
  844. local p = Instance.new("Part")
  845. p.Name = "Frontsight"
  846. p.formFactor = "Symmetric"
  847. p.Size = Vector3.new(1, 1, 1)
  848. p.BrickColor = DC
  849. p.Reflectance = MR
  850. p.CanCollide = false
  851. p.Locked = true
  852. p.TopSurface = 0
  853. p.BottomSurface = 0
  854. p.Parent = model
  855. local m = Instance.new("CylinderMesh")
  856. m.Scale = Vector3.new(0.1, 0.1, 0.1)
  857. m.Parent = p
  858. local w = Instance.new("Weld")
  859. w.Part0 = p
  860. w.Part1 = pm
  861. w.C0 = CFrame.new(0, 1.7, 0.28)
  862. w.C1 = CFrame.new()
  863. w.Parent = p
  864. local p = Instance.new("Part")
  865. p.Name = "FrontSight"
  866. p.CanCollide = false
  867. p.formFactor = "Symmetric"
  868. p.Size = Vector3.new(1, 1, 1)
  869. p.BrickColor = MC
  870. p.Reflectance = MR
  871. p.Locked = true
  872. p.TopSurface = 0
  873. p.BottomSurface = 0
  874. p.Parent = model
  875. local m = Instance.new("SpecialMesh")
  876. m.MeshType = "Wedge"
  877. m.Scale = Vector3.new(0.08, 0.45, 0.3)
  878. m.Parent = p
  879. local w = Instance.new("Weld")
  880. w.Part0 = p
  881. w.Part1 = pm
  882. w.C0 = CFrame.new(0, 1.45, 0.14)
  883. w.C1 = CFrame.new()
  884. w.Parent = p
  885. elseif Reciever == 1 then
  886. local p = Instance.new("Part")
  887. p.Name = "Barrel 1"
  888. p.formFactor = "Symmetric"
  889. p.Size = Vector3.new(1, 1, 1)
  890. p.BrickColor = DC
  891. p.Reflectance = MR
  892. p.CanCollide = false
  893. p.Locked = true
  894. p.TopSurface = 0
  895. p.BottomSurface = 0
  896. p.Parent = model
  897. local m = Instance.new("CylinderMesh")
  898. m.Scale = Vector3.new(0.15, 0.8, 0.15)
  899. m.Parent = p
  900. local w = Instance.new("Weld")
  901. w.Part0 = p
  902. w.Part1 = pm
  903. w.C0 = CFrame.new(0, 1.4, -0.04)
  904. w.C1 = CFrame.new()
  905. w.Parent = p
  906. local p = Instance.new("Part")
  907. p.Name = "Hole"
  908. p.formFactor = "Symmetric"
  909. p.Size = Vector3.new(1, 1, 1)
  910. p.BrickColor = BrickColor.new("Really black")
  911. p.CanCollide = false
  912. p.Locked = true
  913. p.TopSurface = 0
  914. p.BottomSurface = 0
  915. p.Parent = model
  916. local m = Instance.new("CylinderMesh")
  917. m.Scale = Vector3.new(0.1, 0.4, 0.1)
  918. m.Offset = Vector3.new(0, 0.2, 0)
  919. m.Parent = p
  920. local w = Instance.new("Weld")
  921. w.Part0 = p
  922. w.Part1 = pm
  923. w.C0 = CFrame.new(0, 2.203, -0.04)
  924. w.C1 = CFrame.new()
  925. w.Parent = p
  926. local p = Instance.new("Part")
  927. if silenced == false then
  928. p.Name = "Muzzle"
  929. else
  930. p.Name = "Muzzle 2"
  931. end
  932. p.formFactor = "Symmetric"
  933. p.Size = Vector3.new(1, 1, 1)
  934. p.BrickColor = DC
  935. p.Reflectance = MR
  936. p.CanCollide = false
  937. p.Locked = true
  938. p.TopSurface = 0
  939. p.BottomSurface = 0
  940. p.Parent = model
  941. local m = Instance.new("CylinderMesh")
  942. m.Scale = Vector3.new(0.18, 0.4, 0.18)
  943. m.Offset = Vector3.new(0, 0.2, 0)
  944. m.Parent = p
  945. local w = Instance.new("Weld")
  946. w.Part0 = p
  947. w.Part1 = pm
  948. w.C0 = CFrame.new(0, 2.2, -0.04)
  949. w.C1 = CFrame.new()
  950. w.Parent = p
  951. local s = Instance.new("Smoke")
  952. s.Enabled = false
  953. s.Name = "Smoke"
  954. s.RiseVelocity = -5
  955. s.Opacity = 0.3
  956. s.Color = Color3.new(75 / 225, 75 / 225, 75 / 225)
  957. s.Size = 1
  958. s.Parent = p
  959. local f = Instance.new("Fire")
  960. f.Enabled = false
  961. f.Name = "Fire"
  962. f.Heat = -35
  963. f.Size = 1
  964. f.Parent = p
  965. local p = Instance.new("Part")
  966. p.formFactor = "Symmetric"
  967. p.Size = Vector3.new(1, 1, 1)
  968. p.BrickColor = MC
  969. p.CanCollide = false
  970. if silenced == false then
  971. p.Name = "Silencer"
  972. p.Transparency = 1
  973. else
  974. p.Name = "Muzzle"
  975. p.Transparency = 0
  976. end
  977. p.Locked = true
  978. p.TopSurface = 0
  979. p.BottomSurface = 0
  980. p.Parent = model
  981. local m = Instance.new("CylinderMesh")
  982. m.Scale = Vector3.new(0.25, 0.8, 0.25)
  983. m.Parent = p
  984. local w = Instance.new("Weld")
  985. w.Part0 = p
  986. w.Part1 = pm
  987. w.C0 = CFrame.new(0, 2.3, -0.04)
  988. w.C1 = CFrame.new()
  989. w.Parent = p
  990. local p = Instance.new("Part")
  991. p.Name = "Silencer1"
  992. p.formFactor = "Symmetric"
  993. p.Size = Vector3.new(1, 1, 1)
  994. p.BrickColor = BrickColor.new("Dark stone grey")
  995. p.CanCollide = false
  996. if silenced == false then
  997. p.Transparency = 1
  998. else
  999. p.Transparency = 0
  1000. end
  1001. p.Locked = true
  1002. p.TopSurface = 0
  1003. p.BottomSurface = 0
  1004. p.Parent = model
  1005. local m = Instance.new("CylinderMesh")
  1006. m.Scale = Vector3.new(0.255, 0.6, 0.255)
  1007. m.Parent = p
  1008. local w = Instance.new("Weld")
  1009. w.Part0 = p
  1010. w.Part1 = pm
  1011. w.C0 = CFrame.new(0, 2.3, -0.04)
  1012. w.C1 = CFrame.new()
  1013. w.Parent = p
  1014. local p = Instance.new("Part")
  1015. p.Name = "Silencer2"
  1016. p.formFactor = "Symmetric"
  1017. p.Size = Vector3.new(1, 1, 1)
  1018. p.BrickColor = BrickColor.new("Really black")
  1019. p.CanCollide = false
  1020. if silenced == false then
  1021. p.Transparency = 1
  1022. else
  1023. p.Transparency = 0
  1024. end
  1025. p.Locked = true
  1026. p.TopSurface = 0
  1027. p.BottomSurface = 0
  1028. p.Parent = model
  1029. local m = Instance.new("CylinderMesh")
  1030. m.Scale = Vector3.new(0.1, 0.803, 0.1)
  1031. m.Parent = p
  1032. local w = Instance.new("Weld")
  1033. w.Part0 = p
  1034. w.Part1 = pm
  1035. w.C0 = CFrame.new(0, 2.3, -0.04)
  1036. w.C1 = CFrame.new()
  1037. w.Parent = p
  1038. local p = Instance.new("Part") -- Gas Block
  1039. p.Name = "GasBlock"
  1040. p.formFactor = "Symmetric"
  1041. p.Size = Vector3.new(1, 1, 1)
  1042. p.BrickColor = DC
  1043. p.Reflectance = MR
  1044. p.CanCollide = false
  1045. p.Locked = true
  1046. p.TopSurface = 0
  1047. p.BottomSurface = 0
  1048. p.Parent = model
  1049. local m = Instance.new("BlockMesh")
  1050. m.Scale = Vector3.new(0.14, 0.18, 0.15)
  1051. m.Parent = p
  1052. local w = Instance.new("Weld")
  1053. w.Part0 = p
  1054. w.Part1 = pm
  1055. w.C0 = CFrame.new(0, 1.55, 0.02)
  1056. w.C1 = CFrame.new()
  1057. w.Parent = p
  1058. else end
  1059. if Stock == 1 then
  1060. local p = Instance.new("Part")
  1061. p.Name = "StockHinge"
  1062. p.CanCollide = false
  1063. p.formFactor = "Symmetric"
  1064. p.Size = Vector3.new(1, 1, 1)
  1065. p.BrickColor = DC
  1066. p.Reflectance = MR
  1067. p.Locked = true
  1068. p.TopSurface = 0
  1069. p.BottomSurface = 0
  1070. p.Parent = model
  1071. local m = Instance.new("CylinderMesh")
  1072. m.Scale = Vector3.new(0.1, 0.26, 0.1)
  1073. m.Parent = p
  1074. local w = Instance.new("Weld")
  1075. w.Part0 = p
  1076. w.Part1 = pm
  1077. w.C0 = CFrame.new(-0.14, 0.15, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  1078. w.C1 = CFrame.new()
  1079. w.Parent = p
  1080. local ps = Instance.new("Part") -- Stock
  1081. ps.Name = "StockBase"
  1082. ps.CanCollide = false
  1083. ps.formFactor = "Symmetric"
  1084. ps.Size = Vector3.new(1, 1, 1)
  1085. ps.BrickColor = GC
  1086. ps.Reflectance = GR
  1087. ps.Locked = true
  1088. ps.TopSurface = 0
  1089. ps.BottomSurface = 0
  1090. ps.Parent = model
  1091. local m = Instance.new("BlockMesh")
  1092. m.Scale = Vector3.new(0.18, 0.6, 0.28)
  1093. m.Parent = ps
  1094. local w = Instance.new("Weld")
  1095. w.Part0 = ps
  1096. w.Part1 = pm
  1097. if selected == true then
  1098. w.C0 = CFrame.new(0, -0.65, -0.15)
  1099. else
  1100. w.C0 = CFrame.new(0.25, 0.1, -0.15) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(180))
  1101. end
  1102. w.C1 = CFrame.new()
  1103. w.Parent = ps
  1104. local p = Instance.new("Part")
  1105. p.Name = "Stock 1"
  1106. p.CanCollide = false
  1107. p.formFactor = "Symmetric"
  1108. p.Size = Vector3.new(1, 1, 1)
  1109. p.BrickColor = GC
  1110. p.Reflectance = GR
  1111. p.Locked = true
  1112. p.TopSurface = 0
  1113. p.BottomSurface = 0
  1114. p.Parent = model
  1115. local m = Instance.new("BlockMesh")
  1116. m.Scale = Vector3.new(0.18, 1, 0.28)
  1117. m.Parent = p
  1118. local w = Instance.new("Weld")
  1119. w.Part0 = p
  1120. w.Part1 = ps
  1121. w.C0 = CFrame.new(0, -0.38, 0)
  1122. w.C1 = CFrame.new()
  1123. w.Parent = p
  1124. local p = Instance.new("Part")
  1125. p.Name = "Stock 2"
  1126. p.CanCollide = false
  1127. p.formFactor = "Symmetric"
  1128. p.Size = Vector3.new(1, 1, 1)
  1129. p.BrickColor = GC
  1130. p.Reflectance = GR
  1131. p.Locked = true
  1132. p.TopSurface = 0
  1133. p.BottomSurface = 0
  1134. p.Parent = model
  1135. local m = Instance.new("BlockMesh")
  1136. m.Scale = Vector3.new(0.18, 0.2, 0.58)
  1137. m.Parent = p
  1138. local w = Instance.new("Weld")
  1139. w.Part0 = p
  1140. w.Part1 = ps
  1141. w.C0 = CFrame.new(0, -0.775, -0.28)
  1142. w.C1 = CFrame.new()
  1143. w.Parent = p
  1144. local p = Instance.new("Part")
  1145. p.Name = "StockAngle1"
  1146. p.CanCollide = false
  1147. p.formFactor = "Symmetric"
  1148. p.Size = Vector3.new(1, 1, 1)
  1149. p.BrickColor = GC
  1150. p.Reflectance = GR
  1151. p.Locked = true
  1152. p.TopSurface = 0
  1153. p.BottomSurface = 0
  1154. p.Parent = model
  1155. local m = Instance.new("BlockMesh")
  1156. m.Scale = Vector3.new(0.18, 0.18, 0.65)
  1157. m.Parent = p
  1158. local w = Instance.new("Weld")
  1159. w.Part0 = p
  1160. w.Part1 = ps
  1161. w.C0 = CFrame.new(0, -0.12, -0.56) * CFrame.fromEulerAnglesXYZ(math.rad(48), 0, 0)
  1162. w.C1 = CFrame.new()
  1163. w.Parent = p
  1164. elseif Stock == 2 then
  1165. local p = Instance.new("Part") -- Standard Stock
  1166. p.Name = "StockC"
  1167. p.CanCollide = false
  1168. p.formFactor = "Symmetric"
  1169. p.Size = Vector3.new(1, 1, 1)
  1170. p.BrickColor = GC
  1171. p.Reflectance = GR
  1172. p.Locked = true
  1173. p.TopSurface = 0
  1174. p.BottomSurface = 0
  1175. p.Parent = model
  1176. local m = Instance.new("CylinderMesh")
  1177. m.Scale = Vector3.new(0.2, 1, 0.2)
  1178. m.Parent = p
  1179. local w = Instance.new("Weld")
  1180. w.Part0 = p
  1181. w.Part1 = pm
  1182. w.C0 = CFrame.new(0, -0.6, -0.1)
  1183. w.C1 = CFrame.new()
  1184. w.Parent = p
  1185. local pt = Instance.new("Part")
  1186. pt.Name = "StockT"
  1187. pt.CanCollide = false
  1188. pt.formFactor = "Symmetric"
  1189. pt.Size = Vector3.new(1, 1, 1)
  1190. pt.BrickColor = GC
  1191. pt.Reflectance = GR
  1192. pt.Locked = true
  1193. pt.TopSurface = 0
  1194. pt.BottomSurface = 0
  1195. pt.Parent = model
  1196. local m = Instance.new("CylinderMesh")
  1197. m.Scale = Vector3.new(0.25, 0.8, 0.25)
  1198. m.Offset = Vector3.new(0, 0.4, 0)
  1199. m.Parent = pt
  1200. local w = Instance.new("Weld")
  1201. w.Part0 = pt
  1202. w.Part1 = pm
  1203. if selected == true then
  1204. w.C0 = CFrame.new(0, -0.8, -0.1)
  1205. else
  1206. w.C0 = CFrame.new(0, -0.4, -0.1)
  1207. end
  1208. w.C1 = CFrame.new()
  1209. w.Parent = pt
  1210. local p = Instance.new("Part")
  1211. p.Name = "StockAngle1"
  1212. p.CanCollide = false
  1213. p.formFactor = "Symmetric"
  1214. p.Size = Vector3.new(1, 1, 1)
  1215. p.BrickColor = GC
  1216. p.Reflectance = GR
  1217. p.Locked = true
  1218. p.TopSurface = 0
  1219. p.BottomSurface = 0
  1220. p.Parent = model
  1221. local m = Instance.new("SpecialMesh")
  1222. m.MeshType = "Wedge"
  1223. m.Scale = Vector3.new(0.2, 0.5, 0.5)
  1224. m.Parent = p
  1225. local w = Instance.new("Weld")
  1226. w.Part0 = p
  1227. w.Part1 = pt
  1228. w.C0 = CFrame.new(0, -0.3, -0.55) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180))
  1229. w.C1 = CFrame.new()
  1230. w.Parent = p
  1231. local p = Instance.new("Part")
  1232. p.Name = "StockAngle2"
  1233. p.CanCollide = false
  1234. p.formFactor = "Symmetric"
  1235. p.Size = Vector3.new(1, 1, 1)
  1236. p.BrickColor = GC
  1237. p.Reflectance = GR
  1238. p.Locked = true
  1239. p.TopSurface = 0
  1240. p.BottomSurface = 0
  1241. p.Parent = model
  1242. local m = Instance.new("SpecialMesh")
  1243. m.MeshType = "Wedge"
  1244. m.Scale = Vector3.new(0.2, 0.4, 0.6)
  1245. m.Parent = p
  1246. local w = Instance.new("Weld")
  1247. w.Part0 = p
  1248. w.Part1 = pt
  1249. w.C0 = CFrame.new(0, -0.24, -0.3) * CFrame.fromEulerAnglesXYZ(math.rad(270), 0, math.rad(180))
  1250. w.C1 = CFrame.new()
  1251. w.Parent = p--]]
  1252. else end
  1253. if Sight == 0 then
  1254. local p = Instance.new("Part")
  1255. p.Name = "RearSight"
  1256. p.CanCollide = false
  1257. p.formFactor = "Symmetric"
  1258. p.Size = Vector3.new(1, 1, 1)
  1259. p.BrickColor = MC
  1260. p.Reflectance = MR
  1261. p.Locked = true
  1262. p.TopSurface = 0
  1263. p.BottomSurface = 0
  1264. p.Parent = model
  1265. local m = Instance.new("CylinderMesh")
  1266. m.Scale = Vector3.new(0.2, 0.46, 0.2)
  1267. m.Parent = p
  1268. local w = Instance.new("Weld")
  1269. w.Part0 = p
  1270. w.Part1 = pm
  1271. w.C0 = CFrame.new(0, -0.06, -0.26) * CFrame.fromEulerAnglesXYZ(math.rad(100), 0, 0)
  1272. w.C1 = CFrame.new()
  1273. w.Parent = p
  1274. if Reciever == 1 then
  1275. local p = Instance.new("Part")
  1276. p.Name = "Frontsight"
  1277. p.formFactor = "Symmetric"
  1278. p.Size = Vector3.new(1, 1, 1)
  1279. p.BrickColor = DC
  1280. p.Reflectance = MR
  1281. p.CanCollide = false
  1282. p.Locked = true
  1283. p.TopSurface = 0
  1284. p.BottomSurface = 0
  1285. p.Parent = model
  1286. local m = Instance.new("BlockMesh")
  1287. m.Scale = Vector3.new(0.08, 0.1, 0.3)
  1288. m.Parent = p
  1289. local w = Instance.new("Weld")
  1290. w.Part0 = p
  1291. w.Part1 = pm
  1292. w.C0 = CFrame.new(0, 1.3, 0.1)
  1293. w.C1 = CFrame.new()
  1294. w.Parent = p
  1295. local p = Instance.new("Part")
  1296. p.Name = "Frontsight"
  1297. p.formFactor = "Symmetric"
  1298. p.Size = Vector3.new(1, 1, 1)
  1299. p.BrickColor = DC
  1300. p.Reflectance = MR
  1301. p.CanCollide = false
  1302. p.Locked = true
  1303. p.TopSurface = 0
  1304. p.BottomSurface = 0
  1305. p.Parent = model
  1306. local m = Instance.new("CylinderMesh")
  1307. m.Scale = Vector3.new(0.1, 0.1, 0.1)
  1308. m.Parent = p
  1309. local w = Instance.new("Weld")
  1310. w.Part0 = p
  1311. w.Part1 = pm
  1312. w.C0 = CFrame.new(0, 1.3, 0.28)
  1313. w.C1 = CFrame.new()
  1314. w.Parent = p
  1315. else end
  1316. elseif Sight == 1 then
  1317. local p = Instance.new("Part") -------- RDS Attachment
  1318. p.Name = "Ring"
  1319. p.formFactor = "Symmetric"
  1320. p.Size = Vector3.new(1, 1, 1)
  1321. p.BrickColor = MC
  1322. p.Reflectance = MR
  1323. p.CanCollide = false
  1324. p.Locked = true
  1325. p.TopSurface = 0
  1326. p.BottomSurface = 0
  1327. p.Parent = model
  1328. local m = Instance.new("SpecialMesh")
  1329. m.MeshType = "FileMesh"
  1330. m.MeshId = "http://www.roblox.com/asset/?id=3270017"
  1331. m.Scale = Vector3.new(0.25, 0.25, 0.8)
  1332. m.Parent = p
  1333. local w = Instance.new("Weld")
  1334. w.Part0 = p
  1335. w.Part1 = pm
  1336. w.C0 = CFrame.new(0, -0.25, 0.34) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  1337. w.C1 = CFrame.new()
  1338. w.Parent = p
  1339. local p = Instance.new("Part")
  1340. p.Name = "SightBottom"
  1341. p.CanCollide = false
  1342. p.formFactor = "Symmetric"
  1343. p.Size = Vector3.new(1, 1, 1)
  1344. p.BrickColor = MC
  1345. p.Reflectance = MR
  1346. p.Locked = true
  1347. p.TopSurface = 0
  1348. p.BottomSurface = 0
  1349. p.Parent = model
  1350. local m = Instance.new("BlockMesh")
  1351. m.Scale = Vector3.new(0.25, 0.4, 0.18)
  1352. m.Parent = p
  1353. local w = Instance.new("Weld")
  1354. w.Part0 = p
  1355. w.Part1 = pm
  1356. w.C0 = CFrame.new(0, 0.2, 0.1)
  1357. w.C1 = CFrame.new()
  1358. w.Parent = p
  1359. local p = Instance.new("Part")
  1360. p.Name = "Image"
  1361. p.CanCollide = false
  1362. p.formFactor = "Symmetric"
  1363. p.Size = Vector3.new(1, 1, 1)
  1364. p.BrickColor = MC
  1365. p.Transparency = 1
  1366. p.Locked = true
  1367. p.TopSurface = 0
  1368. p.BottomSurface = 0
  1369. p.Parent = model
  1370. local d = Instance.new("Decal")
  1371. d.Face = "Top"
  1372. d.Texture = "http://www.roblox.com/asset/?id=29712167"
  1373. d.Parent = p
  1374. local m = Instance.new("BlockMesh")
  1375. m.Scale = Vector3.new(0.1, 0.001, 0.1)
  1376. m.Parent = p
  1377. local w = Instance.new("Weld")
  1378. w.Part0 = p
  1379. w.Part1 = pm
  1380. w.C0 = CFrame.new(0, 0.34, 0.25)
  1381. w.C1 = CFrame.new()
  1382. w.Parent = p
  1383. elseif Sight == 2 then
  1384. local c = Instance.new("Part")
  1385. c.Name = "SightCube"
  1386. c.CanCollide = false
  1387. c.formFactor = "Symmetric"
  1388. c.Size = Vector3.new(1, 1, 1)
  1389. c.BrickColor = DC
  1390. c.Reflectance = MR
  1391. c.Transparency = 0.8
  1392. c.Locked = true
  1393. c.TopSurface = 0
  1394. c.BottomSurface = 0
  1395. c.Parent = model
  1396. local m = Instance.new("BlockMesh")
  1397. m.Scale = Vector3.new(0.25, 0.25, 0.25)
  1398. m.Parent = c
  1399. local w = Instance.new("Weld")
  1400. w.Part0 = c
  1401. w.Part1 = pm
  1402. w.C0 = CFrame.new(0, 0.1, 0.25)
  1403. w.C1 = CFrame.new()
  1404. w.Parent = c
  1405. local p = Instance.new("Part")
  1406. p.Name = "SightBottom"
  1407. p.CanCollide = false
  1408. p.formFactor = "Symmetric"
  1409. p.Size = Vector3.new(1, 1, 1)
  1410. p.BrickColor = DC
  1411. p.Reflectance = MR
  1412. p.Locked = true
  1413. p.TopSurface = 0
  1414. p.BottomSurface = 0
  1415. p.Parent = model
  1416. local m = Instance.new("BlockMesh")
  1417. m.Scale = Vector3.new(0.2, 0.5, 0.18)
  1418. m.Parent = p
  1419. local w = Instance.new("Weld")
  1420. w.Part0 = p
  1421. w.Part1 = c
  1422. w.C0 = CFrame.new(0, 0.125, -0.12)
  1423. w.C1 = CFrame.new()
  1424. w.Parent = p
  1425. local p = Instance.new("Part")
  1426. p.Name = "Image"
  1427. p.CanCollide = false
  1428. p.formFactor = "Symmetric"
  1429. p.Size = Vector3.new(1, 1, 1)
  1430. p.BrickColor = MC
  1431. p.Transparency = 1
  1432. p.Locked = true
  1433. p.TopSurface = 0
  1434. p.BottomSurface = 0
  1435. p.Parent = model
  1436. local d = Instance.new("Decal")
  1437. d.Face = "Top"
  1438. d.Texture = "http://www.roblox.com/asset/?id=29712167"
  1439. d.Parent = p
  1440. local m = Instance.new("BlockMesh")
  1441. m.Scale = Vector3.new(0.1, 0.001, 0.1)
  1442. m.Parent = p
  1443. local w = Instance.new("Weld")
  1444. w.Part0 = p
  1445. w.Part1 = c
  1446. w.C0 = CFrame.new(0, 0, 0)
  1447. w.C1 = CFrame.new()
  1448. w.Parent = p
  1449. local p = Instance.new("Part")
  1450. p.Name = "SightBox"
  1451. p.CanCollide = false
  1452. p.formFactor = "Symmetric"
  1453. p.Size = Vector3.new(1, 1, 1)
  1454. p.BrickColor = DC
  1455. p.Reflectance = MR
  1456. p.Locked = true
  1457. p.TopSurface = 0
  1458. p.BottomSurface = 0
  1459. p.Parent = model
  1460. local m = Instance.new("BlockMesh")
  1461. m.Scale = Vector3.new(0.05, 0.25, 0.25)
  1462. m.Offset = Vector3.new(0.1, 0, 0)
  1463. m.Parent = p
  1464. local w = Instance.new("Weld")
  1465. w.Part0 = p
  1466. w.Part1 = c
  1467. w.C0 = CFrame.new(0, 0, 0)
  1468. w.C1 = CFrame.new()
  1469. w.Parent = p
  1470. local p = Instance.new("Part")
  1471. p.Name = "SightBox"
  1472. p.CanCollide = false
  1473. p.formFactor = "Symmetric"
  1474. p.Size = Vector3.new(1, 1, 1)
  1475. p.BrickColor = DC
  1476. p.Reflectance = MR
  1477. p.Locked = true
  1478. p.TopSurface = 0
  1479. p.BottomSurface = 0
  1480. p.Parent = model
  1481. local m = Instance.new("BlockMesh")
  1482. m.Scale = Vector3.new(0.05, 0.25, 0.25)
  1483. m.Offset = Vector3.new(-0.1, 0, 0)
  1484. m.Parent = p
  1485. local w = Instance.new("Weld")
  1486. w.Part0 = p
  1487. w.Part1 = c
  1488. w.C0 = CFrame.new(0, 0, 0)
  1489. w.C1 = CFrame.new()
  1490. w.Parent = p
  1491. local p = Instance.new("Part")
  1492. p.Name = "SightBox"
  1493. p.CanCollide = false
  1494. p.formFactor = "Symmetric"
  1495. p.Size = Vector3.new(1, 1, 1)
  1496. p.BrickColor = DC
  1497. p.Reflectance = MR
  1498. p.Locked = true
  1499. p.TopSurface = 0
  1500. p.BottomSurface = 0
  1501. p.Parent = model
  1502. local m = Instance.new("BlockMesh")
  1503. m.Scale = Vector3.new(0.25, 0.25, 0.05)
  1504. m.Offset = Vector3.new(0, 0, -0.1)
  1505. m.Parent = p
  1506. local w = Instance.new("Weld")
  1507. w.Part0 = p
  1508. w.Part1 = c
  1509. w.C0 = CFrame.new(0, 0, 0)
  1510. w.C1 = CFrame.new()
  1511. w.Parent = p
  1512. local p = Instance.new("Part")
  1513. p.Name = "SightBox"
  1514. p.CanCollide = false
  1515. p.formFactor = "Symmetric"
  1516. p.Size = Vector3.new(1, 1, 1)
  1517. p.BrickColor = DC
  1518. p.Reflectance = MR
  1519. p.Locked = true
  1520. p.TopSurface = 0
  1521. p.BottomSurface = 0
  1522. p.Parent = model
  1523. local m = Instance.new("BlockMesh")
  1524. m.Scale = Vector3.new(0.25, 0.25, 0.05)
  1525. m.Offset = Vector3.new(0, 0, 0.1)
  1526. m.Parent = p
  1527. local w = Instance.new("Weld")
  1528. w.Part0 = p
  1529. w.Part1 = c
  1530. w.C0 = CFrame.new(0, 0, 0)
  1531. w.C1 = CFrame.new()
  1532. w.Parent = p
  1533. elseif Sight == 3 then
  1534. local l = Instance.new("Part") -- Aimpoint Scope
  1535. l.Name = "SightBottom"
  1536. l.CanCollide = false
  1537. l.formFactor = "Symmetric"
  1538. l.Size = Vector3.new(1, 1, 1)
  1539. l.BrickColor = DC
  1540. l.Reflectance = MR
  1541. l.Locked = true
  1542. l.TopSurface = 0
  1543. l.BottomSurface = 0
  1544. l.Parent = model
  1545. local m = Instance.new("BlockMesh")
  1546. m.Scale = Vector3.new(0.2, 0.4, 0.18)
  1547. m.Parent = l
  1548. local w = Instance.new("Weld")
  1549. w.Part0 = l
  1550. w.Part1 = pm
  1551. w.C0 = CFrame.new(0, 0.26, 0.13)
  1552. w.C1 = CFrame.new()
  1553. w.Parent = l
  1554. canZoom = true
  1555. local p = Instance.new("Part")
  1556. p.Name = "Scope"
  1557. p.formFactor = "Symmetric"
  1558. p.Size = Vector3.new(1, 1, 1)
  1559. p.BrickColor = MC
  1560. p.Reflectance = MR
  1561. p.CanCollide = false
  1562. p.Locked = true
  1563. p.TopSurface = 0
  1564. p.BottomSurface = 0
  1565. p.Parent = model
  1566. local m = Instance.new("CylinderMesh")
  1567. m.Scale = Vector3.new(0.28, 0.5, 0.28)
  1568. m.Parent = p
  1569. local w = Instance.new("Weld")
  1570. w.Part0 = p
  1571. w.Part1 = l
  1572. w.C0 = CFrame.new(0, 0, 0.16)
  1573. w.C1 = CFrame.new()
  1574. w.Parent = p
  1575. local p = Instance.new("Part")
  1576. p.Name = "ScopeInt"
  1577. p.formFactor = "Symmetric"
  1578. p.Size = Vector3.new(1, 1, 1)
  1579. p.BrickColor = BrickColor.new("White")
  1580. p.Reflectance = 0.3
  1581. p.CanCollide = false
  1582. p.Locked = true
  1583. p.TopSurface = 0
  1584. p.BottomSurface = 0
  1585. p.Parent = model
  1586. local m = Instance.new("CylinderMesh")
  1587. m.Scale = Vector3.new(0.26, 0.604, 0.26)
  1588. m.Parent = p
  1589. local w = Instance.new("Weld")
  1590. w.Part0 = p
  1591. w.Part1 = l
  1592. w.C0 = CFrame.new(0, 0, 0.16)
  1593. w.C1 = CFrame.new()
  1594. w.Parent = p
  1595. local p = Instance.new("Part")
  1596. p.Name = "Scope"
  1597. p.formFactor = "Symmetric"
  1598. p.Size = Vector3.new(1, 1, 1)
  1599. p.BrickColor = MC
  1600. p.Reflectance = MR
  1601. p.CanCollide = false
  1602. p.Locked = true
  1603. p.TopSurface = 0
  1604. p.BottomSurface = 0
  1605. p.Parent = model
  1606. local m = Instance.new("CylinderMesh")
  1607. m.Scale = Vector3.new(0.3, 0.1, 0.3)
  1608. m.Parent = p
  1609. local w = Instance.new("Weld")
  1610. w.Part0 = p
  1611. w.Part1 = l
  1612. w.C0 = CFrame.new(0, -0.25, 0.16)
  1613. w.C1 = CFrame.new()
  1614. w.Parent = p
  1615. local p = Instance.new("Part")
  1616. p.Name = "Scope"
  1617. p.formFactor = "Symmetric"
  1618. p.Size = Vector3.new(1, 1, 1)
  1619. p.BrickColor = MC
  1620. p.Reflectance = MR
  1621. p.CanCollide = false
  1622. p.Locked = true
  1623. p.TopSurface = 0
  1624. p.BottomSurface = 0
  1625. p.Parent = model
  1626. local m = Instance.new("CylinderMesh")
  1627. m.Scale = Vector3.new(0.3, 0.1, 0.3)
  1628. m.Parent = p
  1629. local w = Instance.new("Weld")
  1630. w.Part0 = p
  1631. w.Part1 = l
  1632. w.C0 = CFrame.new(0, 0.25, 0.16)
  1633. w.C1 = CFrame.new()
  1634. w.Parent = p
  1635. local p = Instance.new("Part")
  1636. p.Name = "Scope"
  1637. p.formFactor = "Symmetric"
  1638. p.Size = Vector3.new(1, 1, 1)
  1639. p.BrickColor = MC
  1640. p.Reflectance = MR
  1641. p.CanCollide = false
  1642. p.Locked = true
  1643. p.TopSurface = 0
  1644. p.BottomSurface = 0
  1645. p.Parent = model
  1646. local m = Instance.new("CylinderMesh")
  1647. m.Scale = Vector3.new(0.12, 0.5, 0.12)
  1648. m.Parent = p
  1649. local w = Instance.new("Weld")
  1650. w.Part0 = p
  1651. w.Part1 = l
  1652. w.C0 = CFrame.new(-0.12, 0, 0.24)
  1653. w.C1 = CFrame.new()
  1654. w.Parent = p
  1655. local p = Instance.new("Part")
  1656. p.Name = "Scope"
  1657. p.formFactor = "Symmetric"
  1658. p.Size = Vector3.new(1, 1, 1)
  1659. p.BrickColor = MC
  1660. p.Reflectance = MR
  1661. p.CanCollide = false
  1662. p.Locked = true
  1663. p.TopSurface = 0
  1664. p.BottomSurface = 0
  1665. p.Parent = model
  1666. local m = Instance.new("CylinderMesh")
  1667. m.Scale = Vector3.new(0.13, 0.1, 0.13)
  1668. m.Parent = p
  1669. local w = Instance.new("Weld")
  1670. w.Part0 = p
  1671. w.Part1 = l
  1672. w.C0 = CFrame.new(-0.12, 0.25, 0.24)
  1673. w.C1 = CFrame.new()
  1674. w.Parent = p
  1675. local p = Instance.new("Part")
  1676. p.Name = "Scope"
  1677. p.formFactor = "Symmetric"
  1678. p.Size = Vector3.new(1, 1, 1)
  1679. p.BrickColor = MC
  1680. p.Reflectance = MR
  1681. p.CanCollide = false
  1682. p.Locked = true
  1683. p.TopSurface = 0
  1684. p.BottomSurface = 0
  1685. p.Parent = model
  1686. local m = Instance.new("CylinderMesh")
  1687. m.Scale = Vector3.new(0.13, 0.1, 0.13)
  1688. m.Parent = p
  1689. local w = Instance.new("Weld")
  1690. w.Part0 = p
  1691. w.Part1 = l
  1692. w.C0 = CFrame.new(-0.12, -0.25, 0.24)
  1693. w.C1 = CFrame.new()
  1694. w.Parent = p
  1695. else end
  1696. if Grip == true then
  1697. local p = Instance.new("Part") --------------- ForeGrip Attachment
  1698. p.Name = "ForeGrip"
  1699. p.formFactor = "Symmetric"
  1700. p.Size = Vector3.new(1, 1, 1)
  1701. p.BrickColor = BrickColor.new("Black")
  1702. p.CanCollide = false
  1703. p.Locked = true
  1704. p.TopSurface = 0
  1705. p.BottomSurface = 0
  1706. p.Parent = model
  1707. local m = Instance.new("CylinderMesh")
  1708. m.Scale = Vector3.new(0.25, 0.6, 0.25)
  1709. m.Parent = p
  1710. local w = Instance.new("Weld")
  1711. w.Part0 = p
  1712. w.Part1 = pm
  1713. w.C0 = CFrame.new(0, 0.4, 1.1) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  1714. w.C1 = CFrame.new()
  1715. w.Parent = p
  1716. else end
  1717. if Attachment == true then
  1718. local p = Instance.new("Part")
  1719. p.Name = "LaserPod"
  1720. p.formFactor = "Symmetric"
  1721. p.Size = Vector3.new(1, 1, 1)
  1722. p.CanCollide = false
  1723. p.BrickColor = DC
  1724. p.Reflectance = MR
  1725. p.Locked = true
  1726. p.TopSurface = 0
  1727. p.BottomSurface = 0
  1728. p.Parent = model
  1729. local m = Instance.new("BlockMesh")
  1730. m.Scale = Vector3.new(0.1, 0.35, 0.25)
  1731. m.Parent = p
  1732. local w = Instance.new("Weld")
  1733. w.Part0 = p
  1734. w.Part1 = pm
  1735. w.C0 = CFrame.new(-0.22, 1.1, -0.04)
  1736. w.C1 = CFrame.new()
  1737. w.Parent = p--]]
  1738. local p = Instance.new("Part")
  1739. p.Name = "LaserPod"
  1740. p.formFactor = "Symmetric"
  1741. p.Size = Vector3.new(1, 1, 1)
  1742. p.CanCollide = false
  1743. p.BrickColor = DC
  1744. p.Reflectance = MR
  1745. p.Locked = true
  1746. p.TopSurface = 0
  1747. p.BottomSurface = 0
  1748. p.Parent = model
  1749. local m = Instance.new("CylinderMesh")
  1750. m.Scale = Vector3.new(0.12, 0.35, 0.12)
  1751. m.Parent = p
  1752. local w = Instance.new("Weld")
  1753. w.Part0 = p
  1754. w.Part1 = pm
  1755. w.C0 = CFrame.new(-0.22, 1.1, 0.1)
  1756. w.C1 = CFrame.new()
  1757. w.Parent = p
  1758. local p = Instance.new("Part")
  1759. p.Name = "Laser"
  1760. p.CanCollide = false
  1761. p.formFactor = "Symmetric"
  1762. p.Size = Vector3.new(1, 1, 1)
  1763. p.BrickColor = BrickColor.new("Bright red")
  1764. p.Locked = true
  1765. if selected == true and Mode == 1 then
  1766. p.Transparency = 0.4
  1767. else
  1768. p.Transparency = 1
  1769. end
  1770. p.TopSurface = 0
  1771. p.BottomSurface = 0
  1772. p.Parent = model
  1773. local m = Instance.new("BlockMesh")
  1774. m.Scale = Vector3.new(0.01, 500, 0.01)
  1775. m.Offset = Vector3.new(0, -250, 0)
  1776. m.Parent = p
  1777. local w = Instance.new("Weld")
  1778. w.Part0 = p
  1779. w.Part1 = pm
  1780. w.C0 = CFrame.new(-0.22, 1.1, 0.1)
  1781. w.C1 = CFrame.new()
  1782. w.Parent = p
  1783. local p = Instance.new("Part")
  1784. p.Name = "LaserPod"
  1785. p.formFactor = "Symmetric"
  1786. p.Size = Vector3.new(1, 1, 1)
  1787. p.CanCollide = false
  1788. p.BrickColor = DC
  1789. p.Reflectance = MR
  1790. p.Locked = true
  1791. p.TopSurface = 0
  1792. p.BottomSurface = 0
  1793. p.Parent = model
  1794. local m = Instance.new("CylinderMesh")
  1795. m.Scale = Vector3.new(0.12, 0.35, 0.12)
  1796. m.Parent = p
  1797. local w = Instance.new("Weld")
  1798. w.Part0 = p
  1799. w.Part1 = pm
  1800. w.C0 = CFrame.new(-0.22, 1.1, -0.14)
  1801. w.C1 = CFrame.new()
  1802. w.Parent = p
  1803. local p = Instance.new("Part")
  1804. p.Name = "LightAttach"
  1805. p.formFactor = "Symmetric"
  1806. p.Size = Vector3.new(1, 1, 1)
  1807. p.CanCollide = false
  1808. p.BrickColor = DC
  1809. p.Reflectance = MR
  1810. p.Locked = true
  1811. p.TopSurface = 0
  1812. p.BottomSurface = 0
  1813. p.Parent = model
  1814. local m = Instance.new("CylinderMesh")
  1815. m.Scale = Vector3.new(0.2, 0.35, 0.2)
  1816. m.Parent = p
  1817. local w = Instance.new("Weld")
  1818. w.Part0 = p
  1819. w.Part1 = pm
  1820. w.C0 = CFrame.new(0.25, 1.1, -0.04)
  1821. w.C1 = CFrame.new()
  1822. w.Parent = p
  1823. local p = Instance.new("Part")
  1824. p.Name = "Light"
  1825. p.CanCollide = false
  1826. p.formFactor = "Custom"
  1827. p.Size = Vector3.new(0.2, 0.2, 0.2)
  1828. p.BrickColor = BrickColor.new("Bright yellow")
  1829. p.Locked = true
  1830. if selected == true and Mode == 2 and dual == false then
  1831. p.Transparency = 0.5
  1832. else
  1833. p.Transparency = 1
  1834. end
  1835. p.TopSurface = 0
  1836. p.BottomSurface = 0
  1837. p.Parent = model
  1838. local m = Instance.new("SpecialMesh")
  1839. m.MeshType = "FileMesh"
  1840. m.Scale = Vector3.new(2, 50, 2)
  1841. m.MeshId = "http://www.roblox.com/asset/?id=1033714"
  1842. m.Parent = p
  1843. local w = Instance.new("Weld")
  1844. w.Part0 = p
  1845. w.Part1 = pm
  1846. w.C0 = CFrame.new(0.25, 20, -0.04)
  1847. w.C1 = CFrame.new()
  1848. w.Parent = p
  1849. else end
  1850. return model
  1851. end
  1852.  
  1853.  
  1854. function removeParts(format)
  1855. if format == "RightHand" then
  1856. pcall(function() Player.Character[Name]:Remove() end)
  1857. elseif format == "LeftHand" then
  1858. pcall(function() Player.Character[Name.. " (Left)"]:Remove() end)
  1859. elseif format == "RightHolster" then
  1860. pcall(function() Player.Character[Name.. " (Holstered)"]:Remove() end)
  1861. elseif format == "LeftHolster" then
  1862. pcall(function() Player.Character[Name.. " (Holstered, Left)"]:Remove() end)
  1863. end
  1864. end
  1865.  
  1866.  
  1867. function SetAngle(Joint, Angle, Character)
  1868. if Character == nil then return false end
  1869. local Joints = {
  1870. Character.Torso:FindFirstChild("Right Shoulder 2"),
  1871. Character.Torso:FindFirstChild("Left Shoulder 2"),
  1872. Character.Torso:FindFirstChild("Right Hip 2"),
  1873. Character.Torso:FindFirstChild("Left Hip 2")
  1874. }
  1875. if Joints[Joint] == nil then return false end
  1876. if Joint == 1 or Joint == 3 then
  1877. Joints[Joint].DesiredAngle = Angle
  1878. end
  1879. if Joint == 2 or Joint == 4 then
  1880. Joints[Joint].DesiredAngle = -Angle
  1881. end
  1882. end
  1883.  
  1884.  
  1885. function ForceAngle(Joint, Angle, Character)
  1886. if Character == nil then return false end
  1887. local Joints = {
  1888. Character.Torso:FindFirstChild("Right Shoulder 2"),
  1889. Character.Torso:FindFirstChild("Left Shoulder 2"),
  1890. Character.Torso:FindFirstChild("Right Hip 2"),
  1891. Character.Torso:FindFirstChild("Left Hip 2")
  1892. }
  1893. if Joints[Joint] == nil then return false end
  1894. if Joint == 1 or Joint == 3 then
  1895. Joints[Joint].DesiredAngle = Angle
  1896. Joints[Joint].CurrentAngle = Angle
  1897. end
  1898. if Joint == 2 or Joint == 4 then
  1899. Joints[Joint].DesiredAngle = -Angle
  1900. Joints[Joint].CurrentAngle = -Angle
  1901. end
  1902. end
  1903.  
  1904.  
  1905. function SetSpeed(Joint, Speed, Character)
  1906. if Character == nil then return false end
  1907. local Joints = {
  1908. Character.Torso:FindFirstChild("Right Shoulder 2"),
  1909. Character.Torso:FindFirstChild("Left Shoulder 2"),
  1910. Character.Torso:FindFirstChild("Right Hip 2"),
  1911. Character.Torso:FindFirstChild("Left Hip 2")
  1912. }
  1913. if Joints[Joint] == nil then return false end
  1914. Joints[Joint].MaxVelocity = Speed
  1915. end
  1916.  
  1917.  
  1918. function DisableLimb(Limb, Character)
  1919. if Character == nil then return false end
  1920. if Character:FindFirstChild("Torso") == nil then return false end
  1921. local Joints = {
  1922. Character.Torso:FindFirstChild("Right Shoulder"),
  1923. Character.Torso:FindFirstChild("Left Shoulder"),
  1924. Character.Torso:FindFirstChild("Right Hip"),
  1925. Character.Torso:FindFirstChild("Left Hip")
  1926. }
  1927. local Limbs = {
  1928. Character:FindFirstChild("Right Arm"),
  1929. Character:FindFirstChild("Left Arm"),
  1930. Character:FindFirstChild("Right Leg"),
  1931. Character:FindFirstChild("Left Leg")
  1932. }
  1933. if Joints[Limb] == nil then return false end
  1934. if Limbs[Limb] == nil then return false end
  1935. local Joint = Instance.new("Motor")
  1936. Joint.Parent = Character.Torso
  1937. Joint.Part0 = Character.Torso
  1938. Joint.Part1 = Limbs[Limb]
  1939. if Limb == 1 then
  1940. Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1941. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1942. Joint.Name = "Right Shoulder 2"
  1943. elseif Limb == 2 then
  1944. Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1945. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1946. Joint.Name = "Left Shoulder 2"
  1947. elseif Limb == 3 then
  1948. Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1949. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1950. Joint.Name = "Right Hip 2"
  1951. elseif Limb == 4 then
  1952. Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1953. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1954. Joint.Name = "Left Hip 2"
  1955. end
  1956. Joint.MaxVelocity = Joints[Limb].MaxVelocity
  1957. Joint.CurrentAngle = Joints[Limb].CurrentAngle
  1958. Joint.DesiredAngle = Joints[Limb].DesiredAngle
  1959. Joints[Limb]:Remove()
  1960. end
  1961.  
  1962.  
  1963. function ResetLimbCFrame(Limb, Character)
  1964. if Character == nil then return false end
  1965. if Character.Parent == nil then return false end
  1966. if Character:FindFirstChild("Torso") == nil then return false end
  1967. local Joints = {
  1968. Character.Torso:FindFirstChild("Right Shoulder 2"),
  1969. Character.Torso:FindFirstChild("Left Shoulder 2"),
  1970. Character.Torso:FindFirstChild("Right Hip 2"),
  1971. Character.Torso:FindFirstChild("Left Hip 2")
  1972. }
  1973. local Limbs = {
  1974. Character:FindFirstChild("Right Arm"),
  1975. Character:FindFirstChild("Left Arm"),
  1976. Character:FindFirstChild("Right Leg"),
  1977. Character:FindFirstChild("Left Leg")
  1978. }
  1979. if Joints[Limb] == nil then return false end
  1980. if Limbs[Limb] == nil then return false end
  1981. if Limb == 1 then
  1982. Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1983. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1984. elseif Limb == 2 then
  1985. Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1986. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1987. elseif Limb == 3 then
  1988. Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1989. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1990. elseif Limb == 4 then
  1991. Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1992. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1993. end
  1994. end
  1995.  
  1996.  
  1997. function EnableLimb(Limb, Character)
  1998. if Character == nil then return false end
  1999. if Character:FindFirstChild("Torso") == nil then return false end
  2000. local Joints = {
  2001. Character.Torso:FindFirstChild("Right Shoulder 2"),
  2002. Character.Torso:FindFirstChild("Left Shoulder 2"),
  2003. Character.Torso:FindFirstChild("Right Hip 2"),
  2004. Character.Torso:FindFirstChild("Left Hip 2")
  2005. }
  2006. local Limbs = {
  2007. Character:FindFirstChild("Right Arm"),
  2008. Character:FindFirstChild("Left Arm"),
  2009. Character:FindFirstChild("Right Leg"),
  2010. Character:FindFirstChild("Left Leg")
  2011. }
  2012. if Joints[Limb] == nil then return false end
  2013. if Limbs[Limb] == nil then return false end
  2014. if Limb == 1 then
  2015. Joints[Limb].Name = "Right Shoulder"
  2016. elseif Limb == 2 then
  2017. Joints[Limb].Name = "Left Shoulder"
  2018. elseif Limb == 3 then
  2019. Joints[Limb].Name = "Right Hip"
  2020. elseif Limb == 4 then
  2021. Joints[Limb].Name = "Left Hip"
  2022. end
  2023. Animate = Character:FindFirstChild("Animate")
  2024. if Animate == nil then return false end
  2025. Animate = Animate:Clone()
  2026. Character.Animate:Remove()
  2027. Animate.Parent = Character
  2028. end
  2029.  
  2030.  
  2031. function playAnimation(format, mouse)
  2032. if format == "equip" then
  2033. Player.Character.Humanoid.WalkSpeed = WSPenalty
  2034. Player.Character[Name.. " (Holstered)"].Handle.Weld:Remove()
  2035. local w = Instance.new("Weld")
  2036. w.Part0 = Player.Character[Name.. " (Holstered)"].Handle
  2037. w.Part1 = Player.Character:FindFirstChild("Right Arm")
  2038. w.C0 = CFrame.new(0, 1.2, 0.7)
  2039. w.C1 = CFrame.new()
  2040. w.Parent = Player.Character[Name.. " (Holstered)"].Handle
  2041. for i = 0.01, 1, 0.1 do
  2042. if Player.Character:FindFirstChild("Torso") ~= nil then
  2043. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2044. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2045. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.5 * i) + (1.5 * (1 - i)), 1.2 * i, 0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(300 + ((1 - i) * 50)), math.rad(10), math.rad(-90) * i)
  2046. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2047. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-0.9 * i) + (-1.5 * (1 - i)), -0.35 * i, 0.51 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0)
  2048. wait()
  2049. else return false end
  2050. else return false end
  2051. end
  2052. return playAnimation("hold")
  2053. end
  2054. if format == "unequip" then
  2055. Mode = 0
  2056. if Attachment == true then
  2057. Player.Character[Name].Laser.Transparency = 1
  2058. Player.Character[Name].Light.Transparency = 1
  2059. end
  2060. Player.Character.Humanoid.WalkSpeed = 16
  2061. for i = 1, 0.01, -0.1 do
  2062. if Player.Character:FindFirstChild("Torso") ~= nil then
  2063. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2064. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2065. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new((-0.5 * i) + (1.5 * (1 - i)), 1.2 * i, 0.8 * i) * CFrame.fromEulerAnglesXYZ(math.rad(300 + ((1 - i) * 50)), math.rad(10), math.rad(-90) * i)
  2066. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2067. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new((-0.9 * i) + (-1.5 * (1 - i)), -0.35 * i, 0.51 * i) * CFrame.fromEulerAnglesXYZ(math.rad(-90 * i), math.rad(-5 * i), 0)
  2068. wait()
  2069. else return false end
  2070. else return false end
  2071. end
  2072. return true
  2073. end
  2074. if format == "hold" then
  2075. if Player.Character:FindFirstChild("Torso") ~= nil then
  2076. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2077. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2078. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10), math.rad(-90))
  2079. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2080. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0)
  2081. else return false end
  2082. else return false end
  2083. end
  2084. if format == "reload" then
  2085. for i = 5, 0, -1 do
  2086. if Player.Character:FindFirstChild("Torso") ~= nil then
  2087. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2088. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2089. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 0.75, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(315 + (i * 1.5)), math.rad(i * 4), math.rad(-90))
  2090. wait()
  2091. else return false end
  2092. else return false end
  2093. end
  2094. coroutine.resume(coroutine.create(function()
  2095. for i = 0, 25, 5 do
  2096. if Player.Character:FindFirstChild("Torso") ~= nil then
  2097. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2098. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2099. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), 0)
  2100. wait()
  2101. else return false end
  2102. else return false end
  2103. end
  2104. end))
  2105. Player.Character[Name].Handle.Release:Play()
  2106. Player.Character[Name].Magazine.Transparency = 1
  2107. Player.Character[Name].MagPull1.Transparency = 1
  2108. Player.Character[Name].MagPull2.Transparency = 1
  2109. local Mag = Instance.new("Model")
  2110. Mag.Name = "Spent Magazine"
  2111. local source = Player.Character[Name]:FindFirstChild("Magazine")
  2112. if source == nil then return end
  2113. source = source:Clone()
  2114. source.CanCollide = true
  2115. source.Transparency = 0
  2116. source.Parent = Mag
  2117. coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do source.Transparency = i wait() end source:Remove() end))
  2118. for _, Part in pairs(Player.Character[Name]:GetChildren()) do
  2119. if Part.Name == "MagPull1" or Part.Name == "MagPull2" then
  2120. local new = Part:Clone()
  2121. new.Parent = Mag
  2122. new.Transparency = 0
  2123. new.CanCollide = true
  2124. local w = Instance.new("Weld", new)
  2125. w.Part0 = w.Parent
  2126. w.Part1 = source
  2127. w.C0 = Part.Weld.C0
  2128. w.C1 = Part.Weld.C1
  2129. coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do new.Transparency = i wait() end new:Remove() end))
  2130. else end
  2131. end
  2132. Mag.Parent = game.Workspace
  2133. for i = 0, 25, 5 do
  2134. if Player.Character:FindFirstChild("Torso") ~= nil then
  2135. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2136. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2137. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 + (i / 60), 1.2 - (i / 20), 0.8 + (i / 35)) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 + -i * 3.5), math.rad(-90))
  2138. wait()
  2139. else return false end
  2140. else return false end
  2141. end
  2142. magazineNew = Player.Character[Name].Magazine:Clone()
  2143. magazineNew.Name = "New Magazine"
  2144. magazineNew.Transparency = 0
  2145. magazineNew.Parent = Player.Character[Name]
  2146. local w = Instance.new("Weld")
  2147. w.Part0 = magazineNew
  2148. w.Part1 = Player.Character:FindFirstChild("Left Arm")
  2149. w.C0 = CFrame.new(0, 1.1, 0)
  2150. w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  2151. w.Parent = magazineNew
  2152. wait(0.2)
  2153. for i = 25, 0, -5 do
  2154. if Player.Character:FindFirstChild("Torso") ~= nil then
  2155. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2156. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2157. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3 + ((i + 10) / 60), 1.2 - ((i + 10) / 20), 0.8 + (i / 35)) * CFrame.fromEulerAnglesXYZ(math.rad(300 - (i - 10)), math.rad(10 + -i * 3.5), math.rad(-90))
  2158. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2159. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9 + ((25 - i) / 30), -0.35, 0.51 + ((25 - i) / 25)) * CFrame.fromEulerAnglesXYZ(math.rad(-90 + i), math.rad(-5), math.rad((25 * 2) - (i * 2)))
  2160. wait()
  2161. else return false end
  2162. else return false end
  2163. end
  2164. Player.Character[Name].Magazine.Transparency = 0
  2165. Player.Character[Name].MagPull1.Transparency = 0
  2166. Player.Character[Name].MagPull2.Transparency = 0
  2167. CamShake(1, 30000)
  2168. CamShake(1, -30000)
  2169. Player.Character[Name]["New Magazine"]:Remove()
  2170. wait(0.1)
  2171. if Player.Character:FindFirstChild("Torso") ~= nil then
  2172. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2173. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2174. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10), math.rad(-90))
  2175. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2176. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0)
  2177. else return false end
  2178. else return false end
  2179. Player.Character[Name].Handle.Reload:Play()
  2180. Player.Character[Name].Handle.Jam:Play()
  2181. wait(0.2)
  2182. if magazine.Value == 0 or Jammed == true then
  2183. playAnimation("charge")
  2184. end
  2185. end
  2186. if format == "charge" then
  2187. Player.Character[Name].Handle.Weld:Remove()
  2188. local w = Instance.new("Weld")
  2189. w.Part0 = Player.Character[Name].Handle
  2190. w.Part1 = Player.Character:FindFirstChild("Left Arm")
  2191. w.C0 = CFrame.new(-0.85, -0.3, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(15), math.rad(90), 0)
  2192. w.C1 = CFrame.new(0, 0.4, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(40), 0, 0)
  2193. w.Parent = Player.Character[Name].Handle
  2194. if Player.Character:FindFirstChild("Torso") ~= nil then
  2195. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2196. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2197. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.4, 0.9, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(280), math.rad(-10), math.rad(-90))
  2198. else return false end
  2199. else return false end
  2200. wait(0.2)
  2201. Player.Character[Name].Handle.Equip:Play()
  2202. Player.Character[Name].CHandleC.Transparency = 1
  2203. Player.Character[Name].CHandleB.Transparency = 0
  2204. Player.Character[Name].CHandleB1.Transparency = 0
  2205. Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0.115, 0)
  2206. Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.1, 0.14)
  2207. Player.Character[Name].DustCover.Mesh.Offset = Vector3.new(0, 0, 0.115)
  2208. Jammed = false
  2209. if magazine.Value ~= 0 then
  2210. makeShell(Player.Character[Name]:FindFirstChild("ShellOut"))
  2211. else end
  2212. for i = 0, 1, 0.25 do
  2213. if Player.Character:FindFirstChild("Torso") ~= nil then
  2214. if Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2215. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2216. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1.2, 0 - (i / 1.5), 0.9) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0)
  2217. wait()
  2218. else return false end
  2219. else return false end
  2220. end
  2221. wait(0.08)
  2222. Player.Character[Name].CHandleC.Transparency = 0
  2223. Player.Character[Name].CHandleB.Transparency = 1
  2224. Player.Character[Name].CHandleB1.Transparency = 1
  2225. Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0, 0)
  2226. Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.3, 0.14)
  2227. wait(0.02)
  2228. removeParts("RightHand")
  2229. makeParts("RightHand")
  2230. Player.Character[Name].DustCover.Mesh.Offset = Vector3.new(0, 0, 0.115)
  2231. playAnimation("hold")
  2232. return true
  2233. end
  2234. if format == "fire" then
  2235. Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0.115, 0)
  2236. Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.1, 0.14)
  2237. Player.Character[Name].DustCover.Mesh.Offset = Vector3.new(0, 0, 0.115)
  2238. makeShell(Player.Character[Name]:FindFirstChild("ShellOut"))
  2239. if Player.Character[Name]:FindFirstChild("Handle") ~= nil then
  2240. if silenced then
  2241. Player.Character[Name].Handle.Fire2.Volume = math.random(8, 10) / 10
  2242. Player.Character[Name].Handle.Fire2.Pitch = math.random(1.8, 2)
  2243. Player.Character[Name].Handle.Fire2:Play()
  2244. CamShake(10, 40000)
  2245. else
  2246. Player.Character[Name].Handle.Fire.Volume = math.random(9, 10) / 10
  2247. Player.Character[Name].Handle.Fire.Pitch = math.random(1.6, 1.8)
  2248. Player.Character[Name].Handle.Fire:Play()
  2249. CamShake(10, 50000)
  2250. end
  2251. else return false end
  2252. if Player.Character[Name]:FindFirstChild("Muzzle") ~= nil then
  2253. if silenced == false then
  2254. coroutine.resume(coroutine.create(function() Player.Character[Name].DustCover.Smoke.Enabled = true Player.Character[Name].Muzzle.Smoke.Enabled = true Player.Character[Name].Muzzle.Fire.Enabled = true wait(0.1) Player.Character[Name].DustCover.Smoke.Enabled = false Player.Character[Name].Muzzle.Smoke.Enabled = false Player.Character[Name].Muzzle.Fire.Enabled = false end))
  2255. else end
  2256. else return false end
  2257. for i = 0, 6, 3 do
  2258. if Player.Character:FindFirstChild("Torso") ~= nil then
  2259. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2260. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2261. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90))
  2262. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2263. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  2264. wait()
  2265. else return false end
  2266. else return false end
  2267. end
  2268. if magazine.Value ~= 0 then
  2269. Player.Character[Name].Bolt.Mesh.Offset = Vector3.new(0, 0, 0)
  2270. Player.Character[Name].Bolt.Mesh.Scale = Vector3.new(0.14, 0.3, 0.14)
  2271. elseif magazine.Value == 0 then
  2272. Player.Character[Name].Handle.Lock:Play()
  2273. end
  2274. if math.random(1, Reliability) == 1 then
  2275. Jammed = true
  2276. Player.Character[Name].Handle.Jam:Play()
  2277. end
  2278. for i = 6, 0, -3 do
  2279. if Player.Character:FindFirstChild("Torso") ~= nil then
  2280. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2281. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2282. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.3, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90))
  2283. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2284. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90 - i), math.rad(-5), 0)
  2285. wait()
  2286. else return false end
  2287. else return false end
  2288. end
  2289. end
  2290. if format == "silence" then
  2291. Player.Character[Name].Handle.Jam:Play()
  2292. if Player.Character:FindFirstChild("Torso") ~= nil then
  2293. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2294. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2295. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-0.9, -0.6, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0)
  2296. else return false end
  2297. else return false end
  2298. for i = 0, 10, 1.5 do
  2299. if Player.Character:FindFirstChild("Torso") ~= nil then
  2300. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  2301. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2302. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 1.4 - (i / 25), 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90))
  2303. wait()
  2304. end
  2305. end
  2306. end
  2307. for i = 10, 0, -1.5 do
  2308. if Player.Character:FindFirstChild("Torso") ~= nil then
  2309. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  2310. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2311. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 1.4 - (i / 25), 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90))
  2312. wait()
  2313. end
  2314. end
  2315. end
  2316. playAnimation("hold")
  2317. return
  2318. end
  2319. if format == "attachment" then
  2320. Player.Character[Name].Handle.Switch:Play()
  2321. for i = 0, 10, 5 do
  2322. if Player.Character:FindFirstChild("Torso") ~= nil then
  2323. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  2324. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2325. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90))
  2326. wait()
  2327. end
  2328. end
  2329. end
  2330. for i = 10, 0, -5 do
  2331. if Player.Character:FindFirstChild("Torso") ~= nil then
  2332. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
  2333. Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
  2334. Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90))
  2335. wait()
  2336. end
  2337. end
  2338. end
  2339. end
  2340. if format == "switch" then
  2341. for i = 10, 0, -3 do
  2342. if Player.Character:FindFirstChild("Torso") ~= nil then
  2343. if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
  2344. Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
  2345. Player.Character.Torso["Right Shoulder 2"].C1 = CFrame.new(-1 + (i / 30), -0.35, 0.51 + (i / 25)) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), math.rad((25 * 2) - ((25 - i) * 2)))
  2346. wait()
  2347. else return false end
  2348. else return false end
  2349. end
  2350. end
  2351. return true
  2352. end
  2353.  
  2354.  
  2355. function CamShake(time, freq)
  2356. coroutine.resume(coroutine.create(function()
  2357. local cam = game:GetService("Workspace").CurrentCamera
  2358. local time = 10
  2359. local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0)
  2360. if math.random(1, 2) == 1 then seed = Vector3.new(-seed.x, seed.y, 0) end
  2361. if math.random(1, 2) == 1 then seed = Vector3.new(seed.x, -seed.y, 0) end
  2362. 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)
  2363. for i = 1, time do
  2364. 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)
  2365. wait()
  2366. end
  2367. end))
  2368. end
  2369.  
  2370.  
  2371. function makeShell(part)
  2372. if part == nil then return false end
  2373. local casing = Instance.new("Part")
  2374. casing.Name = "Shell"
  2375. casing.formFactor = "Custom"
  2376. casing.Size = Vector3.new(0.2, 0.25, 0.2)
  2377. 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)))
  2378. casing.BrickColor = BrickColor.new("New Yeller")
  2379. local mesh = Instance.new("CylinderMesh")
  2380. mesh.Scale = Vector3.new(0.3, 1, 0.3)
  2381. mesh.Parent = casing
  2382. casing.Parent = game:GetService("Workspace")
  2383. casing:BreakJoints()
  2384. casing.Velocity = (part.CFrame.lookVector * 50) + Vector3.new(0, 10, 0)
  2385. coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do casing.Transparency = i wait() end casing:Remove() end))
  2386. end
  2387.  
  2388.  
  2389. function Weld(x, y)
  2390. local weld = Instance.new("Weld")
  2391. weld.Part0 = x
  2392. weld.Part1 = y
  2393. CJ = CFrame.new(x.Position)
  2394. C0 = x.CFrame:inverse() * CJ
  2395. C1 = y.CFrame:inverse() * CJ
  2396. weld.C0 = C0
  2397. weld.C1 = C1
  2398. weld.Parent = x
  2399. end
  2400.  
  2401.  
  2402. function tagHumanoid(humanoid)
  2403. local tag = Instance.new("ObjectValue")
  2404. tag.Name = "creator"
  2405. tag.Value = Player
  2406. tag.Parent = humanoid
  2407. local tag = Instance.new("StringValue")
  2408. tag.Name = "creatorType1"
  2409. tag.Value = Name
  2410. tag.Parent = humanoid
  2411. local tag = Instance.new("StringValue")
  2412. tag.Name = "creatorType2"
  2413. tag.Value = "shot"
  2414. tag.Parent = humanoid
  2415. end
  2416.  
  2417.  
  2418. function untagHumanoid(humanoid)
  2419. if humanoid ~= nil then
  2420. local tag = humanoid:FindFirstChild("creator")
  2421. if tag ~= nil then
  2422. tag:Remove()
  2423. end
  2424. local tag = humanoid:FindFirstChild("creatorType1")
  2425. if tag ~= nil then
  2426. tag:Remove()
  2427. end
  2428. local tag = humanoid:FindFirstChild("creatorType2")
  2429. if tag ~= nil then
  2430. tag:Remove()
  2431. end
  2432. end
  2433. end
  2434.  
  2435.  
  2436. function fire(startPoint, endPoint, hit)
  2437. local trail = Instance.new("Part")
  2438. trail.Name = "Bullet Trail"
  2439. trail.BrickColor = BrickColor.new("Dark stone grey")
  2440. trail.TopSurface = 0
  2441. trail.BottomSurface = 0
  2442. trail.formFactor = 0
  2443. trail.Size = Vector3.new(1, 1, 1)
  2444. trail.Transparency = 0.5
  2445. trail.Anchored = true
  2446. trail.CanCollide = false
  2447. trail.CFrame = CFrame.new((startPoint + endPoint) / 2, endPoint)
  2448. trail.Parent = game:GetService("Workspace")
  2449. local mesh = Instance.new("SpecialMesh")
  2450. mesh.MeshType = "Brick"
  2451. mesh.Scale = Vector3.new(0.1, 0.1, (startPoint - endPoint).magnitude)
  2452. mesh.Parent = trail
  2453. 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)
  2454. if hit ~= nil then
  2455. if hit.Parent == nil then return end
  2456. if hit.Parent.ClassName == "Hat" then
  2457. if hit.Parent.Parent.Humanoid ~= nil then
  2458. hit.Parent.Parent.Humanoid:TakeDamage(damage * 5)
  2459. end
  2460. end
  2461. if hit.Parent:FindFirstChild("Humanoid") ~= nil then
  2462. tagHumanoid(hit.Parent.Humanoid)
  2463. if hit.Name == "Head" then
  2464. hit.Parent.Humanoid:TakeDamage(damage * 10)
  2465. elseif hit.Name == "Torso" then
  2466. hit.Parent.Humanoid:TakeDamage(damage * 2)
  2467. elseif hit.Name == "Left Leg" then
  2468. hit.Parent.Humanoid:TakeDamage(damage)
  2469. hit.Parent.Humanoid.Sit = true
  2470. elseif hit.Name == "Right Leg" then
  2471. hit.Parent.Humanoid:TakeDamage(damage)
  2472. hit.Parent.Humanoid.Sit = true
  2473. else
  2474. hit.Parent.Humanoid:TakeDamage(damage)
  2475. end
  2476. if math.random(1, 10) == 1 then
  2477. hit.Parent.Humanoid.Sit = true
  2478. end
  2479. delay(0.1, function() untagHumanoid(hit.Parent.Humanoid) end)
  2480. end
  2481. if hit.Anchored == false then
  2482. hit.Velocity = hit.Velocity + ((endPoint - startPoint).unit * (damage * 2))
  2483. end
  2484. end
  2485. end
  2486.  
  2487.  
  2488. function onButton1Down(mouse)
  2489. if selected == false then return end
  2490. 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
  2491. if Player.Character[Name]:FindFirstChild("Handle") == nil then return end
  2492. if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
  2493. if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end end
  2494. if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end end
  2495. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  2496. Button1Down = true
  2497. canFire = false
  2498. canFire2 = true
  2499. while canFire2 == true do
  2500. local humanoid = Player.Character:FindFirstChild("Humanoid")
  2501. if humanoid == nil then
  2502. canFire2 = false
  2503. break
  2504. end
  2505. if humanoid.Health <= 0 then
  2506. canFire2 = false
  2507. break
  2508. end
  2509. local fireLeft = false
  2510. if automatic == false and burst == false then
  2511. canFire2 = false
  2512. elseif automatic == false and burst == true then
  2513. if burstCount >= burstCountMax then
  2514. canFire2 = false
  2515. burstCount = 0
  2516. break
  2517. end
  2518. burstCount = burstCount + 1
  2519. elseif automatic == true and burst == false then
  2520. fireLeft = true
  2521. end
  2522. if Jammed ~= true then
  2523. if magazine.Value > 0 then
  2524. magazine.Value = magazine.Value - 1
  2525. updateGui()
  2526. if silenced == true then
  2527. CamShake(1, Spread)
  2528. else end
  2529. fire(Player.Character[Name].Muzzle.Position, mouse.Hit.p, mouse.Target)
  2530. coroutine.resume(coroutine.create(function()
  2531. if dual == true then
  2532. playAnimation("rightFire")
  2533. elseif dual == false then
  2534. playAnimation("fire")
  2535. end
  2536. end))
  2537. else
  2538. Player.Character[Name].Handle.Empty:Play()
  2539. end
  2540. else
  2541. Player.Character[Name].Handle.Jam:Play()
  2542. end
  2543. if fireLeft == true and dual == true and automatic == true then
  2544. if magazine.Value > 0 then
  2545. coroutine.resume(coroutine.create(function()
  2546. wait(readyTime / 2)
  2547. magazine.Value = magazine.Value - 1
  2548. updateGui()
  2549. fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target)
  2550. playAnimation("leftFire")
  2551. end))
  2552. else
  2553. coroutine.resume(coroutine.create(function()
  2554. wait(readyTime / 2)
  2555. Player.Character[Name].Handle.Empty:Play()
  2556. end))
  2557. end
  2558. end
  2559. wait(readyTime)
  2560. end
  2561. if magazine.Value ~= 0 then
  2562. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  2563. else end
  2564. canFire = true
  2565. end
  2566. end
  2567.  
  2568.  
  2569. function onButton1Up(mouse)
  2570. if selected == false then return end
  2571. Button1Down = false
  2572. canFire2 = false
  2573. burstCount = 0
  2574. while canFire == false do wait() end
  2575. if dual == true and automatic == false then
  2576. if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end
  2577. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
  2578. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  2579. canFire = false
  2580. canFire2 = true
  2581. while canFire2 == true do
  2582. local humanoid = Player.Character:FindFirstChild("Humanoid")
  2583. if humanoid == nil then
  2584. canFire2 = false
  2585. break
  2586. end
  2587. if humanoid.Health <= 0 then
  2588. canFire2 = false
  2589. break
  2590. end
  2591. if burst == false then
  2592. canFire2 = false
  2593. elseif burst == true then
  2594. if burstCount >= burstCountMax then
  2595. canFire2 = false
  2596. burstCount = 0
  2597. break
  2598. end
  2599. burstCount = burstCount + 1
  2600. end
  2601. if magazine.Value <= 0 then
  2602. Player.Character[Name].Handle.Empty:Play()
  2603. else
  2604. coroutine.resume(coroutine.create(function()
  2605. playAnimation("leftFire")
  2606. end))
  2607. magazine.Value = magazine.Value - 1
  2608. updateGui()
  2609. fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target)
  2610. end
  2611. wait(readyTime)
  2612. end
  2613. if magazine.Value ~= 0 then
  2614. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  2615. else end
  2616. canFire = true
  2617. end
  2618. end
  2619.  
  2620.  
  2621. function onKeyDown(key, mouse)
  2622. if selected == false then return end
  2623. key = key:lower()
  2624. if key == "q" and Button1Down == false and canFire == true then
  2625. if mouse.Target == nil then return end
  2626. if game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent) ~= nil then
  2627. if dual == true then onKeyDown("t", mouse) end
  2628. onDeselected(mouse)
  2629. removeParts("RightHolster")
  2630. script.Parent.Parent = game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent).Backpack
  2631. end
  2632. end
  2633. if key == "e" and Button1Down == false and canFire == true and canSilence == true then
  2634. canFire = false
  2635. if silenced then
  2636. playAnimation("silence")
  2637. silenced = false
  2638. if Player.Character:FindFirstChild(Name) == nil then return end
  2639. if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
  2640. if Player.Character[Name]:FindFirstChild("Muzzle 2") == nil then return end
  2641. Player.Character[Name].Muzzle.Transparency = 1
  2642. Player.Character[Name].Silencer1.Transparency = 1
  2643. Player.Character[Name].Silencer2.Transparency = 1
  2644. Player.Character[Name].Muzzle.Name = "Silencer"
  2645. Player.Character[Name]["Muzzle 2"].Name = "Muzzle"
  2646. if dual == true then
  2647. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
  2648. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle 2") == nil then return end
  2649. Player.Character[Name.. " (Left)"].Muzzle.Transparency = 1
  2650. Player.Character[Name.. " (Left)"].Muzzle.Name = "Silencer"
  2651. Player.Character[Name.. " (Left)"]["Muzzle 2"].Name = "Muzzle"
  2652. end
  2653. else
  2654. playAnimation("silence")
  2655. silenced = true
  2656. if Player.Character:FindFirstChild(Name) == nil then return end
  2657. if Player.Character[Name]:FindFirstChild("Silencer") == nil then return end
  2658. if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
  2659. Player.Character[Name].Silencer.Transparency = 0
  2660. Player.Character[Name].Silencer1.Transparency = 0
  2661. Player.Character[Name].Silencer2.Transparency = 0
  2662. Player.Character[Name].Muzzle.Name = "Muzzle 2"
  2663. Player.Character[Name].Silencer.Name = "Muzzle"
  2664. if dual == true then
  2665. if Player.Character[Name.. " (Left)"]:FindFirstChild("Silencer") == nil then return end
  2666. if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
  2667. Player.Character[Name.. " (Left)"].Silencer.Transparency = 0
  2668. Player.Character[Name.. " (Left)"].Muzzle.Name = "Muzzle 2"
  2669. Player.Character[Name.. " (Left)"].Silencer.Name = "Muzzle"
  2670. end
  2671. end
  2672. canFire = true
  2673. end
  2674. if key == "r" and Button1Down == false and canFire == true then
  2675. if ammo.Value > 0 and magazine.Value ~= magazineMax.Value + 1 then
  2676. canFire = false
  2677. burstCount = 0
  2678. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  2679. if magazine.Value > 0 then magazine.Value = 1 end
  2680. updateGui()
  2681. if dual == true then
  2682. playAnimation("reloadDual")
  2683. elseif dual == false then
  2684. playAnimation("reload")
  2685. end
  2686. if ammo.Value - magazineMax.Value < 0 then
  2687. magazine.Value = ammo.Value
  2688. ammo.Value = 0
  2689. elseif ammo.Value - magazineMax.Value >= 0 then
  2690. ammo.Value = ammo.Value - magazineMax.Value
  2691. magazine.Value = magazine.Value + magazineMax.Value
  2692. end
  2693. updateGui()
  2694. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  2695. canFire = true
  2696. end
  2697. end
  2698. if key == "t" and Button1Down == false and canFire == true and canDual == true then
  2699. canFire = false
  2700. if dual == false then
  2701. local weapon = nil
  2702. for _, p in pairs(Player.Backpack:GetChildren()) do
  2703. if p.Name == Name and p ~= script.Parent then weapon = p break end
  2704. end
  2705. if weapon ~= nil then
  2706. dual = true
  2707. weapon.Name = "Dual"
  2708. weapon.Parent = script
  2709. silenced = false
  2710. removeParts("RightHand")
  2711. makeParts("RightHand")
  2712. removeParts("RightHolster")
  2713. makeParts("LeftHolster")
  2714. playAnimation("leftEquip")
  2715. removeParts("LeftHolster")
  2716. makeParts("LeftHand")
  2717. magazineMax.Value = math.ceil(magazineMax.Value * 2)
  2718. ammoMax.Value = math.ceil(ammoMax.Value * 2)
  2719. magazine.Value = magazine.Value + weapon.Magazine.Value
  2720. ammo.Value = ammo.Value + weapon.Ammo.Value
  2721. updateGui()
  2722. end
  2723. elseif dual == true then
  2724. local weapon = script:FindFirstChild("Dual")
  2725. if weapon ~= nil then
  2726. dual = false
  2727. weapon.Name = Name
  2728. weapon.Parent = Player.Backpack
  2729. silenced = false
  2730. removeParts("RightHand")
  2731. makeParts("RightHand")
  2732. playAnimation("leftUnequip")
  2733. removeParts("LeftHand")
  2734. makeParts("RightHolster")
  2735. playAnimation("hold")
  2736. weapon.Magazine.Value = math.floor(magazine.Value / 2)
  2737. weapon.Ammo.Value = math.floor(ammo.Value / 2)
  2738. magazineMax.Value = math.ceil(magazineMax.Value / 2)
  2739. ammoMax.Value = math.ceil(ammoMax.Value / 2)
  2740. magazine.Value = math.ceil(magazine.Value / 2)
  2741. ammo.Value = math.ceil(ammo.Value / 2)
  2742. updateGui()
  2743. end
  2744. end
  2745. canFire = true
  2746. end
  2747. if key == "y" and canZoom == true then
  2748. if zoom == false then
  2749. zoom = true
  2750. local pos = mouse.Hit.p
  2751. local target = mouse.Target
  2752. local cam = game:GetService("Workspace").CurrentCamera
  2753. focus = Instance.new("Part", workspace)
  2754. focus.Anchored = true
  2755. focus.CanCollide = false
  2756. focus.Transparency = 1
  2757. focus.TopSurface = 0
  2758. focus.BottomSurface = 0
  2759. focus.formFactor = "Plate"
  2760. focus.Size = Vector3.new(0, 0, 0)
  2761. focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p)
  2762. cam.CameraSubject = focus
  2763. cam.CameraType = "Attach"
  2764. while zoom == true and selected == true do
  2765. local set = false
  2766. if target ~= nil then
  2767. if target.Parent ~= nil then
  2768. if target.Anchored == false then
  2769. 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)
  2770. set = true
  2771. end
  2772. end
  2773. end
  2774. if set == false then
  2775. focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p)
  2776. end
  2777. wait()
  2778. end
  2779. if focus ~= nil then focus:Remove() focus = nil end
  2780. local cam = game:GetService("Workspace").CurrentCamera
  2781. cam.CameraSubject = Player.Character:FindFirstChild("Humanoid")
  2782. cam.CameraType = "Custom"
  2783. else
  2784. zoom = false
  2785. end
  2786. end
  2787. if key == "u" and Button1Down == false and canFire == true then
  2788. playAnimation("switch")
  2789. if automatic == false and burst == false then
  2790. if switchToBurst == true then
  2791. burst = true
  2792. local m = Instance.new("Message", Player)
  2793. m.Text = "Burst"
  2794. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  2795. delay(2.5, function() m:Remove() end)
  2796. elseif switchToAutomatic == true then
  2797. automatic = true
  2798. local m = Instance.new("Message", Player)
  2799. m.Text = "Automatic"
  2800. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  2801. delay(2.5, function() m:Remove() end)
  2802. end
  2803. elseif automatic == false and burst == true then
  2804. if switchToAutomatic == true then
  2805. automatic = true
  2806. burst = false
  2807. local m = Instance.new("Message", Player)
  2808. m.Text = "Automatic"
  2809. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  2810. delay(2.5, function() m:Remove() end)
  2811. elseif switchToSingle == true then
  2812. burst = false
  2813. local m = Instance.new("Message", Player)
  2814. m.Text = "Single"
  2815. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  2816. delay(2.5, function() m:Remove() end)
  2817. end
  2818. elseif automatic == true and burst == false then
  2819. if switchToSingle == true then
  2820. automatic = false
  2821. local m = Instance.new("Message", Player)
  2822. m.Text = "Single"
  2823. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  2824. delay(2.5, function() m:Remove() end)
  2825. elseif switchToBurst == true then
  2826. automatic = false
  2827. burst = true
  2828. local m = Instance.new("Message", Player)
  2829. m.Text = "Burst"
  2830. pcall(function() Player.Character[Name].Handle.Switch:Play() end)
  2831. delay(2.5, function() m:Remove() end)
  2832. end
  2833. end
  2834. end
  2835. if key == "f" and Button1Down == false and canFire == true and Attachment == true and dual == false then
  2836. playAnimation("attachment")
  2837. if Mode == 1 and Mode ~= 2 and Mode ~= 0 then
  2838. Player.Character[Name].Handle.Switch:Play()
  2839. Player.Character[Name].Laser.Transparency = 1
  2840. Player.Character[Name].Light.Transparency = 0.5
  2841. Mode = 2
  2842. elseif Mode == 2 and Mode ~= 1 and Mode ~= 0 then
  2843. Player.Character[Name].Handle.Switch:Play()
  2844. Player.Character[Name].Laser.Transparency = 1
  2845. Player.Character[Name].Light.Transparency = 1
  2846. Mode = 0
  2847. elseif Mode == 0 and Mode ~= 1 and Mode ~= 2 then
  2848. Player.Character[Name].Handle.Switch:Play()
  2849. Player.Character[Name].Laser.Transparency = 0.4
  2850. Player.Character[Name].Light.Transparency = 1
  2851. Mode = 1
  2852. end
  2853. else end
  2854. if key == "c" and Button1Down == false and canFire == true then
  2855. if magazine.Value ~= 0 then
  2856. canFire = false
  2857. burstCount = 0
  2858. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  2859. if magazine.Value ~= 0 then magazine.Value = magazine.Value - 1 end
  2860. updateGui()
  2861. playAnimation("charge")
  2862. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  2863. canFire = true
  2864. end
  2865. end
  2866. end
  2867.  
  2868.  
  2869. function onSelected(mouse)
  2870. if selected == true then return end
  2871. selected = true
  2872. canFire = false
  2873. mouse.Icon = "http://www.roblox.com/asset/?id=59125642"
  2874. while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
  2875. if Player.Character.WeaponActivated.Value == nil then break end
  2876. if Player.Character.WeaponActivated.Value.Parent == nil then break end
  2877. wait()
  2878. end
  2879. updateGui()
  2880. local weapon = Instance.new("ObjectValue")
  2881. weapon.Name = "WeaponActivated"
  2882. weapon.Value = script.Parent
  2883. weapon.Parent = Player.Character
  2884. DisableLimb(1, Player.Character)
  2885. DisableLimb(2, Player.Character)
  2886. ForceAngle(1, 0, Player.Character)
  2887. ForceAngle(2, 0, Player.Character)
  2888. if dual == true then
  2889. coroutine.resume(coroutine.create(function() playAnimation("leftEquip") end))
  2890. playAnimation("rightEquip")
  2891. removeParts("LeftHolster")
  2892. makeParts("LeftHand")
  2893. else
  2894. playAnimation("equip")
  2895. end
  2896. removeParts("RightHolster")
  2897. makeParts("RightHand")
  2898. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  2899. mouse.Button1Up:connect(function() onButton1Up(mouse) end)
  2900. mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)
  2901. mouse.Icon = "http://www.roblox.com/asset/?id=59125633"
  2902. canFire = true
  2903. end
  2904.  
  2905.  
  2906. function onDeselected(mouse)
  2907. if selected == false then return end
  2908. Button1Down = false
  2909. while canFire == false do
  2910. wait()
  2911. end
  2912. selected = false
  2913. if dual == true then
  2914. if math.random(1, 2) == 1 then
  2915. coroutine.resume(coroutine.create(function() playAnimation("leftUnequip") end))
  2916. wait(math.random(1, 10) / 10)
  2917. playAnimation("rightUnequip")
  2918. else
  2919. coroutine.resume(coroutine.create(function() playAnimation("rightUnequip") end))
  2920. wait(math.random(1, 10) / 10)
  2921. playAnimation("leftUnequip")
  2922. end
  2923. removeParts("LeftHand")
  2924. makeParts("LeftHolster")
  2925. else
  2926. playAnimation("unequip")
  2927. end
  2928. removeParts("RightHand")
  2929. makeParts("RightHolster")
  2930. ForceAngle(1, 0, Player.Character)
  2931. ForceAngle(2, 0, Player.Character)
  2932. ResetLimbCFrame(1, Player.Character)
  2933. ResetLimbCFrame(2, Player.Character)
  2934. EnableLimb(1, Player.Character)
  2935. EnableLimb(2, Player.Character)
  2936. if Player.PlayerGui:FindFirstChild(Name) ~= nil then Player.PlayerGui[Name]:Remove() end
  2937. if Player.Character:FindFirstChild("WeaponActivated") ~= nil then
  2938. if Player.Character.WeaponActivated.Value == script.Parent then
  2939. Player.Character.WeaponActivated:Remove()
  2940. end
  2941. end
  2942. while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
  2943. if Player.Character.WeaponActivated.Value == nil then break end
  2944. if Player.Character.WeaponActivated.Value.Parent == nil then break end
  2945. wait()
  2946. end
  2947. end
  2948.  
  2949.  
  2950. if script.Parent.className ~= "HopperBin" then
  2951. if Player == nil then print("Error: Player not found!") return end
  2952. Tool = Instance.new("HopperBin")
  2953. Tool.Name = Name
  2954. Tool.Parent = Player.Backpack
  2955. script.Name = "Main"
  2956. script.Parent = Tool
  2957. elseif script.Parent.className == "HopperBin" then
  2958. while script.Parent.Parent.className ~= "Backpack" do
  2959. wait()
  2960. end
  2961. if script.Parent:FindFirstChild("MagazineMax") == nil then
  2962. magazineMax = Instance.new("NumberValue")
  2963. magazineMax.Name = "MagazineMax"
  2964. if Magazine == "STANAG" then
  2965. magazineMax.Value = 30
  2966. elseif Magazine == "Beta-C" then
  2967. magazineMax.Value = 100
  2968. else end
  2969. magazineMax.Parent = script.Parent
  2970. else
  2971. magazineMax = script.Parent.MagazineMax
  2972. end
  2973. if script.Parent:FindFirstChild("Magazine") == nil then
  2974. magazine = Instance.new("NumberValue")
  2975. magazine.Name = "Magazine"
  2976. magazine.Value = 0
  2977. magazine.Parent = script.Parent
  2978. else
  2979. magazine = script.Parent.Magazine
  2980. end
  2981. if script.Parent:FindFirstChild("AmmoMax") == nil then
  2982. ammoMax = Instance.new("NumberValue")
  2983. ammoMax.Name = "AmmoMax"
  2984. if Magazine == "STANAG" then
  2985. ammoMax.Value = 180
  2986. elseif Magazine == "Beta-C" then
  2987. ammoMax.Value = 300
  2988. else end
  2989. ammoMax.Parent = script.Parent
  2990. else
  2991. ammoMax = script.Parent.AmmoMax
  2992. end
  2993. if script.Parent:FindFirstChild("Ammo") == nil then
  2994. ammo = Instance.new("NumberValue")
  2995. ammo.Name = "Ammo"
  2996. ammo.Value = script.Parent.AmmoMax.Value
  2997. ammo.Parent = script.Parent
  2998. else
  2999. ammo = script.Parent.Ammo
  3000. end
  3001. Player = script.Parent.Parent.Parent
  3002. makeParts("RightHolster")
  3003. script.Parent.Selected:connect(onSelected)
  3004. script.Parent.Deselected:connect(onDeselected)
  3005. end
  3006. --lego
  3007. game.Workspace.SmokeDelsin.Humanoid.MaxHealth = math.huge -----Replace YOURNAMEHERE with your name, it gives you INF health, enjoy. C:
  3008. print(lego)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement