View difference between Paste ID: kgr9uL0C and 5uySdesK
SHOW: | | - or go back to the newest paste.
1
--Enjoy Skiders
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("Made By TaiShi,Enjoy Skiders!")
7
    print("Version 3 FE Script")
8
	local rp = RealPlayer
9
	script.Parent = rp.Character
10
	
11
	--RemoteEvent for communicating
12
	local Event = Instance.new("RemoteEvent")
13
	Event.Name = "UserInput_Event"
14
15
	--Fake event to make stuff like Mouse.KeyDown work
16
	local function fakeEvent()
17
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
18
		t.connect = t.Connect
19
		return t
20
	end
21
22
	--Creating fake input objects with fake variables
23
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
24
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
25
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
26
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
27
	end}
28
	--Merged 2 functions into one by checking amount of arguments
29
	CAS.UnbindAction = CAS.BindAction
30
31
	--This function will trigger the events that have been :Connect()'ed
32
	local function te(self,ev,...)
33
		local t = m[ev]
34
		if t and t._fakeEvent then
35
			for _,f in pairs(t.Functions) do
36
				f(...)
37
			end
38
		end
39
	end
40
	m.TrigEvent = te
41
	UIS.TrigEvent = te
42
43
	Event.OnServerEvent:Connect(function(plr,io)
44
	    if plr~=rp then return end
45
		m.Target = io.Target
46
		m.Hit = io.Hit
47
		if not io.isMouse then
48
			local b = io.UserInputState == Enum.UserInputState.Begin
49
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
50
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
51
			end
52
			for _,t in pairs(CAS.Actions) do
53
				for _,k in pairs(t.Keys) do
54
					if k==io.KeyCode then
55
						t.Function(t.Name,io.UserInputState,io)
56
					end
57
				end
58
			end
59
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
60
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
61
	    end
62
	end)
63
	Event.Parent = NLS([==[
64
	local Player = game:GetService("Players").LocalPlayer
65
	local Event = script:WaitForChild("UserInput_Event")
66
67
	local Mouse = Player:GetMouse()
68
	local UIS = game:GetService("UserInputService")
69
	local input = function(io,a)
70
		if a then return end
71
		--Since InputObject is a client-side instance, we create and pass table instead
72
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
73
	end
74
	UIS.InputBegan:Connect(input)
75
	UIS.InputEnded:Connect(input)
76
77
	local h,t
78
	--Give the server mouse data 30 times every second, but only if the values changed
79
	--If player is not moving their mouse, client won't fire events
80
	while wait(1/30) do
81
		if h~=Mouse.Hit or t~=Mouse.Target then
82
			h,t=Mouse.Hit,Mouse.Target
83
			Event:FireServer({isMouse=true,Target=t,Hit=h})
84
		end
85
	end]==],Player.Character)
86
87
	----Sandboxed game object that allows the usage of client-side methods and services
88
	--Real game object
89
	local _rg = game
90
91
	--Metatable for fake service
92
	local fsmt = {
93
		__index = function(self,k)
94
			local s = rawget(self,"_RealService")
95
			if s then return s[k] end
96
		end,
97
		__newindex = function(self,k,v)
98
			local s = rawget(self,"_RealService")
99
			if s then s[k]=v end
100
		end,
101
		__call = function(self,...)
102
			local s = rawget(self,"_RealService")
103
			if s then return s(...) end
104
		end
105
	}
106
	local function FakeService(t,RealService)
107
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
108
		return setmetatable(t,fsmt)
109
	end
110
111
	--Fake game object
112
	local g = {
113
		GetService = function(self,s)
114
			return self[s]
115
		end,
116
		Players = FakeService({
117
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
118
		},"Players"),
119
		UserInputService = FakeService(UIS,"UserInputService"),
120
		ContextActionService = FakeService(CAS,"ContextActionService"),
121
	}
122
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
123
	g.service = g.GetService
124
	
125
	g.RunService = FakeService({
126
		RenderStepped = _rg:GetService("RunService").Heartbeat,
127
		BindToRenderStep = function(self,name,_,fun)
128
129
		end,
130
		UnbindFromRenderStep = function(self,name)
131
			self._btrs[name]:Disconnect()
132
		end,
133
	},"RunService")
134
135
	setmetatable(g,{
136
		__index=function(self,s)
137
			return _rg:GetService(s) or typeof(_rg[s])=="function"
138
			and function(_,...)return _rg[s](_rg,...)end or _rg[s]
139
		end,
140
		__newindex = fsmt.__newindex,
141
		__call = fsmt.__call
142
	})
143
	--Changing owner to fake player object to support owner:GetMouse()
144
	game,owner = g,g.Players.LocalPlayer
