Brookhaven Fe Vip Emotes
Key Required

Brookhaven Fe Vip Emotes

Brookhaven 🏡RPGaze_Gaze_ 20.2K views 847 executesUpdated Jul 22, 2025
Unrated
00
Lua Script•194 lines (5629 chars)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "ToggleGUI"
gui.ResetOnSpawn = false

local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 270, 0, 230)
frame.Position = UDim2.new(0.5, -135, 0.5, -115)
frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true

local uipadding = Instance.new("UIPadding", frame)
uipadding.PaddingTop = UDim.new(0, 0)
uipadding.PaddingLeft = UDim.new(0, 10)
uipadding.PaddingRight = UDim.new(0, 10)
uipadding.PaddingBottom = UDim.new(0, 10)

local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1, -40, 0, 25)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundTransparency = 1
title.Text = "Vip Emotes lol"
title.TextColor3 = Color3.new(1,1,1)
title.TextXAlignment = Enum.TextXAlignment.Left
title.Font = Enum.Font.GothamBold
title.TextSize = 14

local closeBtn = Instance.new("TextButton", frame)
closeBtn.Size = UDim2.new(0, 20, 0, 20)
closeBtn.Position = UDim2.new(1, -25, 0, 3)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextColor3 = Color3.new(1, 0.3, 0.3)
closeBtn.TextSize = 12
closeBtn.BackgroundTransparency = 1

local minimizeBtn = Instance.new("TextButton", frame)
minimizeBtn.Size = UDim2.new(0, 20, 0, 20)
minimizeBtn.Position = UDim2.new(1, -45, 0, 3)
minimizeBtn.Text = "_"
minimizeBtn.Font = Enum.Font.GothamBold
minimizeBtn.TextColor3 = Color3.new(0.7, 0.7, 1)
minimizeBtn.TextSize = 14
minimizeBtn.BackgroundTransparency = 1

local scroll = Instance.new("ScrollingFrame", frame)
scroll.Size = UDim2.new(1, 0, 1, -35)
scroll.Position = UDim2.new(0, 0, 0, 30)
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
scroll.BackgroundTransparency = 1
scroll.ScrollBarThickness = 4

local layout = Instance.new("UIGridLayout", scroll)
layout.CellSize = UDim2.new(0, 70, 0, 30)
layout.CellPadding = UDim2.new(0, 6, 0, 6)
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.FillDirectionMaxCells = 3
layout.FillDirection = Enum.FillDirection.Horizontal

local toggles = {}
local currentActive = nil
local currentTrack = nil

local animations = {
	Lean = 114442287404310,
	["Blow Kiss"] = 108798393262707,
	Twirl = 111154065550513,
	Griddy = 94090358186461,
	Serving = 82247407333647,
	DuckWalk = 136836683270489,
	Deathdrop = 124584784356176,
}

local playAnimation = function(id)
	local animation = Instance.new("Animation")
	animation.AnimationId = "rbxassetid://" .. id
	local track = humanoid:LoadAnimation(animation)
	track.Looped = true
	track:Play()
	return track
end

local setActiveToggle = function(toggle, animId)
	for _, b in ipairs(toggles) do
		b.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	end
	if currentTrack then
		currentTrack:Stop()
		currentTrack:Destroy()
		currentTrack = nil
	end
	if toggle then
		toggle.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
		currentTrack = playAnimation(animId)
		currentActive = toggle
	else
		currentActive = nil
	end
end

local createToggle = function(name, layoutOrder, animId)
	local button = Instance.new("TextButton")
	button.Size = UDim2.new(0, 70, 0, 30)
	button.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
	button.TextColor3 = Color3.new(1, 1, 1)
	button.Font = Enum.Font.GothamSemibold
	button.TextSize = 12
	button.Text = name
	button.Name = name
	button.LayoutOrder = layoutOrder
	button.Parent = scroll
	toggles[#toggles + 1] = button
	button.MouseButton1Click:Connect(function()
		if currentActive == button then
			setActiveToggle(nil)
		else
			setActiveToggle(button, animId)
		end
	end)
end

local setupToggles = function()
	local order = 1
	for name, id in pairs(animations) do
		createToggle(name, order, id)
		order += 1
	end
end

local updateCanvasSize = function()
	scroll.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 10)
end

local createConfirmPopup = function()
	local confirm = Instance.new("Frame", gui)
	confirm.Size = UDim2.new(0, 200, 0, 100)
	confirm.Position = UDim2.new(0.5, -100, 0.5, -50)
	confirm.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
	confirm.BorderSizePixel = 0

	local label = Instance.new("TextLabel", confirm)
	label.Size = UDim2.new(1, 0, 0, 40)
	label.Position = UDim2.new(0, 0, 0, 0)
	label.Text = "Are you sure?"
	label.TextColor3 = Color3.new(1,1,1)
	label.Font = Enum.Font.GothamBold
	label.TextSize = 14
	label.BackgroundTransparency = 1

	local yes = Instance.new("TextButton", confirm)
	yes.Size = UDim2.new(0.5, -5, 0, 30)
	yes.Position = UDim2.new(0, 5, 1, -35)
	yes.Text = "Yes"
	yes.Font = Enum.Font.GothamSemibold
	yes.TextColor3 = Color3.new(0,1,0)
	yes.TextSize = 14
	yes.BackgroundColor3 = Color3.fromRGB(20, 20, 20)

	local no = Instance.new("TextButton", confirm)
	no.Size = UDim2.new(0.5, -5, 0, 30)
	no.Position = UDim2.new(0.5, 0, 1, -35)
	no.Text = "No"
	no.Font = Enum.Font.GothamSemibold
	no.TextColor3 = Color3.new(1,0.3,0.3)
	no.TextSize = 14
	no.BackgroundColor3 = Color3.fromRGB(20, 20, 20)

	yes.MouseButton1Click:Connect(function()
		gui:Destroy()
	end)

	no.MouseButton1Click:Connect(function()
		confirm:Destroy()
	end)
end

closeBtn.MouseButton1Click:Connect(function()
	createConfirmPopup()
end)

local isMinimized = false
minimizeBtn.MouseButton1Click:Connect(function()
	isMinimized = not isMinimized
	scroll.Visible = not isMinimized
	frame.Size = isMinimized and UDim2.new(0, 270, 0, 40) or UDim2.new(0, 270, 0, 230)
end)

setupToggles()
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(updateCanvasSize)

Features & Information

So yeah, play vip emotes animation toggleable

Community Comments (2)

amelokcikamelokcikJul 22, 2025

real work and NO visual

DefyzDefyzJul 22, 2025(edited)

Cl

More Scripts for Brookhaven 🏡RP