View difference between Paste ID: 5jycxJwL and pdEyZHWJ
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-
															if id ~='252166378' then
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-
														elseif id == '252166378' then
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
--[[epico here, just leaking MY dancer.
153
most of what you have been told about this script is likely a lie,
154
as it was leaked by deadly3652/scaoth22 for revenge on me ignoring him when i was GROUNDED AND DIDNT HAVE SKYPE
155
so he stole it and leaked it
156
no matter what u are told, this dancer was made by me and me alone!
157
]]--														--dancer
158
														local plr=game.Players.LocalPlayer
159
														local chr=plr.Character
160
														local asin = math.asin
161
														local atan2 = math.atan2
162
														local rad = math.rad
163
														local sin = math.sin
164
														local abs = math.abs
165
														local ceil = math.ceil
166
167
														local function getAngles(cf)
168
															local sx,sy,sz,m00,m01,m02,m10,m11,m12,m20,m21,m22 = cf:components()
169
															return atan2(-m12,m22),asin(m02),atan2(-m01,m00)
170
														end
171
														Lerp = {
172
															Number = function(C1,C2,inc)
173
																return C1 + (C2 - C1) * inc
174
															end;
175
															CFrame = function(a,b,m)
176
																local c,d={a:components()},{b:components()}
177
																table.foreach(c,function(a,b)c[a]=c[a]+(d[a]-c[a])*m end)
178
																return CFrame.new(unpack(c))
179
															end;
180
														}
181
														local function genWeld(a,b)
182
															local w = Instance.new("Weld",a)
183
															w.Part0 = a
184
															w.Part1 = b
185
															return w
186
														end
187
														local Song = function(id,pitch)
188
															for i,v in pairs(chr:GetChildren()) do
189
																if v:IsA("Sound") then
190
																	v:Destroy()
191
																end
192
														end
193
															if id ~='4897528175' then
194
															sound = Instance.new("Sound",chr)
195
															sound.Volume = math.huge
196
															sound.Looped = true
197
															sound.SoundId="rbxassetid://"..id
198
															if pitch~=nil then
199
																sound.Pitch=pitch
200
															end
201
															sound:Play()
202
														elseif id == '4897528175' then
203
															for i = 1,100 do
204
																	sound = Instance.new("Sound",chr)
205
															sound.Volume = math.huge
206
															sound.Looped = true
207
															sound.SoundId="rbxassetid://"..id
208
															if pitch~=nil then
209
																sound.Pitch=pitch
210
															end
211
															sound:Play()
212
														end
213
														end
214
														end
215
														Part = function(x,y,z,color,tr,cc,an,parent)
216
															local p = Instance.new('Part',parent or Weapon)
217
															p.formFactor = 'Custom'
218
															p.Size = Vector3.new(x,y,z)
219
															p.BrickColor = BrickColor.new(color)
220
															p.CanCollide = cc
221
															p.Transparency = tr
222
															p.Anchored = an
223
															p.TopSurface,p.BottomSurface = 0,0
224
															p:BreakJoints()
225
															return p
226
														end
227
														Weld = function(p0,p1,x,y,z,rx,ry,rz,par)
228
															local w = Instance.new('Motor',par or p0)
229
															w.Part0 = p0
230
															w.Part1 = p1
231
															w.C1 = CFrame.new(x,y,z)*CFrame.Angles(rx,ry,rz)
232
															return w
233
														end
234
														Mesh = function(par,num,x,y,z)
235
															local msh = nil
236
															if num == 1 then
237
																msh = Instance.new("CylinderMesh",par)
238
															elseif num == 2 then
239
																msh = Instance.new("SpecialMesh",par)
240
																msh.MeshType = 'Wedge'
241
															elseif num == 3 then
242
																msh = Instance.new("BlockMesh",par)
243
															elseif type(num) == 'string' then
244
																msh = Instance.new("SpecialMesh",par)
245
																msh.MeshId = num
246
															end
247
															msh.Scale = Vector3.new(x,y,z)
248
															return msh
249
														end
250
														anglespeed = 1
251
														yeet = 0
252
														count = 0
253
														angle = 0
254
														local dance = 0
255
														speed = 1
256
														local plr=game.Players.LocalPlayer
257
														local chr=plr.Character
258
														local torso=chr.Torso
