View difference between Paste ID: KeSFpgkj and LPD02nB5
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("I NEVER KNEW YOU WERE A COMMUNIST USE h/ dumbass") end
2
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
3
local RealPlayer = Player
4
do warn("You cant use this script!")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
5
6
7
--//====================================================\\--
8
--||			   CREATED BY SHACKLUSTER
9
--\\====================================================//--
10
11
12
13
wait(0.2)
14
15
16
17
Player = game:GetService("Players").LocalPlayer
18
PlayerGui = Player.PlayerGui
19
Cam = workspace.CurrentCamera
20
Backpack = Player.Backpack
21
Character = Player.Character
22
Humanoid = Character.Humanoid
23
Mouse = Player:GetMouse()
24
RootPart = Character["HumanoidRootPart"]
25
Torso = Character["Torso"]
26
Head = Character["Head"]
27
RightArm = Character["Right Arm"]
28
LeftArm = Character["Left Arm"]
29
RightLeg = Character["Right Leg"]
30
LeftLeg = Character["Left Leg"]
31
RootJoint = RootPart["RootJoint"]
32
Neck = Torso["Neck"]
33
RightShoulder = Torso["Right Shoulder"]
34
LeftShoulder = Torso["Left Shoulder"]
35
RightHip = Torso["Right Hip"]
36
LeftHip = Torso["Left Hip"]
37
38
IT = Instance.new
39
CF = CFrame.new
40
VT = Vector3.new
41
RAD = math.rad
42
C3 = Color3.new
43
UD2 = UDim2.new
44
BRICKC = BrickColor.new
45
ANGLES = CFrame.Angles
46
EULER = CFrame.fromEulerAnglesXYZ
47
COS = math.cos
48
ACOS = math.acos
49
SIN = math.sin
50
ASIN = math.asin
51
ABS = math.abs
52
MRANDOM = math.random
53
FLOOR = math.floor
54
55
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
56
	local NEWMESH = IT(MESH)
57
	if MESH == "SpecialMesh" then
58
		NEWMESH.MeshType = MESHTYPE
59
		if MESHID ~= "nil" and MESHID ~= "" then
60
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
61
		end
62
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
63
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
64
		end
65
	end
66
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
67
	NEWMESH.Scale = SCALE
68
	NEWMESH.Parent = PARENT
69
	return NEWMESH
70
end
71
72
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
73
	local NEWPART = IT("Part")
74
	NEWPART.formFactor = FORMFACTOR
75
	NEWPART.Reflectance = REFLECTANCE
76
	NEWPART.Transparency = TRANSPARENCY
77
	NEWPART.CanCollide = false
78
	NEWPART.Locked = true
79
	NEWPART.Anchored = true
80
	if ANCHOR == false then
81
		NEWPART.Anchored = false
82
	end
83
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
84
	NEWPART.Name = NAME
85
	NEWPART.Size = SIZE
86
	NEWPART.Position = Torso.Position
87
	NEWPART.Material = MATERIAL
88
	NEWPART:BreakJoints()
89
	NEWPART.Parent = PARENT
90
	return NEWPART
91
end
92
93
--//=================================\\
94
--||		  CUSTOMIZATION
95
--\\=================================//
96
97
Player_Size = 1 --Size of the player.
98
Animation_Speed = 3
99
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
100
101
local Speed = 16
102
local Effects2 = {}
103
104
--//=================================\\
105
--|| 	  END OF CUSTOMIZATION
106
--\\=================================//
107
108
	local function weldBetween(a, b)
109
	    local weldd = Instance.new("ManualWeld")
110
	    weldd.Part0 = a
111
	    weldd.Part1 = b
112
	    weldd.C0 = CFrame.new()
113
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
114
	    weldd.Parent = a
115
	    return weldd
116
	end
