View difference between Paste ID: YUtdUy5i and 5CByTGud
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
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("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149
	--Changing owner to fake player object to support owner:GetMouse()
150
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
--//====================================================\\--
153
--||			   CREATED BY SHACKLUSTER
154
--\\====================================================//--
155
156
157
158
wait(0.2)
159
160
local Player = game.Players.localPlayer
161
local Character = Player.Character
162
local Humanoid = Character.Humanoid
163
local Mouse = Player:GetMouse()
164
local LeftArm = Character["Left Arm"]
165
local RightArm = Character["Right Arm"]
166
local LeftLeg = Character["Left Leg"]
167
local RightLeg = Character["Right Leg"]
168
local Head = Character.Head
169
local Torso = Character.Torso
170
local Camera = game.Workspace.CurrentCamera
171
local RootPart = Character.HumanoidRootPart
172
local RootJoint = RootPart.RootJoint
173
local attack = false
174
local Anim = 'Idle'
175
local Lighty = game:GetService"Lighting"
176
local attacktype = 1
177
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
178
local velocity = RootPart.Velocity.y
179
local sine = 0
180
local change = 1
181
local Create = LoadLibrary("RbxUtility").Create
182
183
184
local chara = Character
185
local m = Create("Model"){
186
	Parent = Character,
187
	Name = "WeaponModel",
188
}
189
function chat(...)
190
	local txxt = {...}
191
	local ch = coroutine.wrap(function()
192
		if chara:FindFirstChild("Chatt")~= nil then
193
			Character:FindFirstChild("Chatt"):destroy()
194
		end
195
		local txt = Instance.new("BillboardGui", chara)
196
		txt.Adornee = chara.Head
197
		txt.Name = "Chatt"
198
		txt.Size = UDim2.new(2, 0, 1.2, 0)
199
		txt.StudsOffset = Vector3.new(-9, 7, 0)
200
		local text = Instance.new("TextLabel", txt)
201
		text.Size = UDim2.new(10, 0, 7, 0)
202
		text.TextSize = 24
203
		text.Font = Enum.Font.Fantasy
204
		text.TextScaled = false
205
		text.BackgroundTransparency = 1 
206
		text.TextColor3 = Color3.new(0,0,0)
207
		text.TextStrokeTransparency = 0
208
		text.TextStrokeColor3 = Color3.new(0,0,0)
209
		text.Text = ""
210
		txxt = table.concat(txxt,"\t")
211
		for i = 1, #txxt do
212
			text.Text = txxt:sub(1,i)
213
			
214
		end
215
		wait(2)
216
		for trans = 0,1,.1 do
217
			text.TextTransparency = trans
218
			text.TextStrokeTransparency = trans
219
			wait()
220
		end
221
		wait()
222
		txt:destroy()
223
	end)
224
	
225
	ch(...)
226
end
227
Player.Chatted:connect(chat)
228
warn("Q to teleport")
229
warn("E to create a sinkhole")
230
warn("R to create a massive sinkhole")
231
warn("T to laugh")
232
Player = game:GetService("Players").LocalPlayer
233
PlayerGui = Player.PlayerGui
234
Cam = workspace.CurrentCamera
235
Backpack = Player.Backpack
236
Character = Player.Character
237
Humanoid = Character.Humanoid
238
Mouse = Player:GetMouse()
239
RootPart = Character["HumanoidRootPart"]
240
Torso = Character["Torso"]
241
Head = Character["Head"]
242
RightArm = Character["Right Arm"]
243
LeftArm = Character["Left Arm"]
244
RightLeg = Character["Right Leg"]
245
LeftLeg = Character["Left Leg"]
246
RootJoint = RootPart["RootJoint"]
247
Neck = Torso["Neck"]
248
RightShoulder = Torso["Right Shoulder"]
249
LeftShoulder = Torso["Left Shoulder"]
250
RightHip = Torso["Right Hip"]
251
LeftHip = Torso["Left Hip"]
252
local sick = Instance.new("Sound",Character)
253
sick.SoundId = "rbxassetid://573736432"
254
sick.Looped = true
255
sick.Pitch = 1
256
sick.Volume = 1
257
Humanoid.DisplayDistanceType = "None"
258
259
IT = Instance.new
260
CF = CFrame.new
261
VT = Vector3.new
262
RAD = math.rad
263
C3 = Color3.new
264
UD2 = UDim2.new
265
BRICKC = BrickColor.new
266
ANGLES = CFrame.Angles
267
EULER = CFrame.fromEulerAnglesXYZ
268
COS = math.cos
269
ACOS = math.acos
270
SIN = math.sin
271
ASIN = math.asin
272
ABS = math.abs
273
MRANDOM = math.random
274
FLOOR = math.floor
275
276
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
277
	local NEWMESH = IT(MESH)
278
	if MESH == "SpecialMesh" then
279
		NEWMESH.MeshType = MESHTYPE
280
		if MESHID ~= "nil" and MESHID ~= "" then
281
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
282
		end
283
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
284
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
285
		end
286
	end
287
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
288
	NEWMESH.Scale = SCALE
289
	NEWMESH.Parent = PARENT
290
	return NEWMESH
291
end
292
293
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
294
	local NEWPART = IT("Part")
295
	NEWPART.formFactor = FORMFACTOR
296
	NEWPART.Reflectance = REFLECTANCE
297
	NEWPART.Transparency = TRANSPARENCY
298
	NEWPART.CanCollide = false
299
	NEWPART.Locked = true
300
	NEWPART.Anchored = true
301
	if ANCHOR == false then
302
		NEWPART.Anchored = false
303
	end
304
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
305
	NEWPART.Name = NAME
306
	NEWPART.Size = SIZE
307
	NEWPART.Position = Torso.Position
308
	NEWPART.Material = MATERIAL
309
	NEWPART:BreakJoints()
310
	NEWPART.Parent = PARENT
311
	return NEWPART
312
end
313
314
--//=================================\\
315
--||		  CUSTOMIZATION
316
--\\=================================//
317
318
Player_Size = 1.5 --Size of the player.
319
Animation_Speed = 3
320
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
321
322
local Speed = 20
323
local Effects2 = {}
324
325
--//=================================\\
326
--|| 	  END OF CUSTOMIZATION
327
--\\=================================//
328
329
	local function weldBetween(a, b)
330
	    local weldd = Instance.new("ManualWeld")
331
	    weldd.Part0 = a
332
	    weldd.Part1 = b
333
	    weldd.C0 = CFrame.new()
334
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
335
	    weldd.Parent = a
336
	    return weldd
337
	end
338
339
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
340
local acs = Instance.new("Part")
341
acs.CanCollide = false
342
acs.Anchored = false
343
acs.Size = Vector3.new(0,0,0)
344
acs.CFrame = attachmentpart.CFrame
345
acs.Parent = Character
346
acs.BrickColor = color
347
    local meshs = Instance.new("SpecialMesh")
348
    meshs.MeshId = mesh
349
    meshs.TextureId = texture
350
    meshs.Parent = acs
351
    meshs.Scale = scale
352
    meshs.Offset = offset
353
weldBetween(attachmentpart,acs)
354
end
355
356
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
357
if TYPE == "Gem" then
358
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
359
	acs.Anchored = false
360
    acs.CanCollide = false
361
	acs.CFrame = PART.CFrame
362
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
363
weldBetween(PART,acs)
364
elseif TYPE == "Skull" then
365
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
366
	acs.Anchored = false
367
    acs.CanCollide = false
368
	acs.CFrame = PART.CFrame
369
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
370
weldBetween(PART,acs)
371
elseif TYPE == "Eye" then
372
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
373
	acs.Anchored = false
374
    acs.CanCollide = false
375
	acs.CFrame = PART.CFrame
376
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
377
weldBetween(PART,acs)
378
end
379
end
380
381
--//=================================\\
382
--|| 	      USEFUL VALUES
383
--\\=================================//
384
385
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
386
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
387
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
388
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
389
local CHANGEDEFENSE = 0
390
local CHANGEDAMAGE = 0
391
local CHANGEMOVEMENT = 0
392
local ANIM = "Idle"
393
local ATTACK = false
394
local EQUIPPED = false
395
local HOLD = false
396
local COMBO = 1
397
local Rooted = false
398
local SINE = 0
399
local HITFLOOR = nil
400
local HITPOS = nil
401
local KEYHOLD = false
402
local CHANGE = 2 / Animation_Speed
403
local WALKINGANIM = false
404
local WALK = 0
405
local VALUE1 = false
406
local VALUE2 = false
407
local ROBLOXIDLEANIMATION = IT("Animation")
408
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
409
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
410
--ROBLOXIDLEANIMATION.Parent = Humanoid
411
local WEAPONGUI = IT("ScreenGui", PlayerGui)
412
WEAPONGUI.Name = "Weapon GUI"
413
local Weapon = IT("Model")
414
Weapon.Name = "Adds"
415
local Effects = IT("Folder", Weapon)
416
Effects.Name = "Effects"
417
local ANIMATOR = Humanoid.Animator
418
local ANIMATE = Character.Animate
419
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
420
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
421
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
422
local HITBLOCKSOUNDS = {"199148933", "199148947"}
423
local UNANCHOR = true
424
425
local SKILLTEXTCOLOR = C3(255,255,255)
426
427
--//=================================\\
428
--\\=================================//
429
430
431
--//=================================\\
432
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
433
--\\=================================//
434
435
ArtificialHB = Instance.new("BindableEvent", script)
436
ArtificialHB.Name = "ArtificialHB"
437
438
script:WaitForChild("ArtificialHB")
439
440
frame = Frame_Speed
441
tf = 0
442
allowframeloss = false
443
tossremainder = false
444
lastframe = tick()
445
script.ArtificialHB:Fire()
446
447
game:GetService("RunService").Heartbeat:connect(function(s, p)
448
	tf = tf + s
449
	if tf >= frame then
450
		if allowframeloss then
451
			script.ArtificialHB:Fire()
452
			lastframe = tick()
453
		else
454
			for i = 1, math.floor(tf / frame) do
455
				script.ArtificialHB:Fire()
456
			end
457
		lastframe = tick()
458
		end
459
		if tossremainder then
460
			tf = 0
461
		else
462
			tf = tf - frame * math.floor(tf / frame)
463
		end
464
	end
465
end)
466
467
--//=================================\\
468
--\\=================================//
469
470
471
472
473
474
--//=================================\\
475
--|| 	      SOME FUNCTIONS
476
--\\=================================//
477
478
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
479
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
480
end
481
482
function PositiveAngle(NUMBER)
483
	if NUMBER >= 0 then
484
		NUMBER = 0
485
	end
486
	return NUMBER
487
end
488
489
function NegativeAngle(NUMBER)
490
	if NUMBER <= 0 then
491
		NUMBER = 0
492
	end
493
	return NUMBER
494
end
495
496
function Swait(NUMBER)
497
	if NUMBER == 0 or NUMBER == nil then
498
		ArtificialHB.Event:wait()
499
	else
500
		for i = 1, NUMBER do
501
			ArtificialHB.Event:wait()
502
		end
503
	end
504
end
505
506
function QuaternionFromCFrame(cf)
507
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
508
	local trace = m00 + m11 + m22
509
	if trace > 0 then 
510
		local s = math.sqrt(1 + trace)
511
		local recip = 0.5 / s
512
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
513
	else
514
		local i = 0
515
		if m11 > m00 then
516
			i = 1
517
		end
518
		if m22 > (i == 0 and m00 or m11) then
519
			i = 2
520
		end
521
		if i == 0 then
522
			local s = math.sqrt(m00 - m11 - m22 + 1)
523
			local recip = 0.5 / s
524
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
525
		elseif i == 1 then
526
			local s = math.sqrt(m11 - m22 - m00 + 1)
527
			local recip = 0.5 / s
528
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
529
		elseif i == 2 then
530
			local s = math.sqrt(m22 - m00 - m11 + 1)
531
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
532
		end
533
	end
534
end
535
 
536
function QuaternionToCFrame(px, py, pz, x, y, z, w)
537
	local xs, ys, zs = x + x, y + y, z + z
538
	local wx, wy, wz = w * xs, w * ys, w * zs
539
	local xx = x * xs
540
	local xy = x * ys
541
	local xz = x * zs
542
	local yy = y * ys
543
	local yz = y * zs
544
	local zz = z * zs
545
	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))