259
														local mouse=plr:GetMouse()
260
														local Neck = genWeld(chr.Torso,chr.Head)
261
														Neck.C0 = CFrame.new(0,1,0)
262
														Neck.C1 = CFrame.new(0,-0.5,0)
263
														local LeftShoulder = genWeld(chr.Torso,chr['Left Arm'])
264
														LeftShoulder.C0 = CFrame.new(-1,0.5,0)
265
														LeftShoulder.C1 = CFrame.new(0.5,0.5,0)
266
														RightShoulder = genWeld(chr.Torso,chr['Right Arm'])
267
														RightShoulder.C0 = CFrame.new(1,0.5,0)
268
														RightShoulder.C1 = CFrame.new(-0.5,0.5,0)
269
														local LeftHip = genWeld(chr.Torso,chr['Left Leg'])
270
														LeftHip.C0 = CFrame.new(-1,-1,0)
271
														LeftHip.C1 = CFrame.new(-0.5,1,0)
272
														local RightHip = genWeld(chr.Torso,chr['Right Leg'])
273
														RightHip.C0 = CFrame.new(1,-1,0)
274
														RightHip.C1 = CFrame.new(0.5,1,0)
275
														local RootJoint = genWeld(chr.HumanoidRootPart,chr.Torso)
276
														RootJoint.C0 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
277
														RootJoint.C1 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
278
														local function newLerpTo(weld)
279
																return {
280
																		Weld = weld; -- The weld that will lerp
281
																		To = weld.C0; -- Where it will lerp to; a CFrame
282
																		Cache = weld.C0; -- Cache of original position; it helps when making anim keyframes
283
																		Speed = 0.1; -- Speed of lerp. 0.1 or 0.2 is best
284
																}
285
														end
286
287
														LerpTo = {
288
																Neck = newLerpTo(Neck);
289
																LeftArm = newLerpTo(LeftShoulder);
290
																RightArm = newLerpTo(RightShoulder);
291
																LeftLeg = newLerpTo(LeftHip);
292
																RightLeg = newLerpTo(RightHip);
293
																RootJoint = newLerpTo(RootJoint);
294
														}
295
														local anim = true
296
														local function updateanims()
297
															if anim==true then
298
																if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 and dance == 0 then
299
																	anglespeed = 1/3
300
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(sin(angle)*0.05,0,0)
301
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(abs(sin(angle))*.2,rad(0),rad(0))
302
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(-abs(sin(angle))*.2,0,0)
303
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,abs(sin(angle))*0.2)
304
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-abs(sin(angle))*0.2) 
305
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache * CFrame.new(0,0,0)*CFrame.Angles(0,0,0)
306
																end
307
																if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 and dance == 0 then
308
																	anglespeed = 1.5
309
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,math.sin(angle)*0.05)
310
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(sin(angle)*.8,0,0)
311
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(-sin(angle)*.8,0,0)
312
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(-sin(angle)*.8,0,0)
313
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(sin(angle)*.8,0,0) 
314
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache * CFrame.new(0,0,0)*CFrame.Angles(0,0,0)
315
																end
316
															end
317
															if anim == false then
318
																if dance == 1 then
319
																	anglespeed = 3
320
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(rad(10),0,sin(yeet)*0.1)
321
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(rad(20),sin(angle)*0.2,sin(angle)*0.5) * CFrame.new(0,-abs(sin(angle))*0.5,0)
322
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90)-sin(angle)*1,0,-rad(10))
323
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)-sin(angle)*1,0,rad(10))
324
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(20),0,abs(sin(yeet))*0.1)
325
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(20),0,-abs(sin(yeet))*0.1) 
326
																end
327
																if dance == 2 then
328
																	anglespeed = 3
329
																	LerpTo.Neck.To = LerpTo.Neck.Cache*CFrame.Angles(0,0,sin(angle)*.1)
330
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.new(0,0,2+sin(angle)*.25)
331
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90)+sin(angle)*1,0,rad(5)+sin(angle)*-.5)
332
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)+sin(angle)*1,0,rad(5)-sin(angle)*-.5)
333
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(0),rad(0),sin(angle)*.25)
334
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(0),rad(0),sin(angle)*-.25)
335
																end
336
																if dance == 3 then
337
																	anglespeed = 1.5
338
																	LerpTo.Neck.To = LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