117
118
--//=================================\\
119
--|| 	      USEFUL VALUES
120
--\\=================================//
121
122
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
123
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
124
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
125
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
126
local CHANGEDEFENSE = 0
127
local CHANGEDAMAGE = 0
128
local CHANGEMOVEMENT = 0
129
local ANIM = "Idle"
130
local ATTACK = false
131
local EQUIPPED = false
132
local HOLD = false
133
local COMBO = 1
134
local Rooted = false
135
local SINE = 0
136
local KEYHOLD = false
137
local CHANGE = 2 / Animation_Speed
138
local WALKINGANIM = false
139
local WALK = false
140
local VALUE1 = false
141
local VALUE2 = false
142
local ROBLOXIDLEANIMATION = IT("Animation")
143
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
144
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
145
--ROBLOXIDLEANIMATION.Parent = Humanoid
146
local WEAPONGUI = IT("ScreenGui", PlayerGui)
147
WEAPONGUI.Name = "Weapon GUI"
148
local Weapon = IT("Model")
149
Weapon.Name = "Adds"
150
local Effects = IT("Folder", Weapon)
151
Effects.Name = "Effects"
152
local ANIMATOR = Humanoid.Animator
153
local ANIMATE = Character.Animate
154
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
155
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
156
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
157
local HITBLOCKSOUNDS = {"199148933", "199148947"}
158
local UNANCHOR = true
159
160
local SKILLTEXTCOLOR = C3(1,1,1)
161
162
--//=================================\\
163
--\\=================================//
164
165
166
--//=================================\\
167
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
168
--\\=================================//
169
170
ArtificialHB = Instance.new("BindableEvent", script)
171
ArtificialHB.Name = "ArtificialHB"
172
173
script:WaitForChild("ArtificialHB")
174
175
frame = Frame_Speed
176
tf = 0
177
allowframeloss = false
178
tossremainder = false
179
lastframe = tick()
180
script.ArtificialHB:Fire()
181
182
game:GetService("RunService").Heartbeat:connect(function(s, p)
183
	tf = tf + s
184
	if tf >= frame then
185
		if allowframeloss then
186
			script.ArtificialHB:Fire()
187
			lastframe = tick()
188
		else
189
			for i = 1, math.floor(tf / frame) do
190
				script.ArtificialHB:Fire()
191
			end
192
		lastframe = tick()
193
		end
194
		if tossremainder then
195
			tf = 0
196
		else
197
			tf = tf - frame * math.floor(tf / frame)
198
		end
199
	end
200
end)
201
202
--//=================================\\
203
--\\=================================//
204
205
206
207
208
209
--//=================================\\
210
--|| 	      SOME FUNCTIONS
211
--\\=================================//
212
213
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
214
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
215
end
216
217
function PositiveAngle(NUMBER)
218
	if NUMBER >= 0 then
219
		NUMBER = 0
220
	end
221
	return NUMBER
222
end
223
224
function NegativeAngle(NUMBER)
225
	if NUMBER <= 0 then
226
		NUMBER = 0
227
	end
228
	return NUMBER
229
end
230
231
function Swait(NUMBER)
232
	if NUMBER == 0 or NUMBER == nil then
233
		ArtificialHB.Event:wait()
234
	else
235
		for i = 1, NUMBER do
236
			ArtificialHB.Event:wait()
237
		end
238
	end
239
end
240
241
function QuaternionFromCFrame(cf)
242
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
243
	local trace = m00 + m11 + m22
244
	if trace > 0 then 
245
		local s = math.sqrt(1 + trace)
246
		local recip = 0.5 / s
247
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
248
	else
249
		local i = 0
250
		if m11 > m00 then
251
			i = 1
252
		end
253
		if m22 > (i == 0 and m00 or m11) then
254
			i = 2
255
		end
256
		if i == 0 then
257
			local s = math.sqrt(m00 - m11 - m22 + 1)
258
			local recip = 0.5 / s
259
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
260
		elseif i == 1 then
261
			local s = math.sqrt(m11 - m22 - m00 + 1)
262
			local recip = 0.5 / s
263
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
264
		elseif i == 2 then
265
			local s = math.sqrt(m22 - m00 - m11 + 1)
266
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
267
		end
268
	end
269
end
270
 
271
function QuaternionToCFrame(px, py, pz, x, y, z, w)
272
	local xs, ys, zs = x + x, y + y, z + z
273
	local wx, wy, wz = w * xs, w * ys, w * zs
274
	local xx = x * xs
275
	local xy = x * ys
276
	local xz = x * zs
