Advertisement
95audrey

gun 2

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