339
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0)*CFrame.new(sin(angle)*5,0,0)
340
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90)-sin(angle)*1,0,rad(0)-sin(angle)*.25)
341
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache*CFrame.Angles(rad(0),rad(0),sin(angle)*.25)
342
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache*CFrame.Angles(0,0,sin(angle)*.1)
343
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,-sin(angle)*.1)
344
																end
345
																if dance == 4 then
346
																	anglespeed = 1.5
347
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,0)
348
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.new(0,sin(angle)*5,0)
349
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(0),rad(0),sin(angle)*.25)
350
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(0),rad(0),sin(angle)*.25)
351
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(sin(angle)*.25,0,0)
352
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(sin(angle)*-.25,0,0)
353
																end
354
																if dance == 5 then
355
																	anglespeed = 3
356
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(-rad(25),0,0)
357
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.new(0,0,0) * CFrame.Angles(-rad(25)+sin(angle)*.1,0,0)
358
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90),0,-rad(55))
359
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90),0,rad(55))
360
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(-rad(25)+sin(angle)*.1,0,0)
361
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(-rad(25)+sin(angle)*.1,0,0)
362
																end
363
																if dance == 6 then
364
																	anglespeed = 2
365
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(math.pi/10-math.abs(math.sin(angle))*0.3,0, 0)
366
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0,math.sin(angle)*.2)
367
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(math.pi/3+math.abs(math.sin(angle)*1), 0,  math.sin(angle*1)*.5)
368
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(math.pi/3+math.abs(math.sin(angle)*1), 0,  math.sin(angle*1)*.5)
369
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0, math.sin(angle)*.2, math.rad(2.5))
370
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0, -math.sin(angle)*.2, -math.rad(2.5))
371
																end
372
																if dance == 7 then -- insane spaz out l0l
373
																	anglespeed = 1
374
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))*CFrame.Angles(math.random(-5,5),math.random(-5,5),math.random(-5,5))
375
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.new(math.random(-5,5),math.random(-5,5),0)*CFrame.Angles(math.random(-5,5),math.random(-5,5),math.random(-5,5))
376
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))*CFrame.Angles(math.random(-5,5),math.random(-5,5),math.random(-5,5))
377
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))*CFrame.Angles(math.random(-5,5),math.random(-5,5),math.random(-5,5))
378
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))*CFrame.Angles(math.random(-5,5),math.random(-5,5),math.random(-5,5))
379
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))*CFrame.Angles(math.random(-5,5),math.random(-5,5),math.random(-5,5))
380
																end
381
																if dance == 8 then -- roleo dance :D
382
																	anglespeed = 4
383
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache*CFrame.Angles(rad(180),0,sin(angle)*.3)
384
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache*CFrame.Angles(rad(180),0,sin(angle)*.3)
385
																end
386
																if dance == 9 then -- XD lol mast3r ba!t!ng dance :)
387
																	anglespeed = 6
388
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache*CFrame.Angles(rad(90)+sin(angle)*1,0,rad(-45))
389
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache*CFrame.Angles(rad(90)+sin(angle)*1,0,rad(45))
390
																end
391
																if dance == 10 then --but scratch :D
392
																	anglespeed = 5
393
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache*CFrame.Angles(rad(-25),0,rad(-25))*CFrame.new(0,sin(angle)*.5,0)
394
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache*CFrame.Angles(rad(-25),0,rad(25))*CFrame.new(0,sin(angle)*.5,0)
395
																end
396
																if dance == 11 then -- CARTWHEELS LOLW0T!?
397
																	anglespeed = 2
398
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(sin(angle)*2,0,0)*CFrame.new(0,sin(angle)*2,0)
399
																end
400
																if dance == 12 then -- EPICO :)
401
																  anglespeed = 5
402
																  LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,sin(angle)*2)
403
																  LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,sin(angle)*2)
404
																  LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90),rad(0),sin(angle)*2)
405
																  LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(90),rad(0),sin(angle)*2)
406
																end
407
																if dance == 13 then -- EPICO2 :)
408
																  anglespeed = 5
409
																  LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(-25)+sin(angle)*.5,0,0)
410
																  LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90)+sin(angle)*.2,rad(0),rad(-15))
411
																  LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(90)+sin(angle)*.2,rad(0),rad(15))
