View difference between Paste ID: ymgfjdwr and Ngni7Dw5
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
	local h,t
87
	--Give the server mouse data every second frame, but only if the values changed
88
	--If player is not moving their mouse, client won't fire events
89
	local HB = game:GetService("RunService").Heartbeat
90
	while true do
91
		if h~=Mouse.Hit or t~=Mouse.Target then
92
			h,t=Mouse.Hit,Mouse.Target
93
			Event:FireServer({isMouse=true,Target=t,Hit=h})
94
		end
95
		--Wait 2 frames
96
		for i=1,2 do
97
			HB:Wait()
98
		end
99
	end]==],script)
100
101
	----Sandboxed game object that allows the usage of client-side methods and services
102
	--Real game object
103
	local RealGame = game
104
105
	--Metatable for fake service
106
	local FakeService_Metatable = {
107
		__index = function(self,k)
108
			local s = rawget(self,"_RealService")
109
			if s then
110
				return typeof(s[k])=="function"
111
				and function(_,...)return s[k](s,...)end or s[k]
112
			end
113
		end,
114
		__newindex = function(self,k,v)
115
			local s = rawget(self,"_RealService")
116
			if s then s[k]=v end
117
		end
118
	}
119
	local function FakeService(t,RealService)
120
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
121
		return setmetatable(t,FakeService_Metatable)
122
	end
123
124
	--Fake game object
125
	local FakeGame = {
126
		GetService = function(self,s)
127
			return rawget(self,s) or RealGame:GetService(s)
128
		end,
129
		Players = FakeService({
130
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
131
		},"Players"),
132
		UserInputService = FakeService(UIS,"UserInputService"),
133
		ContextActionService = FakeService(CAS,"ContextActionService"),
134
		RunService = FakeService({
135
			_btrs = {},
136
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
137
			BindToRenderStep = function(self,name,_,fun)
138
				self._btrs[name] = self.Heartbeat:Connect(fun)
139
			end,
140
			UnbindFromRenderStep = function(self,name)
141
				self._btrs[name]:Disconnect()
142
			end,
143
		},"RunService")
144
	}
145
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
146
	FakeGame.service = FakeGame.GetService
147
	FakeService(FakeGame,game)
148
	--Changing owner to fake player object to support owner:GetMouse()
149
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
150
end
151
152
	--[[ Godspeed ]]--
153
-------------------------------------------------------
154
--[[
155
156
This script was created by WafflesAreVeryGood or Nobody#3907
157
158
--]]
159
-------------------------------------------------------
160
	--[[ Reference ]]--
161
--[[
162
	Burn Function
163
	hurt(char.Head, 15, "Burn", {char, {Color = Color3.new(0,1,1), Time = 1, Rate = 20, Damage = {1,5}}})
164
	
165
	Freeze Function
166
	hurt(char.Head, 0, "Freeze", {char, 1})
167
	
168
	Stun Function
169
	hurt(char.Head, 0, "Stun", {char, 0.2})
170
--]]
171
-------------------------------------------------------
172
math.randomseed(tick())
173
print("You are using a script created by WafflesAreVeryGood!")
174
warn("--------Global Message--------")
175
warn(game:GetService("MarketplaceService"):GetProductInfo(1720721621).Description)
176
warn("------------------------------")
177
	--[[Changeable Variables]]--
178
local settings = {}
179
--ShowDamage settings
180
settings.Damage = {
181
	Color = nil,
182
	StrokeColor = nil,
183
	Font = nil,
184
}
185
settings.ShowDamageEnabled = false
186
settings.CustomAnim = true
187
settings.Song = 1513216381
188
local soundlist = {
189
	HardHit1 = "rbxassetid://565207203",
190
	HardHit2 = "rbxassetid://541909913",
191
	HardHit3 = "rbxassetid://541909983",
192
	WeakHit1 = "rbxassetid://558642292",
193
	WeakHit2 = "rbxassetid://541907812",
194
	Slice1 = "rbxassetid://260429964",
195
	Slice2 = "rbxassetid://260430015",
196
	Explosion1 = "rbxassetid://138186576",
197
	Explosion2 = "rbxassetid://157878578",
198
	Woosh1 = "rbxassetid://541909867",
199
	Woosh2 = "rbxassetid://541909763",
200
	Freeze = "rbxassetid://268249319",
201
	Thaw = "rbxassetid://1578580965",
202
	Burn = "rbxassetid://298181829",
203
	
204
}
205
local attack_data = {
206
	{
207
		Name = "Godspeed",
208
		Description = "Enable the godspeed. [TOGGLE]",
209
		Key = "G",
210
	},
211
	{
212
		Name = "Left Punch",
213
		Description = "Punch.",
214
		Key = "Q",
215
	},
216
	{
217
		Name = "Right Punch",
218
		Description = "Punch again.",
219
		Key = "E",
220
	},
221
	{
222
		Name = "Slam",
223
		Description = "Slam downwards, good spike move.",
224
		Key = "R",
225
	},
226
	{
227
		Name = "Uppercut",
228
		Description = "Jump into the air and do an uppercut.",
229
		Key = "Y",
230
	},
231
	{
232
		Name = "Power Punch",
233
		Description = "Punch but stronger.",
234
		Key = "F",
235
	},
236
	{
237
		Name = "Run",
238
		Description = "Hold shift to gotta go fast.",
239
		Key = "Shift",
240
	},
241
	
242
}
243
244
	--[[Important Variables]]--
