fe ultimate emote GUI V1 made by adam_slayer (R15)
Key RequiredUniversal

fe ultimate emote GUI V1 made by adam_slayer (R15)

Universal Scriptidk_toscriptsidk_toscripts 222 views 90 executesUpdated Oct 4, 2026
Unrated
00
Lua Script•464 lines (12373 chars)
--[[
    Ultimate Emote Hub V1
    R15 Emote GUI
    Mobile / Tablet / PC
    Single-file Lua
]]

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")

local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")

--// R15 CHECK
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")

if Humanoid.RigType ~= Enum.HumanoidRigType.R15 then
    warn("Ultimate Emote Hub: Bu GUI R15 karakterler için tasarlanmıştır.")
end

--// CLEAN OLD GUI
local old = PlayerGui:FindFirstChild("UltimateEmoteHubV1")
if old then
    old:Destroy()
end

--// SETTINGS
local CurrentTheme = Color3.fromRGB(30, 30, 38)
local Accent = Color3.fromRGB(0, 170, 255)
local CurrentTrack = nil

--// EMOTE LIST
-- Roblox katalog emote asset ID'lerini buraya ekleyebilirsin.
local Emotes = {
    {Name = "Wave", ID = 507770239},
    {Name = "Point", ID = 507770453},
    {Name = "Laugh", ID = 507770818},
    {Name = "Cheer", ID = 507770677},
    {Name = "Dance 1", ID = 507771019},
    {Name = "Dance 2", ID = 507776043},
    {Name = "Dance 3", ID = 507777268},
    {Name = "Salute", ID = 3360689775},
    {Name = "Shrug", ID = 3576968026},
    {Name = "Tilt", ID = 3360692915},
}

--// SCREEN GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "UltimateEmoteHubV1"
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = true
ScreenGui.Parent = PlayerGui

--// OPEN BUTTON
local OpenButton = Instance.new("TextButton")
OpenButton.Name = "OpenButton"
OpenButton.Size = UDim2.new(0, 55, 0, 55)
OpenButton.Position = UDim2.new(0, 20, 0.5, -27)
OpenButton.BackgroundColor3 = Accent
OpenButton.Text = "🎭"
OpenButton.TextSize = 27
OpenButton.Font = Enum.Font.GothamBold
OpenButton.TextColor3 = Color3.new(1,1,1)
OpenButton.Visible = false
OpenButton.Parent = ScreenGui

local OpenCorner = Instance.new("UICorner")
OpenCorner.CornerRadius = UDim.new(1,0)
OpenCorner.Parent = OpenButton

--// MAIN FRAME
local Main = Instance.new("Frame")
Main.Name = "Main"
Main.Size = UDim2.new(0, 420, 0, 500)
Main.Position = UDim2.new(0.5, -210, 0.5, -250)
Main.BackgroundColor3 = CurrentTheme
Main.BorderSizePixel = 0
Main.Parent = ScreenGui

local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 16)
MainCorner.Parent = Main

--// STROKE
local Stroke = Instance.new("UIStroke")
Stroke.Color = Accent
Stroke.Thickness = 2
Stroke.Parent = Main

--// TITLE BAR
local Top = Instance.new("Frame")
Top.Size = UDim2.new(1, 0, 0, 58)
Top.BackgroundColor3 = Color3.fromRGB(22,22,29)
Top.BorderSizePixel = 0
Top.Parent = Main

local TopCorner = Instance.new("UICorner")
TopCorner.CornerRadius = UDim.new(0,16)
TopCorner.Parent = Top

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -120, 1, 0)
Title.Position = UDim2.new(0, 18, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "🎭 Ultimate Emote Hub"
Title.TextColor3 = Color3.new(1,1,1)
Title.TextSize = 20
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Top

local Version = Instance.new("TextLabel")
Version.Size = UDim2.new(1, -120, 0, 18)
Version.Position = UDim2.new(0, 19, 0, 34)
Version.BackgroundTransparency = 1
Version.Text = "R15 • V1"
Version.TextColor3 = Color3.fromRGB(160,160,170)
Version.TextSize = 11
Version.Font = Enum.Font.Gotham
Version.TextXAlignment = Enum.TextXAlignment.Left
Version.Parent = Top

--// CLOSE
local Close = Instance.new("TextButton")
Close.Size = UDim2.new(0, 42, 0, 42)
Close.Position = UDim2.new(1, -50, 0, 8)
Close.BackgroundColor3 = Color3.fromRGB(180,55,65)
Close.Text = "×"
Close.TextSize = 28
Close.TextColor3 = Color3.new(1,1,1)
Close.Font = Enum.Font.GothamBold
Close.Parent = Top

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0,10)
CloseCorner.Parent = Close

