View difference between Paste ID: Hcuz6cVs and YyFs3KDG
SHOW: | | - or go back to the newest paste.
1
--[[
2
A Colt AER Laser rifle, Generation 7. Meant to be
3
an earlier version of the AER9, from Fallout.
4
--]]
5
6
7
if script == nil then return end
8
9
10
Player = game:GetService("Players").LocalPlayer
11
Char = Player.Character
12
animate = Char:findFirstChild("Animate")
13
if animate then
14
animate:Destroy()
15
end
16
17-
Name = "AER7"
17+
Name = "ARX32-Prototype"
18
selected = false
19
canDual = false
20
dual = false
21
Button1Down = false
22
damage = 42
23
canFire = true
24-
canFire2 = false
24+
canFire2 = true
25
readyTime = 0.2
26-
automatic = false
26+
automatic = true
27
burst = false
28
burstCount = 0
29
burstCountMax = 3
30
canSilence = true
31
silenced = false
32
canZoom = true
33
zoom = false
34
switchToSingle = true
35
switchToBurst = false
36
switchToAutomatic = false
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 = "    Cell:"
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 = "    MicroCell:"
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 = BrickColor.new("Dark stone grey")
113
	pm.CanCollide = false
114
	pm.Locked = true
115
	pm.TopSurface = 0
116
	pm.BottomSurface = 0
117
	pm.Parent = model
118
	local m = Instance.new("BlockMesh")
119
	m.Scale = Vector3.new(0.5, 1.25, 0.5)
120
	m.Parent = pm
121
	if format ~= nil then
122
		local w = Instance.new("Weld")
123
		w.Part0 = pm
124
		if format == "RightHand" then
125
			w.Part1 = Player.Character:FindFirstChild("Right Arm")
126
			w.C0 = CFrame.new(0, 1.4, 0.8)
127
			w.C1 = CFrame.new()
128
		elseif format == "RightHolster" then
129
			w.Part1 = Player.Character:FindFirstChild("Torso")
130
			w.C0 = CFrame.new(-0.65, -0.1, 0.85) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(90), 0)
131
			w.C1 = CFrame.new()
132
			model.Name = Name.. " (Holstered)"
133
		end
134
		w.Parent = pm
135
		model.Parent = Player.Character
136
	end
137
	--[[
138
	sniper1  http://www.roblox.com/asset/?id=1868836
139
	equip    http://www.roblox.com/asset/?id=13510737
140
	fire1     http://www.roblox.com/asset/?id=2760979
141
	fire2    http://www.roblox.com/asset/?id=13510352
142
	fire3    http://www.roblox.com/asset/?id=2692806
143
	fire4    http://www.roblox.com/asset/?id=2691586
144
	fire5    http://www.roblox.com/asset/?id=2920959
145
	fire6    http://www.roblox.com/asset/?id=2697431
146
	fire7    http://www.roblox.com/asset/?id=2920959
147
	reload1   http://www.roblox.com/asset/?id=2691591
148
	reload2   http://www.roblox.com/asset/?id=2697432
149
	reload3  http://www.roblox.com/asset/?id=2920960
150
	reload4  http://www.roblox.com/asset/?id=2761842
151
	shotgun1 http://www.roblox.com/asset/?id=2697294
152
	--]]
153
	local s = Instance.new("Sound")
154
	s.Name = "Fire"
155
	s.SoundId = "http://www.roblox.com/asset/?id=11998770"
156
	s.Volume = 1
157
	s.Pitch = 1.8
158
	s.Looped = false
159
	s.Parent = pm
160
	local s = Instance.new("Sound")
161
	s.Name = "Reload"
162
	s.SoundId = "http://www.roblox.com/asset/?id=2697432"
163
	s.Volume = 1
164
	s.Pitch = 1
165
	s.Looped = false
166
	s.Parent = pm
167
	local s = Instance.new("Sound")
168
	s.Name = "Empty"
169
	s.SoundId = "http://www.roblox.com/asset/?id=2697295"
170
	s.Volume = 1
171
	s.Pitch = 5
172
	s.Looped = false
173
	s.Parent = pm
174
	local s = Instance.new("Sound")
175
	s.Name = "Switch"
176
	s.SoundId = "http://www.roblox.com/asset/?id=2697295"
177
	s.Volume = 1
178
	s.Pitch = 10
179
	s.Looped = false
180
	s.Parent = pm
181
	local p = Instance.new("Part")
182
	p.Name = "ShellOut"
183
	p.formFactor = "Symmetric"
184
	p.Size = Vector3.new(1, 1, 1)
185
	p.Transparency = 1
186
	p.Locked = true
187
	p.CanCollide = false
188
	p.TopSurface = 0
189
	p.BottomSurface = 0
190
	p.Parent = model
191
	local w = Instance.new("Weld")
192
	w.Part0 = p
193
	w.Part1 = pm
194
	w.C0 = CFrame.new(0, 0, 1) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
195
	w.C1 = CFrame.new()
196
	w.Parent = p
197
	local p = Instance.new("Part")
198
	p.Name = "Grip"
199
	p.formFactor = "Symmetric"
200
	p.Size = Vector3.new(1, 1, 1)
201
	p.BrickColor = BrickColor.new("Dark stone grey")
202
	p.CanCollide = false
203
	p.Locked = true
204
	p.TopSurface = 0
205
	p.BottomSurface = 0
206
	p.Parent = model
207
	local m = Instance.new("BlockMesh")
208
	m.Scale = Vector3.new(0.29, 0.5, 0.9)
209
	m.Parent = p
210
	local w = Instance.new("Weld")
211
	w.Part0 = p
212
	w.Part1 = pm
213
	w.C0 = CFrame.new(0, -0.25, -0.6) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0)
214
	w.C1 = CFrame.new()
215
	w.Parent = p
216
	local p = Instance.new("Part")
217
	p.Name = "Magazine Housing"
218
	p.formFactor = "Symmetric"
219
	p.Size = Vector3.new(1, 1, 1)
220
	p.BrickColor = BrickColor.new("Dark stone grey")
221
	p.CanCollide = false
222
	p.Locked = true
223
	p.TopSurface = 0
224
	p.BottomSurface = 0
225
	p.Parent = model
226
	local m = Instance.new("BlockMesh")
227
	m.Scale = Vector3.new(0.3, 0.6, 0.3)
228
	m.Parent = p
229
	local w = Instance.new("Weld")
230
	w.Part0 = p
231
	w.Part1 = pm
232
	w.C0 = CFrame.new(0, 0.525, -0.31) * CFrame.fromEulerAnglesXYZ(math.rad(-10), 0, 0)
233
	w.C1 = CFrame.new()
234
	w.Parent = p
235
	local p = Instance.new("Part")
236
	p.Name = "Magazine"
237
	p.formFactor = "Symmetric"
238
	p.Size = Vector3.new(1, 1, 1)
239
	p.BrickColor = BrickColor.new("Bright orange")
240
	p.Locked = true
241
	p.TopSurface = 0
242
	p.BottomSurface = 0
243
	p.Parent = model
244
	local m = Instance.new("BlockMesh")
245
	m.Scale = Vector3.new(0.25, 0.55, 0.2)
246
	m.Offset = Vector3.new(0,0,-0.36)
247
	m.Parent = p
248
	local w = Instance.new("Weld")
249
	w.Part0 = p
250
	w.Part1 = pm
251
	w.C0 = CFrame.new(0, 0.485, -0.9) * CFrame.fromEulerAnglesXYZ(math.rad(-15), 0, 0)
