
KeylessUniversal

loadstring(game:HttpGet("https://raw.githubusercontent.com/LiarRise/FLN-X/refs/heads/main/README.md"))()
local player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local animations = {
WAVE = "rbxassetid://77304386644418",
FLICK = "rbxassetid://88992279344579",
SLAM = "rbxassetid://80401959620185",
COME = "rbxassetid://80499191946675",
OK = "rbxassetid://100188963456227",
SMACK = "rbxassetid://109018877712796"
}
local currentEmote
local moveTrack
local idleTrack
local walkTrack
local runTrack
-- CHARACTER SETUP
local function setup(char)
local humanoid = char:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
local animate = char:FindFirstChild("Animate")
if animate then animate.Disabled = true end
for _, t in ipairs(humanoid:GetPlayingAnimationTracks()) do
t:Stop()
end
-- IDLE
local idleAnim = Instance.new("Animation")
idleAnim.AnimationId = "rbxassetid://115339997830808"
idleTrack = animator:LoadAnimation(idleAnim)
idleTrack.Looped = true
-- WALK
local walkAnim = Instance.new("Animation")
walkAnim.AnimationId = "rbxassetid://126540738694429"
walkTrack = animator:LoadAnimation(walkAnim)
walkTrack.Looped = true
-- RUN
local runAnim = Instance.new("Animation")
runAnim.AnimationId = "rbxassetid://126540738694429"
runTrack = animator:LoadAnimation(runAnim)
runTrack.Looped = true
local current
local function playMove(track)
if currentEmote then return end
if current == track then return end
if current then current:Stop() end
current = track
current:Play()
end
humanoid.Running:Connect(function(speed)
if speed < 1 then
playMove(idleTrack)
elseif speed < 16 then
playMove(walkTrack)
else
playMove(runTrack)
end
end)
playMove(idleTrack)
end
player.CharacterAdded:Connect(setup)
if player.Character then setup(player.Character) end
-- GUI
local old = player.PlayerGui:FindFirstChild("Moveset")
if old then old:Destroy() end
local gui = Instance.new("ScreenGui")
gui.Name = "Moveset"
gui.ResetOnSpawn = false
gui.Parent = player.PlayerGui
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,180,0,160)
frame.Position = UDim2.new(1,-200,0.5,-80)
frame.BackgroundColor3 = Color3.fromRGB(15,15,15)
frame.BorderSizePixel = 2
frame.BorderColor3 = Color3.fromRGB(255,0,0)
frame.Active = true
frame.Parent = gui
Instance.new("UICorner", frame)
-- DRAG
local dragging, startPos, dragStart
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
startPos = frame.Position
dragStart = input.Position
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
UIS.InputChanged:Connect(function(input)
if dragging then
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
-- EMOTE
local function playEmote(id)
local char = player.Character
if not char then return end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
if currentEmote then
currentEmote:Stop()
currentEmote:Destroy()
end
-- stop movement while emoting
if idleTrack then idleTrack:Stop() end
if walkTrack then walkTrack:Stop() end
if runTrack then runTrack:Stop() end
local anim = Instance.new("Animation")
anim.AnimationId = id
currentEmote = humanoid:LoadAnimation(anim)
currentEmote.Priority = Enum.AnimationPriority.Action4
currentEmote.Looped = false
currentEmote:Play()
currentEmote.Stopped:Connect(function()
currentEmote = nil
-- resume movement
if humanoid.MoveDirection.Magnitude > 0 then
if walkTrack then walkTrack:Play() end
else
if idleTrack then idleTrack:Play() end
end
end)
end
-- BUTTONS
local buttons = {
{"WAVE",10,10},
{"FLICK",10,55},
{"SLAM",10,100},
{"COME",95,10},
{"OK",95,55},
{"SMACK",95,100}
}
for _, info in ipairs(buttons) do
local button = Instance.new("TextButton")
button.Size = UDim2.new(0,75,0,40)
button.Position = UDim2.new(0,info[2],0,info[3])
button.BackgroundColor3 = Color3.fromRGB(170,0,0)
button.TextColor3 = Color3.new(1,1,1)
button.TextScaled = true
button.Text = info[1]
button.Parent = frame
Instance.new("UICorner", button)
button.MouseButton1Click:Connect(function()
playEmote(animations[info[1]])
end)
end



Yo who the *k disliked my script
@GAMMER ion know cuh but js made an acc to say i really like this script
@Loyceross W