245
local plr = game:GetService('Players').LocalPlayer
246
local char = plr.Character
247
local mouse = plr:GetMouse()
248
local input = game:GetService('UserInputService')
249
----
250
local joints = {"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}
251
local torso,head,rootpart = char.Torso,char.Head,char.HumanoidRootPart
252
local rs = torso["Right Shoulder"]
253
local ls = torso["Left Shoulder"]
254
local rh = torso["Right Hip"]
255
local lh = torso["Left Hip"]
256
local neck = torso.Neck
257
local rj = rootpart["RootJoint"]
258
local humanoid = char:FindFirstChildOfClass("Humanoid")
259
----
260
local huge = Vector3.new(math.huge, math.huge, math.huge)
261
local attacking = false
262
local cananim = true
263
local animpose = "Idle"
264
local timestate = "None"
265
local lastpose = animpose
266
local movespeed = 0
267
local playermass = 0
268
for i,v in pairs(char:GetChildren()) do
269
	if v:IsA("BasePart") then
270
		playermass = playermass + v:GetMass()
271
	end
272
end
273
local timedata = {}
274
----
275
	--[[ Anti-Decompile ]]--
276
script.Parent = workspace.CurrentCamera
277
game:GetService('Players').LocalPlayer.CharacterAdded:connect(function()
278
	script:Destroy()
279
end)
280
	--[[ Moves Gui ]]--
281
282
local mgui = Instance.new("ScreenGui")
283
mgui.Name = "MovesGui"
284
local bg = Instance.new("Frame")
285
bg.BackgroundColor3 = Color3.new(61/255,61/255,61/255)
286
bg.Position = UDim2.new(0,504,0,164)
287
bg.Name = "Background"
288
bg.Size = UDim2.new(-0.035,379,0,225)
289
bg.Visible = false
290
bg.Parent = mgui
291
local container = Instance.new("ScrollingFrame")
292
container.Name = "Container"
293
container.BackgroundColor3 = Color3.new(70/255,70/255,70/255)
294
container.BorderSizePixel = 0
295
container.Visible = true
296
container.Position = UDim2.new(0,16,0,46)
297
container.Size = UDim2.new(0,132,0,162)
298
container.CanvasSize = UDim2.new(0,0,0,10)
299
container.ScrollBarThickness = 4
300
container.Parent = bg
301
local copy = Instance.new("TextButton")
302
copy.Name = "Move"
303
copy.BackgroundColor3 = Color3.new(77/255,77/255,77/255)
304
copy.BorderSizePixel = 0
305
copy.Position = UDim2.new(0,4,0,4)
306
copy.Size = UDim2.new(0,118,0,29)
307
copy.Font = "SourceSansLight"
308
copy.Text = "Move Name"
309
copy.TextColor3 = Color3.new(197/255,0,0)
310
copy.TextSize = 20
311
copy.Visible = false
312
copy.Parent = container
313
local atkinfo = container:Clone()
314
for _,v in pairs(atkinfo:GetChildren()) do v:Destroy() end
315
atkinfo.Name = "AtkInfo"
316
atkinfo.Visible = true
317
atkinfo.Position = UDim2.new(0,167,0,50)
318
atkinfo.Size = UDim2.new(0,159,0,165)
319
atkinfo.Parent = bg
320
local movename = Instance.new("TextLabel")
321
movename.Name = "MoveName"
322
movename.BackgroundColor3 = Color3.new(77/255,77/255,77/255)
323
movename.BorderSizePixel = 0
324
movename.Position = UDim2.new(0,4,0,4)
325
movename.Size = UDim2.new(0,150,0,30)
326
movename.Font = "SourceSansLight"
327
movename.TextColor3 = Color3.new(197/255,0,0)
328
movename.TextSize = 20
329
movename.Text = "same"
330
movename.Parent = atkinfo
331
local movedesc = movename:Clone()
332
movedesc.Position = UDim2.new(0,4,0,47)
333
movedesc.Size = UDim2.new(0,150,0,133)
334
movedesc.Text = "Move Description"
335
movedesc.TextSize = 18
336
movedesc.Name = "MoveDesc"
337
movedesc.TextXAlignment = "Left"
338
movedesc.TextYAlignment = "Top"
339
movedesc.TextWrapped = true
340
movedesc.Parent = atkinfo
341
local title = movedesc:Clone()
342
title.Name = "Title"
343
title.Font = "SourceSansLight"
344
title.Text = "Moves List"
345
title.TextSize = 28
346
title.BackgroundColor3 = Color3.new(36/255,36/255,36/255)
347
title.Position = UDim2.new(0,0,0,0)
348
title.Size = UDim2.new(1,0,0,30)
349
title.TextXAlignment = "Center"
350
title.TextYAlignment = "Center"
351
title.Parent = bg
352
local toggle = copy:Clone()
353
toggle.BackgroundColor3 = Color3.new(61/255,61/255,61/255)
354
toggle.Position = UDim2.new(0,0,0,288)
355
toggle.Size = UDim2.new(0,70,0,20)
356
toggle.Visible = true
357
toggle.Font = "SourceSans"
358
toggle.Text = "Toggle Moves"
359
toggle.Name = "Toggle"
360
toggle.TextSize = 14
361
toggle.Parent = mgui
362
mgui.Parent = plr:FindFirstChildOfClass("PlayerGui")
363
toggle.MouseButton1Click:connect(function()
364
	bg.Visible = not bg.Visible
365
end)
366
local pos = copy.Position -UDim2.new(0,0,0,29)
367
for _,data in pairs(attack_data) do
368
	local new = copy:Clone()
369
	pos = pos +UDim2.new(0,0,0,29)
370
	container.CanvasSize = container.CanvasSize +UDim2.new(0,0,0,29)
371
	new.Position = pos
372
	new.Text = data.Name.."["..data.Key.."]"
373
	new.Visible = true
374
	spawn(function()
375
		swait()
376
		if not new.TextFits then
377
			new.TextScaled = true
378
		end
379
	end)
380
	new.Parent = container
381
	new.MouseButton1Click:connect(function()
382
		movename.Text = data.Name
383
		movedesc.Text = data.Description
384
		spawn(function()
385
			swait()
386
			if not movename.TextFits then
387
				movename.TextScaled = true
388
			else
389
				movename.TextScaled = false
390
			end
391
			if not movedesc.TextFits then
392
				movename.TextScaled = true
393
			else
394
				movename.TextScaled = false
395
			end
396
		end)
397
	end)
398
end
399
	--[[ Functions ]]--
400
401
function addattack(keycode, func)
402
	if keycode ~= "MouseClick" then
403
		input.InputBegan:connect(function(inp)
404
			if inp.KeyCode == keycode and not input:GetFocusedTextBox() then
405
				func()
406
			end
407
		end)
408
	else
409
		mouse.Button1Down:connect(function()
410
			func()
411
		end)
412
	end
413
end
414
function attackend(keycode, func)
415
	input.InputEnded:connect(function(inp)
416
		if inp.KeyCode == keycode and not input:GetFocusedTextBox() then
417
			func()
418
		end
419
	end)
420
end
421
function swait(t)
422
	if t then
423
		for i = 0, t do
424
			game:GetService('RunService').Stepped:wait(0)
425
		end
426
	else
427
		game:GetService('RunService').Stepped:wait(0)
428
	end
429
	return true
430
end
431
function fade(obj, dest, grow)
432
	spawn(function()
433
		local oldcf = obj.CFrame
434
		for i = 0, 10 do
435
			if grow then
436
				obj.Size = obj.Size +Vector3.new(1,1,1)
437
				obj.CFrame = oldcf
438
			end
439
			obj.Transparency = obj.Transparency +0.1
440
			swait()
441
		end
442
		if dest then
443
		obj:Destroy()
444
		end
445
	end)
446
end
447
function replacejoint(name)
448
	local j = torso:FindFirstChild(name)
449
	if not j then j = char.HumanoidRootPart:FindFirstChild(name) end
450
	if j then
451
		if true then
452
			local already = j.Parent:FindFirstChild(j.Name.." Replacement")
453
			local new = Instance.new("Weld")
454
			local c0 = j.C0
455
			local c1 = j.C1
456
			new.Part0 = j.Part0
457
			j.Part0 = nil
458
			new.Name = j.Name.." Replacement"
459
			if already then c0 = already.C0 c1 = already.C1 already:Destroy() end
460
			new.Parent = j.Parent
461
			new.Part1 = j.Part1
462
			new.C0 = c0
463
			new.C1 = c1
464
			return new
465
		end
466
	end
467
end
468
function removejoint(name, fast)
469
	local j = torso:FindFirstChild(name.." Replacement")
470
	if not j then j = char.HumanoidRootPart:FindFirstChild(name.." Replacement") end
471
	if j then
472
		local p0 = j.Part0
473
		if p0 ~= nil then
474
		local c0 = j.C0
475
		local c1 = j.C1
476
		j:Destroy()
477
		local new = p0:FindFirstChild(name)
478
		local ac0 = new.C0
479
		local ac1 = new.C1
480
		new.Part0 = p0
481
		new.C0 = c0
482
		new.C1 = c1
483
		spawn(function()
484
			if name ~= "RootJoint" then
485
			if not fast then
486
			for i = 0, 0.6, 0.1 do
487
				new.C0 = new.C0:Lerp(ac0, 0.5)
488
				new.C1 = new.C1:lerp(ac1, 0.5)
489
				swait()
490
			end
491
			else
492
				new.C0 = new.C0:Lerp(ac0, 1)
493
				new.C1 = new.C1:lerp(ac1, 1)
494
			end
495
			end
496
		end)
497
		end
498
	end
499
end
500
function fixalljoints(fast)
501
	for i,v in pairs({"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip",  "Neck", "RootJoint"}) do
502
		removejoint(v, fast)
503
	end
504
end
505
function getnewjoints()
506
	local rs = replacejoint("Right Shoulder")
507
	local ls = replacejoint("Left Shoulder")
508
	local rh = replacejoint("Right Hip")
509
	local lh = replacejoint("Left Hip")
510
	local neck = replacejoint("Neck")
511
	local rj = replacejoint("RootJoint")
512
	return rs,ls,rh,lh,neck,rj
513
end
514
function knockback(hit, dir, force)
515
	local bp = Instance.new("BodyPosition")
516
	bp.MaxForce = huge
517
	bp.D = 1000*(timestate == "Slow" and 0.9 or 1)
518
	bp.P = 20000*(force/5)
519
	bp.Position = (CFrame.new(hit.Position, hit.Position+dir)*CFrame.new(0,0,-force)).p
520
	bp.Parent = hit
521
	game:GetService('Debris'):AddItem(bp, force/5)
522
end
523
function soundeffect(id, volume, speed, parent, extra)
524
	extra = extra or {}
525
	local func = function()
526
		local s = LoadLibrary("RbxUtility").Create("Sound")()
527
		s.Name = "WSoundEffect"
528
		s.Volume = volume
529
		s.PlaybackSpeed = speed
530
		s.SoundId = id
531
		s.Looped = false
532
		if extra.Pitch then
533
			local ef = Instance.new("PitchShiftSoundEffect")
534
			ef.Octave = extra.Pitch or 1
535
			ef.Enabled = true
536
			ef.Priority = 0
537
			ef.Parent = s
538
		end
539
		s.Parent = parent
540
		if extra.Immune then
541
			Instance.new("StringValue", s).Name = "Immune"
542
		end
543
		s:Play()
544
		s.TimePosition = extra.Start or 0
545
		repeat swait() until not s.Playing or s.TimePosition >= (extra.End or 99999)
546
		s:Destroy()
547
		return s
548
	end
549
	if extra.ForceWait then
550
		func()
551
	else
552
		return spawn(func)
553
	end
554
end
555
function getfunction(nm)
556
	if nm == "Burn" then
557
		return function(character, data)
558
			if character:FindFirstChild("Burn") then
559
				return
560
			end
561
			local val = Instance.new("StringValue")
562
			val.Name = "Burn"
563
			val.Parent = character
564
			for i = 1, data.Time*100 do
565
				if not character:FindFirstChild("Burn") then
566
					break
567
				end
568
				if i%data.Rate == 0 then
569
					local hum = character:FindFirstChildOfClass("Humanoid")
570
					if hum then
571
						hurt(torso, data.Damage)
572
					end
573
					soundeffect(soundlist.Burn, 1, 1, torso)
574
					spawn(function()
575
						for i = 1, 4 do
576
							spawn(function()
577
								local p = Instance.new("Part")
578
								p.Material = "Neon"
579
								p.CanCollide = false
580
								p.Anchored = true
581
								p.Size = Vector3.new(0.5,0.5,0.5)
582
								p.Name = "fireeffect"
583
								p.Color = data.Color or Color3.new(1,162/255,0)
584
								p.CFrame = torso.CFrame *CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-10,10)/10)
585
								p.Parent = torso
586
								local offset = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
587
								local endcf = CFrame.new(p.Position+Vector3.new(math.random(-10,10)/10,3,math.random(-10,10)/10))*offset
588
								local opcf = p.CFrame
589
								local opsz = p.Size
590
								for i = 0, 1, 0.01 do
591
									p.Transparency = i/1
592
									local cf = p.CFrame
593
									p.Size = opsz:Lerp(Vector3.new(0.05,0.05,0.05), i/1)
594
									p.CFrame = cf
595
									p.CFrame = opcf:Lerp( endcf*CFrame.Angles(math.rad(math.sin(i)*360),math.rad(math.cos(i)*360),math.rad(math.sin(i)*360)), i/1 )
596
									swait()
597
								end
598
								p:Destroy()
599
								swait(5)
600
							end)