252
	w.C1 = CFrame.new()
253
	w.Parent = p
254
	local p = Instance.new("Part")
255
	p.Name = "Trigger Housing"
256
	p.formFactor = "Symmetric"
257
	p.Size = Vector3.new(1, 1, 1)
258
	p.BrickColor = BrickColor.new("Dark stone grey")
259
	p.CanCollide = false
260
	p.Locked = true
261
	p.TopSurface = 0
262
	p.BottomSurface = 0
263
	p.Parent = model
264
	local m = Instance.new("BlockMesh")
265
	m.Scale = Vector3.new(0.1, 0.4, 0.025)
266
	m.Parent = p
267
	local w = Instance.new("Weld")
268
	w.Part0 = p
269
	w.Part1 = pm
270
	w.C0 = CFrame.new(0, 0.1, -0.4)
271
	w.C1 = CFrame.new()
272
	w.Parent = p
273
	local p = Instance.new("Part")
274
	p.Name = "Trigger"
275
	p.formFactor = "Symmetric"
276
	p.Size = Vector3.new(1, 1, 1)
277
	p.BrickColor = BrickColor.new("Dark stone grey")
278
	p.CanCollide = false
279
	p.Locked = true
280
	p.TopSurface = 0
281
	p.BottomSurface = 0
282
	p.Parent = model
283
	local m = Instance.new("BlockMesh")
284
	m.Scale = Vector3.new(0.1, 0.05, 0.15)
285
	m.Parent = p
286
	local w = Instance.new("Weld")
287
	w.Part0 = p
288
	w.Part1 = pm
289
	w.C0 = CFrame.new(0, 0.03, -0.275)
290
	w.C1 = CFrame.new()
291
	w.Parent = p
292
	local p = Instance.new("Part")
293
	p.Name = "Barrel 2"
294
	p.CanCollide = false
295
	p.formFactor = "Symmetric"
296
	p.Size = Vector3.new(1, 1, 1)
297
	p.BrickColor = BrickColor.new("Dark stone grey")
298
	p.Locked = true
299
	p.TopSurface = 0
300
	p.BottomSurface = 0
301
	p.Parent = model
302
	local m = Instance.new("BlockMesh")
303
	m.Scale = Vector3.new(0.5, 1.5, 0.5)
304
	m.Parent = p
305
	local w = Instance.new("Weld")
306
	w.Part0 = p
307
	w.Part1 = pm
308
	w.C0 = CFrame.new(0, 1.36, 0)
309
	w.C1 = CFrame.new()
310
	w.Parent = p
311
	local p = Instance.new("Part")
312
	p.Name = "Barrel 1"
313
	p.formFactor = "Symmetric"
314
	p.Size = Vector3.new(1, 1, 1)
315
	p.BrickColor = BrickColor.new("Bright orange")
316
	p.CanCollide = false
317
	p.Locked = true
318
	p.TopSurface = 0
319
	p.BottomSurface = 0
320
	p.Parent = model
321
	local m = Instance.new("BlockMesh")
322
	m.Scale = Vector3.new(0.45, 0.6, 0.45)
323
	m.Parent = p
324
	local w = Instance.new("Weld")
325
	w.Part0 = p
326
	w.Part1 = pm
327
	w.C0 = CFrame.new(0, 2, 0)
328
	w.C1 = CFrame.new()
329
	w.Parent = p
330
	local p = Instance.new("Part")
331
	p.Name = "Muzzle"
332
	p.formFactor = "Symmetric"
333
	p.Size = Vector3.new(1, 1, 1)
334
	p.BrickColor = BrickColor.new("Dark stone grey")
335
	p.CanCollide = false
336
	p.Locked = true
337
	p.TopSurface = 0
338
	p.BottomSurface = 0
339
	p.Parent = model
340
	local m = Instance.new("BlockMesh")
341
	m.Scale = Vector3.new(0.5, 0.2, 0.5)
342
	m.Parent = p
343
	local w = Instance.new("Weld")
344
	w.Part0 = p
345
	w.Part1 = pm
346
	w.C0 = CFrame.new(0, 2.4, 0)
347
	w.C1 = CFrame.new()
348
	w.Parent = p
349
	local s = Instance.new("Smoke")
350
	s.Enabled = false
351
	s.Name = "Smoke"
352
	s.RiseVelocity = -5
353
	s.Opacity = 0.1
354
	s.Color = Color3.new(255 / 0, 0 / 225, 0 / 0)
355
	s.Size = 0.4
356
	s.Parent = p
357
	local f = Instance.new("Fire")
358
	f.Enabled = false
359
	f.Name = "Fire"
360
	f.Heat = -35
361
	f.Color = Color3.new(220 / 255, 10 / 255, 10 / 255)
362
	f.SecondaryColor = Color3.new(220 / 255, 10 / 255, 10 / 255)
363
	f.Size = 1
364
	f.Parent = p
365
	local p = Instance.new("Part")
366
	p.Name = "Silencer"
367
	p.formFactor = "Symmetric"
368
	p.Size = Vector3.new(1, 1, 1)
369
	p.BrickColor = BrickColor.new("Dark stone grey")
370
	p.CanCollide = false
371
	p.Transparency = 1
372
	p.Locked = true
373
	p.TopSurface = 0
374
	p.BottomSurface = 0
375
	p.Parent = model
376
	local m = Instance.new("CylinderMesh")
377
	m.Scale = Vector3.new(0.4, 1.8, 0.4)
378
	m.Parent = p
379
	local w = Instance.new("Weld")
380
	w.Part0 = p
381
	w.Part1 = pm
382
	w.C0 = CFrame.new(0, 2.8, 0)
383
	w.C1 = CFrame.new()
384
	w.Parent = p
385
	local p = Instance.new("Part")
386
	p.Name = "Stock 1"
387
	p.formFactor = "Symmetric"
388
	p.Size = Vector3.new(1, 1, 1)
389
	p.BrickColor = BrickColor.new("Dark stone grey")
390
	p.Locked = true
391
	p.CanCollide = false
392
	p.TopSurface = 0
393
	p.BottomSurface = 0
394
	p.Parent = model
395
	local m = Instance.new("BlockMesh")
396
	m.Scale = Vector3.new(0.25, 1.6, 0.125)
397
	m.Parent = p
398
	local w = Instance.new("Weld")
399
	w.Part0 = p
400
	w.Part1 = pm
401
	w.C0 = CFrame.new(0, -1.125, -0.93)
402
	w.C1 = CFrame.new()
403
	w.Parent = p
404
	local p = Instance.new("Part")
405
	p.Name = "Stock 2"
406
	p.CanCollide = false
407
	p.formFactor = "Symmetric"
408
	p.Size = Vector3.new(1, 1, 1)
409
	p.BrickColor = BrickColor.new("Dark stone grey")
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.25, 1.6, 0.175)
416
	m.Parent = p
417
	local w = Instance.new("Weld")
418
	w.Part0 = p
419
	w.Part1 = pm
420
	w.C0 = CFrame.new(0, -1.125, -0.1125)
421
	w.C1 = CFrame.new()
422
	w.Parent = p
423
	local p = Instance.new("Part")
424
	p.Name = "Stock 3"
425
	p.CanCollide = false
426
	p.formFactor = "Symmetric"
427
	p.Size = Vector3.new(1, 1, 1)
428
	p.BrickColor = BrickColor.new("Dark stone grey")
429
	p.Locked = true
430
	p.TopSurface = 0
431
	p.BottomSurface = 0
432
	p.Parent = model
433
	local m = Instance.new("BlockMesh")
