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