--// SEARCH
local Search = Instance.new("TextBox")
Search.Size = UDim2.new(1, -30, 0, 42)
Search.Position = UDim2.new(0, 15, 0, 72)
Search.BackgroundColor3 = Color3.fromRGB(42,42,52)
Search.PlaceholderText = "🔎  Emote ara..."
Search.PlaceholderColor3 = Color3.fromRGB(150,150,160)
Search.Text = ""
Search.TextColor3 = Color3.new(1,1,1)
Search.TextSize = 14
Search.Font = Enum.Font.Gotham
Search.ClearTextOnFocus = false
Search.Parent = Main

local SearchCorner = Instance.new("UICorner")
SearchCorner.CornerRadius = UDim.new(0,10)
SearchCorner.Parent = Search

--// STOP BUTTON
local Stop = Instance.new("TextButton")
Stop.Size = UDim2.new(1, -30, 0, 40)
Stop.Position = UDim2.new(0, 15, 1, -55)
Stop.BackgroundColor3 = Color3.fromRGB(180,65,70)
Stop.Text = "⏹  Emote Durdur"
Stop.TextColor3 = Color3.new(1,1,1)
Stop.TextSize = 14
Stop.Font = Enum.Font.GothamBold
Stop.Parent = Main

local StopCorner = Instance.new("UICorner")
StopCorner.CornerRadius = UDim.new(0,10)
StopCorner.Parent = Stop

--// SCROLL
local Scroll = Instance.new("ScrollingFrame")
Scroll.Name = "EmoteList"
Scroll.Size = UDim2.new(1, -30, 1, -175)
Scroll.Position = UDim2.new(0, 15, 0, 125)
Scroll.BackgroundTransparency = 1
Scroll.BorderSizePixel = 0
Scroll.ScrollBarThickness = 5
Scroll.CanvasSize = UDim2.new(0,0,0,0)
Scroll.Parent = Main

local Layout = Instance.new("UIListLayout")
Layout.Padding = UDim.new(0,8)
Layout.SortOrder = Enum.SortOrder.LayoutOrder
Layout.Parent = Scroll

local Padding = Instance.new("UIPadding")
Padding.PaddingBottom = UDim.new(0,8)
Padding.Parent = Scroll

--// PLAY EMOTE
local function PlayEmote(id)
    if CurrentTrack then
        pcall(function()
            CurrentTrack:Stop()
            CurrentTrack:Destroy()
        end)
        CurrentTrack = nil
    end

    Character = Player.Character or Player.CharacterAdded:Wait()
    Humanoid = Character:FindFirstChildOfClass("Humanoid")

    if not Humanoid then
        return
    end

    if Humanoid.RigType ~= Enum.HumanoidRigType.R15 then
        warn("R15 karakter gerekli.")
        return
    end

    local Animator = Humanoid:FindFirstChildOfClass("Animator")

    if not Animator then
        Animator = Instance.new("Animator")
        Animator.Parent = Humanoid
    end

    local Animation = Instance.new("Animation")
    Animation.AnimationId = "rbxassetid://" .. tostring(id)

    local success, track = pcall(function()
        return Animator:LoadAnimation(Animation)
    end)

    if success and track then
        CurrentTrack = track
        CurrentTrack.Looped = true
        CurrentTrack.Priority = Enum.AnimationPriority.Action
        CurrentTrack:Play()
    end
end

--// CREATE BUTTON
local function CreateEmoteButton(emote)
    local Button = Instance.new("TextButton")
    Button.Size = UDim2.new(1, -5, 0, 48)
    Button.BackgroundColor3 = Color3.fromRGB(42,42,52)
    Button.Text = "🕺  " .. emote.Name
    Button.TextColor3 = Color3.new(1,1,1)
    Button.TextSize = 14
    Button.Font = Enum.Font.GothamSemibold
    Button.AutoButtonColor = true
    Button.Parent = Scroll

    local Corner = Instance.new("UICorner")
    Corner.CornerRadius = UDim.new(0,10)
    Corner.Parent = Button

    Button.MouseButton1Click:Connect(function()
        PlayEmote(emote.ID)
    end)

    -- Touch desteği
    Button.TouchTap:Connect(function()
        PlayEmote(emote.ID)
    end)
end

--// REFRESH LIST
local function RefreshList()
    for _, child in ipairs(Scroll:GetChildren()) do
        if child:IsA("TextButton") then
            child:Destroy()
        end
    end

    local query = string.lower(Search.Text)

    for _, emote in ipairs(Emotes) do
        if query == "" or string.find(string.lower(emote.Name), query, 1, true) then
            CreateEmoteButton(emote)
        end
    end

    task.wait()

    Scroll.CanvasSize = UDim2.new(
        0,
        0,
        0,
        Layout.AbsoluteContentSize.Y + 10
    )
end

RefreshList()

Search:GetPropertyChangedSignal("Text"):Connect(RefreshList)

--// STOP
Stop.MouseButton1Click:Connect(function()
    if CurrentTrack then
        pcall(function()
            CurrentTrack:Stop()
            CurrentTrack:Destroy()
        end)
        CurrentTrack = nil
    end
end)

Stop.TouchTap:Connect(function()
    if CurrentTrack then
        pcall(function()
            CurrentTrack:Stop()
            CurrentTrack:Destroy()
        end)
        CurrentTrack = nil
    end
end)

