KrystalDance3 X c00lkidd script USE Reanimated script
Key RequiredUniversal

KrystalDance3 X c00lkidd script USE Reanimated script

Universal Scriptanthonymelendez267anthonymelendez267 36.4K views 797 executesUpdated Jul 8, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•1355 lines (36356 chars)
-- 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<c then
c=i-number
rtrnv=i
		end
	end
	return(rtrnv)
end
local function wait2(tim)
	if tim<0.1 then
		game:GetService("RunService").Heartbeat:Wait()
	else
		for i=1,tim*40 do
game:GetService("RunService").Heartbeat:Wait()
		end
	end
end
local function kftotbl(kf) -- Below this is literal pain..
	tbl3 = {}
	for i,v in pairs(kf:GetDescendants()) do
		if v:IsA("Pose") then
tbl3[string.sub(v.Name,1,1)..string.sub(v.Name,#v.Name,#v.Name)] = v.CFrame
		end
	end
	return(tbl3)
end
local sound69 = Instance.new("Sound",game:GetService("RunService"))
sound69.Looped = true
sound69.Name = "danc"
sound69.Playing = true
sound69.Volume = .75
local plr = game.Players.LocalPlayer
local RunService = game:GetService("RunService")

local function functionToBind()
    char.Humanoid:Move(Vector3.new(0,0,-1),false)
end
local script = Instance.new("Script")
ArtificialHB = Instance.new("BindableEvent",script)
ArtificialHB.Name = "Heartbeat"
script:WaitForChild("Heartbeat")
frame = 1 / 60
tf = 0
allowframeloss = false
tossremainder = false
lastframe = tick()
script.Heartbeat:Fire()
game:GetService("RunService").Heartbeat:Connect(function(s,p)
   tf = tf + s
   if tf >= 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)
--

Features & Information

This is made by me and hami in dc and my notes and that’s really sad that sometimes that keyboards when you press it it crash your game but be careful when you type and when you’re mobile, you need a keyboard GUI and Reanimated script sometimes I’ve been working for that for hours to do scripture
#Clkidd#Forsaken#Reanimated only

Community Comments (6)

trenchRttrenchRtJul 8, 2025

what reanimation script do you use?

titovvladislav623titovvladislav623Jul 10, 2025

Can you make a cOOlKidd script without the Krystal Dance?

titovvladislav623titovvladislav623Jul 12, 2025

I personally use Current Angle

cahilesaidemzcahilesaidemzJul 14, 2025

Current angle motor reanim and more sometimes they won't work and other sees u stiff no reanim at all some are useless

cahilesaidemzcahilesaidemzJul 14, 2025

But Energizer bypass somehow and it's the actually universal

OpenGLOpenGLJul 26, 2025

energizer uses anims made by roblox, that's why they bypass everything

More Scripts for Universal Scripts