145
end
146
--//====================================================\\--
147
--||			   CREATED BY SHACKLUSTER
148
--\\====================================================//--
149
150
wait(0.2)
151
152
Player = owner
153
PlayerGui = Player.PlayerGui
154
Cam = workspace.CurrentCamera
155
Backpack = Player.Backpack
156
Character = Player.Character
157
Humanoid = Character.Humanoid
158
Mouse = Player:GetMouse()
159
RootPart = Character["HumanoidRootPart"]
160
Torso = Character["Torso"]
161
Head = Character["Head"]
162
RightArm = Character["Right Arm"]
163
LeftArm = Character["Left Arm"]
164
RightLeg = Character["Right Leg"]
165
LeftLeg = Character["Left Leg"]
166
RootJoint = RootPart["RootJoint"]
167
Neck = Torso["Neck"]
168
RightShoulder = Torso["Right Shoulder"]
169
LeftShoulder = Torso["Left Shoulder"]
170
RightHip = Torso["Right Hip"]
171
LeftHip = Torso["Left Hip"]
172
173
IT = Instance.new
174
CF = CFrame.new
175
VT = Vector3.new
176
RAD = math.rad
177
C3 = Color3.new
178
UD2 = UDim2.new
179
BRICKC = BrickColor.new
180
ANGLES = CFrame.Angles
181
EULER = CFrame.fromEulerAnglesXYZ
182
COS = math.cos
183
ACOS = math.acos
184
SIN = math.sin
185
ASIN = math.asin
186
ABS = math.abs
187
MRANDOM = math.random
188
FLOOR = math.floor
189
190
--//=================================\\
191
--|| 	      USEFUL VALUES
192
--\\=================================//
193
194
Animation_Speed = 3
195
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
196
local Speed = 12
197
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
198
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
199
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
200
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
201
local DAMAGEMULTIPLIER = 1
202
local ANIM = "Idle"
203
local ATTACK = false
204
local EQUIPPED = false
205
local HOLD = false
206
local COMBO = 1
207
local Rooted = false
208
local SINE = 0
209
local KEYHOLD = false
210
local CHANGE = 2 / Animation_Speed
211
local WALKINGANIM = false
212
local VALUE1 = false
213
local VALUE2 = false
214
local ROBLOXIDLEANIMATION = IT("Animation")
215
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
216
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
217
--ROBLOXIDLEANIMATION.Parent = Humanoid
218
local WEAPONGUI = IT("ScreenGui", PlayerGui)
219
WEAPONGUI.Name = "Weapon GUI"
220
local Weapon = IT("Model")
221
Weapon.Name = "Adds"
222
local Effects = IT("Folder", Weapon)
223
Effects.Name = "Effects"
224
local ANIMATOR = Humanoid.Animator
225
local ANIMATE = Character.Animate
226
local UNANCHOR = true
227
local PLAYANIMS = true
228
local CLOAKED = false
229
230
--//=================================\\
231
--\\=================================//
232
233
234
--//=================================\\
235
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
236
--\\=================================//
237
238
ArtificialHB = Instance.new("BindableEvent", script)
239
ArtificialHB.Name = "ArtificialHB"
240
241
script:WaitForChild("ArtificialHB")
242
243
frame = Frame_Speed
244
tf = 0
245
allowframeloss = false
246
tossremainder = false
247
lastframe = tick()
248
script.ArtificialHB:Fire()
249
250
game:GetService("RunService").Heartbeat:connect(function(s, p)
251
	tf = tf + s
252
	if tf >= frame then
253
		if allowframeloss then
254
			script.ArtificialHB:Fire()
255
			lastframe = tick()
256
		else
257
			for i = 1, math.floor(tf / frame) do
258
				script.ArtificialHB:Fire()
259
			end
260
		lastframe = tick()
261
		end
262
		if tossremainder then
263
			tf = 0
264
		else
265
			tf = tf - frame * math.floor(tf / frame)
266
		end
267
	end
268
end)
269
270
--//=================================\\
271
--\\=================================//
272
273
--//=================================\\
274
--|| 	      SOME FUNCTIONS
275
--\\=================================//
276
277
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
278
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
279
end
280
281
function PositiveAngle(NUMBER)
282
	if NUMBER >= 0 then
283
		NUMBER = 0
284
	end
285
	return NUMBER
286
end
287
288
function NegativeAngle(NUMBER)
289
	if NUMBER <= 0 then
290
		NUMBER = 0
291
	end
292
	return NUMBER
293
end
294
295
function Swait(NUMBER)
296
	if NUMBER == 0 or NUMBER == nil then
297
		ArtificialHB.Event:wait()
298
	else
299
		for i = 1, NUMBER do
300
			ArtificialHB.Event:wait()
301
		end
302
	end
303
end
304
305
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
306
	local NEWMESH = IT(MESH)
307
	if MESH == "SpecialMesh" then
308
		NEWMESH.MeshType = MESHTYPE
309
		if MESHID ~= "nil" and MESHID ~= "" then
310
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
311
		end
312
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
313
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
314
		end
315
	end
316
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
317
	NEWMESH.Scale = SCALE
318
	NEWMESH.Parent = PARENT
319
	return NEWMESH
320
end
321
322
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
323
	local NEWPART = IT("Part")
324
	NEWPART.formFactor = FORMFACTOR
325
	NEWPART.Reflectance = REFLECTANCE
326
	NEWPART.Transparency = TRANSPARENCY
327
	NEWPART.CanCollide = false
328
	NEWPART.Locked = true
329
	NEWPART.Anchored = true
330
	if ANCHOR == false then
331
		NEWPART.Anchored = false
332
	end
333
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
334
	NEWPART.Name = NAME
335
	NEWPART.Size = SIZE
336
	NEWPART.Position = Torso.Position
337
	NEWPART.Material = MATERIAL
338
	NEWPART:BreakJoints()
339
	NEWPART.Parent = PARENT
340
	return NEWPART
341
end
342
343
	local function weldBetween(a, b)
344
	    local weldd = Instance.new("ManualWeld")
345
	    weldd.Part0 = a
346
	    weldd.Part1 = b
347
	    weldd.C0 = CFrame.new()
348
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
349
	    weldd.Parent = a
350
	    return weldd
351
	end
352
353
354
function QuaternionFromCFrame(cf)
355
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
356
	local trace = m00 + m11 + m22
357
	if trace > 0 then 
358
		local s = math.sqrt(1 + trace)
359
		local recip = 0.5 / s
360
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
361
	else
362
		local i = 0
363
		if m11 > m00 then
364
			i = 1
365
		end
366
		if m22 > (i == 0 and m00 or m11) then
367
			i = 2
368
		end
369
		if i == 0 then
370
			local s = math.sqrt(m00 - m11 - m22 + 1)
371
			local recip = 0.5 / s
372
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
373
		elseif i == 1 then
374
			local s = math.sqrt(m11 - m22 - m00 + 1)
375
			local recip = 0.5 / s
376
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
377
		elseif i == 2 then
378
			local s = math.sqrt(m22 - m00 - m11 + 1)
379
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
380
		end
381
	end
382
end
383
 
384
function QuaternionToCFrame(px, py, pz, x, y, z, w)
385
	local xs, ys, zs = x + x, y + y, z + z
