View difference between Paste ID: HXXhuagF and rya9PwUp
SHOW: | | - or go back to the newest paste.
1
2
3
--[[
4
Tf2 Engineer Class	
5
--------------------
6
Script by: 123jl123
7
---------------------	
8
Sentry by: Madiik
9
-- ]]
10
 
11
12
local plr = game:service'Players'.LocalPlayer
13
local char = plr.Character
14
local mouse = plr:GetMouse()
15
local humanoid = char:findFirstChild("Humanoid")
16
local torso = char:findFirstChild("Torso")
17
local head = char.Head
18
local ra = char:findFirstChild("Right Arm")
19
local la = char:findFirstChild("Left Arm")
20
local rl = char:findFirstChild("Right Leg")
21
local ll = char:findFirstChild("Left Leg")
22
local rs = torso:findFirstChild("Right Shoulder")
23
local ls = torso:findFirstChild("Left Shoulder")
24
local rh = torso:findFirstChild("Right Hip")
25
local lh = torso:findFirstChild("Left Hip")
26
local neck = torso:findFirstChild("Neck")
27
local rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
28
local rootpart = char:findFirstChild("HumanoidRootPart")
29
local camera = workspace.CurrentCamera
30
local anim = char:findFirstChild("Animate")
31
DA = false
32
NoSentry = true
33
maincolor = game.Players.LocalPlayer.Character.Torso.BrickColor.Name
34
secondcolor = "Really black"
35
WSHM = {'10209908','10209905','10209905','10209908'}
36
WSH = WSHM[math.random(1,#WSHM)]	
37
wait(1 / 60)
38
Effects = { }
39
local Player = game.Players.localPlayer
40
local Character = Player.Character
41
local Humanoid = Character.Humanoid
42
local mouse = Player:GetMouse()
43
local LeftArm = Character["Left Arm"]
44
local RightArm = Character["Right Arm"]
45
local LeftLeg = Character["Left Leg"]
46
local RightLeg = Character["Right Leg"]
47
local Head = Character.Head
48
local Torso = Character.Torso
49
local cam = game.Workspace.CurrentCamera
50
local RootPart = Character.HumanoidRootPart
51
local RootJoint = RootPart.RootJoint
52
local equipped = false
53
local attack = false
54
local Anim = 'Idle'
55
local idle = 0
56
local attacktype = 1
57
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
58
local velocity = RootPart.Velocity.y
59
local sine = 0
60
local change = 1
61
local grabbed = false
62
local cn = CFrame.new
63
local mr = math.rad
64
local angles = CFrame.Angles
65
local ud = UDim2.new
66
local c3 = Color3.new
67
local slashDamage = 15
68
trans = 1
69
for i,v in pairs(char:GetChildren()) do if v:IsA("Accessory") then v:Remove() end end
70
for i,v in pairs(char:GetChildren()) do if v:IsA("Hat") then v:Remove() end end
71
Wep = 1
72
equippedgun2 = false
73
74
75
76
77
78
79
80
81
82
83
--SB Plasma Shotgun 2013
84
85
--madiik's plasma shottie
86
87
--variables
88
89
90
91
--some more variables
92
93
local spread = 1
94
-- end of some more variables
95
96
local sound = Instance.new("Sound",head)
97
sound.SoundId = "http://www.roblox.com/asset?id=10209842"
98
sound.Volume = 2
99
sound.Pitch = 1
100
101
	
102
103
104
105
106
107
local sound2 = Instance.new("Sound",head)
108
sound2.SoundId = "http://www.roblox.com/asset?id=10209881"
109
sound2.Volume = 1
110
sound2.Pitch = 1
111
112
113
114
115
116
117
118
function attach(weld, part0, part1)
119
weld.Part0 = part0
120
weld.Part1 = part1
121
end
122
123
124
125
126
127
128
129
130
131
--create func
132
function part(parent, size, color, formfactor, collide, transparency)
133
if transparency == nil then transparency = 0 end
134
if collide == nil then collide = false end
135
if formfactor == nil then formfactor = Enum.FormFactor.Custom end
136
local p=Instance.new("Part", parent)
137
p.FormFactor=formfactor
138
p.CanCollide=false
139
p.Size=size
140
p.Locked=true
141
p.Transparency=transparency
142
p.Position=torso.Position
143
p.BrickColor=color
144
p.FrontSurface="SmoothNoOutlines" 
145
p.BackSurface="SmoothNoOutlines" 
146
p.LeftSurface="SmoothNoOutlines" 
147
p.BottomSurface="SmoothNoOutlines" 
148
p.TopSurface="SmoothNoOutlines" 
149
p.RightSurface="SmoothNoOutlines" 
150
return p
151
end
152
function wedge(parent, size, color, formfactor, collide, transparency)
153
154
if transparency == nil then transparency = 0 end
155
if collide == nil then collide = false end
156
if formfactor == nil then formfactor = Enum.FormFactor.Custom end
157
158
local p=Instance.new("WedgePart", parent)
159
p.FormFactor=formfactor
160
p.CanCollide=false
161
p.Size=size
162
p.Locked=true
163
p.Position = torso.Position
164
p.BrickColor=color
165
p.FrontSurface="SmoothNoOutlines" 
166
p.BackSurface="SmoothNoOutlines" 
167
p.LeftSurface="SmoothNoOutlines" 
168
p.BottomSurface="SmoothNoOutlines" 
169
p.TopSurface="SmoothNoOutlines" 
170
p.RightSurface="SmoothNoOutlines"
171
return p
172
end 
173
function weld(part0, part1, c0, parent, c1)
174
if parent == nil then parent = gun end
175
if c1 == nil then c1 = CFrame.new() end
176
177
local wel=Instance.new("Weld", parent)
178
wel.Part0 = part0
179
wel.Part1 = part1
180
wel.C0 = c0
181
wel.C1 = c1
182
return wel
183
end
184
function specialmesh(parent, meshType, scale, meshId)
185
local mesh = Instance.new("SpecialMesh", parent)
186
mesh.Scale = scale
187
mesh.MeshType = meshType
188
mesh.MeshId = meshId
189
return mesh
190
end
191
192
193
--some ray functi0n
194
195
function rayCast2(speed, gravity, from)
196
coroutine.wrap(function()        
197
if char.Humanoid.Health == 0 then return end
198
local rayP = Instance.new("Part")
199
rayP.Name = "rayP"
200
rayP.BrickColor = BrickColor.new("New Yeller")
201
rayP.Material = 'Neon'
202
rayP.Anchored = true
203
rayP.CanCollide = false
204
rayP.Locked = true
205
rayP.TopSurface = Enum.SurfaceType.Smooth
206
rayP.BottomSurface = Enum.SurfaceType.Smooth
207
rayP.formFactor = Enum.FormFactor.Custom
208
rayP.Size = Vector3.new(0.2, 0.2, 0.2)
209
210
211
212
Instance.new("BlockMesh", rayP).Scale = Vector3.new(0.2, 0.2, 10)
213
214
215
216
217
218
219
220
221
local bulletposition = from.Position + Vector3.new(0, 0.3, 0)
222
223
local bulletvelocity = (Vector3.new(math.random(-spread*4,spread*4), math.random(-spread*4,spread*4), math.random(-spread*4,spread*4)))+( plr:GetMouse().Hit.p - bulletposition).unit*speed
224
local bulletlastposition = bulletposition
225
226
227
228
229
coroutine.resume(coroutine.create(function()
230
while true do
231
local dt = wait()
232
bulletlastposition = bulletposition
233
bulletvelocity = bulletvelocity + (Vector3.new(0, -14.81*gravity, 0)*dt)
234
bulletposition = bulletposition + (bulletvelocity*dt)
235
236
local ray = Ray.new(bulletlastposition, (bulletposition - bulletlastposition))
237
238
local hit, hitposition = workspace:FindPartOnRayWithIgnoreList( ray, { char, rayP, TrailPart} )
239
240
if (torso.Position - rayP.Position).magnitude > 540 then
241
rayP:Destroy()
242
break
243
end
244
245
246
if hit then
247
local damage = math.random(10, 20)
248
if hit.Parent:findFirstChild("Humanoid") ~= nil then
249
hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - damage
250
end
251
if hit.Parent:IsA("Hat") and hit.Parent.Parent:findFirstChild("Humanoid") ~= nil then
252
hit.Parent.Parent.Humanoid.Health = hit.Parent.Parent.Humanoid.Health - damage        
253
end
254
bulletposition = hitposition
255
rayP.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity)
256
rayP:Destroy()
257
break
258
end
259
rayP.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity)
260
rayP.Parent = workspace
261
end
262
end))
263
end)()
264
end
265
266
267
268
269
270
271
272
--function attach(weld, part0, part1)
273
--weld.Part0 = part0
274
--weld.Part1 = part1
275
--end
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
TmRed = false
304
TmBlue = false
305
TeamColor = BrickColor.new("Really Black")
306
307
	local BC = char["Body Colors"]
308
	BC.HeadColor = BrickColor.new("Pastel brown")
309
	BC.LeftArmColor = BrickColor.new("Pastel brown")
310
	BC.LeftLegColor = BrickColor.new("Pastel brown")
311
	BC.RightArmColor = BrickColor.new("Pastel brown")
312
	BC.RightLegColor = BrickColor.new("Pastel brown")
313
	BC.TorsoColor = BrickColor.new("Pastel brown")
314
	
315
	
316
New = function(Object, Parent, Name, Data)
317
	local Object = Instance.new(Object)
318
	for Index, Value in pairs(Data or {}) do
319
		Object[Index] = Value
320
	end
321
	Object.Parent = Parent
322
	Object.Name = Name
323
	return Object
324
end
325
local AddInstance = function(Object, ...)
326
local Obj = Instance.new(Object)
327
for i,v in next,(...) do
328
Obj[i] = v
329
end
330
return Obj
331
end	
332
	
333
334
335
336
337
Team=function()
338
	
339
local r=math.random(1,2)
340
if r==1 then
341
print('RED')	
342
script.Name = "TeamRed"
343
TmRed = true
344
for i,v in pairs(char:GetChildren()) do if v:IsA("Shirt") then v:Remove() end end
345
for i,v in pairs(char:GetChildren()) do if v:IsA("Pants") then v:Remove() end end
346
wait()shirt = Instance.new("Shirt", char)
347
shirt.Name = "Shirt"
348
pants = Instance.new("Pants", char)
349
pants.Name = "Pants"
350
char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=69232230"
351
char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=69232580" 
352
TeamColor = BrickColor.new("Bright red")
353
end
354
355
if r==2 then
356
print('BLUE')
357
TmBlue = true
358
script.Name = "TeamBlue"
359
for i,v in pairs(char:GetChildren()) do if v:IsA("Shirt") then v:Remove() end end
360
for i,v in pairs(char:GetChildren()) do if v:IsA("Pants") then v:Remove() end end
361
wait()shirt = Instance.new("Shirt", char)
362
shirt.Name = "Shirt"
363
pants = Instance.new("Pants", char)
364
pants.Name = "Pants"
365
char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=69232247"
366
char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=69232594"
367
TeamColor = BrickColor.new("Bright blue")
368
end
369
print(''..r)
370
end
371
372
Team()
373
374
375
	
376
local MusThingHat = AddInstance("Part",{
377
			Parent = head,
378
			CFrame = head.CFrame,
379
			formFactor = "Symmetric",
380
			Size = Vector3.new(1, 1, 1),
381
			CanCollide = false,
382
			TopSurface = "Smooth",
383
			BottomSurface = "Smooth",
384
			Locked = true,
385
			BrickColor=BrickColor.new("Br. yellowish orange"),
386
			Transparency = 1,
387
		})
388
		local Weld = AddInstance("Weld",{
389
			Parent = MusThingHat,
390
			Part0 = head,
391
			C0 = CFrame.new(0,0.5,0)*CFrame.Angles(0,0,0),
392
			Part1 = MusThingHat,
393
		})
394
		local Mesh = AddInstance("SpecialMesh",{
395
			Parent = MusThingHat,
396
397
			Scale = Vector3.new(.1,0,.1),
398
399
		})
400
	
401
local Reaper = AddInstance("Part",{
402
			Parent = head,
403
			CFrame = head.CFrame,
404
			formFactor = "Symmetric",
405
			Size = Vector3.new(1, 1, 1),
406
			CanCollide = false,
407
			TopSurface = "Smooth",
408
			BottomSurface = "Smooth",
409
			Locked = true,
410
			BrickColor=BrickColor.new("Br. yellowish orange"),
411
		})
412
		local Weld = AddInstance("Weld",{
413
			Parent = Reaper,
414
			Part0 = head,
415
			C0 = CFrame.new(-.04,.7,-.1)*CFrame.Angles(0,0,.08),
416
			Part1 = Reaper,
417
		})
