emote animation menu
Key RequiredUniversal

emote animation menu

Universal ScriptEvil_fireEvil_fire 1.8K views 284 executesUpdated Feb 26, 2026
Unrated
00
Lua Script•107 lines (3432 chars)
local lp = game:GetService("Players").LocalPlayer
local pgui = lp:WaitForChild("PlayerGui")

-- Cleanup any old versions
if pgui:FindFirstChild("DeltaFinalRender") then pgui.DeltaFinalRender:Destroy() end

-- FIX: Parent the ScreenGui directly to pgui so it survives respawns
local sg = Instance.new("ScreenGui")
sg.Name = "DeltaFinalRender"
sg.Parent = pgui
sg.ResetOnSpawn = false -- This now works because it's not inside a folder
sg.ZIndexBehavior = Enum.ZIndexBehavior.Global

-- 1. THE OPEN BUTTON
local open = Instance.new("TextButton", sg)
open.Size = UDim2.new(0, 110, 0, 40)
open.Position = UDim2.new(1, -120, 0, 20)
open.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
open.BorderSizePixel = 2
open.BorderColor3 = Color3.new(1,1,1)
open.Text = "ANIM MENU"
open.TextColor3 = Color3.new(1, 1, 1)
open.TextScaled = true
open.Font = Enum.Font.SourceSansBold

-- 2. THE MENU FRAME
local frame = Instance.new("ScrollingFrame", sg)
frame.Size = UDim2.new(0, 160, 0, 300)
frame.Position = UDim2.new(1, -290, 0, 20)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.Visible = false
frame.BorderSizePixel = 2
frame.CanvasSize = UDim2.new(0, 0, 0, 580)
frame.ScrollBarThickness = 4

local list = Instance.new("UIListLayout", frame)
list.Padding = UDim.new(0, 5)
list.HorizontalAlignment = "Center"

-- 3. ANIMATION DATA (Your current list)
local anims = {
    {n = "Salute", id = "79094862"},
    {n = "Point", id = "287388049"},
    {n = "T-Pose", id = "188242481"},
    {n = "Happy?", id = "91346946"},
    {n = "Zombie", id = "183294396"},
    {n = "Shy", id = "247742499"},
    {n = "Slap", id = "75549420"},
    {n = "Wave", id = "128777973"},
    {n = "Cry", id = "180612465"},
    {n = "Enrage", id = "93648331"},
    {n = "Crouch", id = "287325678"},
    {n = "Arms Up", id = "165928826"}
}
local track = nil
local looped = false

-- 4. BUILD BUTTONS
for _, data in pairs(anims) do
    local b = Instance.new("TextButton", frame)
    b.Size = UDim2.new(0, 140, 0, 35)
    b.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    b.Text = data.n
    b.TextColor3 = Color3.new(1, 1, 1)
    b.TextScaled = true
    b.Font = Enum.Font.SourceSansBold

    b.Activated:Connect(function()
        local char = lp.Character
        local hum = char and char:FindFirstChildOfClass("Humanoid")
        if hum then
            if track then track:Stop() end
            local a = Instance.new("Animation")
            a.AnimationId = "rbxassetid://" .. data.id
            track = hum:LoadAnimation(a)
            track.Looped = looped
            track:Play()
        end
    end)
end

-- 5. UTILITY BUTTONS
local function createUtil(name, color)
    local b = Instance.new("TextButton", frame)
    b.Size = UDim2.new(0, 140, 0, 35)
    b.BackgroundColor3 = color
    b.Text = name
    b.TextColor3 = Color3.new(1, 1, 1)
    b.TextScaled = true
    b.Font = Enum.Font.SourceSansBold
    return b
end

local loopBtn = createUtil("LOOP: OFF", Color3.fromRGB(100, 40, 40))
loopBtn.Activated:Connect(function()
    looped = not looped
    loopBtn.Text = looped and "LOOP: ON" or "LOOP: OFF"
    loopBtn.BackgroundColor3 = looped and Color3.fromRGB(0, 150, 255) or Color3.fromRGB(100, 40, 40)
end)

local stopBtn = createUtil("STOP", Color3.fromRGB(150, 0, 0))
stopBtn.Activated:Connect(function() if track then track:Stop() end end)

-- 6. TOGGLE LOGIC
open.MouseButton1Click:Connect(function()
    frame.Visible = not frame.Visible
end)

Features & Information

(Emotes menu) try it urself

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts