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