277
	local yy = y * ys
278
	local yz = y * zs
279
	local zz = z * zs
280
	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))
281
end
282
 
283
function QuaternionSlerp(a, b, t)
284
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
285
	local startInterp, finishInterp;
286
	if cosTheta >= 0.0001 then
287
		if (1 - cosTheta) > 0.0001 then
288
			local theta = ACOS(cosTheta)
289
			local invSinTheta = 1 / SIN(theta)
290
			startInterp = SIN((1 - t) * theta) * invSinTheta
291
			finishInterp = SIN(t * theta) * invSinTheta
292
		else
293
			startInterp = 1 - t
294
			finishInterp = t
295
		end
296
	else
297
		if (1 + cosTheta) > 0.0001 then
298
			local theta = ACOS(-cosTheta)
299
			local invSinTheta = 1 / SIN(theta)
300
			startInterp = SIN((t - 1) * theta) * invSinTheta
301
			finishInterp = SIN(t * theta) * invSinTheta
302
		else
303
			startInterp = t - 1
304
			finishInterp = t
305
		end
306
	end
307
	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
308
end
309
310
function Clerp(a, b, t)
311
	local qa = {QuaternionFromCFrame(a)}
312
	local qb = {QuaternionFromCFrame(b)}
313
	local ax, ay, az = a.x, a.y, a.z
314
	local bx, by, bz = b.x, b.y, b.z
315
	local _t = 1 - t
316
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
317
end
318
319
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
320
	local frame = IT("Frame")
321
	frame.BackgroundTransparency = TRANSPARENCY
322
	frame.BorderSizePixel = BORDERSIZEPIXEL
323
	frame.Position = POSITION
324
	frame.Size = SIZE
325
	frame.BackgroundColor3 = COLOR
326
	frame.BorderColor3 = BORDERCOLOR
327
	frame.Name = NAME
328
	frame.Parent = PARENT
329
	return frame
330
end
331
332
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
333
	local label = IT("TextLabel")
334
	label.BackgroundTransparency = 1
335
	label.Size = UD2(1, 0, 1, 0)
336
	label.Position = UD2(0, 0, 0, 0)
337
	label.TextColor3 = TEXTCOLOR
338
	label.TextStrokeTransparency = STROKETRANSPARENCY
339
	label.TextTransparency = TRANSPARENCY
340
	label.FontSize = TEXTFONTSIZE
341
	label.Font = TEXTFONT
342
	label.BorderSizePixel = BORDERSIZEPIXEL
343
	label.TextScaled = false
344
	label.Text = TEXT
345
	label.Name = NAME
346
	label.Parent = PARENT
347
	return label
348
end
349
350
function NoOutlines(PART)
351
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
352
end
353
354
355
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
356
	local NEWWELD = IT(TYPE)
357
	NEWWELD.Part0 = PART0
358
	NEWWELD.Part1 = PART1
359
	NEWWELD.C0 = C0
360
	NEWWELD.C1 = C1
361
	NEWWELD.Parent = PARENT
362
	return NEWWELD
363
end
364
365
local SOUND = IT("Sound")
366
367
function CreateSound(ID, PARENT, VOLUME, PITCH)
368
	local NEWSOUND = nil
369
	coroutine.resume(coroutine.create(function()
370
		NEWSOUND = SOUND:Clone()
371
		NEWSOUND.Parent = PARENT
372
		NEWSOUND.Volume = VOLUME
373
		NEWSOUND.Pitch = PITCH
374
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
375
		Swait()
376
		NEWSOUND:play()
377
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
378
	end))
379
	return NEWSOUND
380
end
381
382
function CFrameFromTopBack(at, top, back)
383
	local right = top:Cross(back)
384
	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)
385
end
386
387
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
388
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
389
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0,0,0))
390
	wave.CFrame = CFRAME
391
	coroutine.resume(coroutine.create(function(PART)
392
		for i = 1, WAIT do
393
			Swait()
394
			mesh.Scale = mesh.Scale + GROW
395
			if DOESROT == true then
396
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
397
			end
398
			wave.Transparency = wave.Transparency + (0.5/WAIT)
399
			if wave.Transparency > 0.99 then
400
				wave:remove()
401
			end
402
		end
403
	end))