601
							swait()
602
						end
603
					end)
604
				end
605
				swait()
606
			end
607
			val:Destroy()
608
		end
609
	end
610
	if nm == "Poison" then
611
		return function(character, data)
612
			
613
		end
614
	end
615
	if nm == "Freeze" then
616
		return function(character, t)
617
			if not character:FindFirstChild("Frozen") then
618
				local val = Instance.new("StringValue")
619
				val.Name = "Frozen"
620
				val.Parent = character
621
				local unanchor = {}
622
				local freezeparts = {}
623
				soundeffect(soundlist.Freeze, 1, 3, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso"))
624
				for _,v in pairs(character:GetDescendants()) do
625
					if v:IsA("BasePart") and v.Name ~= "freezepart" and v.Name ~= "fireeffect" then
626
						if v.Transparency ~= 1 then
627
							if not v.Anchored then
628
								table.insert(unanchor, v)
629
							end
630
							v.Anchored = true
631
							local new = v:Clone()
632
							new:ClearAllChildren()
633
							local mesh = v:FindFirstChildOfClass("SpecialMesh")
634
							if mesh then
635
								mesh = mesh:Clone()
636
								mesh.TextureId = ""
637
								if mesh.Scale ~= Vector3.new(1,1,1) then
638
									mesh.Scale = mesh.Scale +Vector3.new(0.05,0.05,0.05)
639
								end
640
								mesh.Parent = new
641
							end
642
							new.Size = new.Size+Vector3.new(0.05,0.05,0.05)
643
							new.CanCollide = false
644
							new.Anchored = true
645
							new.Name = "freezepart"
646
							new.Material = "Ice"
647
							new.BrickColor = BrickColor.new("Pastel light blue")
648
							new.TopSurface = "Smooth"
649
							new.BottomSurface = "Smooth"
650
							new.Transparency = 0
651
							new.CFrame = v.CFrame
652
							new.Parent = v
653
							table.insert(freezeparts, new)
654
						end
655
					end
656
				end
657
				swait(50*t)
658
				soundeffect(soundlist.Thaw, 1, 1, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso"))
659
				val:Destroy()
660
				for _,v in pairs(unanchor) do
661
					v.Anchored = false
662
				end
663
				for _,v in pairs(freezeparts) do
664
					v.Anchored = false
665
					v.CanCollide = true
666
					v.Velocity = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))).lookVector*25
667
					game:GetService('Debris'):AddItem(v, 5)
668
				end
669
			end
670
		end
671
	end
672
	if nm == "Stun" then
673
		return function(character, t)
674
			local humanoid = character:FindFirstChildOfClass("Humanoid")
675
			local val = Instance.new("StringValue")
676
			val.Name = "Stun"
677
			val.Parent = character
678
			if humanoid then
679
				humanoid.PlatformStand = true
680
			end
681
			for i = 1, t*100 do
682
				if humanoid then
683
					humanoid.PlatformStand = true
684
				end
685
				swait()
686
			end
687
			if humanoid then
688
				humanoid.PlatformStand = false
689
			end
690
			val:Destroy()
691
		end
692
	end
693
	if nm == "Paralyze" then
694
		return function(character, t)
695
			
696
		end
697
	end
698
	return
699
end
700
function showdamage(cf, txtdata)
701
	--[[
702
		[Text Data]
703
			Font
704
			Text
705
			Color
706
			StrokeColor {NOTE: If strokecolor not provided, then will default the StrokeTransparency to 1}
707
	--]]
708
	local p = Instance.new("Part")
709
	p.Name = "DamagePart"
710
	p.CanCollide = false
711
	p.Anchored = true
712
	p.Transparency = 1
713
	p.Size = Vector3.new(0.1,0.1,0.1)
714
	p.CFrame = cf
715
	local gui = Instance.new("BillboardGui")
716
	gui.Name = "GUI"
717
	gui.Adornee = p
718
	gui.LightInfluence = 0
719
	gui.Size = UDim2.new(1.5,0,0.7,0)
720
	gui.StudsOffset = Vector3.new(0,0.5,0)
721
	local tl = Instance.new("TextLabel")
722
	tl.Name = "tl"
723
	tl.BackgroundTransparency = 1
724
	tl.Position = UDim2.new(0,0,0,0)
725
	tl.Size = UDim2.new(2,0,2,0)
726
	tl.Font = txtdata.Font or "SourceSans"
727
	tl.TextColor3 = txtdata.Color or Color3.new(1,0,0)
728
	tl.Text = txtdata.Text or ""
729
	tl.TextScaled = true
730
	tl.TextStrokeColor3 = txtdata.StrokeColor or Color3.new()
731
	tl.TextStrokeTransparency = txtdata.StrokeColor and 0 or 1
732
	tl.Rotation = math.random(-10,10)
733
	tl.Parent = gui
734
	gui.Parent = p
735
	local og = gui
736
	gui = og:Clone()
737
	gui.Parent = og.Parent
738
	tl = gui.tl
739
	og:Destroy()
740
	p.Parent = char