--// CLOSE / OPEN
Close.MouseButton1Click:Connect(function()
    Main.Visible = false
    OpenButton.Visible = true
end)

Close.TouchTap:Connect(function()
    Main.Visible = false
    OpenButton.Visible = true
end)

OpenButton.MouseButton1Click:Connect(function()
    Main.Visible = true
    OpenButton.Visible = false
end)

OpenButton.TouchTap:Connect(function()
    Main.Visible = true
    OpenButton.Visible = false
end)

--// DRAG SYSTEM
local dragging = false
local dragStart
local startPos

Top.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1
        or input.UserInputType == Enum.UserInputType.Touch then

        dragging = true
        dragStart = input.Position
        startPos = Main.Position

        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and (
        input.UserInputType == Enum.UserInputType.MouseMovement
        or input.UserInputType == Enum.UserInputType.Touch
    ) then

        local delta = input.Position - dragStart

        Main.Position = UDim2.new(
            startPos.X.Scale,
            startPos.X.Offset + delta.X,
            startPos.Y.Scale,
            startPos.Y.Offset + delta.Y
        )
    end
end)

--// THEME BUTTON
local ThemeButton = Instance.new("TextButton")
ThemeButton.Size = UDim2.new(0, 42, 0, 42)
ThemeButton.Position = UDim2.new(1, -100, 0, 8)
ThemeButton.BackgroundColor3 = Accent
ThemeButton.Text = "🎨"
ThemeButton.TextSize = 20
ThemeButton.Font = Enum.Font.GothamBold
ThemeButton.TextColor3 = Color3.new(1,1,1)
ThemeButton.Parent = Top

local ThemeCorner = Instance.new("UICorner")
ThemeCorner.CornerRadius = UDim.new(0,10)
ThemeCorner.Parent = ThemeButton

--// THEME MENU
local ThemeMenu = Instance.new("Frame")
ThemeMenu.Size = UDim2.new(0, 210, 0, 245)
ThemeMenu.Position = UDim2.new(1, 8, 0, 60)
ThemeMenu.BackgroundColor3 = Color3.fromRGB(28,28,35)
ThemeMenu.Visible = false
ThemeMenu.ZIndex = 20
ThemeMenu.Parent = Main

local ThemeMenuCorner = Instance.new("UICorner")
ThemeMenuCorner.CornerRadius = UDim.new(0,12)
ThemeMenuCorner.Parent = ThemeMenu

local ThemeTitle = Instance.new("TextLabel")
ThemeTitle.Size = UDim2.new(1,0,0,40)
ThemeTitle.BackgroundTransparency = 1
ThemeTitle.Text = "🎨 Tema"
ThemeTitle.TextColor3 = Color3.new(1,1,1)
ThemeTitle.TextSize = 16
ThemeTitle.Font = Enum.Font.GothamBold
ThemeTitle.ZIndex = 21
ThemeTitle.Parent = ThemeMenu

local Themes = {
    {"🔵", Color3.fromRGB(0,170,255)},
    {"🟣", Color3.fromRGB(150,70,255)},
    {"🟢", Color3.fromRGB(50,200,100)},
    {"🔴", Color3.fromRGB(230,60,70)},
    {"🟠", Color3.fromRGB(255,140,40)},
    {"🩷", Color3.fromRGB(255,80,170)},
    {"🩵", Color3.fromRGB(70,210,220)},
    {"⚪", Color3.fromRGB(230,230,230)},
}

for i, data in ipairs(Themes) do
    local Button = Instance.new("TextButton")

    local row = math.floor((i-1)/4)
    local col = (i-1)%4

    Button.Size = UDim2.new(0,40,0,40)
    Button.Position = UDim2.new(0,10 + col*48,0,48 + row*48)
    Button.BackgroundColor3 = data[2]
    Button.Text = data[1]
    Button.TextSize = 18
    Button.ZIndex = 21
    Button.Parent = ThemeMenu

    local C = Instance.new("UICorner")
    C.CornerRadius = UDim.new(0,9)
    C.Parent = Button

    Button.MouseButton1Click:Connect(function()
        Accent = data[2]
        Stroke.Color = Accent
        ThemeButton.BackgroundColor3 = Accent
        OpenButton.BackgroundColor3 = Accent
        ThemeMenu.Visible = false
    end)
end

ThemeButton.MouseButton1Click:Connect(function()
    ThemeMenu.Visible = not ThemeMenu.Visible
end)

ThemeButton.TouchTap:Connect(function()
    ThemeMenu.Visible = not ThemeMenu.Visible
end)

--// RESPAWN SUPPORT
Player.CharacterAdded:Connect(function(char)
    Character = char
    Humanoid = char:WaitForChild("Humanoid")

    CurrentTrack = nil
end)

print("Ultimate Emote Hub V1 loaded successfully.")

Features & Information

pls like this (ORIGINAL SCRIPT NOT COPIED)

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts