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