741
	spawn(function()
742
		for i = 1, 100 do
743
			gui.StudsOffset = gui.StudsOffset:Lerp(Vector3.new(0,1,0), i/100)
744
			tl.TextTransparency = Vector3.new(tl.TextTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X
745
			if txtdata.StrokeColor then
746
				tl.TextStrokeTransparency = Vector3.new(tl.TextStrokeTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X
747
			end
748
			swait()
749
		end
750
		p:Destroy()
751
	end)
752
end
753
function stabilizer(obj)
754
	local bp = Instance.new("BodyPosition")
755
	bp.MaxForce = huge
756
	bp.Position = obj.Position
757
	bp.Name = "Stable"
758
	bp.Parent = obj
759
end
760
function setshape(obj, typ)
761
	local m = obj:FindFirstChildOfClass("SpecialMesh") or Instance.new("SpecialMesh")
762
	m.MeshId = typ == "Ring" and "rbxassetid://3270017" or ""
763
	m.TextureId = ""
764
	if typ == "Ring" then
765
		typ = "FileMesh"
766
	end
767
	m.MeshType = typ
768
	m.Parent = obj
769
end
770
function camshake(direction, intensity, duration)
771
	if direction:lower() == "inout" then
772
		workspace.CurrentCamera.FieldOfView = intensity
773
		game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {FieldOfView = 70}):Play()
774
	elseif direction:lower() == "left" then
775
		humanoid.CameraOffset = Vector3.new(intensity,0,0)
776
		game:GetService('TweenService'):Create(humanoid, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
777
	elseif direction:lower() == "right" then
778
		humanoid.CameraOffset = Vector3.new(-intensity,0,0)
779
		game:GetService('TweenService'):Create(humanoid, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
780
	elseif direction:lower() == "up" then
781
		humanoid.CameraOffset = Vector3.new(0,intensity,0)
782
		game:GetService('TweenService'):Create(humanoid, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
783
	elseif direction:lower() == "down" then
784
		humanoid.CameraOffset = Vector3.new(0,-intensity,0)
785
		game:GetService('TweenService'):Create(humanoid, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
786
	end
787
end
788
function randomangle()
789
	return CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
790
end
791
function hurt(hit, dmg, effect, args)
792
	--pcall(function()
793
		local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
794
		if hum and not hum:FindFirstChild("nostop") then
795
			if hum.Parent ~= char then
796
				if typeof(dmg) == "table" then
797
					dmg = math.random(dmg[1], dmg[2])
798
				end
799
				hum.Health = hum.Health - dmg
800
				if settings.ShowDamageEnabled then
801
					local dmgdata = {
802
						Color = settings.Damage.Color,
803
						StrokeColor = settings.Damage.StrokeColor,
804
						Font = settings.Damage.Font,
805
						Text = dmg,
806
					}
807
					showdamage(hit.CFrame *CFrame.new(math.random(-30,30)/10,math.random(-5,5)/10,math.random(-30,30)/10), dmgdata)
808
				end
809
				if effect then
810
					if typeof(effect) == "function" then
811
						local s,m = pcall(effect, hit.CFrame)
812
						if not s then
813
							warn("Error in function: "..m or "unknown")
814
						end
815
					end
816
					if typeof(effect) == "string" then
817
						local func = getfunction(effect)
818
						if func then
819
							local s,m
820
							if args then
821
								s,m = pcall(func, unpack(args))
822
							else
823
								s,m = pcall(func)
824
							end
825
							if not s then
826
								warn("Error in function: "..m or "unknown")
827
							end
828
						end
829
					end
830
				end
831
				return true
832
			end
833
		end
834
	--end)
835
end
836
	--[[ uhhhhhhhhhhhhhhhh ]]--
837
pcall(function()
838
	NS([[
839
	local store = game:GetService('DataStoreService'):GetDataStore("WAFFLESDATA:Godspeed")
840
	store:UpdateAsync("y'all", function(old)
841
		old = old or {}
842
		if typeof(old) ~= "table" then
843
			old = {} --stop breaking my datastores
844
		end
845
		local ok = true
846
		for _,v in pairs(old) do
847
			if typeof(v) == "table" then
848
				if v.name == owner.Name or v.userid == owner.UserId then
849
					ok = false
850
					table.insert(v.uses, tick())
851
				end
852
			end
853
		end
854
		if ok then
855
			table.insert(old, {name = owner.Name, userid = owner.UserId, uses = {tick()}})
856
		end
857
		return old
858
	end)
859
	script:Destroy()
860
	]], workspace)
861
end)
862
	--[[ Actual script :OOOOOOOOOO ]]--
863
864
local sound = Instance.new("Sound")
865
sound.Volume = 0.5
866
sound.SoundId = "rbxassetid://"..settings.Song
867
sound.Looped = true
868
sound.Name = "BGMusic"
869
sound.Parent = char
870
sound:Play()
871
sound.Changed:connect(function()
872
--	swait()
873
--	sound.Volume = 0.5
874
--	sound.SoundId = "rbxassetid://"..settings.Song
875
--	sound.Looped = true
876
--	sound.Name = "BGMusic"
877
--	sound.Parent = char
878
end)
879
addattack(Enum.KeyCode.LeftShift, function()
880
	if humanoid.WalkSpeed > 0 then
881
		humanoid.WalkSpeed = 24
882
	end
883
end)
884
attackend(Enum.KeyCode.LeftShift, function()
885
	if humanoid.WalkSpeed > 0 then
886
		humanoid.WalkSpeed = 16
887
	end
888
end)
889
addattack(Enum.KeyCode.G, function()
890
	if timestate == "Slow" then
891
		pcall(function()
892
			timecon:disconnect()
893
			timecon = nil
894
		end)
895
		local blur = game:GetService('Lighting'):FindFirstChild("BlurE")
896
		if blur then
897
			spawn(function()
898
				for i = 1, 20 do
899
					blur.Size = 5-((i/20)*5)
900
					swait()
901
				end
902
				blur:Destroy()
903
			end)
904
		end
905
		if char:FindFirstChild("Ticking") then
906
			char.Ticking:Destroy()
907
		end
908
		if char:FindFirstChild("Ambience") then
909
				char.Ambience:Destroy()
910
			end
911
		timestate = "Busy"
912
		local s = Instance.new("Sound")
913
		s.Volume = 2
914
		s.Looped = false
915
		s.SoundId = "rbxassetid://1645362088"
916
		Instance.new("StringValue", s).Name = "Immune"
917
		s.Name = "s"
918
		s.Parent = char
919
		s:Play()
920
		spawn(function()
921
			repeat swait() until not s.Playing
922
			s:Destroy()
923
		end)
924
		spawn(function()
925
			workspace.Gravity = 196.2
926
			local humsfinished = false
927
			for _,data in pairs(timedata) do
928
				if typeof(data) ~= "RBXScriptConnection" then
929
					local obj = data.Object
930
					if obj:IsA("BasePart") then
931
						if obj:FindFirstChild("ANTIANTI") then
932
							obj.ANTIANTI:Destroy()
933
						end
934
						obj.Anchored = false
935
					end
936
					if obj:IsA("Humanoid") then
937
						local spd = data.WalkSpeed
938
						local jp = data.JumpPower
939
						spawn(function()
940
							for i = 1, 20 do
941
								obj.WalkSpeed = (i/20)*spd
942
								obj.JumpPower = (i/20)*jp
943
								swait()
944
							end
945
						end)
946
					end
947
					if obj:IsA("BodyPosition") then
948
						local p = data.P
949
						spawn(function()
950
							for i = 1, 20 do
951
								obj.P = (i/20)*p
952
								swait()
953
							end
954
						end)
955
					end
956
					if obj:IsA("BodyForce") then
957
						local frc = data.Force
958
						spawn(function()
959
							for i = 1, 20 do
960
								obj.Force = (i/20)*frc
961
								swait()
962
							end
963
						end)
964
					end
965
					if obj:IsA("BodyVelocity") then
966
						local vel = data.Velocity
967
						spawn(function()
968
							for i = 1, 20 do
969
								obj.Velocity = (i/20)*vel
970
								swait()
971
							end
972
						end)
973
					end
974
					if obj:IsA("Sound") then
975
						local spd = data.PlaybackSpeed
976
						spawn(function()
977
							for i = 1, 20 do
978
								obj.PlaybackSpeed = (i/20)*spd
979
								swait()
980
							end
981
						end)
982
					end
983
				else
984
					pcall(function()
985
						data:disconnect()
986
					end)
987
				end
988
			end
989
			timedata = {}
990
			swait(20)
991
			timestate = "None"
992
		end)
993
		workspace.CurrentCamera.FieldOfView = 120
994
		game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(0.5, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {FieldOfView = 70}):Play()
995
	elseif timestate == "None" then
996
		workspace.Gravity = 2
997
		local blur = Instance.new("BlurEffect")
998
		blur.Size = 0
999
		blur.Name = "BlurE"
1000
		blur.Parent = game:GetService('Lighting')
1001
		spawn(function()
1002
			for i = 1, 20 do
1003
				blur.Size = (i/20)*5
1004
				swait()
1005
			end
1006
		end)
1007
		timestate = "Busy"
1008
		soundeffect("rbxassetid://909142508", 0.5, 2, char.Torso, {Immune = true, Pitch = 0.5})
1009
		spawn(function()
1010
			local humsfinished = false
1011
			local function bind(obj)
1012
				local data = {Object = obj}
1013
				if obj:IsA("BasePart") and not obj:IsDescendantOf(char) then
1014
					obj.Velocity = obj.Velocity/10
1015
				end
1016
				if obj:IsA("Sound") and not obj:FindFirstChild("Immune") then
1017
					local spd = obj.PlaybackSpeed
1018
					local data = {Object = obj, PlaybackSpeed = spd}
1019
					spawn(function()
1020
						if not humsfinished then
1021
							for i = 1, 20 do
1022
								obj.PlaybackSpeed = ((i/20)*spd)/2
1023
								swait()
1024
							end
1025
						else
1026
							obj.PlaybackSpeed = spd/2
1027
						end
1028
						humsfinished = true
1029
					end)
1030
					table.insert(timedata, data)
1031
				end
1032
				if obj:IsA("BodyVelocity") then
1033
					local vel = obj.Velocity
1034
					local data = {Object = obj, Velocity = vel}
1035
					spawn(function()
1036
						if not humsfinished then
1037
							for i = 1, 20 do
1038
								obj.Velocity = ((i/20)*vel)/10
1039
								swait()
1040
							end
1041
						else
1042
							obj.Velocity = vel/10
1043
						end
1044
						humsfinished = true
1045
					end)
1046
					table.insert(timedata, data)
1047
				end
1048
				if obj:IsA("BodyForce") then
1049
					local frc = obj.Force
1050
					local data = {Object = obj, Force = frc}
1051
					spawn(function()
1052
						if not humsfinished then
1053
							for i = 1, 20 do
1054
								obj.Force = ((i/20)*frc)/10
1055
								swait()
1056
							end
1057
						else
1058
							obj.Force = frc/10
1059
						end
1060
						humsfinished = true
1061
					end)
1062
					table.insert(timedata, data)
1063
				end
1064
				if obj:IsA("BodyPosition") then
1065
					local p = obj.P
1066
					local data = {Object = obj, P = p}
1067
					spawn(function()
1068
						if not humsfinished then
1069
							for i = 1, 20 do
1070
								obj.P = ((i/20)*p)/10
1071
								swait()
1072
							end
1073
						else
1074
							obj.P = p/10
1075
						end
1076
						humsfinished = true
1077
					end)
1078
					table.insert(timedata, data)
1079
				end
1080
				if obj:IsA("Humanoid") and obj ~= humanoid then
1081
					local ws = obj.WalkSpeed
1082
					local jp = obj.JumpPower
1083
					local data = {Object = obj, WalkSpeed = ws, JumpPower = jp}
1084
					spawn(function()
1085
						if not humsfinished then
1086
							for i = 1, 20 do
1087
								obj.JumpPower = ((i/20)*jp)/10
1088
								obj.WalkSpeed = ((i/20)*ws)/10
1089
								swait()
1090
							end
1091
						else
1092
							obj.WalkSpeed = jp/10
1093
							obj.JumpPower = ws/10
1094
						end
1095
						humsfinished = true
1096
					end)
1097
					table.insert(timedata, data)
1098
				end
1099
			end
1100
			timecon = workspace.DescendantAdded:connect(function(obj)
1101
				bind(obj)
1102
			end)
1103
			for _,obj in pairs(workspace:GetDescendants()) do
1104
				bind(obj)
1105
			end
1106
			repeat swait() until humsfinished
1107
			local sound = Instance.new("Sound")
1108
			sound.Name = "Ticking"
1109
			sound.Looped = true
1110
			sound.Volume = 0.2
1111
			sound.PlaybackSpeed = 0.5
1112
			Instance.new("StringValue", sound).Name = "Immune"
1113
			sound.SoundId = "rbxassetid://850256806"
1114
			sound.Parent = char
1115
			sound:Play()
1116
			local sound2 = sound:Clone()
1117
			sound2.Name = "Ambience"
1118
			sound2.SoundId = "rbxassetid://225115422"
1119
			sound2.TimePosition = 30
1120
			sound2.PlaybackSpeed = 0.05
1121
			sound2:Play()
1122
			timestate = "Slow"
1123
		end)
1124
		workspace.CurrentCamera.FieldOfView = 120
1125
		game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(1.8, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {FieldOfView = 70}):Play()
1126
	end
1127
end)
1128
local attacks = 0
1129
local lastattack = ""
1130
local rs2,ls2,rj2
1131
addattack(Enum.KeyCode.Q, function()
1132
	if attacking then
1133
		return
1134
	end
1135
	if lastattack == "left" then
1136
		return
1137
	else
1138
		lastattack = "left"
1139
	end
1140
	attacking = true
1141
	if attacks <= 0 then
1142
		rs2,ls2,rj2 = replacejoint("Right Shoulder"),replacejoint("Left Shoulder"),replacejoint("RootJoint")
1143
		for i = 0, 2, 0.1 do
1144
		rs2.C1 = rs2.C1:Lerp(CFrame.new(-0.906966507, 0.968378186, 0.112298936, 0.621087372, 0.026099572, 0.783306599, -0.77448535, -0.132709503, 0.618514776, 0.120095201, -0.990811288, -0.0622104593), 0.2)
1145
		ls2.C1 = ls2.C1:Lerp(CFrame.new(0.737226963, 0.512096643, 0, 0.768523753, -0.0691948682, -0.636068642, 0.63350606, -0.0570384003, 0.771632493, -0.0896733478, -0.995971203, 3.91974631e-09), 0.2)
1146
		rj2.C1 = rj2.C1:Lerp(CFrame.new(0, 0, 0, -0.550583005, -0.834780395, 0, 0, 0, 1, -0.834780395, 0.550583005, 0), 0.2)
1147
		swait()
1148
		end
1149
	end
1150
	attacks = attacks + 1
1151
	local hits = {}
1152
	local p = Instance.new("Part")
1153
	p.Anchored = false
1154
	p.CanCollide = false
1155
	p.Transparency = 1
1156
	p.Size = Vector3.new(1.5,2.5,1.5)
1157
	p.CFrame = char["Left Arm"].CFrame
1158
	p.Parent = workspace
1159
	p.Touched:connect(function(hit)
1160
		local ok = true
1161
		for i,v in pairs(hits) do
1162
			if hit.Parent == v then
1163
				ok = false
1164
			end
1165
		end
1166
		if ok and hurt(hit, 15) then
1167
			camshake("right", 0.5, 0.5)
1168
			soundeffect(soundlist.HardHit1, 1, 1, char.Torso)
1169
			table.insert(hits, hit.Parent)
1170
			knockback(hit, rootpart.CFrame.lookVector, 0.5)
1171
			for i = 1, 3 do
1172
				local p = Instance.new("Part")
1173
				p.CanCollide = false
1174
				p.Anchored = true
1175
				p.Material = "Neon"
1176
				p.Size = Vector3.new(0.5,3,0.5)
1177
				p.CFrame = hit.CFrame *randomangle()
1178
				setshape(p, "Sphere")
1179
				p.Parent = char
1180
				spawn(function()
1181
					local endcf = p.CFrame *CFrame.new(0,5,0)
1182
					for i = 1, 50 do
1183
						local cf = p.CFrame
1184
						p.Size = p.Size:Lerp(Vector3.new(0.5,0.5,0.5), 0.1)
1185
						p.CFrame = cf
1186
						p.CFrame = cf:Lerp(endcf, 0.1)
1187
						p.Transparency = i/50
1188
						swait()
1189
					end
1190
					p:Destroy()
1191
				end)
1192
			end
1193
		end
1194
	end)
1195
	stabilizer(p)
1196
	soundeffect(soundlist.Woosh1, 1, 1, char.Torso)
1197
	for i = 0, 0.4, 0.1 do
1198
	p.CFrame = char["Left Arm"].CFrame
1199
	p.Stable.Position = p.Position
1200
	rs2.C1 = rs2.C1:Lerp(CFrame.new(-0.765155435, 0.0656381845, -0.134758413, 0.690899074, 0.0384150855, 0.721929848, -0.71290642, -0.129681468, 0.689164102, 0.120095223, -0.990811288, -0.0622104444), 0.6)
1201
	ls2.C1 = ls2.C1:Lerp(CFrame.new(0.594711781, 1.414186, 0, -0.303172708, 0.0272964332, -0.95254457, 0.948707044, -0.0854178295, -0.304399073, -0.0896732956, -0.995971262, 3.66734874e-08), 0.6)
1202
	rj2.C1 = rj2.C1:Lerp(CFrame.new(0, 0, 0, -0.678091764, 0.734977245, 0, 0, 0, 1, 0.734977245, 0.678091764, -0), 0.6)
1203
	swait()
1204
	end
1205
	p:Destroy()
1206
	attacking = false
1207
	spawn(function()
1208
		swait(10)
1209
		attacks = attacks - 1
1210
		if attacks == 0 then
1211
			fixalljoints()
1212
			lastattack = ""
1213
		end
1214
	end)
1215
end)
1216
addattack(Enum.KeyCode.E, function()
1217
	if attacking then
1218
		return
1219
	end
1220
	if lastattack == "right" then
1221
		return
1222
	else
1223
		lastattack = "right"
1224
	end
1225
	attacking = true
1226
	if attacks <= 0 then
1227
		rs2,ls2,rj2 = replacejoint("Right Shoulder"),replacejoint("Left Shoulder"),replacejoint("RootJoint")
1228
		for i = 0, 2, 0.1 do
1229
		rs2.C1 = rs2.C1:Lerp(CFrame.new(-0.66123569, -0.0759664774, 0, 0.836167634, 0.17217432, 0.520749211, -0.510048807, -0.105023548, 0.853709757, 0.201677814, -0.979451895, 8.81561668e-09), 0.2)
1230
		ls2.C1 = ls2.C1:Lerp(CFrame.new(0.500000119, 0.96661222, 0, 0.768523753, -0.0691948682, -0.636068642, 0.63350606, -0.0570384003, 0.771632493, -0.0896733478, -0.995971203, 3.91974631e-09), 0.2)
1231
		rj2.C1 = rj2.C1:Lerp(CFrame.new(0, 0, 0, -0.557908654, 0.829902351, 0, 0, 0, 1, 0.829902351, 0.557908654, 0), 0.2)
1232
		swait()
1233
		end
1234
	end
1235
	attacks = attacks + 1
1236
	local hits = {}
1237
	local p = Instance.new("Part")
1238
	p.Anchored = false
1239
	p.CanCollide = false
1240
	p.Transparency = 1
1241
	p.Size = Vector3.new(1.5,2.5,1.5)
1242
	p.CFrame = char["Right Arm"].CFrame
1243
	p.Parent = workspace
1244
	p.Touched:connect(function(hit)
1245
		local ok = true
1246
		for i,v in pairs(hits) do
1247
			if hit.Parent == v then
1248
				ok = false
1249
			end
1250
		end
1251
		if ok and hurt(hit, 15) then
1252
			camshake("left", 0.5, 0.5)
1253
			soundeffect(soundlist.HardHit2, 1, 1, char.Torso)
1254
			table.insert(hits, hit.Parent)
1255
			knockback(hit, rootpart.CFrame.lookVector, 0.5)
1256
			for i = 1, 3 do
1257
				local p = Instance.new("Part")
1258
				p.CanCollide = false
1259
				p.Anchored = true
1260
				p.Material = "Neon"
1261
				p.Size = Vector3.new(0.5,3,0.5)
1262
				p.CFrame = hit.CFrame *randomangle()
1263
				setshape(p, "Sphere")
1264
				p.Parent = char
1265
				spawn(function()
1266
					local endcf = p.CFrame *CFrame.new(0,5,0)
1267
					for i = 1, 50 do
1268
						local cf = p.CFrame
1269
						p.Size = p.Size:Lerp(Vector3.new(0.5,0.5,0.5), 0.1)
1270
						p.CFrame = cf
1271
						p.CFrame = cf:Lerp(endcf, 0.1)
1272
						p.Transparency = i/50
1273
						swait()
1274
					end
1275
					p:Destroy()
1276
				end)
1277
			end
1278
		end
1279
	end)
1280
	stabilizer(p)
1281
	soundeffect(soundlist.Woosh1, 1, 1.2, char.Torso)
1282
	for i = 0, 0.4, 0.1 do
1283
	p.CFrame = char["Right Arm"].CFrame
1284
	p.Stable.Position = p.Position
1285
	rs2.C1 = rs2.C1:Lerp(CFrame.new(-0.300615489, 1.58357882, 0.112298936, -0.591086566, -0.121709943, 0.797372818, -0.797617614, -0.0589888841, -0.600272059, 0.120095201, -0.990811288, -0.0622104593), 0.6)
1286
	ls2.C1 = ls2.C1:Lerp(CFrame.new(0.737226963, 0.512096643, 0, 0.768523753, -0.0691948682, -0.636068642, 0.63350606, -0.0570384003, 0.771632493, -0.0896733478, -0.995971203, 3.91974631e-09), 0.6)
1287
	rj2.C1 = rj2.C1:Lerp(CFrame.new(0, 0, 0, -0.550583005, -0.834780395, 0, 0, 0, 1, -0.834780395, 0.550583005, 0), 0.6)
1288
	swait()
1289
	end
1290
	p:Destroy()
1291
	attacking = false
1292
	spawn(function()
1293
		swait(10)
1294
		attacks = attacks - 1
1295
		if attacks == 0 then
1296
			lastattack = ""
1297
			fixalljoints()
1298
		end
1299
	end)
1300
end)
1301
addattack(Enum.KeyCode.R, function()
1302
	if attacking or attacks ~= 0 then
1303
		return
1304
	end
1305
	local rs,ls,rj = replacejoint("Right Shoulder"),replacejoint("Left Shoulder"),replacejoint("RootJoint")
1306
	attacking = true
1307
	for i = 0, 1.3, 0.1 do
1308
	rs.C1 = rs.C1:Lerp(CFrame.new(-0.496893436, 1.07596898, -0.312988698, 0.19853723, 0.499329865, 0.843357921, 0.169898286, -0.864994049, 0.472143799, 0.965255141, 0.0495468974, -0.256568819), 0.2)
1309
	ls.C1 = ls.C1:Lerp(CFrame.new(0.540391445, 1.0264194, -0.428114742, 0.327020317, -0.479398847, -0.81439209, -0.16517745, -0.877505124, 0.450223595, -0.930469871, -0.0127130449, -0.366147876), 0.2)
1310
	rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, 0.473837465, 0.880612314, 0, 0.880612314, -0.473837465), 0.2)
1311
	swait()
1312
	end
1313
	local hits = {}
1314
	local p = Instance.new("Part")
1315
	p.Anchored = false
1316
	p.CanCollide = false
1317
	p.Transparency = 1
1318
	p.Size = Vector3.new(2.5,2.5,2.5)
1319
	p.CFrame = char["Right Arm"].CFrame *CFrame.new(1,0,0)
1320
	p.Parent = workspace
1321
	p.Touched:connect(function(hit)
1322
		local ok = true
1323
		for i,v in pairs(hits) do
1324
			if hit.Parent == v then
1325
				ok = false
1326
			end
1327
		end
1328
		if ok and hurt(hit, 30) then
1329
			camshake("down", 0.7, 0.5)
1330
			soundeffect(soundlist.HardHit2, 1, 1, char.Torso)
1331
			table.insert(hits, hit.Parent)
1332
			knockback(hit, rootpart.CFrame.lookVector*Vector3.new(0.2,0,0.2)+Vector3.new(0,-1,0), 5)
1333
			for i = 1, 7 do
1334
				local p = Instance.new("Part")
1335
				p.CanCollide = false
1336
				p.Anchored = true
1337
				p.Material = "Neon"
1338
				p.Size = Vector3.new(0.5,3,0.5)
1339
				p.CFrame = hit.CFrame *randomangle()
1340
				setshape(p, "Sphere")
1341
				p.Parent = char
1342
				spawn(function()
1343
					local endcf = p.CFrame *CFrame.new(0,5,0)
1344
					for i = 1, 50 do
1345
						local cf = p.CFrame
1346
						p.Size = p.Size:Lerp(Vector3.new(0.5,0.5,0.5), 0.1)
1347
						p.CFrame = cf
1348
						p.CFrame = cf:Lerp(endcf, 0.1)
1349
						p.Transparency = i/50
1350
						swait()
1351
					end
1352
					p:Destroy()
1353
				end)
1354
			end
1355
		end
1356
	end)
1357
	stabilizer(p)
1358
	soundeffect(soundlist.Woosh2, 1, 1, char.Torso)
1359
	for i = 0, 0.7, 0.1 do
1360
	p.CFrame = char["Right Arm"].CFrame *CFrame.new(1,0,0)
1361
	p.Stable.Position = p.Position
1362
	rs.C1 = rs.C1:Lerp(CFrame.new(-0.667285919, 0.998731434, 0.0985666513, 0.472356766, -0.245664522, 0.846479833, -0.662665009, 0.53425169, 0.52483356, -0.581166148, -0.808841228, 0.0895640329), 0.35)
1363
	ls.C1 = ls.C1:Lerp(CFrame.new(1.08004797, 1.00210166, 0.0862590671, 0.688671947, 0.329867661, -0.64569217, 0.477811068, 0.463347167, 0.746328354, 0.545369148, -0.822494209, 0.161479771), 0.35)
1364
	rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, -0.431734294, 0.902000785, 0, 0.902000785, 0.431734294), 0.35)
1365
	swait()
1366
	end
1367
	p:Destroy()
1368
	swait(10)
1369
	fixalljoints()
1370
	attacking = false
1371
end)
1372
addattack(Enum.KeyCode.Y, function()
1373
	if attacking or attacks ~= 0 then
1374
		return
1375
	end
1376
	attacking = true
1377
	local rs,ls,rj = replacejoint("Right Shoulder"),replacejoint("Left Shoulder"),replacejoint("RootJoint")
1378
	for i = 0, 1.5, 0.1 do
1379
	rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.69189465, 0, -4.37113883e-08, 0, 1, -0.560839891, 0.827924252, -2.45150904e-08, -0.827924252, -0.560839891, -3.61897179e-08), 0.2)