546
end
547
 
548
function QuaternionSlerp(a, b, t)
549
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
550
	local startInterp, finishInterp;
551
	if cosTheta >= 0.0001 then
552
		if (1 - cosTheta) > 0.0001 then
553
			local theta = ACOS(cosTheta)
554
			local invSinTheta = 1 / SIN(theta)
555
			startInterp = SIN((1 - t) * theta) * invSinTheta
556
			finishInterp = SIN(t * theta) * invSinTheta
557
		else
558
			startInterp = 1 - t
559
			finishInterp = t
560
		end
561
	else
562
		if (1 + cosTheta) > 0.0001 then
563
			local theta = ACOS(-cosTheta)
564
			local invSinTheta = 1 / SIN(theta)
565
			startInterp = SIN((t - 1) * theta) * invSinTheta
566
			finishInterp = SIN(t * theta) * invSinTheta
567
		else
568
			startInterp = t - 1
569
			finishInterp = t
570
		end
571
	end
572
	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
573
end
574
575
function Clerp(a, b, t)
576
	local qa = {QuaternionFromCFrame(a)}
577
	local qb = {QuaternionFromCFrame(b)}
578
	local ax, ay, az = a.x, a.y, a.z
579
	local bx, by, bz = b.x, b.y, b.z
580
	local _t = 1 - t
