World cup hub
Key Required

World cup hub

Steal a Brainrotessa2014qaessa2014qa 4K views 192 executesUpdated Oct 8, 2025
Unrated
00
Lua Script•194 lines (5606 chars)
-- WorldCupGUI v2 (Draggable Version)
-- Place in StarterGui (LocalScript)

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

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Helper to make instances
local function new(class, props)
	local obj = Instance.new(class)
	for k, v in pairs(props or {}) do
		if k == "Parent" then
			obj.Parent = v
		else
			obj[k] = v
		end
	end
	return obj
end

-- Root GUI
local gui = new("ScreenGui", {
	Name = "WorldCupGUI",
	Parent = playerGui,
	ResetOnSpawn = false
})

-- Main frame
local main = new("Frame", {
	Parent = gui,
	Size = UDim2.new(0, 280, 0, 200),
	Position = UDim2.new(0.5, -140, 0.4, -100),
	BackgroundColor3 = Color3.fromRGB(140, 10, 10),
	BorderSizePixel = 0
})
new("UICorner", {Parent = main, CornerRadius = UDim.new(0, 14)})
new("UIStroke", {Parent = main, Color = Color3.fromRGB(255, 70, 70), Thickness = 1.4})
local grad = new("UIGradient", {Parent = main, Rotation = 90})
grad.Color = ColorSequence.new{
	ColorSequenceKeypoint.new(0, Color3.fromRGB(200, 30, 30)),
	ColorSequenceKeypoint.new(1, Color3.fromRGB(70, 5, 5))
}

-- ✅ DRAGGABLE SYSTEM (Smooth + Works on All Frames)
local dragging = false
local dragStart, startPos

local function update(input)
	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

main.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 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 input.UserInputType == Enum.UserInputType.MouseMovement and dragging then
		update(input)
	end
end)

-- Title
local title = new("TextLabel", {
	Parent = main,
	Size = UDim2.new(1, 0, 0, 32),
	BackgroundTransparency = 1,
	Text = "🌍 WORLD CUP",
	Font = Enum.Font.GothamBlack,
	TextSize = 20,
	TextColor3 = Color3.fromRGB(255, 245, 240)
})

-- Open button
local openBtn = new("TextButton", {
	Parent = gui,
	Size = UDim2.new(0, 120, 0, 40),
	Position = UDim2.new(0.5, -60, 0.25, 0),
	Text = "Open",
	Font = Enum.Font.GothamBold,
	TextSize = 18,
	TextColor3 = Color3.new(1, 1, 1),
	BackgroundColor3 = Color3.fromRGB(60, 10, 10)
})
new("UICorner", {Parent = openBtn, CornerRadius = UDim.new(0, 10)})
new("UIStroke", {Parent = openBtn, Color = Color3.fromRGB(255, 80, 80), Thickness = 1.5})

main.Visible = false

openBtn.MouseButton1Click:Connect(function()
	main.Visible = not main.Visible
	if main.Visible then
		StarterGui:SetCore("SendNotification", {
			Title = "World Cup",
			Text = "Good luck bro!",
			Duration = 4
		})
	end
end)

-- Buttons layout
local layout = new("UIListLayout", {
	Parent = main,
	HorizontalAlignment = Enum.HorizontalAlignment.Center,
	VerticalAlignment = Enum.VerticalAlignment.Center,
	Padding = UDim.new(0, 6)
})

layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
	main.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y)
end)

-- Function to make styled buttons
local function createButton(name, color)
	local b = new("TextButton", {
		Parent = main,
		Size = UDim2.new(0, 180, 0, 34),
		BackgroundColor3 = color or Color3.fromRGB(170, 20, 20),
		Text = name,
		Font = Enum.Font.GothamBold,
		TextSize = 16,
		TextColor3 = Color3.new(1, 1, 1)
	})
	new("UICorner", {Parent = b, CornerRadius = UDim.new(0, 8)})
	new("UIStroke", {Parent = b, Color = Color3.fromRGB(255, 100, 100), Thickness = 1})
	return b
end

-- Water Teleport
local waterBtn = createButton("💧 Water Teleport", Color3.fromRGB(0, 90, 200))
waterBtn.MouseButton1Click:Connect(function()
	local char = player.Character
	if char and char:FindFirstChild("HumanoidRootPart") then
		char:FindFirstChild("HumanoidRootPart").CFrame += Vector3.new(0, 50, 0)
	end
end)

-- Set position
local customPos = nil
local setPosBtn = createButton("📍 Set Teleport Position", Color3.fromRGB(180, 50, 20))
setPosBtn.MouseButton1Click:Connect(function()
	local char = player.Character
	if char and char:FindFirstChild("HumanoidRootPart") then
		customPos = char:FindFirstChild("HumanoidRootPart").Position
		StarterGui:SetCore("SendNotification", {
			Title = "Teleport Position Saved!",
			Text = string.format("X: %d Y: %d Z: %d", customPos.X, customPos.Y, customPos.Z),
			Duration = 3
		})
	end
end)

-- Teleport once
local tpOnceBtn = createButton("⚡ Teleport Once", Color3.fromRGB(200, 40, 40))
tpOnceBtn.MouseButton1Click:Connect(function()
	if customPos then
		local char = player.Character
		if char and char:FindFirstChild("HumanoidRootPart") then
			char:FindFirstChild("HumanoidRootPart").CFrame = CFrame.new(customPos)
		end
	end
end)

-- Auto spam teleport
local spamBtn = createButton("🔁 Auto Spam Teleport: OFF", Color3.fromRGB(160, 20, 20))
local spamming = false
spamBtn.MouseButton1Click:Connect(function()
	spamming = not spamming
	spamBtn.Text = spamming and "🔁 Auto Spam Teleport: ON" or "🔁 Auto Spam Teleport: OFF"
	if spamming then
		task.spawn(function()
			while spamming do
				local char = player.Character
				if char and char:FindFirstChild("HumanoidRootPart") and customPos then
					char:FindFirstChild("HumanoidRootPart").CFrame = CFrame.new(customPos)
				end
				task.wait(0.25)
			end
		end)
	end
end)

Features & Information

Anti hit may be addded it is to hard but we are tyring

Community Comments (1)

VapourXVapourXOct 8, 2025

Owner dm - x86h (on discord) I have a request for which I can pay you money

More Scripts for Steal a Brainrot