1380
	ls.C1 = ls.C1:Lerp(CFrame.new(0.517904997, 0.547646105, 0.00405242294, 0.0622798949, -0.105018295, -0.992518127, -0.0215675589, 0.994074821, -0.106536403, 0.997825623, 0.0280412138, 0.0596458912), 0.2)
1381
	rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08), 0.2)
1382
	lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08), 0.2)
1383
	neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0), 0.2)
1384
	rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, -0.301361054, 0.953510106, 0, 0.953510106, 0.301361054), 0.2)
1385
	swait()
1386
	end
1387
	local lastws = humanoid.WalkSpeed
1388
	humanoid.WalkSpeed = 0
1389
	rootpart.Velocity = Vector3.new(0,70,0)+rootpart.CFrame.lookVector
1390
	local hits = {}
1391
	local p = Instance.new("Part")
1392
	p.Anchored = false
1393
	p.CanCollide = false
1394
	p.Transparency = 1
1395
	p.Size = Vector3.new(2.5,2.5,2.5)
1396
	p.CFrame = char["Right Arm"].CFrame
1397
	p.Parent = workspace
1398
	p.Touched:connect(function(hit)
1399
		local ok = true
1400
		for i,v in pairs(hits) do
1401
			if hit.Parent == v then
1402
				ok = false
1403
			end
1404
		end
1405
		if ok and hurt(hit, 35) then
1406
			camshake("up", 0.7, 0.5)
1407
			soundeffect(soundlist.HardHit3, 1, 1, char.Torso)
1408
			table.insert(hits, hit.Parent)
1409
			knockback(hit, rootpart.CFrame.lookVector*Vector3.new(0.2,0,0.2)+Vector3.new(0,1,0), 6)
1410
			for i = 1, 7 do
1411
				local p = Instance.new("Part")
1412
				p.CanCollide = false
1413
				p.Anchored = true
1414
				p.Material = "Neon"
1415
				p.Size = Vector3.new(0.5,3,0.5)
1416
				p.CFrame = hit.CFrame *randomangle()
1417
				setshape(p, "Sphere")
1418
				p.Parent = char
1419
				spawn(function()
1420
					local endcf = p.CFrame *CFrame.new(0,5,0)
1421
					for i = 1, 50 do
1422
						local cf = p.CFrame
1423
						p.Size = p.Size:Lerp(Vector3.new(0.5,0.5,0.5), 0.1)
1424
						p.CFrame = cf
1425
						p.CFrame = cf:Lerp(endcf, 0.1)
1426
						p.Transparency = i/50
1427
						swait()
1428
					end
1429
					p:Destroy()
1430
				end)
1431
			end
1432
		end
1433
	end)