581
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
582
end
583
584
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
585
	local frame = IT("Frame")
586
	frame.BackgroundTransparency = TRANSPARENCY
587
	frame.BorderSizePixel = BORDERSIZEPIXEL
588
	frame.Position = POSITION
589
	frame.Size = SIZE
590
	frame.BackgroundColor3 = COLOR
591
	frame.BorderColor3 = BORDERCOLOR
592
	frame.Name = NAME
593
	frame.Parent = PARENT
594
	return frame
595
end
596
597
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
598
	local label = IT("TextLabel")
599
	label.BackgroundTransparency = 1
600
	label.Size = UD2(1, 0, 1, 0)
601
	label.Position = UD2(0, 0, 0, 0)
602
	label.TextColor3 = TEXTCOLOR
603
	label.TextStrokeColor3 = C3(1,1,1)
604
	label.TextStrokeTransparency = 0
605
	label.TextTransparency = TRANSPARENCY
606
	label.FontSize = TEXTFONTSIZE
607
	label.Font = TEXTFONT
608
	label.BorderSizePixel = BORDERSIZEPIXEL
609
	label.TextScaled = false
610
	label.Text = TEXT
611
	label.Name = NAME
612
	label.Parent = PARENT
613
	return label
614
end
615
616
function NoOutlines(PART)
617
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
618
end
619
620
621
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
622
	local NEWWELD = IT(TYPE)
623
	NEWWELD.Part0 = PART0
624
	NEWWELD.Part1 = PART1
625
	NEWWELD.C0 = C0
626
	NEWWELD.C1 = C1
627
	NEWWELD.Parent = PARENT
628
	return NEWWELD
629
end
630
631
function CreateSound(ID, PARENT, VOLUME, PITCH)
632
	local NEWSOUND = nil
633
	coroutine.resume(coroutine.create(function()
634
		NEWSOUND = IT("Sound", PARENT)
635
		NEWSOUND.Volume = VOLUME
636
		NEWSOUND.Pitch = PITCH
637
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
638
		Swait()
639
		NEWSOUND:play()
640
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
641
	end))
642
	return NEWSOUND
643
end
644
645
function CFrameFromTopBack(at, top, back)
646
	local right = top:Cross(back)
647
	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)
648
end
649
650
function MakeForm(PART,TYPE)
651
	local MSH = nil
652
	if TYPE == "Cyl" then
653
		MSH = IT("CylinderMesh",PART)
654
	elseif TYPE == "Ball" then
655
		MSH = IT("SpecialMesh",PART)
656
		MSH.MeshType = "Sphere"
657
	elseif TYPE == "Wedge" then
658
		MSH = IT("SpecialMesh",PART)
659
		MSH.MeshType = "Wedge"
660
	end
661
	return MSH
662
end
663
664
Debris = game:GetService("Debris")
665
666
--//=================================\\
667
--||	     WEAPON CREATION
668
--\\=================================//
669
670
local Hole = CreatePart(3, Weapon, "Neon", 0, 0, "White", "Hole", VT(15,0,15))
671
local MESH = MakeForm(Hole,"Cyl")
672
673
for _, c in pairs(Weapon:GetChildren()) do
674
	if c.ClassName == "Part" then
675
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
676
	end