386
	local wx, wy, wz = w * xs, w * ys, w * zs
387
	local xx = x * xs
388
	local xy = x * ys
389
	local xz = x * zs
390
	local yy = y * ys
391
	local yz = y * zs
392
	local zz = z * zs
393
	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))
394
end
395
 
396
function QuaternionSlerp(a, b, t)
397
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
398
	local startInterp, finishInterp;
399
	if cosTheta >= 0.0001 then
400
		if (1 - cosTheta) > 0.0001 then
401
			local theta = ACOS(cosTheta)
402
			local invSinTheta = 1 / SIN(theta)
403
			startInterp = SIN((1 - t) * theta) * invSinTheta
404
			finishInterp = SIN(t * theta) * invSinTheta
405
		else
406
			startInterp = 1 - t
407
			finishInterp = t
408
		end
409
	else
410
		if (1 + cosTheta) > 0.0001 then
411
			local theta = ACOS(-cosTheta)
412
			local invSinTheta = 1 / SIN(theta)
413
			startInterp = SIN((t - 1) * theta) * invSinTheta
414
			finishInterp = SIN(t * theta) * invSinTheta
415
		else
416
			startInterp = t - 1
417
			finishInterp = t
418
		end
419
	end
420
	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
421
end
422
423
function Clerp(a, b, t)
424
	local qa = {QuaternionFromCFrame(a)}
425
	local qb = {QuaternionFromCFrame(b)}
426
	local ax, ay, az = a.x, a.y, a.z
427
	local bx, by, bz = b.x, b.y, b.z
428
	local _t = 1 - t
429
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
430
end
431
432
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
433
	local frame = IT("Frame")
434
	frame.BackgroundTransparency = TRANSPARENCY
435
	frame.BorderSizePixel = BORDERSIZEPIXEL
436
	frame.Position = POSITION
437
	frame.Size = SIZE
438
	frame.BackgroundColor3 = COLOR
439
	frame.BorderColor3 = BORDERCOLOR
440
	frame.Name = NAME
441
	frame.Parent = PARENT
442
	return frame
443
end
444
445
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
446
	local label = IT("TextLabel")
447
	label.BackgroundTransparency = 1
448
	label.Size = UD2(1, 0, 1, 0)
449
	label.Position = UD2(0, 0, 0, 0)
450
	label.TextColor3 = TEXTCOLOR
451
	label.TextStrokeTransparency = STROKETRANSPARENCY
452
	label.TextTransparency = TRANSPARENCY
453
	label.FontSize = TEXTFONTSIZE
454
	label.Font = TEXTFONT
455
	label.BorderSizePixel = BORDERSIZEPIXEL
456
	label.TextScaled = false
457
	label.Text = TEXT
458
	label.Name = NAME
459
	label.Parent = PARENT
460
	return label
461
end
462
463
function NoOutlines(PART)
464
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
465
end
466
467
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
468
	local NEWWELD = IT(TYPE)
469
	NEWWELD.Part0 = PART0
470
	NEWWELD.Part1 = PART1
471
	NEWWELD.C0 = C0
472
	NEWWELD.C1 = C1
473
	NEWWELD.Parent = PARENT
474
	return NEWWELD
475
end
476
477
local S = IT("Sound")
478
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
479
	local NEWSOUND = nil
480
	coroutine.resume(coroutine.create(function()
481
		NEWSOUND = S:Clone()
482
		NEWSOUND.Parent = PARENT
483
		NEWSOUND.Volume = VOLUME
484
		NEWSOUND.Pitch = PITCH
485
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
486
		NEWSOUND:play()
487
		if DOESLOOP == true then
488
			NEWSOUND.Looped = true
489
		else
490
			repeat wait(1) until NEWSOUND.Playing == false
491
			NEWSOUND:remove()
492
		end
493
	end))
494
	return NEWSOUND
495
end
496
497
function MakeForm(PART,TYPE)
498
	if TYPE == "Cyl" then
499
		local MSH = IT("CylinderMesh",PART)
500
	elseif TYPE == "Ball" then
501
		local MSH = IT("SpecialMesh",PART)
502
		MSH.MeshType = "Sphere"
503
	elseif TYPE == "Wedge" then
504
		local MSH = IT("SpecialMesh",PART)
505
		MSH.MeshType = "Wedge"
506
	end
507
end
508
509
function CFrameFromTopBack(at, top, back)
510
	local right = top:Cross(back)
511
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
512
end
513
514
function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
515
	local HITFLOOR, HITPOS, NORMAL = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
516
	if HITFLOOR ~= nil then
517
		if HITFLOOR.Parent ~= Weapon and HITFLOOR.Parent ~= Character then
518
			if HITFLOOR.Name == "BloodPuddle" then
519
				local DIST = (Position - HITFLOOR.Position).Magnitude
520
				if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
521
					HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
522
				end
523
			else
524
				if HITFLOOR.Anchored == true then
525
					local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Lime green", "BloodPuddle", VT(2,0,2))
526
					BLOOD.CFrame = CF(HITPOS,HITPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))
527
					MakeForm(BLOOD,"Cyl")
528
					coroutine.resume(coroutine.create(function()
529
						Swait(75)
530
						while true do
531
							Swait()
532
							BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
533
							if BLOOD.Size.Z < 0.051 then
534
								BLOOD:remove()
535
								break
536
							end
537
						end
538
					end))
539
				end
540
			end
541
		end
542
	end
543
end
544
545
function SprayBlood(POSITION,DIRECTION,BloodSize)
546
	local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Lime green", "BloodPuddle", VT(0.3,0.3,0.3),false)
547
	BLOOD.CFrame = CF(POSITION)
548
	MakeForm(BLOOD,"Ball")
549
	local bv = Instance.new("BodyVelocity",BLOOD) 
550
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
551
	bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3)/30,MRANDOM(-3,3)/30,MRANDOM(-3,3)/30)).lookVector*75
552
	bv.Name = "MOVE"
553
	Debris:AddItem(bv,0.05)
554
	coroutine.resume(coroutine.create(function()
555
		local HASTOUCHEDGROUND = false
556
		local HIT = BLOOD.Touched:Connect(function(hit)
557
			if hit.Anchored == true then
558
				HASTOUCHEDGROUND = true
559
				PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
560
			end
561
		end)
562
		wait(5)
563
		if HASTOUCHEDGROUND == false then
564
			BLOOD:remove()
565
		end
566
	end))
567
end
568
569
Debris = game:GetService("Debris")
570
571
function CastProperRay(StartPos, EndPos, Distance, Ignore)
572
	local DIRECTION = CF(StartPos,EndPos).lookVector
573
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
574
end
575
576
function turnto(position)
577
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
578
end
579
580
function recurse(root,callback,i)
581
	i= i or 0
582
	for _,v in pairs(root:GetChildren()) do
583
		i = i + 1
584
		callback(i,v)
585
		
586
		if #v:GetChildren() > 0 then
587
			i = recurse(v,callback,i)
588
		end
589
	end
590
	
591
	return i
592
end
593
594
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
595
	attachmentName = attachmentName.."RigAttachment"
596
	local constraint = Instance.new(className.."Constraint")
597
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
598
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
599
	constraint.Name = "RagdollConstraint"..part1.Name
600
	
601
	for _,propertyData in next,properties or {} do
602
		constraint[propertyData[1]] = propertyData[2]
603
	end
604
	
605
	constraint.Parent = character
606
end
607
608
function getAttachment0(character, attachmentName)
609
	for _,child in next,character:GetChildren() do
610
		local attachment = child:FindFirstChild(attachmentName)
611
		if attachment then
612
			return attachment
613
		end
614
	end
615
end
616
617
function R15Ragdoll(character)
618
	recurse(character, function(_,v)
619
		if v:IsA("Attachment") then
620
			v.Axis = Vector3.new(0, 1, 0)
621
			v.SecondaryAxis = Vector3.new(0, 0, 1)
622
			v.Rotation = Vector3.new(0, 0, 0)
623
		end
624
	end)
625
	for _,child in next,character:GetChildren() do
626
		if child:IsA("Accoutrement") then
627
			for _,part in next,child:GetChildren() do
628
				if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
629
					local attachment1 = part:FindFirstChildOfClass("Attachment")
630
					local attachment0 = getAttachment0(character,attachment1.Name)
631
					if attachment0 and attachment1 then
632
						local constraint = Instance.new("HingeConstraint")
633
						constraint.Attachment0 = attachment0
634
						constraint.Attachment1 = attachment1
635
						constraint.LimitsEnabled = true
636
						constraint.UpperAngle = 0
637
						constraint.LowerAngle = 0
638
						constraint.Parent = character
639
					end
640
				elseif part.Name == "HumanoidRootPart" then
641
					part:remove()
642
				end
643
			end
644
		end
645
	end
646
	
647
	ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
648
		{"LimitsEnabled",true};
649
		{"UpperAngle",5};
650
	})
651
	ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
652
		{"LimitsEnabled",true};
653
		{"UpperAngle",15};
654
	})
655
	
656
	local handProperties = {
657
		{"LimitsEnabled", true};
658
		{"UpperAngle",0};
659
		{"LowerAngle",0};
660
	}
661
	ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
662
	ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
663
	
664
	local shinProperties = {
665
		{"LimitsEnabled", true};
666
		{"UpperAngle", 0};
667
		{"LowerAngle", -75};
668
	}
669
	ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
670
	ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
671
	
672
	local footProperties = {
673
		{"LimitsEnabled", true};
674
		{"UpperAngle", 15};
675
		{"LowerAngle", -45};
676
	}
677
	ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
678
	ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
679
	
680
	ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
681
	ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
682
	ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
683
	ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
684
	ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
685
	ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
686
end
687
688
function Ragdoll(Character2,CharTorso)
689
	Character2:BreakJoints()
690
	local hum = Character2:findFirstChild("Humanoid")
691
	hum:remove()
692
	local function Scan(ch)
693
		local e
694
		for e = 1,#ch do
695
			Scan(ch[e]:GetChildren())
696
			if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
697
				ch[e]:remove()
698
			end
699
		end
700
	end
701
	local NEWHUM = IT("Humanoid")
702
	NEWHUM.Name = "Corpse"
703
	NEWHUM.Health = 0
704
	NEWHUM.MaxHealth = 0
705
	NEWHUM.PlatformStand = true
706
	NEWHUM.Parent = Character2
707
	NEWHUM.DisplayDistanceType = "None"
708
709
	local ch = Character2:GetChildren()
710
	local i
711
	for i = 1,#ch do
712
		if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
713
			ch[i]:remove()
714
		end
715
	end
716
717
	local Torso2 = Character2.Torso
718
	local movevector = Vector3.new()
719
720
	if Torso2 then
721
		movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
722
		local Head = Character2:FindFirstChild("Head")
723
		if Head then
724
			local Neck = Instance.new("Weld")
725
			Neck.Name = "Neck"
726
			Neck.Part0 = Torso2
727
			Neck.Part1 = Head
728
			Neck.C0 = CFrame.new(0, 1.5, 0)
729
			Neck.C1 = CFrame.new()
730
			Neck.Parent = Torso2
731
732
		end
733
		local Limb = Character2:FindFirstChild("Right Arm")
734
		if Limb then
735
736
			Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
737
			local Joint = Instance.new("Glue")
738
			Joint.Name = "RightShoulder"
739
			Joint.Part0 = Torso2
740
			Joint.Part1 = Limb
741
			Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
742
			Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
743
			Joint.Parent = Torso2
744
745
			local B = Instance.new("Part")
746
			B.TopSurface = 0
747
			B.BottomSurface = 0
748
			B.formFactor = "Symmetric"
749
			B.Size = Vector3.new(1, 1, 1)
750
			B.Transparency = 1
751
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
752
			B.Parent = Character2
753
			local W = Instance.new("Weld")
754
			W.Part0 = Limb
755
			W.Part1 = B
756
			W.C0 = CFrame.new(0, -0.5, 0)
757
			W.Parent = Limb
758
759
		end
760
		local Limb = Character2:FindFirstChild("Left Arm")
761
		if Limb then
762
763
			Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
764
			local Joint = Instance.new("Glue")
765
			Joint.Name = "LeftShoulder"
766
			Joint.Part0 = Torso2
767
			Joint.Part1 = Limb
768
			Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
769
			Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
770
			Joint.Parent = Torso2
771
772
			local B = Instance.new("Part")
773
			B.TopSurface = 0
774
			B.BottomSurface = 0
775
			B.formFactor = "Symmetric"
776
			B.Size = Vector3.new(1, 1, 1)
777
			B.Transparency = 1
778
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
779
			B.Parent = Character2
780
			local W = Instance.new("Weld")
781
			W.Part0 = Limb
782
			W.Part1 = B
783
			W.C0 = CFrame.new(0, -0.5, 0)
784
			W.Parent = Limb
785
786
		end
787
		local Limb = Character2:FindFirstChild("Right Leg")
788
		if Limb then
789
790
			Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
791
			local Joint = Instance.new("Glue")
792
			Joint.Name = "RightHip"
793
			Joint.Part0 = Torso2
794
			Joint.Part1 = Limb
795
			Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
796
			Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
797
			Joint.Parent = Torso2
798
799
			local B = Instance.new("Part")
800
			B.TopSurface = 0
801
			B.BottomSurface = 0
802
			B.formFactor = "Symmetric"
803
			B.Size = Vector3.new(1, 1, 1)
804
			B.Transparency = 1
805
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
806
			B.Parent = Character2
807
			local W = Instance.new("Weld")
808
			W.Part0 = Limb
809
			W.Part1 = B
810
			W.C0 = CFrame.new(0, -0.5, 0)
811
			W.Parent = Limb
812
813
		end
814
		local Limb = Character2:FindFirstChild("Left Leg")
815
		if Limb then
816
817
			Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
818
			local Joint = Instance.new("Glue")
819
			Joint.Name = "LeftHip"
820
			Joint.Part0 = Torso2
821
			Joint.Part1 = Limb
822
			Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
823
			Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
824
			Joint.Parent = Torso2
825
826
			local B = Instance.new("Part")
827
			B.TopSurface = 0
828
			B.BottomSurface = 0
829
			B.formFactor = "Symmetric"
830
			B.Size = Vector3.new(1, 1, 1)
831
			B.Transparency = 1
832
			B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
833
			B.Parent = Character2
834
			local W = Instance.new("Weld")
835
			W.Part0 = Limb
836
			W.Part1 = B
837
			W.C0 = CFrame.new(0, -0.5, 0)
838
			W.Parent = Limb
839
840
		end
841
		--[
842
		local Bar = Instance.new("Part")
843
		Bar.TopSurface = 0
844
		Bar.BottomSurface = 0
845
		Bar.formFactor = "Symmetric"
846
		Bar.Size = Vector3.new(1, 1, 1)
847
		Bar.Transparency = 1
848
		Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
849
		Bar.Parent = Character2
850
		local Weld = Instance.new("Weld")
851
		Weld.Part0 = Torso2
852
		Weld.Part1 = Bar
853
		Weld.C0 = CFrame.new(0, 0.5, 0)
854
		Weld.Parent = Torso2
855
		--]]
856
	end
857
	Character2.Parent = workspace
858
	Debris:AddItem(Character2,5)
859
860
	return Character2,Torso2
861
end
862
863
local music = Instance.new("Sound", game.Players.LocalPlayer.Character)
864-
music.SoundId = "rbxassetid://950987623"
864+
music.SoundId = "rbxassetid://933032912"
865
music.Volume = 10
866
music:Play()
867
music.Looped = true
868
869
870
--//=================================\\
871
--||	     WEAPON CREATION
872
--\\=================================//
873
874
local Knife = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,1.2,0.2),false)
875
local Grip = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Knife, CF(0,-1.2, -0.5) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, 0.3, 0))
876-
CreateMesh("SpecialMesh", Knife, "FileMesh", "470094777", "470149026", VT(0.2,0.2,0.2), VT(0,0,0))
876+
CreateMesh("SpecialMesh", Knife, "FileMesh", "64131019", "64131051", VT(0.2,0.2,0.2), VT(0,0,0))
877
local A = IT("Attachment",Knife)
878
A.Position = VT(-0, 0.2, 0.136)
879
local B = IT("Attachment",Knife)
880
B.Position = VT(-0, -0.95, -0.982)
881
local Trail = IT("Trail",Knife)
882
Trail.Attachment0 = B
883
Trail.Attachment1 = A
884
Trail.Lifetime = 0.1
885
Trail.Transparency = NumberSequence.new(0.5, 1)
886
Trail.Texture = "http://www.roblox.com/asset/?id=1472703539"
887
Trail.Enabled = true
888
Humanoid.DisplayDistanceType = "None"
889
Humanoid.MaxHealth = 9999999999999
890
Humanoid.Health = 9999999999999
891
892
local STEP = CreateSound(131436155, Torso, 3, 1, true)
893
STEP.Playing = false
894
STEP.Looped = false
895
local STEPPING = false
896
Humanoid.Running:Connect(function(speed)
897
	if STEPPING == false then
898
		STEPPING = true
899
		repeat
900
			local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
901
			wait(8/TORSOVELOCITY)
902
			local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
903
			if TORSOVELOCITY > 1 and Torso.Transparency ~= 1 and HITFLOOR ~= nil then
904
				STEP.Parent = Torso
905
				STEP.Pitch = MRANDOM(8,12)/10
906
				STEP:Play()
907
			end
908
		until TORSOVELOCITY < 0.6
909
		STEPPING = false
910
	end
911
end)
912
913
for _, c in pairs(Weapon:GetChildren()) do
914
	if c.ClassName == "Part" then
915
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
916
	end
917
end
918
919
local SKILLTEXTCOLOR = C3(0,0,0)
920
local SKILLFONT = "SciFi"
921
local SKILLTEXTSIZE = 7
922
923
Weapon.Parent = Character
924
925
Humanoid.Died:connect(function()
926
	ATTACK = true
927
end)
928
929
--//=================================\\
930
--||	     DAMAGE FUNCTIONS
931
--\\=================================//
932
933
function StatLabel(CFRAME, TEXT, COLOR)
934
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
935
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
936
	local BODYGYRO = IT("BodyGyro", STATPART)
937
	game:GetService("Debris"):AddItem(STATPART ,5)
938
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
939
	BILLBOARDGUI.Adornee = STATPART
940
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
941
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
942
	BILLBOARDGUI.AlwaysOnTop = false
943
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
944
	TEXTLABEL.BackgroundTransparency = 1
945
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
946
	TEXTLABEL.Text = TEXT
947
	TEXTLABEL.Font = SKILLFONT
948
	TEXTLABEL.FontSize="Size42"
949
	TEXTLABEL.TextColor3 = COLOR
950
	TEXTLABEL.TextStrokeTransparency = 0
951
	TEXTLABEL.TextScaled = true
952
	TEXTLABEL.TextWrapped = true
953
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
954
		for i = 1, 50 do
955
			Swait()
956
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
957
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
958
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
959
		end
960
		THEPART.Parent = nil
961
	end),STATPART, TEXTLABEL)
962
end
963
964
--//=================================\\
965
--||			DAMAGING
966
--\\=================================//
967
968
function ApplyDamage(Humanoid,Damage,TorsoPart)
969
	local defence = Instance.new("BoolValue",Humanoid.Parent)
970
	defence.Name = ("HitBy"..Player.Name)
971
	game:GetService("Debris"):AddItem(defence, 0.001)
972
	Damage = Damage * DAMAGEMULTIPLIER
973
	if Humanoid.Health ~= 0 then
974
		local CritChance = MRANDOM(1,100)
975
		if Damage > Humanoid.Health then
976
			Damage = math.ceil(Humanoid.Health)
977
			if Damage == 0 then
978
				Damage = 0.1
979
			end
980
		end
981
		Humanoid.Health = Humanoid.Health - Damage
982
		StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
983
	end
984
end
985
986
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
987
	local CHILDREN = workspace:GetDescendants()
988
	for index, CHILD in pairs(CHILDREN) do
989
		if CHILD.ClassName == "Model" and CHILD ~= Character then
990
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
991
			if HUM then
992
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
993
				if TORSO then
994
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
995
						if INSTAKILL == true then
996
							CHILD:BreakJoints()
997
						else
998
							local DMG = MRANDOM(MINDMG,MAXDMG)
999
							ApplyDamage(HUM,DMG,TORSO)
1000
						end
1001
						if FLING > 0 then
1002
							for _, c in pairs(CHILD:GetChildren()) do
1003
								if c:IsA("BasePart") then
1004
									local bv = Instance.new("BodyVelocity") 
1005
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1006
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1007
									bv.Parent = c
1008
									Debris:AddItem(bv,0.05)
1009
								end
1010
							end
1011
						end
1012
					end
1013
				end
1014
			end
1015
		end
1016
	end
1017
end
1018
1019
--//=================================\\
1020
--||	ATTACK FUNCTIONS AND STUFF
1021
--\\=================================//
1022
1023
function Cloaked()
1024
	CLOAKED = true
1025
	Speed = 0
1026
	local POS = RootPart.Position
1027
	local DISTANCE = 99999
1028
	for i = 1, 15 do
1029
		wait()
1030
		for _, c in pairs(Character:GetChildren()) do
1031
			if c:IsA("BasePart") and c ~= RootPart then
1032
				c.Transparency = c.Transparency + 1/15
1033
			elseif c.ClassName == "Accessory" then
1034
				c.Handle.Transparency = c.Handle.Transparency + 1/15
1035
			end
1036
		end
1037
		Trail.Transparency = NumberSequence.new(0.5+((i/15)/2), 1)
1038
		Knife.Transparency = Knife.Transparency + 1/15
1039
	end
1040
	Speed = 5
1041
	repeat
1042
		wait()
1043
		DISTANCE = (RootPart.Position - POS).Magnitude
1044
	until DISTANCE > 45 or CLOAKED == false
1045
	Speed = 0
1046
	for i = 1, 15 do
1047
		wait()
1048
		for _, c in pairs(Character:GetChildren()) do
1049
			if c:IsA("BasePart") and c ~= RootPart then
1050
				c.Transparency = 1 - i/15
1051
			elseif c.ClassName == "Accessory" then
1052
				c.Handle.Transparency = 1 - i/15
1053
			end
1054
		end
1055
		Trail.Transparency = NumberSequence.new(1-((0.5/15)*i), 1)
1056
		Knife.Transparency = 1 - i/15
1057
	end
1058
	Speed = 12
1059
	CLOAKED = false
1060
end
1061
1062
function Attack()
1063
	PLAYANIMS = false
1064
	ATTACK = true
1065
	Rooted = false
1066
	local TARGET = nil
1067
	Knife.CanCollide = true
1068
	local HUMAN = nil
1069
	local TORSOPART = nil
1070
	local HIT = Knife.Touched:Connect(function(hit)
1071
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1072
			local HITBODY = hit.Parent
1073
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1074
			local TORSO = HITBODY:FindFirstChild("Torso") or HITBODY:FindFirstChild("UpperTorso")
1075
			if TORSO and HUM.Health > 0 then
1076
				TARGET = HITBODY
1077
				TORSOPART = TORSO
1078
				HUMAN = HUM
1079
			end
1080
		end
1081
	end)
1082
	for i=0, 0.4, 0.1 / Animation_Speed do
1083
		Swait()
1084
		if TARGET then
1085
			break
1086
		end