418
		local Mesh = AddInstance("SpecialMesh",{
419
			Parent = Reaper,
420
			MeshId = "rbxassetid://1073659",
421
			Scale = Vector3.new(1.06,1.05,1.06),
422
			VertexColor = Vector3.new(1,1,1),
423
		})
424
425
local Helmpart2 = AddInstance("Part",{
426
			Parent = head,
427
			CFrame = head.CFrame,
428
			formFactor = "Symmetric",
429
			Size = Vector3.new(1, 1, 1),
430
			CanCollide = false,
431
			TopSurface = "Smooth",
432
			BottomSurface = "Smooth",
433
			Locked = true,
434
			BrickColor=BrickColor.new("White"),
435
		})
436
		local Weld = AddInstance("Weld",{
437
			Parent = Helmpart2,
438
			Part0 = head,
439
			C0 = CFrame.new(.01,.4,.05)*CFrame.Angles(.1,0,-.02),
440
			Part1 = Helmpart2,
441
		})
442
		local Mesh = AddInstance("SpecialMesh",{
443
			Parent = Helmpart2,
444
			Scale = Vector3.new(1.28,.48,1.28),
445
			VertexColor = Vector3.new(1,1,1),
446
		})
447
448
449
local Glassespart2 = AddInstance("Part",{
450
			Parent = head,
451
			CFrame = head.CFrame,
452
			formFactor = "Symmetric",
453
			Size = Vector3.new(1, 1, 1),
454
			CanCollide = false,
455
			TopSurface = "Smooth",
456
			BottomSurface = "Smooth",
457
			Locked = true,
458
			BrickColor=BrickColor.new("Really black"),
459
		})
460
		local Weld = AddInstance("Weld",{
461
			Parent = Glassespart2,
462
			Part0 = head,
463
			C0 = CFrame.new(0,.35,0)*CFrame.Angles(0,0,0),
464
			Part1 = Glassespart2,
465
		})
466
		local Mesh = AddInstance("SpecialMesh",{
467
			Parent = Glassespart2,
468
			Scale = Vector3.new(1.27,.5,1.27),
469
			VertexColor = Vector3.new(1,1,1),
470
		})
471
472
473
474
475
476
477
478
479
local Reaper3 = AddInstance("Part",{
480
			Parent = head,
481
			CFrame = head.CFrame,
482
			formFactor = "Symmetric",
483
			Size = Vector3.new(1, 1, 1),
484
			CanCollide = false,
485
			TopSurface = "Smooth",
486
			BottomSurface = "Smooth",
487
			Locked = true,
488
			BrickColor=BrickColor.new("Gold"),
489
		})
490
		local Weld = AddInstance("Weld",{
491
			Parent = Reaper3,
492
			Part0 = head,
493
			C0 = CFrame.new(0,.3,-0.02)*CFrame.Angles(-.1,0,0),
494
			Part1 = Reaper3,
495
		})
496
		local Mesh = AddInstance("SpecialMesh",{
497
			Parent = Reaper3,
498
			MeshId = "rbxassetid://19380122",
499
			TextureId = "rbxassetid://19380117",
500
			Scale = Vector3.new(.9,1,1),
501
			VertexColor = Vector3.new(1,1,1),
502
		})
503
			
504
			
505
			
506
			
507
			
508
			
509
			
510
local Reaper4 = AddInstance("Part",{
511
			Parent = RightArm,		
512
			CFrame = RightArm.CFrame,
513
			formFactor = "Symmetric",
514
			Size = Vector3.new(0.1, 0.5, 3),
515
			CanCollide = false,
516
			TopSurface = "Smooth",
517
			BottomSurface = "Smooth",
518
			Locked = true,
519
			Transparency = 0
520
		})
521
		local Weld = AddInstance("Weld",{
522
			Parent = Reaper4,
523
			Part0 = RightArm,
524
			C0 = CFrame.new(-0.35,-1.8,-0.4)*CFrame.Angles(4.7,3.4,0),
525
			Part1 = Reaper4,
526
		})
527
		local Mesh = AddInstance("SpecialMesh",{
528
			Parent = Reaper4,
529
			MeshId = "rbxassetid://470533002",
530
			TextureId = "rbxassetid://470533004",
531
			Scale = Vector3.new(.03,.03,.03),
532
			VertexColor = Vector3.new(1,1,1),
533
		})				
534
			
535
	local GunFire = AddInstance("Part",{
536
			Parent = RightArm,		
537
			CFrame = RightArm.CFrame,
538
			formFactor = "Symmetric",
539
			Size = Vector3.new(0.1, 0.1, 0.1),
540
			CanCollide = false,
541
			TopSurface = "Smooth",
542
			BottomSurface = "Smooth",
543
			Locked = true,
544
			Transparency = 1
545
		})
546
		local Weld = AddInstance("Weld",{
547
			Parent = GunFire,
548
			Part0 = RightArm,
549
			C0 = CFrame.new(-0.8,-3.5,-0.7)*CFrame.Angles(4.7,3.4,0),
550
			Part1 = GunFire,
551
		})
552
		
553
			
554
	        local GunParticle = Instance.new("ParticleEmitter", GunFire);
555
        GunParticle.VelocitySpread = 60;
556
        GunParticle.LightEmission = 200;
557
558
        local Colors2 = {Color3.new(1,.5,0), Color3.new(1,.7,0), Color3.new(1,.9,0);}		
559
		        GunParticle.Size = NumberSequence.new(.05,.07);
560
561
        GunParticle.Color = ColorSequence.new(Colors2[math.random(#Colors2)]);
562
        GunParticle.Texture = "rbxassetid://252350680";
563
        GunParticle.RotSpeed = NumberRange.new(10,70);
564
        GunParticle.Rate = 600;
565
        GunParticle.Speed = NumberRange.new(15);
566
        GunParticle.Transparency = NumberSequence.new(0,1);
567
        GunParticle.Lifetime = NumberRange.new(.01,.2);
568
GunParticle.EmissionDirection = 'Back'
569
GunParticle.Enabled = false	
570
			
571
			
572
			
573
			
574
			
575
			
576
			
577
			
578
local Reaper5 = AddInstance("Part",{
579
			Parent = RightArm,		
580
			CFrame = RightArm.CFrame,
581
			formFactor = "Symmetric",
582
			Size = Vector3.new(0.1, 0.5, 3),
583
			CanCollide = false,
584
			TopSurface = "Smooth",
585
			BottomSurface = "Smooth",
586
			Locked = true,
587
			Transparency = 1
588
		})
589
		local Weld = AddInstance("Weld",{
590
			Parent = Reaper5,
591
			Part0 = RightArm,
592
			C0 = CFrame.new(-.1,-0.75,-.7)*CFrame.Angles(1.5,0,3),
593
			Part1 = Reaper5,
594
		})
595
		local Mesh = AddInstance("SpecialMesh",{
596
			Parent = Reaper5,
597
			MeshId = "rbxassetid://431003868",
598
			TextureId = "rbxassetid://430627740",
599
			Scale = Vector3.new(1.93,1.99,1.99),
600
			VertexColor = Vector3.new(1,1,1),
601
		})	
602
	
603
	
604
	
605
local Arms = AddInstance("Model",{
606
			Parent = cam,	
607
			Name = "Arms",	
608
		
609
610
		})
611
612
local Arm1 = AddInstance("Part",{
613
			Parent = Arms,	
614
			Name = "RightArm",	
615
			CFrame = RightArm.CFrame,
616
			formFactor = "Symmetric",
617
			Size = Vector3.new(.85,1.85,.85),
618
			CanCollide = false,
619
			Material = "SmoothPlastic",
620
			TopSurface = "Smooth",
621
			BottomSurface = "Smooth",
622
			Locked = true,
623
			BrickColor=BrickColor.new("Pastel brown"),
624
			Transparency = 0
625
		})
626
		local Weld = AddInstance("Weld",{
627
			Parent = Arm1,
628
			Part0 = RightArm,
629
			C0 = CFrame.new(0,0,0)*CFrame.Angles(0,0,0),
630
			Part1 = Arm1,
631
		})
632
633
local Arm2 = AddInstance("Part",{
634
			Parent = Arms,	
635
			Name = "LeftArm",	
636
			CFrame = LeftArm.CFrame,
637
			formFactor = "Symmetric",
638
			Size = Vector3.new(.85,1.85,.85),
639
			CanCollide = false,
640
			Material = "SmoothPlastic",
641
			TopSurface = "Smooth",
642
			BottomSurface = "Smooth",
643
			Locked = true,
644
			BrickColor=BrickColor.new("Pastel brown"),
645
			Transparency = 0
646
		})
647
		local Weld = AddInstance("Weld",{
648
			Parent = Arm2,
649
			Part0 = LeftArm,
650
			C0 = CFrame.new(0,0,0)*CFrame.Angles(0,0,0),
651
			Part1 = Arm2,
652
		})
653
		
654
		
655
		
656
		
657
		local Arm3 = AddInstance("Part",{
658
			Parent = Arms,	
659
			Name = "RightArm",	
660
			CFrame = RightArm.CFrame,
661
			formFactor = "Symmetric",
662
			Size = Vector3.new(.9,.9,.9),
663
			CanCollide = false,
664
			Material = "SmoothPlastic",
665
			TopSurface = "Smooth",
666
			BottomSurface = "Smooth",
667
			Locked = true,
668
			BrickColor=TeamColor,
669
			Transparency = 0
670
		})
671
		local Weld = AddInstance("Weld",{
672
			Parent = Arm3,
673
			Part0 = RightArm,
674
			C0 = CFrame.new(0,.5,0)*CFrame.Angles(0,0,0),
675
			Part1 = Arm3,
676
		})
677
678
local Arm4 = AddInstance("Part",{
679
			Parent = Arms,	
680
			Name = "LeftArm",	
681
			CFrame = LeftArm.CFrame,
682
			formFactor = "Symmetric",
683
			Size = Vector3.new(.9,.9,.9),
684
			CanCollide = false,
685
			Material = "SmoothPlastic",
686
			TopSurface = "Smooth",
687
			BottomSurface = "Smooth",
688
			Locked = true,
689
			BrickColor=TeamColor,
690
			Transparency = 0
691
		})
692
		local Weld = AddInstance("Weld",{
693
			Parent = Arm4,
694
			Part0 = LeftArm,
695
			C0 = CFrame.new(0,.5,0)*CFrame.Angles(0,0,0),
696
			Part1 = Arm4,
697
		})
698
			local Arm5 = AddInstance("Part",{
699
			Parent = Arms,	
700
			Name = "RightArm",	
701
			CFrame = RightArm.CFrame,
702
			formFactor = "Symmetric",
703
			Size = Vector3.new(.86,.8,.86),
704
			CanCollide = false,
705
			Material = "SmoothPlastic",
706
			TopSurface = "Smooth",
707
			BottomSurface = "Smooth",
708
			Locked = true,
709
			BrickColor=BrickColor.new("Br. yellowish orange"),
710
			Transparency = 0
711
		})
712
		local Weld = AddInstance("Weld",{
713
			Parent = Arm5,
714
			Part0 = RightArm,
715
			C0 = CFrame.new(0,-.55,0)*CFrame.Angles(0,0,0),
716
			Part1 = Arm5,
717
		})
718
719
local Reaper6 = AddInstance("Part",{
720
			Parent = Arms,		
721
			CFrame = RightArm.CFrame,
722
			formFactor = "Symmetric",
723
			Size = Vector3.new(0.1, 0.1, .1),
724
			CanCollide = false,
725
			TopSurface = "Smooth",
726
			BottomSurface = "Smooth",
727
			Locked = true,
728
			Transparency = 1
729
		})
730
		local Weld = AddInstance("Weld",{
731
			Parent = Reaper6,
732
			Part0 = RightArm,
733
			C0 = CFrame.new(-0.35,-1.8,-0.4)*CFrame.Angles(4.7,3.4,0),
734
			Part1 = Reaper6,
735
		})
736
		local Mesh = AddInstance("SpecialMesh",{
737
			Parent = Reaper6,
738
			MeshId = "rbxassetid://470533002",
739
			TextureId = "rbxassetid://470533004",
740
			Scale = Vector3.new(.029,.029,.029),
741
			VertexColor = Vector3.new(1,1,1),
742
		})				
743
			
744
			
745
			
746
			
747
			
748
			
749
			
750
			
751
			
752
			
753
			
754
			
755
			
756
local Reaper7 = AddInstance("Part",{
757
			Parent = Arms,		
758
			CFrame = RightArm.CFrame,
759
			formFactor = "Symmetric",
760
			Size = Vector3.new(0.1, 0.5, 3),
761
			CanCollide = false,
762
			TopSurface = "Smooth",
763
			BottomSurface = "Smooth",
764
			Locked = true,
765
			Transparency = 1
766
		})
767
		local Weld = AddInstance("Weld",{
768
			Parent = Reaper7,
769
			Part0 = RightArm,
770
			C0 = CFrame.new(-.1,-0.75,-.7)*CFrame.Angles(1.5,0,3),
771
			Part1 = Reaper7,
772
		})
773
		local Mesh = AddInstance("SpecialMesh",{
774
			Parent = Reaper7,
775
			MeshId = "rbxassetid://431003868",
776
			TextureId = "rbxassetid://430627740",
777
			Scale = Vector3.new(1.9,1.98,1.98),
778
			VertexColor = Vector3.new(1,1,1),
779
		})	
780
781
782
head.face.Texture = "http://www.roblox.com/asset/?id=156600391"
783
local NeckCF = cn(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
784
Humanoid.Animator:Destroy()
785
Character.Animate:Destroy()
786
787
local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
788
local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
789
local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
790
791
792
RSH, LSH = nil, nil 
793
794
RW = Instance.new("Weld") 
795
LW = Instance.new("Weld")
796
797
RH = Torso["Right Hip"]
798
LH = Torso["Left Hip"]
799
800
RSH = Torso["Right Shoulder"] 
801
LSH = Torso["Left Shoulder"] 
802
803
RSH.Parent = nil 
804
LSH.Parent = nil 
805
806
RW.Name = "RW"
807
RW.Part0 = Torso 
808
RW.C0 = cn(1.5, 0.5, 0)
809
RW.C1 = cn(0, 0.5, 0) 
810
RW.Part1 = RightArm
811
RW.Parent = Torso 
812
813
LW.Name = "LW"
814
LW.Part0 = Torso 
815
LW.C0 = cn(-1.5, 0.5, 0)
816
LW.C1 = cn(0, 0.5, 0) 
817
LW.Part1 = LeftArm
818
LW.Parent = Torso 
819
820
function clerp(a, b, t) 
821
	local qa = {
822
		QuaternionFromCFrame(a)
823
	}
824
	local qb = {
825
		QuaternionFromCFrame(b)
826
	} 
827
	local ax, ay, az = a.x, a.y, a.z 
828
	local bx, by, bz = b.x, b.y, b.z
829
	local _t = 1 - t
830
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) 
831
end 
832
 
833
function QuaternionFromCFrame(cf) 
834
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() 
835
	local trace = m00 + m11 + m22 
836
	if trace > 0 then 
837
		local s = math.sqrt(1 + trace) 
838
		local recip = 0.5 / s 
839
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 
840
	else 
841
		local i = 0 
842
		if m11 > m00 then
843
			i = 1
844
		end
845
		if m22 > (i == 0 and m00 or m11) then 
846
			i = 2 
847
		end 
848
		if i == 0 then 
849
			local s = math.sqrt(m00 - m11 - m22 + 1) 
850
			local recip = 0.5 / s 
851
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip 
852
		elseif i == 1 then 
853
			local s = math.sqrt(m11 - m22 - m00 + 1) 
854
			local recip = 0.5 / s 
855
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip 
856
		elseif i == 2 then 
857
			local s = math.sqrt(m22 - m00 - m11 + 1) 
858
			local recip = 0.5 / s
859
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip 
860
		end 
861
	end 
862
end
863
 
864
function QuaternionToCFrame(px, py, pz, x, y, z, w) 
865
	local xs, ys, zs = x + x, y + y, z + z 
866
	local wx, wy, wz = w * xs, w * ys, w * zs 
867
	local xx = x * xs 
868
	local xy = x * ys 
869
	local xz = x * zs 
870
	local yy = y * ys 
871
	local yz = y * zs 
872
	local zz = z * zs 
873
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy)) 
874
end
875
 
876
function QuaternionSlerp(a, b, t) 
877
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] 
878
	local startInterp, finishInterp; 
879
	if cosTheta >= 0.0001 then 
880
		if (1 - cosTheta) > 0.0001 then 
881
			local theta = math.acos(cosTheta) 
882
			local invSinTheta = 1 / math.sin(theta) 
883
			startInterp = math.sin((1 - t) * theta) * invSinTheta 
884
			finishInterp = math.sin(t * theta) * invSinTheta  
885
		else 
886
			startInterp = 1 - t 
887
			finishInterp = t 
888
		end 
889
	else 
890
		if (1 + cosTheta) > 0.0001 then 
891
			local theta = math.acos(-cosTheta) 
892
			local invSinTheta = 1 / math.sin(theta) 
893
			startInterp = math.sin((t - 1) * theta) * invSinTheta 
894
			finishInterp = math.sin(t * theta) * invSinTheta 
895
		else 
896
			startInterp = t - 1 
897
			finishInterp = t 
898
		end 
899
	end 
900
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp 
901
end
902
903
function swait(num)
904
	if num == 0 or num == nil then
905
		game:service'RunService'.RenderStepped:wait(0)
906
	else
907
		for i = 0, num do
908
			game:service'RunService'.RenderStepped:wait(0)
909
		end
910
	end
911
end
912
913
local RbxUtility = LoadLibrary("RbxUtility")
914
local Create = RbxUtility.Create
915
916
function RemoveOutlines(part)
917
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
918
end
919
	
920
function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
921
	local Part = Create("Part"){
922
		formFactor = FormFactor,
923
		Parent = Parent,
924
		Reflectance = Reflectance,
925
		Transparency = Transparency,
926
		CanCollide = false,
927
		Locked = true,
928
		BrickColor = BrickColor.new(tostring(BColor)),
929
		Name = Name,
930
		Size = Size,
931
		Material = Material,
932
	}
933
	RemoveOutlines(Part)
934
	return Part
935
end
936
	
937
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
938
	local Msh = Create(Mesh){
939
		Parent = Part,
940
		Offset = OffSet,
941
		Scale = Scale,
942
	}
943
	if Mesh == "SpecialMesh" then
944
		Msh.MeshType = MeshType
945
		Msh.MeshId = MeshId
946
	end
947
	return Msh
948
end
949
	
950
function CreateWeld(Parent, Part0, Part1, C0, C1)
951
	local Weld = Create("Weld"){
952
		Parent = Parent,
953
		Part0 = Part0,
954
		Part1 = Part1,
955
		C0 = C0,
956
		C1 = C1,
957
	}
958
	return Weld
959
end
960
961
function rayCast(Position, Direction, Range, Ignore)
962
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) 
963
end 
964
965
function CreateSound(id, par, vol, pit) 
966
	coroutine.resume(coroutine.create(function()
967
		local sou = Instance.new("Sound", par or workspace)
968
		sou.Volume = vol
969
		sou.Pitch = pit or 1
970
		sou.SoundId = id
971
		wait() 
972
		sou:play() 
973
		game:GetService("Debris"):AddItem(sou, 6)
974
	end))
975
end
976
977
local function getclosest(obj, distance)
978
	local last, lastx = distance + 1
979
	for i, v in pairs(workspace:GetChildren()) do
980
		if v:IsA'Model' and v ~= Character and v:findFirstChild('Humanoid') and v:findFirstChild('Torso') and v:findFirstChild('Humanoid').Health > 0 then
981
			local t = v.Torso
982
			local dist = (t.Position - obj.Position).magnitude
983
			if dist <= distance then
984
				if dist < last then
985
					last = dist
986
					lastx = v
987
				end
988
			end
989
		end
990
	end
991
	return lastx
992
end
993
994
function Damage(hit, damage, cooldown, Color1, Color2, HSound, HPitch)
995
	for i, v in pairs(hit:GetChildren()) do 
996
		if v:IsA("Humanoid") and hit.Name ~= Character.Name then
997
			local find = v:FindFirstChild("Hitz")
998
			if not find then
999
				if v.Parent:findFirstChild("Head") then
1000
					local BillG = Create("BillboardGui"){
1001
						Parent = v.Parent.Head,
1002
						Size = UDim2.new(1, 0, 1, 0),
1003
						Adornee = v.Parent.Head,
1004
						StudsOffset = Vector3.new(math.random(-3, 3), math.random(3, 5), math.random(-3, 3)),
1005
					}
1006
					local TL = Create("TextLabel"){
1007
						Parent = BillG,
1008
						Size = UDim2.new(3, 3, 3, 3),
1009
						BackgroundTransparency = 1,
1010
						Text = tostring(damage).."-",
1011
						TextColor3 = Color1.Color,
1012
						TextStrokeColor3 = Color2.Color,
1013
						TextStrokeTransparency = 0,
1014
						TextXAlignment = Enum.TextXAlignment.Center,
1015
						TextYAlignment = Enum.TextYAlignment.Center,
1016
						FontSize = Enum.FontSize.Size18,
1017
						Font = "ArialBold",
1018
					}
1019
					coroutine.resume(coroutine.create(function()
1020
						wait(1)
1021
						for i = 0, 1, .1 do
1022
							wait(.1)
1023
							BillG.StudsOffset = BillG.StudsOffset + Vector3.new(0, .1, 0)
1024
						end
1025
						BillG:Destroy()
1026
					end))
1027
				end
1028
				v.Health = v.Health - damage
1029
				local bool = Create("BoolValue"){
1030
					Parent = v,
1031
					Name = 'Hitz',
1032
				}
1033
				if HSound ~= nil and HPitch ~= nil then
1034
					CreateSound(HSound, hit, 1, HPitch) 
1035
				end
1036
				game:GetService("Debris"):AddItem(bool, cooldown)
1037
			end
1038
		end
1039
	end
1040
end
1041
1042
1043
function BlockEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
1044
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1045
	prt.Anchored = true
1046
	prt.CFrame = cframe
1047
	local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1048
	game:GetService("Debris"):AddItem(prt, 10)
1049
	if Type == 1 or Type == nil then
1050
		table.insert(Effects, {
1051
			prt,
1052
			"Block1",
1053
			delay,
1054
			x3,
1055
			y3,
1056
			z3,
1057
			msh
1058
		})
1059
	elseif Type == 2 then
1060
		table.insert(Effects, {
1061
			prt,
1062
			"Block2",
1063
			delay,
1064
			x3,
1065
			y3,
1066
			z3,
1067
			msh
1068
		})
1069
	end
1070
end
1071
1072
function SphereEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1073
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1074
	prt.Anchored = true
1075
	prt.CFrame = cframe
1076
	local msh = CreateMesh("SpecialMesh", prt, "Sphere", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1077
	game:GetService("Debris"):AddItem(prt, 10)
1078
	table.insert(Effects, {
1079
		prt,
1080
		"Cylinder",
1081
		delay,
1082
		x3,
1083
		y3,
1084
		z3,
1085
		msh
1086
	})
1087
end
1088
1089
function RingEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1090
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
1091
	prt.Anchored = true
1092
	prt.CFrame = cframe * CFrame.new(x1, y1, z1)
1093
	local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1094
	game:GetService("Debris"):AddItem(prt, 10)
1095
	table.insert(Effects, {
1096
		prt,
1097
		"Cylinder",
1098
		delay,
1099
		x3,
1100
		y3,
1101
		z3,
1102
		msh
1103
	})
1104
end
1105
1106
function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1107
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1108
	prt.Anchored = true
1109
	prt.CFrame = cframe
1110
	local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1111
	game:GetService("Debris"):AddItem(prt, 10)
1112
	table.insert(Effects, {
1113
		prt,
1114
		"Cylinder",
1115
		delay,
1116
		x3,
1117
		y3,
1118
		z3,
1119
		msh
1120
	})
1121
end
1122
1123
function WaveEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1124
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1125
	prt.Anchored = true
1126
	prt.CFrame = cframe
1127
	local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1128
	game:GetService("Debris"):AddItem(prt, 10)
1129
	table.insert(Effects, {
1130
		prt,
1131
		"Cylinder",
1132
		delay,
1133
		x3,
1134
		y3,
1135
		z3,
1136
		msh
1137
	})
1138
end
1139
1140
function SpecialEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1141
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1142
	prt.Anchored = true
1143
	prt.CFrame = cframe
1144
	local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "24388358", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1145
	game:GetService("Debris"):AddItem(prt, 10)
1146
	table.insert(Effects, {
1147
		prt,
1148
		"Cylinder",
1149
		delay,
1150
		x3,
1151
		y3,
1152
		z3,
1153
		msh
1154
	})
1155
end
1156
1157
function BreakEffect(brickcolor, cframe, x1, y1, z1)
1158
	local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
1159
	prt.Anchored = true
1160
	prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1161
	local msh = CreateMesh("SpecialMesh", prt, "Sphere", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1162
	local num = math.random(10, 50) / 1000
1163
	game:GetService("Debris"):AddItem(prt, 10)
1164
	table.insert(Effects, {
1165
		prt,
1166
		"Shatter",
1167
		num,
1168
		prt.CFrame,
1169
		math.random() - math.random(),
1170
		0,
1171
		math.random(50, 100) / 100
1172
	})
1173
end
1174
1175
1176
	
1177
1178
	for i = 0, 1, 0.05 do
1179
		swait()
1180
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
1181
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
1182
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(5), math.rad(0), math.rad(5)), 0.1)
1183
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-10)), 0.3)
1184
		if Torsovelocity > 2 then