677
end
678
679
Weapon.Parent = Character
680
681
Humanoid.Died:connect(function()
682
	ATTACK = true
683
end)
684
685
686
687
--//=================================\\
688
--||			DAMAGING
689
--\\=================================//
690
691
function Sink(position,radius)
692
	for i,v in ipairs(workspace:GetChildren()) do
693
	if v:FindFirstChild("Hit2By"..Player.Name) == nil then
694
		local body = v:GetChildren()
695
			for part = 1, #body do
696
				if(v:FindFirstChild("Hit2By"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
697
					if(body[part].Position - position).Magnitude < radius then
698
						if v.ClassName == "Model" then
699
							if v:FindFirstChild("Humanoid") then
700
								local defence = Instance.new("BoolValue",v)
701
								defence.Name = ("Hit2By"..Player.Name)
702
								if v.Humanoid.Health ~= 0 then
703
									local TORS = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
704
									if TORS ~= nil then
705
										local HITFLOOR2, HITPOS2 = Raycast(TORS.Position, (CF(TORS.Position, TORS.Position + VT(0, -1, 0))).lookVector, 5 * TORS.Size.Y/2, v)
706
										coroutine.resume(coroutine.create(function()
707
											if HITFLOOR2 ~= nil then
708
												TORS.Anchored = true
709
												local Hole2 = CreatePart(3, Effects, "Neon", 0, 0, "White", "Hole", VT(TORS.Size.X*4,0,TORS.Size.X*4))
710
												Hole2.Color = C3(0,0,0)
711
												local MESH = MakeForm(Hole2,"Cyl")
712
												MESH.Scale = VT(0,1,0)
713
												Hole2.CFrame = CF(HITPOS2)
714
												for i = 1, 10 do
715
													Swait()
716
													MESH.Scale = MESH.Scale + VT(0.1,0,0.1)
717
												end
718
												repeat
719
													Swait()
720
													TORS.CFrame = TORS.CFrame * CF(0,-0.1,0)
721
												until TORS.Position.Y<position.Y-4
722
												v:remove()
723
												for i = 1, 10 do
724
													Swait()
725
													MESH.Scale = MESH.Scale - VT(0.1,0,0.1)
726
												end
727
												Hole2:remove()
728
											end
729
										end))
730
									end
731
								end
732
							end
733
						end
734
						--body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
735
					end
736
				end
737
			end
738
		end	
739
	end
740
end
741
742
--//=================================\\
743
--||	ATTACK FUNCTIONS AND STUFF
744
--\\=================================//
745
746
function Trail(Part)
747
	local TRAIL = Part:Clone()
748
	TRAIL.CanCollide = false
749
	TRAIL.Anchored = true
750
	TRAIL.Parent = Effects
751
	TRAIL.Name = "Trail"
752
	local TRANS = Part.Transparency
753
	coroutine.resume(coroutine.create(function()
754
		for i = 1, 20 do
755
			Swait()
756
			TRAIL.Transparency = TRAIL.Transparency + ((1-TRANS)/20)
757
		end
758
		TRAIL:remove()
759
	end))
760
end
761
762
function AttackTemplate()
763
	ATTACK = true
764
	Rooted = false
765
	for i=0, 1, 0.1 / Animation_Speed do
766
		Swait()
767
		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)
768
		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)
769
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
770
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
771
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
772
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
773
	end
774
	ATTACK = false
775
	Rooted = false
776
end
777
778
function Intro()
779
	coroutine.resume(coroutine.create(function()
780
		ATTACK = true
781
		Rooted = true
782
		UNANCHOR = false
783
		RootPart.Anchored = true
784
		for i=0, 2, 0.1 / Animation_Speed do
785
			Swait()
786
			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)
787
			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)
788
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
789
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
790
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
791
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
792
		end
793
		for i=0, 4, 0.1 / Animation_Speed do
794
			Swait()
795
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -10 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
796
			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)
797
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
798
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
799
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
800
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
801
		end
802
		VALUE1 = true
803
		local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.2,0.3,0.1),false)
804
		local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(0.16,0.25,-0.5) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
805
		MakeForm(part,"Ball")
806
		local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.2,0.3,0.1),false)
807
		local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(-0.16,0.25,-0.5) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
808
		MakeForm(part,"Ball")
809
		Swait(15)