412
																elseif dance == 14 then -- FLIPS :)
413
															  anglespeed = 6
414
															  LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(math.cos(0,360)*angle,0,0)
415
																  LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(45),rad(0),rad(0))
416
																  LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(45),rad(0),rad(0))
417
																  LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.new(0,1,-.75)
418
																  LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.new(0,1,-.75)
419
																end
420
																if dance == 15 then
421
																	anglespeed = 3
422
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(rad(10),0,sin(yeet)*0.1)
423
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(rad(20),sin(angle)*0.2,sin(angle)*0.5) * CFrame.new(0,-abs(sin(angle))*2,0)
424
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90)-sin(angle)*1,0,-rad(10))
425
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)-sin(angle)*1,0,rad(10))
426
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(20),0,abs(sin(yeet))*0.1)
427
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(20),0,-abs(sin(yeet))*0.1) 
428
																end
429
																if dance == 16 then
430
																	anglespeed = 3
431
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(0),rad(90),rad(0))
432
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(rad(90),rad(0),rad(0))*CFrame.new(0,-2.5,0)
433
																LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(170),rad(0),rad(15))
434
																LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(0),rad(0),rad(-75))
435
																LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(rad(0),rad(0),rad(0))
436
																LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(rad(0),rad(0),rad(0))
437
																end
438
																if dance == 17 then
439
														anglespeed = 2
440
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(math.pi/10-math.abs(math.sin(angle))*0.3,0, 0)
441
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache*CFrame.new(math.sin(angle)*2,0,0) * CFrame.Angles(math.pi/20,0,-math.sin(angle)*.5)
442
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(math.pi/3+math.abs(math.sin(angle)*.5), math.pi/20,  -math.pi/20)
443
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(math.pi/3+math.abs(math.sin(angle)*.5), -math.pi/20,  math.pi/20)
444
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(math.pi/20+math.sin(angle)*0.2, math.sin(angle)*0.08, math.rad(2.5))
445
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(math.pi/20-math.sin(angle)*0.2, -math.sin(angle)*0.08, -math.rad(2.5))
446
																end
447
																if dance == 18 then
448
														anglespeed = 4
449
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,sin(angle)*2,0) 
450
																LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(0, 0,  math.rad(90)-sin(angle)*1)
451
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,  math.rad(-90)+sin(angle)*1)
452
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(0),rad(0),rad(0))
453
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(0),rad(0),rad(0))
454
																end
455
																if dance == 19 then
456
														anglespeed = 4
457
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(rad(30),0,0)  
458
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(math.pi/5,0,0)     
459
																LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(math.rad(180)-sin(angle)*1,0,0)
460
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(math.rad(180)-sin(angle)*1,0,0)
461
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(30),rad(0),rad(0))
462
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(30),rad(0),rad(0))
463
																end
464
															if dance == 20 then
465
																anglespeed = 5
466
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(math.cos(0,360)*angle,0,0)
467
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(math.rad(180),0,0)
468
																		LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(math.rad(180),0,0)
469
															end
470
															if dance == 21 then
471
																anglespeed = 5
472
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,sin(angle)*1)
473
																LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(-sin(angle)*1,0,0)
474
																LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(sin(angle)*1,0,0)
475
																LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(sin(angle)*1,0,0)
476
																LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(-sin(angle)*1,0,0)
477
															end
478
															if dance == 22 then
479
																anglespeed = 5
480
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,math.cos(0,360)*angle,0)
481
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(math.rad(180),0,0)
482
																		LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(math.rad(180),0,0)
483
															end
484
															if dance == 23 then
485
																anglespeed = 3
486
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(25),0,0)
487
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,sin(angle)*1)
488
																LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(0,0,rad(90)+sin(angle)*2)
489
																LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-rad(90)-sin(angle)*2)
490
															end
491
															if dance == 24 then
492
																anglespeed = 2
493
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(sin(angle)*.75,rad(45),0)
494
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
495
																LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(0,0,0)
496
																LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(0,0,0)
497
																LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
498
																LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
499
															end
500
																if dance == 25 then
501
																	anglespeed = 3
502
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(25),0,0)
503
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(rad(25),0,sin(angle)*.2)
504
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90)-sin(angle)*.2,rad(0),rad(0))
505
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(90)+sin(angle)*.2,rad(0),rad(0))
506
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(rad(25),0,0)
507
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(rad(25),0,0)
508
																end