1185
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-50 * math.cos(sine / 4)), math.rad(0), math.rad(4 * math.cos(sine / 4))), .2)
1186
		RH.C0 = clerp(RH.C0, cn(1, -1 + .1 * math.cos(sine / 5), 0) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
1187
		LH.C0 = clerp(LH.C0, cn(-1, -1 + .1 * math.cos(sine / 5), 0) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
1188
		elseif Torsovelocity < 1 then
1189
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(5), math.rad(0), math.rad(5)), 0.1)
1190
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
1191
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
1192
		end
1193
	end
1194
	attack = false
1195
1196
1197
1198
game:GetService'RunService'.Stepped:connect(function()
1199
	
1200
	
1201
	
1202
	if Wep == 1 then
1203
		equippedgun2 = false
1204
Reaper4.Transparency = 1	
1205
	Reaper5.Transparency = 0
1206
	Reaper6.Transparency = 1
1207
	Reaper7.Transparency = 0
1208
	end
1209
		if Wep == 2 then
1210
			equippedgun2 = true
1211
Reaper4.Transparency = 0	
1212
	Reaper5.Transparency = 1
1213
		Reaper6.Transparency = 0
1214
	Reaper7.Transparency = 1
1215
		end
1216
				if Wep == 3 then
1217
			equippedgun2 = false
1218
Reaper4.Transparency = 1	
1219
	Reaper5.Transparency = 1
1220
			Reaper6.Transparency = 1
1221
	Reaper7.Transparency = 1
1222
		end
1223
		
1224
	Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
1225
	velocity = RootPart.Velocity.y
1226
	sine = sine + change
1227
	local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
1228
	if equipped == true or equipped == false then
1229
		if RootPart.Velocity.y > 1 and hit == nil then 
1230
			Anim = "Jump"
1231
			if attack == false and Wep == 1 then
1232
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1233
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1234
					RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(30)), .1)
1235
					LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-30)), .1)
1236
					RH.C0 = clerp(RH.C0, cn(1, -.9, -.3) * RHCF * angles(math.rad(3), math.rad(0), math.rad(0)), .1)
1237
					LH.C0 = clerp(LH.C0, cn(-1, -.7, -.5) * LHCF * angles(math.rad(-3), math.rad(0), math.rad(0)), .1)
1238
			end
1239
		elseif RootPart.Velocity.y < -1 and hit == nil then 
1240
			Anim = "Fall"
1241
			if attack == false and Wep == 1 then
1242
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1243
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1244
					RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(50)), .1)
1245
					LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-50)), .1)
1246
					RH.C0 = clerp(RH.C0, cn(1, -1, -.3) * RHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1247
					LH.C0 = clerp(LH.C0, cn(-1, -.8, -.3) * LHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1248
			end
1249
		elseif Torsovelocity < 1 and hit ~= nil then
1250
			Anim = "Idle"
1251
			if attack == false and Wep == 1 then
1252
				change = 1
1253
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.1 + 0.1 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(5)), .1)
1254
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5 - 2 * math.cos(sine / 25)), math.rad(0), math.rad(-5)), .1)
1255
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5 - -.1 * math.cos(sine / 25), 0) * angles(math.rad(50), math.rad(35 - 25 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.1)
1256
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(80 + 7 * math.cos(sine / 25)), math.rad(-30), math.rad(35 - 1 * math.cos(sine / 25))), 0.1)
1257
					RH.C0 = clerp(RH.C0, cn(1, -.9 - 0.1 * math.cos(sine / 25), 0) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
1258
					LH.C0 = clerp(LH.C0, cn(-1, -.9 - 0.1 * math.cos(sine / 25), 0) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
1259
			end
1260
		elseif Torsovelocity > 2 and hit ~= nil then
1261
			Anim = "Walk"
1262
			if attack == false and Wep == 1 then
1263
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(5 * math.cos(sine / 5))), .2)
1264
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(-5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
1265
					RW.C0 = clerp(RW.C0, CFrame.new(1.2 - -.05 * math.cos(sine / 4), 0.5 - -.05 * math.cos(sine / 4), 0) * angles(math.rad(50), math.rad(57 - .1 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.1)
1266
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2 - -.05 * math.cos(sine / 4), 0.4 - -.05 * math.cos(sine / 4), -.4) * angles(math.rad(80 + 1 * math.cos(sine / 25)), math.rad(-30), math.rad(35 - 1 * math.cos(sine / 25))), 0.1)
1267
					RH.C0 = clerp(RH.C0, cn(1, -.9 + -.1 * math.cos(sine / 4),0 + -.1 * math.cos(sine / 4)) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
1268
					LH.C0 = clerp(LH.C0, cn(-1, -.9 + .1 * math.cos(sine / 4), 0 + .1 * math.cos(sine / 4)) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
1269
			end
1270
		end
1271
	end
1272
	-----------------------[Anim2]--------------------------------------------------------------------------------------------------------------------------
1273
	
1274
		if equipped == true or equipped == false then
1275
		if RootPart.Velocity.y > 1 and hit == nil then 
1276
			Anim = "Jump"
1277
			if attack == false and Wep == 2 then
1278
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1279
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1280
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.2, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
1281
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.1, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
1282
					RH.C0 = clerp(RH.C0, cn(1, -.9, -.3) * RHCF * angles(math.rad(3), math.rad(0), math.rad(0)), .1)
1283
					LH.C0 = clerp(LH.C0, cn(-1, -.7, -.5) * LHCF * angles(math.rad(-3), math.rad(0), math.rad(0)), .1)
1284
			end
1285
			
1286
		elseif RootPart.Velocity.y < -1 and hit == nil then 
1287
			Anim = "Fall"
1288
			if attack == false and Wep == 2 then
1289
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1290
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1291
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.8, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.05)
1292
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.7, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.05)
1293
					RH.C0 = clerp(RH.C0, cn(1, -1, -.3) * RHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1294
					LH.C0 = clerp(LH.C0, cn(-1, -.8, -.3) * LHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1295
			end
1296
		elseif Torsovelocity < 1 and hit ~= nil then
1297
			Anim = "Idle"
1298
			if attack == false and Wep == 2 then
1299
				change = 1
1300
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.1 + 0.1 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(5)), .1)
1301
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5 - 2 * math.cos(sine / 25)), math.rad(0), math.rad(-5)), .1)
1302
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
1303
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
1304
					RH.C0 = clerp(RH.C0, cn(1, -.9 - 0.1 * math.cos(sine / 25), 0) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
1305
					LH.C0 = clerp(LH.C0, cn(-1, -.9 - 0.1 * math.cos(sine / 25), 0) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
1306
			end
1307
		elseif Torsovelocity > 2 and hit ~= nil then
1308
			Anim = "Walk"
1309
			if attack == false and Wep == 2 then
1310
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-25 - 5 * math.cos(sine / 5))), .2)
1311
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(25 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
1312
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
1313
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
1314
					RH.C0 = clerp(RH.C0, cn(.95, -.9 + -.1 * math.cos(sine / 4),-.35) * RHCF * angles(math.rad(-2), math.rad(25), math.rad(50 * math.cos(sine / 4))), .3)
1315
					LH.C0 = clerp(LH.C0, cn(-.95, -.9 + .1 * math.cos(sine / 4), .35) * LHCF * angles(math.rad(-2), math.rad(25), math.rad(50 * math.cos(sine / 4))), .3)
1316
			end
1317
			
1318
		end
1319
	end
1320
	
1321
	
1322
	
1323
		-----------------------[Noraml Anim]--------------------------------------------------------------------------------------------------------------------------
1324
1325
	if equipped == true or equipped == false then
1326
		if RootPart.Velocity.y > 1 and hit == nil then 
1327
			Anim = "Jump"
1328
			if attack == false and Wep == 3 then
1329
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1330
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1331
					RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(30)), .1)
1332
					LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-30)), .1)
1333
					RH.C0 = clerp(RH.C0, cn(1, -.9, -.3) * RHCF * angles(math.rad(3), math.rad(0), math.rad(0)), .1)
1334
					LH.C0 = clerp(LH.C0, cn(-1, -.7, -.5) * LHCF * angles(math.rad(-3), math.rad(0), math.rad(0)), .1)
1335
			end
1336
		elseif RootPart.Velocity.y < -1 and hit == nil then 
1337
			Anim = "Fall"
1338
			if attack == false and Wep == 3 then
1339
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1340
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
1341
					RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(50)), .1)
1342
					LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-50)), .1)
1343
					RH.C0 = clerp(RH.C0, cn(1, -1, -.3) * RHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1344
					LH.C0 = clerp(LH.C0, cn(-1, -.8, -.3) * LHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
1345
			end
1346
		elseif Torsovelocity < 1 and hit ~= nil then
1347
			Anim = "Idle"
1348
			if attack == false and Wep == 3 then
1349
				change = 1
1350
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.1 + 0.1 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(5)), .1)
1351
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5 - 2 * math.cos(sine / 25)), math.rad(0), math.rad(-5)), .1)
1352
					RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5 - 0 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(0 - 0 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.1)
1353
					LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0 + 0 * math.cos(sine / 25)), math.rad(-0), math.rad(-5 - 3 * math.cos(sine / 25))), 0.1)