810
		Humanoid.HipHeight = 2
811
		sick:Play()
812
		CreateSound("649634100", Head, 10, 0.6)
813
		for i=0, 2, 0.1 / Animation_Speed do
814
			Swait()
815
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
816
			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)
817
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
818
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
819
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
820
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
821
		end
822
		UNANCHOR = true
823
		ATTACK = false
824
		Rooted = false
825
	end))
826
end
827
828
function Warp()
829
	ATTACK = true
830
	Rooted = true
831
	UNANCHOR = false
832
	RootPart.Anchored = true
833
	for i=0, 1, 0.1 / Animation_Speed do
834
		Swait()
835
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)), 1 / Animation_Speed)
836
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
837
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
838
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
839
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(8), RAD(0), RAD(0)), 1 / Animation_Speed)
840
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(8), RAD(0), RAD(0)), 1 / Animation_Speed)
841
	end
842
	for i=0, 1, 0.1 / Animation_Speed do
843
		Swait()
844
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -15) * ANGLES(RAD(180), RAD(0), RAD(0)), 0.5 / Animation_Speed)
845
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
846
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
847
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
848
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(8), RAD(0), RAD(0)), 1 / Animation_Speed)
849
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(8), RAD(0), RAD(0)), 1 / Animation_Speed)
850
	end
851
	for i = 1, 50 do
852
		Swait()
853
		Trail(Hole)
854
		MESH.Scale = MESH.Scale - VT(0.02,0,0.02)
855
	end
856
	local ORIGINPOS = RootPart.Position
857
	RootPart.CFrame = CF(VT(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z),ORIGINPOS)
858
	CreateSound("466493476", Hole, 10, 1)
859
	for i = 1, 50 do
860
		Swait()
861
		MESH.Scale = MESH.Scale + VT(0.02,0,0.02)
862
	end
863
	for i=0, 2, 0.1 / Animation_Speed do
864
		Swait()
865
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
866
		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)
867
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
868
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
869
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
870
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
871
	end
872
	UNANCHOR = true
873
	ATTACK = false
874
	Rooted = false
875
end
876
877
function Sinkhole()
878
	coroutine.resume(coroutine.create(function()
879
		local Hole2 = CreatePart(3, Effects, "Neon", 0, 0, "White", "Hole", VT(15,0,15))
880
		Hole2.Color = C3(0,0,0)
881
		local MESH = MakeForm(Hole2,"Cyl")
882
		MESH.Scale = VT(0,1,0)
883
		Hole2.CFrame = CF(Mouse.Hit.p)
884
		CreateSound("466493476", Hole2, 10, 1)
885
		for i = 1, 50 do
886
			Swait()
887
			MESH.Scale = MESH.Scale + VT(0.02,0,0.02)
888
		end
889
		for i = 1, 200 do
890
			Swait()
891
			Sink(Hole2.Position,Hole2.Size.X/2.2)
892
		end
893
		Swait(100)
894
		for i = 1, 50 do
895
			Swait()
896
			Trail(Hole2)
897
			MESH.Scale = MESH.Scale - VT(0.02,0,0.02)
898
		end
899
		Hole2:remove()
900
	end))
901
end
902
903
function AbyssGate()
904
	VALUE2 = true
905
	coroutine.resume(coroutine.create(function()
906
		CreateSound("466493476", Hole, 10, 0.1)
907
		for i = 1, 500 do
908
			Swait()
909
			Hole.Size = Hole.Size + VT(1,0,1)
910
		end
911
		Swait(100)
912
		for i = 1, 500 do
913
			Swait()
914
			Trail(Hole)
915
			Hole.Size = Hole.Size - VT(1,0,1)
916
		end
917
		VALUE2 = false
918
	end))
919
end
920
921
--//=================================\\
922
--||	  ASSIGN THINGS TO KEYS
923
--\\=================================//
924
925
function MouseDown(Mouse)
926
	if ATTACK == false then
927
	end
928
end
929
930
function MouseUp(Mouse)
931
HOLD = false
932
end
933
934
function KeyDown(Key)
935
	KEYHOLD = true
936
	if Key == "q" and ATTACK == false and HITFLOOR ~= nil and VALUE2 == false then
937
		Warp()
938
	end
939
940
	if Key == "e" and ATTACK == false then