509
															if dance == 26 then
510
																anglespeed = 5
511
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(-abs(sin(angle))*.5,0,0)
512
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)*CFrame.new(0,sin(angle)*2,0)
513
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(135)+sin(angle)*.4,0,-rad(15))
514
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(135)+sin(angle)*.4,rad(0),rad(15))
515
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(sin(angle)*.4,0,0)
516
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(-sin(angle)*.4,0,0)
517
															end
518
															if dance == 27 then
519
																anglespeed = 2
520
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
521
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.new(sin(angle)*3,0,0)*CFrame.Angles(rad(90),0,sin(angle)*3)
522
																LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(sin(angle)*1.5,0,0)
523
																LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(-sin(angle)*1.5,0,0)
524
																LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(-sin(angle)*1.5,0,0)
525
																LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(sin(angle)*1.5,0,0)
526
															end
527
															if dance == 28 then
528
																anglespeed = 2
529
																LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
530
																LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.new(0,0,abs(sin(angle))*3)
531
																LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(180),0,rad(25))
532
																LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(180),0,-rad(25))
533
																LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)*CFrame.new(0,abs(sin(angle))*1,0)
534
																LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)*CFrame.new(0,abs(sin(angle))*1,0)
535
																end
536
																if dance == 29 then
537
																	anglespeed = 5
538
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
539
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
540
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(sin(angle)*2,0,0)
541
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(-sin(angle)*2,0,0)
542
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
543
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
544
																end
545
																if dance == 30 then
546
																	anglespeed = 3
547
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
548
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
549
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(sin(angle)*2,0,0)
550
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(-sin(angle)*2,0,0)
551
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.new(0,abs(sin(angle))*1,-abs(sin(angle))*1)*CFrame.Angles(-rad(25),0,0)
552
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.new(0,abs(sin(angle))*1,-abs(sin(angle))*1)*CFrame.Angles(-rad(45),0,0)
553
																end
554
																if dance == 31 then
555
																	anglespeed = 1
556
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
557
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
558
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(abs(sin(angle))*2.5,0,-abs(sin(angle))*1)
559
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(0,0,0)
560
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
561
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
562
																end 
563
																if dance == 32 then
564
																	anglespeed = 4
565
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-sin(angle)*0.2,0)
566
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,sin(angle)*0.2)
567
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(80)+sin(angle)*0.2,0,-rad(50)) *CFrame.new(0,-.5,0)
568
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)+sin(angle)*0.2,0,rad(50))*CFrame.new(0,-.5,0)
569
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(20)+sin(angle)*0.5) *CFrame.new(0,abs(sin(angle))*0.3,0)
570
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(20)+sin(angle)*0.5) *CFrame.new(0,abs(sin(angle))*0.3,0)
571
																end
572
																if dance == 33 then
573
																	anglespeed = 4
574
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-sin(angle)*0.2,0)
575
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,sin(angle)*0.2) * CFrame.new(0,0,-abs(sin(angle))*0.4)
576
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(180)+sin(angle)*1,0,sin(angle)*1)
577
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)+sin(angle)*0.2,0,rad(50))*CFrame.new(0,-.5,0)
578
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(20)+sin(angle)*0.5) *CFrame.new(0,abs(sin(angle))*0.3,0)
579
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(20)+sin(angle)*0.5) *CFrame.new(0,abs(sin(angle))*0.3,0)
580
																end
581
																if dance == 34 then
582
																	anglespeed = 3
583
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(25),0,0)
584
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(rad(25),0,sin(angle)*.2)
585
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90)-sin(angle)*.2,rad(0),rad(0))
586
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(90)+sin(angle)*.2,rad(0),rad(0))
587
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(rad(25),0,0)
588
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(rad(25),0,0)
589
																end
590
																if dance == 35 then
591
																	anglespeed = 3
592
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
593
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
594
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(100),rad(35),rad(75))
595
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(75)+sin(angle)*.5,0,rad(75))*CFrame.new(0,-.75+sin(angle)*.2,0)
596
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
597
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
598
																end
599
																if dance == 36 then
600
																	anglespeed = 3