404
end
405
406
function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
407
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
408
	local mesh = nil
409
	if KIND == "Base" then
410
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
411
	elseif KIND == "Thin" then
412
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
413
	elseif KIND == "Round" then
414
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
415
	end
416
	wave.CFrame = CFRAME
417
	coroutine.resume(coroutine.create(function(PART)
418
		for i = 1, WAIT do
419
			Swait()
420
			mesh.Scale = mesh.Scale + GROW/10
421
			wave.Transparency = wave.Transparency + (0.5/WAIT)
422
			if wave.Transparency > 0.99 then
423
				wave:remove()
424
			end
425
		end
426
	end))
427
end
428
429
function MakeForm(PART,TYPE)
430
	if TYPE == "Cyl" then
431
		local MSH = IT("CylinderMesh",PART)
432
	elseif TYPE == "Ball" then
433
		local MSH = IT("SpecialMesh",PART)
434
		MSH.MeshType = "Sphere"
435
	elseif TYPE == "Wedge" then
436
		local MSH = IT("SpecialMesh",PART)
437
		MSH.MeshType = "Wedge"
438
	end
439
end
440
441
function CheckTableForString(Table, String)
442
	for i, v in pairs(Table) do
443
		if string.find(string.lower(String), string.lower(v)) then
444
			return true
445
		end
446
	end
447
	return false
448
end
449
450
function CheckIntangible(Hit)
451
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
452
	if Hit and Hit.Parent then
453
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
454
			return true
455
		end
456
	end
457
	return false
458
end
459
460
Debris = game:GetService("Debris")
461
462
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
463
	local Direction = CFrame.new(StartPos, Vec).lookVector
464
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
465
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
466
	if RayHit and CheckIntangible(RayHit) then
467
		if DelayIfHit then
468
			wait()
469
		end
470
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
471
	end
472
	return RayHit, RayPos, RayNormal
473
end
474
475
function turnto(position)
476
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
477
end
478
479
--//=================================\\
480
--||	     WEAPON CREATION
481
--\\=================================//
482
483
local WHEEL1 = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Wheelie", VT(0.5,0,0.5),false)
484
MakeForm(WHEEL1,"Cyl")
485
WHEEL1.CFrame = LeftLeg.CFrame*CF(0,-1,0)*ANGLES(RAD(0),RAD(0),RAD(90))
486
weldBetween(LeftLeg,WHEEL1)
487
488
local WHEEL1 = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Wheelie", VT(0.5,0,0.5),false)
489
MakeForm(WHEEL1,"Cyl")
490
WHEEL1.CFrame = RightLeg.CFrame*CF(0,-1,0)*ANGLES(RAD(0),RAD(0),RAD(90))
491
weldBetween(RightLeg,WHEEL1)
492
493
local WHEEL1 = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Wheelie", VT(0.15,0.2,0.15),false)
494
MakeForm(WHEEL1,"Cyl")
495
WHEEL1.CFrame = LeftLeg.CFrame*CF(0,-1,0)*ANGLES(RAD(0),RAD(0),RAD(90))
496
weldBetween(LeftLeg,WHEEL1)
497
498
local WHEEL1 = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Wheelie", VT(0.15,0.2,0.15),false)
499
MakeForm(WHEEL1,"Cyl")
500
WHEEL1.CFrame = RightLeg.CFrame*CF(0,-1,0)*ANGLES(RAD(0),RAD(0),RAD(90))
501
weldBetween(RightLeg,WHEEL1)
502
503
for _, c in pairs(Weapon:GetChildren()) do
504
	if c.ClassName == "Part" then
505
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
506
	end
507
end
508
509
Weapon.Parent = Character
510
511
Humanoid.Died:connect(function()
512
	ATTACK = true
513
end)
514
515
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.13, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
516
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.60, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
517
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
518
519
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Kicks", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 1")
520
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Strafe", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 2")
521
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Blade formation", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 3")
522
523
--//=================================\\
524
--||	     DAMAGE FUNCTIONS
525
--\\=================================//
526
527
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
528
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
529
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
530
	local BODYGYRO = IT("BodyGyro", STATPART)
531
	local BODYPOSITION = IT("BodyPosition", STATPART)
532
	BODYPOSITION.P = 2000
533
	BODYPOSITION.D = 100
534
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
535
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
536
	game:GetService("Debris"):AddItem(STATPART ,5)
537
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
538
	BILLBOARDGUI.Adornee = STATPART
539
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
540
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
541
	BILLBOARDGUI.AlwaysOnTop = false
542
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
543
	TEXTLABEL.BackgroundTransparency = 1
544
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
545
	TEXTLABEL.Text = TEXT
546
	TEXTLABEL.Font = "SciFi"
547
	TEXTLABEL.FontSize="Size42"
548
	TEXTLABEL.TextColor3 = COLOR
549
	TEXTLABEL.TextStrokeTransparency = 1
550
	TEXTLABEL.TextScaled = true
551
	TEXTLABEL.TextWrapped = true
552
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
553
		if LABELTYPE == "Normal" then
554
			for i = 1, 30 do
555
				Swait()
556
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
557
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
558
			end
559
		elseif LABELTYPE == "Debuff" then
560
			for i = 1, 30 do
561
				Swait()
562
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
563
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
564
			end
565
		elseif LABELTYPE == "Shock" then
566
			local ORIGIN = STATPART.Position
567
			for i = 1, 30 do
568
				Swait()
569
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
570
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
571
			end
572
		end
573
		THEPART.Parent = nil
574
	end),STATPART, BODYPOSITION, TEXTLABEL)
575
end
576
577
--//=================================\\
578
--||			DAMAGING
579
--\\=================================//
580
581
function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
582
	local defence = Instance.new("BoolValue",Humanoid.Parent)
583
	defence.Name = ("HitBy"..Player.Name)
584
	game:GetService("Debris"):AddItem(defence, 0.001)
585
	if Humanoid.Health ~= 0 then
586
		local CritChance = MRANDOM(1,100)
587
		if CritChance < CritRate + 1 then
588
			Damage = Damage*CritMultiplier
589
		end
590
		if Damage > Humanoid.Health then
591
			Damage = math.ceil(Humanoid.Health)
592
			if Damage == 0 then
593
				Damage = 0.1
594
			end
595
		end
596
		Humanoid.Health = Humanoid.Health - Damage
597
		if Humanoid.Parent:FindFirstChild("Head") then
598
			if CritChance < CritRate + 1 then
599
				StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
600
			else
601
				StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
602
			end
603
		end
604
	end
605
end
606
607
function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
608
	local dmg = math.random(min,max)
609
	for i,v in ipairs(workspace:GetChildren()) do
610
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
611
		local body = v:GetChildren()
612
			for part = 1, #body do
613
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
614
					if(body[part].Position - position).Magnitude < radius then
615
						if v.ClassName == "Model" then
616
							if v:FindFirstChildOfClass("Humanoid") then
617
								if CanBeDodgedByJumping == true then
618
									if body[part].Position.Y < position.Y+5 then
619
										ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
620
									end
621
								else
622
									ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
623
								end
624
								local bv = Instance.new("BodyVelocity") 
625
								bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
626
								bv.velocity = RootPart.CFrame.lookVector*maxstrength
627
								bv.Parent = body[part]
628
								Debris:AddItem(bv,0.2)
629
							end
630
						end
631
					end
632
				end
633
			end
634
		end
635
		if v:FindFirstChild("HitBy"..Player.Name) then
636
			v:FindFirstChild("HitBy"..Player.Name):remove()
637
		end
638
	end
639
end
640
641
--//=================================\\
642
--||	ATTACK FUNCTIONS AND STUFF
643
--\\=================================//
644
645
function Transparency(TRANS)
646
	for _, c in pairs(Character:GetChildren()) do
647
		if c.ClassName == "Part" and c ~= RootPart then
648
			c.Transparency = TRANS
649
			if c:FindFirstChildOfClass("Decal") then
650
				c:FindFirstChildOfClass("Decal").Transparency = TRANS
651
			end
652
		elseif c.ClassName == "Accessory" then
653
			c.Handle.Transparency = TRANS
654
		elseif c.ClassName == "Model" then