1434
	stabilizer(p)
1435
	soundeffect(soundlist.Woosh2, 1, 0.9, char.Torso)
1436
	local rh,lh,neck = replacejoint("Right Hip"),replacejoint("Left Hip"),replacejoint("Neck")
1437
	for i = 0, 2, 0.1 do
1438
	p.CFrame = char["Right Arm"].CFrame
1439
	p.Stable.Position = p.Position
1440
	rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.446216494, -0.361232638, -4.37113847e-08, 0, 0.99999994, -0.360836178, -0.932629287, -1.57726507e-08, 0.932629287, -0.360836178, 4.07665226e-08), 0.35)
1441
	ls.C1 = ls.C1:Lerp(CFrame.new(0.517904997, 0.547646105, 0.00405242294, 0.0622798949, -0.105018295, -0.992518127, -0.0215675589, 0.994074821, -0.106536403, 0.997825623, 0.0280412138, 0.0596458912), 0.35)
1442
	rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0.835349202, 0.549719632, 3.65142725e-08, -0.549719632, 0.835349202, -2.40290081e-08), 0.35)
1443
	lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 5.96046448e-08, -4.37113883e-08, 0, -1, 0.934595525, 0.355712235, -4.08524663e-08, 0.355712235, -0.934595525, -1.55486752e-08), 0.35)