601
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(-rad(25),0,0)
602
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
603
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90)-abs(sin(angle))*.5,0,sin(angle)*1.75)
604
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(90)-abs(sin(angle)) * .25,0,sin(angle)*1.5)
605
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
606
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
607
																end
608
																if dance == 37 then
609
																	anglespeed = 2
610
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(15),sin(angle)*.75,0)
611
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
612
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90)+abs(sin(angle))*1,rad(15),-rad(15))
613
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(90)+abs(sin(angle))*1,-rad(15),rad(15))
614
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,-abs(sin(angle))*.2,0)
615
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,abs(sin(angle))*.2,0)
616
																end
617
																if dance == 38 then
618
																	anglespeed = 2
619
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(15),0,0)
620
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,sin(angle)*1)
621
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(0,0,rad(90)+sin(angle)*1)
622
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(0,0,-rad(90)-sin(angle)*1)
623
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
624
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
625
																end
626
																if dance == 39 then
627
																	anglespeed = 2
628
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
629
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
630
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(180),0,sin(angle)*.25)
631
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(180),0,sin(angle)*.25)
632
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
633
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
634
																end
635
																if dance == 40 then
636
																	anglespeed = 2
637
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,-abs(sin(angle))*.75,0)
638
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,abs(sin(angle))*.75)
639
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(90),0,abs(sin(angle))*.75)
640
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(0,0,-abs(sin(angle))*.25)
641
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
642
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
643
																end
644
																if dance == 41 then
645
																	anglespeed = 1
646
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,0)
647
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
648
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(135)-abs(sin(angle))*2.75,0,rad(25)-abs(sin(angle))*.5)
649
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(135)-abs(sin(angle))*2.75,0,-rad(25)+abs(sin(angle))*.5)
650
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
651
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
652
																end
653
																if dance == 42 then
654
																	anglespeed = 4
655
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(rad(45)+sin(angle)*.5,0,0)
656
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(rad(45)+sin(angle)*.5,0,0)
657
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(45)+sin(angle)*.5,0,-rad(15))
658
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(45)+sin(angle)*.5,0,rad(15))
659
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(rad(45)+sin(angle)*.5,0,rad(5))
660
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(rad(45)+sin(angle)*.5,0, -rad(5))
661
																end
662
																if dance == 43 then
663
																	anglespeed = 3
664
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,-math.cos(0,360)*angle,0)
665
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,math.cos(0,360)*angle)
666
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(0,0,rad(135))
667
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(0,0,-rad(135))
668
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,-rad(15))
669
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,rad(15))
670
																end
671
																if dance == 44 then
672
																	anglespeed = 2
673
																	LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(math.pi/10-math.abs(math.sin(angle))*0.3,0, 0)
674
																	LerpTo.RootJoint.To = LerpTo.RootJoint.Cache*CFrame.new(math.sin(angle)*2,0,0) * CFrame.Angles(math.pi/20,0,-math.sin(angle)*.5)
675
																	LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(math.pi/3+math.abs(math.sin(angle)*.5), math.pi/20,  -math.pi/20)
676
																	LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(math.pi/3+math.abs(math.sin(angle)*.5), -math.pi/20,  math.pi/20)
677
																	LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(math.pi/20+math.sin(angle)*0.2, math.sin(angle)*0.08, math.rad(2.5))
678
																	LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(math.pi/20-math.sin(angle)*0.2, -math.sin(angle)*0.08, -math.rad(2.5))
679
																end
680
																if dance == 45 then
681
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,rad(75),rad(0))
682
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,-rad(75))
683
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(45),0,-rad(25))
684
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(rad(50),0,rad(75))
685
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(-rad(15),0,rad(5))*CFrame.new(0,.5,0)
686
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(-rad(10),0,-rad(6))*CFrame.new(0,.5,0)
687
																end
688
																if dance == 46 then
689
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,rad(0))
690
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,0)
691
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(rad(135),0,-rad(45))
692
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(-rad(15),0,rad(15))
693
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(0,0,0)
694
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(0,0,0)
695
																end
696
																if dance == 47 then
697
																	anglespeed = 4
698
																	LerpTo.Neck.To=LerpTo.Neck.Cache*CFrame.Angles(0,0,rad(0))
699
																	LerpTo.RootJoint.To=LerpTo.RootJoint.Cache*CFrame.Angles(0,0,sin(angle)*.4)