1354
					RH.C0 = clerp(RH.C0, cn(1, -.9 - 0.1 * math.cos(sine / 25), 0) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
1355
					LH.C0 = clerp(LH.C0, cn(-1, -.9 - 0.1 * math.cos(sine / 25), 0) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
1356
			end
1357
		elseif Torsovelocity > 2 and hit ~= nil then
1358
			Anim = "Walk"
1359
			if attack == false and Wep == 3 then
1360
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(5 * math.cos(sine / 5))), .2)
1361
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(-5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
1362
					RW.C0 = clerp(RW.C0, CFrame.new(1.5 - -0 * math.cos(sine / 4), 0.5 - -.05 * math.cos(sine / 4), 0) * angles(math.rad(10 + -50 * math.cos(sine / 4)), math.rad(0 - .1 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.3)
1363
					LW.C0 = clerp(LW.C0, CFrame.new(-1.5 - -0 * math.cos(sine / 4), 0.5 - -.05 * math.cos(sine / 4), 0) * angles(math.rad(10 + 50 * math.cos(sine / 4)), math.rad(-0), math.rad(-5 - 3 * math.cos(sine / 25))), 0.3)
1364
					RH.C0 = clerp(RH.C0, cn(1, -.9 + -.1 * math.cos(sine / 4),0 + -.1 * math.cos(sine / 4)) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
1365
					LH.C0 = clerp(LH.C0, cn(-1, -.9 + .1 * math.cos(sine / 4), 0 + .1 * math.cos(sine / 4)) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
1366
			end
1367
		end
1368
	end	
1369
	
1370
	
1371
	
1372
	
1373
	
1374
	
1375
	
1376
	
1377
	
1378
	
1379
	
1380
	
1381
	
1382
	
1383
	
1384
	
1385
	
1386
	
1387
	if #Effects > 0 then
1388
		for e = 1, #Effects do
1389
			if Effects[e] ~= nil then
1390
				local Thing = Effects[e]
1391
				if Thing ~= nil then
1392
					local Part = Thing[1]
1393
					local Mode = Thing[2]
1394
					local Delay = Thing[3]
1395
					local IncX = Thing[4]
1396
					local IncY = Thing[5]
1397
					local IncZ = Thing[6]
1398
					if Thing[1].Transparency <= 1 then
1399
						if Thing[2] == "Block1" then
1400
							Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1401
							local Mesh = Thing[1].Mesh
1402
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1403
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1404
						elseif Thing[2] == "Block2" then
1405
							Thing[1].CFrame = Thing[1].CFrame
1406
							local Mesh = Thing[7]
1407
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1408
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1409
						elseif Thing[2] == "Cylinder" then
1410
							local Mesh = Thing[1].Mesh
1411
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1412
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1413
						elseif Thing[2] == "Blood" then
1414
							local Mesh = Thing[7]
1415
							Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, .5, 0)
1416
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1417
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1418
						elseif Thing[2] == "Elec" then
1419
							local Mesh = Thing[1].Mesh
1420
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1421
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1422
						elseif Thing[2] == "Disappear" then
1423
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1424
						elseif Thing[2] == "Shatter" then
1425
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1426
							Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1427
							Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1428
							Thing[6] = Thing[6] + Thing[5]
1429
						end
1430
					else
1431
						Part.Parent = nil
1432
						table.remove(Effects, e)
1433
					end
1434
				end
1435
			end
1436
		end
1437
	end
1438
end)
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
local No = Instance.new("Sound", head);
1453
No.SoundId = "rbxassetid://245064504"
1454
No.Volume = 3
1455
local yes = Instance.new("Sound", head);
1456
yes.SoundId = "rbxassetid://131384028"
1457
yes.Volume = 3
1458
local HitM = Instance.new("Sound", Reaper5);
1459
HitM.SoundId = "rbxassetid://"..WSH
1460
HitM.Volume = 1.1
1461
local Swing = Instance.new("Sound", Reaper5);
1462
Swing.SoundId = "rbxassetid://10209850"
1463
Swing.Volume = 1.5
1464
Swing.Pitch = 1.1
1465
local SwingH = Instance.new("Sound", Reaper5);
1466
SwingH.SoundId = "rbxassetid://10209590"
1467
SwingH.Volume = 2.9
1468
SwingH.Pitch = .8
1469
local Taunt = Instance.new("Sound", head);
1470
Taunt.SoundId = "rbxassetid://150611842"
1471
Taunt.Volume = 2
1472
local RUS = Instance.new("Sound", char);
1473
RUS.SoundId = "rbxassetid://322621962"
1474
RUS.Volume = 2.5
1475
RUS.Pitch = 1
1476
RUS.Looped = true
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
function BuildSentry()
1488
do --CFrame lerp (stravant, clerp by AntiBoomz0r)
1489
        local function QuaternionFromCFrame(cf)  -- y u no axis angle interpolation?
1490
                local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() 
1491
                local trace = m00 + m11 + m22 
1492
                if trace > 0 then 
1493
                        local s = math.sqrt(1 + trace) 
1494
                        local recip = 0.5/s 
1495
                        return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 
1496
                else 
1497
                        local i = 0 
1498
                        if m11 > m00 then
1499
                                i = 1 
1500
                        end 
1501
                        if m22 > (i == 0 and m00 or m11) then 
1502
                                i = 2 
1503
                        end 
1504
                        if i == 0 then 
1505
                                local s = math.sqrt(m00-m11-m22+1) 
1506
                                local recip = 0.5/s 
1507
                                return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip 
1508
                        elseif i == 1 then 
1509
                                local s = math.sqrt(m11-m22-m00+1) 
1510
                                local recip = 0.5/s 
1511
                                return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip 
1512
                        elseif i == 2 then 
1513
                                local s = math.sqrt(m22-m00-m11+1) 
1514
                                local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip 
1515
                        end 
1516
                end 
1517
        end
1518
        local function QuaternionToCFrame(px, py, pz, x, y, z, w) 
1519
                local xs, ys, zs = x + x, y + y, z + z 
1520
                local wx, wy, wz = w*xs, w*ys, w*zs 
1521
                local xx = x*xs 
1522
                local xy = x*ys 
1523
                local xz = x*zs 
1524
                local yy = y*ys 
1525
                local yz = y*zs 
1526
                local zz = z*zs 
1527
                return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) 
1528
        end   
1529
        function QuaternionSlerp(a, b, t) 
1530
                local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] 
1531
                local startInterp, finishInterp; 
1532
                if cosTheta >= 0.0001 then 
1533
                        if (1 - cosTheta) > 0.0001 then 
1534
                                local theta = math.acos(cosTheta) 
1535
                                local invSinTheta = 1/math.sin(theta) 
1536
                                startInterp = math.sin((1-t)*theta)*invSinTheta 
1537
                                finishInterp = math.sin(t*theta)*invSinTheta  
1538
                        else 
1539
                                startInterp = 1-t 
1540
                                finishInterp = t 
1541
                        end 
1542
                else
1543
                        if (1+cosTheta) > 0.0001 then 
1544
                                local theta = math.acos(-cosTheta) 
1545
                                local invSinTheta = 1/math.sin(theta) 
1546
                                startInterp = math.sin((t-1)*theta)*invSinTheta 
1547
                                finishInterp = math.sin(t*theta)*invSinTheta 
1548
                        else 
1549
                                startInterp = t-1 
1550
                                finishInterp = t 
1551
                        end 
1552
                end 
1553
                return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp 
1554
        end  
1555
        function clerp(a,b,t) 
1556
                local qa = {QuaternionFromCFrame(a)}
1557
                local qb = {QuaternionFromCFrame(b)} 
1558
                local ax, ay, az = a.x, a.y, a.z 
1559
                local bx, by, bz = b.x, b.y, b.z  
1560
                local _t = 1-t 
1561
                return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) 
1562
        end 
1563
end
1564
1565
1566
1567
1568
local ABS = math.abs;
1569
local SIN = math.sin;
1570
local ASIN = math.asin;
1571
local COS = math.cos;
1572
1573
local new = Instance.new;
1574
1575
function math_pos(float)
1576
    if float < 0 then float = 0 end
1577
    return float
1578
end
1579
function math_neg(float)
1580
    if float > 0 then float = 0 end
1581
    return float
1582
end
1583
function math_max(float, max)
1584
    if float > max then float = max end
1585
    return float
1586
end
1587
function math_min(float, min)
1588
    if float > min then float = min end
1589
    return float
1590
end
1591
1592
function SharpSin(double_p1)
1593
    return ASIN(SIN(double_p1));
1594
end
1595
1596
local Storage = Instance.new("Model", script);
1597
1598
function WeldP(part0, part1, C0, C1)
1599
    local W = new("Weld", Storage);
1600
    W.Part0 = part0;
1601
    W.Part1 = part1;
1602
    W.C0 = C0 or CFrame.new();
1603
    W.C1 = C1 or CFrame.new();
1604
    return W;
1605
end
1606
1607
function Bevel(part, sizeV3)
1608
    local BvlMesh = new("SpecialMesh", part)
1609
    BvlMesh.MeshId = "rbxasset://fonts/torso.mesh";
1610
    if (sizeV3 ~= nil) then
1611
        BvlMesh.Scale = Vector3.new(sizeV3.x/2, sizeV3.y/2, sizeV3.z);
1612
    else
1613
        BvlMesh.Scale = Vector3.new(part.Size.x/2, part.Size.y/2, part.Size.z);
1614
    end
1615
end
1616
1617
1618
1619
local Scale = 0.5 -- 1 is size of a robloxian (mostly);
1620
1621
Storage.Name = "ä";
1622
1623
local BasePart = new("Part");
1624
BasePart.FormFactor = "Custom";
1625
BasePart.TopSurface = 10;
1626
BasePart.BottomSurface = 10;
1627
BasePart.LeftSurface = 10;
1628
BasePart.RightSurface = 10;
1629
BasePart.FrontSurface = 10;
1630
BasePart.BackSurface = 10;
1631
1632
local CylPart = new("Part");
1633
CylPart.FormFactor = "Custom";
1634
CylPart.TopSurface = 10;
1635
CylPart.BottomSurface = 10;
1636
CylPart.LeftSurface = 10;
1637
CylPart.RightSurface = 10;
1638
CylPart.FrontSurface = 10;
1639
CylPart.BackSurface = 10;
1640
new("CylinderMesh", CylPart);
1641
1642
local TopFrame = BasePart:clone()
1643
TopFrame.Parent = Storage;
1644
TopFrame.Size = Vector3.new(3.5*Scale, 1.5*Scale, 3.5*Scale);
1645
TopFrame.BrickColor = TeamColor;
1646
1647
new("CylinderMesh", TopFrame);
1648
1649
local Screw = CylPart:clone();
1650
Screw.Parent = Storage;
1651
Screw.Size = Vector3.new(.3*Scale, 1.6*Scale, .3*Scale);
1652
Screw.BrickColor = BrickColor.new(199);
1653
1654
local CGreyStyle = CylPart:clone()
1655
CGreyStyle.Parent = Storage;
1656
CGreyStyle.Size = Vector3.new(2.2*Scale, 1.52*Scale, 2.6*Scale);
1657
CGreyStyle.BrickColor = BrickColor.new(199);
1658
1659
local TurretCasing = BasePart:clone();
1660
TurretCasing.Size = Vector3.new(2.2*Scale, 1.4*Scale, 5.6*Scale);
1661
TurretCasing.BrickColor = BrickColor.new(199);
1662
TurretCasing.Parent = Storage;
1663
1664
Bevel(TurretCasing);
1665
1666
local TurretFront = BasePart:clone();
1667
TurretFront.Size = Vector3.new(1.7*Scale, 1*Scale, .2*Scale);
1668
TurretFront.BrickColor = TeamColor;
1669
TurretFront.Parent = Storage;
1670
1671
local Barrel = CylPart:clone();
1672
Barrel.Parent = Storage;
1673
Barrel.Size = Vector3.new(.7*Scale, .4*Scale, .7*Scale);
1674
Barrel.BrickColor = BrickColor.Black();
1675
1676
1677
        local Particle = Instance.new("ParticleEmitter", Barrel);
1678
        Particle.VelocitySpread = 30;
1679
        Particle.LightEmission = 200;
1680
1681
        local Colors = {Color3.new(1,.5,0), Color3.new(1,.7,0), Color3.new(1,.9,0);}
1682
1683
        Particle.Size = NumberSequence.new(.05,.07);