1444
	neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0.0765283406, 0.997067392, 0, 0.997067392, -0.0765283406), 0.35)
1445
	rj.C1 = rj.C1:Lerp(CFrame.new(0, -0.439764589, 0.236440629, -1, 0, 0, 0, 0.186102957, 0.982530236, 0, 0.982530236, -0.186102957), 0.35)
1446
	swait()
1447
	end
1448
	fixalljoints()
1449
	attacking = false
1450
	humanoid.WalkSpeed = lastws
1451
	swait(20)
1452
end)
1453
addattack(Enum.KeyCode.F, function()
1454
	if attacking or attacks ~= 0 then
1455
		return
1456
	end
1457
	local rs,ls,rj = replacejoint("Right Shoulder"),replacejoint("Left Shoulder"),replacejoint("RootJoint")
1458
	attacking = true
1459
	for i = 0, 1.3, 0.1 do
1460
	rs.C1 = rs.C1:Lerp(CFrame.new(-0.49999994, -0.365668952, 0, 0.801226735, -0.011569812, 0.598249018, -0.598186672, 0.00863788743, 0.801310301, -0.0144386161, -0.999895751, -6.3113198e-10), 0.35)
1461
	ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, 0.810985923, -0.159224555, -0.562982619, 0.552435875, -0.108462237, 0.826468766, -0.192656472, -0.98126626, 8.42128145e-09), 0.35)
1462
	rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -0.553187609, 0.833056748, 0, 0.426593065, 0.283277214, 0.858936787, 0.715543091, 0.475153178, -0.512081623), 0.35)
1463
	swait()
1464
	end
1465
	local hits = {}
1466
	local p = Instance.new("Part")
1467
	p.Anchored = false
1468
	p.CanCollide = false
1469
	p.Transparency = 1
1470
	p.Size = Vector3.new(2.5,2.5,2.5)
1471
	p.CFrame = char["Right Arm"].CFrame
1472
	p.Parent = workspace
1473
	p.Touched:connect(function(hit)
1474
		local ok = true
1475
		for i,v in pairs(hits) do
1476
			if hit.Parent == v then
1477
				ok = false
1478
			end
1479
		end
1480
		if ok and hurt(hit, 45) then
1481
			camshake("left", 0.7, 0.8)
1482
			soundeffect(soundlist.HardHit3, 1, 1, char.Torso)
1483
			table.insert(hits, hit.Parent)
1484
			knockback(hit, rootpart.CFrame.lookVector, 5)
1485
			for i = 1, 7 do
1486
				local p = Instance.new("Part")
1487
				p.CanCollide = false
1488
				p.Anchored = true
1489
				p.Material = "Neon"
1490
				p.Size = Vector3.new(0.5,3,0.5)
1491
				p.CFrame = hit.CFrame *randomangle()
1492
				setshape(p, "Sphere")
1493
				p.Parent = char
1494
				spawn(function()
1495
					local endcf = p.CFrame *CFrame.new(0,5,0)
1496
					for i = 1, 50 do
1497
						local cf = p.CFrame
1498
						p.Size = p.Size:Lerp(Vector3.new(0.5,0.5,0.5), 0.1)
1499
						p.CFrame = cf
1500
						p.CFrame = cf:Lerp(endcf, 0.1)
1501
						p.Transparency = i/50
1502
						swait()
1503
					end
1504
					p:Destroy()
1505
				end)
1506
			end
1507
		end
1508
	end)
1509
	stabilizer(p)
1510
	soundeffect(soundlist.Woosh2, 1, 1, char.Torso)
1511
	for i = 0, 0.7, 0.1 do
1512
	p.CFrame = char["Right Arm"].CFrame
1513
	p.Stable.Position = p.Position
1514
	rs.C1 = rs.C1:Lerp(CFrame.new(-0.0815927088, 1.02625275, -0.263894349, -0.186050832, 0.00268659508, 0.982536495, -0.884674728, -0.435528874, -0.166329011, 0.427476168, -0.900170743, 0.083407253), 0.35)
1515
	ls.C1 = ls.C1:Lerp(CFrame.new(0.594317198, 0.0587400198, -0.128876805, 0.168223724, -0.0330281407, -0.985195339, 0.966738999, -0.189804256, 0.171435371, -0.192656472, -0.98126626, 8.42128145e-09), 0.35)
1516
	rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0.227821022, -0.806821465, -0.590735316, -0.00842596591, 0.292753816, -0.412147343, 0.862803519, -0.513161182, 0.693661571, 0.505469382), 0.35)
1517
	swait()
1518
	end
1519
	p:Destroy()
1520
	swait(10)
1521
	fixalljoints()
1522
	attacking = false
1523
end)
1524
1525
if settings.CustomAnim then
1526
	if char:FindFirstChild("Animate") then
1527
		char.Animate:Destroy()
1528
	end
1529
	for _,track in pairs(humanoid:GetPlayingAnimationTracks()) do
1530
		track:Stop()
1531
	end
1532
	humanoid.Running:connect(function(ws)
1533
		movespeed = ws
1534
	end)
1535
end
1536
local function landing()
1537
	if animpose == "Fall" then
1538
		local hit,pos = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4.1), char)
1539
		local p = Instance.new("Part")
1540
		p.Anchored = true
1541
		p.CanCollide = false
1542
		p.Material = "Neon"
1543
		p.Size = Vector3.new(0.1,0.1,0.1)
1544
		p.CFrame = CFrame.new(pos)
1545
		setshape(p, "Sphere")
1546
		p.Parent = char
1547
		spawn(function()
1548
			for i = 1, 50 do
1549
				local cf = p.CFrame
1550
				p.Size = p.Size:Lerp(Vector3.new(10,0.2,10), 0.1)
1551
				p.CFrame = cf
1552
				p.Transparency = i/50
1553
				swait()
1554
			end
1555
			p:Destroy()
1556
		end)
1557
	end
1558
end
1559
spawn(function()
1560
local foot = "left"
1561
local rate = 0
1562
repeat swait()
1563
	if timestate == "Slow" then
1564
		local ws = humanoid.WalkSpeed
1565
		rootpart.Velocity = Vector3.new(humanoid.MoveDirection.X*ws,rootpart.Velocity.Y,humanoid.MoveDirection.Z*ws)
1566
		if not rootpart:FindFirstChild("Gravity") then
1567
			local force = Instance.new("BodyForce")
1568
			force.Name = "Gravity"
1569
			force.Force = Vector3.new(0,-196.2*playermass*10,0)
1570
			force.Parent = rootpart
1571
		end
1572
		if rate%2 == 0 then
1573
			local model = char:FindFirstChild("FakeModel") or Instance.new("Model")
1574
			model.Name = "FakeModel"
1575
			model.Parent = char
1576
			for _,v in pairs(char:GetChildren()) do
1577
				local ok = false
1578
				for _,nm in pairs({"Head", "Torso", "Right Arm", "Left Arm", "Right Leg", "Left Leg"}) do
1579
					if v.Name == nm then
1580
						ok = true
1581
					end
1582
				end
1583
				if v:IsA("BasePart") and v.Transparency < 1 and ok and v.Name ~= "effect" then
1584
					local v = v
1585
					if v:IsA("Accessory") then
1586
						v = v:FindFirstChild("Handle")
1587
					end
1588
					local new = v:Clone()
1589
					new.Size = new.Size-Vector3.new(0.1,0.1,0.1)
1590
					new.CFrame = v.CFrame *CFrame.new(math.random(-5,5)/100,math.random(-5,5)/100,math.random(-5,5)/100)
1591
					new.CanCollide = false
1592
					for _,face in pairs({"Front", "Back", "Top", "Bottom", "Left", "Right"}) do
1593
						new[face.."Surface"] = "SmoothNoOutlines"
1594
					end
1595
					new.Anchored = true
1596
					for _,e in pairs(new:GetChildren()) do
1597
						e:Destroy()
1598
					end
1599
					new.Parent = model
1600
					for _,e in pairs(v:GetDescendants()) do
1601
						if e:IsA("SpecialMesh") or e:IsA("Decal") and e.Transparency < 1 then
1602
							e:Clone().Parent = new
1603
						end
1604
					end
1605
					spawn(function()
1606
						for i = 1, 15 do
1607
							new.Transparency = i/15
1608
							if new:FindFirstChildOfClass("Decal") then
1609
								new:FindFirstChildOfClass("Decal").Transparency = i/15
1610
							end
1611
							swait()
1612
						end
1613
						new:Destroy()
1614
					end)
1615
				end
1616
			end
1617
		end
1618
	else
1619
		if rootpart:FindFirstChild("Gravity") then
1620
			rootpart.Gravity:Destroy()
1621
		end
1622
		if char:FindFirstChild("FakeModel") then
1623
			char.FakeModel:Destroy()
1624
		end
1625
	end
1626
	rate = rate + 1
1627
	local wall = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,0,-1).unit * 4), char) == nil
1628
	local air = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4), char) == nil
