Enderbrine12

8 Gauge

Nov 26th, 2016
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.00 KB | None | 0 0
  1. --[[
  2. 8 Gauge Shotgun
  3. A humungous shotgun that fires 6 deadly 8-gauge shells.
  4. --]]
  5.  
  6.  
  7. if script == nil then return end
  8.  
  9.  
  10. ModelName = "8 Gauge"
  11. AmmoType = "8-gauge shell"
  12. MagazineCapacity = 6
  13. MagazineCapacityAdd = 1
  14. Player = Game:GetService("Players").LocalPlayer
  15. Char = Player.Character
  16. animate = Char:findFirstChild("Animate")
  17. if animate then
  18. animate:Destroy()
  19. end
  20. Selected = false
  21. Connected = false
  22. Button1Down = false
  23. CanUse = true
  24. Aiming = true
  25.  
  26.  
  27. function CheckPlayer()
  28. if Player.Character == nil then return false end
  29. if Player.Character:FindFirstChild("Torso") == nil or Player.Character:FindFirstChild("Right Arm") == nil or Player.Character:FindFirstChild("Left Arm") == nil or Player.Character:FindFirstChild("Humanoid") == nil then return false end
  30. if Player.Character.Humanoid.Health <= 0 then return false end
  31. return true
  32. end
  33.  
  34.  
  35. function tagHumanoid(humanoid)
  36. local tag = Instance.new("ObjectValue")
  37. tag.Name = "creator"
  38. tag.Value = Player
  39. tag.Parent = humanoid
  40. end
  41.  
  42.  
  43. function untagHumanoid(humanoid)
  44. if humanoid ~= nil then
  45. local tag = humanoid:FindFirstChild("creator")
  46. if tag ~= nil then
  47. tag:Remove()
  48. end
  49. end
  50. end
  51.  
  52.  
  53. --[[
  54. CameraPunch v5
  55.  
  56. Functions:
  57. CameraPunch
  58. CameraSlide
  59. --]]
  60.  
  61.  
  62. function CameraPunch(X, Y)
  63. X, Y = X or math.rad(10), Y or math.rad(math.random(-10000, 10000) / 1000)
  64. Workspace.CurrentCamera.CoordinateFrame =
  65. CFrame.new(Workspace.CurrentCamera.Focus.p) *
  66. CFrame.fromEulerAnglesXYZ(CFrame.new(Workspace.CurrentCamera.CoordinateFrame.p, Workspace.CurrentCamera.Focus.p):toEulerAnglesXYZ()) *
  67. CFrame.fromEulerAnglesXYZ(X, Y, 0) *
  68. CFrame.new(0, 0, (Workspace.CurrentCamera.CoordinateFrame.p - Workspace.CurrentCamera.Focus.p).magnitude)
  69. end
  70.  
  71.  
  72. function CameraSlide(X, Y, Step)
  73. X, Y, Step = X or math.rad(10), Y or math.rad(math.random(-10000, 10000) / 1000), Step or 0.1
  74. for i = 0, 1, Step do
  75. CameraPunch(Step * X, Step * Y)
  76. wait()
  77. end
  78. end
  79.  
  80.  
  81. SoundToServer = function(Name, SoundId, Pitch, Volume, Looped, Parent)
  82. local Sound = Instance.new("Sound")
  83. Sound.Name = Name
  84. Sound.SoundId = SoundId
  85. Sound.Pitch = Pitch
  86. Sound.Volume = Volume
  87. Sound.Looped = Looped
  88. Sound.Parent = Parent
  89. Sound:Play()
  90. end
  91.  
  92.  
  93. --[[
  94. CFrameTween v4
  95.  
  96. Functions:
  97. PropertyCFrameTween
  98. --]]
  99.  
  100.  
  101. function PropertyCFrameTween(Part, Property, End, Step, Wrap)
  102. if Part == nil then return end
  103. local StartPosition = Part[Property].p
  104. local StartAngle = Vector3.new(Part[Property]:toEulerAnglesXYZ())
  105. local EndPosition = End.p
  106. local EndAngle = Vector3.new(End:toEulerAnglesXYZ())
  107. local Loop = coroutine.create(function()
  108. for i = 0, 1, Step do
  109. Part[Property] =
  110. CFrame.new((StartPosition * (1 - i)) + (EndPosition * i)) *
  111. CFrame.fromEulerAnglesXYZ(
  112. (StartAngle.x * (1 - i)) + (EndAngle.x * i),
  113. (StartAngle.y * (1 - i)) + (EndAngle.y * i),
  114. (StartAngle.z * (1 - i)) + (EndAngle.z * i)
  115. )
  116. wait()
  117. end
  118. Part[Property] = End
  119. end)
  120. coroutine.resume(Loop)
  121. if Wrap ~= true then
  122. while coroutine.status(Loop) ~= "dead" do wait() end
  123. end
  124. end
  125.  
  126.  
  127. function CreateParts(Parent, Format)
  128. if Parent == nil then return end
  129. local Parts = Instance.new("Model")
  130. Parts.Name = ModelName
  131. if Format == 1 then
  132. Parts.Name = Parts.Name.. " (Holstered)"
  133. end
  134. Parts.Parent = Parent
  135.  
  136. local Handle = Instance.new("Part", Parts)
  137. Handle.Material = "SmoothPlastic"
  138. Handle.Name = "Handle"
  139. Handle.BrickColor = BrickColor.new("Really black")
  140. Handle.TopSurface = 0
  141. Handle.BottomSurface = 0
  142. Handle.FormFactor = "Custom"
  143. Handle.Size = Vector3.new(0.5, 0.7, 1.3)
  144. local Weld = Instance.new("Weld", Handle)
  145. Weld.Part0 = Weld.Parent
  146. if Format == 1 then
  147. Weld.Part1 = Player.Character:FindFirstChild("Torso")
  148. Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(-40), math.rad(90), 0) * CFrame.new(0, 0, -0.7)
  149. elseif Format == 2 then
  150. Weld.Part1 = Player.Character:FindFirstChild("Right Arm")
  151. Weld.C1 = CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-10), 0) * CFrame.new(0, 0.5, -0.9)
  152. end
  153.  
  154. local Stock1 = Instance.new("Part", Parts)
  155. Stock1.Material = "SmoothPlastic"
  156. Stock1.Name = "Stock 1"
  157. Stock1.BrickColor = BrickColor.new("Really black")
  158. Stock1.TopSurface = 0
  159. Stock1.BottomSurface = 0
  160. Stock1.FormFactor = "Custom"
  161. Stock1.Size = Vector3.new(0.5, 0.6, 1.6)
  162. local Weld = Instance.new("Weld", Stock1)
  163. Weld.Part0 = Weld.Parent
  164. Weld.Part1 = Handle
  165. Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(-45), 0, 0) * CFrame.new(0, 0.43, -1.005)
  166.  
  167. local Stock2 = Instance.new("WedgePart", Parts)
  168. Stock2.Material = "SmoothPlastic"
  169. Stock2.Name = "Stock 2"
  170. Stock2.BrickColor = BrickColor.new("Really black")
  171. Stock2.TopSurface = 0
  172. Stock2.BottomSurface = 0
  173. Stock2.FormFactor = "Custom"
  174. Stock2.Size = Vector3.new(0.5, 0.9, 0.9)
  175. local Weld = Instance.new("Weld", Stock2)
  176. Weld.Part0 = Weld.Parent
  177. Weld.Part1 = Stock1
  178. Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(135), 0, 0) * CFrame.new(0, -0.3, -0.15)
  179.  
  180. local Pipe1 = Instance.new("Part", Parts)
  181. Pipe1.Material = "SmoothPlastic"
  182. Pipe1.Name = "Pipe 1"
  183. Pipe1.BrickColor = BrickColor.new("Light grey")
  184. Pipe1.Reflectance = 0.1
  185. Pipe1.TopSurface = 0
  186. Pipe1.BottomSurface = 0
  187. Pipe1.FormFactor = "Custom"
  188. Pipe1.Size = Vector3.new(0.3, 0.3, 3.2)
  189. Instance.new("BlockMesh", Pipe1)
  190. local Weld = Instance.new("Weld", Pipe1)
  191. Weld.Part0 = Weld.Parent
  192. Weld.Part1 = Handle
  193. Weld.C0 = CFrame.new(0, -0.15, 1.6 + 0.55)
  194.  
  195. local Pipe2 = Instance.new("Part", Parts)
  196. Pipe2.Material = "SmoothPlastic"
  197. Pipe2.Name = "Pipe 2"
  198. Pipe2.BrickColor = BrickColor.new("Light grey")
  199. Pipe2.Reflectance = 0.1
  200. Pipe2.TopSurface = 0
  201. Pipe2.BottomSurface = 0
  202. Pipe2.FormFactor = "Custom"
  203. Pipe2.Size = Vector3.new(0.3, 0.3, 1.7)
  204. Instance.new("BlockMesh", Pipe2)
  205. local Weld = Instance.new("Weld", Pipe2)
  206. Weld.Part0 = Weld.Parent
  207. Weld.Part1 = Handle
  208. Weld.C0 = CFrame.new(0, 0.15, 0.85 + 0.55)
  209.  
  210. local Pipe3 = Instance.new("Part", Parts)
  211. Pipe3.Material = "SmoothPlastic"
  212. Pipe3.Name = "Pipe 3"
  213. Pipe3.BrickColor = BrickColor.new("Light grey")
  214. Pipe3.Reflectance = 0.1
  215. Pipe3.TopSurface = 0
  216. Pipe3.BottomSurface = 0
  217. Pipe3.FormFactor = "Custom"
  218. Pipe3.Size = Vector3.new(0.25, 0.25, 1.6)
  219. Instance.new("BlockMesh", Pipe3)
  220. local Weld = Instance.new("Weld", Pipe3)
  221. Weld.Part0 = Weld.Parent
  222. Weld.Part1 = Pipe2
  223. Weld.C0 = CFrame.new(0, 0, 0.8 + 0.7)
  224.  
  225. local Pump1 = Instance.new("Part", Parts)
  226. Pump1.Material = "SmoothPlastic"
  227. Pump1.Name = "Pump"
  228. Pump1.BrickColor = BrickColor.new("Really black")
  229. Pump1.TopSurface = 0
  230. Pump1.BottomSurface = 0
  231. Pump1.FormFactor = "Custom"
  232. Pump1.Size = Vector3.new(0.45, 0.45, 1.1)
  233. Instance.new("BlockMesh", Pump1)
  234. local Weld = Instance.new("Weld", Pump1)
  235. Weld.Part0 = Weld.Parent
  236. Weld.Part1 = Pipe3
  237. Weld.C0 = CFrame.new(0, 0, -0.6)
  238.  
  239. local Pump2 = Instance.new("Part", Parts)
  240. Pump2.Material = "SmoothPlastic"
  241. Pump2.Name = "Pump 2"
  242. Pump2.BrickColor = BrickColor.new("Really black")
  243. Pump2.TopSurface = 0
  244. Pump2.BottomSurface = 0
  245. Pump2.FormFactor = "Custom"
  246. Pump2.Size = Vector3.new(0.5, 0.5, 0.3)
  247. Instance.new("BlockMesh", Pump2)
  248. local Weld = Instance.new("Weld", Pump2)
  249. Weld.Part0 = Weld.Parent
  250. Weld.Part1 = Pump1
  251. Weld.C0 = CFrame.new(0, 0, 0.5)
  252.  
  253. for i = -20, 200, 20 do
  254. local TriggerGuard1 = Instance.new("Part", Parts)
  255. TriggerGuard1.Material = "SmoothPlastic"
  256. TriggerGuard1.Name = "Trigger Guard 1 " ..i
  257. TriggerGuard1.BrickColor = BrickColor.new("Really black")
  258. TriggerGuard1.TopSurface = 0
  259. TriggerGuard1.BottomSurface = 0
  260. TriggerGuard1.FormFactor = "Custom"
  261. TriggerGuard1.Size = Vector3.new(0.2, 0.2, 0.2)
  262. local Mesh = Instance.new("BlockMesh", TriggerGuard1)
  263. Mesh.Scale = Vector3.new(0.4, 0.6, 0.4)
  264. local Weld = Instance.new("Weld", TriggerGuard1)
  265. Weld.Part0 = Weld.Parent
  266. Weld.Part1 = Handle
  267. Weld.C0 = CFrame.new(0, 0, -0.2)
  268. Weld.C1 = CFrame.new(0, -0.45, -0.32) * CFrame.fromEulerAnglesXYZ(math.rad(i), 0, 0)
  269. end
  270.  
  271. local TriggerGuard2 = Instance.new("Part", Parts)
  272. TriggerGuard2.Material = "SmoothPlastic"
  273. TriggerGuard2.Name = "Trigger Guard 2"
  274. TriggerGuard2.BrickColor = BrickColor.new("Really black")
  275. TriggerGuard2.TopSurface = 0
  276. TriggerGuard2.BottomSurface = 0
  277. TriggerGuard2.FormFactor = "Custom"
  278. TriggerGuard2.Size = Vector3.new(0.2, 0.2, 0.3)
  279. local Mesh = Instance.new("BlockMesh", TriggerGuard2)
  280. Mesh.Scale = Vector3.new(0.4, 1, 1)
  281. local Weld = Instance.new("Weld", TriggerGuard2)
  282. Weld.Part0 = Weld.Parent
  283. Weld.Part1 = Handle
  284. Weld.C0 = CFrame.new(0, 0.45, -0.2)
  285. Weld.C1 = CFrame.new(0, 0, -0.32) * CFrame.fromEulerAnglesXYZ(math.rad(-20), 0, 0)
  286.  
  287. local Trigger = Instance.new("Part", Parts)
  288. Trigger.Material = "SmoothPlastic"
  289. Trigger.Name = "Trigger Guard 2"
  290. Trigger.BrickColor = BrickColor.new("Really black")
  291. Trigger.TopSurface = 0
  292. Trigger.BottomSurface = 0
  293. Trigger.FormFactor = "Custom"
  294. Trigger.Size = Vector3.new(0.2, 0.3, 0.2)
  295. local Mesh = Instance.new("BlockMesh", Trigger)
  296. Mesh.Scale = Vector3.new(0.5, 0.9, 0.3)
  297. local Weld = Instance.new("Weld", Trigger)
  298. Weld.Part0 = Weld.Parent
  299. Weld.Part1 = Handle
  300. Weld.C0 = CFrame.new(0, 0.45, 0.275) * CFrame.fromEulerAnglesXYZ(math.rad(2), 0, 0)
  301.  
  302. local Aim = Instance.new("Part", Parts)
  303. Aim.Material = "SmoothPlastic"
  304. Aim.Name = "Aim"
  305. Aim.BrickColor = BrickColor.new("Really black")
  306. Aim.TopSurface = 0
  307. Aim.BottomSurface = 0
  308. Aim.FormFactor = "Custom"
  309. Aim.Size = Vector3.new(0.3, 0.2, 0.7)
  310. local Mesh = Instance.new("BlockMesh", Aim)
  311. Mesh.Scale = Vector3.new(1, 0.7, 1)
  312. local Weld = Instance.new("Weld", Aim)
  313. Weld.Part0 = Weld.Parent
  314. Weld.Part1 = Pipe1
  315. Weld.C0 = CFrame.new(0, -0.12, 1.1)
  316.  
  317. local Aim1 = Instance.new("Part", Parts)
  318. Aim1.Material = "SmoothPlastic"
  319. Aim1.Name = "Aim 1"
  320. Aim1.BrickColor = BrickColor.new("Really black")
  321. Aim1.TopSurface = 0
  322. Aim1.BottomSurface = 0
  323. Aim1.FormFactor = "Custom"
  324. Aim1.Size = Vector3.new(0.2, 0.2, 0.2)
  325. Instance.new("BlockMesh", Aim1).Scale = Vector3.new(0.3, 0.7, 0.5)
  326. local Weld = Instance.new("Weld", Aim1)
  327. Weld.Part0 = Weld.Parent
  328. Weld.Part1 = Aim
  329. Weld.C0 = CFrame.new(0.1, -0.1, -0.25)
  330.  
  331. local Aim2 = Instance.new("Part", Parts)
  332. Aim2.Material = "SmoothPlastic"
  333. Aim2.Name = "Aim 2"
  334. Aim2.BrickColor = BrickColor.new("Really black")
  335. Aim2.TopSurface = 0
  336. Aim2.BottomSurface = 0
  337. Aim2.FormFactor = "Custom"
  338. Aim2.Size = Vector3.new(0.2, 0.2, 0.2)
  339. Instance.new("BlockMesh", Aim2).Scale = Vector3.new(0.3, 0.7, 0.5)
  340. local Weld = Instance.new("Weld", Aim2)
  341. Weld.Part0 = Weld.Parent
  342. Weld.Part1 = Aim
  343. Weld.C0 = CFrame.new(-0.1, -0.1, -0.25)
  344.  
  345. local Aim3 = Instance.new("Part", Parts)
  346. Aim3.Material = "SmoothPlastic"
  347. Aim3.Name = "Aim 3"
  348. Aim3.BrickColor = BrickColor.new("Really black")
  349. Aim3.TopSurface = 0
  350. Aim3.BottomSurface = 0
  351. Aim3.FormFactor = "Custom"
  352. Aim3.Size = Vector3.new(0.2, 0.2, 0.2)
  353. Instance.new("BlockMesh", Aim3).Scale = Vector3.new(0.3, 0.7, 0.5)
  354. local Weld = Instance.new("Weld", Aim3)
  355. Weld.Part0 = Weld.Parent
  356. Weld.Part1 = Aim
  357. Weld.C0 = CFrame.new(0, -0.1, 0.25)
  358.  
  359. local Flip = Instance.new("Part", Parts)
  360. Flip.Material = "SmoothPlastic"
  361. Flip.Name = "Flip"
  362. Flip.BrickColor = BrickColor.new("Light grey")
  363. Flip.TopSurface = 0
  364. Flip.BottomSurface = 0
  365. Flip.FormFactor = "Custom"
  366. Flip.Size = Vector3.new(0.2, 0.3, 0.6)
  367. Instance.new("BlockMesh", Flip).Scale = Vector3.new(0.3, 0.7, 0.5)
  368. local Weld = Instance.new("Weld", Flip)
  369. Weld.Part0 = Weld.Parent
  370. Weld.Part1 = Handle
  371. Weld.C0 = CFrame.fromEulerAnglesXYZ(0, math.rad(10), 0) * CFrame.new(-0.25, -0.175, 0.2)
  372.  
  373. local Part = Instance.new("Part")
  374. Part.Material = "SmoothPlastic"
  375. Part.Name = "Source"
  376. Part.Transparency = 1
  377. Part.TopSurface = 0
  378. Part.BottomSurface = 0
  379. Part.FormFactor = "Custom"
  380. Part.Size = Vector3.new(0.2, 0.2, 0.2)
  381. Part.Parent = Parts
  382. local Weld = Instance.new("Weld")
  383. Weld.Part0 = Part
  384. Weld.Part1 = Handle
  385. Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0) * CFrame.new(0, -0.15, 4.3)
  386. Weld.Parent = Weld.Part0
  387. local Fire = Instance.new("Fire", Part)
  388. Fire.Enabled = false
  389. Fire.Size = 10
  390. Fire.Heat = 20
  391. Fire.Color = Color3.new(1, 0.6, 0.2)
  392. Fire.SecondaryColor = Color3.new(0.6, 0.1, 0.05)
  393. local Smoke = Instance.new("Smoke", Part)
  394. Smoke.Enabled = false
  395. Smoke.Size = 20
  396. Smoke.RiseVelocity = 15
  397. Smoke.Color = Color3.new(0.8, 0.8, 0.8)
  398. Smoke.Opacity = 0.3
  399.  
  400. for _, Part in pairs(Parts:GetChildren()) do
  401. Part.Locked = true
  402. Part.CanCollide = false
  403. end
  404. end
  405.  
  406.  
  407. function RemoveParts(Parent, Format)
  408. if Format == 1 then
  409. pcall(function() Parent[ModelName.. " (Holstered)"]:Remove() end)
  410. elseif Format == 2 then
  411. pcall(function() Parent[ModelName]:Remove() end)
  412. end
  413. end
  414.  
  415.  
  416. function SetAngle(Joint, Angle, Character)
  417. if Character == nil then return false end
  418. local Joints = {
  419. Character.Torso:FindFirstChild("Right Shoulder 2"),
  420. Character.Torso:FindFirstChild("Left Shoulder 2"),
  421. Character.Torso:FindFirstChild("Right Hip 2"),
  422. Character.Torso:FindFirstChild("Left Hip 2")
  423. }
  424. if Joints[Joint] == nil then return false end
  425. if Joint == 1 or Joint == 3 then
  426. Joints[Joint].DesiredAngle = Angle
  427. end
  428. if Joint == 2 or Joint == 4 then
  429. Joints[Joint].DesiredAngle = -Angle
  430. end
  431. end
  432.  
  433.  
  434. function ForceAngle(Joint, Angle, Character)
  435. if Character == nil then return false end
  436. local Joints = {
  437. Character.Torso:FindFirstChild("Right Shoulder 2"),
  438. Character.Torso:FindFirstChild("Left Shoulder 2"),
  439. Character.Torso:FindFirstChild("Right Hip 2"),
  440. Character.Torso:FindFirstChild("Left Hip 2")
  441. }
  442. if Joints[Joint] == nil then return false end
  443. if Joint == 1 or Joint == 3 then
  444. Joints[Joint].DesiredAngle = Angle
  445. Joints[Joint].CurrentAngle = Angle
  446. end
  447. if Joint == 2 or Joint == 4 then
  448. Joints[Joint].DesiredAngle = -Angle
  449. Joints[Joint].CurrentAngle = -Angle
  450. end
  451. end
  452.  
  453.  
  454. function SetSpeed(Joint, Speed, Character)
  455. if Character == nil then return false end
  456. local Joints = {
  457. Character.Torso:FindFirstChild("Right Shoulder 2"),
  458. Character.Torso:FindFirstChild("Left Shoulder 2"),
  459. Character.Torso:FindFirstChild("Right Hip 2"),
  460. Character.Torso:FindFirstChild("Left Hip 2")
  461. }
  462. if Joints[Joint] == nil then return false end
  463. Joints[Joint].MaxVelocity = Speed
  464. end
  465.  
  466.  
  467. function DisableLimb(Limb, Character)
  468. if Character == nil then return false end
  469. if Character:FindFirstChild("Torso") == nil then return false end
  470. local Joints = {
  471. Character.Torso:FindFirstChild("Right Shoulder"),
  472. Character.Torso:FindFirstChild("Left Shoulder"),
  473. Character.Torso:FindFirstChild("Right Hip"),
  474. Character.Torso:FindFirstChild("Left Hip")
  475. }
  476. local Limbs = {
  477. Character:FindFirstChild("Right Arm"),
  478. Character:FindFirstChild("Left Arm"),
  479. Character:FindFirstChild("Right Leg"),
  480. Character:FindFirstChild("Left Leg")
  481. }
  482. if Joints[Limb] == nil then return false end
  483. if Limbs[Limb] == nil then return false end
  484. local Joint = Instance.new("Motor6D")
  485. Joint.Parent = Character.Torso
  486. Joint.Part0 = Character.Torso
  487. Joint.Part1 = Limbs[Limb]
  488. if Limb == 1 then
  489. Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  490. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  491. Joint.Name = "Right Shoulder 2"
  492. elseif Limb == 2 then
  493. Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  494. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  495. Joint.Name = "Left Shoulder 2"
  496. elseif Limb == 3 then
  497. Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  498. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  499. Joint.Name = "Right Hip 2"
  500. elseif Limb == 4 then
  501. Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  502. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  503. Joint.Name = "Left Hip 2"
  504. end
  505. Joint.MaxVelocity = Joints[Limb].MaxVelocity
  506. Joint.CurrentAngle = Joints[Limb].CurrentAngle
  507. Joint.DesiredAngle = Joints[Limb].DesiredAngle
  508. Joints[Limb]:Remove()
  509. end
  510.  
  511.  
  512. function ResetLimbCFrame(Limb, Character)
  513. if Character == nil then return false end
  514. if Character.Parent == nil then return false end
  515. if Character:FindFirstChild("Torso") == nil then return false end
  516. local Joints = {
  517. Character.Torso:FindFirstChild("Right Shoulder 2"),
  518. Character.Torso:FindFirstChild("Left Shoulder 2"),
  519. Character.Torso:FindFirstChild("Right Hip 2"),
  520. Character.Torso:FindFirstChild("Left Hip 2")
  521. }
  522. local Limbs = {
  523. Character:FindFirstChild("Right Arm"),
  524. Character:FindFirstChild("Left Arm"),
  525. Character:FindFirstChild("Right Leg"),
  526. Character:FindFirstChild("Left Leg")
  527. }
  528. if Joints[Limb] == nil then return false end
  529. if Limbs[Limb] == nil then return false end
  530. if Limb == 1 then
  531. Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  532. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  533. elseif Limb == 2 then
  534. Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  535. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  536. elseif Limb == 3 then
  537. Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  538. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  539. elseif Limb == 4 then
  540. Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  541. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  542. end
  543. end
  544.  
  545.  
  546. function EnableLimb(Limb, Character)
  547. if Character == nil then return false end
  548. if Character:FindFirstChild("Torso") == nil then return false end
  549. local Joints = {
  550. Character.Torso:FindFirstChild("Right Shoulder 2"),
  551. Character.Torso:FindFirstChild("Left Shoulder 2"),
  552. Character.Torso:FindFirstChild("Right Hip 2"),
  553. Character.Torso:FindFirstChild("Left Hip 2")
  554. }
  555. local Limbs = {
  556. Character:FindFirstChild("Right Arm"),
  557. Character:FindFirstChild("Left Arm"),
  558. Character:FindFirstChild("Right Leg"),
  559. Character:FindFirstChild("Left Leg")
  560. }
  561. if Joints[Limb] == nil then return false end
  562. if Limbs[Limb] == nil then return false end
  563. if Limb == 1 then
  564. Joints[Limb].Name = "Right Shoulder"
  565. elseif Limb == 2 then
  566. Joints[Limb].Name = "Left Shoulder"
  567. elseif Limb == 3 then
  568. Joints[Limb].Name = "Right Hip"
  569. elseif Limb == 4 then
  570. Joints[Limb].Name = "Left Hip"
  571. end
  572. Animate = Character:FindFirstChild("Animate")
  573. if Animate == nil then return false end
  574. Animate = Animate:Clone()
  575. Character.Animate:Remove()
  576. Animate.Parent = Character
  577. end
  578.  
  579. attackdebounce = false
  580. Torso = Char.Torso
  581. CRIT = false
  582. Damagefunc1=function(hit,Damage,Knockback)
  583. if attackdebounce == false then
  584. attackdebounce = true
  585. coroutine.resume(coroutine.create(function()
  586. wait(0.1)
  587. attackdebounce = false
  588. end))
  589. if hit.Parent==nil then
  590. return
  591. end
  592. CPlayer=Bin
  593. h=hit.Parent:FindFirstChild("Humanoid")
  594. if h~=nil and hit.Parent.Name~=Char.Name and hit.Parent:FindFirstChild("Torso")~=nil then
  595. Damage=Damage
  596. --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then
  597. return
  598. end]]
  599. c=Instance.new("ObjectValue")
  600. c.Name="creator"
  601. c.Value=game.Players.LocalPlayer
  602. c.Parent=h
  603. game:GetService("Debris"):AddItem(c,.5)
  604. -- print(c.Value)
  605. if math.random(0,99)+math.random()<=5 then
  606. CRIT=true
  607. Damage=Damage*1.5
  608. --[[ Knockback=Knockback*2
  609. r=Instance.new("BodyAngularVelocity")
  610. r.P=3000
  611. r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000
  612. r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  613. r.Parent=hit.Parent.Torso
  614. critsound(2)]]
  615.  
  616. end
  617. Damage=Damage+math.random(0,10)
  618. -- Blood(hit.CFrame*CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,0),math.floor(Damage/2))
  619. h:TakeDamage(Damage)
  620. showDamage(hit.Parent,Damage,.5)
  621. vp=Instance.new("BodyVelocity")
  622. vp.P=500
  623. vp.maxForce=Vector3.new(math.huge,0,math.huge)
  624. -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback
  625. vp.velocity=Torso.CFrame.lookVector*Knockback+Torso.Velocity/1.05
  626. if Knockback>0 then
  627. vp.Parent=hit.Parent.Torso
  628. end
  629. game:GetService("Debris"):AddItem(vp,.25)
  630. --[[ r=Instance.new("BodyAngularVelocity")
  631. r.P=3000
  632. r.maxTorque=Vector3.new(500000000,50000000000,500000000)*50000
  633. r.angularvelocity=Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  634. r.Parent=hit.Parent.Torso]]
  635. game:GetService("Debris"):AddItem(r,.5)
  636. c=Instance.new("ObjectValue")
  637. c.Name="creator"
  638. c.Value=Player
  639. c.Parent=h
  640. game:GetService("Debris"):AddItem(c,.5)
  641. CRIT=false
  642. hitDeb=true
  643. AttackPos=6
  644. end
  645. end
  646. end
  647.  
  648. showDamage=function(Char,Dealt,du)
  649. m=Instance.new("Model")
  650. m.Name=tostring(Dealt)
  651. h=Instance.new("Humanoid")
  652. h.Health=0
  653. h.MaxHealth=0
  654. h.Parent=m
  655. c=Instance.new("Part")
  656. c.Material = "SmoothPlastic"
  657. c.Transparency=0
  658. c.BrickColor=BrickColor:Red()
  659. if CRIT==true then
  660. c.BrickColor=BrickColor.new("Really red")
  661. end
  662. c.Name="Head"
  663. c.TopSurface=0
  664. c.BottomSurface=0
  665. c.formFactor="Plate"
  666. c.Size=Vector3.new(1,.4,1)
  667. ms=Instance.new("CylinderMesh")
  668.  
  669. ms.Scale=Vector3.new(.8,.8,.8)
  670. if CRIT==true then
  671. ms.Scale=Vector3.new(1.25,1.5,1.25)
  672.  
  673. end
  674. ms.Parent=c
  675. c.Reflectance=0
  676. Instance.new("BodyGyro").Parent=c
  677. c.Parent=m
  678. c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0))
  679. f=Instance.new("BodyPosition")
  680. f.P=2000
  681. f.D=100
  682. f.maxForce=Vector3.new(math.huge,math.huge,math.huge)
  683. f.position=c.Position+Vector3.new(0,3,0)
  684. f.Parent=c
  685. game:GetService("Debris"):AddItem(m,.5+du)
  686. c.CanCollide=false
  687. m.Parent=workspace
  688. c.CanCollide=false
  689. end
  690.  
  691. function onButton1Down(Mouse)
  692. if Button1Down == true then return end
  693. Button1Down = true
  694. if CheckPlayer() == false then return end
  695. if CanUse == true then
  696. SoundToServer("Click", "http://www.roblox.com/Asset/?id=2697295", 10, 0.5, false, Player.Character[ModelName].Handle)
  697. if script.Magazine.Value <= 0 then
  698. return
  699. end
  700. CanUse = false
  701. SoundToServer("Fire", "http://www.roblox.com/Asset/?id=2697294", 0.75, 1, false, Player.Character[ModelName].Handle)
  702. coroutine.wrap(function()
  703. pcall(function()
  704. Player.Character[ModelName].Source.Fire.Enabled = true
  705. Player.Character[ModelName].Source.Smoke.Enabled = true
  706. end)
  707. wait(0.5)
  708. pcall(function()
  709. Player.Character[ModelName].Source.Fire.Enabled = false
  710. Player.Character[ModelName].Source.Smoke.Enabled = false
  711. end)
  712. end)()
  713. for i = 1, 8 do
  714. local Bullet = Instance.new("Part", Workspace)
  715. Bullet.Material = "SmoothPlastic"
  716. Bullet.Name = "Bullet"
  717. Bullet.TopSurface = 0
  718. Bullet.BottomSurface = 0
  719. Bullet.BrickColor = BrickColor.new("Really black")
  720. Bullet.Locked = true
  721. Bullet.FormFactor = "Custom"
  722. Bullet.Size = Vector3.new(0.2, 0.2, 0.2)
  723. Bullet.CFrame = Player.Character[ModelName].Source.CFrame * CFrame.new(0, 1.5, 0) * CFrame.new(math.random(-750, 750) / 1000, math.random(-750, 750) / 1000, math.random(-750, 750) / 1000)
  724. Bullet.Elasticity = 0
  725. Bullet.Friction = 0
  726. Instance.new("SpecialMesh", Bullet).MeshType = "Sphere"
  727. tagHumanoid(Bullet)
  728. local BodyVelocity = Instance.new("BodyVelocity", Bullet)
  729. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  730. BodyVelocity.velocity = ((Mouse.Hit.p - Player.Character[ModelName].Source.Position).unit * 100) + Vector3.new(math.random(-9000, 9000) / 1000, math.random(-9000, 9000) / 1000, math.random(-9000, 9000) / 1000)
  731. Con1 = Bullet.Touched:connect(function(hit) Damagefunc1(hit,15,10) end)
  732. game:GetService("Debris"):AddItem(Bullet, 2)
  733. end
  734. CameraPunch(math.rad(40), 0)
  735. local AimGyroAdd = Instance.new("CFrameValue", Player.Character)
  736. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  737. CFrame.fromEulerAnglesXYZ(math.rad(-80), math.rad(-10), 0) * CFrame.new(0, 0.5, -0.9),
  738. 0.2, true)
  739. PropertyCFrameTween(AimGyroAdd, "Value",
  740. CFrame.fromEulerAnglesXYZ(0, math.rad(-70), 0),
  741. 0.2, true)
  742. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  743. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(60), 0),
  744. 0.2, true)
  745. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  746. CFrame.new(1.5, 0.45, 0) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-70)),
  747. 0.2, true)
  748. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  749. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(110), 0, math.rad(-25)),
  750. 0.2, false)
  751. wait(0.3)
  752. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  753. CFrame.new(-1.2, 0.45, -0.1) * CFrame.fromEulerAnglesXYZ(math.rad(105), 0, math.rad(-5)),
  754. 0.1, true)
  755. PropertyCFrameTween(Player.Character[ModelName].Flip.Weld, "C1",
  756. CFrame.new(-0.1, 0, 0.7),
  757. 0.1, true)
  758. PropertyCFrameTween(Player.Character[ModelName].Pump.Weld, "C1",
  759. CFrame.new(0, 0, 0.7),
  760. 0.1, false)
  761. pcall(function()
  762. local Shell = Instance.new("Part", Workspace)
  763. Shell.Name = "Shell"
  764. Shell.TopSurface = 0
  765. Shell.BottomSurface = 0
  766. Shell.FormFactor = "Custom"
  767. Shell.BrickColor = BrickColor.new("Bright blue")
  768. Shell.Size = Vector3.new(0.25, 0.4, 0.25)
  769. Shell.CFrame = Player.Character[ModelName].Handle.CFrame * CFrame.new(0.5, 0.175, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  770. Shell.Velocity = ((Player.Character[ModelName].Handle.Position - (Player.Character[ModelName].Handle.CFrame * CFrame.new(-1, 0, 0)).p).unit) * 10
  771. Shell:BreakJoints()
  772. Instance.new("CylinderMesh", Shell)
  773. game:GetService("Debris"):AddItem(Shell, 10)
  774. end)
  775. script.Magazine.Value = script.Magazine.Value - 1
  776. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  777. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(110), 0, math.rad(-25)),
  778. 0.1, true)
  779. PropertyCFrameTween(Player.Character[ModelName].Flip.Weld, "C1",
  780. CFrame.new(),
  781. 0.1, true)
  782. PropertyCFrameTween(Player.Character[ModelName].Pump.Weld, "C1",
  783. CFrame.new(),
  784. 0.1, false)
  785.  
  786. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  787. CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-10), 0) * CFrame.new(0, 0.5, -0.9),
  788. 0.2, true)
  789. PropertyCFrameTween(AimGyroAdd, "Value",
  790. CFrame.fromEulerAnglesXYZ(0, math.rad(-60), 0),
  791. 0.2, true)
  792. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  793. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(60), 0),
  794. 0.2, true)
  795. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  796. CFrame.new(1.2, 0.45, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-70)),
  797. 0.2, true)
  798. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  799. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-35)),
  800. 0.2, false)
  801. CanUse = true
  802. end
  803. end
  804.  
  805.  
  806. function onButton1Up(Mouse)
  807. Button1Down = false
  808. end
  809.  
  810.  
  811. function onKeyDown(Key, Mouse)
  812. if Selected == false then return end
  813. Key = Key:lower()
  814. if Key == "y" and Aiming == false then
  815. Aiming = true
  816. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C0",
  817. CFrame.new(),
  818. 0.05, true)
  819. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  820. CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-10), 0) * CFrame.new(0, 0.5, -0.9),
  821. 0.05, true)
  822. PropertyCFrameTween(Player.Character.AimGyroAdd, "Value",
  823. CFrame.fromEulerAnglesXYZ(0, math.rad(-60), 0),
  824. 0.05, true)
  825. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  826. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(60), 0),
  827. 0.05, true)
  828. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  829. CFrame.new(1.2, 0.45, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-70)),
  830. 0.05, true)
  831. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  832. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-35)),
  833. 0.05, false)
  834. CanUse = true
  835. return
  836. end
  837. if Button1Down == false and CanUse == true and CheckPlayer() == true then
  838. if Key == "q" then
  839. if Mouse.Target == nil then return end
  840. if CheckPlayer() == false then return end
  841. local NewPlayer = game:GetService("Players"):GetPlayerFromCharacter(Mouse.Target.Parent)
  842. if NewPlayer == nil then return end
  843. if NewPlayer.Character == nil then return end
  844. if NewPlayer.Character:FindFirstChild("Torso") == nil then return end
  845. if (NewPlayer.Character.Torso.Position - Player.Character.Torso.Position).magnitude > 10 then return end
  846. onDeselected(Mouse)
  847. wait()
  848. RemoveParts(Player.Character, 1)
  849. script.Parent.Parent = NewPlayer.Backpack
  850. Player = NewPlayer
  851. elseif Key == "r" then
  852. if script.Magazine.Value >= MagazineCapacity + MagazineCapacityAdd then return end
  853. CanUse = false
  854. local Loaded = script.Magazine.Value > 0
  855. local Weld = Player.Character[ModelName].Handle.Weld
  856. PropertyCFrameTween(Weld, "C1",
  857. CFrame.fromEulerAnglesXYZ(math.rad(-80), math.rad(40), math.rad(40)) * CFrame.new(-0.2, 0.25, -0.9),
  858. 0.1, true)
  859. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  860. CFrame.new(0.3, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(-5), math.rad(-10)),
  861. 0.1, true)
  862. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  863. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(110), math.rad(10), math.rad(-20)),
  864. 0.1, true)
  865. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  866. CFrame.new(1.2, 0.45, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(95), 0, math.rad(-20)),
  867. 0.1, false)
  868. Weld.C1 = Weld.Part0.CFrame:toObjectSpace(Player.Character["Left Arm"].CFrame):inverse()
  869. Weld.Part1 = Player.Character["Left Arm"]
  870. while script.Magazine.Value < (Loaded == true and MagazineCapacity + MagazineCapacityAdd or MagazineCapacity) and Player.Backpack.Ammo[AmmoType].Value > 0 and Button1Down == false do
  871. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  872. CFrame.new(1.5, 0.5, 0),
  873. 0.15, false)
  874. Player.Backpack.Ammo[AmmoType].Value = Player.Backpack.Ammo[AmmoType].Value - 1
  875. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  876. CFrame.new(1.3, 0.35, 0.2) * CFrame.fromEulerAnglesXYZ(math.rad(95), 0, math.rad(-45)),
  877. 0.1, false)
  878. SoundToServer("Reload", "http://www.roblox.com/Asset/?id=10209845", math.random(1900, 2100) / 1000, 0.9, false, Player.Character[ModelName].Handle)
  879. script.Magazine.Value = script.Magazine.Value + 1
  880. wait()
  881. end
  882. Weld.C1 = Weld.Part0.CFrame:toObjectSpace(Player.Character["Right Arm"].CFrame):inverse()
  883. Weld.Part1 = Player.Character["Right Arm"]
  884. if Loaded == false then
  885. Source = Char[ModelName]:FindFirstChild("Source")
  886. local Sound = Instance.new("Sound", Source)
  887. Sound.Name = "Reload"
  888. Sound.SoundId = "http://www.roblox.com/Asset/?id=2697294"
  889. Sound.Pitch = 0.75
  890. Sound.Volume = 0
  891. Sound:Play()
  892. wait(0.5)
  893. for i = 0, 1, 0.2 do
  894. Sound.Volume = i
  895. wait()
  896. end
  897. Sound.Volume = 1
  898. wait(1.5)
  899. Sound:Remove()
  900.  
  901. PropertyCFrameTween(Weld, "C1",
  902. CFrame.fromEulerAnglesXYZ(math.rad(20), math.rad(20), 0) * CFrame.new(0, -0.9, -0.3),
  903. 0.08, true)
  904. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  905. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(50), math.rad(5)),
  906. 0.08, true)
  907. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  908. CFrame.new(-1.4, 0.45, 0.4) * CFrame.fromEulerAnglesXYZ(math.rad(125), 0, math.rad(-10)),
  909. 0.08, true)
  910. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  911. CFrame.new(1.1, 0.45, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(50), math.rad(40), math.rad(-40)),
  912. 0.08, false)
  913.  
  914. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  915. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(45), math.rad(10)),
  916. 0.1, true)
  917. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  918. CFrame.new(-1.4, 0.45, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(20)),
  919. 0.1, true)
  920. PropertyCFrameTween(Player.Character[ModelName].Flip.Weld, "C1",
  921. CFrame.new(-0.1, 0, 0.7),
  922. 0.1, true)
  923. PropertyCFrameTween(Player.Character[ModelName].Pump.Weld, "C1",
  924. CFrame.new(0, 0, 0.7),
  925. 0.1, false)
  926.  
  927. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  928. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(50), math.rad(5)),
  929. 0.1, true)
  930. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  931. CFrame.new(-1.4, 0.45, 0.4) * CFrame.fromEulerAnglesXYZ(math.rad(125), 0, math.rad(-10)),
  932. 0.1, true)
  933. PropertyCFrameTween(Player.Character[ModelName].Flip.Weld, "C1",
  934. CFrame.new(),
  935. 0.1, true)
  936. PropertyCFrameTween(Player.Character[ModelName].Pump.Weld, "C1",
  937. CFrame.new(),
  938. 0.1, false)
  939. end
  940. PropertyCFrameTween(Weld, "C1",
  941. CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-10), 0) * CFrame.new(0, 0.5, -0.9),
  942. 0.05, true)
  943. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  944. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(60), 0),
  945. 0.05, true)
  946. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  947. CFrame.new(1.2, 0.45, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-70)),
  948. 0.05, true)
  949. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  950. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-35)),
  951. 0.05, false)
  952. wait()
  953. CanUse = true
  954. elseif Key == "y" then
  955. CanUse = false
  956. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C0",
  957. CFrame.fromEulerAnglesXYZ(math.rad(-60), math.rad(3), math.rad(-20)) * CFrame.new(0.5, -0.5, 0.6),
  958. 0.05, true)
  959. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  960. CFrame.fromEulerAnglesXYZ(math.rad(18), 0, 0),
  961. 0.05, true)
  962. PropertyCFrameTween(Player.Character.AimGyroAdd, "Value",
  963. CFrame.fromEulerAnglesXYZ(0, math.rad(40), 0),
  964. 0.05, true)
  965. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  966. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-40), 0),
  967. 0.05, true)
  968. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  969. CFrame.new(-1.5, 0.5, 0),
  970. 0.05, true)
  971. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  972. CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(50), 0, 0),
  973. 0.05, false)
  974. Aiming = false
  975. end
  976. end
  977. end
  978.  
  979.  
  980. function onSelected(Mouse)
  981. if Selected == true then return end
  982. CanUse = false
  983. while true do
  984. if CheckPlayer() == true then
  985. if Player.Character.Torso:FindFirstChild("Right Shoulder") ~= nil and Player.Character.Torso:FindFirstChild("Left Shoulder") ~= nil then
  986. break
  987. end
  988. end
  989. wait(0.1)
  990. end
  991. Selected = true
  992. DisableLimb(1, Player.Character)
  993. SetSpeed(1, 0.5, Player.Character)
  994. SetAngle(1, 0, Player.Character)
  995. DisableLimb(2, Player.Character)
  996. SetSpeed(2, 0.5, Player.Character)
  997. SetAngle(2, 0, Player.Character)
  998. wait(0.2)
  999. Player.Character.Torso["Neck"].C0 = CFrame.new(0, 1, 0)
  1000. Player.Character.Torso["Neck"].C1 = CFrame.new(0, -0.5, 0)
  1001. Player.Character.Torso:FindFirstChild("Left Shoulder 2").C0 = CFrame.new(-1.5, 0.5, 0)
  1002. Player.Character.Torso:FindFirstChild("Left Shoulder 2").C1 = CFrame.new(0, 0.5, 0)
  1003. Player.Character.Torso:FindFirstChild("Right Shoulder 2").C0 = CFrame.new(1.5, 0.5, 0)
  1004. Player.Character.Torso:FindFirstChild("Right Shoulder 2").C1 = CFrame.new(0, 0.5, 0)
  1005. local AimGyroAdd = Instance.new("CFrameValue", Player.Character)
  1006. AimGyroAdd.Name = "AimGyroAdd"
  1007. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  1008. CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), 0, math.rad(-10)),
  1009. 0.15, true)
  1010. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  1011. CFrame.new(1.5, 0.5, -0.3) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(50), 0),
  1012. 0.15, true)
  1013. PropertyCFrameTween(AimGyroAdd, "Value",
  1014. CFrame.fromEulerAnglesXYZ(0, math.rad(60), 0),
  1015. 0.15, false)
  1016. wait()
  1017. local Weld = Player.Character[ModelName.. " (Holstered)"].Handle.Weld
  1018. Weld.C0 = Player.Character[ModelName.. " (Holstered)"].Handle.CFrame:toObjectSpace(Player.Character["Right Arm"].CFrame)
  1019. Weld.Part1 = Player.Character["Right Arm"]
  1020. PropertyCFrameTween(Weld, "C0",
  1021. CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0) * CFrame.new(0, 0.9, 0.5),
  1022. 0.05, true)
  1023. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  1024. CFrame.new(1.2, 0.45, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-70)),
  1025. 0.05, true)
  1026. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  1027. CFrame.new(-1.4, 0.45, -0.4) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, math.rad(-35)),
  1028. 0.05, true)
  1029. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  1030. CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(60), 0),
  1031. 0.05, true)
  1032. PropertyCFrameTween(AimGyroAdd, "Value",
  1033. CFrame.fromEulerAnglesXYZ(0, math.rad(-60), 0),
  1034. 0.05, false)
  1035. RemoveParts(Player.Character, 1)
  1036. CreateParts(Player.Character, 2)
  1037. Mouse.Icon = "rbxasset://textures\\GunCursor.png"
  1038. Mouse.Button1Down:connect(function() onButton1Down(Mouse) end)
  1039. Mouse.Button1Up:connect(function() onButton1Up(Mouse) end)
  1040. Mouse.KeyDown:connect(function(Key) onKeyDown(Key, Mouse) end)
  1041. CanUse = true
  1042. end
  1043.  
  1044.  
  1045. function onDeselected(Mouse)
  1046. if Selected == false then return end
  1047. Selected = false
  1048. while CanUse == false do wait() end
  1049. if CheckPlayer() == false or pcall(function() local _ = Player.Character.Torso:FindFirstChild("Right Shoulder 2") end) == false then
  1050. RemoveParts(Player.Character, 2)
  1051. CreateParts(Player.Character, 1)
  1052. SetAngle(1, 0, Player.Character)
  1053. ResetLimbCFrame(1, Player.Character)
  1054. EnableLimb(1, Player.Character)
  1055. SetAngle(2, 0, Player.Character)
  1056. ResetLimbCFrame(2, Player.Character)
  1057. EnableLimb(2, Player.Character)
  1058. return
  1059. end
  1060. if Selected == true then return end
  1061. CanUse = false
  1062. Player.Character.AimGyroAdd:Remove()
  1063.  
  1064. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Neck"), "C0",
  1065. CFrame.new(0, 1, 0),
  1066. 0.1, true)
  1067.  
  1068. if Aiming == true then
  1069. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  1070. CFrame.new(-0.2, -0.58, -0.2) * CFrame.fromEulerAnglesXYZ(math.rad(60), 0, math.rad(40)),
  1071. 0.05, true)
  1072. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Left Shoulder 2"), "C0",
  1073. CFrame.new(-1.5, 0.5, 0),
  1074. 0.1, true)
  1075. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  1076. CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(50), math.rad(-90), 0),
  1077. 0.05, false)
  1078. else
  1079. Aiming = true
  1080. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C0",
  1081. CFrame.new(),
  1082. 0.1, true)
  1083. end
  1084.  
  1085. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  1086. CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(50), 0),
  1087. 0.05, true)
  1088. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  1089. CFrame.new(0.1, 0.3, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(120), 0, math.rad(50)),
  1090. 0.05 * 2, false)
  1091. PropertyCFrameTween(Player.Character[ModelName].Handle.Weld, "C1",
  1092. CFrame.new(-0.65, -0.2, -1.6) * CFrame.fromEulerAnglesXYZ(math.rad(-180), 0, math.rad(90)),
  1093. 0.05 * 2, false)
  1094.  
  1095. RemoveParts(Player.Character, 2)
  1096. CreateParts(Player.Character, 1)
  1097.  
  1098. PropertyCFrameTween(Player.Character.Torso:FindFirstChild("Right Shoulder 2"), "C0",
  1099. CFrame.new(1.5, 0.5, 0),
  1100. 0.025 * 5, false)
  1101. Player.Character.Torso["Neck"].C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180))
  1102. Player.Character.Torso["Neck"].C1 = CFrame.new(0, -0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180))
  1103. SetAngle(1, 0, Player.Character)
  1104. ResetLimbCFrame(1, Player.Character)
  1105. EnableLimb(1, Player.Character)
  1106. SetAngle(2, 0, Player.Character)
  1107. ResetLimbCFrame(2, Player.Character)
  1108. EnableLimb(2, Player.Character)
  1109. CanUse = true
  1110. end
  1111.  
  1112.  
  1113. if script.Parent.ClassName ~= "HopperBin" then
  1114. if Player == nil then print("Error: Player not found!") return end
  1115. Tool = Instance.new("HopperBin")
  1116. Tool.Name = ModelName
  1117. Tool.Parent = Player.Backpack
  1118. Instance.new("IntValue", script).Name = "Magazine"
  1119. script.Name = "Main"
  1120. script.Parent = Tool
  1121. elseif script.Parent.ClassName == "HopperBin" and Connected == false then
  1122. Connected = true
  1123. Player = script.Parent.Parent.Parent
  1124. end wait() if script.Parent.ClassName == "HopperBin" then
  1125. while script.Parent.Parent.ClassName ~= "Backpack" do
  1126. wait()
  1127. end
  1128. Instance.new("Configuration", Player.Backpack).Name = "Ammo"
  1129. Instance.new("IntValue", Player.Backpack.Ammo).Name = AmmoType
  1130. Player.Backpack.Ammo[AmmoType].Value = MagazineCapacity * 2
  1131. script.Parent.Selected:connect(onSelected)
  1132. script.Parent.Deselected:connect(onDeselected)
  1133. CreateParts(Player.Character, 1)
  1134. --[[
  1135. MouseAim v11
  1136. --]]
  1137.  
  1138.  
  1139. script.Parent.Selected:connect(function(Mouse)
  1140. while Selected == false do wait() end
  1141. while Selected == true do
  1142. if script.Parent == nil then break end
  1143. if Player.Character:FindFirstChild("Humanoid") == nil or Player.Character:FindFirstChild("Torso") == nil then break end
  1144. if Player.Character.Humanoid.Health > 0 and Player.Character.Humanoid.Sit == false and Player.Character.Humanoid.PlatformStand == false and Player.Character.Torso:FindFirstChild("BodyGyro") == nil and Player.Character.Torso:FindFirstChild("BodyAngularVelocity") == nil and Player.Character:FindFirstChild("Ragdoll") == nil then
  1145. local AimGyro = Instance.new("BodyGyro")
  1146. game:GetService("Debris"):AddItem(AimGyro, 0)
  1147. AimGyro.Parent = Player.Character.Torso
  1148. AimGyro.Name = "AimGyro"
  1149. AimGyro.P = 40000
  1150. AimGyro.D = 300
  1151. AimGyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  1152. AimGyro.cframe = CFrame.new(Player.Character.Torso.Position, Vector3.new(Mouse.Hit.p.x, Player.Character.Torso.Position.y, Mouse.Hit.p.z)) * (Player.Character:FindFirstChild("AimGyroAdd") and Player.Character.AimGyroAdd.Value or CFrame.new())
  1153. end
  1154. wait()
  1155. end
  1156. end)
  1157. --[[
  1158. AmmoCounter v5
  1159. --]]
  1160.  
  1161.  
  1162. local Gui = nil
  1163.  
  1164.  
  1165. local function Remove()
  1166. if Gui ~= nil then
  1167. local Gui2 = Gui
  1168. Gui = nil
  1169. if Gui2.Parent ~= nil then
  1170. Gui2.AmmoCounter:TweenPosition(UDim2.new(0.35, 0, 1, 0), "In", "Quart", 0.5, true)
  1171. wait(0.5)
  1172. end
  1173. Gui2:Remove()
  1174. end
  1175. end
  1176.  
  1177.  
  1178. script.Parent.Selected:connect(function(Mouse)
  1179. while Selected == false do wait() end
  1180. local DualConnection1, DualConnection2
  1181. Gui = Instance.new("ScreenGui", Player.PlayerGui)
  1182. Gui.Name = "AmmoCounter"
  1183. local AmmoCounter = Instance.new("Frame", Gui)
  1184. AmmoCounter.Name = "AmmoCounter"
  1185. AmmoCounter.BorderColor3 = Color3.new(0, 0, 0)
  1186. AmmoCounter.BackgroundTransparency = 0.8
  1187. AmmoCounter.BackgroundColor3 = Color3.new(0.7, 0.7, 0.7)
  1188. AmmoCounter.Size = UDim2.new(0.3, 0, 0, 100)
  1189. AmmoCounter.Position = UDim2.new(0.35, 0, 1, 0)
  1190. AmmoCounter:TweenPosition(UDim2.new(0.35, 0, 1, -200), "Out", "Quart", 0.5, true)
  1191. local Notification = Instance.new("TextLabel", AmmoCounter)
  1192. Notification.Name = "Notification"
  1193. Notification.Text = ""
  1194. Notification.TextTransparency = 1
  1195. Notification.Font = "ArialBold"
  1196. Notification.FontSize = "Size18"
  1197. Notification.BorderColor3 = Color3.new(0, 0, 0)
  1198. Notification.BackgroundTransparency = 0.3
  1199. Notification.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1200. Notification.Size = UDim2.new(1, -10, 0, 20)
  1201. Notification.Position = UDim2.new(0, 5, 0, 5)
  1202. coroutine.wrap(function()
  1203. local Reloading = false
  1204. local OldMagazine = script.Magazine.Value
  1205. local OldMagazineDual = nil
  1206. pcall(function() OldMagazineDual = script.Dual.Main.Magazine.Value end)
  1207. while Notification.Parent ~= nil do
  1208. if OldMagazineDual == nil then
  1209. pcall(function() OldMagazineDual = script.Dual.Main.Magazine.Value end)
  1210. end
  1211. if Reloading == false then
  1212. if ((script.Magazine.Value > OldMagazine or OldMagazine - script.Magazine.Value > 1) or (Dual == true and (script.Dual.Main.Magazine.Value > OldMagazineDual or OldMagazineDual - script.Dual.Main.Magazine.Value > 1))) and CanUse == false then
  1213. Reloading = true
  1214. end
  1215. else
  1216. if CanUse == true then
  1217. Reloading = false
  1218. end
  1219. end
  1220. OldMagazine = script.Magazine.Value
  1221. pcall(function() OldMagazineDual = script.Dual.Main.Magazine.Value end)
  1222. if Reloading == true then
  1223. Notification.TextTransparency = 0
  1224. Notification.TextColor3 = Color3.new(0.1, 0.8, 0.1)
  1225. Notification.Text = "Reloading..."
  1226. wait()
  1227. else
  1228. if (script.Magazine.Value / MagazineCapacity < 0.2) or (Dual == true and (script.Dual.Main.Magazine.Value / MagazineCapacity < 0.2)) then
  1229. Notification.TextColor3 = Color3.new(1, 0.1, 0.05)
  1230. Notification.TextTransparency = 0
  1231. else
  1232. Notification.TextColor3 = CanUse == false and Color3.new(0.8, 0.8, 0.8) or Color3.new(0, 0, 0)
  1233. Notification.TextTransparency = 0
  1234. end
  1235. Notification.Text = "Magazine: " ..script.Magazine.Value .. (Dual == true and ("/" ..script.Dual.Main.Magazine.Value) or "")
  1236. wait()
  1237. end
  1238. end
  1239. end)()
  1240. for x = 1, Dual ~= nil and 2 or 1 do
  1241. for i = 1, MagazineCapacity + MagazineCapacityAdd do
  1242. local Bullet = Instance.new("Frame", AmmoCounter)
  1243. Bullet.Name = i.. ", " ..x
  1244. Bullet.BorderColor3 = Color3.new(0, 0, 0)
  1245. if i > script.Magazine.Value then
  1246. Bullet.BackgroundTransparency = 0.8
  1247. Bullet.BackgroundColor3 = Color3.new(0.7, 0.7, 0.7)
  1248. else
  1249. Bullet.BackgroundTransparency = 0.3
  1250. Bullet.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1251. end
  1252. Bullet.Size = UDim2.new(1 / (MagazineCapacity + MagazineCapacityAdd), -10, 0, Dual ~= nil and 20 or 40)
  1253. Bullet.Position = UDim2.new((i - 1) / (MagazineCapacity + MagazineCapacityAdd), 5, 0, 30 + (20 * (x - 1)))
  1254. end
  1255. end
  1256. local function Check(Value, y)
  1257. return Value.Changed:connect(function()
  1258. for i = 1, MagazineCapacity + MagazineCapacityAdd do
  1259. AmmoCounter[i.. ", " ..y].BackgroundTransparency = 0.8
  1260. AmmoCounter[i.. ", " ..y].BackgroundColor3 = Color3.new(0.7, 0.7, 0.7)
  1261. end
  1262. for i = 1, Value.Value do
  1263. AmmoCounter[i.. ", " ..y].BackgroundTransparency = 0.3
  1264. AmmoCounter[i.. ", " ..y].BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1265. end
  1266. end)
  1267. end
  1268. Check(script.Magazine, 1)
  1269. if Dual == true then
  1270. DualConnection1 = Check(script.Dual.Main.Magazine, 2)
  1271. coroutine.wrap(function()
  1272. while Dual == true do
  1273. wait()
  1274. end
  1275. pcall(function() DualConnection1:disconnect() end)
  1276. end)()
  1277. else
  1278. DualConnection1 = script.ChildAdded:connect(function(Child)
  1279. if Child.Name == "Dual" then
  1280. DualConnection2 = Check(Child.Main.Magazine, 2)
  1281. coroutine.wrap(function()
  1282. wait()
  1283. for i = 1, MagazineCapacity + MagazineCapacityAdd do
  1284. AmmoCounter[i.. ", 2"].BackgroundTransparency = 0.8
  1285. AmmoCounter[i.. ", 2"].BackgroundColor3 = Color3.new(0.7, 0.7, 0.7)
  1286. end
  1287. for i = 1, Child.Main.Magazine.Value do
  1288. AmmoCounter[i.. ", 2"].BackgroundTransparency = 0.3
  1289. AmmoCounter[i.. ", 2"].BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1290. end
  1291. while Dual == true do
  1292. wait()
  1293. end
  1294. pcall(function() DualConnection2:disconnect() end)
  1295. for i = 1, MagazineCapacity + MagazineCapacityAdd do
  1296. AmmoCounter[i.. ", 2"].BackgroundTransparency = 0.8
  1297. AmmoCounter[i.. ", 2"].BackgroundColor3 = Color3.new(0.7, 0.7, 0.7)
  1298. end
  1299. end)()
  1300. end
  1301. end)
  1302. end
  1303. local ModelNameLabel = Instance.new("TextLabel", AmmoCounter)
  1304. ModelNameLabel.Name = "ModelNameLabel"
  1305. ModelNameLabel.Text = " " ..ModelName
  1306. ModelNameLabel.TextColor3 = Color3.new(0, 0, 0)
  1307. ModelNameLabel.Font = "ArialBold"
  1308. ModelNameLabel.FontSize = "Size14"
  1309. ModelNameLabel.TextXAlignment = "Left"
  1310. ModelNameLabel.BorderColor3 = Color3.new(0, 0, 0)
  1311. ModelNameLabel.BackgroundTransparency = 0.3
  1312. ModelNameLabel.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1313. ModelNameLabel.Size = UDim2.new(1, -10, 0, 20)
  1314. ModelNameLabel.Position = UDim2.new(0, 5, 0, 75)
  1315. local TotalAmmo = ModelNameLabel:Clone()
  1316. TotalAmmo.Parent = AmmoCounter
  1317. TotalAmmo.Name = "TotalAmmo"
  1318. TotalAmmo.Text = Player.Backpack.Ammo[AmmoType].Value.. " " ..AmmoType.. " "
  1319. TotalAmmo.TextXAlignment = "Right"
  1320. TotalAmmo.BorderSizePixel = 0
  1321. TotalAmmo.BackgroundTransparency = 1
  1322. TotalAmmo.Size = UDim2.new(1, - 10, 0, 20)
  1323. TotalAmmo.Position = UDim2.new(0, 5, 1, -25)
  1324. Player.Backpack.Ammo[AmmoType].Changed:connect(function()
  1325. TotalAmmo.Text = Player.Backpack.Ammo[AmmoType].Value.. " " ..AmmoType.. " "
  1326. end)
  1327. coroutine.wrap(function()
  1328. while Selected == true do
  1329. wait()
  1330. end
  1331. Remove()
  1332. pcall(function() DualConnection1:disconnect() end)
  1333. pcall(function() DualConnection2:disconnect() end)
  1334. end)()
  1335. end)
  1336. end
Add Comment
Please, Sign In to add comment