
KeylessUniversal

-- RSS Style Celebration GUI -- R15 ONLY
local Players = game:GetService("Players")
local CAS = game:GetService("ContextActionService")
local Player = Players.LocalPlayer
-- 🔒 EVITA QUE SE DUPLIQUE
if Player:WaitForChild("PlayerGui"):FindFirstChild("RSSCelebrations") then
return
end
---------------------------------------------------
-- EMOTES
local Emotes = {
{ name = "Failed Backflip", id = 82250437555780 },
{ name = "Mbappe Celebration", id = 101032415365235 },
{ name = "FF LOL Laugh", id = 129709531895539 },
{ name = "Take The L", id = 133005847117851 },
{ name = "Fart", id = 85172385910433 },
{ name = "I See Kareem Dance", id = 100738069927436 },
{ name = "Druski Shuffle Dance", id = 108939580037531 },
{ name = "Pasito cumbia", id = 139816236849217 },
{ name = "Hakari Dance", id = 122147154162464 },
{ name = "Ronaldo Siuuu Celebration", id = 107447321843426 },
{ name = "Chinese Dance", id = 87149979837754 },
{ name = "Cholo Cumbia", id = 131035546452795 },
{ name = "Crazy", id = 120819498172771 },
{ name = "Default Dance OG", id = 80877772569772 },
{ name = "Tall Scary Creature", id = 79216795769647 },
{ name = "Zero Two Dance V2", id = 95385842020103 },
{ name = "Cute Sit", id = 87715072383313 },
{ name = "Gangnam Style", id = 80923445784018 },
}
---------------------------------------------------
-- GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "RSSCelebrations"
ScreenGui.ResetOnSpawn = false -- 🔥 NO DESAPARECE AL MORIR
ScreenGui.Parent = Player:WaitForChild("PlayerGui")
local Main = Instance.new("Frame")
Main.Size = UDim2.new(0,260,0,300)
Main.Position = UDim2.new(1,-280,0.5,-150)
Main.BackgroundColor3 = Color3.fromRGB(15,15,15)
Main.BorderSizePixel = 0
Main.Active = true
Main.Draggable = true
Main.Parent = ScreenGui
Instance.new("UICorner", Main).CornerRadius = UDim.new(0,12)
---------------------------------------------------
-- TITLE
local TopBar = Instance.new("Frame")
TopBar.Size = UDim2.new(1,0,0,35)
TopBar.BackgroundColor3 = Color3.fromRGB(25,25,25)
TopBar.BorderSizePixel = 0
TopBar.Parent = Main
Instance.new("UICorner", TopBar).CornerRadius = UDim.new(0,12)
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1,-35,1,0)
Title.Position = UDim2.new(0,8,0,0)
Title.BackgroundTransparency = 1
Title.Text = "Celebrations"
Title.TextColor3 = Color3.new(1,1,1)
Title.TextScaled = true
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = TopBar
local Close = Instance.new("TextButton")
Close.Size = UDim2.new(0,25,0,25)
Close.Position = UDim2.new(1,-30,0.5,-12)
Close.Text = "X"
Close.TextColor3 = Color3.new(1,1,1)
Close.BackgroundColor3 = Color3.fromRGB(170,0,0)
Close.TextScaled = true
Close.Parent = TopBar
Instance.new("UICorner", Close).CornerRadius = UDim.new(1,0)
Close.MouseButton1Click:Connect(function()
Main.Visible = false
end)
---------------------------------------------------
-- SCROLL
local Scroll = Instance.new("ScrollingFrame")
Scroll.Position = UDim2.new(0,8,0,40)
Scroll.Size = UDim2.new(1,-16,1,-48)
Scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
Scroll.ScrollBarThickness = 4
Scroll.BackgroundTransparency = 1
Scroll.Parent = Main
local Grid = Instance.new("UIGridLayout")
Grid.CellSize = UDim2.new(0,75,0,75)
Grid.CellPadding = UDim2.new(0,6,0,6)
Grid.Parent = Scroll
---------------------------------------------------
-- PLAY EMOTE
local function PlayEmote(name,id)
local Character = Player.Character
if not Character then return end
local Humanoid = Character:FindFirstChildOfClass("Humanoid")
if not Humanoid then return end
local Desc = Humanoid:FindFirstChildOfClass("HumanoidDescription")
if not Desc then
Desc = Instance.new("HumanoidDescription")
Desc.Parent = Humanoid
end
local success = pcall(function()
Humanoid:PlayEmoteAndGetAnimTrackById(id)
end)
if not success then
Desc:AddEmote(name,id)
Humanoid:PlayEmoteAndGetAnimTrackById(id)
end
end
---------------------------------------------------
-- BOTONES
for _,emote in pairs(Emotes) do
local Button = Instance.new("ImageButton")
Button.Size = UDim2.new(0,75,0,75)
Button.BackgroundColor3 = Color3.fromRGB(35,35,35)
Button.BorderSizePixel = 0
Button.Image = "rbxthumb://type=Asset&id="..emote.id.."&w=150&h=150"
Button.Parent = Scroll
Instance.new("UICorner", Button).CornerRadius = UDim.new(0,10)
local Label = Instance.new("TextLabel")
Label.Size = UDim2.new(1,0,1,0)
Label.BackgroundTransparency = 0.4
Label.BackgroundColor3 = Color3.fromRGB(0,0,0)
Label.Text = "<b>"..emote.name.."</b>"
Label.RichText = true
Label.TextScaled = true
Label.TextColor3 = Color3.new(1,1,1)
Label.Font = Enum.Font.GothamBold
Label.Parent = Button
Instance.new("UICorner", Label).CornerRadius = UDim.new(0,10)
Button.MouseButton1Click:Connect(function()
PlayEmote(emote.name, emote.id)
end)
end
---------------------------------------------------
-- TOGGLE PC
local function Toggle(_,state)
if state == Enum.UserInputState.Begin then
Main.Visible = not Main.Visible
end
end
CAS:BindAction("OpenRSSCelebrations", Toggle, false, Enum.KeyCode.Comma)
---------------------------------------------------
-- BOTON MOVIL
local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.new(0,45,0,45)
ToggleButton.Position = UDim2.new(1,-85,1,-150)
ToggleButton.BackgroundColor3 = Color3.fromRGB(20,20,20)
ToggleButton.Text = "🎉"
ToggleButton.TextScaled = true
ToggleButton.TextColor3 = Color3.new(1,1,1)
ToggleButton.Parent = ScreenGui
ToggleButton.Active = true
ToggleButton.Draggable = true
Instance.new("UICorner", ToggleButton).CornerRadius = UDim.new(1,0)
local isOpen = true
ToggleButton.MouseButton1Click:Connect(function()
isOpen = not isOpen
Main.Visible = isOpen
end)



good