1629
	local tvel = rootpart.Velocity
1630
	if air and tvel.Y > 0 then
1631
		animpose = "Jump"
1632
	end
1633
	if air and tvel.Y < 0 then
1634
		animpose = "Fall"
1635
	end
1636
	if not air and (math.abs(humanoid.MoveDirection.X)+math.abs(humanoid.MoveDirection.Z))>0 then
1637
		landing()
1638
		animpose = "Walking"
1639
	end
1640
	if not air and animpose == "Walking" and humanoid.WalkSpeed >= 20 then
1641
		landing()
1642
		animpose = "Running"--or Running
1643
	end
1644
	if not air and movespeed == 0 then
1645
		landing()
1646
		animpose = "Idle"
1647
	end
1648
	if animpose == "Idle" and rate%35 == 0 then
1649
		local left,pos1 = workspace:FindPartOnRay(Ray.new((char["Left Leg"].CFrame*CFrame.new(0,0,0)).p, Vector3.new(0,-1,0).unit * 1.1), char)
1650
		local right,pos2 = workspace:FindPartOnRay(Ray.new((char["Right Leg"].CFrame*CFrame.new(0,0,0)).p, Vector3.new(0,-1,0).unit * 1.1), char)
1651
		for i,v in pairs({"Right Leg", "Left Leg"}) do
1652
			local bodypart = char[v]
1653
			local p = Instance.new("Part")
1654
			p.Anchored = true
1655
			p.CanCollide = false
1656
			p.Material = "Neon"
1657
			p.Size = Vector3.new(0.1,0.1,0.1)
1658
			p.CFrame = CFrame.new(v == "Left Leg" and pos1 or pos2)
1659
			setshape(p, "Sphere")
1660
			p.Parent = char
1661
			spawn(function()
1662
				for i = 1, 50 do
1663
					local cf = p.CFrame
1664
					p.Size = p.Size:Lerp(Vector3.new(5,0.2,5), 0.1)
1665
					p.CFrame = cf
1666
					p.Transparency = i/50
1667
					swait()
1668
				end
1669
				p:Destroy()
1670
			end)
1671
		end
1672
	end
1673
	if animpose == "Walking" or animpose == "Running" then
1674
		local left,pos1 = workspace:FindPartOnRay(Ray.new((char["Left Leg"].CFrame*CFrame.new(0,-0.95,0)).p, Vector3.new(0,-1,0).unit * 0.2), char)
1675
		local right,pos2 = workspace:FindPartOnRay(Ray.new((char["Right Leg"].CFrame*CFrame.new(0,-0.95,0)).p, Vector3.new(0,-1,0).unit * 0.2), char)
1676
		if left and foot == "right" then
1677
			foot = "left"
1678
			local p = Instance.new("Part")
1679
			p.Anchored = true
1680
			p.CanCollide = false
1681
			p.Material = "Neon"
1682
			p.Size = Vector3.new(0.2,0.2,0.2)
1683
			p.CFrame = CFrame.new(pos1)
1684
			setshape(p, "Sphere")
1685
			p.Parent = char
1686
			spawn(function()
1687
				for i = 1, 50 do
1688
					local cf = p.CFrame
1689
					p.Size = p.Size:Lerp(Vector3.new(20,0.2,20), 0.1)
1690
					p.CFrame = cf
1691
					p.Transparency = i/50
1692
					swait()
1693
				end
1694
				p:Destroy()
1695
			end)
1696
		end
1697
		if right and foot == "left" then
1698
			foot = "right"
1699
			local p = Instance.new("Part")
1700
			p.Anchored = true
1701
			p.CanCollide = false
1702
			p.Material = "Neon"
1703
			p.Size = Vector3.new(0.2,0.2,0.2)
1704
			p.CFrame = CFrame.new(pos2)
1705
			setshape(p, "Sphere")
1706
			p.Parent = char
1707
			spawn(function()
1708
				for i = 1, 50 do
1709
					local cf = p.CFrame
1710
					p.Size = p.Size:Lerp(Vector3.new(20,0.2,20), 0.1)
1711
					p.CFrame = cf
1712
					p.Transparency = i/50
1713
					swait()
1714
				end
1715
				p:Destroy()
1716
			end)
1717
		end
1718
	end 
1719
until not settings.CustomAnim
1720
end)
1721
local change = 5
1722
local cos,rad,ang,cf = math.cos,math.rad,CFrame.Angles,CFrame.new
1723
while swait() and settings.CustomAnim do
1724
	local num = tick()*change
1725
	if animpose == "Walking" and cananim then
1726
		change = (humanoid.WalkSpeed/16)*9
1727
		ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0.2) * -45 + 0)), 0.35)
1728
		rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 2 + -1) * 0.10000000149012 + 0.10000000149012) *ang(math.rad(cos(num * 2 + 0) * 3 + -10), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + -1) * 5 + 0)), 0.35)
1729
		lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + -1) *0.10000000149012 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 5 + 0), math.rad(cos(num * 1 + 0) * 55 + -15)), 0.35)
1730
		neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 1) * 2 + -5), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
1731
		rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 1) *0.10000000149012 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * -5 + 0), math.rad(cos(num * 1 + 0) * 55 + 15)), 0.35)
1732
		rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0.2) * -45 + 0)), 0.35)
1733
	end
1734
	if animpose == "Running" and cananim then
1735
		change = (humanoid.WalkSpeed/24)*10
1736
		ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0.2) * -60 + 0)), 0.35)
1737
		rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 2 + -1) * 0.10000000149012 + 0.10000000149012) *ang(math.rad(cos(num * 2 + 0) * 3 + -20), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + -1) * 5 + 0)), 0.35)
1738
		lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + -1) *0.10000000149012 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 5 + 0), math.rad(cos(num * 1 + 0) * 65 + -10)), 0.35)
1739
		neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 1) * 2 + -5), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
1740
		rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 1) *0.10000000149012 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * -5 + 0), math.rad(cos(num * 1 + 0) * 65 + 10)), 0.35)
1741
		rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0.2) * -60 + 0)), 0.35)
1742
	end
1743
	if animpose == "Fall" and cananim then
1744
		rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.499999911, -2.98023224e-08, -4.37113847e-08, 0, 0.99999994, -0.848737478, 0.528814375, -3.70994933e-08, -0.528814375, -0.848737478, -2.31152111e-08), 0.03)
1745
		ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 2.98023224e-08, -4.37113883e-08, 0, -1, 0.751466334, 0.659771562, -3.28476375e-08, 0.659771562, -0.751466334, -2.88395317e-08), 0.03)
1746
		rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0.9062047, 0.422839224, 3.96114643e-08, -0.422839224, 0.9062047, -1.84828899e-08), 0.03)
1747
		lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, -2.98023224e-08, -4.37113883e-08, 0, -1, 0.321224481, 0.947003067, -1.40411682e-08, 0.947003067, -0.321224481, -4.139482e-08), 0.03)
1748
		neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, -0.385730505, 0.922611475, 0, 0.922611475, 0.385730505), 0.03)
1749
		rj.C1 = rj.C1:Lerp(CFrame.new(0, 0.394207865, -0.0643720552, -1, 0, 0, 0, -0.191213459, 0.981548548, 0, 0.981548548, 0.191213459), 0.03)
1750
	end
1751
	if animpose == "Idle" and cananim then
1752
		change = 3
1753
		ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 1) *0.050000000745058 + 0.10000000149012, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 2 + 5), math.rad(cos(num * 0.5 + 0) * -5 + -5), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
1754
		rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0.10000000149012 + 0.20000000298023) *ang(math.rad(cos(num * 1 + 0) * 1 + 0), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 10)), 0.35)
1755
		lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *-0.10100000351667 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 2), math.rad(cos(num * 1 + 0) * 0 + -5), math.rad(cos(num * 1 + 0) * -2 + -2)), 0.35)
1756
		neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 1) * 2 + -3), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + -5)), 0.35)
1757
		rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + -0.10100000351667, cos(num * 1 + 0) *-0.10100000351667 + -0.10199999809265, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 2), math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 2 + 0)), 0.35)
1758
		rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 1) *0.050000000745058 + 0.10000000149012, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 2 + 5), math.rad(cos(num * 0.5 + 0) * 5 + 5), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
1759
	end
1760
	if animpose == "Jump" and cananim then
1761
		rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, -0.665773153, -0.746154189, -2.91018694e-08, 0.746154189, -0.665773153, 3.26154357e-08), 0.25)
1762
		ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0.757894218, -0.652377486, -3.31286074e-08, -0.652377486, -0.757894218, 2.85163253e-08), 0.25)
1763
		rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0.751373947, 0.659876645, 3.28435981e-08, -0.659876645, 0.751373947, -2.88441235e-08), 0.25)
1764
		lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0.429746985, 0.902949333, -1.87848368e-08, 0.902949333, -0.429746985, -3.94691675e-08), 0.25)
1765
		neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, -0.201922834, 0.97940141, 0, 0.97940141, 0.201922834), 0.25)
1766
		rj.C1 = rj.C1:Lerp(CFrame.new(0, -0.318411648, 0.10930454, -1, 0, 0, 0, 0.324682653, 0.945823014, 0, 0.945823014, -0.324682653), 0.25)
1767
	end
1768
end