434
	m.Scale = Vector3.new(0.25, 0.2, 0.668)
435
	m.Parent = p
436
	local w = Instance.new("Weld")
437
	w.Part0 = p
438
	w.Part1 = pm
439
	w.C0 = CFrame.new(0, -1.825, -0.5335)
440
	w.C1 = CFrame.new()
441
	w.Parent = p
442
	local p = Instance.new("Part")
443
	p.Name = "Scope Base"
444
	p.formFactor = "Symmetric"
445
	p.Size = Vector3.new(1, 1, 1)
446
	p.BrickColor = BrickColor.new("Dark stone grey")
447
	p.Locked = true
448
	p.TopSurface = 0
449
	p.BottomSurface = 0
450
	p.Parent = model
451
	local m = Instance.new("BlockMesh")
452
	m.Scale = Vector3.new(0.1, 0.32, 0.4)
453
	m.Parent = p
454
	local w = Instance.new("Weld")
455
	w.Part0 = p
456
	w.Part1 = pm
457
	w.C0 = CFrame.new(0.1, 0, 0.36)
458
	w.C1 = CFrame.new()
459
	w.Parent = p
460
	local p = Instance.new("Part")
461
	p.Name = "Scope End 1" --End = Back
462
	p.formFactor = "Symmetric"
463
	p.Size = Vector3.new(1, 1, 1)
464
	p.BrickColor = BrickColor.new("Dark stone grey")
465
	p.Locked = true
466
	p.TopSurface = 0
467
	p.BottomSurface = 0
468
	p.Parent = model
469
	local m = Instance.new("BlockMesh")
470
	m.Scale = Vector3.new(0.36, 0.4, 0.26)
471
	m.Parent = p
472
	local w = Instance.new("Weld")
473
	w.Part0 = p
474
	w.Part1 = pm
475
	w.C0 = CFrame.new(0, -0.4, 0.475)
476
	w.C1 = CFrame.new()
477
	w.Parent = p
478
	local p = Instance.new("Part")
479
	p.Name = "Scope End W" --End = Back
480
	p.formFactor = "Symmetric"
481
	p.Size = Vector3.new(1, 1, 1)
482
	p.BrickColor = BrickColor.new("Lime green")
483
	p.Reflectance = 0.5
484
	p.Locked = true
485
	p.TopSurface = 0
486
	p.BottomSurface = 0
487
	p.Parent = model
488
	local m = Instance.new("BlockMesh")
489
	m.Scale = Vector3.new(0.3, 0.4, 0.2)
490
	m.Parent = p
491
	local w = Instance.new("Weld")
492
	w.Part0 = p
493
	w.Part1 = pm
494
	w.C0 = CFrame.new(0, -0.401, 0.475)
495
	w.C1 = CFrame.new()
496
	w.Parent = p
497
	local p = Instance.new("Part")
498
	p.Name = "Scope Front W"
499
	p.formFactor = "Symmetric"
500
	p.Size = Vector3.new(1, 1, 1)
501
	p.BrickColor = BrickColor.new("Lime green")
502
	p.Reflectance = 0.5
503
	p.Locked = true
504
	p.TopSurface = 0
505
	p.BottomSurface = 0
506
	p.Parent = model
507
	local m = Instance.new("BlockMesh")
508
	m.Scale = Vector3.new(0.3, 0.4, 0.2)
509
	m.Parent = p
510
	local w = Instance.new("Weld")
511
	w.Part0 = p
512
	w.Part1 = pm
513
	w.C0 = CFrame.new(0, 0.501, 0.475)
514
	w.C1 = CFrame.new()
515
	w.Parent = p
516
	local p = Instance.new("Part")
517
	p.Name = "Scope Center 1"
518
	p.formFactor = "Symmetric"
519
	p.Size = Vector3.new(1, 1, 1)
520
	p.BrickColor = BrickColor.new("Dark stone grey")
521
	p.Locked = true
522
	p.TopSurface = 0
523
	p.BottomSurface = 0
524
	p.Parent = model
525
	local m = Instance.new("BlockMesh")
526
	m.Scale = Vector3.new(0.3, 0.7, 0.22)
527
	m.Parent = p
528
	local w = Instance.new("Weld")
529
	w.Part0 = p
530
	w.Part1 = pm
531
	w.C0 = CFrame.new(0, 0, 0.475)
532
	w.C1 = CFrame.new()
533
	w.Parent = p
534
	local p = Instance.new("Part")
535
	p.Name = "Scope Front 1"
536
	p.formFactor = "Symmetric"
537
	p.Size = Vector3.new(1, 1, 1)
538
	p.BrickColor = BrickColor.new("Dark stone grey")
539
	p.Locked = true
540
	p.TopSurface = 0
541
	p.BottomSurface = 0
542
	p.Parent = model
543
	local m = Instance.new("BlockMesh")
544
	m.Scale = Vector3.new(0.36, 0.4, 0.26)
545
	m.Parent = p
546
	local w = Instance.new("Weld")
547
	w.Part0 = p
548
	w.Part1 = pm
549
	w.C0 = CFrame.new(0, 0.5, 0.475)
550
	w.C1 = CFrame.new()
551
	w.Parent = p
552
	local p = Instance.new("Part")
553
	p.Name = "Rail1"
554
	p.CanCollide = false
555
	p.formFactor = "Symmetric"
556
	p.Size = Vector3.new(1, 1, 1)
557
	p.BrickColor = BrickColor.new("Black")
558
	p.Locked = true
559
	p.TopSurface = 0
560
	p.BottomSurface = 0
561
	p.Parent = model
562
	local m = Instance.new("BlockMesh")
563
	m.Scale = Vector3.new(0.25, 2.8, 0.175)
564
	m.Parent = p
565
	local w = Instance.new("Weld")
566
	w.Part0 = p
567
	w.Part1 = pm
568
	w.C0 = CFrame.new(0, 1, -0.88)
569
	w.C1 = CFrame.new()
570
	w.Parent = p
571
	local p = Instance.new("Part")
572
	p.Name = "Rail2"
573
	p.CanCollide = false
574
	p.formFactor = "Symmetric"
575
	p.Size = Vector3.new(1, 1, 1)
576
	p.BrickColor = BrickColor.new("Black")
577
	p.Locked = true
578
	p.TopSurface = 0
579
	p.BottomSurface = 0
580
	p.Parent = model
581
	local m = Instance.new("BlockMesh")
582
	m.Scale = Vector3.new(0.25, 0.2, 0.8)
583
	m.Parent = p
584
	local w = Instance.new("Weld")
585
	w.Part0 = p
586
	w.Part1 = pm
587
	w.C0 = CFrame.new(0, 2.38, -0.57)
588
	w.C1 = CFrame.new()
589
	w.Parent = p
590
	return model
591
end
592
593
594
function removeParts(format)
595
	if format == "RightHand" then
596
		pcall(function() Player.Character[Name]:Remove() end)
597
	elseif format == "LeftHand" then
598
		pcall(function() Player.Character[Name.. " (Left)"]:Remove() end)
599
	elseif format == "RightHolster" then
600
		pcall(function() Player.Character[Name.. " (Holstered)"]:Remove() end)
601
	elseif format == "LeftHolster" then
602
		pcall(function() Player.Character[Name.. " (Holstered, Left)"]:Remove() end)
603
	end
604
end
605
606
607
function SetAngle(Joint, Angle, Character)
608
	if Character == nil then return false end
