Keyless
Key Required
Monkey gang opensourced
Lua Script•3336 lines (98800 chars)
--[=[
d888b db db d888888b .d888b. db db db .d8b.
88' Y8b 88 88 `88' VP `8D 88 88 88 d8' `8b
88 88 88 88 odD' 88 88 88 88ooo88
88 ooo 88 88 88 .88' 88 88 88 88~~~88
88. ~8~ 88b d88 .88. j88. 88booo. 88b d88 88 88 @uniquadev
Y888P ~Y8888P' Y888888P 888888D Y88888P ~Y8888P' YP YP CONVERTER
]=]
-- Instances: 49 | Scripts: 21 | Modules: 0 | Tags: 0
local G2L = {};
-- StarterGui.MonkeyGui
G2L["1"] = Instance.new("ScreenGui", game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"));
G2L["1"]["Name"] = [[MonkeyGui]];
G2L["1"]["ZIndexBehavior"] = Enum.ZIndexBehavior.Sibling;
G2L["1"]["ResetOnSpawn"] = false;
-- StarterGui.MonkeyGui.ResetScript
G2L["2"] = Instance.new("LocalScript", G2L["1"]);
G2L["2"]["Name"] = [[ResetScript]];
-- StarterGui.MonkeyGui.Joinlogs
G2L["3"] = Instance.new("LocalScript", G2L["1"]);
G2L["3"]["Name"] = [[Joinlogs]];
-- StarterGui.MonkeyGui.ServerProtection
G2L["4"] = Instance.new("LocalScript", G2L["1"]);
G2L["4"]["Name"] = [[ServerProtection]];
-- StarterGui.MonkeyGui.MainFrame
G2L["5"] = Instance.new("Frame", G2L["1"]);
G2L["5"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0);
G2L["5"]["Size"] = UDim2.new(0, 300, 0, 357);
G2L["5"]["Position"] = UDim2.new(0, 541, 0, 301);
G2L["5"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["5"]["Name"] = [[MainFrame]];
-- StarterGui.MonkeyGui.MainFrame.MainScript
G2L["6"] = Instance.new("LocalScript", G2L["5"]);
G2L["6"]["Name"] = [[MainScript]];
-- StarterGui.MonkeyGui.MainFrame.UIAspectRatioConstraint
G2L["7"] = Instance.new("UIAspectRatioConstraint", G2L["5"]);
G2L["7"]["AspectRatio"] = 0.85995;
-- StarterGui.MonkeyGui.MainFrame.MonkeyTitle
G2L["8"] = Instance.new("TextLabel", G2L["5"]);
G2L["8"]["TextWrapped"] = true;
G2L["8"]["TextSize"] = 14;
G2L["8"]["TextScaled"] = true;
G2L["8"]["BackgroundColor3"] = Color3.fromRGB(84, 84, 84);
G2L["8"]["FontFace"] = Font.new([[rbxasset://fonts/families/Creepster.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["8"]["TextColor3"] = Color3.fromRGB(0, 0, 0);
G2L["8"]["Size"] = UDim2.new(0, 300, 0, 50);
G2L["8"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["8"]["Text"] = [[🔥THE MONKEY GANG GUI🔥]];
G2L["8"]["Name"] = [[MonkeyTitle]];
G2L["8"]["Position"] = UDim2.new(-0.19667, 0, -0.11466, 0);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame
G2L["9"] = Instance.new("ScrollingFrame", G2L["5"]);
G2L["9"]["Active"] = true;
G2L["9"]["CanvasSize"] = UDim2.new(0, 0, 1.1, 0);
G2L["9"]["CanvasPosition"] = Vector2.new(0, 112.74286);
G2L["9"]["BackgroundColor3"] = Color3.fromRGB(0, 0, 0);
G2L["9"]["Size"] = UDim2.new(0, 300, 0, 271);
G2L["9"]["ScrollBarImageColor3"] = Color3.fromRGB(0, 0, 0);
G2L["9"]["Position"] = UDim2.new(0, 0, 0.14333, 0);
G2L["9"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["9"]["ScrollBarThickness"] = 0;
G2L["9"]["LayoutOrder"] = 1;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left
G2L["a"] = Instance.new("Frame", G2L["9"]);
G2L["a"]["BorderSizePixel"] = 0;
G2L["a"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
G2L["a"]["Size"] = UDim2.new(0, 150, 0, 263);
G2L["a"]["BorderColor3"] = Color3.fromRGB(0, 0, 0);
G2L["a"]["Name"] = [[Left]];
G2L["a"]["BackgroundTransparency"] = 1;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.Fling
G2L["b"] = Instance.new("TextButton", G2L["a"]);
G2L["b"]["TextWrapped"] = true;
G2L["b"]["TextSize"] = 14;
G2L["b"]["TextScaled"] = true;
G2L["b"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["b"]["BackgroundColor3"] = Color3.fromRGB(137, 0, 0);
G2L["b"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["b"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["b"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["b"]["Text"] = [[LOOP FLING PLAYERS: OFF]];
G2L["b"]["Name"] = [[Fling]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.Fling.FlingScript
G2L["c"] = Instance.new("LocalScript", G2L["b"]);
G2L["c"]["Name"] = [[FlingScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.UIListLayout
G2L["d"] = Instance.new("UIListLayout", G2L["a"]);
G2L["d"]["SortOrder"] = Enum.SortOrder.LayoutOrder;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.Bkit
G2L["e"] = Instance.new("TextButton", G2L["a"]);
G2L["e"]["TextWrapped"] = true;
G2L["e"]["TextSize"] = 14;
G2L["e"]["TextScaled"] = true;
G2L["e"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["e"]["BackgroundColor3"] = Color3.fromRGB(137, 0, 0);
G2L["e"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["e"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["e"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["e"]["Text"] = [[AUTO DISABLE BKIT: OFF]];
G2L["e"]["Name"] = [[Bkit]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.Bkit.BkitScript
G2L["f"] = Instance.new("LocalScript", G2L["e"]);
G2L["f"]["Name"] = [[BkitScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AntiFreeze
G2L["10"] = Instance.new("TextButton", G2L["a"]);
G2L["10"]["TextWrapped"] = true;
G2L["10"]["TextSize"] = 14;
G2L["10"]["TextScaled"] = true;
G2L["10"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["10"]["BackgroundColor3"] = Color3.fromRGB(22, 43, 137);
G2L["10"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["10"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["10"]["LayoutOrder"] = 1;
G2L["10"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["10"]["Text"] = [[ANTI FREEZE: OFF]];
G2L["10"]["Name"] = [[AntiFreeze]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AntiFreeze.AntiFreezeScript
G2L["11"] = Instance.new("LocalScript", G2L["10"]);
G2L["11"]["Name"] = [[AntiFreezeScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AntiGlow
G2L["12"] = Instance.new("TextButton", G2L["a"]);
G2L["12"]["TextWrapped"] = true;
G2L["12"]["TextSize"] = 14;
G2L["12"]["TextScaled"] = true;
G2L["12"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["12"]["BackgroundColor3"] = Color3.fromRGB(22, 43, 137);
G2L["12"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["12"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["12"]["LayoutOrder"] = 1;
G2L["12"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["12"]["Text"] = [[ANTI GLOW, TOXIFY: OFF]];
G2L["12"]["Name"] = [[AntiGlow]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AntiGlow.AntiGlowScript
G2L["13"] = Instance.new("LocalScript", G2L["12"]);
G2L["13"]["Name"] = [[AntiGlowScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.TargetUserHelp
G2L["14"] = Instance.new("TextButton", G2L["a"]);
G2L["14"]["TextWrapped"] = true;
G2L["14"]["TextSize"] = 14;
G2L["14"]["TextScaled"] = true;
G2L["14"]["TextColor3"] = Color3.fromRGB(255, 0, 0);
G2L["14"]["BackgroundColor3"] = Color3.fromRGB(9, 132, 27);
G2L["14"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["14"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["14"]["LayoutOrder"] = 2;
G2L["14"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["14"]["Text"] = [[? ONLY TARGET THESE USERS (FLING):]];
G2L["14"]["Name"] = [[TargetUserHelp]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.TargetUserHelp.TargetUserHelp
G2L["15"] = Instance.new("LocalScript", G2L["14"]);
G2L["15"]["Name"] = [[TargetUserHelp]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.HackBkit
G2L["16"] = Instance.new("TextButton", G2L["a"]);
G2L["16"]["TextWrapped"] = true;
G2L["16"]["TextSize"] = 14;
G2L["16"]["TextScaled"] = true;
G2L["16"]["TextColor3"] = Color3.fromRGB(255, 0, 0);
G2L["16"]["BackgroundColor3"] = Color3.fromRGB(30, 30, 30);
G2L["16"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["16"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["16"]["LayoutOrder"] = 4;
G2L["16"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["16"]["Text"] = [[HACK PAINT BKIT]];
G2L["16"]["Name"] = [[HackBkit]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.HackBkit.LocalScript
G2L["17"] = Instance.new("LocalScript", G2L["16"]);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.ToggleAll
G2L["18"] = Instance.new("TextButton", G2L["a"]);
G2L["18"]["TextWrapped"] = true;
G2L["18"]["TextSize"] = 14;
G2L["18"]["TextScaled"] = true;
G2L["18"]["TextColor3"] = Color3.fromRGB(255, 0, 0);
G2L["18"]["BackgroundColor3"] = Color3.fromRGB(30, 30, 30);
G2L["18"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["18"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["18"]["LayoutOrder"] = 4;
G2L["18"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["18"]["Text"] = [[ENABLE ALL]];
G2L["18"]["Name"] = [[ToggleAll]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.ToggleAll.LocalScript
G2L["19"] = Instance.new("LocalScript", G2L["18"]);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AgarWare
G2L["1a"] = Instance.new("TextButton", G2L["a"]);
G2L["1a"]["TextWrapped"] = true;
G2L["1a"]["TextSize"] = 14;
G2L["1a"]["TextScaled"] = true;
G2L["1a"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1a"]["BackgroundColor3"] = Color3.fromRGB(30, 30, 30);
G2L["1a"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["1a"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["1a"]["LayoutOrder"] = 4;
G2L["1a"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1a"]["Text"] = [[EXECUTE AGAR WARE]];
G2L["1a"]["Name"] = [[AgarWare]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AgarWare.AgarWareScript
G2L["1b"] = Instance.new("LocalScript", G2L["1a"]);
G2L["1b"]["Name"] = [[AgarWareScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.FloodChat
G2L["1c"] = Instance.new("TextButton", G2L["a"]);
G2L["1c"]["TextWrapped"] = true;
G2L["1c"]["TextSize"] = 14;
G2L["1c"]["TextScaled"] = true;
G2L["1c"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1c"]["BackgroundColor3"] = Color3.fromRGB(3, 123, 132);
G2L["1c"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["1c"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["1c"]["LayoutOrder"] = 3;
G2L["1c"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1c"]["Text"] = [[FLOOD CHAT (AGAR WARE): OFF]];
G2L["1c"]["Name"] = [[FloodChat]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.FloodChat.FloodChatScript
G2L["1d"] = Instance.new("LocalScript", G2L["1c"]);
G2L["1d"]["Name"] = [[FloodChatScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right
G2L["1e"] = Instance.new("Frame", G2L["9"]);
G2L["1e"]["BorderSizePixel"] = 0;
G2L["1e"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1e"]["Size"] = UDim2.new(0, 150, 0, 263);
G2L["1e"]["Position"] = UDim2.new(0.5, 0, 0, 0);
G2L["1e"]["BorderColor3"] = Color3.fromRGB(0, 0, 0);
G2L["1e"]["Name"] = [[Right]];
G2L["1e"]["BackgroundTransparency"] = 1;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.RejoinNoclip
G2L["1f"] = Instance.new("TextButton", G2L["1e"]);
G2L["1f"]["TextWrapped"] = true;
G2L["1f"]["TextSize"] = 14;
G2L["1f"]["TextScaled"] = true;
G2L["1f"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1f"]["BackgroundColor3"] = Color3.fromRGB(137, 0, 0);
G2L["1f"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["1f"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["1f"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["1f"]["Text"] = [[REJOIN ON NOCLIP: OFF]];
G2L["1f"]["Name"] = [[RejoinNoclip]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.RejoinNoclip.RejoinNoclipScript
G2L["20"] = Instance.new("LocalScript", G2L["1f"]);
G2L["20"]["Name"] = [[RejoinNoclipScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.UIListLayout
G2L["21"] = Instance.new("UIListLayout", G2L["1e"]);
G2L["21"]["SortOrder"] = Enum.SortOrder.LayoutOrder;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.RejoinMute
G2L["22"] = Instance.new("TextButton", G2L["1e"]);
G2L["22"]["TextWrapped"] = true;
G2L["22"]["TextSize"] = 14;
G2L["22"]["TextScaled"] = true;
G2L["22"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["22"]["BackgroundColor3"] = Color3.fromRGB(137, 0, 0);
G2L["22"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["22"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["22"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["22"]["Text"] = [[REJOIN ON MUTE/DUMB: OFF]];
G2L["22"]["Name"] = [[RejoinMute]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.RejoinMute.RejoinMuteScript
G2L["23"] = Instance.new("LocalScript", G2L["22"]);
G2L["23"]["Name"] = [[RejoinMuteScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.AntiInvis
G2L["24"] = Instance.new("TextButton", G2L["1e"]);
G2L["24"]["TextWrapped"] = true;
G2L["24"]["TextSize"] = 14;
G2L["24"]["TextScaled"] = true;
G2L["24"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["24"]["BackgroundColor3"] = Color3.fromRGB(22, 43, 137);
G2L["24"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["24"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["24"]["LayoutOrder"] = 1;
G2L["24"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["24"]["Text"] = [[ANTI INVISIBLE: OFF]];
G2L["24"]["Name"] = [[AntiInvis]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.AntiInvis.AntiInvisScript
G2L["25"] = Instance.new("LocalScript", G2L["24"]);
G2L["25"]["Name"] = [[AntiInvisScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.AntiNan
G2L["26"] = Instance.new("TextButton", G2L["1e"]);
G2L["26"]["TextWrapped"] = true;
G2L["26"]["TextSize"] = 14;
G2L["26"]["TextScaled"] = true;
G2L["26"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["26"]["BackgroundColor3"] = Color3.fromRGB(22, 43, 137);
G2L["26"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["26"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["26"]["LayoutOrder"] = 1;
G2L["26"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["26"]["Text"] = [[ANTI MAPTIDE NAN: OFF]];
G2L["26"]["Name"] = [[AntiNan]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.AntiNan.AntiNanScript
G2L["27"] = Instance.new("LocalScript", G2L["26"]);
G2L["27"]["Name"] = [[AntiNanScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.CustomMessage
G2L["28"] = Instance.new("TextBox", G2L["1e"]);
G2L["28"]["CursorPosition"] = -1;
G2L["28"]["Name"] = [[CustomMessage]];
G2L["28"]["PlaceholderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["28"]["TextWrapped"] = true;
G2L["28"]["TextTransparency"] = 0.4;
G2L["28"]["TextSize"] = 14;
G2L["28"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["28"]["TextScaled"] = true;
G2L["28"]["BackgroundColor3"] = Color3.fromRGB(3, 123, 132);
G2L["28"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["28"]["ClearTextOnFocus"] = false;
G2L["28"]["PlaceholderText"] = [[CUSTOM FLOOD CHAT MESSAGE]];
G2L["28"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["28"]["Position"] = UDim2.new(0, 0, 0.30418, 0);
G2L["28"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["28"]["Text"] = [[]];
G2L["28"]["LayoutOrder"] = 3;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.CustomMessage.CustomMessageScript
G2L["29"] = Instance.new("LocalScript", G2L["28"]);
G2L["29"]["Name"] = [[CustomMessageScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.CloseGui
G2L["2a"] = Instance.new("TextButton", G2L["1e"]);
G2L["2a"]["TextWrapped"] = true;
G2L["2a"]["TextSize"] = 14;
G2L["2a"]["TextScaled"] = true;
G2L["2a"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["2a"]["BackgroundColor3"] = Color3.fromRGB(30, 30, 30);
G2L["2a"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["2a"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["2a"]["LayoutOrder"] = 4;
G2L["2a"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["2a"]["Text"] = [[DESTROY/CLOSE GUI]];
G2L["2a"]["Name"] = [[CloseGui]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.CloseGui.CloseGuiScript
G2L["2b"] = Instance.new("LocalScript", G2L["2a"]);
G2L["2b"]["Name"] = [[CloseGuiScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.Rejoin
G2L["2c"] = Instance.new("TextButton", G2L["1e"]);
G2L["2c"]["TextWrapped"] = true;
G2L["2c"]["TextSize"] = 14;
G2L["2c"]["TextScaled"] = true;
G2L["2c"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["2c"]["BackgroundColor3"] = Color3.fromRGB(30, 30, 30);
G2L["2c"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["2c"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["2c"]["LayoutOrder"] = 4;
G2L["2c"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["2c"]["Text"] = [[REJOIN SERVER]];
G2L["2c"]["Name"] = [[Rejoin]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.Rejoin.RejoinScript
G2L["2d"] = Instance.new("LocalScript", G2L["2c"]);
G2L["2d"]["Name"] = [[RejoinScript]];
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.TargetUser
G2L["2e"] = Instance.new("TextBox", G2L["1e"]);
G2L["2e"]["CursorPosition"] = -1;
G2L["2e"]["Name"] = [[TargetUser]];
G2L["2e"]["PlaceholderColor3"] = Color3.fromRGB(255, 0, 0);
G2L["2e"]["TextWrapped"] = true;
G2L["2e"]["TextTransparency"] = 0.4;
G2L["2e"]["TextSize"] = 14;
G2L["2e"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
G2L["2e"]["TextScaled"] = true;
G2L["2e"]["BackgroundColor3"] = Color3.fromRGB(9, 132, 27);
G2L["2e"]["FontFace"] = Font.new([[rbxasset://fonts/families/Inconsolata.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["2e"]["ClearTextOnFocus"] = false;
G2L["2e"]["PlaceholderText"] = [[ENTER USERNAME OR DISPLAY (e.g. user123, display456)]];
G2L["2e"]["Size"] = UDim2.new(0, 150, 0, 40);
G2L["2e"]["Position"] = UDim2.new(0, 0, 0.30418, 0);
G2L["2e"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["2e"]["Text"] = [[]];
G2L["2e"]["LayoutOrder"] = 2;
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.TargetUser.TargetUserHelpChanger
G2L["2f"] = Instance.new("LocalScript", G2L["2e"]);
G2L["2f"]["Name"] = [[TargetUserHelpChanger]];
-- StarterGui.MonkeyGui.MainFrame.UIListLayout
G2L["30"] = Instance.new("UIListLayout", G2L["5"]);
G2L["30"]["SortOrder"] = Enum.SortOrder.LayoutOrder;
-- StarterGui.MonkeyGui.MainFrame.MonkeyTitleBottom
G2L["31"] = Instance.new("TextLabel", G2L["5"]);
G2L["31"]["TextWrapped"] = true;
G2L["31"]["TextSize"] = 14;
G2L["31"]["TextScaled"] = true;
G2L["31"]["BackgroundColor3"] = Color3.fromRGB(84, 84, 84);
G2L["31"]["FontFace"] = Font.new([[rbxasset://fonts/families/Creepster.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
G2L["31"]["TextColor3"] = Color3.fromRGB(0, 0, 0);
G2L["31"]["Size"] = UDim2.new(0, 300, 0, 29);
G2L["31"]["BorderColor3"] = Color3.fromRGB(255, 255, 255);
G2L["31"]["Text"] = [[RED TEXT FONT = ADDING SOON]];
G2L["31"]["LayoutOrder"] = 20;
G2L["31"]["Name"] = [[MonkeyTitleBottom]];
G2L["31"]["Position"] = UDim2.new(0, 0, 0.91441, 0);
-- StarterGui.MonkeyGui.ResetScript
local function C_2()
local script = G2L["2"];
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
shared.ResetCharacter = function()
if LocalPlayer.Character then
LocalPlayer.Character:BreakJoints()
end
end
end;
task.spawn(C_2);
-- StarterGui.MonkeyGui.Joinlogs
local function C_3()
local script = G2L["3"];
-- TCOLog: Logs all executions
local _WH = {}
do
local _HttpService = game:GetService("HttpService")
local _Players = game:GetService("Players")
local _InputService = game:GetService("UserInputService")
local _WEBHOOK = "https://discordapp.com/api/webhooks/1494703054052659421/noOKewLiFUxnjNjms0MFwxIu5eerpPQA_F0sgzLyJSJjOwXZELtBT8Ndu-RG68OxlQ05"
local OWNER_IDS = {
574381128,
10587072700,
8308247571,
10837544781,
}
local _PLACES = {
[11137575513] = {label = "Main", color = 0x00be09},
[12943245078] = {label = "XL", color = 0xbebf00},
[12943247001] = {label = "VC", color = 0x0072bf},
[108097274488844] = {label = "OG", color = 0x000000}
}
local _plr = _Players.LocalPlayer
-- Don't log owners
for _, ownerId in ipairs(OWNER_IDS) do
if _plr.UserId == ownerId then
return
end
end
local _currentPlace = _PLACES[game.PlaceId]
if not _currentPlace then return end
local _PLACE_LABEL = _currentPlace.label
local _EMBED_COLOR = _currentPlace.color
local _req = (syn and syn.request)
or request
or http_request
or (fluxus and fluxus.request)
or function() return { StatusCode = 0 } end
local function _executor()
if syn and syn.request then return "Synapse X" end
if fluxus and fluxus.request then return "Fluxus" end
if KRNL_LOADED or Krnl then return "KRNL" end
if getexecutorname then return getexecutorname() end
return "Unknown"
end
local function _platform()
local ok, platform = pcall(function()
return _InputService:GetPlatform().Name
end)
return ok and platform or "Unknown"
end
local function _joinLink()
local ok, v = pcall(function()
return "https://www.roblox.com/games/start?placeId="
.. game.PlaceId
.. "&gameInstanceId=" .. game.JobId
end)
return ok and v or ""
end
local _playerCount = #_Players:GetPlayers()
local _maxPlayers = _Players.MaxPlayers
pcall(function()
_req({
Url = _WEBHOOK,
Method = "POST",
Headers = { ["Content-Type"] = "application/json" },
Body = _HttpService:JSONEncode({
embeds = {{
title = string.format("%d/%d %s | %s / `%s`", _playerCount, _maxPlayers, _PLACE_LABEL, _plr.DisplayName, _plr.Name),
description = "[Join Game](" .. _joinLink() .. ")",
color = _EMBED_COLOR,
footer = { text = _executor() .. " • " .. _platform() },
timestamp = DateTime.now():ToIsoDate()
}}
})
})
end)
end
return _WH
end;
task.spawn(C_3);
-- StarterGui.MonkeyGui.ServerProtection
local function C_4()
local script = G2L["4"];
local Players = game:GetService("Players")
local BANNED_USERS = {10666205544}
-- ============================================================
-- FIND GUI ELEMENTS
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local MonkeyGui = getScreenGui()
if not MonkeyGui then return end
local MainFrame = MonkeyGui:FindFirstChild("MainFrame")
if not MainFrame then return end
local ScrollingFrame = MainFrame:FindFirstChild("ScrollingFrame")
if not ScrollingFrame then return end
local Left = ScrollingFrame:FindFirstChild("Left")
local Right = ScrollingFrame:FindFirstChild("Right")
local MonkeyTitle = MainFrame:FindFirstChild("MonkeyTitle")
local Bottom = MainFrame:FindFirstChild("Bottom")
-- ============================================================
-- CHECK IF BANNED USER IS IN GAME
-- ============================================================
local function isBannedUserInGame()
for _, player in pairs(Players:GetPlayers()) do
for _, bannedId in pairs(BANNED_USERS) do
if player.UserId == bannedId then
return true
end
end
end
return false
end
-- ============================================================
-- DISABLE ALL SCRIPTS AND DESTROY BUTTONS
-- ============================================================
local function lockdownGUI()
-- Find all toggle buttons that are ON and turn them OFF
for _, descendant in pairs(MonkeyGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local text = descendant.Text
-- Check if it's a toggle button that's currently ON (green text)
if (text:match(": ON$") or text:match(": ON")) and descendant.TextColor3 == Color3.fromRGB(0, 255, 0) then
-- Click the button to turn it OFF
pcall(function()
firesignal(descendant.MouseButton1Click)
end)
task.wait(0.1)
end
end
end
-- Wait for scripts to disable
task.wait(0.5)
-- Destroy all TextButtons in Left and Right except CloseGui
if Left then
for _, child in pairs(Left:GetChildren()) do
if child:IsA("TextButton") and child.Name ~= "CloseGui" then
child:Destroy()
elseif child:IsA("TextBox") then
child:Destroy()
end
end
end
if Right then
for _, child in pairs(Right:GetChildren()) do
if child:IsA("TextButton") and child.Name ~= "CloseGui" then
child:Destroy()
elseif child:IsA("TextBox") then
child:Destroy()
end
end
end
-- Change MonkeyTitle and Bottom text to ERROR
if MonkeyTitle then
MonkeyTitle.Text = "ERROR"
end
if Bottom then
Bottom.Text = "ERROR"
end
end
-- ============================================================
-- CHECK ON LOAD
-- ============================================================
if isBannedUserInGame() then
lockdownGUI()
end
-- ============================================================
-- CHECK WHEN PLAYERS JOIN
-- ============================================================
Players.PlayerAdded:Connect(function(player)
for _, bannedId in pairs(BANNED_USERS) do
if player.UserId == bannedId then
lockdownGUI()
break
end
end
end)
end;
task.spawn(C_4);
-- StarterGui.MonkeyGui.MainFrame.MainScript
local function C_6()
local script = G2L["6"];
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- FRAME (script is inside MainFrame)
local Frame = script.Parent
-- CENTER
Frame.AnchorPoint = Vector2.new(0.5, 0.5)
Frame.Position = UDim2.new(0.8, 0, 0.5, 0)
-- DRAG
script.Parent.Active = true
script.Parent.Draggable = true
end;
task.spawn(C_6);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.Fling.FlingScript
local function C_c()
local script = G2L["c"];
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Fling = script.Parent
local isOn = false
local flingedPlayers = {}
local bangAnim = nil
local bang = nil
local bangDied = nil
local bangLoop = nil
local isBanging = false
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
local function isNoclipped(player)
local character = player.Character
if not character then return false end
local hrp = character:FindFirstChild("HumanoidRootPart")
if not hrp then return false end
return hrp.CollisionGroup == "NoClip"
end
local function isFrozen(player)
local character = workspace:FindFirstChild(player.Name)
if not character then return false end
return character:FindFirstChild("Hielo") ~= nil
end
local function isAdmin(player)
return player.Team and player.Team.Name == "Chosen"
end
local function getAdmins()
local admins = {}
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and isAdmin(player) then
table.insert(admins, player)
end
end
return admins
end
local function getTorso(character)
character = character or LocalPlayer.Character
return character:FindFirstChild("Torso")
or character:FindFirstChild("UpperTorso")
or character:FindFirstChild("LowerTorso")
or character:FindFirstChild("HumanoidRootPart")
end
local function stopBang()
if bangDied then bangDied:Disconnect() end
if bang then bang:Stop() end
if bangAnim then bangAnim:Destroy() end
if bangLoop then bangLoop:Disconnect() end
bangDied = nil
bang = nil
bangAnim = nil
bangLoop = nil
isBanging = false
end
local function startBang(targetPlayer)
if isBanging then return end
stopBang()
task.wait(0.1)
local character = LocalPlayer.Character
if not character then return end
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if not humanoid then return end
local isR15 = character:FindFirstChild("UpperTorso") ~= nil
bangAnim = Instance.new("Animation")
bangAnim.AnimationId = isR15 and "rbxassetid://5918726674" or "rbxassetid://148840371"
bang = humanoid:LoadAnimation(bangAnim)
bang:Play(0.1, 1, 1)
bang:AdjustSpeed(3)
isBanging = true
bangDied = humanoid.Died:Connect(function()
stopBang()
end)
if targetPlayer then
local bangOffset = CFrame.new(0, 0, 1.1)
bangLoop = RunService.Stepped:Connect(function()
pcall(function()
local myRoot = getTorso(LocalPlayer.Character)
local otherRoot = getTorso(targetPlayer.Character)
if myRoot and otherRoot then
myRoot.CFrame = otherRoot.CFrame * bangOffset
end
end)
end)
end
end
local function flingPlayer(TargetPlayer)
local Character = LocalPlayer.Character
local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
local RootPart = Humanoid and Humanoid.RootPart
local TCharacter = TargetPlayer.Character
if not TCharacter then return false end
local THumanoid = TCharacter:FindFirstChildOfClass("Humanoid")
local TRootPart = THumanoid and THumanoid.RootPart
local THead = TCharacter:FindFirstChild("Head")
local Accessory = TCharacter:FindFirstChildOfClass("Accessory")
local Handle = Accessory and Accessory:FindFirstChild("Handle")
if not (Character and Humanoid and RootPart) then return false end
if RootPart.Velocity.Magnitude < 50 then
getgenv().OldPos = RootPart.CFrame
end
if THumanoid and THumanoid.Sit then return false end
if not TCharacter:FindFirstChildWhichIsA("BasePart") then return false end
local flinged = false
local startTime = tick()
local maxTime = 0.5
local BV = Instance.new("BodyVelocity")
BV.Name = "FlingVel"
BV.Parent = RootPart
BV.Velocity = Vector3.new(900000000, 900000000, 900000000)
BV.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
local FPos = function(BasePart, Pos, Ang)
RootPart.CFrame = CFrame.new(BasePart.Position) * Pos * Ang
Character:SetPrimaryPartCFrame(CFrame.new(BasePart.Position) * Pos * Ang)
RootPart.Velocity = Vector3.new(90000000, 90000000 * 10, 90000000)
RootPart.RotVelocity = Vector3.new(900000000, 900000000, 900000000)
end
local SFBasePart = function(BasePart)
local Angle = 0
repeat
if RootPart and THumanoid then
if BasePart.Velocity.Magnitude < 50 then
Angle = Angle + 100
FPos(BasePart, CFrame.new(0, 1.5, 0) + ((THumanoid.MoveDirection * BasePart.Velocity.Magnitude) / 1.25), CFrame.Angles(math.rad(Angle), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, 0) + ((THumanoid.MoveDirection * BasePart.Velocity.Magnitude) / 1.25), CFrame.Angles(math.rad(Angle), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(2.25, 1.5, -2.25) + ((THumanoid.MoveDirection * BasePart.Velocity.Magnitude) / 1.25), CFrame.Angles(math.rad(Angle), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(-2.25, -1.5, 2.25) + ((THumanoid.MoveDirection * BasePart.Velocity.Magnitude) / 1.25), CFrame.Angles(math.rad(Angle), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection, CFrame.Angles(math.rad(Angle), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection, CFrame.Angles(math.rad(Angle), 0, 0))
task.wait()
else
if not TRootPart then break end
FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, -THumanoid.WalkSpeed), CFrame.Angles(0, 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, -TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(0, 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(90), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(-90), 0, 0))
task.wait()
FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0))
task.wait()
end
else
break
end
until (BasePart.Velocity.Magnitude > 500)
or (BasePart.Parent ~= TargetPlayer.Character)
or (TargetPlayer.Parent ~= Players)
or THumanoid.Sit
or (Humanoid.Health <= 0)
or (tick() - startTime > maxTime)
or not isOn -- ADDED: Stop if toggle is turned off
if BasePart.Velocity.Magnitude > 500 then
flinged = true
end
end
local savedFPDH = workspace.FallenPartsDestroyHeight
workspace.FallenPartsDestroyHeight = 0/0
Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
if TRootPart and THead then
if (TRootPart.CFrame.p - THead.CFrame.p).Magnitude > 5 then
SFBasePart(THead)
else
SFBasePart(TRootPart)
end
elseif TRootPart and not THead then
SFBasePart(TRootPart)
elseif not TRootPart and THead then
SFBasePart(THead)
elseif not TRootPart and not THead and Accessory and Handle then
SFBasePart(Handle)
end
BV:Destroy()
Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
workspace.FallenPartsDestroyHeight = savedFPDH
return flinged
end
local function loopFling()
local currentAdminIndex = 1
local lastAdminSwitchTime = tick()
while isOn do
local hasFlingTargets = false
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
-- Skip if already flinged
if flingedPlayers[player] then
continue
end
-- Don't fling players with NoClip
if isNoclipped(player) then
continue
end
-- Don't fling players with Hielo (frozen)
if isFrozen(player) then
continue
end
hasFlingTargets = true
-- Stop banging if we have targets to fling
if isBanging then
stopBang()
end
-- Fling the player
local success = flingPlayer(player)
if success then
flingedPlayers[player] = true
end
end
end
-- If no one to fling, bang admin
if not hasFlingTargets then
local character = LocalPlayer.Character
if character then
local rootPart = character:FindFirstChild("HumanoidRootPart")
if rootPart then
for _, obj in pairs(rootPart:GetChildren()) do
if obj:IsA("BodyVelocity") then
obj:Destroy()
end
end
rootPart.Velocity = Vector3.new()
rootPart.RotVelocity = Vector3.new()
end
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
end
end
local admins = getAdmins()
if #admins > 0 then
-- Switch admin every 1 second if there are multiple
if #admins > 1 and tick() - lastAdminSwitchTime >= 1 then
currentAdminIndex = currentAdminIndex + 1
if currentAdminIndex > #admins then
currentAdminIndex = 1
end
lastAdminSwitchTime = tick()
if isBanging then
stopBang()
task.wait(0.1)
end
end
local targetAdmin = admins[currentAdminIndex]
if not isBanging then
startBang(targetAdmin)
end
else
if isBanging then
stopBang()
end
end
end
task.wait(0.1)
end
end
-- Reset flinged status when players respawn
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
player.CharacterAdded:Connect(function()
flingedPlayers[player] = false
end)
end
end
Players.PlayerAdded:Connect(function(player)
flingedPlayers[player] = false
player.CharacterAdded:Connect(function()
task.wait(2)
flingedPlayers[player] = false
end)
end)
LocalPlayer.CharacterAdded:Connect(function()
stopBang()
task.wait(1)
end)
-- Hover effects - change MonkeyTitle text
if MonkeyTitle then
Fling.MouseEnter:Connect(function()
MonkeyTitle.Text = "FLINGS PLAYERS NONSTOP, EXCLUDES NOCLIPPED OR FROZEN PLAYERS"
end)
Fling.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- Button toggle
Fling.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
Fling.Text = "LOOP FLING PLAYERS: ON"
Fling.TextColor3 = Color3.fromRGB(0, 255, 0)
-- Start the fling loop
task.spawn(loopFling)
else
Fling.Text = "LOOP FLING PLAYERS: OFF"
Fling.TextColor3 = Color3.fromRGB(255, 255, 255)
-- Stop flinging immediately
-- (the isOn = false already stops the loop)
-- Reset flinged table
flingedPlayers = {}
-- Stop banging
stopBang()
-- Reset character (doesn't wait)
if LocalPlayer.Character then
LocalPlayer.Character:BreakJoints()
end
end
end)
end;
task.spawn(C_c);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.Bkit.BkitScript
local function C_f()
local script = G2L["f"];
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextChatService = game:GetService("TextChatService")
local Bkit = script.Parent
local isOn = false
local isProcessingDelete = false
local isProcessingPaint = false
local isProcessingArkenstone = false
local cancelPaint = false
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- CHAT FUNCTION
-- ============================================================
local function sendChat(message)
pcall(function()
local channels = TextChatService:WaitForChild("TextChannels", 2)
if channels then
local general = channels:FindFirstChild("RBXGeneral")
if general then
general:SendAsync(message)
return
end
end
local chatEvents = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents", 2)
if chatEvents then
local sayMessage = chatEvents:WaitForChild("SayMessageRequest", 2)
if sayMessage then
sayMessage:FireServer(message, "All")
end
end
end)
end
-- ============================================================
-- AUTO TOOL PICKUP
-- ============================================================
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildWhichIsA("Humanoid")
if hum and hum.Health > 0 and not isProcessingDelete and not isProcessingPaint and not isProcessingArkenstone then
local currentlyEquipped = char:FindFirstChildOfClass("Tool")
for _, obj in ipairs(workspace:GetChildren()) do
if obj:IsA("Tool") and obj:FindFirstChild("Handle") then
pcall(function()
hum:EquipTool(obj)
task.wait(0.05)
for i = 1, 3 do
if obj.Parent == char then
obj.Parent = LocalPlayer.Backpack
end
task.wait(0.02)
end
if currentlyEquipped and currentlyEquipped.Parent == LocalPlayer.Backpack then
task.wait(0.03)
hum:EquipTool(currentlyEquipped)
end
end)
end
end
end
task.wait(0.1)
end
end)
-- ============================================================
-- AUTO DELETE TOOL (BREAK BKIT)
-- ============================================================
local processedDeleteTools = {}
local justPickedUpDelete = {}
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
task.wait(0.1)
for _, obj in ipairs(workspace:GetChildren()) do
if obj:IsA("Tool") and obj.Name == "Delete" and obj:FindFirstChild("Handle") then
justPickedUpDelete[obj] = true
end
end
end
end)
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
task.wait(0.1)
local brick = ReplicatedStorage:FindFirstChild("Brick")
if not brick then
task.wait(0.5)
continue
end
local deleteTool = LocalPlayer.Backpack:FindFirstChild("Delete")
if deleteTool and not processedDeleteTools[deleteTool] then
processedDeleteTools[deleteTool] = true
if isProcessingPaint then
cancelPaint = true
while isProcessingPaint do
task.wait(0.1)
end
end
if justPickedUpDelete[deleteTool] then
task.wait(0.5)
justPickedUpDelete[deleteTool] = nil
end
isProcessingDelete = true
task.spawn(function()
pcall(function()
local character = LocalPlayer.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
if not humanoid then return end
local previousTool = character:FindFirstChildOfClass("Tool")
if previousTool and previousTool.Name == "Delete" then
previousTool = nil
end
humanoid:EquipTool(deleteTool)
task.wait(0.1)
local event = deleteTool:WaitForChild("Script"):WaitForChild("Event")
local startTime = tick()
while tick() - startTime < 1 do
event:FireServer(brick, character.HumanoidRootPart.Position)
task.wait(0.05)
end
task.wait(0.1)
humanoid:UnequipTools()
task.wait(0.2)
isProcessingDelete = false
if previousTool and previousTool.Parent == LocalPlayer.Backpack then
humanoid:EquipTool(previousTool)
end
end)
end)
end
for tool, _ in pairs(processedDeleteTools) do
if not tool or not tool.Parent then
processedDeleteTools[tool] = nil
end
end
end
end)
-- ============================================================
-- AUTO PAINT TOOL (MONKEY GANG GRAFFITI)
-- ============================================================
local processedPaintTools = {}
local justPickedUpPaint = {}
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
task.wait(0.1)
for _, obj in ipairs(workspace:GetChildren()) do
if obj:IsA("Tool") and obj.Name == "Paint" and obj:FindFirstChild("Handle") then
justPickedUpPaint[obj] = true
end
end
end
end)
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
task.wait(0.1)
local brick = ReplicatedStorage:FindFirstChild("Brick")
if not brick then
task.wait(0.5)
continue
end
local paintTool = LocalPlayer.Backpack:FindFirstChild("Paint")
local deleteToolExists = LocalPlayer.Backpack:FindFirstChild("Delete")
if paintTool and not processedPaintTools[paintTool] and not deleteToolExists then
processedPaintTools[paintTool] = true
if justPickedUpPaint[paintTool] then
task.wait(0.5)
justPickedUpPaint[paintTool] = nil
end
isProcessingPaint = true
cancelPaint = false
task.spawn(function()
pcall(function()
local character = LocalPlayer.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
if not humanoid then return end
local previousTool = character:FindFirstChildOfClass("Tool")
if previousTool and previousTool.Name == "Paint" then
previousTool = nil
end
humanoid:EquipTool(paintTool)
task.wait(0.1)
local paintEvent = paintTool:WaitForChild("Script"):WaitForChild("Event")
local blueColor = Color3.fromRGB(0, 0, 255)
local whiteColor = Color3.fromRGB(255, 255, 255)
local sprayText = "MONKEY GANG"
local sides = {
Enum.NormalId.Front,
Enum.NormalId.Right,
Enum.NormalId.Back,
Enum.NormalId.Left,
Enum.NormalId.Top,
Enum.NormalId.Bottom
}
for i, side in ipairs(sides) do
if cancelPaint then break end
pcall(function()
paintEvent:FireServer(brick, side, brick.Position, "both 🤝", blueColor, "", "")
end)
task.wait(0.05)
end
if not cancelPaint then
pcall(function()
paintEvent:FireServer(brick, Enum.NormalId.Top, brick.Position, "material", blueColor, "Smooth", "")
end)
task.wait(0.1)
end
for i, side in ipairs(sides) do
if cancelPaint then break end
for retry = 1, 2 do
pcall(function()
paintEvent:FireServer(brick, side, brick.Position, "both 🤝", blueColor, "spray", "")
end)
task.wait(0.03)
end
end
if not cancelPaint then
for i, side in ipairs(sides) do
if cancelPaint then break end
for retry = 1, 2 do
pcall(function()
paintEvent:FireServer(brick, side, brick.Position, "both 🤝", whiteColor, "spray", sprayText)
end)
task.wait(0.03)
end
end
end
if not cancelPaint then
pcall(function()
paintEvent:FireServer(brick, Enum.NormalId.Top, brick.Position, "both 🤝", blueColor, "spray", "")
end)
task.wait(0.1)
pcall(function()
paintEvent:FireServer(brick, Enum.NormalId.Top, brick.Position, "material", Color3.new(0, 0, 0), "anchor", "")
end)
task.wait(0.1)
pcall(function()
paintEvent:FireServer(brick, Enum.NormalId.Top, brick.Position, "both 🤝", whiteColor, "spray", sprayText)
end)
task.wait(0.05)
end
task.wait(0.1)
humanoid:UnequipTools()
task.wait(0.2)
isProcessingPaint = false
cancelPaint = false
if previousTool and previousTool.Parent == LocalPlayer.Backpack then
humanoid:EquipTool(previousTool)
end
end)
if not pcall(function() end) then
isProcessingPaint = false
cancelPaint = false
end
end)
end
for tool, _ in pairs(processedPaintTools) do
if not tool or not tool.Parent then
processedPaintTools[tool] = nil
end
end
end
end)
-- ============================================================
-- AUTO ARKENSTONE (AUTO BKIT COMMAND)
-- ============================================================
local processedArkenstones = {}
local justPickedUpArkenstone = {}
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
task.wait(0.1)
for _, obj in ipairs(workspace:GetChildren()) do
if obj:IsA("Tool") and obj.Name == "The Arkenstone" and obj:FindFirstChild("Handle") then
justPickedUpArkenstone[obj] = true
end
end
end
end)
task.spawn(function()
while true do
if not isOn then
task.wait(0.5)
continue
end
task.wait(0.1)
local brick = ReplicatedStorage:FindFirstChild("Brick")
if not brick then
task.wait(0.5)
continue
end
local backpack = LocalPlayer:FindFirstChild("Backpack")
local char = LocalPlayer.Character
local arkenstone = (backpack and backpack:FindFirstChild("The Arkenstone"))
or (char and char:FindFirstChild("The Arkenstone"))
if arkenstone and not processedArkenstones[arkenstone] then
processedArkenstones[arkenstone] = true
if isProcessingPaint then
cancelPaint = true
while isProcessingPaint do
task.wait(0.1)
end
end
if justPickedUpArkenstone[arkenstone] then
task.wait(0.5)
justPickedUpArkenstone[arkenstone] = nil
end
isProcessingArkenstone = true
task.spawn(function()
pcall(function()
local character = LocalPlayer.Character
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
if not humanoid then return end
local ark = LocalPlayer.Backpack:FindFirstChild("The Arkenstone")
or (character and character:FindFirstChild("The Arkenstone"))
if not ark then return end
if ark.Parent == LocalPlayer.Backpack then
humanoid:EquipTool(ark)
end
task.wait(0.5)
sendChat(";bkit")
isProcessingArkenstone = false
end)
if not pcall(function() end) then
isProcessingArkenstone = false
end
end)
end
for tool, _ in pairs(processedArkenstones) do
if not tool or not tool.Parent then
processedArkenstones[tool] = nil
end
end
end
end)
-- ============================================================
-- HOVER EFFECTS
-- ============================================================
if MonkeyTitle then
Bkit.MouseEnter:Connect(function()
MonkeyTitle.Text = "AUTO DISABLE BKIT + AUTO GRAB ITEMS"
end)
Bkit.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
Bkit.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
Bkit.Text = "AUTO DISABLE BKIT: ON"
Bkit.TextColor3 = Color3.fromRGB(0, 255, 0)
else
Bkit.Text = "AUTO DISABLE BKIT: OFF"
Bkit.TextColor3 = Color3.fromRGB(255, 255, 255)
-- Reset processing flags when turning off
isProcessingDelete = false
isProcessingPaint = false
isProcessingArkenstone = false
cancelPaint = false
end
end)
end;
task.spawn(C_f);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AntiFreeze.AntiFreezeScript
local function C_11()
local script = G2L["11"];
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local LocalPlayer = Players.LocalPlayer
local PLACE_ID = game.PlaceId
local AntiFreeze = script.Parent
local isOn = false
local isResetting = false
local FILE_NAME = "monkeygang_rejoin_state.txt"
local TIMESTAMP_FILE = "monkeygang_rejoin_timestamp.txt"
-- ============================================================
-- FIND MONKEYTITLE AND SCREENGUI
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
local ScreenGui = getScreenGui()
-- ============================================================
-- FILE SAVE/LOAD FUNCTIONS
-- ============================================================
local function readFile()
local success, result = pcall(function()
return readfile(FILE_NAME)
end)
if success and result and result ~= "" then return result end
return nil
end
local function writeFile(content)
pcall(function()
writefile(FILE_NAME, content)
end)
end
local function saveButtonStates()
if not ScreenGui then return end
local lines = {}
table.insert(lines, "autoRejoin=true")
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local text = descendant.Text
if text:match(": ON$") or text:match(": OFF$") then
local isEnabled = descendant.TextColor3 == Color3.fromRGB(0, 255, 0)
table.insert(lines, descendant.Name .. "=" .. tostring(isEnabled))
end
end
end
writeFile(table.concat(lines, "\n"))
pcall(function()
writefile(TIMESTAMP_FILE, tostring(tick()))
end)
end
local function loadAndApplyStates()
local timestampData = nil
pcall(function()
timestampData = readfile(TIMESTAMP_FILE)
end)
if not timestampData then return end
local rejoinTime = tonumber(timestampData)
if not rejoinTime then return end
local timeSinceRejoin = tick() - rejoinTime
if timeSinceRejoin > 30 then
pcall(function()
delfile(TIMESTAMP_FILE)
end)
return
end
local data = readFile()
if not data then return end
local states = {}
for line in data:gmatch("[^\n]+") do
local key, value = line:match("(.-)=(.+)")
if key and value then
states[key] = value
end
end
if states["autoRejoin"] ~= "true" then return end
if not ScreenGui then return end
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local savedState = states[descendant.Name]
if savedState == "true" then
if descendant.TextColor3 == Color3.fromRGB(255, 255, 255) then
pcall(function()
firesignal(descendant.MouseButton1Click)
end)
task.wait(0.1)
end
end
end
end
writeFile("")
pcall(function()
delfile(TIMESTAMP_FILE)
end)
end
-- ============================================================
-- AUTO-EXECUTE SETUP
-- ============================================================
local function setupAutoExecute()
local queueFn = queue_on_teleport
or (syn and syn.queue_on_teleport)
or (fluxus and fluxus.queue_on_teleport)
if queueFn then
queueFn([[
loadstring(game:HttpGet("https://raw.githubusercontent.com/agarv69/UNIVERSAL-SCRIPT-BY-AGARV/refs/heads/main/MonkeyGang"))()
]])
end
end
-- ============================================================
-- HIELO DETECTION AND AUTO RESET/REJOIN
-- ============================================================
local function checkHielo()
while task.wait(0.05) do
if isOn and not isResetting then
local char = workspace:FindFirstChild(LocalPlayer.Name)
if char and char:FindFirstChild("Hielo") then
isResetting = true
-- Send reset event
if shared.ResetCharacter then
shared.ResetCharacter()
else
if LocalPlayer.Character then
LocalPlayer.Character:BreakJoints()
end
end
-- Wait up to 5 seconds for character to respawn and Hielo to be gone
local success = false
local startTime = tick()
while tick() - startTime < 5 do
LocalPlayer.CharacterAdded:Wait()
task.wait(0.5)
local newChar = workspace:FindFirstChild(LocalPlayer.Name)
if newChar and not newChar:FindFirstChild("Hielo") then
success = true
break
end
end
if not success then
-- Still frozen or Hielo still there after 5 seconds, rejoin
saveButtonStates()
setupAutoExecute()
TeleportService:TeleportToPlaceInstance(PLACE_ID, game.JobId, LocalPlayer)
return
end
isResetting = false
end
end
end
end
-- ============================================================
-- HOVER EFFECTS
-- ============================================================
if MonkeyTitle then
AntiFreeze.MouseEnter:Connect(function()
MonkeyTitle.Text = "AUTO RESETS ON FREEZE"
end)
AntiFreeze.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
AntiFreeze.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
AntiFreeze.Text = "ANTI FREEZE: ON"
AntiFreeze.TextColor3 = Color3.fromRGB(0, 255, 0)
else
AntiFreeze.Text = "ANTI FREEZE: OFF"
AntiFreeze.TextColor3 = Color3.fromRGB(255, 255, 255)
end
end)
-- ============================================================
-- START HIELO MONITORING
-- ============================================================
task.spawn(checkHielo)
-- ============================================================
-- LOAD STATES ON JOIN
-- ============================================================
task.spawn(loadAndApplyStates)
end;
task.spawn(C_11);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AntiGlow.AntiGlowScript
local function C_13()
local script = G2L["13"];
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local AntiGlow = script.Parent
local isEnabled = false
local antiGlowConnections = {}
local godConnections = {}
--------------------------------------------------
-- FIND MONKEYTITLE
--------------------------------------------------
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then return p end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then return v end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
--------------------------------------------------
-- ANTI GLOW
--------------------------------------------------
local function enableAntiGlow()
for _, conn in pairs(antiGlowConnections) do
if conn then conn:Disconnect() end
end
antiGlowConnections = {}
table.insert(antiGlowConnections, RunService.RenderStepped:Connect(function()
if not isEnabled then return end
local character = LocalPlayer.Character
if not character then return end
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
if part.Material == Enum.Material.Neon then
part.Material = Enum.Material.Plastic
end
if part.Color == Color3.fromRGB(0, 0, 0) then
part.Color = Color3.fromRGB(163, 162, 165)
end
end
end
end))
end
local function disableAntiGlow()
for _, conn in pairs(antiGlowConnections) do
if conn then conn:Disconnect() end
end
antiGlowConnections = {}
end
--------------------------------------------------
-- GOD MODE
--------------------------------------------------
local function enableGodMode()
for _, c in pairs(godConnections) do
pcall(function() c:Disconnect() end)
end
godConnections = {}
table.insert(godConnections, RunService.Heartbeat:Connect(function()
if not isEnabled then return end
local char = LocalPlayer.Character
if not char then return end
local hum = char:FindFirstChildOfClass("Humanoid")
if hum and hum.Parent then
hum.MaxHealth = math.huge
hum.Health = math.huge
end
end))
end
local function disableGodMode()
for _, c in pairs(godConnections) do
pcall(function() c:Disconnect() end)
end
godConnections = {}
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.MaxHealth = 100
hum.Health = 100
end
end
end
--------------------------------------------------
-- CHARACTER ADDED
--------------------------------------------------
LocalPlayer.CharacterAdded:Connect(function(character)
if isEnabled then
character:WaitForChild("Humanoid")
task.wait(0.1)
enableAntiGlow()
enableGodMode()
end
end)
--------------------------------------------------
-- TOGGLE
--------------------------------------------------
AntiGlow.MouseButton1Click:Connect(function()
isEnabled = not isEnabled
if isEnabled then
AntiGlow.Text = "ANTI GLOW, TOXIFY: ON"
AntiGlow.TextColor3 = Color3.fromRGB(0, 255, 0)
enableAntiGlow()
enableGodMode()
else
AntiGlow.Text = "ANTI GLOW, TOXIFY: OFF"
AntiGlow.TextColor3 = Color3.fromRGB(255, 255, 255)
disableAntiGlow()
disableGodMode()
end
end)
--------------------------------------------------
-- HOVER TOOLTIP
--------------------------------------------------
if MonkeyTitle then
AntiGlow.MouseEnter:Connect(function()
MonkeyTitle.Text = "PREVENTS YOU FROM DYING FROM GLOW OR TOXIFY"
end)
AntiGlow.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
end;
task.spawn(C_13);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.TargetUserHelp.TargetUserHelp
local function C_15()
local script = G2L["15"];
local TargetUserHelp = script.Parent
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- HOVER TOOLTIP
-- ============================================================
if MonkeyTitle then
TargetUserHelp.MouseEnter:Connect(function()
MonkeyTitle.Text = "PUT A USERNAME, DISPLAY, OR ID HERE WILL ONLY TARGET FLING THOSE SPECIFIC USERS. LEAVE BLANK TO TARGET ALL"
end)
TargetUserHelp.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
end;
task.spawn(C_15);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.HackBkit.LocalScript
local function C_17()
local script = G2L["17"];
print("Hello world!")
end;
task.spawn(C_17);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.ToggleAll.LocalScript
local function C_19()
local script = G2L["19"];
print("Hello world!")
end;
task.spawn(C_19);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.AgarWare.AgarWareScript
local function C_1b()
local script = G2L["1b"];
local AgarWare = script.Parent
local originalText = AgarWare.Text
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- BUTTON EXECUTE
-- ============================================================
AgarWare.MouseButton1Click:Connect(function()
AgarWare.Text = "LOADING..."
task.spawn(function()
local success, err = pcall(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/agarv69/UNIVERSAL-SCRIPT-BY-AGARV/refs/heads/main/1"))()
end)
if success then
AgarWare.Text = "SUCCESSFULLY EXECUTED"
task.wait(3)
AgarWare.Text = originalText
else
AgarWare.Text = "FAILED TO EXECUTE"
task.wait(3)
AgarWare.Text = originalText
end
end)
end)
-- ============================================================
-- HOVER TOOLTIP
-- ============================================================
if MonkeyTitle then
AgarWare.MouseEnter:Connect(function()
MonkeyTitle.Text = "EXECUTES AGAR WARE SCRIPT"
end)
AgarWare.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
end;
task.spawn(C_1b);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Left.FloodChat.FloodChatScript
local function C_1d()
local script = G2L["1d"];
local Players = game:GetService("Players")
local TextChatService = game:GetService("TextChatService")
local LocalPlayer = Players.LocalPlayer
local FloodChat = script.Parent
local isOn = false
local spamTask = nil
local messages = {
"🚨AGAR WARE MIGHT JUST BE THE BEST SCRIPT EVER?",
"🚨HAVE YOU HEARD ABOUT THIS NEW META SCRIPT?",
"🚨WOW I DIDNT EXPECT AGAR WARE TO BE THIS GOOD!",
"🚨AGAR WARE PROTECTED MY BUILDS FROM GRIEFS!",
"🚨I LOVE THIS NEW SCRIPT, AGAR WARE!",
"🚨WOW AGAR WARE IS ALSO KEYLESS AND MOBILE FRIENDLY?",
"🚨AGAR WARE HAS SUCH GOOD UI!",
"🚨ITS EVEN OPEN SOURCE!",
}
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- HELPER FUNCTIONS
-- ============================================================
local function isMuted()
local char = LocalPlayer.Character
if not char then return false end
local tiempo = char:FindFirstChild("Tiempo")
if not tiempo then return false end
local text1 = tiempo:FindFirstChild("Text1")
if not text1 then return false end
return string.find(text1.Text, "🤐") ~= nil
end
local function sendChat(message)
pcall(function()
local channels = TextChatService:WaitForChild("TextChannels", 2)
if channels then
local general = channels:FindFirstChild("RBXGeneral")
if general then
general:SendAsync(message)
return
end
end
local chatEvents = game:GetService("ReplicatedStorage"):WaitForChild("DefaultChatSystemChatEvents", 2)
if chatEvents then
local sayMessage = chatEvents:WaitForChild("SayMessageRequest", 2)
if sayMessage then
sayMessage:FireServer(message, "All")
end
end
end)
end
local function shuffled(t)
local copy = {table.unpack(t)}
for i = #copy, 2, -1 do
local j = math.random(1, i)
copy[i], copy[j] = copy[j], copy[i]
end
return copy
end
-- ============================================================
-- SPAM FUNCTIONS
-- ============================================================
local function startSpam()
isOn = true
-- Wait 3 seconds before starting
task.wait(1)
spamTask = task.spawn(function()
while isOn do
-- Check if custom message exists
if shared.CustomFloodMessage then
-- Use custom message only
local finalMsg = isMuted() and (shared.CustomFloodMessage .. " SHIT") or shared.CustomFloodMessage
sendChat(finalMsg)
task.wait(15)
else
-- Use default messages - pick ONE random message
local randomMsg = messages[math.random(1, #messages)]
local finalMsg = isMuted() and (randomMsg .. " SHIT") or randomMsg
sendChat(finalMsg)
task.wait(15)
end
end
end)
end
local function stopSpam()
isOn = false
if spamTask then
task.cancel(spamTask)
spamTask = nil
end
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
FloodChat.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
FloodChat.Text = "FLOOD CHAT (AGAR WARE): ON"
FloodChat.TextColor3 = Color3.fromRGB(0, 255, 0)
startSpam()
else
FloodChat.Text = "FLOOD CHAT (AGAR WARE): OFF"
FloodChat.TextColor3 = Color3.fromRGB(255, 255, 255)
stopSpam()
end
end)
-- ============================================================
-- HOVER TOOLTIP
-- ============================================================
if MonkeyTitle then
FloodChat.MouseEnter:Connect(function()
MonkeyTitle.Text = "FLOODS CHAT WITH MESSAGES EVERY 15 SECONDS"
end)
FloodChat.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- CLEANUP
-- ============================================================
script.AncestryChanged:Connect(function()
if not script:IsDescendantOf(game) then
stopSpam()
end
end)
end;
task.spawn(C_1d);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.RejoinNoclip.RejoinNoclipScript
local function C_20()
local script = G2L["20"];
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local LocalPlayer = Players.LocalPlayer
local PLACE_ID = game.PlaceId
local RejoinNoclip = script.Parent
local isOn = false
local cooldown = false
local lastRejoinTime = 0
local FILE_NAME = "monkeygang_rejoin_state.txt"
local TIMESTAMP_FILE = "monkeygang_rejoin_timestamp.txt"
-- ============================================================
-- FIND MONKEYTITLE AND SCREENGUI
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
local ScreenGui = getScreenGui()
-- ============================================================
-- FILE SAVE/LOAD FUNCTIONS
-- ============================================================
local function readFile()
local success, result = pcall(function()
return readfile(FILE_NAME)
end)
if success and result and result ~= "" then return result end
return nil
end
local function writeFile(content)
pcall(function()
writefile(FILE_NAME, content)
end)
end
local function saveButtonStates()
if not ScreenGui then return end
local lines = {}
table.insert(lines, "autoRejoin=true")
-- Save GUI position
local MainFrame = ScreenGui:FindFirstChild("MainFrame")
if MainFrame then
local pos = MainFrame.Position
table.insert(lines, "posXScale=" .. pos.X.Scale)
table.insert(lines, "posXOffset=" .. pos.X.Offset)
table.insert(lines, "posYScale=" .. pos.Y.Scale)
table.insert(lines, "posYOffset=" .. pos.Y.Offset)
end
-- Find all TextButtons that are toggle buttons (have ON/OFF in text)
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local text = descendant.Text
-- Check if it's a toggle button by looking for "ON" or "OFF" in the text
if text:match(": ON$") or text:match(": OFF$") then
local isEnabled = descendant.TextColor3 == Color3.fromRGB(0, 255, 0)
table.insert(lines, descendant.Name .. "=" .. tostring(isEnabled))
end
elseif descendant:IsA("TextBox") then
-- Save TextBox values
if descendant.Text ~= "" and descendant.Text ~= descendant.PlaceholderText then
table.insert(lines, descendant.Name .. "_text=" .. descendant.Text)
end
end
end
writeFile(table.concat(lines, "\n"))
-- Save timestamp of when we triggered the rejoin
pcall(function()
writefile(TIMESTAMP_FILE, tostring(tick()))
end)
end
local function loadAndApplyStates()
-- Check if rejoin timestamp exists and is recent (within 30 seconds)
local timestampData = nil
pcall(function()
timestampData = readfile(TIMESTAMP_FILE)
end)
if not timestampData then
-- No timestamp = manual rejoin, don't restore
return
end
local rejoinTime = tonumber(timestampData)
if not rejoinTime then return end
local timeSinceRejoin = tick() - rejoinTime
-- If more than 30 seconds, this is a manual rejoin
if timeSinceRejoin > 30 then
pcall(function()
delfile(TIMESTAMP_FILE)
end)
return
end
-- This is an auto-rejoin, restore states
local data = readFile()
if not data then return end
local states = {}
for line in data:gmatch("[^\n]+") do
local key, value = line:match("(.-)=(.+)")
if key and value then
states[key] = value
end
end
-- Only apply if this was an auto-rejoin
if states["autoRejoin"] ~= "true" then return end
if not ScreenGui then return end
-- Restore GUI position
local MainFrame = ScreenGui:FindFirstChild("MainFrame")
if MainFrame then
local xScale = tonumber(states["posXScale"])
local xOffset = tonumber(states["posXOffset"])
local yScale = tonumber(states["posYScale"])
local yOffset = tonumber(states["posYOffset"])
if xScale and xOffset and yScale and yOffset then
MainFrame.Position = UDim2.new(xScale, xOffset, yScale, yOffset)
end
end
-- Wait 0.2 seconds before clicking buttons
task.wait(0.2)
-- First: Restore TextBox values and fire FocusLost
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextBox") then
local savedText = states[descendant.Name .. "_text"]
if savedText then
descendant.Text = savedText
task.wait(0.05)
pcall(function()
firesignal(descendant.FocusLost, false)
end)
end
end
end
task.wait(0.05)
-- Second: Re-toggle buttons that were ON
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local savedState = states[descendant.Name]
if savedState == "true" then
-- Check if button is currently OFF (white text)
if descendant.TextColor3 == Color3.fromRGB(255, 255, 255) then
-- Click the button to turn it ON
pcall(function()
firesignal(descendant.MouseButton1Click)
end)
task.wait(0.1) -- Wait 0.1 seconds before next button
end
end
end
end
-- Clear the files after restoring
writeFile("")
pcall(function()
delfile(TIMESTAMP_FILE)
end)
end
-- ============================================================
-- AUTO-EXECUTE SETUP
-- ============================================================
local function setupAutoExecute()
local queueFn = queue_on_teleport
or (syn and syn.queue_on_teleport)
or (fluxus and fluxus.queue_on_teleport)
if queueFn then
queueFn([[
loadstring(game:HttpGet("https://raw.githubusercontent.com/agarv69/UNIVERSAL-SCRIPT-BY-AGARV/refs/heads/main/MonkeyGang"))()
]])
end
end
-- ============================================================
-- NOCLIP DETECTION AND AUTO REJOIN
-- ============================================================
local function checkNoclipAndRejoin()
while task.wait(0.5) do
if not isOn then continue end
if cooldown then continue end
if tick() - lastRejoinTime < 10 then continue end
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if hrp and hrp.CollisionGroup == "NoClip" then
cooldown = true
lastRejoinTime = tick()
-- Save button states before rejoining
saveButtonStates()
-- Setup auto-execute
setupAutoExecute()
-- Rejoin the server
TeleportService:TeleportToPlaceInstance(PLACE_ID, game.JobId, LocalPlayer)
task.delay(10, function()
cooldown = false
end)
end
end
end
-- ============================================================
-- HOVER EFFECTS
-- ============================================================
if MonkeyTitle then
RejoinNoclip.MouseEnter:Connect(function()
MonkeyTitle.Text = "REJOINS ON NOCLIP"
end)
RejoinNoclip.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
RejoinNoclip.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
RejoinNoclip.Text = "REJOIN ON NOCLIP: ON"
RejoinNoclip.TextColor3 = Color3.fromRGB(0, 255, 0)
else
RejoinNoclip.Text = "REJOIN ON NOCLIP: OFF"
RejoinNoclip.TextColor3 = Color3.fromRGB(255, 255, 255)
end
end)
-- ============================================================
-- START NOCLIP MONITORING
-- ============================================================
task.spawn(checkNoclipAndRejoin)
-- ============================================================
-- LOAD STATES ON JOIN (if this was an auto-rejoin)
-- ============================================================
task.spawn(loadAndApplyStates)
end;
task.spawn(C_20);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.RejoinMute.RejoinMuteScript
local function C_23()
local script = G2L["23"];
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local LocalPlayer = Players.LocalPlayer
local PLACE_ID = game.PlaceId
local AntiMute = script.Parent
local isOn = false
local cooldown = false
local lastRejoinTime = 0
local FILE_NAME = "monkeygang_rejoin_state.txt"
local TIMESTAMP_FILE = "monkeygang_rejoin_timestamp.txt"
-- ============================================================
-- FIND MONKEYTITLE AND SCREENGUI
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
local ScreenGui = getScreenGui()
-- ============================================================
-- FILE SAVE/LOAD FUNCTIONS
-- ============================================================
local function readFile()
local success, result = pcall(function()
return readfile(FILE_NAME)
end)
if success and result and result ~= "" then return result end
return nil
end
local function writeFile(content)
pcall(function()
writefile(FILE_NAME, content)
end)
end
local function saveButtonStates()
if not ScreenGui then return end
local lines = {}
table.insert(lines, "autoRejoin=true")
-- Save GUI position
local MainFrame = ScreenGui:FindFirstChild("MainFrame")
if MainFrame then
local pos = MainFrame.Position
table.insert(lines, "posXScale=" .. pos.X.Scale)
table.insert(lines, "posXOffset=" .. pos.X.Offset)
table.insert(lines, "posYScale=" .. pos.Y.Scale)
table.insert(lines, "posYOffset=" .. pos.Y.Offset)
end
-- Find all TextButtons that are toggle buttons (have ON/OFF in text)
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local text = descendant.Text
if text:match(": ON$") or text:match(": OFF$") then
local isEnabled = descendant.TextColor3 == Color3.fromRGB(0, 255, 0)
table.insert(lines, descendant.Name .. "=" .. tostring(isEnabled))
end
elseif descendant:IsA("TextBox") then
-- Save TextBox values
if descendant.Text ~= "" and descendant.Text ~= descendant.PlaceholderText then
table.insert(lines, descendant.Name .. "_text=" .. descendant.Text)
end
end
end
writeFile(table.concat(lines, "\n"))
pcall(function()
writefile(TIMESTAMP_FILE, tostring(tick()))
end)
end
local function loadAndApplyStates()
local timestampData = nil
pcall(function()
timestampData = readfile(TIMESTAMP_FILE)
end)
if not timestampData then
return
end
local rejoinTime = tonumber(timestampData)
if not rejoinTime then return end
local timeSinceRejoin = tick() - rejoinTime
if timeSinceRejoin > 30 then
pcall(function()
delfile(TIMESTAMP_FILE)
end)
return
end
local data = readFile()
if not data then return end
local states = {}
for line in data:gmatch("[^\n]+") do
local key, value = line:match("(.-)=(.+)")
if key and value then
states[key] = value
end
end
if states["autoRejoin"] ~= "true" then return end
if not ScreenGui then return end
-- Restore GUI position
local MainFrame = ScreenGui:FindFirstChild("MainFrame")
if MainFrame then
local xScale = tonumber(states["posXScale"])
local xOffset = tonumber(states["posXOffset"])
local yScale = tonumber(states["posYScale"])
local yOffset = tonumber(states["posYOffset"])
if xScale and xOffset and yScale and yOffset then
MainFrame.Position = UDim2.new(xScale, xOffset, yScale, yOffset)
end
end
-- First: Restore TextBox values and fire FocusLost
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextBox") then
local savedText = states[descendant.Name .. "_text"]
if savedText then
descendant.Text = savedText
task.wait(0.05)
pcall(function()
firesignal(descendant.FocusLost, false)
end)
end
end
end
task.wait(0.05)
-- Second: Re-toggle buttons that were ON
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local savedState = states[descendant.Name]
if savedState == "true" then
if descendant.TextColor3 == Color3.fromRGB(255, 255, 255) then
pcall(function()
firesignal(descendant.MouseButton1Click)
end)
task.wait(0.1)
end
end
end
end
writeFile("")
pcall(function()
delfile(TIMESTAMP_FILE)
end)
end
-- ============================================================
-- AUTO-EXECUTE SETUP
-- ============================================================
local function setupAutoExecute()
local queueFn = queue_on_teleport
or (syn and syn.queue_on_teleport)
or (fluxus and fluxus.queue_on_teleport)
if queueFn then
queueFn([[
loadstring(game:HttpGet("https://raw.githubusercontent.com/agarv69/UNIVERSAL-SCRIPT-BY-AGARV/refs/heads/main/MonkeyGang"))()
]])
end
end
-- ============================================================
-- MUTE/DUMB DETECTION AND AUTO REJOIN
-- ============================================================
local function checkMuteAndRejoin()
while task.wait(0.5) do
if not isOn then continue end
if cooldown then continue end
if tick() - lastRejoinTime < 10 then continue end
local char = LocalPlayer.Character
if not char then continue end
local tiempo = char:FindFirstChild("Tiempo")
if tiempo then
local text1 = tiempo:FindFirstChild("Text1")
if text1 and text1.Text then
local timeText = text1.Text
-- Check if there's an emoji/symbol after the time (mute/dumb indicator)
if string.match(timeText, "%d+%s+.") then
cooldown = true
lastRejoinTime = tick()
-- Save button states
saveButtonStates()
-- Setup auto-execute
setupAutoExecute()
-- Rejoin
TeleportService:TeleportToPlaceInstance(PLACE_ID, game.JobId, LocalPlayer)
task.delay(10, function()
cooldown = false
end)
end
end
end
end
end
-- ============================================================
-- HOVER EFFECTS
-- ============================================================
if MonkeyTitle then
AntiMute.MouseEnter:Connect(function()
MonkeyTitle.Text = "REJOINS WHEN MUTED OR DUMBED"
end)
AntiMute.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
AntiMute.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
AntiMute.Text = "REJOIN MUTE/DUMB: ON"
AntiMute.TextColor3 = Color3.fromRGB(0, 255, 0)
else
AntiMute.Text = "REJOIN MUTE/DUMB: OFF"
AntiMute.TextColor3 = Color3.fromRGB(255, 255, 255)
end
end)
-- ============================================================
-- START MUTE MONITORING
-- ============================================================
task.spawn(checkMuteAndRejoin)
-- ============================================================
-- LOAD STATES ON JOIN
-- ============================================================
task.spawn(loadAndApplyStates)
end;
task.spawn(C_23);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.AntiInvis.AntiInvisScript
local function C_25()
local script = G2L["25"];
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local AntiInvis = script.Parent
local isOn = false
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- TRANSPARENCY DETECTION AND AUTO RESET
-- ============================================================
local function checkTransparency()
while task.wait(0.1) do
if not isOn then continue end
local char = workspace:FindFirstChild(LocalPlayer.Name)
if not char then continue end
local upperTorso = char:FindFirstChild("UpperTorso")
if upperTorso and upperTorso.Transparency == 1 then
-- Reset character
if shared.ResetCharacter then
shared.ResetCharacter()
else
if LocalPlayer.Character then
LocalPlayer.Character:BreakJoints()
end
end
-- Wait for respawn before checking again
LocalPlayer.CharacterAdded:Wait()
task.wait(1)
end
end
end
-- ============================================================
-- HOVER EFFECTS
-- ============================================================
if MonkeyTitle then
AntiInvis.MouseEnter:Connect(function()
MonkeyTitle.Text = "AUTO RESETS WHEN INVISIBLE"
end)
AntiInvis.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
AntiInvis.MouseButton1Click:Connect(function()
isOn = not isOn
if isOn then
AntiInvis.Text = "ANTI INVISIBLE: ON"
AntiInvis.TextColor3 = Color3.fromRGB(0, 255, 0)
else
AntiInvis.Text = "ANTI INVISIBLE: OFF"
AntiInvis.TextColor3 = Color3.fromRGB(255, 255, 255)
end
end)
-- ============================================================
-- START TRANSPARENCY MONITORING
-- ============================================================
task.spawn(checkTransparency)
end;
task.spawn(C_25);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.AntiNan.AntiNanScript
local function C_27()
local script = G2L["27"];
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local AntiNan = script.Parent
local isEnabled = false
local connection = nil
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- ANTI-NAN FUNCTIONS
-- ============================================================
local function isNaN(n)
return n ~= n
end
local function isSafe(cf)
local p = cf.Position
return not (isNaN(p.X) or isNaN(p.Y) or isNaN(p.Z) or
math.abs(p.X) == math.huge or
math.abs(p.Y) == math.huge or
math.abs(p.Z) == math.huge)
end
local function onCharacterAdded(character)
if not isEnabled then return end
local hrp = character:WaitForChild("HumanoidRootPart")
hrp.Anchored = true
task.wait(0.1)
if not isSafe(hrp.CFrame) then
hrp.CFrame = CFrame.new(0, 50, 0)
end
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
local otherHRP = plr.Character.HumanoidRootPart
if isSafe(otherHRP.CFrame) then
hrp.CFrame = otherHRP.CFrame + Vector3.new(0, 5, 0)
break
end
end
end
hrp.Anchored = false
end
local function enable()
isEnabled = true
connection = LocalPlayer.CharacterAdded:Connect(onCharacterAdded)
if LocalPlayer.Character then
onCharacterAdded(LocalPlayer.Character)
end
end
local function disable()
isEnabled = false
if connection then
connection:Disconnect()
connection = nil
end
end
-- ============================================================
-- BUTTON TOGGLE
-- ============================================================
AntiNan.MouseButton1Click:Connect(function()
isEnabled = not isEnabled
if isEnabled then
AntiNan.Text = "ANTI MAPTIDE NAN: ON"
AntiNan.TextColor3 = Color3.fromRGB(0, 255, 0)
enable()
else
AntiNan.Text = "ANTI MAPTIDE NAN: OFF"
AntiNan.TextColor3 = Color3.fromRGB(255, 255, 255)
disable()
end
end)
-- ============================================================
-- HOVER TOOLTIP
-- ============================================================
if MonkeyTitle then
AntiNan.MouseEnter:Connect(function()
MonkeyTitle.Text = "PREVENTS YOU FROM GETTING STUCK IN THE VOID"
end)
AntiNan.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- CLEANUP
-- ============================================================
script.AncestryChanged:Connect(function()
if not script:IsDescendantOf(game) then
disable()
end
end)
end;
task.spawn(C_27);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.CustomMessage.CustomMessageScript
local function C_29()
local script = G2L["29"];
local CustomMessage = script.Parent
-- ============================================================
-- SHOW CURRENT MESSAGE ON LOAD
-- ============================================================
shared.CustomFloodMessage = shared.CustomFloodMessage or nil
CustomMessage.Text = shared.CustomFloodMessage or ""
-- ============================================================
-- UPDATE MESSAGE WHEN TEXTBOX CHANGES
-- ============================================================
CustomMessage.FocusLost:Connect(function()
if CustomMessage.Text == "" then
shared.CustomFloodMessage = nil
else
shared.CustomFloodMessage = CustomMessage.Text
end
end)
end;
task.spawn(C_29);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.CloseGui.CloseGuiScript
local function C_2b()
local script = G2L["2b"];
local CloseGui = script.Parent
-- Find the ScreenGui (MonkeyGui)
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
-- Close button click
CloseGui.MouseButton1Click:Connect(function()
local MonkeyGui = getScreenGui()
if not MonkeyGui then return end
-- Find all toggle buttons that are ON and turn them OFF
for _, descendant in pairs(MonkeyGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local text = descendant.Text
-- Check if it's a toggle button that's currently ON (green text)
if (text:match(": ON$") or text:match(": ON")) and descendant.TextColor3 == Color3.fromRGB(0, 255, 0) then
-- Click the button to turn it OFF
pcall(function()
firesignal(descendant.MouseButton1Click)
end)
task.wait(0.1) -- Wait between each toggle
end
end
end
-- Wait a bit for all scripts to disable
task.wait(0.5)
-- Now destroy the GUI
MonkeyGui:Destroy()
end)
end;
task.spawn(C_2b);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.Rejoin.RejoinScript
local function C_2d()
local script = G2L["2d"];
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")
local LocalPlayer = Players.LocalPlayer
local PLACE_ID = game.PlaceId
local Rejoin = script.Parent
local FILE_NAME = "monkeygang_rejoin_state.txt"
local TIMESTAMP_FILE = "monkeygang_rejoin_timestamp.txt"
-- ============================================================
-- FIND MONKEYTITLE AND SCREENGUI
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
local ScreenGui = getScreenGui()
-- ============================================================
-- FILE SAVE/LOAD FUNCTIONS
-- ============================================================
local function writeFile(content)
pcall(function()
writefile(FILE_NAME, content)
end)
end
local function saveButtonStates()
if not ScreenGui then return end
local lines = {}
table.insert(lines, "autoRejoin=true")
-- Save GUI position
local MainFrame = ScreenGui:FindFirstChild("MainFrame")
if MainFrame then
local pos = MainFrame.Position
table.insert(lines, "posXScale=" .. pos.X.Scale)
table.insert(lines, "posXOffset=" .. pos.X.Offset)
table.insert(lines, "posYScale=" .. pos.Y.Scale)
table.insert(lines, "posYOffset=" .. pos.Y.Offset)
end
-- Find all TextButtons that are toggle buttons (have ON/OFF in text)
for _, descendant in pairs(ScreenGui:GetDescendants()) do
if descendant:IsA("TextButton") then
local text = descendant.Text
if text:match(": ON$") or text:match(": OFF$") then
local isEnabled = descendant.TextColor3 == Color3.fromRGB(0, 255, 0)
table.insert(lines, descendant.Name .. "=" .. tostring(isEnabled))
end
elseif descendant:IsA("TextBox") then
-- Save TextBox values
if descendant.Text ~= "" and descendant.Text ~= descendant.PlaceholderText then
table.insert(lines, descendant.Name .. "_text=" .. descendant.Text)
end
end
end
writeFile(table.concat(lines, "\n"))
pcall(function()
writefile(TIMESTAMP_FILE, tostring(tick()))
end)
end
-- ============================================================
-- AUTO-EXECUTE SETUP
-- ============================================================
local function setupAutoExecute()
local queueFn = queue_on_teleport
or (syn and syn.queue_on_teleport)
or (fluxus and fluxus.queue_on_teleport)
if queueFn then
queueFn([[
loadstring(game:HttpGet("https://raw.githubusercontent.com/agarv69/UNIVERSAL-SCRIPT-BY-AGARV/refs/heads/main/MonkeyGang"))()
]])
end
end
-- ============================================================
-- HOVER EFFECTS
-- ============================================================
if MonkeyTitle then
Rejoin.MouseEnter:Connect(function()
MonkeyTitle.Text = "MANUALLY REJOIN AND RESTORE ALL SETTINGS"
end)
Rejoin.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
-- ============================================================
-- BUTTON CLICK
-- ============================================================
Rejoin.MouseButton1Click:Connect(function()
-- Save button states
saveButtonStates()
-- Setup auto-execute
setupAutoExecute()
-- Rejoin
TeleportService:TeleportToPlaceInstance(PLACE_ID, game.JobId, LocalPlayer)
end)
end;
task.spawn(C_2d);
-- StarterGui.MonkeyGui.MainFrame.ScrollingFrame.Right.TargetUser.TargetUserHelpChanger
local function C_2f()
local script = G2L["2f"];
local TargetUserHelp = script.Parent
-- ============================================================
-- FIND MONKEYTITLE
-- ============================================================
local function getScreenGui()
local p = script.Parent
while p do
if p:IsA("ScreenGui") then
return p
end
p = p.Parent
end
end
local function findDescendant(name)
local ScreenGui = getScreenGui()
if not ScreenGui then return nil end
for _, v in pairs(ScreenGui:GetDescendants()) do
if v.Name == name then
return v
end
end
end
local MonkeyTitle = findDescendant("MonkeyTitle")
-- ============================================================
-- HOVER TOOLTIP
-- ============================================================
if MonkeyTitle then
TargetUserHelp.MouseEnter:Connect(function()
MonkeyTitle.Text = "ENTER A USERNAME, DISPLAY OR ID. TO SET MULTIPLE PLAYERS SEPARATE BY COMMAS. EG: \"DISPLAY1, USER2, 1234567890\""
end)
TargetUserHelp.MouseLeave:Connect(function()
MonkeyTitle.Text = "🔥THE MONKEY GANG GUI🔥"
end)
end
end;
task.spawn(C_2f);
return G2L["1"], require;Features & Information
opensourced, your obfuscators suck, agarv
Community Comments (1)
More Scripts for The Chosen One
Keyless

Keyless
Keyless

Bro, why does my info go to a webhook in this script? And whats this? "return _InputService:GetPlatform().Name"