Universal Fanmade g0bloox anim player
Key RequiredUniversal

Universal Fanmade g0bloox anim player

Universal ScriptCrypticCoderxCrypticCoderx 1.7K views 109 executesUpdated Dec 13, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•176 lines (5953 chars)
local PRIVATE_MODEL_ID = 74987847468722  -- CHANGE THIS TO YOUR PRIVATE/Public MODEL ID

game:GetService("StarterGui"):SetCore("SendNotification",{
    Title = "Eunoia is here to help ur day",
    Text = "It detects if the model has a run/walk/idle/jump/crouch/slide anim",
    Duration = 10
})

-- Load Animator6D Pro
if not getgenv().Animator6DLoadedPro then
    loadstring(game:HttpGet("https://raw.githubusercontent.com/gObl00x/Stuff/refs/heads/main/Animator6D.lua"))()
    repeat task.wait() until getgenv().Animator6DLoadedPro
end

local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local RunService = game:GetService("RunService")

-- Load private model
local success, model = pcall(function()
    return game:GetObjects("rbxassetid://" .. PRIVATE_MODEL_ID)[1]
end)
if not success or not model then error("Failed to load private model: "..PRIVATE_MODEL_ID) end

-- Scan all KeyframeSequences
local AllKFSeq = {}
local function scan(obj, path)
    if obj:IsA("KeyframeSequence") then
        table.insert(AllKFSeq, {Name = obj.Name, KFSeq = obj})
        print("Found:", obj.Name)
    end
    for _, child in pairs(obj:GetChildren()) do
        scan(child, path .. child.Name .. ".")
    end
end
scan(model, "")

if #AllKFSeq == 0 then error("No animations!") end

-- Auto assign
local IdleKF = AllKFSeq[1].KFSeq
local WalkKF = AllKFSeq[1].KFSeq
local JumpKF = AllKFSeq[1].KFSeq
local SitKF  = AllKFSeq[1].KFSeq
local RunKF  = nil
local CrouchKF = nil

for _, anim in ipairs(AllKFSeq) do
    local n = anim.Name:lower()
    if n:find("run") or n:find("sprint") then RunKF = anim.KFSeq
    elseif n:find("crouch") or n:find("slide") then CrouchKF = anim.KFSeq
    elseif n:find("walk") and WalkKF == AllKFSeq[1].KFSeq then WalkKF = anim.KFSeq
    elseif n:find("jump") then JumpKF = anim.KFSeq
    elseif n:find("idle") then IdleKF = anim.KFSeq
    elseif n:find("sit") then SitKF = anim.KFSeq
    end
end

-- States
local RunMode = false
local CrouchMode = false
local currentAnim = nil

-- Play function (with forced stop + instant switch)
local function Play(kfseq, looped)
    if currentAnim == kfseq then return end
    getgenv().Animator6DStop()
    task.wait(0.03) -- tiny delay to prevent overlap
    getgenv().Animator6D(kfseq, 1, looped ~= false)
    currentAnim = kfseq
end

-- GUI Frame (draggable)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = Player:WaitForChild("PlayerGui")

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 180, 0, 190)
Frame.Position = UDim2.new(0, 20, 0.5, -95)
Frame.BackgroundTransparency = 0.3
Frame.BackgroundColor3 = Color3.fromRGB(20,20,20)
Frame.Parent = ScreenGui

-- Draggable
local dragging
Frame.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = true; i.Changed:Connect(function() if i.UserInputState == Enum.UserInputState.End then dragging = false end end) end end)
RunService.RenderStepped:Connect(function()
    if dragging and UserInputService:GetMouseLocation() then
        local delta = UserInputService:GetMouseLocation() - Frame.AbsolutePosition
        Frame.Position = UDim2.new(0, Frame.Position.X.Offset + delta.X, 0, Frame.Position.Y.Offset + delta.Y)
    end
end)

-- Crouch/Slide Button (Top)
local CrouchButton = nil
if CrouchKF then
    CrouchButton = Instance.new("TextButton")
    CrouchButton.Size = UDim2.new(1,0,0,50)
    CrouchButton.Position = UDim2.new(0,0,0,0)
    CrouchButton.BackgroundColor3 = Color3.fromRGB(255,100,100)
    CrouchButton.TextColor3 = Color3.new(1,1,1)
    CrouchButton.Font = Enum.Font.GothamBold
    CrouchButton.TextSize = 18
    CrouchButton.Text = "SLIDE/CROUCH: OFF"
    CrouchButton.Parent = Frame

    CrouchButton.MouseButton1Click:Connect(function()
        CrouchMode = not CrouchMode
        CrouchButton.Text = "SLIDE/CROUCH: " .. (CrouchMode and "ON" or "OFF")
        CrouchButton.BackgroundColor3 = CrouchMode and Color3.fromRGB(0,255,0) or Color3.fromRGB(255,100,100)
    end)
end

-- Run Button (Middle)
local RunButton = Instance.new("TextButton")
RunButton.Size = UDim2.new(1,0,0,60)
RunButton.Position = CrouchKF and UDim2.new(0,0,0,60) or UDim2.new(0,0,0,0)
RunButton.BackgroundColor3 = Color3.fromRGB(0,170,255)
RunButton.TextColor3 = Color3.new(1,1,1)
RunButton.Font = Enum.Font.GothamBold
RunButton.TextSize = 22
RunButton.Text = "RUN MODE: OFF"
RunButton.Parent = Frame

RunButton.MouseButton1Click:Connect(function()
    RunMode = not RunMode
    RunButton.Text = "RUN MODE: " .. (RunMode and "ON" or "OFF")
    RunButton.BackgroundColor3 = RunMode and Color3.fromRGB(0,255,0) or Color3.fromRGB(0,170,255)
end)

-- PERFECT IDLE FIX: Animation logic
RunService.RenderStepped:Connect(function()
    if not Character or not Character:FindFirstChild("Humanoid") then return end
    local hum = Humanoid
    local moving = hum.MoveDirection.Magnitude > 0
    local inAir = hum.FloorMaterial == Enum.Material.Air
    local sitting = hum.Sit

    -- Priority order (highest first)
    if sitting then
        Play(SitKF, true)

    elseif inAir then
        Play(JumpKF, false)

    elseif CrouchMode and CrouchKF then
        Play(CrouchKF, true)

    elseif RunMode and RunKF then
        Play(RunKF, true)

    elseif moving then
        Play(WalkKF, true)

    else
        -- YOU ARE STANDING STILL → FORCE IDLE (FIXED!)
        Play(IdleKF, true)
    end
end)

-- Respawn
Player.CharacterAdded:Connect(function(char)
    Character = char
    Humanoid = char:WaitForChild("Humanoid")
end)

game:GetService("StarterGui"):SetCore("SendNotification",{
    Title = "Anim Player by CrypticCoderX",
    Text = "This script detects If the model has a run or crouch or slide/walk/idle/jump anim",
    Duration = 12
})

print("IMAO")

Features & Information

This script detects if the model has a keyFrame and finds an animation Anim that can be detected: Run/idle/jump/walk/crouch/slide anims

Community Comments (2)

CrypticCoderxCrypticCoderxDec 13, 2025

So yeah it's just like g0bloox anim loader that loads anim but different scripts R6/R15 client sided Yes I know I love client sided scripts

CrypticCoderxCrypticCoderxDec 13, 2025

I already have the model I'd placed so u will get evade animations or u can put ur public/other people animation model id

More Scripts for Universal Scripts