655
			for _, q in pairs(c:GetChildren()) do
656
				if q.ClassName == "Part" then
657
					q.Transparency = TRANS
658
					if q:FindFirstChildOfClass("Decal") then
659
						q:FindFirstChildOfClass("Decal").Transparency = TRANS
660
					end
661
				end
662
			end
663
		end
664
	end
665
end
666
667
function Kicks(STRAFE)
668
	ATTACK = true
669
	Rooted = false
670
	if COMBO == 1 then
671
		COMBO = 2
672
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
673
		if STRAFE == true then
674
			AoEDamage(Torso.CFrame*CF(0,-1,-2).p,5,15,17,0,2,2,false)
675
		else
676
			AoEDamage(Torso.CFrame*CF(0,-1,-2).p,5,5,7,0,2,2,false)
677
		end
678
		for i=0, 0.5, 0.1 / Animation_Speed do
679
			Swait()
680
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(45)), 2 / Animation_Speed)
681
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-45)), 2 / Animation_Speed)
682
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
683
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
684
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(45), RAD(135), RAD(0)) * ANGLES(RAD(-38), RAD(0), RAD(0)), 2 / Animation_Speed)
685
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
686
		end
687
	elseif COMBO == 2 then
688
		COMBO = 1
689
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
690
		if STRAFE == true then
691
			AoEDamage(Torso.CFrame*CF(0,-1,-2).p,5,15,17,0,2,2,false)
692
		else
693
			AoEDamage(Torso.CFrame*CF(0,-1,-2).p,5,5,7,0,2,2,false)
694
		end
695
		for i=0, 0.5, 0.1 / Animation_Speed do
696
			Swait()
697
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-45)), 2 / Animation_Speed)
698
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 2 / Animation_Speed)
699
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
700
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
701
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
702
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(45), RAD(-135), RAD(0)) * ANGLES(RAD(-38), RAD(0), RAD(0)), 2 / Animation_Speed)
703
		end
704
	end
705
	ATTACK = false
706
	Rooted = false
707
end
708
709
function Strafe()
710
	ATTACK = true
711
	Rooted = true
712
	for i=0, 1, 0.1 / Animation_Speed do
713
		Swait()
714
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-1)
715
		local HIT = Raycast(RootPart.Position, RootPart.CFrame.lookVector, 2, Character)
716
		if HIT ~= nil then
717
			break
718
		end
719
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
720
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
721
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
722
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
723
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5 - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(-12), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
724
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(-12), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
725
	end
726
	Kicks(true)
727
	ATTACK = false
728
	Rooted = false
729
end
730
731
function BladeFormation()
732
	ATTACK = true
733
	Rooted = true
734
	for i=0, 1, 0.1 / Animation_Speed do
735
		Swait()
736
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(45), RAD(0), RAD(0)), 2 / Animation_Speed)
737
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2 / Animation_Speed)
738
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
739
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
740
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5 - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(-12), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
741
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(-12), RAD(-45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
742
	end
743
	Transparency(1)
744
	for i = 1, 25 do
745
		Swait()
746
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
747
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-3)
748
		AoEDamage(Torso.Position,15,2,4,0,2,2,false)
749
		Slice("Round",1,15,RootPart.CFrame * CF(MRANDOM(-10,10),MRANDOM(-10,10),MRANDOM(-10,10)) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),SKILLTEXTCOLOR,VT(-0.2,0,-0.2))
750
		Slice("Round",2,15,RootPart.CFrame * CF(MRANDOM(-10,10),MRANDOM(-10,10),MRANDOM(-10,10)) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),SKILLTEXTCOLOR,VT(-0.2,0,-0.2))
751
	end
752
	Transparency(0)
753
	ATTACK = false
754
	Rooted = false
755
end
756
757
--//=================================\\
758
--||	  ASSIGN THINGS TO KEYS
759
--\\=================================//
760
761
function MouseDown(Mouse)
762
	if ATTACK == false then
763
	end
764
end
765
766
function MouseUp(Mouse)
767
HOLD = false
768
end
769
770
function KeyDown(Key)
771
	KEYHOLD = true
772
	if Key == "z" and ATTACK == false then