1087
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1088
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 1 / Animation_Speed)
1089
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1090
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1091
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1092
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1093
	end
1094
	CreateSound(143501853,Knife,2,MRANDOM(8,13)/10,false)
1095
	for i=0, 0.5, 0.1 / Animation_Speed do
1096
		Swait()
1097
		if TARGET then
1098
			break
1099
		end
1100
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
1101
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), 1 / Animation_Speed)
1102
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1103
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.3) * ANGLES(RAD(90), RAD(0), RAD(35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1104
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1105
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1106
	end
1107
	Knife.CanCollide = false
1108
	if TARGET then
1109
		CLOAKED = false
1110
		local DISPOSE = false
1111
		Rooted = true
1112
		coroutine.resume(coroutine.create(function()
1113
			repeat
1114
				Swait()
1115
				if TORSOPART then
1116
					TORSOPART.Anchored = true
1117
					TORSOPART.CFrame = RootPart.CFrame*CF(0,0,-2.2)
1118
				end
1119
			until DISPOSE == true
1120
			TORSOPART.Anchored = false
1121
		end))
1122
		for i=0, 0.5, 0.1 / Animation_Speed do
1123
			Swait()
1124
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1125
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 1 / Animation_Speed)
1126
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.75, -1.3) * ANGLES(RAD(90), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1127
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1128
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1129
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1130
		end
1131
		CreateSound(28144268,Knife,2,MRANDOM(8,13)/10,false)
1132
		CreateSound(180083298,TORSOPART,5,MRANDOM(8,13)/10,false)
1133
		coroutine.resume(coroutine.create(function()
1134
			for i = 1, 750 do
1135
				Swait()
1136
				if HUMAN and TORSOPART then
1137
					if HUMAN.Health > 0 then
1138
						SprayBlood(TORSOPART.CFrame*CF(0,TORSOPART.Size.Y/2,-TORSOPART.Size.Z/2).p,TORSOPART.CFrame*CF(MRANDOM(-3,3)/15,TORSOPART.Size.Y+MRANDOM(-3,3)/35,-TORSOPART.Size.Z*MRANDOM(8,25)/10).p,MRANDOM(15,35)/10)
1139
						HUMAN.Health = HUMAN.Health - 1
1140
						HUMAN.WalkSpeed = MRANDOM(5,45)
1141
					else
1142
						break
1143
					end
1144
				else
1145
					break
1146
				end
1147
			end
1148
			local SCREAMS = {160718677,337800380}
1149
			if HUMAN and TORSOPART then
1150
				if HUMAN.Health == 0 then
1151
					local HEAD = TORSOPART.Parent:FindFirstChild("Head")
1152
					if HEAD then
1153
						CreateSound(SCREAMS[MRANDOM(1,#SCREAMS)],HEAD,5,MRANDOM(13,15)/10,false)
1154
						local FACE = HEAD:FindFirstChild("face")
1155
						if FACE then
1156
							FACE.Texture = "http://www.roblox.com/asset/?id=145854465"
1157
						end
1158
					end
1159
					if TORSOPART.Name == "Torso" then
1160
						Ragdoll(TORSOPART.Parent,Torso)
1161
					elseif TORSOPART.Name == "UpperTorso" then
1162
						R15Ragdoll(TORSOPART.Parent)
1163
					end
1164
				end
1165
				HUMAN.WalkSpeed = 16
1166
			end
1167
		end))
1168
		for i=0, 0.2, 0.1 / Animation_Speed do
1169
			Swait()
1170
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1171
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 1 / Animation_Speed)
1172
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(2, 0.75, -1.3) * ANGLES(RAD(90), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1173
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1174
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1175
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1176
		end
1177
		DISPOSE = true
1178
		local bv = Instance.new("BodyVelocity") 
1179
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1180
		bv.velocity = CF(TORSOPART.Position,TORSOPART.CFrame*CF(0,5,-15).p).lookVector*75
1181
		bv.Parent = TORSOPART
1182
		Debris:AddItem(bv,0.05)
1183
		for i=0, 0.5, 0.1 / Animation_Speed do
1184
			Swait()
1185
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
1186
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 1 / Animation_Speed)
1187
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1188
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1189
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(110), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1190
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1191
		end
1192
	end
1193
	HIT:disconnect()
1194
	ATTACK = false
1195
	Rooted = false
1196
	PLAYANIMS = true
1197
end
1198
1199
function Taunt()
1200
	ATTACK = true
1201
	Rooted = true
1202
	PLAYANIMS = false
1203
	CreateSound(135017578,Torso,5,MRANDOM(8,9)/10,false)
1204
	for i=0, 1, 0.1 / Animation_Speed do
1205
		Swait()
1206
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.8) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1207
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1208
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0, -0.5) * ANGLES(RAD(15), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1209
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0, -0.5) * ANGLES(RAD(15), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1210
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(25), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1211
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-45), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1212
	end
1213
	PLAYANIMS = true
1214
	ATTACK = false
1215
	Rooted = false
1216
end
1217
1218
CV="Lime green"
1219
    Player = game.Players.LocalPlayer
1220
    Character = Player.Character
1221
    local txt = Instance.new("BillboardGui", Character)
1222
    txt.Adornee = Character .Head
1223
    txt.Name = "_status"
1224
    txt.Size = UDim2.new(2, 0, 1.2, 0)
1225
    txt.StudsOffset = Vector3.new(-9, 8, 0)
1226
    local text = Instance.new("TextLabel", txt)
1227
    text.Size = UDim2.new(10, 0, 7, 0)
1228
    text.FontSize = "Size24"
1229
    text.TextScaled = true
1230
    text.TextTransparency = 0
1231
    text.BackgroundTransparency = 1
1232
    text.TextTransparency = 0
1233
    text.TextStrokeTransparency = 0
1234
    text.Font = "Fantasy"
1235
    text.TextStrokeColor3 = Color3.new(0,250,0)
1236
 
1237
    v=Instance.new("Part")
1238
    v.Name = "ColorBrick"
1239
    v.Parent=Player.Character
1240
    v.FormFactor="Symmetric"
1241
    v.Anchored=true
1242
    v.CanCollide=false
1243
    v.BottomSurface="Smooth"
1244
    v.TopSurface="Smooth"
1245
    v.Size=Vector3.new(4,4,4)
1246
    v.Transparency=1
1247
    v.CFrame=Character.Torso.CFrame
1248
    v.BrickColor=BrickColor.new(CV)
1249
    v.Transparency=1
1250
    text.TextColor3 = Color3.new(0,0,0)
1251
    v.Shape="Block"
1252-
    text.Text = "BEN 10"
1252+
    text.Text = "pSyChOpAtH"
1253
-------------------------------------
1254
1255
--//=================================\\
1256
--||	  ASSIGN THINGS TO KEYS
1257
--\\=================================//
1258
1259
function MouseDown(Mouse)
1260
	HOLD = true
1261
	if ATTACK == false then
1262
		Attack()
1263
	end
1264
end
1265
1266
function MouseUp(Mouse)
1267
HOLD = false
1268
end
1269
1270
function KeyDown(Key)
1271
	KEYHOLD = true
1272
	if Key == "z" and ATTACK == false then
1273
		if CLOAKED == false then
1274
			Cloaked()
1275
		else
1276
			CLOAKED = false
1277
		end
1278
	end
1279
1280
	if Key == "t" and ATTACK == false then
1281
		Taunt()
1282
	end
1283
1284
	if string.byte(Key) == 50 and ATTACK == false and CLOAKED == false then
1285
		if Speed == 12 then
1286
			Speed = 30
1287
		elseif Speed == 30 then
1288
			Speed = 14
1289
		end
1290
	end
1291
end
1292
1293
function KeyUp(Key)
1294
	KEYHOLD = false
1295
end
1296
1297
	Mouse.Button1Down:connect(function(NEWKEY)
1298
		MouseDown(NEWKEY)
1299
	end)
1300
	Mouse.Button1Up:connect(function(NEWKEY)
1301
		MouseUp(NEWKEY)
1302
	end)
1303
	Mouse.KeyDown:connect(function(NEWKEY)
1304
		KeyDown(NEWKEY)
1305
	end)
1306
	Mouse.KeyUp:connect(function(NEWKEY)
1307
		KeyUp(NEWKEY)
1308
	end)
1309
1310
--//=================================\\
1311
--\\=================================//
1312
1313
function unanchor()
1314
	if UNANCHOR == true then
1315
		g = Character:GetChildren()
1316
		for i = 1, #g do
1317
			if g[i].ClassName == "Part" then
1318
				g[i].Anchored = false
1319
			end
1320
		end
1321
	end
1322
end
1323
1324
--//=================================\\
1325
--||	WRAP THE WHOLE SCRIPT UP
1326
--\\=================================//
1327
Player_Size = 1
1328
1329
Humanoid.Changed:connect(function(Jump)
1330
    if Jump == "Jump" and (Disable_Jump == true) then
1331
        Humanoid.Jump = false
1332
    end
1333
end)
1334
 
1335
while true do
1336
    Swait()
1337
    script.Parent = WEAPONGUI
1338
    ANIMATE.Parent = nil
1339
    for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1340
        v:Stop();
1341
    end
1342
    SINE = SINE + CHANGE
1343
    local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1344
    local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1345
    local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1346
    local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1347
    if ANIM == "Walk" and TORSOVELOCITY > 1 then
1348
        RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1349
        Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1350
        RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.3 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1351
        LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.3 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1352
    elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1353
        RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1354
        Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1355
        RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1356
        LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1357
    end
1358
    if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1359
        ANIM = "Jump"
1360
        if PLAYANIMS == true then
1361
                    RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1362
                    Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1363
                    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1364
                    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1365
                    RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1366
                    LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1367
        end
1368
    elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1369
        ANIM = "Fall"
1370
        if PLAYANIMS == true then
1371
                    RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1372
                    Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1373
                    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1374
                    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1375
                    RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1376
                    LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1377
        end
1378
    elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1379
        ANIM = "Idle"
1380
        if PLAYANIMS == true then
1381
                    RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1382
                    Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1383
                    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1384
                    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.35, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1385
                    RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(20), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1386
                    LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(5), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1387
        end
1388
    elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1389
        ANIM = "Walk"
1390
        if PLAYANIMS == true then
1391
            if Humanoid.WalkSpeed <= 17 then
1392
                    RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1393
                    Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1394
                    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1395
                    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1396
                    RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1397
                    LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1398
            else
1399
                RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(35), RAD(0), RAD(5 * SIN(SINE / (WALKSPEEDVALUE / 2)))), 0.15 / Animation_Speed)
1400
                Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(-5 * SIN(SINE / (WALKSPEEDVALUE / 2)))), 0.15 / Animation_Speed)
1401
                RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.2) * ANGLES(RAD(0), RAD(35), RAD(0)) * ANGLES(RAD(35+20 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1402
                LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.2) * ANGLES(RAD(0), RAD(-35), RAD(0)) * ANGLES(RAD(35-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1403
                RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 2 / Animation_Speed)
1404
                LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-5)), 2 / Animation_Speed)
1405
            end
1406
        end
1407
    end
1408
    unanchor()
1409
    if Rooted == false then
1410
        Disable_Jump = false
1411
        Humanoid.WalkSpeed = Speed
1412
    elseif Rooted == true then
1413
        Disable_Jump = true
1414
        Humanoid.WalkSpeed = 0
1415
    end
1416
    if Head:FindFirstChildOfClass("Sound") then
1417
        Head:FindFirstChildOfClass("Sound"):remove()
1418
    end
1419
    Humanoid.Health = Humanoid.Health + 1
1420
end
1421
1422
 
1423
1424
--//=================================\\
1425
--\\=================================//
1426
1427
1428
1429
1430
1431
--//====================================================\\--
1432
--||			  		 END OF SCRIPT
1433
--\\====================================================//--