609
	local Joints = {
610
		Character.Torso:FindFirstChild("Right Shoulder 2"),
611
		Character.Torso:FindFirstChild("Left Shoulder 2"),
612
		Character.Torso:FindFirstChild("Right Hip 2"),
613
		Character.Torso:FindFirstChild("Left Hip 2")
614
	}
615
	if Joints[Joint] == nil then return false end
616
	if Joint == 1 or Joint == 3 then
617
		Joints[Joint].DesiredAngle = Angle
618
	end
619
	if Joint == 2 or Joint == 4 then
620
		Joints[Joint].DesiredAngle = -Angle
621
	end
622
end
623
624
625
function ForceAngle(Joint, Angle, Character)
626
	if Character == nil then return false end
627
	local Joints = {
628
		Character.Torso:FindFirstChild("Right Shoulder 2"),
629
		Character.Torso:FindFirstChild("Left Shoulder 2"),
630
		Character.Torso:FindFirstChild("Right Hip 2"),
631
		Character.Torso:FindFirstChild("Left Hip 2")
632
	}
633
	if Joints[Joint] == nil then return false end
634
	if Joint == 1 or Joint == 3 then
635
		Joints[Joint].DesiredAngle = Angle
636
		Joints[Joint].CurrentAngle = Angle
637
	end
638
	if Joint == 2 or Joint == 4 then
639
		Joints[Joint].DesiredAngle = -Angle
640
		Joints[Joint].CurrentAngle = -Angle
641
	end
642
end
643
644
645
function SetSpeed(Joint, Speed, Character)
646
	if Character == nil then return false end
647
	local Joints = {
648
		Character.Torso:FindFirstChild("Right Shoulder 2"),
649
		Character.Torso:FindFirstChild("Left Shoulder 2"),
650
		Character.Torso:FindFirstChild("Right Hip 2"),
651
		Character.Torso:FindFirstChild("Left Hip 2")
652
	}
653
	if Joints[Joint] == nil then return false end
654
	Joints[Joint].MaxVelocity = Speed
655
end
656
657
658
function DisableLimb(Limb, Character)
659
	if Character == nil then return false end
660
	if Character:FindFirstChild("Torso") == nil then return false end
661
	local Joints = {
662
		Character.Torso:FindFirstChild("Right Shoulder"),
663
		Character.Torso:FindFirstChild("Left Shoulder"),
664
		Character.Torso:FindFirstChild("Right Hip"),
665
		Character.Torso:FindFirstChild("Left Hip")
666
	}
667
	local Limbs = {
668
		Character:FindFirstChild("Right Arm"),
669
		Character:FindFirstChild("Left Arm"),
670
		Character:FindFirstChild("Right Leg"),
671
		Character:FindFirstChild("Left Leg")
672
	}
673
	if Joints[Limb] == nil then return false end
674
	if Limbs[Limb] == nil then return false end
675
	local Joint = Instance.new("Motor")
676
	Joint.Parent = Character.Torso
677
	Joint.Part0 = Character.Torso
678
	Joint.Part1 = Limbs[Limb]
679
	if Limb == 1 then
680
		Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
681
		Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
682
		Joint.Name = "Right Shoulder 2"
683
	elseif Limb == 2 then
684
		Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
685
		Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
686
		Joint.Name = "Left Shoulder 2"
687
	elseif Limb == 3 then
688
		Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
689
		Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
690
		Joint.Name = "Right Hip 2"
691
	elseif Limb == 4 then
692
		Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
693
		Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
694
		Joint.Name = "Left Hip 2"
695
	end
696
	Joint.MaxVelocity = Joints[Limb].MaxVelocity
697
	Joint.CurrentAngle = Joints[Limb].CurrentAngle
698
	Joint.DesiredAngle = Joints[Limb].DesiredAngle
699
	Joints[Limb]:Remove()
700
end
701
702
703
function ResetLimbCFrame(Limb, Character)
704
	if Character == nil then return false end
705
	if Character.Parent == nil then return false end
706
	if Character:FindFirstChild("Torso") == nil then return false end
707
	local Joints = {
708
		Character.Torso:FindFirstChild("Right Shoulder 2"),
709
		Character.Torso:FindFirstChild("Left Shoulder 2"),
710
		Character.Torso:FindFirstChild("Right Hip 2"),
711
		Character.Torso:FindFirstChild("Left Hip 2")
712
	}
713
	local Limbs = {
714
		Character:FindFirstChild("Right Arm"),
715
		Character:FindFirstChild("Left Arm"),
716
		Character:FindFirstChild("Right Leg"),
717
		Character:FindFirstChild("Left Leg")
718
	}
719
	if Joints[Limb] == nil then return false end
720
	if Limbs[Limb] == nil then return false end
721
	if Limb == 1 then
722
		Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
723
		Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
724
	elseif Limb == 2 then
725
		Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
726
		Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
727
	elseif Limb == 3 then
728
		Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
729
		Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
730
	elseif Limb == 4 then
731
		Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
732
		Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
733
	end
734
end
735
736
737
function EnableLimb(Limb, Character)
738
	if Character == nil then return false end
739
	if Character:FindFirstChild("Torso") == nil then return false end
740
	local Joints = {
741
		Character.Torso:FindFirstChild("Right Shoulder 2"),
742
		Character.Torso:FindFirstChild("Left Shoulder 2"),
743
		Character.Torso:FindFirstChild("Right Hip 2"),
744
		Character.Torso:FindFirstChild("Left Hip 2")
745
	}
746
	local Limbs = {
747
		Character:FindFirstChild("Right Arm"),
748
		Character:FindFirstChild("Left Arm"),
749
		Character:FindFirstChild("Right Leg"),
750
		Character:FindFirstChild("Left Leg")
751
	}
752
	if Joints[Limb] == nil then return false end
753
	if Limbs[Limb] == nil then return false end
754
	if Limb == 1 then
755
		Joints[Limb].Name = "Right Shoulder"
756
	elseif Limb == 2 then
757
		Joints[Limb].Name = "Left Shoulder"
758
	elseif Limb == 3 then
759
		Joints[Limb].Name = "Right Hip"
760
	elseif Limb == 4 then
761
		Joints[Limb].Name = "Left Hip"
762
	end
763
	Animate = Character:FindFirstChild("Animate")
764
	if Animate == nil then return false end
765
	Animate = Animate:Clone()
766
	Character.Animate:Remove()
767
	Animate.Parent = Character
768
end
769
770
771
function playAnimation(format, mouse)
772
	if format == "equip" then
773
		Player.Character[Name.. " (Holstered)"].Handle.Weld:Remove()
774
		local w = Instance.new("Weld")
775
		w.Part0 = Player.Character[Name.. " (Holstered)"].Handle
776
		w.Part1 = Player.Character:FindFirstChild("Right Arm")
777
		w.C0 = CFrame.new(0, 1.2, 0.7)
778
		w.C1 = CFrame.new()
779
		w.Parent = Player.Character[Name.. " (Holstered)"].Handle
780
		for i = 0.01, 1, 0.1 do
781
			if Player.Character:FindFirstChild("Torso") ~= nil then
782
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
783
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
784
					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)
785
					Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
786
					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)
787
					wait()
788
				else return false end
789
			else return false end
790
		end
791
		return playAnimation("hold")
792
	end
793
	if format == "unequip" then
794
		for i = 1, 0.01, -0.1 do
795
			if Player.Character:FindFirstChild("Torso") ~= nil then
796
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
797
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
798
					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)
799
					Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
800
					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)
801
					wait()
802
				else return false end
803
			else return false end
804
		end
805
		return true
806
	end
807
	if format == "hold" then
