
KeylessUniversal

local player = game.Players.LocalPlayer
local function setup(char)
local humanoid = char:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- stop default animate script
local animate = char:FindFirstChild("Animate")
if animate then
animate.Disabled = true
end
-- stop all existing tracks
for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
track:Stop()
end
-- animation IDs
local IDLE = "rbxassetid://115339997830808"
local WALK = "rbxassetid://126540738694429"
local RUN = "rbxassetid://126540738694429"
-- load animations ONCE
local idleAnim = Instance.new("Animation")
idleAnim.AnimationId = IDLE
local idleTrack = animator:LoadAnimation(idleAnim)
idleTrack.Looped = true
local walkAnim = Instance.new("Animation")
walkAnim.AnimationId = WALK
local walkTrack = animator:LoadAnimation(walkAnim)
walkTrack.Looped = true
local runAnim = Instance.new("Animation")
runAnim.AnimationId = RUN
local runTrack = animator:LoadAnimation(runAnim)
runTrack.Looped = true
local current = nil
local function play(track)
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
play(idleTrack)
elseif speed < 16 then
play(walkTrack)
else
play(runTrack)
end
end)
play(idleTrack)
end
player.CharacterAdded:Connect(setup)
if player.Character then
setup(player.Character)
end
local player = game.Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "CombatGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local player = game.Players.LocalPlayer
local animations = {
WAVE = "rbxassetid://YOUR_WAVE_ID",
CLICK = "rbxassetid://YOUR_CLICK_ID",
SLAM = "rbxassetid://YOUR_SLAM_ID"
}
local currentTrack
local function playAnimation(animId)
local character = player.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
if not humanoid then return end
-- Stop previous emote only
if currentTrack then
currentTrack:Stop()
currentTrack:Destroy()
end
local animation = Instance.new("Animation")
animation.AnimationId = animId
currentTrack = humanoid:LoadAnimation(animation)
currentTrack.Priority = Enum.AnimationPriority.Action4
currentTrack.Looped = true
currentTrack:Play()
end
local gui = Instance.new("ScreenGui")
gui.Name = "EmoteGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,170,0,190)
frame.Position = UDim2.new(1,-190,0.5,-140) -- higher on right side
frame.BackgroundColor3 = Color3.fromRGB(20,20,20)
frame.BorderSizePixel = 2
frame.BorderColor3 = Color3.fromRGB(255,0,0)
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.Parent = frame
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0,10)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
layout.VerticalAlignment = Enum.VerticalAlignment.Center
layout.Parent = frame
for name, id in pairs(animations) do
local button = Instance.new("TextButton")
button.Size = UDim2.new(0,150,0,45)
button.Text = name
button.TextScaled = true
button.BackgroundColor3 = Color3.fromRGB(140,0,0)
button.TextColor3 = Color3.new(1,1,1)
button.Parent = frame
local buttonCorner = Instance.new("UICorner")
buttonCorner.Parent = button
button.MouseButton1Click:Connect(function()
playAnimation(id)
end)
end
local player = game.Players.LocalPlayer
local animations = {
WAVE = "rbxassetid://77304386644418",
FLICK = "rbxassetid://88992279344579",
SLAM = "rbxassetid://80401959620185"
}
local currentTrack
local gui = Instance.new("ScreenGui")
gui.Name = "Emotes"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,180,0,200)
frame.Position = UDim2.new(1,-200,0.5,-150)
frame.BackgroundColor3 = Color3.fromRGB(15,15,15)
frame.BorderSizePixel = 2
frame.BorderColor3 = Color3.fromRGB(255,0,0)
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,10)
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0,10)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
layout.VerticalAlignment = Enum.VerticalAlignment.Center
layout.Parent = frame
local function playEmote(animId)
local character = player.Character
if not character then return end
local humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
if currentTrack then
currentTrack:Stop()
currentTrack:Destroy()
currentTrack = nil
end
local animation = Instance.new("Animation")
animation.AnimationId = animId
local track = humanoid:LoadAnimation(animation)
track.Priority = Enum.AnimationPriority.Action4
track.Looped = false
currentTrack = track
track:Play()
track.Stopped:Connect(function()
if currentTrack == track then
currentTrack = nil
end
end)
end
for _, name in ipairs({"WAVE","FLICK","SLAM"}) do
local button = Instance.new("TextButton")
button.Size = UDim2.new(0,160,0,45)
button.BackgroundColor3 = Color3.fromRGB(170,0,0)
button.TextColor3 = Color3.new(1,1,1)
button.TextScaled = true
button.Text = name
button.Parent = frame
Instance.new("UICorner", button).CornerRadius = UDim.new(0,8)
button.MouseButton1Click:Connect(function()
playEmote(animations[name])
end)
end



Fuccck u niiga
@GAMMER can you please put this into a load string because I have trouble copy pasting this.
@oskaremailshort why what happened?