
KeylessUniversal

--[[ WARNING: Use at your own risk ]]--
local PRIVATE_MODEL_ID = 114114602780711
-- SERVICES
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
-- PLAYER
local Player = Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
-- SPEED
local WALK_SPEED = 12
local RUN_SPEED = 26
-- SMOOTH
local SPEED_TRANSITION_TIME = 0.25
local MOVE_CONFIRM_DELAY = 0.12
local ANIM_COOLDOWN = 0.1
-- STATE
local RunMode = false
local UsingAbility = false
local currentAnim
local lastAnimTime = 0
local movingSince = 0
local speedTween
-- LOAD Animator6D
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
-- LOAD MODEL
local model = game:GetObjects("rbxassetid://" .. PRIVATE_MODEL_ID)[1]
assert(model, "Falha ao carregar modelo")
-- SCAN ANIMATIONS
local Animations = {}
local function scan(o)
if o:IsA("KeyframeSequence") then
table.insert(Animations, o)
end
for _, c in ipairs(o:GetChildren()) do
scan(c)
end
end
scan(model)
-- ASSIGN ANIMATIONS BY EXACT NAME (case insensitive)
local IdleKF, WalkKF, RunKF, JumpKF, SitKF
IdleKF = Animations[1]
WalkKF = Animations[1]
RunKF = Animations[1]
for _, a in ipairs(Animations) do
local n = a.Name:lower()
if n == "idle" then
IdleKF = a
elseif n == "walk" then
WalkKF = a
elseif n == "run" then
RunKF = a
elseif n:find("jump") then
JumpKF = a
elseif n:find("sit") then
SitKF = a
end
end
-- SPEED SMOOTH
local function SmoothSpeed(target)
if speedTween then
speedTween:Cancel()
end
speedTween = TweenService:Create(
Humanoid,
TweenInfo.new(SPEED_TRANSITION_TIME, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{WalkSpeed = target}
)
speedTween:Play()
end
local function ApplySpeed()
SmoothSpeed(RunMode and RUN_SPEED or WALK_SPEED)
end
-- PLAY
local function Play(kf, looped)
if currentAnim == kf then
return
end
if tick() - lastAnimTime < ANIM_COOLDOWN then
return
end
lastAnimTime = tick()
getgenv().Animator6DStop()
task.wait(0.03)
getgenv().Animator6D(kf, 1, looped ~= false)
currentAnim = kf
end
-- RUN MODE
local function SetRunMode(v)
RunMode = v
ApplySpeed()
end
-- SHIFT TOGGLE
UserInputService.InputBegan:Connect(function(i, gp)
if gp then
return
end
if i.KeyCode == Enum.KeyCode.LeftShift or i.KeyCode == Enum.KeyCode.RightShift then
SetRunMode(not RunMode)
end
end)
-- INITIAL SPEED
Humanoid.WalkSpeed = WALK_SPEED
------------------------------------------------
-- MOVEMENT SYSTEM
------------------------------------------------
RunService.RenderStepped:Connect(function()
if UsingAbility then
if Humanoid.MoveDirection.Magnitude > 0 then
UsingAbility = false
else
return
end
end
local moving = Humanoid.MoveDirection.Magnitude > 0
if Humanoid.Sit and SitKF then
Play(SitKF, true)
return
end
if Humanoid.FloorMaterial == Enum.Material.Air and JumpKF then
Play(JumpKF, false)
return
end
if moving then
if movingSince == 0 then
movingSince = tick()
end
if tick() - movingSince >= MOVE_CONFIRM_DELAY then
if RunMode and RunKF then
Play(RunKF, true)
else
Play(WalkKF, true)
end
end
else
movingSince = 0
Play(IdleKF, true)
end
end)
-- RESPAWN
Player.CharacterAdded:Connect(function(c)
Character = c
Humanoid = c:WaitForChild("Humanoid")
Humanoid.WalkSpeed = WALK_SPEED
end)



Very good script 👍
my bbg made another script 🥹
Wow it's a really COOL script but it has the same local private model as my script maybe its a remake or idk but I maybe am the first one to make a private model loader script:)
@CrypticCoderx I used your script to do this. I only made a few changes. Thank you very much