1684
1685
        Particle.Color = ColorSequence.new(Colors[math.random(#Colors)]);
1686
        Particle.Texture = "rbxassetid://252350680";
1687
        Particle.RotSpeed = NumberRange.new(10,70);
1688
        Particle.Rate = 300;
1689
        Particle.Speed = NumberRange.new(15);
1690
        Particle.Transparency = NumberSequence.new(0,1);
1691
        Particle.Lifetime = NumberRange.new(.01,.2);
1692
Particle.Enabled = false
1693
1694
1695
1696
local RedDot = BasePart:clone();
1697
RedDot.Parent = Storage;
1698
RedDot.Size = Vector3.new(.2*Scale, .2*Scale, .2*Scale);
1699
RedDot.BrickColor = BrickColor.new("Really red");
1700
1701
local Sphere = Instance.new("SpecialMesh", RedDot);
1702
Sphere.MeshType = "Sphere";
1703
Sphere.Scale = Vector3.new(1*Scale,1*Scale,1*Scale);
1704
1705
1706
Bevel(TurretFront, Vector3.new(1.7*Scale, 1*Scale, .05*Scale));
1707
1708
local Joint = CylPart:clone();
1709
Joint.Parent = Storage;
1710
Joint.Size = Vector3.new(.7*Scale, 2*Scale, .7*Scale);
1711
Joint.BrickColor = BrickColor.Black();
1712
1713
local Hold = BasePart:clone();
1714
Hold.Parent = Storage;
1715
Hold.BrickColor = BrickColor.Black();
1716
Hold.Size = Vector3.new(2.2*Scale, .2*Scale, .75*Scale);
1717
1718
local Bolt = BasePart:clone();
1719
Bolt.Size = Vector3.new(.2*Scale, 1.5*Scale, .5*Scale);
1720
Bolt.Parent = Storage;
1721
Bolt.BrickColor = BrickColor.Black();
1722
1723
local Bolt2 = BasePart:clone();
1724
Bolt2.Size = Vector3.new(.2*Scale, 1.5*Scale, .5*Scale);
1725
Bolt2.Parent = Storage;
1726
Bolt2.BrickColor = BrickColor.Black();
1727
1728
1729
local TurretToFrame = WeldP(TopFrame, TurretCasing, CFrame.new(0, 0, 1.4*Scale));
1730
WeldP(TopFrame, CGreyStyle);
1731
WeldP(TurretCasing, TurretFront, CFrame.new(0, 0, 2.8*Scale));
1732
WeldP(TopFrame, Screw);
1733
local BarrelWeld = WeldP(Barrel, TurretFront, CFrame.new(.3*Scale, -.2*Scale, 0), CFrame.Angles(math.pi/2, 0, 0));
1734
1735
WeldP(RedDot, TurretFront, CFrame.new(-.55*Scale, 0, -.15*Scale), CFrame.Angles(math.pi/2, 0, 0));
1736
1737
local RotateAxisY = WeldP(Bolt, TurretCasing, CFrame.Angles(0,0,0), CFrame.new(1.1*Scale, -.75*Scale, 1*Scale));
1738
1739
WeldP(Bolt, Hold, CFrame.new(-1.1*Scale, -.5*Scale, 0));
1740
1741
WeldP(Bolt2, Hold, CFrame.new(1.1*Scale, -.5*Scale, 0));
1742
1743
local RotateAxisX = WeldP(Hold, Joint, CFrame.new(0, -1*Scale, 0));
1744
1745
1746
1747
local Leg1 = BasePart:clone();
1748
Leg1.Size = Vector3.new(.2*Scale, 3.5*Scale, .5*Scale);
1749
Leg1.Parent = Storage;
1750
Leg1.BrickColor = BrickColor.Black();
1751
1752
1753
WeldP(Leg1, Joint, CFrame.new(0, -1.75*Scale, 0), CFrame.new(0, -.75*Scale, 0) * CFrame.Angles(math.pi/3, 0, math.pi));
1754
1755
1756
local Leg2 = BasePart:clone();
1757
Leg2.Size = Vector3.new(.2*Scale, 3.5*Scale, .5*Scale);
1758
Leg2.Parent = Storage;
1759
Leg2.BrickColor = BrickColor.Black();
1760
1761
1762
WeldP(Leg2, Joint, CFrame.new(0, -1.75*Scale, 0), CFrame.new(0, -.45*Scale, 0) * CFrame.Angles(-math.pi/4, 0, math.pi + -math.pi/6));
1763
1764
1765
local Leg3 = BasePart:clone();
1766
Leg3.Size = Vector3.new(.2*Scale, 3.5*Scale, .5*Scale);
1767
Leg3.Parent = Storage;
1768
Leg3.BrickColor = BrickColor.Black();
1769
1770
1771
WeldP(Leg3, Joint, CFrame.new(0, -1.75*Scale, 0), CFrame.new(0, -.45*Scale, 0) * CFrame.Angles(-math.pi/4, 0, math.pi + math.pi/6));
1772
1773
	for i,v in pairs(Storage:children()) do
1774
		if v.Name== "Part" then
1775
			trans = 1
1776
			v.Transparency = 1
1777
		end
1778
		end
1779
1780
local InvisiBox = BasePart:clone();
1781
InvisiBox.Size = Storage:GetModelSize() + Vector3.new(2*Scale, 0, 0);
1782
InvisiBox.Parent = Storage;
1783
InvisiBox.Transparency = 1
1784
InvisiBox.Name = 'box'
1785
WeldP(InvisiBox, Joint, CFrame.new(0, -.2*Scale, .97*Scale));
1786
1787
local InvisiBox2 = BasePart:clone();
1788
InvisiBox2.Size = Storage:GetModelSize() + Vector3.new(2*Scale, 0, 0);
1789
InvisiBox2.Parent = Arms;
1790
InvisiBox2.Transparency = .9
1791
InvisiBox2.Name = 'box'
1792
InvisiBox2.CanCollide = false
1793
InvisiBox2.BrickColor = TeamColor
1794
InvisiBox2.Material = 'Neon'
1795
WeldP(InvisiBox2, Joint, CFrame.new(0, -1.2*Scale, .97*Scale));
1796
1797
InvisiBox.CFrame = torso.CFrame * CFrame.new(0, 5.5*Scale, -2.9) * CFrame.Angles(0, math.pi, 0);
1798
1799
local Action = "Idle";
1800
1801
local Target = nil;
1802
1803
wait(1)
1804
1805
InvisiBox.Anchored = true
1806
1807
for i,v in pairs(Storage:children()) do
1808
    if v:IsA'Part' then
1809
        v.Locked = true
1810
    end
1811
end
1812
--//
1813
--// SOUNDS
1814
--//
1815
	for i,v in pairs(Storage:children()) do
1816
		if v.Name== "Part" then
1817
			trans = 1
1818
			v.Transparency = 1
1819
		end
1820
		end
1821
	for i,v in pairs(Storage:children()) do
1822
		if v.Name== "Part" then
1823
			trans = 1
1824
			v.Transparency = 1
1825
		for i = 1,11 do
1826
				
1827
			trans = trans - .1
1828
			v.Transparency = trans
1829
			wait()
1830
			end
1831
			end
1832
	end
1833
	trans = 1
1834
1835
local OnFind = new("Sound", TopFrame);
1836
OnFind.SoundId = "rbxassetid://10209260"
1837
OnFind.Volume = 1
1838
1839
1840
local OnFire = new("Sound", TopFrame);
1841
OnFire.SoundId = "rbxassetid://10209257"
1842
OnFire.Volume = 1
1843
1844
local OnEmpty = new("Sound", TopFrame);
1845
OnEmpty.SoundId = "rbxassetid://10209225"
1846
OnEmpty.Volume = 1
1847
1848
local Scanning = new("Sound", TopFrame);
1849
Scanning.SoundId = "rbxassetid://258704234"
1850
Scanning.Volume = 1
1851
1852
local Explode = new("Sound", TopFrame);
1853
Explode.SoundId = "rbxassetid://10209236"
1854
Explode.Volume = .5
1855
1856
local Move = new("Sound", TopFrame);
1857
Move.SoundId = "rbxassetid://258704467";
1858
Move.Volume = 1;
1859
1860
1861
1862
1863
1864
function FindShortest(Table)
1865
local Current = Table[1]
1866
local Final
1867
for _,v in pairs(Table) do
1868
if v[2] ~= Current[2] then
1869
if v[1] < Current[1] then
1870
Current = v
1871
end
1872
end
1873
end
1874
Final = Current
1875
return Final
1876
end
1877
1878
function GetNearbyPlayer()
1879
1880
    local List = {}
1881
    for i,v in pairs(workspace:children()) do
1882
        if (v ~= nil) then
1883
            if (v:IsA'Model') then
1884
                if (v:findFirstChild'Torso' ~= nil) then
1885
                    local rx, ry, rz = Hold.CFrame:toEulerAnglesXYZ();
1886
                    if (v:findFirstChild'Torso'.Position - Hold.CFrame * CFrame.new(0, 0, 20) * CFrame.Angles(0, ry, 0).p).magnitude < 20 then
1887
                        if (v ~= char) then
1888
                            for x,z in next, v:children() do
1889
                                if z:IsA'Humanoid' and z.Health > 0.01 then
1890
                                    table.insert(List, {(v:findFirstChild'Torso'.Position - Hold.CFrame * CFrame.new(0, 0, 20) * CFrame.Angles(0, ry, 0).p).magnitude, v})
1891
                                end
1892
                            end
1893
                        end
1894
                    end
1895
                end
1896
            end
1897
        end
1898
    end
1899
    if (FindShortest(List) ~= nil) then
1900
        return FindShortest(List)[2];
1901
    else
1902
        return nil;
1903
    end
1904
end
1905
1906
local Health = Instance.new("Humanoid", Storage);
1907
Health.MaxHealth = 150;
1908
Health.Health = 150;
1909
1910
1911
1912
function RayC(Part, speed)
1913
    coroutine.wrap(function()
1914
        local Visual = BasePart:clone();
1915
        Visual.FormFactor = "Custom";
1916
        Visual.BrickColor = BrickColor.Yellow();
1917
        Visual.Size = Vector3.new(.2, 3, .2);
1918
        Visual.CFrame = Part.CFrame * CFrame.new(0, -1, 0);
1919
        Visual.Anchored = true;
1920
        Visual.CanCollide = false;
1921
        Visual.Locked = true
1922
1923
1924
        coroutine.wrap(function()
1925
1926
            wait(.2)
1927
            
1928
            wait(.1);
1929
            wait(.3)
1930
1931
        end)()
1932
1933
        Instance.new("SpecialMesh", Visual).MeshType = "Sphere";
1934
        Visual.Mesh.Scale = Vector3.new(.5, 1, .5);
1935
1936
        local bulletpos = Visual.Position
1937
        local bulletvelocity = (Part.CFrame.p - bulletpos).unit*speed
1938
        local lastbulletpos = Visual.Position 
1939
        Visual.Parent = Storage;
1940
        while game:service'RunService'.Stepped:wait() do
1941
1942
                    lastbulletpos = bulletpos 
1943
                    bulletpos = bulletpos + bulletvelocity
1944
                    local RayCast = Ray.new(lastbulletpos, (bulletpos - lastbulletpos))
1945
                    local hit, hitpos = workspace:FindPartOnRay(RayCast, Storage, false, true)
1946
                    if (Joint.Position - Visual.Position).magnitude > 1000 or Visual.Parent == nil then
1947
                        Visual:Destroy();
1948
                        break
1949
                    end
1950
                    Visual.Anchored = true
1951
                    Visual.CFrame = CFrame.new(bulletpos, bulletpos+bulletvelocity) * CFrame.Angles(math.pi/2, 0, 0);
1952
                    if hit then
1953
                        if hit.Parent:IsA'Hat' then
1954
                            if hit.Parent.Parent:IsA'Model' then
1955
                                for x,z in next, hit.Parent.Parent:children() do
1956
                                    if z:IsA'Humanoid' then
1957
                                        z:TakeDamage(math.random(8,12));
1958
                                    end
1959
                                end
1960
                            end
1961
                        else
1962
                            if hit.Parent:IsA'Model' then
1963
                                for x,z in next, hit.Parent:children() do
1964
                                    if z:IsA'Humanoid' then
1965
                                        z:TakeDamage(math.random(8,12));
1966
                                    end
1967
                                end
1968
                            end
1969
                        end
1970
1971
                        Visual:Destroy();
1972
                        break
1973
                    end
1974
        end
1975
    end)()
1976
end
1977
1978
lastTick = tick();
1979
local db = false;
1980
game:service'RunService'.RenderStepped:connect(function()
1981
    if Action == "DEAD" then return end;
1982
1983
1984
    if not Wrangler then
1985
        --//
1986
        --// AUTOMATED MODE, MOTION SENSOR WILL DETECT MOVEMENT
1987
        --//
1988
1989
1990
        --//
1991
        --// IF PLAYER USED WRANGLER, THERE IS A SHIELD WICH MUST BE REMOVED
1992
        --// 
1993
1994
        if (Storage:findFirstChild'Shield') then
1995
            Storage:findFirstChild'Shield':Destroy();
1996
        end
1997
1998
        local LastTarget = Target;
1999
2000
        --//
2001
        --// CHECK FOR NEARBY ENEMIES
2002
        --//
2003
        local Player = GetNearbyPlayer();
2004
        Target = Player;
2005
2006
        --//
2007
        --// BEEP ON TARGET FOUND
2008
        --//
2009
        if (Target ~= LastTarget and Target ~= nil) then
2010
            Move.Pitch = 0.9 + math.random()/9;
2011
            Move:play();
2012
            OnFind:play();
2013
            Action = "Standby";
2014
        end
2015
2016
        --//
2017
        --// IDLE
2018
        --//
2019
        if Action == "Idle" then
2020
            RotateAxisX.C1 = clerp(RotateAxisX.C1, CFrame.Angles(0, SharpSin(tick()*2)*.2, 0), .1);
2021
            RotateAxisY.C0 = clerp(RotateAxisY.C0, CFrame.new(), .1);
2022
        end
2023
2024
2025
        --//
2026
        --// SENTRY DEAD
2027
        --//
2028
2029
        --//
2030
        --// IF PLAYER EXISTS, FIRE!
2031
        --//
2032
2033
2034
2035
        if Action == "Standby" then
2036
            pcall(function()
2037
                local tor = Target.Torso.CFrame.p -- Target CFrame
2038
                local direction = InvisiBox.CFrame.lookVector -- Direction handling, welds mess up, just a workaround.
2039
                local heading = math.atan2(direction.x, direction.z)--
2040
                local RotY = math.deg(heading)
2041
                    if RotY < 0 then
2042
                        RotY = (360 - math.abs(RotY));
2043
                    end
2044
                RotateAxisX.C1 = --Begin here
2045
                clerp(RotateAxisX.C1, 
2046
                CFrame.new(
2047
2048
                  Vector3.new(), --The Pivot0 of pointing the weld.
2049
                  Vector3.new(tor.x, 0, tor.z) - Vector3.new(RotateAxisX.Part1.CFrame.x, 0, RotateAxisX.Part1.CFrame.z)) --We point the sentry here
2050
2051
                * CFrame.Angles(0, math.rad(360) - math.rad(RotY), 0), 
2052
                .1
2053
                );
2054
                
2055
                local Point = Hold.CFrame:toObjectSpace(CFrame.new(Hold.CFrame.p,tor))*CFrame.Angles(0,math.rad(180),0)
2056
                local RX, RY, RZ = Point:toEulerAnglesXYZ()
2057
                if math.deg(RX) > 45 then
2058
                    RX = math.rad(45)
2059
                elseif math.deg(RX) < -55 then
2060
                    RX = math.rad(-55)
2061
                end
2062
                RotateAxisY.C0 = clerp(RotateAxisY.C0,CFrame.Angles(RX,0,0),.1)
2063
                
2064
            end)
2065
        end
2066
        if Action == "Fire" then
2067
            pcall(function()
2068
                local tor = Target.Torso.CFrame.p;
2069
                local direction = InvisiBox.CFrame.lookVector
2070
                local heading = math.atan2(direction.x, direction.z)
2071
                local RotY = math.deg(heading)
2072
                    if RotY < 0 then
2073
                        RotY = (360 - math.abs(RotY));
2074
                    end
2075
                RotateAxisX.C1 = --Begin here
2076
                clerp(RotateAxisX.C1, 
2077
                CFrame.new(
2078
2079
                  Vector3.new(), --The Pivot0 of pointing the weld.
2080
                  Vector3.new(tor.x, 0, tor.z) - Vector3.new(RotateAxisX.Part1.CFrame.x, 0, RotateAxisX.Part1.CFrame.z)) --We point the sentry here
2081
2082
                * CFrame.Angles(0, math.rad(360) - math.rad(RotY), 0), 
2083
                .1
2084
                );
2085
2086
                BarrelWeld.C0 = clerp(BarrelWeld.C0, CFrame.new())
2087
                local Point = Hold.CFrame:toObjectSpace(CFrame.new(Hold.CFrame.p,tor))*CFrame.Angles(0,math.rad(180),0)
2088
                local RX, RY, RZ = Point:toEulerAnglesXYZ()
2089
                if math.deg(RX) > 45 then
2090
                    RX = math.rad(45)
2091
                elseif math.deg(RX) < -55 then
2092
                    RX = math.rad(-55)
2093
                end
2094
                RotateAxisY.C0 = clerp(RotateAxisY.C0,CFrame.Angles(RX,0,0),.1)
2095
            end)
2096
        end
2097
2098
        if (Target ~= nil) then
2099
            if Action == "Fire" or db then return end
2100
            if Action == "Standby" then
2101
                db = true
2102
                wait(.2);
2103
            end
2104
            Action = "Fire";
2105
            db = false
2106
            OnFire:play();
2107
2108
        Particle.Color = ColorSequence.new(Colors[math.random(#Colors)]);
2109
2110
            local PointLight = Instance.new("PointLight", Barrel);
2111
            PointLight.Color = Color3.new(1,.8,0)
2112
            PointLight.Brightness = 6;
2113
Particle.Enabled = true
2114
            game:service'Debris':AddItem(PointLight, .05);
2115
2116
2117
2118
            RayC(Barrel, 20)
2119
2120
2121
2122
2123
            wait(.1)
2124
Particle.Enabled = false
2125
            if (Target ~= nil) then
2126
                Action = "Standby";
2127
            else
2128
                Action = "Idle";
2129
            end
2130
        end
2131
2132
        if tick() - lastTick > 2.5 and Target == nil then
2133
            lastTick = tick();
2134
            Scanning:play();
2135
        end
2136
    end
2137
2138
    if (Health.Health < 0.0001 or RotateAxisX.Parent == nil) then
2139
            Action = "DEAD";
2140
            if db then return end
2141
            RotateAxisY:Destroy();
2142
            TurretToFrame:Destroy();
2143
            Joint:Destroy();
2144
InvisiBox2:Destroy();
2145
            db = true
2146
            local expl = Instance.new("Explosion", Storage);
2147
            
2148
expl.BlastRadius = .3;
2149
expl.BlastPressure = 2050000;
2150
            expl.Position = TopFrame.Position;
2151
Explode:Play()
2152
NoSentry = true
2153
            game:service'Debris':AddItem(Storage, 3);
2154
            
2155
        end 
2156
2157
end)
2158
end
2159
2160
2161
2162
combo = 0
2163
	function strike(hit)
2164
		if hit and hit.Parent and hit.Parent.Name ~= char.Name then
2165
			local targetHumanoid = hit.Parent:FindFirstChild("Humanoid")
2166
			if targetHumanoid and targetHumanoid ~= char:FindFirstChild("Humanoid") then
2167
				if combo == 1 then
2168
					targetHumanoid:TakeDamage(slashDamage)
2169
					SwingH:Play()
2170
				
2171
				end
2172
2173
2174
2175
			end
2176
		end
2177
	end
2178
2179
2180
2181
Reaper5.Touched:connect(strike)
2182
--------------------------------------------------------------------------------------------------------------------------
2183
		function AnimSit()
2184
			for i = 0, 1, 0.05 do
2185
				
2186
		swait()
2187
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, -1, -.6) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2188
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2189
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, .1) * angles(math.rad(20), math.rad(0), math.rad(20)), 0.1)
2190
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(5)), 0.1)
2191
		RH.C0 = clerp(RH.C0, cn(1, -.4, -.4) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2192
		LH.C0 = clerp(LH.C0, cn(-1, -1, -.6) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(60)), .1)
2193
		end
2194
			
2195
		end
2196
		
2197
		function AnimSitHit1()
2198
			for i = 0, 1, 0.05 do
2199
				
2200
		swait()
2201
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, -1, -.6) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
2202
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
2203
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, .1) * angles(math.rad(20), math.rad(0), math.rad(20)), 0.1)
2204
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(170), math.rad(0), math.rad(-5)), 0.08)
2205
		RH.C0 = clerp(RH.C0, cn(1, -.4, -.4) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(10)), .1)