700
																	LerpTo.RightArm.To=LerpTo.RightArm.Cache*CFrame.Angles(sin(angle)*.4,0,0)
701
																	LerpTo.LeftArm.To=LerpTo.LeftArm.Cache*CFrame.Angles(-sin(angle)*.4,0,0)
702
																	LerpTo.RightLeg.To=LerpTo.RightLeg.Cache*CFrame.Angles(-sin(angle)*.4,0,0)
703
																	LerpTo.LeftLeg.To=LerpTo.LeftLeg.Cache*CFrame.Angles(sin(angle)*.4,0,0)
704
																end
705
															end
706
														end
707
														local pgui = plr.PlayerGui
708
														local scg = Instance.new("ScreenGui",pgui)
709
														local scf = Instance.new("ScrollingFrame",scg)
710
														scf.Size=UDim2.new(0,200,0,1000)
711
														scf.Position=UDim2.new(.6,0,0,0)
712
														scf.CanvasSize=UDim2.new(0,200,0,10000)
713
														addbutton = function(x,y,text,songid,pitch,newdance)
714
														if pitch ~= nil then
715
														local gui = Instance.new("TextButton",scf)
716
														gui.Size=UDim2.new(0,200,0,25)
717
														gui.Position=UDim2.new(0,x,0,y)
718
														gui.BackgroundTransparency=1
719
														gui.Text=text
720
														gui.FontSize="Size12"
721
														gui.MouseButton1Click:connect(function()
722
														if dance > 0 then
723
														dance = 0
724
														Song('0')
725
														anim = true
726
														elseif dance == 0 then
727
														Song(songid,pitch)
728
														anim = false
729
														wait()
730
														dance = newdance
731
														end
732
														end)
733
														end
734
														end
735
736
737
738
														addbutton(0,0,'Dance1','188712851',1,1)
739
														addbutton(0,25,'Dance2','221710008',1,2)
740
														addbutton(0,50,'Dance3','172949886',1,3)
741
														addbutton(0,75,'Dance4','172168201',1,4)
742
														addbutton(0,100,'Dance5','234695144',1,5)
743
														addbutton(0,125,'Dance6','144688734',1,25)
744
														addbutton(0,150,'Dance7','178241679',1,26)
745
														addbutton(0,175,'Dance8','143673926',1,6)
746
														addbutton(0,200,'Dance9','169614787',1,2)
747
														addbutton(0,225,'Dance10','150455860',1,7)
748
														addbutton(0,250,'Dance11','233613098',1,8)
749
														addbutton(0,275,'Dance12','224905199',1,9)
750
														addbutton(0,300,'Dance13','130795320',1,10)
751
														addbutton(0,325,'Dance14','242463565',1,11)
752
														addbutton(0,350,'Dance15','229845528',1,12)
753
														addbutton(0,375,'Dance16','130775431',1,5)
754
														addbutton(0,400,'Dance17','130791919',1,27)
755
														addbutton(0,425,'Dance18','142798479',1,28)
756
														addbutton(0,450,'Dance19','165065112',1,29)
757
														addbutton(0,475,'Dance20','131496076',1,30)
758
														addbutton(0,500,'Dance21','160404345',1,31)
759
														addbutton(0,525,'Dance22','154479412',1,32)
760
														addbutton(0,550,'Dance23','130844430',1,32)
761
														addbutton(0,575,'Dance24','165334666',1,33)
762
														addbutton(0,600,'Dance25','235467051',1,33)
763
														addbutton(0,625,'Dance26','192089439',1,34)
764
														addbutton(0,650,'Dance27','146366469',1,35)
765
														addbutton(0,675,'Dance28','174091492',1,36)
766
														addbutton(0,700,'Dance29','173120541',1,36)
767
														addbutton(0,725,'Dance30','249430669',1,35)
768
														addbutton(0,750,'Dance31','143620887',1,37)
769
														addbutton(0,775,'Dance32','149446826',1,25)
770
														addbutton(0,800,'Dance33','219342752',1,7)
771
														addbutton(0,825,'Dance34','247334773',1,7)
772
														addbutton(0,850,'Dance35','157872346',1,7)
773
														addbutton(0,875,'Dance36','177080835',1,7)
774
														addbutton(0,900,'Dance37','189550280',1,7)
