Monkey gang opensourced
Key Required

Monkey gang opensourced

The Chosen OneTheDeobfuscatorTheDeobfuscator 748 views 1.4K executesUpdated Jun 21, 2026
2.5/ 5(2 votes)
1150% Positive
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
#monkey gang#monkey#tco#the chosen one#raid

Community Comments (1)

SmoreBUTTSSmoreBUTTSAug 20, 2026

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

More Scripts for The Chosen One