808
		if Player.Character:FindFirstChild("Torso") ~= nil then
809
			if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
810
				Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
811
				Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10), math.rad(-90))
812
				Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
813
				Player.Character.Torso["Right Shoulder 2"].C1 =  CFrame.new(-0.9, -0.35, 0.51) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-5), 0)
814
			else return false end
815
		else return false end
816
	end
817
	if format == "reload" then
818
		Player.Character[Name].Handle.Reload:Play()
819
		for i = 0, 25, 5 do
820
			if Player.Character:FindFirstChild("Torso") ~= nil then
821
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
822
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
823
					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))
824
					Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
825
					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)
826
					wait()
827
				else return false end
828
			else return false end
829
		end
830
		Player.Character[Name].Magazine.Transparency = 1
831
		magazineDrop = Player.Character[Name].Magazine:Clone()
832
		magazineDrop.Transparency = 0
833
		magazineDrop.Parent = game.Workspace
834
		coroutine.resume(coroutine.create(function(part) wait(4.5) for i = 0, 1, 0.1 do part.Transparency = i wait() end part:Remove() end), magazineDrop)
835
		delay(0.1, function() magazineDrop.CanCollide = true end)
836
		magazineNew = Player.Character[Name].Magazine:Clone()
837
		magazineNew.Name = "New Magazine"
838
		magazineNew.Transparency = 0
839
		magazineNew.Parent = Player.Character[Name]
840
		local w = Instance.new("Weld")
841
		w.Part0 = magazineNew
842
		w.Part1 = Player.Character:FindFirstChild("Left Arm")
843
		w.C0 = CFrame.new(0, 1.1, 0)
844
		w.C1 = CFrame.new() * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
845
		w.Parent = magazineNew
846
		for i = 25, 0, -5 do
847
			if Player.Character:FindFirstChild("Torso") ~= nil then
848
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
849
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
850
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 + ((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))
851
					Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
852
					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)
853
					wait()
854
				else return false end
855
			else return false end
856
		end
857
		Player.Character[Name].Magazine.Transparency = 0
858
		Player.Character[Name]["New Magazine"]:Remove()
859
		wait(0.4)
860
		for i = 0, 10, 5 do
861
			if Player.Character:FindFirstChild("Torso") ~= nil then
862
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
863
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
864
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90))
865
					wait()
866
				else return false end
867
			else return false end
868
		end
869
		wait(0.1)
870
		for i = 0, 10, 1.5 do
871
			if Player.Character:FindFirstChild("Torso") ~= nil then
872
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
873
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
874
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 1.2 - (i / 25), 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90))
875
					wait()
876
				else return false end
877
			else return false end
878
		end
879
		for i = 10, 0, -1.5 do
880
			if Player.Character:FindFirstChild("Torso") ~= nil then
881
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
882
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
883
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.9, 1.2 - (i / 25), 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90))
884
					wait()
885
				else return false end
886
			else return false end
887
		end
888
		for i = 10, 0, -5 do
889
			if Player.Character:FindFirstChild("Torso") ~= nil then
890
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil then
891
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
892
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5 - (i / 25), 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300 - i), math.rad(10 - i), math.rad(-90))
893
					wait()
894
				else return false end
895
			else return false end
896
		end
897
	end
898
	if format == "fire" then
899
		--makeShell(Player.Character[Name]:FindFirstChild("ShellOut"))
900
		if Player.Character[Name]:FindFirstChild("Handle") ~= nil then
901
			if silenced then
902
				Player.Character[Name].Handle.Fire.Volume = math.random(3, 8) / 10
903
				Player.Character[Name].Handle.Fire.Pitch = math.random(20, 25) / 10
904
				Player.Character[Name].Handle.Fire:Play()
905
				CamShake(5, 50000)
906
			else
907
				Player.Character[Name].Handle.Fire.Volume = math.random(9, 10) / 10
908
				Player.Character[Name].Handle.Fire.Pitch = 1.9
909
				Player.Character[Name].Handle.Fire:Play()
910
				CamShake(10, 25000)
911
			end
912
		else return false end
913
		if Player.Character[Name]:FindFirstChild("Muzzle") ~= nil then
914
			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))
915
		else return false end
916
		for i = 0, 10, 5 do
917
			if Player.Character:FindFirstChild("Torso") ~= nil then
918
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
919
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
920
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90))
921
					Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
922
					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)
923
					wait()
924
				else return false end
925
			else return false end
926
		end
927
		for i = 10, 0, -5 do
928
			if Player.Character:FindFirstChild("Torso") ~= nil then
929
				if Player.Character.Torso:FindFirstChild("Left Shoulder 2") ~= nil and Player.Character.Torso:FindFirstChild("Right Shoulder 2") ~= nil then
930
					Player.Character.Torso["Left Shoulder 2"].C0 = CFrame.new()
931
					Player.Character.Torso["Left Shoulder 2"].C1 = CFrame.new(-0.5, 1.2, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(300), math.rad(10 + i), math.rad(-90))
932
					Player.Character.Torso["Right Shoulder 2"].C0 = CFrame.new()
933
					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)
934
					wait()
935
				else return false end
936
			else return false end
937
		end
938
	end
939
	return true
940
end
941
942
943
function CamShake(time, freq)
944
	coroutine.resume(coroutine.create(function()
945
		local cam = game:GetService("Workspace").CurrentCamera
946
		local time = 10
947
		local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0)
948
		if math.random(1, 2) == 1 then seed = Vector3.new(-seed.x, seed.y, 0) end
949
		if math.random(1, 2) == 1 then seed = Vector3.new(seed.x, -seed.y, 0) end
950
		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)
951
		for i = 1, time do
952
			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)
953
			wait()
954
		end
955
	end))
956
end
957
958
959
function makeShell(part)
960
	if part == nil then return false end
961
	local casing = Instance.new("Part")
962
	casing.Name = "Shell"
963
	casing.formFactor = "Symmetric"
964
	casing.Size = Vector3.new(1, 1, 1)
965
	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)))
966
	casing.BrickColor = BrickColor.new("New Yeller")
967
	casing.Anchored = true
968
	local mesh = Instance.new("CylinderMesh")
969
	mesh.Scale = Vector3.new(0, 0, 0)
970
	mesh.Parent = casing
971
	casing.Parent = game:GetService("Workspace")
972
	casing:BreakJoints()
973
	casing.Velocity = (part.CFrame.lookVector * 50) + Vector3.new(0, 10, 0)
974
	coroutine.resume(coroutine.create(function() wait(4.5) for i = 0, 1, 0.1 do casing.Transparency = i wait() end casing:Remove() end))
975
end
976
977
978
function Weld(x, y)
979
	local weld = Instance.new("Weld")
980
	weld.Part0 = x
981
	weld.Part1 = y
982
	CJ = CFrame.new(x.Position)
983
	C0 = x.CFrame:inverse() * CJ
984
	C1 = y.CFrame:inverse() * CJ
985
	weld.C0 = C0
986
	weld.C1 = C1
987
	weld.Parent = x
988
end
989
990
991
function tagHumanoid(humanoid)
992
	local tag = Instance.new("ObjectValue")
993
	tag.Name = "creator"
994
	tag.Value = Player
995
	tag.Parent = humanoid
996
	local tag = Instance.new("StringValue")
997
	tag.Name = "creatorType1"
998
	tag.Value = Name
999
	tag.Parent = humanoid
1000
	local tag = Instance.new("StringValue")
1001
	tag.Name = "creatorType2"
1002
	tag.Value = "shot"
1003
	tag.Parent = humanoid