941
		Sinkhole()
942
	end
943
944
	if Key == "r" and ATTACK == false and VALUE2 == false then
945
		AbyssGate()
946
	end
947
948
	if Key == "t" and ATTACK == false then
949
		CreateSound("649634100", Head, 10, 0.6)
950
	end
951
end
952
953
function KeyUp(Key)
954
	KEYHOLD = false
955
end
956
957
	Mouse.Button1Down:connect(function(NEWKEY)
958
		MouseDown(NEWKEY)
959
	end)
960
	Mouse.Button1Up:connect(function(NEWKEY)
961
		MouseUp(NEWKEY)
962
	end)
963
	Mouse.KeyDown:connect(function(NEWKEY)
964
		KeyDown(NEWKEY)
965
	end)
966
	Mouse.KeyUp:connect(function(NEWKEY)
967
		KeyUp(NEWKEY)
968
	end)
969
970
--//=================================\\
971
--\\=================================//
972
973
974
function unanchor()
975
	if UNANCHOR == true then
976
		g = Character:GetChildren()
977
		for i = 1, #g do
978
			if g[i].ClassName == "Part" then
979
				g[i].Anchored = false
980
			end
981
		end
982
	end
983
end
984
985
986
--//=================================\\
987
--||	WRAP THE WHOLE SCRIPT UP
988
--\\=================================//
989
990
Humanoid.Changed:connect(function(Jump)
991
	if Jump == "Jump" and (Disable_Jump == true) then
992
		Humanoid.Jump = false
993
	end
994
end)
995
996
Speed = 10
997
998
while true do
999
	Swait()
1000
	ANIMATE.Parent = nil
1001
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1002
	IDLEANIMATION:Play()
1003
	SINE = SINE + CHANGE
1004
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1005
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1006
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1007
	HITFLOOR, HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25 * Player_Size, Character)
1008
	if ATTACK == false then
1009
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1010
		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)
1011
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1012
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1013
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1014
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(25)), 0.15 / Animation_Speed)
1015
	end
1016
	if HITFLOOR ~= nil then
1017
		Hole.CFrame = CF(HITPOS)
1018
	end
1019
	Sink(Hole.Position,Hole.Size.X/2.2*MESH.Scale.X)
1020
	Hole.Color = C3(0,0,0)
1021
	unanchor()
1022
	Humanoid.MaxHealth = "inf"
1023
	Humanoid.Health = "inf"
1024
	if Rooted == false then
1025
		Disable_Jump = false
1026
		Humanoid.WalkSpeed = Speed
1027
	elseif Rooted == true then
1028
		Disable_Jump = true
1029
		Humanoid.WalkSpeed = 0
1030
	end
1031
	if VALUE1 == true then
1032
		Humanoid.HipHeight = 2
1033
		q = Character:GetChildren()
1034
		for u = 1, #q do
1035
			if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
1036
				q[u]:remove()
1037
			elseif q[u].ClassName == "Shirt" then
1038
				q[u]:Destroy()
1039
			elseif q[u].ClassName == "Pants" then
1040
				q[u]:Destroy()
1041
			elseif q[u].ClassName == "CharacterMesh" then
1042
				q[u]:remove()
1043
			elseif q[u].ClassName == "ShirtGraphic" then
1044
				q[u]:remove()
1045
			elseif q[u].ClassName == "Part" and q[u].Name ~= "HumanoidRootPart" then
1046
				q[u].Color = Color3.new(0,0,0)
1047
				q[u].Material = "Neon"
1048
			end
1049
		end
1050
		if Head:FindFirstChild("Mesh") then
1051
			local mesh = Head.Mesh
1052
			if mesh.ClassName == "SpecialMesh" then
1053
				mesh:remove()
1054
				local m = IT("BlockMesh",Head)
1055
				m.Scale = VT(0.5,1,1)
1056
			end
1057
		end
1058
		if Head:FindFirstChild("face") then
1059
			Head.face:remove()
1060
		end
1061
	end
1062
	if VALUE1 == false and ATTACK == false then
1063
		Intro()
1064
	end
1065
end
1066
1067
--//=================================\\
1068
--\\=================================//
1069
1070
1071
1072
1073
1074
--//====================================================\\--
1075
--||			  		 END OF SCRIPT
1076
--\\====================================================//--