773
		Kicks()
774
	end
775
776
	if Key == "b" and ATTACK == false then
777
		Strafe()
778
	end
779
780
	if Key == "c" and ATTACK == false then
781
		BladeFormation()
782
	end
783
end
784
785
function KeyUp(Key)
786
	KEYHOLD = false
787
end
788
789
	Mouse.Button1Down:connect(function(NEWKEY)
790
		MouseDown(NEWKEY)
791
	end)
792
	Mouse.Button1Up:connect(function(NEWKEY)
793
		MouseUp(NEWKEY)
794
	end)
795
	Mouse.KeyDown:connect(function(NEWKEY)
796
		KeyDown(NEWKEY)
797
	end)
798
	Mouse.KeyUp:connect(function(NEWKEY)
799
		KeyUp(NEWKEY)
800
	end)
801
802
--//=================================\\
803
--\\=================================//
804
805
806
function unanchor()
807
	if UNANCHOR == true then
808
		g = Character:GetChildren()
809
		for i = 1, #g do
810
			if g[i].ClassName == "Part" then
811
				g[i].Anchored = false
812
			end
813
		end
814
	end
815
end
816
817
818
--//=================================\\
819
--||	WRAP THE WHOLE SCRIPT UP
820
--\\=================================//
821
822
Humanoid.Changed:connect(function(Jump)
823
	if Jump == "Jump" and (Disable_Jump == true) then
824
		Humanoid.Jump = false
825
	end
826
end)
827
828
Humanoid.HipHeight = 0.3
829
830
while true do
831
	Swait()
832
	ANIMATE.Parent = nil
833
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
834
	IDLEANIMATION:Play()
835
	SINE = SINE + CHANGE
836
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
837
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
838
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
839
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
840
	local WALKSPEEDVALUE = 6
841
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
842
		ANIM = "Jump"
843
		if ATTACK == false then
844
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
845
			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)
846
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
847
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
848
			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)
849
			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)
850
	    end
851
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
852
		ANIM = "Fall"
853
		if ATTACK == false then
854
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
855
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
856
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
857
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
858
			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)
859
			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)
860
		end
861
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
862
		ANIM = "Idle"
863
		if ATTACK == false then
864
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
865
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
866
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
867
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
868
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
869
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
870
		end
871
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
872
		if WALK == false then
873
			coroutine.resume(coroutine.create(function()
874
				WALK = true
875
					if ATTACK == false then
876
					--CreateSound("199150686", Torso, 1, MRANDOM(15,17)/10)
877
					for i=0, 1, 0.1 / Animation_Speed do
878
						Swait()
879
						if ATTACK == true or ANIM ~= "Walk" then
880
							break
881
						end
882
						RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.5 / Animation_Speed)
883
						Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
884
						RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
885
						LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
886
						RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(75), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
887
						LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-75), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
888
					end
889
					if ATTACK == false and ANIM == "Walk" then
890
						--CreateSound("199150686", Torso, 1, MRANDOM(15,17)/10)
891
						for i=0, 1, 0.1 / Animation_Speed do
892
							Swait()
893
							if ATTACK == true or ANIM ~= "Walk" then
894
								break
895
							end
896
							RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.5 / Animation_Speed)
897
							Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
898
							RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
899
							LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
900
							RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-75), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
901
							LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(75), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
902
						end
903
					end
904
				end
905
				WALK = false
906
			end))
907
		end
908
		ANIM = "Walk"
909
	end
910
	if ANIM == "Walk" then
911
		if Speed < 75 then
912
			Speed = Speed + 0.2
913
		end
914
	else
915
		Speed = 14
916
	end
917
	unanchor()
918
	Humanoid.MaxHealth = "inf"
919
	Humanoid.Health = "inf"
920
	if Rooted == false then
921
		Disable_Jump = false
922
		Humanoid.WalkSpeed = Speed
923
	elseif Rooted == true then
924
		Disable_Jump = true
925
		Humanoid.WalkSpeed = 0
926
	end
927
end
928
929
--//=================================\\
930
--\\=================================//
931
932
933
934
935
936
--//====================================================\\--
937
--||			  		 END OF SCRIPT
938
--\\====================================================//--