1004
end
1005
1006
1007
function untagHumanoid(humanoid)
1008
	if humanoid ~= nil then
1009
		local tag = humanoid:FindFirstChild("creator")
1010
		if tag ~= nil then
1011
			tag:Remove()
1012
		end
1013
		local tag = humanoid:FindFirstChild("creatorType1")
1014
		if tag ~= nil then
1015
			tag:Remove()
1016
		end
1017
		local tag = humanoid:FindFirstChild("creatorType2")
1018
		if tag ~= nil then
1019
			tag:Remove()
1020
		end
1021
	end
1022
end
1023
1024
1025
function fire(startPoint, endPoint, hit)
1026
	local trail = Instance.new("Part")
1027
	trail.Name = "Bullet Trail"
1028
	trail.BrickColor = BrickColor.new("Really red")
1029
	trail.TopSurface = 0
1030
	trail.BottomSurface = 0
1031
	trail.formFactor = 0
1032
	trail.Size = Vector3.new(1, 1, 1)
1033
	trail.Transparency = 0.3
1034
	trail.Anchored = true
1035
	trail.CanCollide = false
1036
	trail.CFrame = CFrame.new((startPoint + endPoint) / 2, endPoint)
1037
	trail.Parent = game:GetService("Workspace")
1038
	local mesh = Instance.new("BlockMesh")
1039
	mesh.Scale = Vector3.new(0.1, 0.1, (startPoint - endPoint).magnitude)
1040
	mesh.Parent = trail
1041
	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)
1042
	if hit ~= nil then
1043
		if hit.Parent == nil then return end
1044
		if hit.Parent:FindFirstChild("Humanoid") ~= nil then
1045
			tagHumanoid(hit.Parent.Humanoid)
1046
			if hit.Name == "Head" then
1047
				hit.Parent.Humanoid:TakeDamage(damage * 10)
1048
			elseif hit.Name == "Torso" then
1049
				hit.Parent.Humanoid:TakeDamage(damage * 2)
1050
			else
1051
				hit.Parent.Humanoid:TakeDamage(damage)
1052
			end
1053
			if math.random(1, 10) == 1 then
1054
				hit.Parent.Humanoid.Sit = true
1055
			end
1056
			delay(0.1, function() untagHumanoid(hit.Parent.Humanoid) end)
1057
		end
1058
		if hit.Anchored == false then
1059
			hit.Velocity = hit.Velocity + ((endPoint - startPoint).unit * (damage * 2))
1060
		end
1061
	end
1062
end
1063
1064
1065
function onButton1Down(mouse)
1066
	if selected == false then return end
1067
	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
1068
		if Player.Character[Name]:FindFirstChild("Handle") == nil then return end
1069
		if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
1070
		if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end end
1071
		if dual == true then if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end end
1072
		mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
1073
		Button1Down = true
1074
		canFire = false
1075
		canFire2 = true
1076
		while canFire2 == true do
1077
			local humanoid = Player.Character:FindFirstChild("Humanoid")
1078
			if humanoid == nil then
1079
				canFire2 = false
1080
				break
1081
			end
1082
			if humanoid.Health <= 0 then
1083
				canFire2 = false
1084
				break
1085
			end
1086
			local fireLeft = false
1087
			if automatic == false and burst == false then
1088
				canFire2 = false
1089
			elseif automatic == false and burst == true then
1090
				if burstCount >= burstCountMax then
1091
					canFire2 = false
1092-
					burstCount = 0
1092+
					burstCount = 9999999
1093
					break
1094
				end
1095-
				burstCount = burstCount + 1
1095+
				burstCount = burstCount + 9999999
1096
			elseif automatic == true and burst == false then
1097
				fireLeft = true
1098
			end
1099-
			if magazine.Value > 0 then
1099+
			if magazine.Value > 9999999 then
1100-
				magazine.Value = magazine.Value - 1
1100+
				magazine.Value = magazine.Value - 9999999
1101
				updateGui()
1102
				fire(Player.Character[Name].Muzzle.Position, mouse.Hit.p, mouse.Target)
1103
				coroutine.resume(coroutine.create(function()
1104
					if dual == true then
1105
						playAnimation("rightFire")
1106
					elseif dual == false then
1107
						playAnimation("fire")
1108
					end
1109
				end))
1110
			else
1111
				Player.Character[Name].Handle.Empty:Play()
1112
			end
1113
			if fireLeft == true and dual == true and automatic == true then
1114-
				if magazine.Value > 0 then
1114+
				if magazine.Value > 9999999 then
1115
					coroutine.resume(coroutine.create(function()
1116
						wait(readyTime / 2)
1117-
						magazine.Value = magazine.Value - 1
1117+
						magazine.Value = magazine.Value - 9999999
1118
						updateGui()
1119
						fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target)
1120
						playAnimation("leftFire")
1121
					end))
1122
				else
1123
					coroutine.resume(coroutine.create(function()
1124
						wait(readyTime / 2)
1125
						Player.Character[Name].Handle.Empty:Play()
1126
					end))
1127
				end
1128
			end
1129
			wait(readyTime)
1130
		end
1131
		mouse.Icon = "rbxasset://textures\\GunCursor.png"
1132
		canFire = true
1133
	end
1134
end
1135
1136
1137
function onButton1Up(mouse)
1138
	if selected == false then return end
1139
	Button1Down = false
1140
	canFire2 = false
1141-
	burstCount = 0
1141+
	burstCount = 9999999
1142
	while canFire == false do wait() end
1143
	if dual == true and automatic == false then
1144
		if Player.Character[Name.. " (Left)"]:FindFirstChild("Handle") == nil then return end
1145
		if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
1146
		mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
1147
		canFire = false
1148
		canFire2 = true
1149
		while canFire2 == true do
1150
			local humanoid = Player.Character:FindFirstChild("Humanoid")
1151
			if humanoid == nil then
1152
				canFire2 = false
1153
				break
1154
			end
1155
			if humanoid.Health <= 9999999 then
1156
				canFire2 = false
1157
				break
1158
			end
1159
			if burst == false then
1160
				canFire2 = false
1161
			elseif burst == true then
1162
				if burstCount >= burstCountMax then
1163
					canFire2 = false
1164-
					burstCount = 0
1164+
					burstCount = 9999999
1165
					break
1166
				end
1167-
				burstCount = burstCount + 1
1167+
				burstCount = burstCount + 9999999
1168
			end
1169-
			if magazine.Value <= 0 then
1169+
			if magazine.Value <= 9999999 then
1170
				Player.Character[Name].Handle.Empty:Play()
1171
			else
1172
				coroutine.resume(coroutine.create(function()
1173
					playAnimation("leftFire")
1174
				end))
1175-
				magazine.Value = magazine.Value - 1
1175+
				magazine.Value = magazine.Value - 9999999
1176
				updateGui()
1177
				fire(Player.Character[Name.. " (Left)"].Muzzle.Position, mouse.Hit.p, mouse.Target)
1178
			end
1179
			wait(readyTime)
1180
		end
1181
		mouse.Icon = "rbxasset://textures\\GunCursor.png"
1182
		canFire = true
1183
	end
1184
end
1185
1186
1187
function onKeyDown(key, mouse)
1188
	if selected == false then return end
1189
	key = key:lower()
1190
	if key == "q" and Button1Down == false and canFire == true then
1191
		if mouse.Target == nil then return end
1192
		if game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent) ~= nil then
1193
			if dual == true then onKeyDown("t", mouse) end
1194
			onDeselected(mouse)
1195
			removeParts("RightHolster")