2206
		LH.C0 = clerp(LH.C0, cn(-1, -1, -.6) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(50)), .1)
2207
		end
2208
			
2209
		end
2210
		
2211
		
2212
				function AnimSitHit2()
2213
			for i = 0, 1, 0.05 do
2214
				
2215
		swait()
2216
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, -1, -.6) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2217
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(15), math.rad(0), math.rad(0)), .1)
2218
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, .1) * angles(math.rad(20), math.rad(0), math.rad(20)), 0.1)
2219
		RW.C0 = clerp(RW.C0, CFrame.new(1.55, 0.4, -.1) * angles(math.rad(40), math.rad(3 ), math.rad(-15)), 0.3)
2220
		RH.C0 = clerp(RH.C0, cn(1, -.4, -.4) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2221
		LH.C0 = clerp(LH.C0, cn(-1, -1, -.6) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(60)), .1)
2222
		end
2223
			
2224
			end		
2225
--------------------------------------------------------------------------------------------------------------------------
2226
2227
				function No1()
2228
			for i = 0, 1, 0.05 do
2229
				
2230
		swait()
2231
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2232
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(30), math.rad(0), math.rad(40)), .1)
2233
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
2234
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
2235
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2236
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2237
		end
2238
			
2239
			end	
2240
2241
2242
2243
				function No2()
2244
			for i = 0, 1, 0.05 do
2245
				
2246
		swait()
2247
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2248
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(-40)), .1)
2249
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
2250
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
2251
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2252
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2253
		end
2254
			
2255
			end	
2256
2257
2258
2259
--------------------------------------------------------------------------------------------------------------------------
2260
2261
				function Yes1()
2262
			for i = 0, 1, 0.1 do
2263
				
2264
		swait()
2265
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2266
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(25), math.rad(0), math.rad(0)), .1)
2267
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
2268
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
2269
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2270
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2271
		end
2272
			
2273
			end	
2274
2275
2276
2277
				function Yes2()
2278
			for i = 0, 1, 0.1 do
2279
				
2280
		swait()
2281
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
2282
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
2283
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
2284
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
2285
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2286
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
2287
		end
2288
			
2289
			end	
2290
2291
2292
2293
--------------------------------------------------------------------------------------------------------------------------
2294
function AttackAnim1()
2295
for i = 0, 1, 0.05 do
2296
		swait()
2297
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
2298
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
2299
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(170), math.rad(0), math.rad(10)), 0.08)
2300
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(40), math.rad(0), math.rad(10)), 0.3)
2301
		if Torsovelocity > 2 then
2302
		RH.C0 = clerp(RH.C0, cn(1, -1 + .1 * math.cos(sine / 5), 0) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
2303
		LH.C0 = clerp(LH.C0, cn(-1, -1 + .1 * math.cos(sine / 5), 0) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
2304
		elseif Torsovelocity < 1 then
2305
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(-5)), .1)
2306
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(5)), .1)
2307
		end
2308
end
2309
end
2310
2311
2312
function AttackAnim2()
2313
for i = 0, 1, 0.05 do
2314
		swait()
2315
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .2)
2316
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
2317
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(5), math.rad(10), math.rad(-10)), 0.25)
2318
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(10)), 0.3)
2319
		if Torsovelocity > 2 then
2320
					RH.C0 = clerp(RH.C0, cn(1, -.9 + -.1 * math.cos(sine / 4),0 + -.1 * math.cos(sine / 4)) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
2321
					LH.C0 = clerp(LH.C0, cn(-1, -.9 + .1 * math.cos(sine / 4), 0 + .1 * math.cos(sine / 4)) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
2322
	
2323
		elseif Torsovelocity < 1 then
2324
		RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(5)), .1)
2325
		LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(-5)), .1)
2326
		end
2327
end
2328
end
2329
--------------------------------------------------------------------------------------------------------------------------
2330
2331
2332
2333
function ShotAttackAnim1()
2334
for i = 0, 1, 0.07 do
2335
		swait()
2336
2337
		if Torsovelocity > 2 then
2338
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
2339
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
2340
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(90), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.2)
2341
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(85 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.2)
2342
					RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
2343
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4),  .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)				
2344
				
2345
				
2346
2347
		elseif Torsovelocity < 1 then
2348
			
2349
			
2350
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
2351
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
2352
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(90), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.2)
2353
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(85 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.2)
2354
					RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
2355
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)			
2356
			
2357
2358
		end
2359
end
2360
end
2361
2362
2363
2364
2365
2366
function ShotAttackAnim2()
2367
for i = 0, 1, 0.05 do
2368
		swait()
2369
2370
		if Torsovelocity > 2 then
2371
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
2372
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
2373
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(100), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
2374
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(75 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
2375
					RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
2376
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4),  .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)				
2377
				
2378
				
2379
2380
		elseif Torsovelocity < 1 then
2381
			
2382
			
2383
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
2384
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
2385
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(100), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
2386
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(75 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
2387
					RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
2388
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)			
2389
			
2390
2391
		end
2392
end
2393
end
2394
2395
2396
2397
function ShotAttackAnim3()
2398
for i = 0, 1, 0.05 do
2399
		swait()
2400
2401
		if Torsovelocity > 2 then
2402
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
2403
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
2404
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, -.2) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
2405
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.6) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-30 - 1 * math.cos(sine / 25))), 0.2)
2406
					RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
2407
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4),  .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)				
2408
				
2409
				
2410
2411
		elseif Torsovelocity < 1 then
2412
			
2413
			
2414
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
2415
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
2416
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, -.2) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
2417
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.6) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-30 - 1 * math.cos(sine / 25))), 0.2)
2418
					RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
2419
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)			
2420
			
2421
2422
		end
2423
end
2424
end
2425
2426
function ShotAttackAnim4()
2427
for i = 0, 1, 0.05 do
2428
		swait()
2429
2430
		if Torsovelocity > 2 then
2431
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
2432
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
2433
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, 0) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
2434
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.8) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-50 - 1 * math.cos(sine / 25))), 0.2)
2435
					RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
2436
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4),  .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)				
2437
				
2438
				
2439
2440
		elseif Torsovelocity < 1 then
2441
			
2442
			
2443
					RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
2444
					Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
2445
					RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, 0) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
2446
					LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.8) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-50 - 1 * math.cos(sine / 25))), 0.2)
2447
					RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
2448
					LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)			
2449
			
2450
2451
		end
2452
end
2453
end
2454
--------------------------------------------------------------------------------------------------------------------------
2455
2456
				function DanAni1()
2457
			for i = 0, .8, 0.05 + MusThingHat.Mesh.Scale.Y*0.025 do
2458
				
2459
		swait()
2460
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,-.4) * angles(math.rad(5), math.rad(-8), math.rad(0)), MusThingHat.Mesh.Scale.Y*0.2)
2461
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(MusThingHat.Mesh.Scale.Y*30)    +math.rad(-10),0,math.rad(0)),MusThingHat.Mesh.Scale.Y*0.2)
2462
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -.25) * angles(math.rad(170), math.rad(0), math.rad(20)), MusThingHat.Mesh.Scale.Y*0.2)
2463
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.0) * angles(math.rad(90), math.rad(0), math.rad(-45)), MusThingHat.Mesh.Scale.Y*0.2)
2464
		RH.C0 = clerp(RH.C0, cn(1, -.2, -.4) * RHCF * angles(math.rad(-4), math.rad(-15), math.rad(-5)), MusThingHat.Mesh.Scale.Y*0.3)
2465
		LH.C0 = clerp(LH.C0, cn(-1, -1, -.0) * LHCF * angles(math.rad(4), math.rad(5), math.rad(5)), MusThingHat.Mesh.Scale.Y*0.2)
2466
		end
2467
			
2468
			end	
2469
2470
2471
2472
				function DanAni2()
2473
			for i = 0, .8, 0.05 + MusThingHat.Mesh.Scale.Y*0.025 do
2474
				
2475
		swait()
2476
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,-.5) * angles(math.rad(8), math.rad(8), math.rad(0)), MusThingHat.Mesh.Scale.Y*0.2)
2477
		Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(MusThingHat.Mesh.Scale.Y*30)    +math.rad(-10),0,math.rad(0)),MusThingHat.Mesh.Scale.Y*0.2)
2478
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.6, -.25) * angles(math.rad(180), math.rad(0), math.rad(25)), MusThingHat.Mesh.Scale.Y*0.2)
2479
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.0) * angles(math.rad(0), math.rad(0), math.rad(45)), MusThingHat.Mesh.Scale.Y*0.2)
2480
		RH.C0 = clerp(RH.C0, cn(1, -1, -.0) * RHCF * angles(math.rad(4), math.rad(-5), math.rad(-8)), MusThingHat.Mesh.Scale.Y*0.2)
2481
		LH.C0 = clerp(LH.C0, cn(-1, -.2, -.4) * LHCF * angles(math.rad(-4), math.rad(15), math.rad(8)), MusThingHat.Mesh.Scale.Y*0.3)
