All abuse
ð āļĢāļ°āļāļāđāļāļāļĄิāļ Global Event (GUI/F2) āļŠāļģāļŦāļĢัāļ Roblox
āļĢāļ°āļāļāļี้āļāļุāļāļēāļāđāļŦ้āđāļāļāļĄิāļ (**sannnn5302** āđāļĨāļ° prim233510) āđāļิāļāđāļ้āļāļēāļāļีāđāļ§āļāļ์āļั่āļ§āļั้āļāđāļิāļĢ์āļāđāļ§āļāļĢ์āđāļ้āļ่āļēāļāļāļēāļĢāļāļāļุ่āļĄ **F2** āļŦāļĢืāļāđāļĄāļู GUI āđāļ่āļēāļั้āļ (āļĒāļāđāļĨิāļāļāļēāļĢāđāļ้āļāļģāļŠั่āļāđāļāļ)
ð ️ Part 1: āļāļēāļĢāļั้āļāļ่āļēāļี่āļāļģāđāļ็āļ
āļ่āļāļāđāļิ่āļĄāđāļ้āļ āđāļŦ้āļŠāļĢ้āļēāļāđāļĨāļ°āļั้āļāļ่āļēāļ§ัāļāļุāđāļŦāļĨ่āļēāļี้āđāļ Explorer:
- **
RemoteEventāļื่āļDiscoTrigger** (āđāļReplicatedStorage): āđāļ้āļŠāļģāļŦāļĢัāļ Server → Client (āđāļ้āļāđāļืāļāļāđāļŦāļุāļāļēāļĢāļ์) - **
RemoteEventāļื่āļAdminCommandEvent** (āđāļReplicatedStorage): **<<< RemoteEvent āđāļŦāļĄ่!** āđāļ้āļŠāļģāļŦāļĢัāļ Client → Server (āļŠ่āļāļāļģāļŠั่āļāļāļēāļ GUI) - **
Partāļื่āļDiscoFloor** (āđāļWorkspace) - **
Soundāļื่āļDiscoMusic** (āđāļReplicatedStorage): SoundId:rbxassetid://142376088 - **
Soundāļื่āļUnderwaterAmbiance** (āđāļReplicatedStorage): SoundId:rbxassetid://177465360 - **
ScreenGuiāļื่āļAdminMenu** (āđāļStarterGui)- āļ āļēāļĒāđāļ
AdminMenuāļŠāļĢ้āļēāļ **Frame** āļื่āļ **MenuFrame** (āļั้āļāļ่āļēVisibleāđāļ็āļFalse) - āļ āļēāļĒāđāļ
MenuFrameāļŠāļĢ้āļēāļ **TextButton** āļื่āļ:DiscoButton,UnderwaterButton,SwimAirButton, āđāļĨāļ°CloseButton
- āļ āļēāļĒāđāļ
ð Part 2: Server Script (āđāļ ServerScriptService)
āđāļ้āļāļี้āļĢัāļāļāļģāļŠั่āļāļāļēāļ GUI āđāļĨāļ°āļŠั่āļāļāļēāļāđāļŦāļุāļāļēāļĢāļ์āļั่āļ§āļั้āļāđāļิāļĢ์āļāđāļ§āļāļĢ์
āļāļģāđāļŦāļ่āļ: **Script** āđāļ ServerScriptService
-- Script āđāļ ServerScriptService
local MessagingService = game:GetService("MessagingService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- --- Configuration ---
local DISCO_TOPIC = "GlobalEvents"
local DISCO_DURATION = 300 -- 5 āļāļēāļี
local UNDERWATER_DURATION = 600 -- 10 āļāļēāļี
local SWIM_AIR_DURATION = 180 -- 3 āļāļēāļี
local DISCO_TRIGGER = ReplicatedStorage:WaitForChild("RemoteEvent"):WaitForChild("DiscoTrigger")
local ADMIN_COMMAND_EVENT = ReplicatedStorage:WaitForChild("AdminCommandEvent") -- RemoteEvent āđāļŦāļĄ่
-- **ADMIN LIST**
local ALLOWED_USERS = {
["sannnn5302"] = true,
["prim233510"] = true,
}
-- --- 1. Subscription (āļĢัāļ Global Message) ---
local function onGlobalMessageReceived(message)
local data = message.Data
-- āļŠ่āļāļāļģāļŠั่āļāđāļāļĒัāļ Clients āđāļ Server āļี้
if data and data.Command == "StartDisco" then
DISCO_TRIGGER:FireAllClients("StartDisco", data.Duration)
elseif data and data.Command == "StopDisco" then
DISCO_TRIGGER:FireAllClients("StopDisco")
elseif data and data.Command == "StartUnderwater" then
DISCO_TRIGGER:FireAllClients("StartUnderwater", data.Duration)
elseif data and data.Command == "StopUnderwater" then
DISCO_TRIGGER:FireAllClients("StopUnderwater")
elseif data and data.Command == "StartSwimAir" then
DISCO_TRIGGER:FireAllClients("StartSwimAir")
elseif data and data.Command == "StopSwimAir" then
DISCO_TRIGGER:FireAllClients("StopSwimAir")
end
end
pcall(function()
MessagingService:SubscribeAsync(DISCO_TOPIC, onGlobalMessageReceived)
end)
-- --- 2. Publishing (āļŠ่āļ Global Message) ---
local function publishGlobalEvent(command, duration)
local data = {
Command = command,
Duration = duration
}
pcall(function()
MessagingService:PublishAsync(DISCO_TOPIC, data)
print("Published '" .. command .. "' command to all servers.")
end)
end
-- --- 3. Command Check (āļĢัāļāļāļģāļŠั่āļāļāļēāļ GUI āļ่āļēāļ RemoteEvent) ---
ADMIN_COMMAND_EVENT.OnServerEvent:Connect(function(player, command)
-- āļāļĢāļ§āļāļŠāļāļāļŠิāļāļิ์āđāļāļāļĄิāļ
if not ALLOWED_USERS[player.Name] then
warn(player.Name .. " attempted to use admin command without authorization.")
return
end
if command == "StartDisco" then
publishGlobalEvent("StartDisco", DISCO_DURATION)
elseif command == "StopDisco" then
publishGlobalEvent("StopDisco")
elseif command == "StartUnderwater" then
publishGlobalEvent("StartUnderwater", UNDERWATER_DURATION)
elseif command == "StopUnderwater" then
publishGlobalEvent("StopUnderwater")
elseif command == "StartSwimAir" then
publishGlobalEvent("StartSwimAir")
task.delay(SWIM_AIR_DURATION, function()
publishGlobalEvent("StopSwimAir")
end)
elseif command == "StopSwimAir" then
publishGlobalEvent("StopSwimAir")
end
end)
✨ Part 3: Client Script (āđāļ StarterPlayerScripts)
āđāļ้āļāļี้āļัāļāļāļēāļĢ GUI, āļุ่āļĄ F2, āļāļēāļĢāļ่āļāļāđāļĄāļูāļāļēāļāļู้āđāļĨ่āļāļั่āļ§āđāļ, āđāļĨāļ°āļāļēāļĢāļāļģāļāļēāļāļāļāļ Event Effects
āļāļģāđāļŦāļ่āļ: **LocalScript** āđāļ StarterPlayer > StarterPlayerScripts
-- LocalScript āđāļ StarterPlayerScripts
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Player = Players.LocalPlayer
local ADMIN_COMMAND_EVENT = ReplicatedStorage:WaitForChild("AdminCommandEvent")
local DISCO_TRIGGER = ReplicatedStorage:WaitForChild("RemoteEvent"):WaitForChild("DiscoTrigger")
-- --- Configuration (Event Assets) ---
local DISCO_SOUND = ReplicatedStorage:WaitForChild("DiscoMusic")
local DISCO_PART = game.Workspace:WaitForChild("DiscoFloor")
local SHARED_EVENT_SOUND = ReplicatedStorage:WaitForChild("UnderwaterAmbiance")
-- GUI References
local ADMIN_MENU = Player.PlayerGui:WaitForChild("AdminMenu")
local MENU_FRAME = ADMIN_MENU:WaitForChild("MenuFrame")
-- Stored original values for cleanup
local originalDiscoColor = DISCO_PART.Color
local originalFogColor = Lighting.FogColor
local originalFogEnd = Lighting.FogEnd
local originalAmbient = Lighting.Ambient
local originalWalkSpeed = 16
-- State variables
local isDiscoActive = false
local isUnderwaterActive = false
local isSwimAirActive = false
local discoConnection = nil
-- **ADMIN LIST (āļ้āļāļāļāļĢāļāļัāļ Server)**
local ALLOWED_USERS = {
["sannnn5302"] = true,
["prim233510"] = true,
}
local isPlayerAdmin = ALLOWED_USERS[Player.Name]
-- --- GUI & Input Handlers ---
-- āļัāļāļ์āļัāļāļŠāļģāļŦāļĢัāļāđāļิāļ/āļิāļāđāļĄāļู
local function toggleMenu()
if isPlayerAdmin then
MENU_FRAME.Visible = not MENU_FRAME.Visible
end
end
-- āļัāļāļ์āļัāļāđāļĄื่āļāļĄีāļāļēāļĢāļāļāļุ่āļĄ F2
local function onInputBegan(input, gameProcessed)
if input.KeyCode == Enum.KeyCode.F2 and not gameProcessed then
toggleMenu()
end
end
-- āļัāļāļ์āļัāļāļŠāļģāļŦāļĢัāļāļŠ่āļāļāļģāļŠั่āļāļ่āļēāļ RemoteEvent
local function fireAdminCommand(commandName)
if isPlayerAdmin and MENU_FRAME.Visible then
ADMIN_COMMAND_EVENT:FireServer(commandName)
-- āļิāļāđāļĄāļูāļŦāļĨัāļāļāļēāļāļŠ่āļāļāļģāļŠั่āļ
MENU_FRAME.Visible = false
end
end
-- --- Shared Event Logic ---
-- Helper function to start shared sound/fog effects
local function startSharedVisuals()
-- Only play the sound if neither Underwater nor SwimAir is active
if not SHARED_EVENT_SOUND.Playing then
SHARED_EVENT_SOUND:Play()
Lighting.FogColor = Color3.new(0.5, 0.5, 1) -- Ethereal Blue Fog
Lighting.FogEnd = 50
end
end
-- Helper function to stop shared sound/fog effects
local function stopSharedVisuals()
-- Only stop if NEITHER event is active after the current one stops
if not isUnderwaterActive and not isSwimAirActive then
SHARED_EVENT_SOUND:Stop()
Lighting.FogColor = originalFogColor
Lighting.FogEnd = originalFogEnd
end
end
-- --- 3 Separate Event Functions (āđāļŦāļĄืāļāļāđāļ้āļāđāļิāļĄ) ---
local function startDisco(duration)
if isDiscoActive then return end
isDiscoActive = true
DISCO_SOUND:Play()
Lighting.Ambient = Color3.new(0, 0, 0)
discoConnection = RunService.Heartbeat:Connect(function(dt)
local hue = tick() * 0.15 % 1
DISCO_PART.Color = Color3.fromHSV(hue, 1, 1)
end)
task.delay(duration, function()
if isDiscoActive then stopDisco() end
end)
end
local function stopDisco()
if not isDiscoActive then return end
isDiscoActive = false
if discoConnection then
discoConnection:Disconnect()
discoConnection = nil
end
DISCO_SOUND:Stop()
DISCO_PART.Color = originalDiscoColor
Lighting.Ambient = originalAmbient
end
local function startUnderwater(duration)
if isUnderwaterActive then return end
isUnderwaterActive = true
startSharedVisuals()
if Player.Character and Player.Character:FindFirstChild("Humanoid") then
Player.Character.Humanoid.WalkSpeed = 8
end
task.delay(duration, function()
if isUnderwaterActive then
isUnderwaterActive = false
stopUnderwater()
end
end)
end
local function stopUnderwater()
if Player.Character and Player.Character:FindFirstChild("Humanoid") then
Player.Character.Humanoid.WalkSpeed = originalWalkSpeed
end
isUnderwaterActive = false
stopSharedVisuals()
end
local function startSwimAir()
if isSwimAirActive then return end
isSwimAirActive = true
startSharedVisuals()
local character = Player.Character
if character and character:FindFirstChild("Humanoid") then
character.Humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
workspace.Gravity = 50
end
end
local function stopSwimAir()
local character = Player.Character
if character and character:FindFirstChild("Humanoid") then
character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
workspace.Gravity = 196
isSwimAirActive = false
stopSharedVisuals()
end
-- --- Initialization and Connections ---
if not isPlayerAdmin then
-- āļ่āļāļ GUI āđāļĨāļ°āļŦāļĒุāļ LocalScript āļŠāļģāļŦāļĢัāļāļู้āđāļĨ่āļāļี่āđāļĄ่āđāļ่āđāļāļāļĄิāļ
ADMIN_MENU.Enabled = false
else
-- āđāļื่āļāļĄāļ่āļāļุ่āļĄ F2
UserInputService.InputBegan:Connect(onInputBegan)
-- āđāļื่āļāļĄāļ่āļāļุ่āļĄ GUI
MENU_FRAME:WaitForChild("DiscoButton").Text = "1. Start Disco"
MENU_FRAME:WaitForChild("DiscoButton").MouseButton1Click:Connect(function()
fireAdminCommand("StartDisco")
end)
MENU_FRAME:WaitForChild("UnderwaterButton").Text = "2. Start Underwater"
MENU_FRAME:WaitForChild("UnderwaterButton").MouseButton1Click:Connect(function()
fireAdminCommand("StartUnderwater")
end)
MENU_FRAME:WaitForChild("SwimAirButton").Text = "3. Start Swim in Air"
MENU_FRAME:WaitForChild("SwimAirButton").MouseButton1Click:Connect(function()
fireAdminCommand("StartSwimAir")
end)
-- āļุ่āļĄāļิāļāđāļĄāļู
MENU_FRAME:WaitForChild("CloseButton").MouseButton1Click:Connect(function()
MENU_FRAME.Visible = false
end)
-- āļāļģāļŠั่āļāđāļŠāļĢิāļĄ: āļุ่āļĄ Stop All (āļ้āļēāļุāļāļĄี)
local stopButton = MENU_FRAME:FindFirstChild("StopAllButton")
if stopButton then
stopButton.Text = "STOP ALL EVENTS"
stopButton.MouseButton1Click:Connect(function()
fireAdminCommand("StopDisco")
fireAdminCommand("StopUnderwater")
fireAdminCommand("StopSwimAir")
end)
end
end
-- --- GLOBAL EVENT LISTENER ---
DISCO_TRIGGER.OnClientEvent:Connect(function(command, duration)
if command == "StartDisco" then
stopUnderwater()
stopSwimAir()
startDisco(duration)
elseif command == "StopDisco" then
stopDisco()
elseif command == "StartUnderwater" then
stopDisco()
stopSwimAir()
startUnderwater(duration)
elseif command == "StopUnderwater" then
stopUnderwater()
elseif command == "StartSwimAir" then
stopDisco()
stopUnderwater()
startSwimAir()
elseif command == "StopSwimAir" then
stopSwimAir()
end
end)
āļāļ§āļēāļĄāļิāļāđāļŦ็āļ
āđāļŠāļāļāļāļ§āļēāļĄāļิāļāđāļŦ็āļ