--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] --[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] --[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] -- DONT SKIDI -- RUN LIMB REANIM NOTI 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 signaldiedbackend = LocalPlayer.ConnectDiedSignalBackend local signalkill = LocalPlayer.Kill replicatesignal(signaldiedbackend) 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