2482
		end
2483
		
2484
			
2485
			end	
2486
2487
2488
2489
--------------------------------------------------------------------------------------------------------------------------
2490
2491
BuildNow = false
2492
		
2493
Shotuse	= false	
2494
		
2495
wait2 = false
2496
2497
mouse.KeyDown:connect(function(key)
2498
2499
	if key == "g" and attack == false then
2500
yes:Play()
2501
head.face.Texture = "http://www.roblox.com/asset/?id=393521316"
2502
		humanoid.WalkSpeed = 0
2503
		attack = true 
2504
		Yes1()
2505
		Yes2()
2506
		Yes1()
2507
		Yes2()
2508
		attack = false 
2509
		humanoid.WalkSpeed = 16
2510
		head.face.Texture = "http://www.roblox.com/asset/?id=156600391"
2511
	end
2512
end)
2513
2514
2515
mouse.KeyDown:connect(function(key)
2516
	if key == "e" and attack == false then
2517
if Wep == 1 then
2518
Wep = 2
2519
else 	
2520
Wep = 1		
2521
end		
2522
		
2523
		
2524
	end
2525
	end)
2526
2527
mouse.KeyDown:connect(function(key)
2528
	if key == "p" and attack == false then
2529
	
2530
Wep = 3		
2531
	
2532
		
2533
		
2534
	end
2535
	end)
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
equippedgun = true
2549
2550
2551
2552
2553
coroutine.wrap(function()
2554
while equippedgun do
2555
2556
if spread < 0 then spread = 0 end
2557
if humanoid.Health == 0 then break end
2558
     
2559
2560
game:service'RunService'.Stepped:wait()
2561
end
2562
end)()
2563
	
2564
mouse.Button1Down:connect(function()
2565
if debounce then return end
2566
if equippedgun2 == true and attack == false then
2567
	Shotuse = true
2568
debounce = true
2569
2570
wait(.2)
2571
2572
sound:play()
2573
2574
2575
2576
coroutine.wrap(function()
2577
wait(0.3)
2578
for angle = 0, 4 do
2579
2580
wait()
2581
end
2582
2583
wait(0.2)
2584
sound2:play()
2585
2586
2587
wait(0.1)
2588
for move = 0, 3 do
2589
if move > 2 then return end
2590
2591
2592
wait(0.06)
2593
end
2594
end)()
2595
spread = spread + 1
2596
coroutine.wrap(function()
2597
for bullitz = 0, 7 do
2598
if bullitz > 6 then return end
2599
rayCast2(300, 1, Reaper4)
2600
GunParticle.Enabled = true
2601
            local PointLight = Instance.new("PointLight", Reaper4);
2602
            PointLight.Color = Color3.new(.2,.2,0)
2603
            PointLight.Brightness = 2;
2604
            game:service'Debris':AddItem(PointLight, .05);
2605
end
2606
end)()
2607
coroutine.wrap(function()
2608
for _ = 0, 50 do
2609
pcall(function()
2610
spread = spread - 0.03
2611
end)
2612
wait()
2613
end
2614
end)()
2615
wait(1)
2616
debounce = false
2617
end
2618
2619
end)
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
mouse.Button1Down:connect(function(key)
2630
2631
	if attack == false and Wep == 1 then
2632
attack = true
2633
2634
AttackAnim1()
2635
combo = 1
2636
Swing:Play()
2637
AttackAnim2()
2638
attack = false
2639
combo = 0
2640
	end
2641
end)
2642
2643
2644
2645
mouse.KeyDown:connect(function(key)
2646
2647
	if key == "f" and attack == false then
2648
		No:Play()
2649
		humanoid.WalkSpeed = 0
2650
		attack = true 
2651
		No1()
2652
		No2()
2653
		attack = false 
2654
		humanoid.WalkSpeed = 16
2655
	end
2656
end)
2657
2658
2659
2660
2661
mouse.KeyDown:connect(function(key)
2662
if attack == false or DA == true then
2663
	if key == "r" and Wep == 3 then
2664
2665
if DA == false then
2666
DA = true
2667
RUS:Play()
2668
attack=true
2669
humanoid.WalkSpeed = 0
2670
head.face.Texture = "http://www.roblox.com/asset/?id=393521316"
2671
else
2672
DA = false
2673
RUS:Stop()
2674
attack=false
2675
humanoid.WalkSpeed = 16
2676
head.face.Texture = "http://www.roblox.com/asset/?id=156600391"
2677
end
2678
	end
2679
	end
2680
	end)
2681
2682
2683
2684
mouse.KeyDown:connect(function(key)
2685
2686
	if key == "t" and attack == false then
2687
		Taunt:Play()
2688
		humanoid.WalkSpeed = 0
2689
		attack = true 
2690
		No1()
2691
		Yes2()
2692
		attack = false 
2693
		humanoid.WalkSpeed = 16
2694
	end
2695
end)
2696
2697
mouse.KeyDown:connect(function(key)
2698
	if key == "z" then
2699
		
2700
		
2701
		
2702
	if	NoSentry == false and attack == false and wait2 == false  then
2703
wait2 = true	
2704
	for i,v in pairs(script:children()) do
2705
		if (v:IsA'Model') then
2706
			
2707
			
2708
				for i,v in pairs(v:children()) do
2709
					if (v:IsA'Humanoid') then
2710
					v.Health = 0
2711
				end
2712
			end
2713
			
2714
			
2715
		end
2716
		
2717
	NoSentry = true	
2718
		
2719
	end	
2720
		
2721
		
2722
		
2723
	end
2724
		
2725
		
2726
	
2727
		if NoSentry == true and attack == false and wait2 == false and Wep == 1  then
2728
		attack = true
2729
		 wait2 = true
2730
		humanoid.WalkSpeed = 0
2731
AnimSit()
2732
AnimSitHit1()
2733
WSH = WSHM[math.random(1,#WSHM)]
2734
HitM.SoundId = "rbxassetid://"..WSH
2735
HitM:Play()	
2736
BuildNow = true
2737
AnimSitHit2()		
2738
AnimSitHit1()
2739
WSH = WSHM[math.random(1,#WSHM)]
2740
HitM.SoundId = "rbxassetid://"..WSH
2741
HitM:Play()	
2742
AnimSitHit2()		
2743
AnimSitHit1()
2744
WSH = WSHM[math.random(1,#WSHM)]
2745
HitM.SoundId = "rbxassetid://"..WSH
2746
HitM:Play()	
2747
AnimSitHit2()	
2748
AnimSitHit1()
2749
WSH = WSHM[math.random(1,#WSHM)]
2750
HitM.SoundId = "rbxassetid://"..WSH
2751
HitM:Play()	
2752
AnimSitHit2()
2753
AnimSitHit1()
2754
WSH = WSHM[math.random(1,#WSHM)]
2755
HitM.SoundId = "rbxassetid://"..WSH
2756
HitM:Play()	
2757
AnimSitHit2()
2758
AnimSitHit1()
2759
WSH = WSHM[math.random(1,#WSHM)]
2760
HitM.SoundId = "rbxassetid://"..WSH
2761
HitM:Play()	
2762
AnimSitHit2()	
2763
AnimSitHit1()
2764
WSH = WSHM[math.random(1,#WSHM)]
2765
HitM.SoundId = "rbxassetid://"..WSH
2766
HitM:Play()	
2767
AnimSitHit2()
2768
AnimSitHit1()
2769
WSH = WSHM[math.random(1,#WSHM)]
2770
HitM.SoundId = "rbxassetid://"..WSH
2771
HitM:Play()	
2772
AnimSitHit2()
2773
AnimSitHit1()
2774
WSH = WSHM[math.random(1,#WSHM)]
2775
HitM.SoundId = "rbxassetid://"..WSH
2776
HitM:Play()	
2777
AnimSitHit2()
2778
AnimSitHit1()
2779
WSH = WSHM[math.random(1,#WSHM)]
2780
HitM.SoundId = "rbxassetid://"..WSH
2781
HitM:Play()	
2782
AnimSitHit2()
2783
AnimSit()			
2784
2785
	humanoid.WalkSpeed = 16		
2786
		attack = false
2787
NoSentry = false
2788
2789
		end
2790
		wait()
2791
		
2792
		wait2 = false
2793
end end)
2794
2795
2796
2797
humanoid.Died:connect(function()
2798
	Arms:Destroy()
2799
end)
2800
2801
print([[
2802
	
2803
	
2804
----------------------------------------
2805
Tf2 Engineer Class
2806
----------------------------------------
2807
Script by: 123jl123	
2808
Sentry by: Madiik
2809
TheBoozled gave me a Mesh and Sounds from tf2 
2810
----------------------------------------
2811
Dont leak and dont do it.....
2812
----------------------------------------
2813
]])
2814
2815
game:GetService("RunService"):BindToRenderStep("ew", 0, function()
2816
	MusThingHat.Mesh.Scale = Vector3.new(MusThingHat.Mesh.Scale.X, RUS.PlaybackLoudness / 160, MusThingHat.Mesh.Scale.Z)
2817
end)
2818
2819
	local mesh1anan = Instance.new("SpecialMesh")
2820
	mesh1anan.MeshType = Enum.MeshType.FileMesh
2821
	mesh1anan.Scale = Vector3.new(3,3,3)
2822
mesh1anan.MeshId = "http://www.roblox.com/asset/?id=521754610"
2823
mesh1anan.TextureId = "http://www.roblox.com/asset/?id=521754612"
2824
2825
Glow1 = Color3.new(1,1,1)
2826
Glow2 = Color3.new(0,0,0)
2827
2828
GlowParticle = Instance.new("ParticleEmitter")
2829
GlowParticle.LightEmission = 1
2830
2831
GlowParticle.Size = NumberSequence.new(0,2)
2832
GlowParticle.Texture = "http://www.roblox.com/asset/?id=52620985"
2833
GlowParticle.Transparency = NumberSequence.new(0,1)
2834
GlowParticle.LockedToPart = false
2835
GlowParticle.Lifetime = NumberRange.new(0.5)
2836
GlowParticle.Rate= 25
2837
GlowParticle.Speed =NumberRange.new(0)	
2838
	
2839
	
2840
	function RainDucks()
2841
	        local locationanan = char.Torso.CFrame
2842
	        local tacoa = Instance.new("Part")
2843
	        tacoa.Size = Vector3.new(.5,.5,.5)
2844
	        tacoa.CanCollide = false
2845
	        tacoa.RotVelocity = Vector3.new(math.random(0,6),math.random(0,6),math.random(0,6))
2846
	        local meshanananan = mesh1anan:clone()
2847
	        meshanananan.Parent = tacoa
2848
	        meshanananan.Scale = Vector3.new(1,1,1)
2849
	        tacoa.CFrame = locationanan * CFrame.new(math.random(-8,8),math.random(10,40),math.random(-8,8))
2850
	        tacoa.Parent = workspace
2851
	       
2852
2853
	        game:GetService("Debris"):AddItem(tacoa,4)	
2854
	 local GP = GlowParticle:clone()
2855
    GP.Parent = tacoa
2856
	Glow1 = Color3.new(math.random(), math.random(), math.random())
2857
	GP.Color = ColorSequence.new(Glow1,Glow2)
2858
	
2859
	end
2860
	
2861
	
2862
	
2863
--]]
2864
2865
2866
2867
while true do wait() 
2868
	if BuildNow == true then
2869
	BuildNow = false
2870
2871
BuildSentry()		
2872
	end
2873
	if Shotuse == true then
2874
		Shotuse	= false	
2875
		attack = true 
2876
		ShotAttackAnim1()
2877
		GunParticle.Enabled = false
2878
		ShotAttackAnim2()
2879
		ShotAttackAnim3()
2880
		ShotAttackAnim4()
2881
		ShotAttackAnim3()
2882
		attack = false 
2883
	end
2884
	
2885
	
2886
	
2887
	
2888
if DA == true then
2889
DanAni1()	
2890
	RainDucks()	
2891
            local PointLight = Instance.new("PointLight", Torso);
2892
            PointLight.Color = Color3.new(math.random(), math.random(), math.random())
2893
            PointLight.Brightness = 50;
2894
            PointLight.Range = MusThingHat.Mesh.Scale.Y*10;
2895
            game:service'Debris':AddItem(PointLight, .3);
2896
	
2897
DanAni2()	
2898
	RainDucks()
2899
            local PointLight = Instance.new("PointLight", Torso);
2900
            PointLight.Color = Color3.new(math.random(), math.random(), math.random())
2901
            PointLight.Brightness = 50;
2902
            PointLight.Range = MusThingHat.Mesh.Scale.Y*10;
2903
            game:service'Debris':AddItem(PointLight, .3);
2904
	
2905
2906
	
2907
end	
2908
	
2909
2910
	
2911
	
2912
	
2913
	
2914
end