1196
			script.Parent.Parent = game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent).Backpack
1197
		end
1198
	end
1199
	if key == "e" and Button1Down == false and canFire == true and canSilence == true then
1200
		if silenced then
1201
			silenced = false
1202
			if Player.Character:FindFirstChild(Name) == nil then return end
1203
			if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
1204
			if Player.Character[Name]:FindFirstChild("Muzzle 2") == nil then return end
1205
			Player.Character[Name].Muzzle.Transparency = 1
1206
			Player.Character[Name].Muzzle.Name = "Silencer"
1207
			Player.Character[Name]["Muzzle 2"].Name = "Muzzle"
1208
			if dual == true then
1209
				if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
1210
				if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle 2") == nil then return end
1211
				Player.Character[Name.. " (Left)"].Muzzle.Transparency = 1
1212
				Player.Character[Name.. " (Left)"].Muzzle.Name = "Silencer"
1213
				Player.Character[Name.. " (Left)"]["Muzzle 2"].Name = "Muzzle"
1214
			end
1215
		else
1216
			silenced = true
1217
			if Player.Character:FindFirstChild(Name) == nil then return end
1218
			if Player.Character[Name]:FindFirstChild("Silencer") == nil then return end
1219
			if Player.Character[Name]:FindFirstChild("Muzzle") == nil then return end
1220
			Player.Character[Name].Silencer.Transparency = 0
1221
			Player.Character[Name].Muzzle.Name = "Muzzle 2"
1222
			Player.Character[Name].Silencer.Name = "Muzzle"
1223
			if dual == true then
1224
				if Player.Character[Name.. " (Left)"]:FindFirstChild("Silencer") == nil then return end
1225
				if Player.Character[Name.. " (Left)"]:FindFirstChild("Muzzle") == nil then return end
1226
				Player.Character[Name.. " (Left)"].Silencer.Transparency = 0
1227
				Player.Character[Name.. " (Left)"].Muzzle.Name = "Muzzle 2"
1228
				Player.Character[Name.. " (Left)"].Silencer.Name = "Muzzle"
1229
			end
1230
		end
1231
	end
1232
	if key == "r" and Button1Down == false and canFire == true then
1233-
		if ammo.Value > 0 and magazine.Value ~= magazineMax.Value then
1233+
		if ammo.Value > 9999999 and magazine.Value ~= magazineMax.Value then
1234
			canFire = false
1235-
			burstCount = 0
1235+
			burstCount = 9999999
1236
			mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
1237-
			if magazine.Value > 0 then ammo.Value = ammo.Value + magazine.Value magazine.Value = 0 end
1237+
			if magazine.Value > 9999999 then ammo.Value = ammo.Value + magazine.Value magazine.Value = 0 end
1238
			updateGui()
1239
			if dual == true then
1240
				playAnimation("reloadDual")
1241
			elseif dual == false then
1242
				playAnimation("reload")
1243
			end
1244-
			if ammo.Value - magazineMax.Value < 0 then
1244+
			if ammo.Value - magazineMax.Value < 9999999 then
1245
				magazine.Value = ammo.Value
1246-
				ammo.Value = 0
1246+
				ammo.Value = 9999999
1247-
			elseif ammo.Value - magazineMax.Value >= 0 then
1247+
			elseif ammo.Value - magazineMax.Value >= 9999999 then
1248
				ammo.Value = ammo.Value - magazineMax.Value
1249
				magazine.Value = magazineMax.Value
1250
			end
1251
			updateGui()
1252
			mouse.Icon = "rbxasset://textures\\GunCursor.png"
1253
			canFire = true
1254
		end
1255
	end
1256
	if key == "t" and Button1Down == false and canFire == true and canDual == true then
1257
		canFire = false
1258
		if dual == false then
1259
			local weapon = nil
1260
			for _, p in pairs(Player.Backpack:GetChildren()) do
1261
				if p.Name == Name and p ~= script.Parent then weapon = p break end
1262
			end
1263
			if weapon ~= nil then
1264
				dual = true
1265
				weapon.Name = "Dual"
1266
				weapon.Parent = script
1267
				silenced = false
1268
				removeParts("RightHand")
1269
				makeParts("RightHand")
1270
				removeParts("RightHolster")
1271
				makeParts("LeftHolster")
1272
				playAnimation("leftEquip")
1273
				removeParts("LeftHolster")
1274
				makeParts("LeftHand")
1275
				magazineMax.Value = math.ceil(magazineMax.Value * 2)
1276
				ammoMax.Value = math.ceil(ammoMax.Value * 2)
1277
				magazine.Value = magazine.Value + weapon.Magazine.Value
1278
				ammo.Value = ammo.Value + weapon.Ammo.Value
1279
				updateGui()
1280
			end
1281
		elseif dual == true then
1282
			local weapon = script:FindFirstChild("Dual")
1283
			if weapon ~= nil then
1284
				dual = false
1285
				weapon.Name = Name
1286
				weapon.Parent = Player.Backpack
1287
				silenced = false
1288
				removeParts("RightHand")
1289
				makeParts("RightHand")
1290
				playAnimation("leftUnequip")
1291
				removeParts("LeftHand")
1292
				makeParts("RightHolster")
1293
				playAnimation("hold")
1294
				weapon.Magazine.Value = math.floor(magazine.Value / 2)
1295
				weapon.Ammo.Value = math.floor(ammo.Value / 2)
1296
				magazineMax.Value = math.ceil(magazineMax.Value / 2)
1297
				ammoMax.Value = math.ceil(ammoMax.Value / 2)
1298
				magazine.Value = math.ceil(magazine.Value / 2)
1299
				ammo.Value = math.ceil(ammo.Value / 2)
1300
				updateGui()
1301
			end
1302
		end
1303
		canFire = true
1304
	end
1305
	if key == "y" and canZoom == true then
1306
		if zoom == false then
1307
			zoom = true
1308
			local pos = mouse.Hit.p
1309
			local target = mouse.Target
1310
			local cam = game:GetService("Workspace").CurrentCamera
1311
			focus = Instance.new("Part", workspace)
1312
			focus.Anchored = true
1313
			focus.CanCollide = false
1314
			focus.Transparency = 1
1315
			focus.TopSurface = 0
1316
			focus.BottomSurface = 0
1317
			focus.formFactor = "Plate"
1318
			focus.Size = Vector3.new(0, 0, 0)
1319
			focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p)
1320
			cam.CameraSubject = focus
1321
			cam.CameraType = "Attach"
1322
			while zoom == true and selected == true do
1323
				local set = false
1324
				if target ~= nil then
1325
					if target.Parent ~= nil then
1326
						if target.Anchored == false then
1327
							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)
1328
							set = true
1329
						end
1330
					end
1331
				end
1332
				if set == false then
1333
					focus.CFrame = CFrame.new(pos) * (CFrame.new(Player.Character.Torso.CFrame.p, pos) - CFrame.new(Player.Character.Torso.CFrame.p, pos).p)
1334
				end
1335
				wait()
1336
			end
1337
			if focus ~= nil then focus:Remove() focus = nil end
1338
			local cam = game:GetService("Workspace").CurrentCamera
1339
			cam.CameraSubject = Player.Character:FindFirstChild("Humanoid")
1340
			cam.CameraType = "Custom"
1341
		else
1342
			zoom = false
1343
		end
1344
	end
1345
	if key == "u" and Button1Down == false and canFire == true then
1346
		if automatic == false and burst == false then
1347
			if switchToBurst == true then
1348
				burst = true