775
														addbutton(0,925,'Dance38','246333259',1,1)
776
														addbutton(0,950,'Dance39','142314739',1,1)
777
														addbutton(0,975,'Dance40','160525520',1,4)
778
														addbutton(0,1000,'Dance41','130764066',1,37)
779
														addbutton(0,1025,'Dance42','130776150',1,1)
780
														addbutton(0,1050,'Dance43','247346728',1,35)
781
														addbutton(0,1075,'Dance44','273323565',1,33)
782
														addbutton(0,1100,'Dance45','157460849',1,38)
783
														addbutton(0,1125,'Dance46','149069781',1,38)
784
														addbutton(0,1150,'Dance47','175939350',1,37)
785
														addbutton(0,1175,'Dance48','142761485',1,39)
786
														addbutton(0,1200,'Dance49','232544821',1,40)
787
														addbutton(0,1225,'Dance50','151696876',1,41)
788
														addbutton(0,1250,'Dance51','173694098',1,7)
789
														addbutton(0,1275,'Dance52','263165090',1,36)
790
														addbutton(0,1300,'Dance53','142657040',1,25)
791
														addbutton(0,1325,'Dance54','176914323',1,42)
792
														addbutton(0,1350,'Dance55','142401311',.53,43)
793
														addbutton(0,1375,'Dance56','133061687',1,6)
794
														addbutton(0,1400,'Dance57','156055345',1,6)
795
														addbutton(0,1425,'Dance58','146048136',1,44)
796
														addbutton(0,1450,'Dance59','252754586',1,7)
797
														addbutton(0,1475,'Dance60','153406097',1,2)
798
														addbutton(0,1500,'Dance61','181767298',1,45)
799
														addbutton(0,1525,'Dance62','142688397',1,6)
800
														addbutton(0,1550,'Dance63','276829306',1,36)
801
														addbutton(0,1575,'Dance64','143632950',1,33)
802
														addbutton(0,1600,'Dance65','252166378',1,5)
803
														addbutton(0,1625,'Dance66','159257147',1,46)
804
														addbutton(0,1650,'Dance67','147876501',1,47)
805
														addbutton(0,1675,'Dance68','219789082',1,6)
806
														addbutton(0,1700,'Dance69','184052730',1,35)
807
808
809
														local hue = 0
810
														 
811
														function HSV(H,S,V)
812
														H = H % 360
813
														local C = V * S
814
														local H2 = H/60
815
														local X = C * (1 - math.abs((H2 %2) -1))
816
														local color = Color3.new(0,0,0)
817
														if H2 <= 0 then
818
														color = Color3.new(C,0,0)
819
														elseif 0 <= H2 and H2 <= 1 then
820
														color = Color3.new(C,X,0)
821
														elseif 1 <= H2 and H2 <= 2 then
822
														color = Color3.new(X,C,0)
823
														elseif 2 <= H2 and H2 <= 3 then
824
														color = Color3.new(0,C,X)
825
														elseif 3 <= H2 and H2 <= 4 then
826
														color = Color3.new(0,X,C)
827
														elseif 4 <= H2 and H2 <= 5 then
828
														color = Color3.new(X,0,C)
829
														elseif 5 <= H2 and H2 <= 6 then
830
														color = Color3.new(C,0,X)
831
														end
832
														local m = V - C
833
														return Color3.new(color.r + m, color.g + m, color.b + m)
834
														end
835
836
														for i,v in pairs(chr:GetChildren()) do if v:IsA("Shirt") then v:Destroy() end end
837
														Spawn(function()
838
															while wait()do
839
																angle = (angle % 100) + anglespeed/10 -- no matter whut it has to be in a loop or its on exticy
840
															end 
841
														end)
842
														meo=0
843
														sdeb=false
844
														game:service'RunService'.RenderStepped:connect(function()
845
															meo=meo+1
846
																for _,v in pairs(LerpTo) do
847
																v.Weld.C0 = Lerp.CFrame(v.Weld.C0,v.To,v.Speed)end
848
															hue = hue + 3
849
															hue = hue % 360
850
															local clr = HSV(hue,.7,1)
851
															for i,v in pairs(scf:GetChildren()) do
852
																v.TextColor3=Color3.new(clr.r,clr.g,clr.b)
853
															end
854
															updateanims()
855
														end)