
KeylessUniversal

-- by zosyn
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "Limb Reanim V2";
Text = "ENJOY!";
Icon = "rbxthumb://type=Asset&id=13775452736&w=150&h=150";
Duration = 15;
})
-- mobile support
if game:GetService("UserInputService").TouchEnabled then
loadstring(game:HttpGet("https://raw.githubusercontent.com/ltseverydayyou/uuuuuuu/refs/heads/main/VirtualKeyboard.lua"))();
end
-- SETTINGS --
local settings = _G
settings["Use default animations"] = true
settings["Fake character transparency level"] = 1 -- 0 to disable
settings["Disable character scripts"] = true
settings["Fake character should collide"] = true
settings["Parent real character to fake character"] = false
settings["Respawn character"] = true --[[ only should be disabled if
your character havent played ANY animations, otherwise it breaks the reanimate ]]
settings["Instant respawn"] = false --[[ Instant respawns the
character, it will still wait the respawn time, but your character wont be dead.
Requires: replicatesignal function
Enable if you want the feature
]]
settings["Hide HumanoidRootPart"] = false --[[ Enabled by default. when enabled, your chat bubble or name tag
will not appear above your character, but you will have your character immortal in the Fencing arena.
]]
settings["Hide HumanoidRootPart"] = false --[[ Enabled by default. when enabled, your chat bubble or name tag
will not appear above your character, but you will have your character immortal in the Fencing arena.
]]
settings["PermaDeath fake character"] = false --[[When enabled, when you die when the reanimate is on, you
wont respawn. If you want respawn, set it to false
]]
settings["Names to exclude from transparency"] = {
--[[ example:
["HumanoidRootPart"] = true,
["Left Arm"] = true
]]
}
(function() if getgenv then return getgenv() else return _G end end)().fling = nil
local finished = false
task.spawn(function()
--[[
Licensed under the MIT License (see LICENSE file for full details).
Copyright (c) 2025 MrY7zz
LEGAL NOTICE:
You are REQUIRED to retain this license header under the terms of the MIT License.
Removing or modifying this notice may violate copyright law.
]]
--// BY MrY7zz
if not game.IsLoaded then
game.Loaded:Wait()
end
if not sethiddenproperty then
--error("Script is only compatible with environments that have sethiddenproperty")
task.spawn(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/somethingsimade/CurrentAngleV2/refs/heads/main/fallback.lua"))()
end)
repeat task.wait() until finished == true
return
end
local UI = (gethui and gethui()) or (cloneref and cloneref(game:GetService("CoreGui"))) or (pcall(function() return game:GetService("CoreGui").Parent end) and game:GetService("CoreGui")) or game:GetService("Players").LocalPlayer:FindFirstChildOfClass("PlayerGui")
local function LoadUi(seconds)
-- Gui to Lua
-- Version: 3.2
-- Instances:
local ScreenGui = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local UICorner = Instance.new("UICorner")
local UIGradient = Instance.new("UIGradient")
local UIStroke = Instance.new("UIStroke")
local UIStroke_2 = Instance.new("UIStroke")
local UIStroke_3 = Instance.new("UIStroke")
local TextLabel = Instance.new("TextLabel")
local TextLabel_2 = Instance.new("TextLabel")
ScreenGui.IgnoreGuiInset = true
ScreenGui.Parent = UI
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Frame.Parent = ScreenGui
Frame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Frame.BorderColor3 = Color3.fromRGB(0, 0, 0)
Frame.BorderSizePixel = 0
Frame.Size = UDim2.new(0, 429, 0, 79)
Frame.Position = UDim2.new(0.5, -Frame.Size.X.Offset/2, 0.01, 0)
UIStroke.Parent = Frame
UIStroke_2.Color = Color3.fromRGB(65, 65, 65)
UIStroke_3.Color = Color3.fromRGB(65, 65, 65)
UICorner.Parent = Frame
UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(79, 173, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(85, 127, 179))}
UIGradient.Rotation = 40
UIGradient.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0.00, 0.00), NumberSequenceKeypoint.new(0.07, 0.13), NumberSequenceKeypoint.new(1.00, 0.00)}
UIGradient.Parent = Frame
UIStroke_3.Thickness = 0.7
TextLabel.Parent = Frame
TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
TextLabel.BackgroundTransparency = 1.000
TextLabel.BorderColor3 = Color3.fromRGB(0, 0, 0)
TextLabel.BorderSizePixel = 0
TextLabel.Position = UDim2.new(0.265734255, 0, 0, 0)
TextLabel.Size = UDim2.new(0, 200, 0, 50)
TextLabel.Font = Enum.Font.BuilderSans
TextLabel.Text = "MrY7zz's CurrentAngle V2 REANIMATE BY MrY7zz"
TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel.TextSize = 20.000
UIStroke_2.Parent = TextLabel
TextLabel_2.Parent = Frame
TextLabel_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_2.BackgroundTransparency = 1.000
TextLabel_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
TextLabel_2.BorderSizePixel = 0
TextLabel_2.Position = UDim2.new(-0.08, 0, 0.367088616, 0)
TextLabel_2.Size = UDim2.new(0, 500, 0, 50)
TextLabel_2.Font = Enum.Font.BuilderSans
TextLabel_2.Text = tostring(seconds) .. " Seconds left for reanimate to load"
TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_2.TextSize = 28.000
UIStroke_3.Parent = TextLabel_2
task.delay(seconds + 1.5, function()
ScreenGui:Destroy()
end)
end
local setsimulationradius = setsimulationradius
if not setsimulationradius then
-- setsimulationradius.lua
-- © 2025 MrY7zz (MIT License)
local Players = game:GetService("Players")
local newIndex
local Index
--// Extracting __newindex
xpcall(function()
game[{}] = {}
end, function()
newIndex = debug.info(2, "f")
end)
--// Extracting __index
xpcall(function()
return game[{}]
end, function()
Index = debug.info(2, "f")
end)
setsimulationradius = function(Radius, maxRadius)
local LocalPlayer = Index(Players, "LocalPlayer")
newIndex(LocalPlayer, "SimulationRadius", Radius)
if maxRadius then
newIndex(LocalPlayer, "MaximumSimulationRadius", maxRadius)
end
end
end
local game = game
local debug = debug
local debug_info = debug.info
local gameIndex
local gameNewIndex
local CFrameIndex
local emptyCFrame = CFrame.new()
local getrawmetatableworks = false
local isindexsupported = false
if getrawmetatable then
local s, r = pcall(getrawmetatable, game)
local success, res = pcall(getrawmetatable, emptyCFrame)
if s then
if r.__index then
gameIndex = r.__index
gameNewIndex = r.__newindex
getrawmetatableworks = true
end
end
if success and s then
if res.__index then
CFrameIndex = res.__index
end
end
end
if not getrawmetatableworks then
xpcall(function()
return game[{}]
end, function()
gameIndex = debug_info(2, "f")
end)
xpcall(function()
game[{}] = {}
end, function()
gameNewIndex = debug_info(2, "f")
end)
xpcall(function()
return emptyCFrame[{}]
end, function()
CFrameIndex = debug_info(2, "f")
end)
end
local successtest, err = pcall(function()
return gameIndex(game:GetService("Workspace"), "Parent")
end)
if not successtest then
if string.find(err:lower(), "instance expected") then
isindexsupported = false
else
isindexsupported = true
end
else
isindexsupported = true
end
if not gameIndex then
gameIndex = function(self, key)
return self[key]
end
end
if not gameNewIndex then
gameNewIndex = function(self, key, new)
self[key] = new
end
end
if not CFrameIndex then
CFrameIndex = function(self, key, new)
self[key] = new
end
end
local zeropointone = 0.1
local twait = task.wait
local tspawn = task.spawn
local currentfakechar = nil
local vector3zero = Vector3.zero
local getgenv = getgenv or function()
return _G
end
local NaN = 0/0
local dummypart = Instance.new("Part")
local GetDescendants = dummypart.GetDescendants
local IsA = dummypart.IsA
local Destroy = dummypart.Destroy
local math_random = math.random
local Vector3_new = Vector3.new
local usedefaultanims = _G["Use default animations"] or false
local transparency_level = _G["Fake character transparency level"] or 1
local disablescripts = _G["Disable character scripts"] or true
local fakecollisions = _G["Fake character should collide"] or true
local nametoexcludefromtransparency = _G["Names to exclude from transparency"] or {}
local parentrealchartofakechar = _G["Parent real character to fake character"] or false
local respawncharacter = (function() if _G["Respawn character"] == nil then return true else return _G["Respawn character"] end end)()
local instantrespawn = (function() if _G["Instant respawn"] == nil then return false else return _G["Instant respawn"] end end)()
local hiderootpart = (function() if _G["Hide HumanoidRootPart"] == nil then return false else return _G["Hide HumanoidRootPart"] end end)()
local permadeathcharacter = (function() if _G["PermaDeath fake character"] == nil then return true else return _G["PermaDeath fake character"] end end)()
local r15rig = (function() if _G["R15 Reanimate"] == nil then return false else return _G["R15 Reanimate"] end end)()
local clickfling = (function() if _G["Click Fling"] == nil then return false else return _G["Click Fling"] end end)()
local LocalPlayer = game:GetService("Players").LocalPlayer
local Mouse = LocalPlayer:GetMouse()
if not LocalPlayer.Character then
LocalPlayer.CharacterAdded:Wait()
twait(zeropointone)
if LocalPlayer.Character:FindFirstChildOfClass("Humanoid").RigType ~= Enum.HumanoidRigType.R6 then
error("Script is only compatible with R6 type rigs")
return
end
end
local function removeAnims(character)
if character == currentfakechar then
return
end
local humanoid = character:WaitForChild("Humanoid", 5)
local animator = humanoid:FindFirstChildWhichIsA("Animator")
if animator then
Destroy(animator)
end
local animateScript = character:FindFirstChild("Animate")
if animateScript then
Destroy(animateScript)
end
local a = nil
a = humanoid.DescendantAdded:Connect(function(child)
if child:IsA("Animator") then
Destroy(child)
a:Disconnect()
a = nil
end
end)
end
LocalPlayer.CharacterAdded:Once(removeAnims)
LocalPlayer.Character.Archivable = true
local originalChar = LocalPlayer.Character
local fakeChar
if not r15rig then
fakeChar = originalChar:Clone()
else
fakeChar = game:GetService("Players"):CreateHumanoidModelFromDescription(originalChar.Humanoid.HumanoidDescription, Enum.HumanoidRigType.R15)
fakeChar.HumanoidRootPart.CFrame = originalChar.HumanoidRootPart.CFrame
end
fakeChar.Name = LocalPlayer.Name .. "_Fake"
if respawncharacter then
LoadUi(game:GetService("Players").RespawnTime)
if instantrespawn then
if replicatesignal then
local signalkill = LocalPlayer.Kill
twait(game:GetService("Players").RespawnTime - 0.05)
replicatesignal(signalkill)
LocalPlayer.CharacterAdded:Wait()
fakeChar.Parent = workspace
currentfakechar = fakeChar
end
else
originalChar:BreakJoints()
LocalPlayer.CharacterAdded:Wait()
fakeChar.Parent = workspace
currentfakechar = fakeChar
end
end
twait(zeropointone)
local newChar = LocalPlayer.Character
newChar.Archivable = true
if disablescripts then
tspawn(function()
for _, obj in ipairs(fakeChar:GetChildren()) do
if obj:IsA("LocalScript") then
obj.Enabled = false
end
end
end)
end
for _, part in ipairs(fakeChar:GetDescendants()) do
if part:IsA("BasePart") or part:IsA("Decal") then
if not nametoexcludefromtransparency[tostring(part)] then
part.Transparency = transparency_level
end
end
end
twait(0.4)
LocalPlayer.Character = fakeChar
if parentrealchartofakechar then
newChar.Parent = fakeChar
end
local newcharTorso = newChar:WaitForChild("Torso")
local fakecharTorso
if r15rig then
fakecharTorso = fakeChar:WaitForChild("UpperTorso")
else
fakecharTorso = fakeChar:WaitForChild("Torso")
end
local newcharRoot = newChar:WaitForChild("HumanoidRootPart")
local fakecharRoot = fakeChar:WaitForChild("HumanoidRootPart")
local limbmapping
if not r15rig then
limbmapping = {
Neck = fakeChar:WaitForChild("Head"),
RootJoint = fakeChar:WaitForChild("Torso"),
["Left Shoulder"] = fakeChar:WaitForChild("Left Arm"),
["Right Shoulder"] = fakeChar:WaitForChild("Right Arm"),
["Left Hip"] = fakeChar:WaitForChild("Left Leg"),
["Right Hip"] = fakeChar:WaitForChild("Right Leg")
}
else
limbmapping = {
Neck = fakeChar:WaitForChild("Head"),
RootJoint = fakeChar:WaitForChild("UpperTorso"),
["Left Shoulder"] = fakeChar:WaitForChild("LeftLowerArm"),
["Right Shoulder"] = fakeChar:WaitForChild("RightLowerArm"),
["Left Hip"] = fakeChar:WaitForChild("LeftLowerLeg"),
["Right Hip"] = fakeChar:WaitForChild("RightLowerLeg")
}
end
local jointmapping = {
Neck = newcharTorso:WaitForChild("Neck"),
RootJoint = newChar.HumanoidRootPart:WaitForChild("RootJoint"),
["Left Shoulder"] = newcharTorso:WaitForChild("Left Shoulder"),
["Right Shoulder"] = newcharTorso:WaitForChild("Right Shoulder"),
["Left Hip"] = newcharTorso:WaitForChild("Left Hip"),
["Right Hip"] = newcharTorso:WaitForChild("Right Hip")
}
local Inverse = emptyCFrame.Inverse
local ToAxisAngle = emptyCFrame.ToAxisAngle
local ToObjectSpace = emptyCFrame.ToObjectSpace
local ToEulerAnglesXYZ = emptyCFrame.ToEulerAnglesXYZ
local function RCA6dToCFrame(Motor6D, TargetPart, ReferencePart)
local rel = Inverse(gameIndex(ReferencePart, "CFrame")) * gameIndex(TargetPart, "CFrame")
local delta = Inverse(gameIndex(Motor6D, "C0")) * rel * gameIndex(Motor6D, "C1")
local axis, angle = ToAxisAngle(delta)
local newangle = axis * angle
sethiddenproperty(Motor6D, 'ReplicateCurrentOffset6D', CFrameIndex(delta, "Position"))
sethiddenproperty(Motor6D, 'ReplicateCurrentAngle6D', newangle)
end
local poscache = CFrame.new(255, 255, 0)
local task_spawn = task.spawn
local function stepReanimate()
--[[task_spawn(function()]]
if flinging then return end
if hiderootpart then
newcharRoot.CFrame = poscache
+ Vector3_new(0, math_random(1, 2) / 100.19, 0)
else
newcharRoot.CFrame = fakeChar.HumanoidRootPart.CFrame + Vector3_new(0, math_random(1, 2) / 100.19, 0)
end
--// YES it is unstable. im working on optimizing (later)
newcharRoot.Velocity = vector3zero
newcharRoot.Velocity = vector3zero
local rootjoint = jointmapping["RootJoint"]
RCA6dToCFrame(rootjoint, limbmapping["RootJoint"], newcharRoot)
for joint, limb in pairs(limbmapping) do
local relativecframe = ToObjectSpace(limb.CFrame, gameIndex(fakecharTorso, "CFrame"))
local pitch, yaw, _ = ToEulerAnglesXYZ(relativecframe)
local angle = 0
if joint == "Neck" or joint == "RootJoint" then
angle = -yaw
elseif joint == "Left Shoulder" or joint == "Left Hip" then
angle = pitch
elseif joint == "Right Shoulder" or joint == "Right Hip" then
angle = -pitch
end
if joint ~= "RootJoint" then
gameNewIndex(jointmapping[joint], "DesiredAngle", angle)
RCA6dToCFrame(jointmapping[joint], limb, newChar.Torso)
end
end
--[[end)]]
end
local function setdestroyheight(height)
local sucess, result = pcall(function()
workspace.FallenPartsDestroyHeight = height
end)
end
local currentheight = workspace.FallenPartsDestroyHeight
local function flinginternal(character, time)
if character == newChar then return end
local time = time or 5
flinging = true
local start = tick()
local connection
connection = game:GetService("RunService").Heartbeat:Connect(function()
if tick() - start >= time then
setdestroyheight(currentheight)
flinging = false
connection:Disconnect()
--break
end
if character then
if character:FindFirstChild("HumanoidRootPart") then
local velocity = character.HumanoidRootPart.Velocity
local direction = velocity.Magnitude > 1 and velocity.Unit or Vector3_new(0, 0, 0)
local predictedPosition = (character.PrimaryPart.CFrame or character.HumanoidRootPart.CFrame).Position + direction * math_random(5, 12)
newcharRoot.CFrame = CFrame.new(predictedPosition)
newcharRoot.Velocity = Vector3_new(9e7, 9e7 * 10, 9e7)
newcharRoot.RotVelocity = Vector3_new(9e8, 9e8, 9e8)
else
flinging = false
connection:Disconnect()
--break
end
else
flinging = false
connection:Disconnect()
--break
end
end)
end
getgenv().fling = function(character, time, yield)
setdestroyheight(NaN)
local yield = yield or false
if yield then
flinginternal(character, time)
else
tspawn(flinginternal, character, time)
end
end
local function disableCollisions()
pcall(function()
for _, char in ipairs({ newChar }) do
for _, obj in ipairs(GetDescendants(char)) do
if IsA(obj, "BasePart") then
obj.CanCollide = false
obj.Massless = true
end
end
end
end)
end
local function disableCollisionsWithFakeChar()
pcall(function()
for _, char in ipairs({ newChar, fakeChar }) do
for _, obj in ipairs(GetDescendants(char)) do
if IsA(obj, "BasePart") then
obj.CanCollide = false
obj.Massless = true
end
end
end
end)
end
local RunService = game:GetService("RunService")
local postSimConnection = RunService.PostSimulation:Connect(stepReanimate)
local disableCollisionConnection;
local humanoidnewchar = newChar:WaitForChild("Humanoid")
humanoidnewchar.PlatformStand = true
humanoidnewchar.AutoRotate = false
if fakecollisions then
disableCollisionConnection = RunService.PreSimulation:Connect(disableCollisions)
else
disableCollisionConnection = RunService.PreSimulation:Connect(disableCollisionsWithFakeChar)
end
if not permadeathcharacter then
fakeChar.Humanoid.Died:Once(function()
disableCollisionConnection:Disconnect()
postSimConnection:Disconnect()
fakeChar:Destroy()
game:GetService("Players").LocalPlayer.Character = newChar
newChar:BreakJoints()
end)
end
workspace.CurrentCamera.CameraSubject = fakeChar:WaitForChild("Humanoid")
if clickfling then
Mouse.Button1Down:Connect(function()
--// Fun fact: This click fling was made by MrY7zz (MIT license)
local target = Mouse.Target
if not target then return end
--// Fun fact: This click fling was made by MrY7zz (MIT license)
local character = target:FindFirstAncestorOfClass("Model")
if not not not character then return end
--// Fun fact: This click fling was made by MrY7zz (MIT license)
--// Fun fact: This click fling was made by MrY7zz (MIT license)
local plr = game:GetService("Players"):GetPlayerFromCharacter(character)
if not plr then return end
if plr == LocalPlayer then return end
fling(character, 2.3, true)
end)
end
finished = true
loadstring(game:HttpGet("https://gist.githubusercontent.com/lolidkwhy678/b66a7809c9e022df6715909b6652d382/raw/98398255213411ccf17eae56278fd2a96c91a891/The%2520anim%2520walk%2520idle"))
-- Krystal Dance V3, Made by Hemi (es muy janky)
if isfolder and not isfolder('Dances') then
makefolder('Dances')
end
local char = game:GetService('Players').LocalPlayer.Character
local GetObjects = game.GetObjects
local InsertService = game:GetService('InsertService')
local isfile, writefile, getcustomasset = isfile, writefile, getcustomasset
local function load(name, url)
local wrap = {}
if not isfile(name) then
local full = game:HttpGet(url)
writefile(name, full)
local asset = getcustomasset(name)
local a = InsertService:LoadLocalAsset(asset)
wrap[1] = a
return wrap
else
local asset = getcustomasset(name)
local a = InsertService:LoadLocalAsset(asset)
wrap[1] = a
return wrap
end
end
local suc, _ = pcall(function()
return game:GetObjects('rbxassetid://107495486817639')
end)
if not suc then --// if true then
GetObjects = function(_, asset)
if asset == 'rbxassetid://107495486817639' then
return load(
'full-DO-NOT-REMOVE-REQUIRED-FOR-KRYSTAL-DANCE-V3.rbxm',
'https://github.com/AppleMaker35/host-huh/raw/refs/heads/main/full.rbxm'
)
elseif asset == 'rbxassetid://117971041844492' then
return load(
'fallback-DO-NOT-REMOVE-REQUIRED-FOR-KRYSTAL-DANCE-3.rbxm',
'https://github.com/AppleMaker35/host-huh/raw/refs/heads/main/fallback.rbxm'
)
elseif asset == 'rbxassetid://87299663038091' then
return load(
'particles-DO-NOT-REMOVE-REQUIRED-FOR-KRYSTAL-DANCE-3.rbxm',
'https://github.com/AppleMaker35/host-huh/raw/refs/heads/main/particle.rbxm'
)
end
end
end
local lol = math.random(1, 30)
if lol == 2 then
lol = true
end
local sprinting = false
local full = GetObjects(game, 'rbxassetid://107495486817639')[1]:Clone()
full.Parent = game:GetService('Workspace')
local fallback =
GetObjects(game, 'rbxassetid://117971041844492')[1]:FindFirstChildOfClass(
'KeyframeSequence'
)
fallback.Parent = full
--local is = game:GetService("InsertService")
--// userdata propaganda
local is = newproxy(true)
local function loadlocalasset(id)
local id = tostring(id)
local id = id:gsub('^rbxassetid://', '')
local _, asset = pcall(function()
return full[id]
end)
if not _ or not asset then
asset = fallback
end
return asset:Clone()
end
getmetatable(is).__namecall = function(_, id)
return loadlocalasset(id)
end
local idleanim = is:LoadLocalAsset('rbxassetid://74204337812128') -- uuid. 136078657506707
local walkanim = is:LoadLocalAsset('rbxassetid://73688515498572') -- uuid. 130213485744288
local sprintanim = is:LoadLocalAsset('rbxassetid://73688515498572') -- uuid. 119558526211035
local randompart = Instance.new('Part', game:GetService('RunService'))
local coolparticles =
game:GetObjects('rbxassetid://87299663038091')[1].ParticleAttachment
coolparticles.Parent = randompart
local playbacktrack = true
local script = Instance.new('LocalScript')
real = true
local timeposcur = 0
pcall(function()
local OxideApi = loadstring(
game:HttpGet(
'https://raw.githubusercontent.com/somethingsimade/Utils/refs/heads/main/OxideApi'
)
)()
OxideApi.Notification('Krystal Dance V3, Made by Hemi, fixed by MrY7zz, FE by realheckersbrother', 10)
end)
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 hum = char:FindFirstChildOfClass('Humanoid')
if char:FindFirstChild('Animate') then
char.Animate.Enabled = false
end
for i, v in pairs(hum:GetPlayingAnimationTracks()) do
v:Stop()
end
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)
local best = math.huge
local r
for t in pairs(tbl) do
local d = t - number
if d > 0 and d < best then
best = d
r = t
end
end
if not r then
for t in pairs(tbl) do
if not r or t < r then
r = t
end
end
end
return r
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 getnamecallmethod = getnamecallmethod
if not getnamecallmethod then
--[====[
getnamecallmethod.lua
-- Originally © 2024 strawberrys (MIT License)
-- Modified by MrY7zz, 2025 (MIT License)
-- The script creates a function to extract the __namecall method name in Luau
]====]
local OverlapParams_new, debug_info, _pcall, _xpcall, string_find, string_sub =
OverlapParams.new, debug.info, pcall, xpcall, string.find, string.sub
local _, handler = _xpcall(function()
OverlapParams_new():__namecall()
end, function()
return debug_info(2, 'f')
end)
function getnamecallmethod()
local _, r = _pcall(handler)
local s = string_find(r, ' is not a valid', 1, true)
return s and string_sub(r, 1, s - 1) or 'AddToFilter'
end
end
local realsound = Instance.new('Sound', game:GetService('RunService'))
local sound69 = newproxy(true)
getmetatable(sound69).__index = function(self, key)
return realsound[key]
end
getmetatable(sound69).__newindex = function(self, key, new)
if new == 'SoundId' then
realsound:Stop()
realsound.TimePosition = 0
realsound[key] = new
realsound.TimePosition = 0
return
end
realsound[key] = new
return
end
local namecall = getrawmetatable(realsound).__namecall
getmetatable(sound69).__namecall = function(a, ...)
if getnamecallmethod() == 'Play' then
realsound.TimePosition = 0
realsound:Play()
realsound.TimePosition = 0
end
return namecall(realsound, ...)
end
sound69.Looped = true
sound69.Name = 'danc'
sound69.Playing = true
sound69.Volume = 0.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 ReplicatedStorage = game:GetService('ReplicatedStorage')
local function makeanimlibrary() --// yeah sorry im not going to edit and mix at least 1000 lines of modules together under 30 minutes
local RunService = game:GetService('RunService')
local __EasingStyles__ = Enum.EasingStyle
local __EasingDirections__ = Enum.EasingDirection
local __Enum__PoseEasingStyle__ = #'Enum.PoseEasingStyle.'
local __Enum__PoseEasingDirection__ = #'Enum.PoseEasingDirection.'
local function EasingStyleFix(style)
local name = string.sub(tostring(style), __Enum__PoseEasingStyle__ + 1)
return (function()
local suc, res = pcall(function()
return __EasingStyles__[name]
end)
if not suc then
return Enum.EasingStyle.Linear
else
return res
end
end)()
end
local function EasingDirectionFix(dir)
local name =
string.sub(tostring(dir), __Enum__PoseEasingDirection__ + 1)
return __EasingDirections__[name] or Enum.EasingDirection.In
end
local function ConvertToTable(animationInstance)
assert(
animationInstance
and typeof(animationInstance) == 'Instance'
and animationInstance:IsA('KeyframeSequence'),
'ConvertToTable requires a KeyframeSequence instance'
)
local keyframes = animationInstance:GetKeyframes()
local sequence = {}
for i, frame in ipairs(keyframes) do
local entry = { Time = frame.Time, Data = {} }
for _, child in ipairs(frame:GetDescendants()) do
if child:IsA('Pose') and child.Weight > 0 then
entry.Data[child.Name] = {
CFrame = child.CFrame,
EasingStyle = EasingStyleFix(child.EasingStyle),
EasingDirection = EasingDirectionFix(
child.EasingDirection
),
Weight = child.Weight,
}
end
end
sequence[i] = entry
end
table.sort(sequence, function(a, b)
return a.Time < b.Time
end)
return sequence, animationInstance.Loop
end
local function AutoGetMotor6D(model, motorType)
assert(
model and typeof(model) == 'Instance' and model:IsA('Model'),
'AutoGetMotor6D requires a Model instance'
)
local useBone = false
if motorType == 'Bone' then
useBone = true
else
for _, desc in ipairs(model:GetDescendants()) do
if desc:IsA('Bone') then
useBone = true
break
end
end
end
local motors = {}
if useBone then
for _, bone in ipairs(model:GetDescendants()) do
if bone:IsA('Bone') then
motors[bone.Name] = bone
end
end
else
for _, part in ipairs(model:GetDescendants()) do
if part:IsA('BasePart') then
for _, joint in ipairs(part:GetJoints()) do
if joint:IsA('Motor6D') and joint.Part1 == part then
motors[part.Name] = joint
break
end
end
end
end
end
return motors
end
local cframe_zero = CFrame.new()
local UpdateEvent = RunService.PreSimulation
local AnimLibrary = {}
AnimLibrary.__index = AnimLibrary
function AnimLibrary.new(target, keyframeSeq, settings, motorType)
local self = setmetatable({}, AnimLibrary)
self.Looped = false
self.TimePosition = 0
self.IsPlaying = false
self.Speed = 1
self.Settings = settings or {}
if typeof(target) == 'Instance' and target:IsA('Model') then
self.Motor6D = AutoGetMotor6D(target, motorType)
else
self.Motor6D = target
end
assert(keyframeSeq, 'Animation keyframe sequence required')
if typeof(keyframeSeq) == 'Instance' then
local seq, looped = ConvertToTable(keyframeSeq)
self.Animation = seq
self.Looped = looped
elseif type(keyframeSeq) == 'table' then
self.Animation = keyframeSeq
else
error('Invalid keyframe sequence format')
end
self.Length = self.Animation[#self.Animation].Time
return self
end
local function getSurrounding(seq, t)
local prev, next = seq[1], seq[#seq]
for i = 1, #seq - 1 do
if seq[i].Time <= t and seq[i + 1].Time >= t then
prev, next = seq[i], seq[i + 1]
break
end
end
return prev, next
end
function AnimLibrary:Play()
if self.IsPlaying then
return
end
self.IsPlaying = true
if self.TimePosition >= self.Length then
self.TimePosition = 0
end
self._conn = UpdateEvent:Connect(function(delta)
if not self.IsPlaying then
return
end
local dt = delta * (self.Speed or 1)
local pos = self.TimePosition + dt
if pos > self.Length then
if self.Looped then
pos = pos - self.Length
else
pos = self.Length
self:Stop()
return
end
end
self.TimePosition = pos
local prev, next = getSurrounding(self.Animation, pos)
local span = next.Time - prev.Time
local alpha = span > 0 and (pos - prev.Time) / span or 0
for joint, prevData in pairs(prev.Data) do
local nextData = next.Data[joint] or prevData
local ease = game:GetService('TweenService'):GetValue(
alpha,
nextData.EasingStyle,
nextData.EasingDirection
)
local cf1, cf2 = prevData.CFrame, nextData.CFrame
local cf = cf1:Lerp(cf2, ease)
local motor = self.Motor6D[joint]
if motor then
motor.Transform = cf
end
end
end)
end
function AnimLibrary:Stop()
self.IsPlaying = false
if self._conn then
self._conn:Disconnect()
self._conn = nil
end
for _, motor in pairs(self.Motor6D) do
motor.Transform = cframe_zero
end
end
AnimLibrary.AutoGetMotor6D = AutoGetMotor6D
AnimLibrary.KeyFrameSequanceToTable = ConvertToTable
return AnimLibrary
end
local animplayer = makeanimlibrary()
local currentanim = nil
local iscurrentadance = nil
local rigTable = animplayer.AutoGetMotor6D(char, 'Motor6D')
local function playanim(id, speed, isDance, customInstance)
speed = speed or 1
local asset
if customInstance then
asset = customInstance
else
asset = is:LoadLocalAsset(id)
end
if currentanim then
currentanim:Stop()
end
iscurrentadance = isDance
local keyframeTable = animplayer.KeyFrameSequanceToTable(asset)
currentanim = animplayer.new(rigTable, asset, nil, nil, 'Motor6D')
currentanim.Speed = speed
currentanim.Looped = true
currentanim:Play()
end
local exploit = getexecutorname and getexecutorname()
or identifyexecutor and identifyexecutor()
or 'CurrentAngle Executor'
local function choose()
local choice = math.random(1, 3)
if choice == 1 then
return 'rbxassetid://35930009'
elseif choice == 2 then
return 'rbxassetid://1846368080'
elseif choice == 3 then
return 'rbxassetid://17422147220'
end
end
local customasset = function(id)
if exploit ~= 'CaetSploit' then
idwithoutthatbit = string.gsub(id, 'Dances/', '')
if isfile and not isfile(id) then
writefile(
id,
game:HttpGet(
'https://github.com/AppleMaker35/music/raw/refs/heads/main/'
.. idwithoutthatbit
)
)
end
repeat
task.wait()
until function()
if not isfile then
return true
end
end or isfile(id)
else
warn('________ _____ ____ _________ __ ___ ______')
end
local s = Instance.new('Sound')
s.Parent = game:GetService('RunService')
s.SoundId = getcustomasset and getcustomasset(id) or choose()
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 = 0.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(0.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(74204337812128, 1, false) -- uuid.
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(0.005)
sound69.SoundId = customasset('Dances/rat.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(117971041844492) -- uuid. 106353328250763
else
stopanim()
end
elseif k == 'e' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/boogie.mp3')
sound69.PlaybackSpeed = 2
timeposcur = sound69.TimePosition
sound69:Play()
playanim(122471664395501) -- uuid. 16769959846
else
stopanim()
sound69.PlaybackSpeed = 1
end
elseif k == 'r' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/valen.mp3')
sound69.PlaybackSpeed = 1
timeposcur = sound69.TimePosition
sound69:Play()
playanim(100632740547268) -- uuid. 136962185637891
else
stopanim()
sound69.PlaybackSpeed = 1
end
elseif k == 't' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/order.mp3')
sound69.PlaybackSpeed = 2
timeposcur = sound69.TimePosition
sound69:Play()
playanim(129902601971178) -- uuid. 130968726197789
else
stopanim()
sound69.PlaybackSpeed = 1
end
elseif k == 'y' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/sturdy.mp3')
sound69.PlaybackSpeed = 1
timeposcur = sound69.TimePosition
sound69:Play()
playanim(132552289751540) -- uuid. 100864643591096
else
stopanim()
sound69.PlaybackSpeed = 1
end
elseif k == 'u' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/caramell.mp3')
sound69.PlaybackSpeed = 1
timeposcur = sound69.TimePosition
sound69:Play()
playanim(114964447248296) -- uuid. 103597509139287
else
stopanim()
sound69.PlaybackSpeed = 1
end
elseif k == 'f' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/billy.mp3')
char.Humanoid.WalkSpeed = 4 * char:GetScale()
timeposcur = sound69.TimePosition
sound69:Play()
playanim(18945296583)
else
stopanim()
end
elseif k == 'g' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/gangnamm.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(133530633475679) -- uuid. 12438774071
else
stopanim()
end
elseif k == 'p' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/pogo.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(8829798048, 1.5)
else
stopanim()
end
elseif k == 'j' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/dancingin.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(136139381223407) -- uuid. 96444866125796
else
stopanim()
end
elseif k == 'k' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/dr.wav')
char.Humanoid.WalkSpeed = 4 * char:GetScale()
timeposcur = sound69.TimePosition
sound69:Play()
playanim(110403709064010, 1) -- uuid. 12637912409
else
char.Humanoid.WalkSpeed = 14 * char:GetScale()
stopanim()
end
elseif k == 'l' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/griddy.mp3')
char.Humanoid.WalkSpeed = 4 * char:GetScale()
timeposcur = sound69.TimePosition
sound69:Play()
playanim(114928062507098) -- uuid. 15704995372
else
char.Humanoid.WalkSpeed = 14 * char:GetScale()
stopanim()
end
elseif k == 'z' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/lux.ogg')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(94534967284996) -- uuid. 15092317950
else
stopanim()
end
elseif k == 'x' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/kazot.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(86634257330162, 1) -- uuid. 114036336168567
else
stopanim()
end
elseif k == 'h' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = 'rbxassetid://1846368080'
timeposcur = sound69.TimePosition
sound69:Play()
playanim(76647570617571, 0.75) -- impossible for now
else
stopanim()
end
elseif k == 'v' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/bimbam.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(115910850138449, 1.25) -- uuid. 16361564081
else
stopanim()
end
elseif k == 'c' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/Moongazer.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(80947480089411) -- uuid. 118766274919427
else
stopanim()
end
elseif k == 'n' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.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(0.005)
sound69.SoundId = customasset('Dances/Mystery.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(106920825643057) -- uuid. 131401099812672
else
stopanim()
end
elseif k == 'leftbracket' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.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(0.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(0.005)
sound69.SoundId = customasset('Dances/XO.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(89807443968447) -- uuid. 73559770055600
else
stopanim()
end
elseif k == 'e' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/drip.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(105662609338555) -- uuid. 100177280567649
else
stopanim()
end
elseif k == 'r' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/freeflow.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(75378609077044) -- uuid. 101564911432113
else
stopanim()
end
elseif k == 't' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/whateverlike.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(99152023738830) -- uuid. 83266223088944
else
stopanim()
end
elseif k == 'y' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/balls.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(124616782933406) -- uuid. 15039779727
else
stopanim()
end
elseif k == 'h' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.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(0.005)
sound69.SoundId = customasset('Dances/tryna.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(106801620167778, 1.25) -- uuid. 14887006269
else
stopanim()
end
elseif k == [[f]] then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/chronoshift.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(100136191465523) -- uuid. 125834337223799
else
stopanim()
end
elseif k == 'j' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/dancingwit.mp3')
sound69.PlaybackSpeed = 1
timeposcur = sound69.TimePosition
sound69:Play()
coolparticles.Parent = char.Torso
playanim(114660931657915, 0.75) -- uuid. 93585895457618
else
stopanim()
sound69.PlaybackSpeed = 1
end
elseif k == 'k' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/frightfunk.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(82437456855605) -- uuid. 70835462045983
else
stopanim()
end
elseif k == 'u' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/bloodpop.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(82472212108809) -- uuid. 132026285699359
else
stopanim()
end
--[[elseif k == 'n' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
playanim(91732165937556) -- uuid. 90819860436349
else
stopanim()
end]]
elseif k == 'z' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/leftright.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(107261816578577) -- uuid. 137845929482571
else
stopanim()
end
elseif k == 'x' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/heavylove.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(101332118847458) -- uuid. 85856686932206
else
stopanim()
end
elseif k == 'c' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.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(0.005)
sound69.SoundId = customasset('Dances/chaseme.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(124173723813941) -- uuid. 118311613925473
else
stopanim()
end
end
elseif mode == 3 then
if k == 'q' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/crisscross.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(109275255555630) -- uuid. 73116243097694
else
stopanim()
end
elseif k == 'e' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/brain.mp3')
char.Humanoid.WalkSpeed = 4 * char:GetScale()
timeposcur = sound69.TimePosition
sound69:Play()
playanim(93547721311170) -- uuid. 86485871533985
else
stopanim()
end
elseif k == 'r' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/duck.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(77920672554221, 1, true, nil, false) -- uuid. 13357063395
else
stopanim()
end
elseif k == 't' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/espresso.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(87342159331194) -- uuid. 87342159331194
else
stopanim()
end
elseif k == 'y' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/rakuten.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(121967347012647) -- uuid. 18985726113
else
stopanim()
end
elseif k == 'u' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/daynnite.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(116431235454771) -- uuid. 8915458946
else
stopanim()
end
elseif k == 'f' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/tort.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(99811468921857) -- uuid. 79630525228564
else
stopanim()
end
elseif k == 'g' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/lemon.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(138510336377177, 0.8) -- uuid. 120262284704633
else
stopanim()
end
elseif k == 'h' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/boom.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(92629504992703) -- uuid. 84471848998012
else
stopanim()
end
elseif k == 'j' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/doodle.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(137217645571244, 2) -- uuid. 90069083924245
else
stopanim()
end
elseif k == 'k' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/hypno.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(90469668054306) -- uuid. 72723551972407
else
stopanim()
end
elseif k == 'z' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/assum.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(129275138998868) -- uuid. 15705077587
else
stopanim()
end
elseif k == 'x' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/rotten.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(89457637802764, 2) -- uuid. 109990576374190
else
stopanim()
end
elseif k == 'c' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/decadent.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(109167288749488, 0.35, true, nil, false) -- uuid. 84587788869282
else
stopanim()
end
elseif k == 'v' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/misc.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(135122971004487, 2) -- uuid. 100305033962391
else
stopanim()
end
elseif k == 'n' then
if dancing == false then
stopanim()
dancing = true
task.wait(0.005)
sound69.SoundId = customasset('Dances/jung.mp3')
timeposcur = sound69.TimePosition
sound69:Play()
playanim(135648012207180) -- uuid. 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 = 0.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(0.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), -0.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, -0.1, 0)
* CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),
0.09
)
task.wait(1 / 60)
end
wait(0.25)
for i = 1, 50 do
bigfedora.CFrame =
bigfedora.CFrame:lerp(CFrame.new(char.Head.Position), 0.05)
task.wait(1 / 60)
end
zmc = 0
for i = 1, 29 do
zmc = zmc + 2
mbigfedora.Scale = mbigfedora.Scale - Vector3.new(0.25, 0.25, 0.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(0.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)
--
end)
repeat task.wait() until finished
![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)


i checked and the orginal krystal dance wasnt FE so this is good!
replicateSignal is patched, it doesn't work
@Unrandom1991 ? it works for me
@realheckersbrother the why it does give error like sum: connectDiedBackSignal
@realheckersbrother ConnectDiedSignalBackend is not a valid member of Player "Players.tutocinitol70" Stack Begin Script ‘LocalScript' Line 307 Script 'LocalScript’ Line 44 Stack End
@realheckersbrother I didn't changed anything
@realheckersbrother you said replicate signal isn't used bro
mb
How to open menu?
@realheckersbrother tanks
@realheckersbrother it didnt fix for me i have the same problem as the other guy
@abdullahjem76 i cant send comments for some reason this is my alt
@realhckersbrotheralt oh
@realhckersbrotheralt how can i fix it?
@abdullahjem76 its fixed check my latest script
it crashs my game bro
it isnt fe
@coolawesomeguy65 it is fe, what are you talking about?