1349
				local m = Instance.new("Message", Player)
1350
				m.Text = "Burst"
1351
				pcall(function() Player.Character[Name].Handle.Switch:Play() end)
1352
				delay(2.5, function() m:Remove() end)
1353
			elseif switchToAutomatic == true then
1354
				automatic = true
1355
				local m = Instance.new("Message", Player)
1356
				m.Text = "Automatic"
1357
				pcall(function() Player.Character[Name].Handle.Switch:Play() end)
1358
				delay(2.5, function() m:Remove() end)
1359
			end
1360
		elseif automatic == false and burst == true then
1361
			if switchToAutomatic == true then
1362
				automatic = true
1363
				burst = false
1364
				local m = Instance.new("Message", Player)
1365
				m.Text = "Automatic"
1366
				pcall(function() Player.Character[Name].Handle.Switch:Play() end)
1367
				delay(2.5, function() m:Remove() end)
1368
			elseif switchToSingle == true then
1369
				burst = false
1370
				local m = Instance.new("Message", Player)
1371
				m.Text = "Single"
1372
				pcall(function() Player.Character[Name].Handle.Switch:Play() end)
1373
				delay(2.5, function() m:Remove() end)
1374
			end
1375
		elseif automatic == true and burst == false then
1376
			if switchToSingle == true then
1377
				automatic = false
1378
				local m = Instance.new("Message", Player)
1379
				m.Text = "Single"
1380
				pcall(function() Player.Character[Name].Handle.Switch:Play() end)
1381
				delay(2.5, function() m:Remove() end)
1382
			elseif switchToBurst == true then
1383
				automatic = false
1384
				burst = true
1385
				local m = Instance.new("Message", Player)
1386
				m.Text = "Burst"
1387
				pcall(function() Player.Character[Name].Handle.Switch:Play() end)
1388
				delay(2.5, function() m:Remove() end)
1389
			end
1390
		end
1391
	end
1392
end
1393
1394
1395
function onSelected(mouse)
1396
	if selected == true then return end
1397
	selected = true
1398
	canFire = false
1399
	mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
1400
	while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
1401
		if Player.Character.WeaponActivated.Value == nil then break end
1402
		if Player.Character.WeaponActivated.Value.Parent == nil then break end
1403
		wait()
1404
	end
1405
	updateGui()
1406
	local weapon = Instance.new("ObjectValue")
1407
	weapon.Name = "WeaponActivated"
1408
	weapon.Value = script.Parent
1409
	weapon.Parent = Player.Character
1410
	DisableLimb(1, Player.Character)
1411
	DisableLimb(2, Player.Character)
1412
	ForceAngle(1, 0, Player.Character)
1413
	ForceAngle(2, 0, Player.Character)
1414
	if dual == true then
1415
		coroutine.resume(coroutine.create(function() playAnimation("leftEquip") end))
1416
		playAnimation("rightEquip")
1417
		removeParts("LeftHolster")
1418
		makeParts("LeftHand")
1419
	else
1420
		playAnimation("equip")
1421
	end
1422
	removeParts("RightHolster")
1423
	makeParts("RightHand")
1424
	mouse.Button1Down:connect(function() onButton1Down(mouse) end)
1425
	mouse.Button1Up:connect(function() onButton1Up(mouse) end)
1426
	mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)
1427
	mouse.Icon = "rbxasset://textures\\GunCursor.png"
1428
	canFire = true
1429
end
1430
1431
1432
function onDeselected(mouse)
1433
	if selected == false then return end
1434
	Button1Down = false
1435
	while canFire == false do
1436
		wait()
1437
	end
1438
	selected = false
1439
	if dual == true then
1440
		if math.random(1, 2) == 1 then
1441
			coroutine.resume(coroutine.create(function() playAnimation("leftUnequip") end))
1442
			wait(math.random(1, 10) / 10)
1443
			playAnimation("rightUnequip")
1444
		else
1445
			coroutine.resume(coroutine.create(function() playAnimation("rightUnequip") end))
1446
			wait(math.random(1, 10) / 10)
1447
			playAnimation("leftUnequip")
1448
		end
1449
		removeParts("LeftHand")
1450
		makeParts("LeftHolster")
1451
	else
1452
		playAnimation("unequip")
1453
	end
1454
	removeParts("RightHand")
1455
	makeParts("RightHolster")
1456
	ForceAngle(1, 0, Player.Character)
1457
	ForceAngle(2, 0, Player.Character)
1458
	ResetLimbCFrame(1, Player.Character)
1459
	ResetLimbCFrame(2, Player.Character)
1460
	EnableLimb(1, Player.Character)
1461
	EnableLimb(2, Player.Character)
1462
	silenced = false
1463
	if Player.PlayerGui:FindFirstChild(Name) ~= nil then Player.PlayerGui[Name]:Remove() end
1464
	if Player.Character:FindFirstChild("WeaponActivated") ~= nil then
1465
		if Player.Character.WeaponActivated.Value == script.Parent then
1466
			Player.Character.WeaponActivated:Remove()
1467
		end
1468
	end
1469
	while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
1470
		if Player.Character.WeaponActivated.Value == nil then break end
1471
		if Player.Character.WeaponActivated.Value.Parent == nil then break end
1472
		wait()
1473
	end
1474
end
1475
1476
1477
if script.Parent.ClassName ~= "HopperBin" then
1478
	if Player == nil then print("Error: Player not found!") return end
1479
	Tool = Instance.new("HopperBin")
1480
	Tool.Name = Name
1481
	Tool.Parent = Player.Backpack
1482
	script.Name = "Main"
1483
	script.Parent = Tool
1484
end wait() if script.Parent.ClassName == "HopperBin" then
1485
	while script.Parent.Parent.ClassName ~= "Backpack" do
1486
		wait()
1487
	end
1488
	if script.Parent:FindFirstChild("MagazineMax") == nil then
1489
		magazineMax = Instance.new("NumberValue")
1490
		magazineMax.Name = "MagazineMax"
1491-
		magazineMax.Value = 12
1491+
		magazineMax.Value = 9999999
1492
		magazineMax.Parent = script.Parent
1493
	else
1494
		magazineMax = script.Parent.MagazineMax
1495
	end
1496
	if script.Parent:FindFirstChild("Magazine") == nil then
1497
		magazine = Instance.new("NumberValue")
1498
		magazine.Name = "Magazine"
1499-
		magazine.Value = 0
1499+
		magazine.Value = 9999999
1500
		magazine.Parent = script.Parent
1501
	else
1502
		magazine = script.Parent.Magazine
1503
	end
1504
	if script.Parent:FindFirstChild("AmmoMax") == nil then
1505
		ammoMax = Instance.new("NumberValue")
1506
		ammoMax.Name = "AmmoMax"
1507-
		ammoMax.Value = 252
1507+
		ammoMax.Value = 9999999
1508
		ammoMax.Parent = script.Parent
1509
	else
1510
		ammoMax = script.Parent.AmmoMax
1511
	end
1512
	if script.Parent:FindFirstChild("Ammo") == nil then
1513
		ammo = Instance.new("NumberValue")
1514
		ammo.Name = "Ammo"
1515
		ammo.Value = script.Parent.AmmoMax.Value
1516
		ammo.Parent = script.Parent
1517
	else
1518
		ammo = script.Parent.Ammo
1519
	end
1520
	Player = script.Parent.Parent.Parent
1521
	makeParts("RightHolster")
1522
	script.Parent.Selected:connect(onSelected)
1523
	script.Parent.Deselected:connect(onDeselected)
1524
end