-- Krystal Dance V3, Made by Hemi (es muy janky) if not isfolder("Dances") then makefolder("Dances") end local lol = math.random(1,30) if lol == 2 then lol = true end local sprinting = false local is = game:GetService("InsertService") local idleanim = is:LoadLocalAsset("rbxassetid:// 18885903667") local walkanim = is:LoadLocalAsset("rbxassetid://18885906143") local sprintanim = is:LoadLocalAsset("rbxassetid://96571077893813") local randompart = Instance.new("Part",game:GetService("RunService")) local coolparticles = is:LoadLocalAsset("rbxassetid://87299663038091").ParticleAttachment coolparticles.Parent = randompart local playbacktrack = true local script = Instance.new("LocalScript") getgenv().real = true local OxideApi = loadstring(game:HttpGet("https://raw.githubusercontent.com/Nitro-GT/Utils/refs/heads/main/OxideApi"))() local timeposcur = 0 OxideApi.Notification("Krystal Dance X c00lkidd from forsaken V1, Made by Hemi, tonyy546😭🙏",10) local playanother = false local playing = false local dancing = false local rtrnv; local c; local tbl3; local v; local anim; local count; local hhhh; local asdf; local s; local animid; local plr; local char=game:GetService("Players").LocalPlayer.Character local hum=char:FindFirstChildOfClass("Humanoid") local h=char.Head local t=char.Torso local hrp=char.HumanoidRootPart local cframe; local torso; local rs; local ls; local rh; local lh; local n; local rj; local rsc0; local lsc0; local rhc0; local lhc0; local rjc0; local nc02; local gc0; local orsc0; local olsc0; local orhc0; local olhc0; local orjc0; local onc0; local count2; local maxcount2; local walking = false local idle = false local RunService = game:GetService("RunService") local function getnext(tbl,number) c=100 rtrnv=0 for i,v in pairs(tbl) do if i>number and i-number= frame then if allowframeloss then script.Heartbeat:Fire() lastframe = tick() else for i = 1,math.floor(tf / frame) do pcall(function() script.Heartbeat:Fire() end) end lastframe = tick() end if tossremainder then tf = 0 else tf = tf - frame * math.floor(tf / frame) end end end) function swait(num) if num == 0 or num == nil then ArtificialHB.Event:Wait() else for i = 0,num do ArtificialHB.Event:Wait() end end end function fwait(seconds) seconds = (seconds < 0.000001) and 0.000001 or seconds -- absolute limit of roblox, anything below just crashes lol so this limits it so it doesnt crash local event = game:GetService("RunService").PreRender or game:GetService("RunService").Heartbeat local startTime = tick() while tick() - startTime < seconds do event:Wait() end end local legitjustran = false local loopsplaying=0 local rst local lst local rht local lht local nt local rjt local function playanim(id,speed,isadance,custominstance) playanother = true loopsplaying+=1 if legitjustran == true then return end legitjustran = true if isadance == nil then isadance = true end if isadance == true then sound69.Volume =0 end if dancing == true then sound69:Play() sound69.TimePosition = 0 end if dancing == true then walking = false idle = false end if speed == nil then speed = 1 end if dancing == true then idle = false char.Humanoid:Move(Vector3.new(0,0,-1),true) walking = false end wait(.005) if isadance == true then sound69.Volume =2 end if dancing == true then sound69:Play() sound69.TimePosition = 0 end legitjustran = false playanother = false local animid="rbxassetid://"..id char = char pcall(function() hhhh=char.Humanoid.Animator hhhh.Parent = nil end) for _,v in pairs(char.Humanoid:GetPlayingAnimationTracks()) do v:Stop() end cframe = char.HumanoidRootPart.CFrame torso = char.Torso ----------------------------------------------------------- local ts = game:GetService("TweenService") local tsi = TweenInfo.new(1/(30*speed)) rs = torso["Right Shoulder"] -- Just took this from another script(Faster). ls = torso["Left Shoulder"] rh = torso["Right Hip"] lh = torso["Left Hip"] n = torso["Neck"] rj = char.HumanoidRootPart["RootJoint"] rsc0 = rs.C0 lsc0 = ls.C0 rhc0 = rh.C0 lhc0 = lh.C0 rjc0 = rj.C0 nc02 = n.C0 gc0 = CFrame.new() orsc0 = rs.C0 olsc0 = ls.C0 orhc0 = rh.C0 olhc0 = lh.C0 orjc0 = rj.C0 onc0 = n.C0 count2 = 100 maxcount2=100 playanother = false frame = 1 / (30*speed) if custominstance == nil then animid=is:LoadLocalAsset(animid) else animid = custominstance end animid.Parent = workspace local anim={} for i,v in pairs(animid:GetChildren()) do if v:IsA("Keyframe") then anim[v.Time]=kftotbl(v) end end count = 0 char=char if dancing == true then sound69:Play() sound69.TimePosition = 0 end plr.CharacterRemoving:Connect(function() if playing == true then playing = false end end) while true do print(loopsplaying) if loopsplaying>1 then break end if playanother == true then local deft = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) rs.Transform = deft ls.Transform = deft lh.Transform = deft rj.Transform = deft n.Transform = deft rh.Transform = deft pcall(function() rst:Cancel() rht:Cancel() lht:Cancel() lst:Cancel() nt:Cancel() rjt:Cancel() end) break else for i,oasjdadlasdkadkldjkl in pairs(anim) do local asdf=getnext(anim,count) local v=anim[asdf] if playanother == true then local deft = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) rs.Transform = deft ls.Transform = deft lh.Transform = deft rj.Transform = deft n.Transform = deft rh.Transform = deft pcall(function() rst:Cancel() rht:Cancel() lht:Cancel() lst:Cancel() nt:Cancel() rjt:Cancel() end) break end if walking == true and char.Humanoid.MoveDirection == Vector3.new(0,0,0) then break end frame = 1 / (30*speed) if dancing == true and isadance == false then break end if dancing == true then walking = false idle = false end if walking == true and idle == true then playanother = true end if v["Lg"] then lhc0 = v["Lg"] end if v["Rg"] then rhc0 = v["Rg"] end if v["Lm"] then lsc0 = v["Lm"] end if v["Rm"] then rsc0 = v["Rm"] end if v["To"] then rjc0 = v["To"] end if v["Hd"] then nc02 = v["Hd"] end count2=0 maxcount2=asdf-count count=asdf swait(1/(30*speed)) if playanother == true then local deft = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) rs.Transform = deft ls.Transform = deft lh.Transform = deft rj.Transform = deft n.Transform = deft rh.Transform = deft pcall(function() rst:Cancel() rht:Cancel() lht:Cancel() lst:Cancel() nt:Cancel() rjt:Cancel() end) break end count2=maxcount2 if v["Lg"] then lht = ts:Create(char.Torso["Left Hip"],tsi,{Transform = CFrame.new(v["Lg"].p*char:GetScale())*v["Lg"].Rotation}):Play() -- char.Torso["Left Hip"].Transform = CFrame.new(v["Lg"].p*char:GetScale())*v["Lg"].Rotation end if v["Rg"] then rht = ts:Create(char.Torso["Right Hip"],tsi,{Transform = CFrame.new(v["Rg"].p*char:GetScale())*v["Rg"].Rotation}):Play() -- char.Torso["Right Hip"].Transform = CFrame.new(v["Rg"].p*char:GetScale())*v["Rg"].Rotation end if v["Lm"] then lst = ts:Create(char.Torso["Left Shoulder"],tsi,{Transform = CFrame.new(v["Lm"].p*char:GetScale())*v["Lm"].Rotation}):Play() -- char.Torso["Left Shoulder"].Transform = CFrame.new(v["Lm"].p*char:GetScale())*v["Lm"].Rotation end if v["Rm"] then rst = ts:Create(char.Torso["Right Shoulder"],tsi,{Transform = CFrame.new(v["Rm"].p*char:GetScale())*v["Rm"].Rotation}):Play() -- char.Torso["Right Shoulder"].Transform = CFrame.new(v["Rm"].p*char:GetScale())*v["Rm"].Rotation end if v["To"] then rjt = ts:Create(char.HumanoidRootPart["RootJoint"],tsi,{Transform = CFrame.new(v["To"].p*char:GetScale())*v["To"].Rotation}):Play() -- char.HumanoidRootPart["RootJoint"].Transform = CFrame.new(v["To"].p*char:GetScale())*v["To"].Rotation end if v["Hd"] then nt = ts:Create(char.Torso["Neck"],tsi,{Transform = CFrame.new(v["Hd"].p*char:GetScale())*v["Hd"].Rotation}):Play() --char.Torso["Neck"].Transform = CFrame.new(v["Hd"].p*char:GetScale())*v["Hd"].Rotation end end end end end local exploit = "shitsploit" pcall(function() exploit = getexecutorname() end) local customasset = function(id) if exploit ~= "CaetSploit" then idwithoutthatbit= string.gsub(id,"Dances/","") if not isfile(id) then writefile(id,game:HttpGet("https://github.com/Nitro-GT/music/raw/refs/heads/main/"..idwithoutthatbit)) end repeat task.wait() until isfile(id) end local s = Instance.new("Sound") s.Parent = game:GetService("RunService") s.SoundId = getcustomasset(id) task.spawn(function() task.wait(1) s:Destroy() end) return s.SoundId end local function stopanim() if loopsplaying>0 then loopsplaying-=1 end playanother = true playanother = true playanother = true playanother = true sound69.PlaybackSpeed = 1 if playbacktrack == true then if lol ~= true then sound69.SoundId = customasset("Dances/myuu.mp3") else sound69.SoundId = customasset("Dances/emoboy.mp3") end sound69.Volume = .75 else sound69:Stop() end coolparticles.Parent = randompart pcall(function() rst:Cancel() rht:Cancel() lht:Cancel() lst:Cancel() nt:Cancel() rjt:Cancel() end) if dancing == true then sound69.TimePosition = timeposcur dancing = false idle = true char.Humanoid:Move(Vector3.new(0,0,-1),true) walking = false wait(.065) if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then task.spawn(function() playanim(136078657506707,1,false) end) end end end local mode = 1 local INPUTLOOP local uis = game:GetService("UserInputService") INPUTLOOP = uis.InputBegan:Connect(function(k,chatting) if char.Humanoid.Sit == true then return end if chatting then return end local k = string.lower(string.gsub(tostring(k.KeyCode),"Enum.KeyCode.","")) if mode == 1 then if k == "q" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/rat.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(18450480375,.6) else stopanim() end elseif k == "e" then if dancing == false then stopanim() dancing = true task.wait(.005) timeposcur = sound69.TimePosition sound69:Play() playanim(18885909645,.7) else stopanim() sound69.PlaybackSpeed = 1 end elseif k == "r" then if dancing == false then stopanim() dancing = true task.wait(.005) timeposcur = sound69.TimePosition sound69:Play() playanim(18885919947,.6) else stopanim() sound69.PlaybackSpeed = 1 end elseif k == "t" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(18885915433,.9) else stopanim() sound69.PlaybackSpeed = 1 end elseif k == "y" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(18885937766,.8) else stopanim() sound69.PlaybackSpeed = 1 end elseif k == "u" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(9845691887391,.8) else stopanim() sound69.PlaybackSpeed = 1 end elseif k == "f" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(18945296583) else stopanim() end elseif k == "g" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(18445236460,1.9) else stopanim() end elseif k == "p" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(8829798048,1.5) else stopanim() end elseif k == "j" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(77727115892579,2.2) else stopanim() end elseif k == "k" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69:Play() playanim(99907172493781,.8) else stopanim() end elseif k == "l" then if dancing == false then stopanim() dancing = true task.wait(.005) char.Humanoid.WalkSpeed = 39*char:GetScale() timeposcur = sound69.TimePosition sound69:Play() playanim(10677636462374,1) else char.Humanoid.WalkSpeed = 14*char:GetScale() stopanim() end elseif k == "z" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/lux.ogg") timeposcur = sound69.TimePosition sound69:Play() playanim(15092317950) else stopanim() end elseif k == "x" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/kazot.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(114036336168567,1) else stopanim() end elseif k == "h" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = "rbxassetid://1846368080" timeposcur = sound69.TimePosition sound69:Play() playanim(76647570617571,0.75) else stopanim() end elseif k == "v" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/bimbam.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(16361564081) else stopanim() end elseif k == "c" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/Moongazer.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(118766274919427) else stopanim() end elseif k == "n" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/Down.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(111249002064299) else stopanim() end elseif k == "comma" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/Mystery.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(131401099812672) else stopanim() end elseif k == "leftbracket" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/true_heart.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(131776726113292) else stopanim() end elseif k == "quote" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/Rewind.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(140376973204352) else stopanim() end end end if mode == 2 then if k == "q" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/XO.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(73559770055600) else stopanim() end elseif k == "e" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/drip.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(100177280567649) else stopanim() end elseif k == "r" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/freeflow.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(101564911432113) else stopanim() end elseif k == "t" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/whateverlike.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(83266223088944) else stopanim() end elseif k == "y" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/balls.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(15039779727) else stopanim() end elseif k == "h" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/faster.ogg") timeposcur = sound69.TimePosition sound69:Play() playanim(10609437925) else stopanim() end elseif k == "g" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/tryna.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(14887006269) else stopanim() end elseif k == [[f]] then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/chronoshift.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(125834337223799) else stopanim() end elseif k == "j" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/dancingwit.mp3") sound69.PlaybackSpeed = 1 timeposcur = sound69.TimePosition sound69:Play() coolparticles.Parent = char.Torso playanim(93585895457618) else stopanim() sound69.PlaybackSpeed = 1 end elseif k == "k" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/frightfunk.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(70835462045983) else stopanim() end elseif k == "u" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/bloodpop.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(132026285699359) else stopanim() end elseif k == "n" then if dancing == false then stopanim() dancing = true task.wait(.005) playanim(90819860436349) else stopanim() end elseif k == "z" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/leftright.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(137845929482571) else stopanim() end elseif k == "x" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/heavylove.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(85856686932206) else stopanim() end elseif k == "c" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/million.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(109123683211464) else stopanim() end elseif k == "v" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/chaseme.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(118311613925473) else stopanim() end end elseif mode == 3 then if k == "q" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/crisscross.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(73116243097694) else stopanim() end elseif k == "e" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/brain.mp3") char.Humanoid.WalkSpeed = 4*char:GetScale() timeposcur = sound69.TimePosition sound69:Play() playanim(86485871533985) else stopanim() end elseif k == "r" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/duck.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(13357063395,1,true,nil,false) else stopanim() end elseif k == "t" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/espresso.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(87342159331194) else stopanim() end elseif k == "y" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/rakuten.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(18985726113) else stopanim() end elseif k == "u" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/daynnite.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(8915458946) else stopanim() end elseif k == "f" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/tort.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(79630525228564) else stopanim() end elseif k == "g" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/lemon.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(120262284704633,.8) else stopanim() end elseif k == "h" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/boom.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(84471848998012) else stopanim() end elseif k == "j" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/doodle.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(90069083924245,2) else stopanim() end elseif k == "k" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/hypno.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(72723551972407) else stopanim() end elseif k == "z" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/assum.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(15705077587) else stopanim() end elseif k == "x" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/rotten.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(109990576374190,2) else stopanim() end elseif k == "c" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/decadent.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(84587788869282,.35,true,nil,false) else stopanim() end elseif k == "v" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/misc.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(100305033962391,2) else stopanim() end elseif k == "n" then if dancing == false then stopanim() dancing = true task.wait(.005) sound69.SoundId = customasset("Dances/jung.mp3") timeposcur = sound69.TimePosition sound69:Play() playanim(71723925114737) else stopanim() end end end if k == "equals" then playbacktrack = not playbacktrack if dancing == false then if playbacktrack == true then sound69:Play() sound69.Volume = .75 game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Krystal Dance V3"; Duration = 5; Text = "Background music enabled" }) else sound69:Stop() game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Krystal Dance V3"; Duration = 5; Text = "Background music disabled" }) end end end if k == "leftcontrol" then sprinting = not sprinting end if k == "m" then if mode == 2 then mode = 3 game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Krystal Dance V3"; Duration = 5; Text = "You are on page 3" }) elseif mode == 1 then mode = 2 game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Krystal Dance V3"; Duration = 5; Text = "You are on page 2" }) elseif mode ==3 then mode = 1 game:GetService("StarterGui"):SetCore("SendNotification", { Title = "Krystal Dance V3"; Duration = 5; Text = "You are on page 1" }) end end end) char.Humanoid:GetPropertyChangedSignal("MoveDirection"):Connect(function() if char.Humanoid.Sit == false then if char.Humanoid.MoveDirection == Vector3.new(0,0,0) and dancing == false and idle == false then walking = false idle = true stopanim() fwait(1/500) if idle == true and walking == false and char.Humanoid.MoveDirection == Vector3.new(0,0,0) and dancing == false and playanother==true then playanim(0,1,false,idleanim ) end elseif char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and walking == false then char.Humanoid.WalkSpeed = 14*char:GetScale() walking = true idle = false stopanim() fwait(1/500) if sprinting == false then char.Humanoid.WalkSpeed = 14*char:GetScale() if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then playanim(130213485744288,1,false,walkanim) end else char.Humanoid.WalkSpeed = 24*char:GetScale() if walking == true and idle == false and char.Humanoid.MoveDirection ~= Vector3.new(0,0,0) and dancing == false and playanother==true then playanim(130213485744288,2.2,false,sprintanim) end end end end end) char.Humanoid:GetPropertyChangedSignal("Sit"):Connect(function() print("sit") if char.Humanoid.Sit == true then stopanim() math.randomseed(os.clock()) if math.random(1,2) == 1 then playanim(133312100962627,1,false) else playanim(122775909441631,1,false) end else stopanim() task.wait(.05) stopanim() char.Humanoid:Move(Vector3.new(0,0,-1),true) char.Humanoid:Move(Vector3.new(0,0,-1),true) char.Humanoid:Move(Vector3.new(0,0,-1),true) end end) local RunService = game:GetService("RunService") local Player = game:GetService("Players").LocalPlayer local PlayerMouse = Player:GetMouse() local Camera = workspace.CurrentCamera local Character =char local Humanoid = Character:WaitForChild("Humanoid") local IsR6 = (Humanoid.RigType == Enum.HumanoidRigType.R6) local Head = Character:WaitForChild("Head") local Torso = if IsR6 then Character:WaitForChild("Torso") else Character:WaitForChild("UpperTorso") local Neck = if IsR6 then Torso:WaitForChild("Neck") else Head:WaitForChild("Neck") local Waist = if IsR6 then nil else Torso:WaitForChild("Waist") local NeckOriginC0 = Neck.C0 local WaistOriginC0 = if Waist then Waist.C0 else nil Neck.MaxVelocity = 1/3 local AllowedStates = {Enum.HumanoidStateType.Running, Enum.HumanoidStateType.Climbing, Enum.HumanoidStateType.Swimming, Enum.HumanoidStateType.Freefall, Enum.HumanoidStateType.Seated} local IsAllowedState = (table.find(AllowedStates, Humanoid:GetState()) ~= nil) local find = table.find local atan = math.atan local atan2 = math.atan2 Humanoid.StateChanged:Connect(function(_, new) IsAllowedState = (find(AllowedStates, new) ~= nil) end) local oldC0N = Neck.C0 local updatesPerSecond = 10 local Character = char local Root = char.HumanoidRootPart introsound = Instance.new("Sound",Root) introsound.SoundId = "rbxassetid://236146895" introsound.Volume = 8 introsound:Play() bigfedora = Instance.new("Part",Character) bigfedora.Size = Vector3.new(2,2,2) bigfedora.CFrame = bigfedora.CFrame:inverse() * Root.CFrame * CFrame.new(math.random(-60,60),-.2,math.random(-60,60)) * CFrame.Angles(0,math.rad(math.random(-180,180)),0) bigfedora.CanCollide = false bigfedora.Anchored = true bigfedora.Name = "mbigf" mbigfedora = Instance.new("SpecialMesh", bigfedora) mbigfedora.MeshType = "FileMesh" mbigfedora.Scale = Vector3.new(5, 5, 5) mbigfedora.MeshId,mbigfedora.TextureId = 'http://www.roblox.com/asset/?id=1125478','http://www.roblox.com/asset/?id=1125479' for i = 1, 60 do bigfedora.CFrame = bigfedora.CFrame:lerp(CFrame.new(Root.Position) * CFrame.new(0,-.1,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),.09) task.wait(1/60) end wait(.25) for i = 1, 50 do bigfedora.CFrame = bigfedora.CFrame:lerp(CFrame.new(char.Head.Position),.05) task.wait(1/60) end zmc = 0 for i = 1, 29 do zmc = zmc + 2 mbigfedora.Scale = mbigfedora.Scale - Vector3.new(.25,.25,.25) bigfedora.CFrame = bigfedora.CFrame * CFrame.Angles(math.rad(0),math.rad(zmc),0) task.wait(1/60) end bigfedora:Remove() local nim= 0 char.Humanoid.Died:Connect(function() sound69.PlaybackSpeed = 0 sound69.Parent = nil sound69.Volume = 0 end) local hum = char.Humanoid local cf = CFrame.new local DIEDLOOP local HEADLOOP repeat char.Humanoid:Move(Vector3.new(0,0,-1),true) task.wait(1/60) nim=nim+1 until nim==3 RunService.RenderStepped:Connect(function(deltaTime: number) local function Alpha(n) return math.clamp(n*deltaTime*60,0,1) end hum.CameraOffset = hum.CameraOffset:Lerp((hrp.CFrame*cf(0,1.5,0)):PointToObjectSpace(h.Position),Alpha(.15)) if IsAllowedState and dancing == false then local HeadPosition = Head.Position if Neck then local MousePos = PlayerMouse.Hit.Position local TranslationVector = (HeadPosition - MousePos).Unit local Pitch = atan(TranslationVector.Y) local Yaw = TranslationVector:Cross(Torso.CFrame.LookVector).Y local Roll = atan(Yaw) local NeckCFrame if IsR6 then NeckCFrame = CFrame.Angles(Pitch, 0, Yaw) else NeckCFrame = CFrame.Angles(-Pitch * 0.5, Yaw, -Roll * 0.5) local waistCFrame = CFrame.Angles(-Pitch * 0.5, Yaw * 0.5, 0) Waist.C0 = Waist.C0:Lerp(WaistOriginC0 * waistCFrame, updatesPerSecond * deltaTime) end Neck.C0 = Neck.C0:Lerp(NeckOriginC0 * NeckCFrame, updatesPerSecond * deltaTime) end elseif dancing == true then Neck.C0 = oldC0N end if char.Humanoid.MoveDirection == Vector3.new(0,0,0) then walking = false idle = true else walking = true idle = false end end) --