if IY_LOADED and not _G.IY_DEBUG then -- error("Infinite Yield is already running!", 0) return end -- Arc Yield: mark as loaded immediately to prevent normal IY from loading pcall(function() getgenv().IY_LOADED = true end) pcall(function() getgenv().ARC_YIELD_LOADED = true end) pcall(function() _G.ARC_YIELD_LOADED = true end) if not game:IsLoaded() then game.Loaded:Wait() end -- Auto-unlock FPS cap to max on load pcall(function() setfpscap(1/0) end) pcall(function() setfpscap(math.huge) end) function missing(t, f, fallback) if type(f) == t then return f end return fallback end cloneref = missing("function", cloneref, function(...) return ... end) sethidden = missing("function", sethiddenproperty or set_hidden_property or set_hidden_prop) gethidden = missing("function", gethiddenproperty or get_hidden_property or get_hidden_prop) queueteleport = missing("function", queue_on_teleport or (syn and syn.queue_on_teleport) or (fluxus and fluxus.queue_on_teleport)) httprequest = missing("function", request or http_request or (syn and syn.request) or (http and http.request) or (fluxus and fluxus.request)) everyClipboard = missing("function", setclipboard or toclipboard or set_clipboard or (Clipboard and Clipboard.set)) firetouchinterest = missing("function", firetouchinterest) waxwritefile, waxreadfile = writefile, readfile writefile = missing("function", waxwritefile) and function(file, data, safe) if safe == true then return pcall(waxwritefile, file, data) end waxwritefile(file, data) end readfile = missing("function", waxreadfile) and function(file, safe) if safe == true then return pcall(waxreadfile, file) end return waxreadfile(file) end isfile = missing("function", isfile, readfile and function(file) local success, result = pcall(function() return readfile(file) end) return success and result ~= nil and result ~= "" end) makefolder = missing("function", makefolder) isfolder = missing("function", isfolder) waxgetcustomasset = missing("function", getcustomasset or getsynasset) hookfunction = missing("function", hookfunction) hookmetamethod = missing("function", hookmetamethod) getnamecallmethod = missing("function", getnamecallmethod or get_namecall_method) checkcaller = missing("function", checkcaller, function() return false end) newcclosure = missing("function", newcclosure) getgc = missing("function", getgc or get_gc_objects) setthreadidentity = missing("function", setthreadidentity or (syn and syn.set_thread_identity) or syn_context_set or setthreadcontext) replicatesignal = missing("function", replicatesignal) getconnections = missing("function", getconnections or get_signal_cons) Services = setmetatable({}, { __index = function(self, name) local success, cache = pcall(function() return cloneref(game:GetService(name)) end) if success then rawset(self, name, cache) return cache else error("Invalid Service: " .. tostring(name)) end end }) Players = Services.Players UserInputService = Services.UserInputService TweenService = Services.TweenService HttpService = Services.HttpService MarketplaceService = Services.MarketplaceService RunService = Services.RunService TeleportService = Services.TeleportService StarterGui = Services.StarterGui GuiService = Services.GuiService Lighting = Services.Lighting ContextActionService = Services.ContextActionService ReplicatedStorage = Services.ReplicatedStorage GroupService = Services.GroupService PathService = Services.PathfindingService SoundService = Services.SoundService Teams = Services.Teams StarterPlayer = Services.StarterPlayer InsertService = Services.InsertService ChatService = Services.Chat ProximityPromptService = Services.ProximityPromptService ContentProvider = Services.ContentProvider StatsService = Services.Stats MaterialService = Services.MaterialService AvatarEditorService = Services.AvatarEditorService TextService = Services.TextService TextChatService = Services.TextChatService CaptureService = Services.CaptureService VoiceChatService = Services.VoiceChatService SocialService = Services.SocialService PlayerGui = cloneref(Players.LocalPlayer:FindFirstChildWhichIsA("PlayerGui")) COREGUI = Services.CoreGui or PlayerGui IYMouse = cloneref(Players.LocalPlayer:GetMouse()) PlaceId, JobId = game.PlaceId, game.JobId xpcall(function() IsOnMobile = table.find({Enum.Platform.Android, Enum.Platform.IOS}, UserInputService:GetPlatform()) end, function() IsOnMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled end) isLegacyChat = TextChatService.ChatVersion == Enum.ChatVersion.LegacyChatService --[[rcdEnabled = select(2, pcall(function() return gethidden(workspace, "RejectCharacterDeletions") ~= Enum.RejectCharacterDeletions.Disabled end)) or false]] -- xylex & europa local iyassets = { ["infiniteyield/assets/bindsandplugins.png"] = "rbxassetid://5147695474", ["infiniteyield/assets/close.png"] = "rbxassetid://5054663650", ["infiniteyield/assets/editaliases.png"] = "rbxassetid://5147488658", ["infiniteyield/assets/editkeybinds.png"] = "rbxassetid://129697930", ["infiniteyield/assets/edittheme.png"] = "rbxassetid://4911962991", ["infiniteyield/assets/editwaypoints.png"] = "rbxassetid://5147488592", ["infiniteyield/assets/imgstudiopluginlogo.png"] = "rbxassetid://4113050383", ["infiniteyield/assets/logo.png"] = "rbxassetid://1352543873", ["infiniteyield/assets/minimize.png"] = "rbxassetid://2406617031", ["infiniteyield/assets/pin.png"] = "rbxassetid://6234691350", ["infiniteyield/assets/reference.png"] = "rbxassetid://3523243755", ["infiniteyield/assets/settings.png"] = "rbxassetid://1204397029" } local function getcustomasset(asset) if waxgetcustomasset then local success, result = pcall(function() return waxgetcustomasset(asset) end) if success and result ~= nil and result ~= "" then return result end end return iyassets[asset] end if makefolder and isfolder and writefile and isfile then pcall(function() -- good executor trust local assets = "https://raw.githubusercontent.com/infyiff/backup/refs/heads/main/" for _, folder in {"infiniteyield", "infiniteyield/assets"} do if not isfolder(folder) then makefolder(folder) end end for path in iyassets do if not isfile(path) then writefile(path, game:HttpGet((path:gsub("infiniteyield/", assets)))) end end if IsOnMobile then writefile("infiniteyield/assets/.nomedia", "") end end) end currentVersion = "6.4.1" ScaledHolder = Instance.new("Frame") Scale = Instance.new("UIScale") Holder = Instance.new("Frame") Title = Instance.new("TextLabel") Dark = Instance.new("Frame") Cmdbar = Instance.new("TextBox") CMDsF = Instance.new("ScrollingFrame") cmdListLayout = Instance.new("UIListLayout") SettingsButton = Instance.new("ImageButton") ColorsButton = Instance.new("ImageButton") Settings = Instance.new("Frame") Prefix = Instance.new("TextLabel") PrefixBox = Instance.new("TextBox") Keybinds = Instance.new("TextLabel") StayOpen = Instance.new("TextLabel") Button = Instance.new("Frame") On = Instance.new("TextButton") Positions = Instance.new("TextLabel") EventBind = Instance.new("TextLabel") Plugins = Instance.new("TextLabel") Example = Instance.new("TextButton") Notification = Instance.new("Frame") Title_2 = Instance.new("TextLabel") Text_2 = Instance.new("TextLabel") CloseButton = Instance.new("TextButton") CloseImage = Instance.new("ImageLabel") PinButton = Instance.new("TextButton") PinImage = Instance.new("ImageLabel") Tooltip = Instance.new("Frame") Title_3 = Instance.new("TextLabel") Description = Instance.new("TextLabel") IntroBackground = Instance.new("Frame") Logo = Instance.new("ImageLabel") Credits = Instance.new("TextBox") KeybindsFrame = Instance.new("Frame") Close = Instance.new("TextButton") Add = Instance.new("TextButton") Delete = Instance.new("TextButton") Holder_2 = Instance.new("ScrollingFrame") Example_2 = Instance.new("Frame") Text_3 = Instance.new("TextLabel") Delete_2 = Instance.new("TextButton") KeybindEditor = Instance.new("Frame") background_2 = Instance.new("Frame") Dark_3 = Instance.new("Frame") Directions = Instance.new("TextLabel") BindTo = Instance.new("TextButton") TriggerLabel = Instance.new("TextLabel") BindTriggerSelect = Instance.new("TextButton") Add_2 = Instance.new("TextButton") Toggles = Instance.new("ScrollingFrame") ClickTP = Instance.new("TextLabel") Select = Instance.new("TextButton") ClickDelete = Instance.new("TextLabel") Select_2 = Instance.new("TextButton") Cmdbar_2 = Instance.new("TextBox") Cmdbar_3 = Instance.new("TextBox") CreateToggle = Instance.new("TextLabel") Button_2 = Instance.new("Frame") On_2 = Instance.new("TextButton") shadow_2 = Instance.new("Frame") PopupText_2 = Instance.new("TextLabel") Exit_2 = Instance.new("TextButton") ExitImage_2 = Instance.new("ImageLabel") PositionsFrame = Instance.new("Frame") Close_3 = Instance.new("TextButton") Delete_5 = Instance.new("TextButton") Part = Instance.new("TextButton") Holder_4 = Instance.new("ScrollingFrame") Example_4 = Instance.new("Frame") Text_5 = Instance.new("TextLabel") Delete_6 = Instance.new("TextButton") TP = Instance.new("TextButton") AliasesFrame = Instance.new("Frame") Close_2 = Instance.new("TextButton") Delete_3 = Instance.new("TextButton") Holder_3 = Instance.new("ScrollingFrame") Example_3 = Instance.new("Frame") Text_4 = Instance.new("TextLabel") Delete_4 = Instance.new("TextButton") Aliases = Instance.new("TextLabel") PluginsFrame = Instance.new("Frame") Close_4 = Instance.new("TextButton") Add_3 = Instance.new("TextButton") Holder_5 = Instance.new("ScrollingFrame") Example_5 = Instance.new("Frame") Text_6 = Instance.new("TextLabel") Delete_7 = Instance.new("TextButton") PluginEditor = Instance.new("Frame") background_3 = Instance.new("Frame") Dark_2 = Instance.new("Frame") Img = Instance.new("ImageButton") AddPlugin = Instance.new("TextButton") FileName = Instance.new("TextBox") About = Instance.new("TextLabel") Directions_2 = Instance.new("TextLabel") shadow_3 = Instance.new("Frame") PopupText_3 = Instance.new("TextLabel") Exit_3 = Instance.new("TextButton") ExitImage_3 = Instance.new("ImageLabel") AliasHint = Instance.new("TextLabel") PluginsHint = Instance.new("TextLabel") PositionsHint = Instance.new("TextLabel") ToPartFrame = Instance.new("Frame") background_4 = Instance.new("Frame") ChoosePart = Instance.new("TextButton") CopyPath = Instance.new("TextButton") Directions_3 = Instance.new("TextLabel") Path = Instance.new("TextLabel") shadow_4 = Instance.new("Frame") PopupText_5 = Instance.new("TextLabel") Exit_4 = Instance.new("TextButton") ExitImage_5 = Instance.new("ImageLabel") logs = Instance.new("Frame") shadow = Instance.new("Frame") Hide = Instance.new("TextButton") ImageLabel = Instance.new("ImageLabel") PopupText = Instance.new("TextLabel") Exit = Instance.new("TextButton") ImageLabel_2 = Instance.new("ImageLabel") background = Instance.new("Frame") chat = Instance.new("Frame") Clear = Instance.new("TextButton") SaveChatlogs = Instance.new("TextButton") Toggle = Instance.new("TextButton") scroll_2 = Instance.new("ScrollingFrame") join = Instance.new("Frame") Toggle_2 = Instance.new("TextButton") Clear_2 = Instance.new("TextButton") scroll_3 = Instance.new("ScrollingFrame") listlayout = Instance.new("UIListLayout",scroll_3) selectChat = Instance.new("TextButton") selectJoin = Instance.new("TextButton") function randomString() local length = math.random(10,20) local array = {} for i = 1, length do array[i] = string.char(math.random(32, 126)) end return table.concat(array) end PARENT = nil MAX_DISPLAY_ORDER = 2147483647 if get_hidden_gui or gethui then local hiddenUI = get_hidden_gui or gethui local Main = Instance.new("ScreenGui") Main.Name = randomString() Main.ResetOnSpawn = false Main.DisplayOrder = MAX_DISPLAY_ORDER Main.Parent = hiddenUI() PARENT = Main elseif (not is_sirhurt_closure) and (syn and syn.protect_gui) then local Main = Instance.new("ScreenGui") Main.Name = randomString() Main.ResetOnSpawn = false Main.DisplayOrder = MAX_DISPLAY_ORDER syn.protect_gui(Main) Main.Parent = COREGUI PARENT = Main elseif COREGUI:FindFirstChild("RobloxGui") then PARENT = COREGUI.RobloxGui else local Main = Instance.new("ScreenGui") Main.Name = randomString() Main.ResetOnSpawn = false Main.DisplayOrder = MAX_DISPLAY_ORDER Main.Parent = COREGUI PARENT = Main end shade1 = {} shade2 = {} shade3 = {} text1 = {} text2 = {} scroll = {} ScaledHolder.Name = randomString() ScaledHolder.Size = UDim2.fromScale(1, 1) ScaledHolder.BackgroundTransparency = 1 ScaledHolder.Parent = PARENT Scale.Name = randomString() Holder.Name = randomString() Holder.Parent = ScaledHolder Holder.Active = true Holder.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Holder.BorderSizePixel = 0 Holder.Position = UDim2.new(1, -250, 1, -220) Holder.Size = UDim2.new(0, 250, 0, 220) Holder.ZIndex = 10 table.insert(shade2,Holder) Title.Name = "Title" Title.Parent = Holder Title.Active = true Title.BackgroundColor3 = Color3.fromRGB(36,36,37) Title.BorderSizePixel = 0 Title.Size = UDim2.new(0, 250, 0, 20) Title.Font = Enum.Font.SourceSans Title.TextSize = 18 Title.Text = "Arc Yield FE v" .. currentVersion Title.TextColor3 = Color3.new(1, 1, 1) Title.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Title.TextStrokeTransparency = 0.5 do local emoji = ({ ["01 01"] = "🎆", [(function(Year) local A = math.floor(Year/100) local B = math.floor((13+8*A)/25) local C = (15-B+A-math.floor(A/4))%30 local D = (4+A-math.floor(A/4))%7 local E = (19*(Year%19)+C)%30 local F = (2*(Year%4)+4*(Year%7)+6*E+D)%7 local G = (22+E+F) if E == 29 and F == 6 then return "04 19" elseif E == 28 and F == 6 then return "04 18" elseif 31 < G then return ("04 %02d"):format(G-31) end return ("03 %02d"):format(G) end)(tonumber(os.date"%Y"))] = "🥚", ["10 31"] = "🎃", ["12 25"] = "🎄" })[os.date("%m %d")] if emoji then Title.Text = ("%s %s %s"):format(emoji, Title.Text, emoji) end end Title.TextColor3 = Color3.new(1, 1, 1) Title.ZIndex = 10 table.insert(shade1,Title) table.insert(text1,Title) Dark.Name = "Dark" Dark.Parent = Holder Dark.Active = true Dark.BackgroundColor3 = Color3.fromRGB(36, 36, 37) Dark.BorderSizePixel = 0 Dark.Position = UDim2.new(0, 0, 0, 45) Dark.Size = UDim2.new(0, 250, 0, 175) Dark.ZIndex = 10 table.insert(shade1,Dark) Cmdbar.Name = "Cmdbar" Cmdbar.Parent = Holder Cmdbar.BackgroundTransparency = 1 Cmdbar.BorderSizePixel = 0 Cmdbar.Position = UDim2.new(0, 5, 0, 20) Cmdbar.Size = UDim2.new(0, 240, 0, 25) Cmdbar.Font = Enum.Font.SourceSans Cmdbar.TextSize = 18 Cmdbar.TextXAlignment = Enum.TextXAlignment.Left Cmdbar.TextColor3 = Color3.new(1, 1, 1) Cmdbar.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Cmdbar.TextStrokeTransparency = 0.5 Cmdbar.Text = "" Cmdbar.ZIndex = 10 Cmdbar.PlaceholderText = "Command Bar" CMDsF.Name = "CMDs" CMDsF.Parent = Holder CMDsF.BackgroundTransparency = 1 CMDsF.BorderSizePixel = 0 CMDsF.Position = UDim2.new(0, 5, 0, 45) CMDsF.Size = UDim2.new(0, 245, 0, 175) CMDsF.ScrollBarImageColor3 = Color3.fromRGB(78,78,79) CMDsF.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" CMDsF.CanvasSize = UDim2.new(0, 0, 0, 0) CMDsF.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" CMDsF.ScrollBarThickness = 8 CMDsF.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" CMDsF.VerticalScrollBarInset = 'Always' CMDsF.ZIndex = 10 table.insert(scroll,CMDsF) cmdListLayout.Parent = CMDsF SettingsButton.Name = "SettingsButton" SettingsButton.Parent = Holder SettingsButton.BackgroundTransparency = 1 SettingsButton.Position = UDim2.new(0, 230, 0, 0) SettingsButton.Size = UDim2.new(0, 20, 0, 20) SettingsButton.Image = getcustomasset("infiniteyield/assets/settings.png") SettingsButton.ZIndex = 10 ReferenceButton = Instance.new("ImageButton") ReferenceButton.Name = "ReferenceButton" ReferenceButton.Parent = Holder ReferenceButton.BackgroundTransparency = 1 ReferenceButton.Position = UDim2.new(0, 212, 0, 2) ReferenceButton.Size = UDim2.new(0, 16, 0, 16) ReferenceButton.Image = getcustomasset("infiniteyield/assets/reference.png") ReferenceButton.ZIndex = 10 Settings.Name = "Settings" Settings.Parent = Holder Settings.Active = true Settings.BackgroundColor3 = Color3.fromRGB(36, 36, 37) Settings.BorderSizePixel = 0 Settings.Position = UDim2.new(0, 0, 0, 220) Settings.Size = UDim2.new(0, 250, 0, 175) Settings.ZIndex = 10 table.insert(shade1,Settings) SettingsHolder = Instance.new("ScrollingFrame") SettingsHolder.Name = "Holder" SettingsHolder.Parent = Settings SettingsHolder.BackgroundTransparency = 1 SettingsHolder.BorderSizePixel = 0 SettingsHolder.Size = UDim2.new(1,0,1,0) SettingsHolder.ScrollBarImageColor3 = Color3.fromRGB(78,78,79) SettingsHolder.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" SettingsHolder.CanvasSize = UDim2.new(0, 0, 0, 235) SettingsHolder.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" SettingsHolder.ScrollBarThickness = 8 SettingsHolder.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" SettingsHolder.VerticalScrollBarInset = 'Always' SettingsHolder.ZIndex = 10 table.insert(scroll,SettingsHolder) Prefix.Name = "Prefix" Prefix.Parent = SettingsHolder Prefix.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Prefix.BorderSizePixel = 0 Prefix.BackgroundTransparency = 1 Prefix.Position = UDim2.new(0, 5, 0, 5) Prefix.Size = UDim2.new(1, -10, 0, 20) Prefix.Font = Enum.Font.SourceSans Prefix.TextSize = 14 Prefix.Text = "Prefix" Prefix.TextColor3 = Color3.new(1, 1, 1) Prefix.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Prefix.TextStrokeTransparency = 0.6 Prefix.TextXAlignment = Enum.TextXAlignment.Left Prefix.ZIndex = 10 table.insert(shade2,Prefix) table.insert(text1,Prefix) PrefixBox.Name = "PrefixBox" PrefixBox.Parent = Prefix PrefixBox.BackgroundColor3 = Color3.fromRGB(78, 78, 79) PrefixBox.BorderSizePixel = 0 PrefixBox.Position = UDim2.new(1, -20, 0, 0) PrefixBox.Size = UDim2.new(0, 20, 0, 20) PrefixBox.Font = Enum.Font.SourceSansBold PrefixBox.TextSize = 14 PrefixBox.Text = '' PrefixBox.TextColor3 = Color3.new(0, 0, 0) PrefixBox.ZIndex = 10 table.insert(shade3,PrefixBox) table.insert(text2,PrefixBox) function makeSettingsButton(name,iconID,off) local button = Instance.new("TextButton") button.BackgroundColor3 = Color3.fromRGB(46, 46, 47) button.BorderSizePixel = 0 button.Position = UDim2.new(0,0,0,0) button.Size = UDim2.new(1,0,0,25) button.Text = "" button.ZIndex = 10 local icon = Instance.new("ImageLabel") icon.Name = "Icon" icon.Parent = button icon.Position = UDim2.new(0,5,0,5) icon.Size = UDim2.new(0,16,0,16) icon.BackgroundTransparency = 1 icon.Image = iconID icon.ZIndex = 10 if off then icon.ScaleType = Enum.ScaleType.Crop icon.ImageRectSize = Vector2.new(16,16) icon.ImageRectOffset = Vector2.new(off,0) end local label = Instance.new("TextLabel") label.Name = "ButtonLabel" label.Parent = button label.BackgroundTransparency = 1 label.Text = name label.Position = UDim2.new(0,28,0,0) label.Size = UDim2.new(1,-28,1,0) label.Font = Enum.Font.SourceSans label.TextColor3 = Color3.new(1, 1, 1) label.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) label.TextStrokeTransparency = 0.6 label.TextSize = 14 label.ZIndex = 10 label.TextXAlignment = Enum.TextXAlignment.Left table.insert(shade2,button) table.insert(text1,label) return button end ColorsButton = makeSettingsButton("Edit Theme",getcustomasset("infiniteyield/assets/edittheme.png")) ColorsButton.Position = UDim2.new(0, 5, 0, 55) ColorsButton.Size = UDim2.new(1, -10, 0, 25) ColorsButton.Name = "Colors" ColorsButton.Parent = SettingsHolder Keybinds = makeSettingsButton("Edit Keybinds",getcustomasset("infiniteyield/assets/editkeybinds.png")) Keybinds.Position = UDim2.new(0, 5, 0, 85) Keybinds.Size = UDim2.new(1, -10, 0, 25) Keybinds.Name = "Keybinds" Keybinds.Parent = SettingsHolder Aliases = makeSettingsButton("Edit Aliases",getcustomasset("infiniteyield/assets/editaliases.png")) Aliases.Position = UDim2.new(0, 5, 0, 115) Aliases.Size = UDim2.new(1, -10, 0, 25) Aliases.Name = "Aliases" Aliases.Parent = SettingsHolder StayOpen.Name = "StayOpen" StayOpen.Parent = SettingsHolder StayOpen.BackgroundColor3 = Color3.fromRGB(46, 46, 47) StayOpen.BorderSizePixel = 0 StayOpen.BackgroundTransparency = 1 StayOpen.Position = UDim2.new(0, 5, 0, 30) StayOpen.Size = UDim2.new(1, -10, 0, 20) StayOpen.Font = Enum.Font.SourceSans StayOpen.TextSize = 14 StayOpen.Text = "Keep Menu Open" StayOpen.TextColor3 = Color3.new(1, 1, 1) StayOpen.TextXAlignment = Enum.TextXAlignment.Left StayOpen.ZIndex = 10 table.insert(shade2,StayOpen) table.insert(text1,StayOpen) Button.Name = "Button" Button.Parent = StayOpen Button.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Button.BorderSizePixel = 0 Button.Position = UDim2.new(1, -20, 0, 0) Button.Size = UDim2.new(0, 20, 0, 20) Button.ZIndex = 10 table.insert(shade3,Button) On.Name = "On" On.Parent = Button On.BackgroundColor3 = Color3.fromRGB(150, 150, 151) On.BackgroundTransparency = 1 On.BorderSizePixel = 0 On.Position = UDim2.new(0, 2, 0, 2) On.Size = UDim2.new(0, 16, 0, 16) On.Font = Enum.Font.SourceSans On.FontSize = Enum.FontSize.Size14 On.Text = "" On.TextColor3 = Color3.new(0, 0, 0) On.ZIndex = 10 Positions = makeSettingsButton("Edit/Goto Waypoints",getcustomasset("infiniteyield/assets/editwaypoints.png")) Positions.Position = UDim2.new(0, 5, 0, 145) Positions.Size = UDim2.new(1, -10, 0, 25) Positions.Name = "Waypoints" Positions.Parent = SettingsHolder EventBind = makeSettingsButton("Edit Event Binds",getcustomasset("infiniteyield/assets/bindsandplugins.png"),759) EventBind.Position = UDim2.new(0, 5, 0, 205) EventBind.Size = UDim2.new(1, -10, 0, 25) EventBind.Name = "EventBinds" EventBind.Parent = SettingsHolder Plugins = makeSettingsButton("Manage Plugins",getcustomasset("infiniteyield/assets/bindsandplugins.png"),743) Plugins.Position = UDim2.new(0, 5, 0, 175) Plugins.Size = UDim2.new(1, -10, 0, 25) Plugins.Name = "Plugins" Plugins.Parent = SettingsHolder Example.Name = "Example" Example.Parent = Holder Example.BackgroundTransparency = 1 Example.BorderSizePixel = 0 Example.Size = UDim2.new(0, 190, 0, 20) Example.Visible = false Example.Font = Enum.Font.SourceSans Example.TextSize = 18 Example.Text = "Example" Example.TextColor3 = Color3.new(1, 1, 1) Example.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Example.TextStrokeTransparency = 0.6 Example.TextXAlignment = Enum.TextXAlignment.Left Example.ZIndex = 10 table.insert(text1,Example) Notification.Name = randomString() Notification.Parent = ScaledHolder Notification.BackgroundColor3 = Color3.fromRGB(36, 36, 37) Notification.BorderSizePixel = 0 Notification.Position = UDim2.new(1, -500, 1, 20) Notification.Size = UDim2.new(0, 250, 0, 100) Notification.ZIndex = 10 table.insert(shade1,Notification) Title_2.Name = "Title" Title_2.Parent = Notification Title_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Title_2.BorderSizePixel = 0 Title_2.Size = UDim2.new(0, 250, 0, 20) Title_2.Font = Enum.Font.SourceSans Title_2.TextSize = 14 Title_2.Text = "Notification Title" Title_2.TextColor3 = Color3.new(1, 1, 1) Title_2.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Title_2.TextStrokeTransparency = 0.5 Title_2.ZIndex = 10 table.insert(shade2,Title_2) table.insert(text1,Title_2) Text_2.Name = "Text" Text_2.Parent = Notification Text_2.BackgroundTransparency = 1 Text_2.BorderSizePixel = 0 Text_2.Position = UDim2.new(0, 5, 0, 25) Text_2.Size = UDim2.new(0, 240, 0, 75) Text_2.Font = Enum.Font.SourceSans Text_2.TextSize = 16 Text_2.Text = "Notification Text" Text_2.TextColor3 = Color3.new(1, 1, 1) Text_2.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Text_2.TextStrokeTransparency = 0.5 Text_2.TextWrapped = true Text_2.ZIndex = 10 table.insert(text1,Text_2) CloseButton.Name = "CloseButton" CloseButton.Parent = Notification CloseButton.BackgroundTransparency = 1 CloseButton.Position = UDim2.new(1, -20, 0, 0) CloseButton.Size = UDim2.new(0, 20, 0, 20) CloseButton.Text = "" CloseButton.ZIndex = 10 CloseImage.Parent = CloseButton CloseImage.BackgroundColor3 = Color3.new(1, 1, 1) CloseImage.BackgroundTransparency = 1 CloseImage.Position = UDim2.new(0, 5, 0, 5) CloseImage.Size = UDim2.new(0, 10, 0, 10) CloseImage.Image = getcustomasset("infiniteyield/assets/close.png") CloseImage.ZIndex = 10 PinButton.Name = "PinButton" PinButton.Parent = Notification PinButton.BackgroundTransparency = 1 PinButton.Size = UDim2.new(0, 20, 0, 20) PinButton.ZIndex = 10 PinButton.Text = "" PinImage.Parent = PinButton PinImage.BackgroundColor3 = Color3.new(1, 1, 1) PinImage.BackgroundTransparency = 1 PinImage.Position = UDim2.new(0, 3, 0, 3) PinImage.Size = UDim2.new(0, 14, 0, 14) PinImage.ZIndex = 10 PinImage.Image = getcustomasset("infiniteyield/assets/pin.png") Tooltip.Name = randomString() Tooltip.Parent = ScaledHolder Tooltip.Active = true Tooltip.BackgroundColor3 = Color3.fromRGB(36, 36, 37) Tooltip.BackgroundTransparency = 0.1 Tooltip.BorderSizePixel = 0 Tooltip.Size = UDim2.new(0, 200, 0, 96) Tooltip.Visible = false Tooltip.ZIndex = 10 table.insert(shade1,Tooltip) Title_3.Name = "Title" Title_3.Parent = Tooltip Title_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Title_3.BackgroundTransparency = 0.1 Title_3.BorderSizePixel = 0 Title_3.Size = UDim2.new(0, 200, 0, 20) Title_3.Font = Enum.Font.SourceSans Title_3.TextSize = 14 Title_3.Text = "" Title_3.TextColor3 = Color3.new(1, 1, 1) Title_3.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Title_3.TextStrokeTransparency = 0.5 Title_3.TextTransparency = 0.1 Title_3.ZIndex = 10 table.insert(shade2,Title_3) table.insert(text1,Title_3) Description.Name = "Description" Description.Parent = Tooltip Description.BackgroundTransparency = 1 Description.BorderSizePixel = 0 Description.Size = UDim2.new(0,180,0,72) Description.Position = UDim2.new(0,10,0,18) Description.Font = Enum.Font.SourceSans Description.TextSize = 16 Description.Text = "" Description.TextColor3 = Color3.new(1, 1, 1) Description.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Description.TextStrokeTransparency = 0.5 Description.TextTransparency = 0.1 Description.TextWrapped = true Description.ZIndex = 10 table.insert(text1,Description) IntroBackground.Name = "IntroBackground" IntroBackground.Parent = Holder IntroBackground.Active = true IntroBackground.BackgroundColor3 = Color3.fromRGB(36, 36, 37) IntroBackground.BorderSizePixel = 0 IntroBackground.Position = UDim2.new(0, 0, 0, 45) IntroBackground.Size = UDim2.new(0, 250, 0, 175) IntroBackground.ZIndex = 10 Logo.Name = "Logo" Logo.Parent = Holder Logo.BackgroundTransparency = 1 Logo.BorderSizePixel = 0 Logo.Position = UDim2.new(0, 125, 0, 127) Logo.Size = UDim2.new(0, 10, 0, 10) Logo.Image = getcustomasset("infiniteyield/assets/logo.png") Logo.ImageTransparency = 0 Logo.ZIndex = 10 Credits.Name = "Credits" Credits.Parent = Holder Credits.BackgroundTransparency = 1 Credits.BorderSizePixel = 0 Credits.Position = UDim2.new(0, 0, 0.9, 30) Credits.Size = UDim2.new(0, 250, 0, 20) Credits.Font = Enum.Font.SourceSansLight Credits.FontSize = Enum.FontSize.Size14 Credits.Text = "Edge // Zwolf // Moon // Toon // Peyton // ATP" Credits.TextColor3 = Color3.new(1, 1, 1) Credits.ZIndex = 10 KeybindsFrame.Name = "KeybindsFrame" KeybindsFrame.Parent = Settings KeybindsFrame.Active = true KeybindsFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37) KeybindsFrame.BorderSizePixel = 0 KeybindsFrame.Position = UDim2.new(0, 0, 0, 175) KeybindsFrame.Size = UDim2.new(0, 250, 0, 175) KeybindsFrame.ZIndex = 10 table.insert(shade1,KeybindsFrame) Close.Name = "Close" Close.Parent = KeybindsFrame Close.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Close.BorderSizePixel = 0 Close.Position = UDim2.new(0, 205, 0, 150) Close.Size = UDim2.new(0, 40, 0, 20) Close.Font = Enum.Font.SourceSans Close.TextSize = 14 Close.Text = "Close" Close.TextColor3 = Color3.new(1, 1, 1) Close.ZIndex = 10 table.insert(shade2,Close) table.insert(text1,Close) Add.Name = "Add" Add.Parent = KeybindsFrame Add.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Add.BorderSizePixel = 0 Add.Position = UDim2.new(0, 5, 0, 150) Add.Size = UDim2.new(0, 40, 0, 20) Add.Font = Enum.Font.SourceSans Add.TextSize = 14 Add.Text = "Add" Add.TextColor3 = Color3.new(1, 1, 1) Add.ZIndex = 10 table.insert(shade2,Add) table.insert(text1,Add) Delete.Name = "Delete" Delete.Parent = KeybindsFrame Delete.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Delete.BorderSizePixel = 0 Delete.Position = UDim2.new(0, 50, 0, 150) Delete.Size = UDim2.new(0, 40, 0, 20) Delete.Font = Enum.Font.SourceSans Delete.TextSize = 14 Delete.Text = "Clear" Delete.TextColor3 = Color3.new(1, 1, 1) Delete.ZIndex = 10 table.insert(shade2,Delete) table.insert(text1,Delete) Holder_2.Name = "Holder" Holder_2.Parent = KeybindsFrame Holder_2.BackgroundTransparency = 1 Holder_2.BorderSizePixel = 0 Holder_2.Position = UDim2.new(0, 0, 0, 0) Holder_2.Size = UDim2.new(0, 250, 0, 145) Holder_2.ScrollBarImageColor3 = Color3.fromRGB(78,78,79) Holder_2.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_2.CanvasSize = UDim2.new(0, 0, 0, 0) Holder_2.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_2.ScrollBarThickness = 0 Holder_2.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_2.VerticalScrollBarInset = 'Always' Holder_2.ZIndex = 10 Example_2.Name = "Example" Example_2.Parent = KeybindsFrame Example_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Example_2.BorderSizePixel = 0 Example_2.Size = UDim2.new(0, 10, 0, 20) Example_2.Visible = false Example_2.ZIndex = 10 table.insert(shade2,Example_2) Text_3.Name = "Text" Text_3.Parent = Example_2 Text_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Text_3.BorderSizePixel = 0 Text_3.Position = UDim2.new(0, 10, 0, 0) Text_3.Size = UDim2.new(0, 240, 0, 20) Text_3.Font = Enum.Font.SourceSans Text_3.TextSize = 14 Text_3.Text = "nom" Text_3.TextColor3 = Color3.new(1, 1, 1) Text_3.TextXAlignment = Enum.TextXAlignment.Left Text_3.ZIndex = 10 table.insert(shade2,Text_3) table.insert(text1,Text_3) Delete_2.Name = "Delete" Delete_2.Parent = Text_3 Delete_2.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Delete_2.BorderSizePixel = 0 Delete_2.Position = UDim2.new(0, 200, 0, 0) Delete_2.Size = UDim2.new(0, 40, 0, 20) Delete_2.Font = Enum.Font.SourceSans Delete_2.TextSize = 14 Delete_2.Text = "Delete" Delete_2.TextColor3 = Color3.new(0, 0, 0) Delete_2.ZIndex = 10 table.insert(shade3,Delete_2) table.insert(text2,Delete_2) KeybindEditor.Name = randomString() KeybindEditor.Parent = ScaledHolder KeybindEditor.Active = true KeybindEditor.BackgroundTransparency = 1 KeybindEditor.Position = UDim2.new(0.5, -180, 0, -500) KeybindEditor.Size = UDim2.new(0, 360, 0, 20) KeybindEditor.ZIndex = 10 background_2.Name = "background" background_2.Parent = KeybindEditor background_2.Active = true background_2.BackgroundColor3 = Color3.fromRGB(36, 36, 37) background_2.BorderSizePixel = 0 background_2.Position = UDim2.new(0, 0, 0, 20) background_2.Size = UDim2.new(0, 360, 0, 185) background_2.ZIndex = 10 table.insert(shade1,background_2) Dark_3.Name = "Dark" Dark_3.Parent = background_2 Dark_3.Active = true Dark_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Dark_3.BorderSizePixel = 0 Dark_3.Position = UDim2.new(0, 135, 0, 0) Dark_3.Size = UDim2.new(0, 2, 0, 185) Dark_3.ZIndex = 10 table.insert(shade2,Dark_3) Directions.Name = "Directions" Directions.Parent = background_2 Directions.BackgroundTransparency = 1 Directions.BorderSizePixel = 0 Directions.Position = UDim2.new(0, 10, 0, 15) Directions.Size = UDim2.new(0, 115, 0, 90) Directions.ZIndex = 10 Directions.Font = Enum.Font.SourceSans Directions.Text = "Click the button below and press a key/mouse button. Then select what you want to bind it to." Directions.TextColor3 = Color3.fromRGB(255, 255, 255) Directions.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Directions.TextStrokeTransparency = 0.5 Directions.TextSize = 14.000 Directions.TextWrapped = true Directions.TextYAlignment = Enum.TextYAlignment.Top table.insert(text1,Directions) BindTo.Name = "BindTo" BindTo.Parent = background_2 BindTo.BackgroundColor3 = Color3.fromRGB(46, 46, 47) BindTo.BorderSizePixel = 0 BindTo.Position = UDim2.new(0, 10, 0, 95) BindTo.Size = UDim2.new(0, 115, 0, 50) BindTo.ZIndex = 10 BindTo.Font = Enum.Font.SourceSans BindTo.Text = "Click to bind" BindTo.TextColor3 = Color3.fromRGB(255, 255, 255) BindTo.TextSize = 16.000 table.insert(shade2,BindTo) table.insert(text1,BindTo) TriggerLabel.Name = "TriggerLabel" TriggerLabel.Parent = background_2 TriggerLabel.BackgroundTransparency = 1 TriggerLabel.Position = UDim2.new(0, 10, 0, 155) TriggerLabel.Size = UDim2.new(0, 45, 0, 20) TriggerLabel.ZIndex = 10 TriggerLabel.Font = Enum.Font.SourceSans TriggerLabel.Text = "Trigger:" TriggerLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TriggerLabel.TextSize = 14.000 TriggerLabel.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,TriggerLabel) BindTriggerSelect.Name = "BindTo" BindTriggerSelect.Parent = background_2 BindTriggerSelect.BackgroundColor3 = Color3.fromRGB(46, 46, 47) BindTriggerSelect.BorderSizePixel = 0 BindTriggerSelect.Position = UDim2.new(0, 60, 0, 155) BindTriggerSelect.Size = UDim2.new(0, 65, 0, 20) BindTriggerSelect.ZIndex = 10 BindTriggerSelect.Font = Enum.Font.SourceSans BindTriggerSelect.Text = "KeyDown" BindTriggerSelect.TextColor3 = Color3.fromRGB(255, 255, 255) BindTriggerSelect.TextSize = 16.000 table.insert(shade2,BindTriggerSelect) table.insert(text1,BindTriggerSelect) Add_2.Name = "Add" Add_2.Parent = background_2 Add_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Add_2.BorderSizePixel = 0 Add_2.Position = UDim2.new(0, 310, 0, 35) Add_2.Size = UDim2.new(0, 40, 0, 20) Add_2.ZIndex = 10 Add_2.Font = Enum.Font.SourceSans Add_2.Text = "Add" Add_2.TextColor3 = Color3.fromRGB(255, 255, 255) Add_2.TextSize = 14.000 table.insert(shade2,Add_2) table.insert(text1,Add_2) Toggles.Name = "Toggles" Toggles.Parent = background_2 Toggles.BackgroundTransparency = 1 Toggles.BorderSizePixel = 0 Toggles.Position = UDim2.new(0, 150, 0, 125) Toggles.Size = UDim2.new(0, 200, 0, 50) Toggles.ZIndex = 10 Toggles.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Toggles.CanvasSize = UDim2.new(0, 0, 0, 50) Toggles.ScrollBarThickness = 8 Toggles.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Toggles.VerticalScrollBarInset = Enum.ScrollBarInset.Always table.insert(scroll,Toggles) ClickTP.Name = "Click TP (Hold Key & Click)" ClickTP.Parent = Toggles ClickTP.BackgroundColor3 = Color3.fromRGB(46, 46, 47) ClickTP.BorderSizePixel = 0 ClickTP.Size = UDim2.new(0, 200, 0, 20) ClickTP.ZIndex = 10 ClickTP.Font = Enum.Font.SourceSans ClickTP.Text = " Click TP (Hold Key & Click)" ClickTP.TextColor3 = Color3.fromRGB(255, 255, 255) ClickTP.TextSize = 14.000 ClickTP.TextXAlignment = Enum.TextXAlignment.Left table.insert(shade2,ClickTP) table.insert(text1,ClickTP) Select.Name = "Select" Select.Parent = ClickTP Select.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Select.BorderSizePixel = 0 Select.Position = UDim2.new(0, 160, 0, 0) Select.Size = UDim2.new(0, 40, 0, 20) Select.ZIndex = 10 Select.Font = Enum.Font.SourceSans Select.Text = "Add" Select.TextColor3 = Color3.fromRGB(0, 0, 0) Select.TextSize = 14.000 table.insert(shade3,Select) table.insert(text2,Select) ClickDelete.Name = "Click Delete (Hold Key & Click)" ClickDelete.Parent = Toggles ClickDelete.BackgroundColor3 = Color3.fromRGB(46, 46, 47) ClickDelete.BorderSizePixel = 0 ClickDelete.Position = UDim2.new(0, 0, 0, 25) ClickDelete.Size = UDim2.new(0, 200, 0, 20) ClickDelete.ZIndex = 10 ClickDelete.Font = Enum.Font.SourceSans ClickDelete.Text = " Click Delete (Hold Key & Click)" ClickDelete.TextColor3 = Color3.fromRGB(255, 255, 255) ClickDelete.TextSize = 14.000 ClickDelete.TextXAlignment = Enum.TextXAlignment.Left table.insert(shade2,ClickDelete) table.insert(text1,ClickDelete) Select_2.Name = "Select" Select_2.Parent = ClickDelete Select_2.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Select_2.BorderSizePixel = 0 Select_2.Position = UDim2.new(0, 160, 0, 0) Select_2.Size = UDim2.new(0, 40, 0, 20) Select_2.ZIndex = 10 Select_2.Font = Enum.Font.SourceSans Select_2.Text = "Add" Select_2.TextColor3 = Color3.fromRGB(0, 0, 0) Select_2.TextSize = 14.000 table.insert(shade3,Select_2) table.insert(text2,Select_2) Cmdbar_2.Name = "Cmdbar_2" Cmdbar_2.Parent = background_2 Cmdbar_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Cmdbar_2.BorderSizePixel = 0 Cmdbar_2.Position = UDim2.new(0, 150, 0, 35) Cmdbar_2.Size = UDim2.new(0, 150, 0, 20) Cmdbar_2.ZIndex = 10 Cmdbar_2.Font = Enum.Font.SourceSans Cmdbar_2.PlaceholderText = "Command" Cmdbar_2.Text = "" Cmdbar_2.TextColor3 = Color3.fromRGB(255, 255, 255) Cmdbar_2.TextSize = 14.000 Cmdbar_2.TextXAlignment = Enum.TextXAlignment.Left Cmdbar_3.Name = "Cmdbar_3" Cmdbar_3.Parent = background_2 Cmdbar_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Cmdbar_3.BorderSizePixel = 0 Cmdbar_3.Position = UDim2.new(0, 150, 0, 60) Cmdbar_3.Size = UDim2.new(0, 150, 0, 20) Cmdbar_3.ZIndex = 10 Cmdbar_3.Font = Enum.Font.SourceSans Cmdbar_3.PlaceholderText = "Command 2" Cmdbar_3.Text = "" Cmdbar_3.TextColor3 = Color3.fromRGB(255, 255, 255) Cmdbar_3.TextSize = 14.000 Cmdbar_3.TextXAlignment = Enum.TextXAlignment.Left CreateToggle.Name = "CreateToggle" CreateToggle.Parent = background_2 CreateToggle.BackgroundColor3 = Color3.fromRGB(46, 46, 47) CreateToggle.BackgroundTransparency = 1 CreateToggle.BorderSizePixel = 0 CreateToggle.Position = UDim2.new(0, 152, 0, 10) CreateToggle.Size = UDim2.new(0, 198, 0, 20) CreateToggle.ZIndex = 10 CreateToggle.Font = Enum.Font.SourceSans CreateToggle.Text = "Create Toggle" CreateToggle.TextColor3 = Color3.fromRGB(255, 255, 255) CreateToggle.TextSize = 14.000 CreateToggle.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,CreateToggle) Button_2.Name = "Button" Button_2.Parent = CreateToggle Button_2.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Button_2.BorderSizePixel = 0 Button_2.Position = UDim2.new(1, -20, 0, 0) Button_2.Size = UDim2.new(0, 20, 0, 20) Button_2.ZIndex = 10 table.insert(shade3,Button_2) On_2.Name = "On" On_2.Parent = Button_2 On_2.BackgroundColor3 = Color3.fromRGB(150, 150, 151) On_2.BackgroundTransparency = 1 On_2.BorderSizePixel = 0 On_2.Position = UDim2.new(0, 2, 0, 2) On_2.Size = UDim2.new(0, 16, 0, 16) On_2.ZIndex = 10 On_2.Font = Enum.Font.SourceSans On_2.Text = "" On_2.TextColor3 = Color3.fromRGB(0, 0, 0) On_2.TextSize = 14.000 shadow_2.Name = "shadow" shadow_2.Parent = KeybindEditor shadow_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) shadow_2.BorderSizePixel = 0 shadow_2.Size = UDim2.new(0, 360, 0, 20) shadow_2.ZIndex = 10 table.insert(shade2,shadow_2) PopupText_2.Name = "PopupText_2" PopupText_2.Parent = shadow_2 PopupText_2.BackgroundTransparency = 1 PopupText_2.Size = UDim2.new(1, 0, 0.949999988, 0) PopupText_2.ZIndex = 10 PopupText_2.Font = Enum.Font.SourceSans PopupText_2.Text = "Set Keybinds" PopupText_2.TextColor3 = Color3.fromRGB(255, 255, 255) PopupText_2.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PopupText_2.TextStrokeTransparency = 0.5 PopupText_2.TextSize = 14.000 PopupText_2.TextWrapped = true table.insert(text1,PopupText_2) Exit_2.Name = "Exit_2" Exit_2.Parent = shadow_2 Exit_2.BackgroundTransparency = 1 Exit_2.Position = UDim2.new(1, -20, 0, 0) Exit_2.Size = UDim2.new(0, 20, 0, 20) Exit_2.ZIndex = 10 Exit_2.Text = "" ExitImage_2.Parent = Exit_2 ExitImage_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ExitImage_2.BackgroundTransparency = 1 ExitImage_2.Position = UDim2.new(0, 5, 0, 5) ExitImage_2.Size = UDim2.new(0, 10, 0, 10) ExitImage_2.ZIndex = 10 ExitImage_2.Image = getcustomasset("infiniteyield/assets/close.png") PositionsFrame.Name = "PositionsFrame" PositionsFrame.Parent = Settings PositionsFrame.Active = true PositionsFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37) PositionsFrame.BorderSizePixel = 0 PositionsFrame.Size = UDim2.new(0, 250, 0, 175) PositionsFrame.Position = UDim2.new(0, 0, 0, 175) PositionsFrame.ZIndex = 10 table.insert(shade1,PositionsFrame) Close_3.Name = "Close" Close_3.Parent = PositionsFrame Close_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Close_3.BorderSizePixel = 0 Close_3.Position = UDim2.new(0, 205, 0, 150) Close_3.Size = UDim2.new(0, 40, 0, 20) Close_3.Font = Enum.Font.SourceSans Close_3.TextSize = 14 Close_3.Text = "Close" Close_3.TextColor3 = Color3.new(1, 1, 1) Close_3.ZIndex = 10 table.insert(shade2,Close_3) table.insert(text1,Close_3) Delete_5.Name = "Delete" Delete_5.Parent = PositionsFrame Delete_5.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Delete_5.BorderSizePixel = 0 Delete_5.Position = UDim2.new(0, 50, 0, 150) Delete_5.Size = UDim2.new(0, 40, 0, 20) Delete_5.Font = Enum.Font.SourceSans Delete_5.TextSize = 14 Delete_5.Text = "Clear" Delete_5.TextColor3 = Color3.new(1, 1, 1) Delete_5.ZIndex = 10 table.insert(shade2,Delete_5) table.insert(text1,Delete_5) Part.Name = "PartGoto" Part.Parent = PositionsFrame Part.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Part.BorderSizePixel = 0 Part.Position = UDim2.new(0, 5, 0, 150) Part.Size = UDim2.new(0, 40, 0, 20) Part.Font = Enum.Font.SourceSans Part.TextSize = 14 Part.Text = "Part" Part.TextColor3 = Color3.new(1, 1, 1) Part.ZIndex = 10 table.insert(shade2,Part) table.insert(text1,Part) Holder_4.Name = "Holder" Holder_4.Parent = PositionsFrame Holder_4.BackgroundTransparency = 1 Holder_4.BorderSizePixel = 0 Holder_4.Position = UDim2.new(0, 0, 0, 0) Holder_4.Selectable = false Holder_4.Size = UDim2.new(0, 250, 0, 145) Holder_4.ScrollBarImageColor3 = Color3.fromRGB(78,78,79) Holder_4.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_4.CanvasSize = UDim2.new(0, 0, 0, 0) Holder_4.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_4.ScrollBarThickness = 0 Holder_4.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_4.VerticalScrollBarInset = 'Always' Holder_4.ZIndex = 10 Example_4.Name = "Example" Example_4.Parent = PositionsFrame Example_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Example_4.BorderSizePixel = 0 Example_4.Size = UDim2.new(0, 10, 0, 20) Example_4.Visible = false Example_4.Position = UDim2.new(0, 0, 0, -5) Example_4.ZIndex = 10 table.insert(shade2,Example_4) Text_5.Name = "Text" Text_5.Parent = Example_4 Text_5.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Text_5.BorderSizePixel = 0 Text_5.Position = UDim2.new(0, 10, 0, 0) Text_5.Size = UDim2.new(0, 240, 0, 20) Text_5.Font = Enum.Font.SourceSans Text_5.TextSize = 14 Text_5.Text = "Position" Text_5.TextColor3 = Color3.new(1, 1, 1) Text_5.TextXAlignment = Enum.TextXAlignment.Left Text_5.ZIndex = 10 table.insert(shade2,Text_5) table.insert(text1,Text_5) Delete_6.Name = "Delete" Delete_6.Parent = Text_5 Delete_6.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Delete_6.BorderSizePixel = 0 Delete_6.Position = UDim2.new(0, 200, 0, 0) Delete_6.Size = UDim2.new(0, 40, 0, 20) Delete_6.Font = Enum.Font.SourceSans Delete_6.TextSize = 14 Delete_6.Text = "Delete" Delete_6.TextColor3 = Color3.new(0, 0, 0) Delete_6.ZIndex = 10 table.insert(shade3,Delete_6) table.insert(text2,Delete_6) TP.Name = "TP" TP.Parent = Text_5 TP.BackgroundColor3 = Color3.fromRGB(78, 78, 79) TP.BorderSizePixel = 0 TP.Position = UDim2.new(0, 155, 0, 0) TP.Size = UDim2.new(0, 40, 0, 20) TP.Font = Enum.Font.SourceSans TP.TextSize = 14 TP.Text = "Goto" TP.TextColor3 = Color3.new(0, 0, 0) TP.ZIndex = 10 table.insert(shade3,TP) table.insert(text2,TP) AliasesFrame.Name = "AliasesFrame" AliasesFrame.Parent = Settings AliasesFrame.Active = true AliasesFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37) AliasesFrame.BorderSizePixel = 0 AliasesFrame.Position = UDim2.new(0, 0, 0, 175) AliasesFrame.Size = UDim2.new(0, 250, 0, 175) AliasesFrame.ZIndex = 10 table.insert(shade1,AliasesFrame) Close_2.Name = "Close" Close_2.Parent = AliasesFrame Close_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Close_2.BorderSizePixel = 0 Close_2.Position = UDim2.new(0, 205, 0, 150) Close_2.Size = UDim2.new(0, 40, 0, 20) Close_2.Font = Enum.Font.SourceSans Close_2.TextSize = 14 Close_2.Text = "Close" Close_2.TextColor3 = Color3.new(1, 1, 1) Close_2.ZIndex = 10 table.insert(shade2,Close_2) table.insert(text1,Close_2) Delete_3.Name = "Delete" Delete_3.Parent = AliasesFrame Delete_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Delete_3.BorderSizePixel = 0 Delete_3.Position = UDim2.new(0, 5, 0, 150) Delete_3.Size = UDim2.new(0, 40, 0, 20) Delete_3.Font = Enum.Font.SourceSans Delete_3.TextSize = 14 Delete_3.Text = "Clear" Delete_3.TextColor3 = Color3.new(1, 1, 1) Delete_3.ZIndex = 10 table.insert(shade2,Delete_3) table.insert(text1,Delete_3) Holder_3.Name = "Holder" Holder_3.Parent = AliasesFrame Holder_3.BackgroundTransparency = 1 Holder_3.BorderSizePixel = 0 Holder_3.Position = UDim2.new(0, 0, 0, 0) Holder_3.Size = UDim2.new(0, 250, 0, 145) Holder_3.ScrollBarImageColor3 = Color3.fromRGB(78,78,79) Holder_3.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_3.CanvasSize = UDim2.new(0, 0, 0, 0) Holder_3.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_3.ScrollBarThickness = 0 Holder_3.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_3.VerticalScrollBarInset = 'Always' Holder_3.ZIndex = 10 Example_3.Name = "Example" Example_3.Parent = AliasesFrame Example_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Example_3.BorderSizePixel = 0 Example_3.Size = UDim2.new(0, 10, 0, 20) Example_3.Visible = false Example_3.ZIndex = 10 table.insert(shade2,Example_3) Text_4.Name = "Text" Text_4.Parent = Example_3 Text_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Text_4.BorderSizePixel = 0 Text_4.Position = UDim2.new(0, 10, 0, 0) Text_4.Size = UDim2.new(0, 240, 0, 20) Text_4.Font = Enum.Font.SourceSans Text_4.TextSize = 14 Text_4.Text = "honk" Text_4.TextColor3 = Color3.new(1, 1, 1) Text_4.TextXAlignment = Enum.TextXAlignment.Left Text_4.ZIndex = 10 table.insert(shade2,Text_4) table.insert(text1,Text_4) Delete_4.Name = "Delete" Delete_4.Parent = Text_4 Delete_4.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Delete_4.BorderSizePixel = 0 Delete_4.Position = UDim2.new(0, 200, 0, 0) Delete_4.Size = UDim2.new(0, 40, 0, 20) Delete_4.Font = Enum.Font.SourceSans Delete_4.TextSize = 14 Delete_4.Text = "Delete" Delete_4.TextColor3 = Color3.new(0, 0, 0) Delete_4.ZIndex = 10 table.insert(shade3,Delete_4) table.insert(text2,Delete_4) PluginsFrame.Name = "PluginsFrame" PluginsFrame.Parent = Settings PluginsFrame.Active = true PluginsFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37) PluginsFrame.BorderSizePixel = 0 PluginsFrame.Position = UDim2.new(0, 0, 0, 175) PluginsFrame.Size = UDim2.new(0, 250, 0, 175) PluginsFrame.ZIndex = 10 table.insert(shade1,PluginsFrame) Close_4.Name = "Close" Close_4.Parent = PluginsFrame Close_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Close_4.BorderSizePixel = 0 Close_4.Position = UDim2.new(0, 205, 0, 150) Close_4.Size = UDim2.new(0, 40, 0, 20) Close_4.Font = Enum.Font.SourceSans Close_4.TextSize = 14 Close_4.Text = "Close" Close_4.TextColor3 = Color3.new(1, 1, 1) Close_4.ZIndex = 10 table.insert(shade2,Close_4) table.insert(text1,Close_4) Add_3.Name = "Add" Add_3.Parent = PluginsFrame Add_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Add_3.BorderSizePixel = 0 Add_3.Position = UDim2.new(0, 5, 0, 150) Add_3.Size = UDim2.new(0, 40, 0, 20) Add_3.Font = Enum.Font.SourceSans Add_3.TextSize = 14 Add_3.Text = "Add" Add_3.TextColor3 = Color3.new(1, 1, 1) Add_3.ZIndex = 10 table.insert(shade2,Add_3) table.insert(text1,Add_3) Holder_5.Name = "Holder" Holder_5.Parent = PluginsFrame Holder_5.BackgroundTransparency = 1 Holder_5.BorderSizePixel = 0 Holder_5.Position = UDim2.new(0, 0, 0, 0) Holder_5.Selectable = false Holder_5.Size = UDim2.new(0, 250, 0, 145) Holder_5.ScrollBarImageColor3 = Color3.fromRGB(78,78,79) Holder_5.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_5.CanvasSize = UDim2.new(0, 0, 0, 0) Holder_5.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_5.ScrollBarThickness = 0 Holder_5.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" Holder_5.VerticalScrollBarInset = 'Always' Holder_5.ZIndex = 10 Example_5.Name = "Example" Example_5.Parent = PluginsFrame Example_5.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Example_5.BorderSizePixel = 0 Example_5.Size = UDim2.new(0, 10, 0, 20) Example_5.Visible = false Example_5.ZIndex = 10 table.insert(shade2,Example_5) Text_6.Name = "Text" Text_6.Parent = Example_5 Text_6.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Text_6.BorderSizePixel = 0 Text_6.Position = UDim2.new(0, 10, 0, 0) Text_6.Size = UDim2.new(0, 240, 0, 20) Text_6.Font = Enum.Font.SourceSans Text_6.TextSize = 14 Text_6.Text = "F4 > Toggle Fly" Text_6.TextColor3 = Color3.new(1, 1, 1) Text_6.TextXAlignment = Enum.TextXAlignment.Left Text_6.ZIndex = 10 table.insert(shade2,Text_6) table.insert(text1,Text_6) Delete_7.Name = "Delete" Delete_7.Parent = Text_6 Delete_7.BackgroundColor3 = Color3.fromRGB(78, 78, 79) Delete_7.BorderSizePixel = 0 Delete_7.Position = UDim2.new(0, 200, 0, 0) Delete_7.Size = UDim2.new(0, 40, 0, 20) Delete_7.Font = Enum.Font.SourceSans Delete_7.TextSize = 14 Delete_7.Text = "Delete" Delete_7.TextColor3 = Color3.new(0, 0, 0) Delete_7.ZIndex = 10 table.insert(shade3,Delete_7) table.insert(text2,Delete_7) PluginEditor.Name = randomString() PluginEditor.Parent = ScaledHolder PluginEditor.BorderSizePixel = 0 PluginEditor.Active = true PluginEditor.BackgroundTransparency = 1 PluginEditor.Position = UDim2.new(0.5, -180, 0, -500) PluginEditor.Size = UDim2.new(0, 360, 0, 20) PluginEditor.ZIndex = 10 background_3.Name = "background" background_3.Parent = PluginEditor background_3.Active = true background_3.BackgroundColor3 = Color3.fromRGB(36, 36, 37) background_3.BorderSizePixel = 0 background_3.Position = UDim2.new(0, 0, 0, 20) background_3.Size = UDim2.new(0, 360, 0, 160) background_3.ZIndex = 10 table.insert(shade1,background_3) Dark_2.Name = "Dark" Dark_2.Parent = background_3 Dark_2.Active = true Dark_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47) Dark_2.BorderSizePixel = 0 Dark_2.Position = UDim2.new(0, 222, 0, 0) Dark_2.Size = UDim2.new(0, 2, 0, 160) Dark_2.ZIndex = 10 table.insert(shade2,Dark_2) Img.Name = "Img" Img.Parent = background_3 Img.BackgroundTransparency = 1 Img.Position = UDim2.new(0, 242, 0, 3) Img.Size = UDim2.new(0, 100, 0, 95) Img.Image = getcustomasset("infiniteyield/assets/imgstudiopluginlogo.png") Img.ZIndex = 10 AddPlugin.Name = "AddPlugin" AddPlugin.Parent = background_3 AddPlugin.BackgroundColor3 = Color3.fromRGB(46, 46, 47) AddPlugin.BorderSizePixel = 0 AddPlugin.Position = UDim2.new(0, 235, 0, 100) AddPlugin.Size = UDim2.new(0, 115, 0, 50) AddPlugin.Font = Enum.Font.SourceSans AddPlugin.TextSize = 14 AddPlugin.Text = "Add Plugin" AddPlugin.TextColor3 = Color3.new(1, 1, 1) AddPlugin.ZIndex = 10 table.insert(shade2,AddPlugin) table.insert(text1,AddPlugin) FileName.Name = "FileName" FileName.Parent = background_3 FileName.BackgroundColor3 = Color3.fromRGB(46, 46, 47) FileName.BorderSizePixel = 0 FileName.Position = UDim2.new(0.028, 0, 0.625, 0) FileName.Size = UDim2.new(0, 200, 0, 50) FileName.Font = Enum.Font.SourceSans FileName.TextSize = 14 FileName.Text = "Plugin File Name" FileName.TextColor3 = Color3.new(1, 1, 1) FileName.ZIndex = 10 table.insert(shade2,FileName) table.insert(text1,FileName) About.Name = "About" About.Parent = background_3 About.BackgroundTransparency = 1 About.BorderSizePixel = 0 About.Position = UDim2.new(0, 17, 0, 10) About.Size = UDim2.new(0, 187, 0, 49) About.Font = Enum.Font.SourceSans About.TextSize = 14 About.Text = "Plugins are .iy files and should be located in the 'workspace' folder of your exploit." About.TextColor3 = Color3.fromRGB(255, 255, 255) About.TextWrapped = true About.TextYAlignment = Enum.TextYAlignment.Top About.ZIndex = 10 table.insert(text1,About) Directions_2.Name = "Directions" Directions_2.Parent = background_3 Directions_2.BackgroundTransparency = 1 Directions_2.BorderSizePixel = 0 Directions_2.Position = UDim2.new(0, 17, 0, 60) Directions_2.Size = UDim2.new(0, 187, 0, 49) Directions_2.Font = Enum.Font.SourceSans Directions_2.TextSize = 14 Directions_2.Text = "Type the name of the plugin file you want to add below." Directions_2.TextColor3 = Color3.fromRGB(255, 255, 255) Directions_2.TextWrapped = true Directions_2.TextYAlignment = Enum.TextYAlignment.Top Directions_2.ZIndex = 10 table.insert(text1,Directions_2) shadow_3.Name = "shadow" shadow_3.Parent = PluginEditor shadow_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47) shadow_3.BorderSizePixel = 0 shadow_3.Size = UDim2.new(0, 360, 0, 20) shadow_3.ZIndex = 10 table.insert(shade2,shadow_3) PopupText_3.Name = "PopupText" PopupText_3.Parent = shadow_3 PopupText_3.BackgroundTransparency = 1 PopupText_3.Size = UDim2.new(1, 0, 0.95, 0) PopupText_3.ZIndex = 10 PopupText_3.Font = Enum.Font.SourceSans PopupText_3.TextSize = 14 PopupText_3.Text = "Add Plugins" PopupText_3.TextColor3 = Color3.new(1, 1, 1) PopupText_3.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PopupText_3.TextStrokeTransparency = 0.5 PopupText_3.TextWrapped = true table.insert(text1,PopupText_3) Exit_3.Name = "Exit" Exit_3.Parent = shadow_3 Exit_3.BackgroundTransparency = 1 Exit_3.Position = UDim2.new(1, -20, 0, 0) Exit_3.Size = UDim2.new(0, 20, 0, 20) Exit_3.Text = "" Exit_3.ZIndex = 10 ExitImage_3.Parent = Exit_3 ExitImage_3.BackgroundColor3 = Color3.new(1, 1, 1) ExitImage_3.BackgroundTransparency = 1 ExitImage_3.Position = UDim2.new(0, 5, 0, 5) ExitImage_3.Size = UDim2.new(0, 10, 0, 10) ExitImage_3.Image = getcustomasset("infiniteyield/assets/close.png") ExitImage_3.ZIndex = 10 AliasHint.Name = "AliasHint" AliasHint.Parent = AliasesFrame AliasHint.BackgroundTransparency = 1 AliasHint.BorderSizePixel = 0 AliasHint.Position = UDim2.new(0, 25, 0, 40) AliasHint.Size = UDim2.new(0, 200, 0, 50) AliasHint.Font = Enum.Font.SourceSansItalic AliasHint.TextSize = 16 AliasHint.Text = "Add aliases by using the 'addalias' command" AliasHint.TextColor3 = Color3.new(1, 1, 1) AliasHint.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) AliasHint.TextWrapped = true AliasHint.ZIndex = 10 table.insert(text1,AliasHint) PluginsHint.Name = "PluginsHint" PluginsHint.Parent = PluginsFrame PluginsHint.BackgroundTransparency = 1 PluginsHint.BorderSizePixel = 0 PluginsHint.Position = UDim2.new(0, 25, 0, 40) PluginsHint.Size = UDim2.new(0, 200, 0, 50) PluginsHint.Font = Enum.Font.SourceSansItalic PluginsHint.TextSize = 16 PluginsHint.Text = "Download plugins from the IY Discord (discord.gg/78ZuWSq)" PluginsHint.TextColor3 = Color3.new(1, 1, 1) PluginsHint.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PluginsHint.TextWrapped = true PluginsHint.ZIndex = 10 table.insert(text1,PluginsHint) PositionsHint.Name = "PositionsHint" PositionsHint.Parent = PositionsFrame PositionsHint.BackgroundTransparency = 1 PositionsHint.BorderSizePixel = 0 PositionsHint.Position = UDim2.new(0, 25, 0, 40) PositionsHint.Size = UDim2.new(0, 200, 0, 70) PositionsHint.Font = Enum.Font.SourceSansItalic PositionsHint.TextSize = 16 PositionsHint.Text = "Use the 'swp' or 'setwaypoint' command to add a position using your character (NOTE: Part teleports will not save)" PositionsHint.TextColor3 = Color3.new(1, 1, 1) PositionsHint.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PositionsHint.TextWrapped = true PositionsHint.ZIndex = 10 table.insert(text1,PositionsHint) ToPartFrame.Name = randomString() ToPartFrame.Parent = ScaledHolder ToPartFrame.Active = true ToPartFrame.BackgroundTransparency = 1 ToPartFrame.Position = UDim2.new(0.5, -180, 0, -500) ToPartFrame.Size = UDim2.new(0, 360, 0, 20) ToPartFrame.ZIndex = 10 background_4.Name = "background" background_4.Parent = ToPartFrame background_4.Active = true background_4.BackgroundColor3 = Color3.fromRGB(36, 36, 37) background_4.BorderSizePixel = 0 background_4.Position = UDim2.new(0, 0, 0, 20) background_4.Size = UDim2.new(0, 360, 0, 117) background_4.ZIndex = 10 table.insert(shade1,background_4) ChoosePart.Name = "ChoosePart" ChoosePart.Parent = background_4 ChoosePart.BackgroundColor3 = Color3.fromRGB(46, 46, 47) ChoosePart.BorderSizePixel = 0 ChoosePart.Position = UDim2.new(0, 100, 0, 55) ChoosePart.Size = UDim2.new(0, 75, 0, 30) ChoosePart.Font = Enum.Font.SourceSans ChoosePart.TextSize = 14 ChoosePart.Text = "Select Part" ChoosePart.TextColor3 = Color3.new(1, 1, 1) ChoosePart.ZIndex = 10 table.insert(shade2,ChoosePart) table.insert(text1,ChoosePart) CopyPath.Name = "CopyPath" CopyPath.Parent = background_4 CopyPath.BackgroundColor3 = Color3.fromRGB(46, 46, 47) CopyPath.BorderSizePixel = 0 CopyPath.Position = UDim2.new(0, 185, 0, 55) CopyPath.Size = UDim2.new(0, 75, 0, 30) CopyPath.Font = Enum.Font.SourceSans CopyPath.TextSize = 14 CopyPath.Text = "Copy Path" CopyPath.TextColor3 = Color3.new(1, 1, 1) CopyPath.ZIndex = 10 table.insert(shade2,CopyPath) table.insert(text1,CopyPath) Directions_3.Name = "Directions" Directions_3.Parent = background_4 Directions_3.BackgroundTransparency = 1 Directions_3.BorderSizePixel = 0 Directions_3.Position = UDim2.new(0, 51, 0, 17) Directions_3.Size = UDim2.new(0, 257, 0, 32) Directions_3.Font = Enum.Font.SourceSans Directions_3.TextSize = 14 Directions_3.Text = 'Click on a part and then click the "Select Part" button below to set it as a teleport location' Directions_3.TextColor3 = Color3.new(1, 1, 1) Directions_3.TextWrapped = true Directions_3.TextYAlignment = Enum.TextYAlignment.Top Directions_3.ZIndex = 10 table.insert(text1,Directions_3) Path.Name = "Path" Path.Parent = background_4 Path.BackgroundTransparency = 1 Path.BorderSizePixel = 0 Path.Position = UDim2.new(0, 0, 0, 94) Path.Size = UDim2.new(0, 360, 0, 16) Path.Font = Enum.Font.SourceSansItalic Path.TextSize = 14 Path.Text = "" Path.TextColor3 = Color3.new(1, 1, 1) Path.TextScaled = true Path.TextWrapped = true Path.TextYAlignment = Enum.TextYAlignment.Top Path.ZIndex = 10 table.insert(text1,Path) shadow_4.Name = "shadow" shadow_4.Parent = ToPartFrame shadow_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47) shadow_4.BorderSizePixel = 0 shadow_4.Size = UDim2.new(0, 360, 0, 20) shadow_4.ZIndex = 10 table.insert(shade2,shadow_4) PopupText_5.Name = "PopupText" PopupText_5.Parent = shadow_4 PopupText_5.BackgroundTransparency = 1 PopupText_5.Size = UDim2.new(1, 0, 0.95, 0) PopupText_5.ZIndex = 10 PopupText_5.Font = Enum.Font.SourceSans PopupText_5.TextSize = 14 PopupText_5.Text = "Teleport to Part" PopupText_5.TextColor3 = Color3.new(1, 1, 1) PopupText_5.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PopupText_5.TextStrokeTransparency = 0.5 PopupText_5.TextWrapped = true table.insert(text1,PopupText_5) Exit_4.Name = "Exit" Exit_4.Parent = shadow_4 Exit_4.BackgroundTransparency = 1 Exit_4.Position = UDim2.new(1, -20, 0, 0) Exit_4.Size = UDim2.new(0, 20, 0, 20) Exit_4.Text = "" Exit_4.ZIndex = 10 ExitImage_5.Parent = Exit_4 ExitImage_5.BackgroundColor3 = Color3.new(1, 1, 1) ExitImage_5.BackgroundTransparency = 1 ExitImage_5.Position = UDim2.new(0, 5, 0, 5) ExitImage_5.Size = UDim2.new(0, 10, 0, 10) ExitImage_5.Image = getcustomasset("infiniteyield/assets/close.png") ExitImage_5.ZIndex = 10 logs.Name = randomString() logs.Parent = ScaledHolder logs.Active = true logs.BackgroundTransparency = 1 logs.Position = UDim2.new(0, 0, 1, 10) logs.Size = UDim2.new(0, 338, 0, 20) logs.ZIndex = 10 shadow.Name = "shadow" shadow.Parent = logs shadow.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) shadow.BorderSizePixel = 0 shadow.Position = UDim2.new(0, 0, 0.00999999978, 0) shadow.Size = UDim2.new(0, 338, 0, 20) shadow.ZIndex = 10 table.insert(shade2,shadow) Hide.Name = "Hide" Hide.Parent = shadow Hide.BackgroundTransparency = 1 Hide.Position = UDim2.new(1, -40, 0, 0) Hide.Size = UDim2.new(0, 20, 0, 20) Hide.ZIndex = 10 Hide.Text = "" ImageLabel.Parent = Hide ImageLabel.BackgroundColor3 = Color3.new(1, 1, 1) ImageLabel.BackgroundTransparency = 1 ImageLabel.Position = UDim2.new(0, 3, 0, 3) ImageLabel.Size = UDim2.new(0, 14, 0, 14) ImageLabel.Image = getcustomasset("infiniteyield/assets/minimize.png") ImageLabel.ZIndex = 10 PopupText.Name = "PopupText" PopupText.Parent = shadow PopupText.BackgroundTransparency = 1 PopupText.Size = UDim2.new(1, 0, 0.949999988, 0) PopupText.ZIndex = 10 PopupText.Font = Enum.Font.SourceSans PopupText.FontSize = Enum.FontSize.Size14 PopupText.Text = "Logs" PopupText.TextColor3 = Color3.new(1, 1, 1) PopupText.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PopupText.TextStrokeTransparency = 0.5 PopupText.TextWrapped = true table.insert(text1,PopupText) Exit.Name = "Exit" Exit.Parent = shadow Exit.BackgroundTransparency = 1 Exit.Position = UDim2.new(1, -20, 0, 0) Exit.Size = UDim2.new(0, 20, 0, 20) Exit.ZIndex = 10 Exit.Text = "" ImageLabel_2.Parent = Exit ImageLabel_2.BackgroundColor3 = Color3.new(1, 1, 1) ImageLabel_2.BackgroundTransparency = 1 ImageLabel_2.Position = UDim2.new(0, 5, 0, 5) ImageLabel_2.Size = UDim2.new(0, 10, 0, 10) ImageLabel_2.Image = getcustomasset("infiniteyield/assets/close.png") ImageLabel_2.ZIndex = 10 background.Name = "background" background.Parent = logs background.Active = true background.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.145098) background.BorderSizePixel = 0 background.ClipsDescendants = true background.Position = UDim2.new(0, 0, 1, 0) background.Size = UDim2.new(0, 338, 0, 245) background.ZIndex = 10 chat.Name = "chat" chat.Parent = background chat.Active = true chat.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.145098) chat.BorderSizePixel = 0 chat.ClipsDescendants = true chat.Size = UDim2.new(0, 338, 0, 245) chat.ZIndex = 10 table.insert(shade1,chat) Clear.Name = "Clear" Clear.Parent = chat Clear.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) Clear.BorderSizePixel = 0 Clear.Position = UDim2.new(0, 5, 0, 220) Clear.Size = UDim2.new(0, 50, 0, 20) Clear.ZIndex = 10 Clear.Font = Enum.Font.SourceSans Clear.FontSize = Enum.FontSize.Size14 Clear.Text = "Clear" Clear.TextColor3 = Color3.new(1, 1, 1) table.insert(shade2,Clear) table.insert(text1,Clear) SaveChatlogs.Name = "SaveChatlogs" SaveChatlogs.Parent = chat SaveChatlogs.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) SaveChatlogs.BorderSizePixel = 0 SaveChatlogs.Position = UDim2.new(0, 258, 0, 220) SaveChatlogs.Size = UDim2.new(0, 75, 0, 20) SaveChatlogs.ZIndex = 10 SaveChatlogs.Font = Enum.Font.SourceSans SaveChatlogs.FontSize = Enum.FontSize.Size14 SaveChatlogs.Text = "Save To .txt" SaveChatlogs.TextColor3 = Color3.new(1, 1, 1) table.insert(shade2,SaveChatlogs) table.insert(text1,SaveChatlogs) Toggle.Name = "Toggle" Toggle.Parent = chat Toggle.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) Toggle.BorderSizePixel = 0 Toggle.Position = UDim2.new(0, 60, 0, 220) Toggle.Size = UDim2.new(0, 66, 0, 20) Toggle.ZIndex = 10 Toggle.Font = Enum.Font.SourceSans Toggle.FontSize = Enum.FontSize.Size14 Toggle.Text = "Disabled" Toggle.TextColor3 = Color3.new(1, 1, 1) table.insert(shade2,Toggle) table.insert(text1,Toggle) scroll_2.Name = "scroll" scroll_2.Parent = chat scroll_2.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) scroll_2.BorderSizePixel = 0 scroll_2.Position = UDim2.new(0, 5, 0, 25) scroll_2.Size = UDim2.new(0, 328, 0, 190) scroll_2.ZIndex = 10 scroll_2.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" scroll_2.CanvasSize = UDim2.new(0, 0, 0, 10) scroll_2.ScrollBarThickness = 8 scroll_2.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" table.insert(scroll,scroll_2) table.insert(shade2,scroll_2) join.Name = "join" join.Parent = background join.Active = true join.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.145098) join.BorderSizePixel = 0 join.ClipsDescendants = true join.Size = UDim2.new(0, 338, 0, 245) join.Visible = false join.ZIndex = 10 table.insert(shade1,join) Toggle_2.Name = "Toggle" Toggle_2.Parent = join Toggle_2.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) Toggle_2.BorderSizePixel = 0 Toggle_2.Position = UDim2.new(0, 60, 0, 220) Toggle_2.Size = UDim2.new(0, 66, 0, 20) Toggle_2.ZIndex = 10 Toggle_2.Font = Enum.Font.SourceSans Toggle_2.FontSize = Enum.FontSize.Size14 Toggle_2.Text = "Disabled" Toggle_2.TextColor3 = Color3.new(1, 1, 1) table.insert(shade2,Toggle_2) table.insert(text1,Toggle_2) Clear_2.Name = "Clear" Clear_2.Parent = join Clear_2.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) Clear_2.BorderSizePixel = 0 Clear_2.Position = UDim2.new(0, 5, 0, 220) Clear_2.Size = UDim2.new(0, 50, 0, 20) Clear_2.ZIndex = 10 Clear_2.Font = Enum.Font.SourceSans Clear_2.FontSize = Enum.FontSize.Size14 Clear_2.Text = "Clear" Clear_2.TextColor3 = Color3.new(1, 1, 1) table.insert(shade2,Clear_2) table.insert(text1,Clear_2) scroll_3.Name = "scroll" scroll_3.Parent = join scroll_3.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) scroll_3.BorderSizePixel = 0 scroll_3.Position = UDim2.new(0, 5, 0, 25) scroll_3.Size = UDim2.new(0, 328, 0, 190) scroll_3.ZIndex = 10 scroll_3.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" scroll_3.CanvasSize = UDim2.new(0, 0, 0, 10) scroll_3.ScrollBarThickness = 8 scroll_3.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png" table.insert(scroll,scroll_3) table.insert(shade2,scroll_3) selectChat.Name = "selectChat" selectChat.Parent = background selectChat.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314) selectChat.BorderSizePixel = 0 selectChat.Position = UDim2.new(0, 5, 0, 5) selectChat.Size = UDim2.new(0, 164, 0, 20) selectChat.ZIndex = 10 selectChat.Font = Enum.Font.SourceSans selectChat.FontSize = Enum.FontSize.Size14 selectChat.Text = "Chat Logs" selectChat.TextColor3 = Color3.new(1, 1, 1) table.insert(shade2,selectChat) table.insert(text1,selectChat) selectJoin.Name = "selectJoin" selectJoin.Parent = background selectJoin.BackgroundColor3 = Color3.new(0.305882, 0.305882, 0.309804) selectJoin.BorderSizePixel = 0 selectJoin.Position = UDim2.new(0, 169, 0, 5) selectJoin.Size = UDim2.new(0, 164, 0, 20) selectJoin.ZIndex = 10 selectJoin.Font = Enum.Font.SourceSans selectJoin.FontSize = Enum.FontSize.Size14 selectJoin.Text = "Join Logs" selectJoin.TextColor3 = Color3.new(1, 1, 1) table.insert(shade3,selectJoin) table.insert(text1,selectJoin) function create(data) local insts = {} for i,v in pairs(data) do insts[v[1]] = Instance.new(v[2]) end for _,v in pairs(data) do for prop,val in pairs(v[3]) do if type(val) == "table" then insts[v[1]][prop] = insts[val[1]] else insts[v[1]][prop] = val end end end return insts[1] end ViewportTextBox = (function() local funcs = {} funcs.Update = function(self) local cursorPos = self.TextBox.CursorPosition local text = self.TextBox.Text if text == "" then self.TextBox.Position = UDim2.new(0,2,0,0) return end if cursorPos == -1 then return end local cursorText = text:sub(1,cursorPos-1) local pos = nil local leftEnd = -self.TextBox.Position.X.Offset local rightEnd = leftEnd + self.View.AbsoluteSize.X local totalTextSize = TextService:GetTextSize(text,self.TextBox.TextSize,self.TextBox.Font,Vector2.new(999999999,100)).X local cursorTextSize = TextService:GetTextSize(cursorText,self.TextBox.TextSize,self.TextBox.Font,Vector2.new(999999999,100)).X if cursorTextSize > rightEnd then pos = math.max(-2,cursorTextSize - self.View.AbsoluteSize.X + 2) elseif cursorTextSize < leftEnd then pos = math.max(-2,cursorTextSize-2) elseif totalTextSize < rightEnd then pos = math.max(-2,totalTextSize - self.View.AbsoluteSize.X + 2) end if pos then self.TextBox.Position = UDim2.new(0,-pos,0,0) self.TextBox.Size = UDim2.new(1,pos,1,0) end end local mt = {} mt.__index = funcs local function convert(textbox) local obj = setmetatable({OffsetX = 0, TextBox = textbox},mt) local view = Instance.new("Frame") view.BackgroundTransparency = textbox.BackgroundTransparency view.BackgroundColor3 = textbox.BackgroundColor3 view.BorderSizePixel = textbox.BorderSizePixel view.BorderColor3 = textbox.BorderColor3 view.Position = textbox.Position view.Size = textbox.Size view.ClipsDescendants = true view.Name = textbox.Name view.ZIndex = 10 textbox.BackgroundTransparency = 1 textbox.Position = UDim2.new(0,4,0,0) textbox.Size = UDim2.new(1,-8,1,0) textbox.TextXAlignment = Enum.TextXAlignment.Left textbox.Name = "Input" table.insert(text1,textbox) table.insert(shade2,view) obj.View = view textbox.Changed:Connect(function(prop) if prop == "Text" or prop == "CursorPosition" or prop == "AbsoluteSize" then obj:Update() end end) obj:Update() view.Parent = textbox.Parent textbox.Parent = view return obj end return {convert = convert} end)() ViewportTextBox.convert(Cmdbar).View.ZIndex = 10 ViewportTextBox.convert(Cmdbar_2).View.ZIndex = 10 ViewportTextBox.convert(Cmdbar_3).View.ZIndex = 10 function writefileExploit() if writefile then return true end end function readfileExploit() if readfile then return true end end function isNumber(str) if tonumber(str) ~= nil or str == "inf" then return true end end function vtype(o, t) if o == nil then return false end if type(o) == "userdata" then return typeof(o) == t end return type(o) == t end function getRoot(char) if char and char:FindFirstChildOfClass("Humanoid") then return char:FindFirstChildOfClass("Humanoid").RootPart else return nil end end function tools(plr) if plr:FindFirstChildOfClass("Backpack"):FindFirstChildOfClass("Tool") or plr.Character:FindFirstChildOfClass("Tool") then return true end end function r15(plr) if plr.Character:FindFirstChildOfClass("Humanoid").RigType == Enum.HumanoidRigType.R15 then return true end end function breakVelocity() local V3 = Vector3.new(0, 0, 0) for _, v in ipairs(Players.LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") then v.Velocity, v.RotVelocity = V3, V3 end end end function toClipboard(txt) if everyClipboard then everyClipboard(tostring(txt)) -- some executor errored without tostring btw so dont call me out for this notify("Clipboard", "Copied to clipboard") else notify("Clipboard", "Your exploit doesn't have the ability to use the clipboard") end end function chatMessage(str) str = tostring(str) if not isLegacyChat then TextChatService.TextChannels.RBXGeneral:SendAsync(str) else ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(str, "All") end end function getHierarchy(obj) local fullname local period if string.find(obj.Name,' ') then fullname = '["'..obj.Name..'"]' period = false else fullname = obj.Name period = true end local getS = obj local parent = obj local service = '' if getS.Parent ~= game then repeat getS = getS.Parent service = getS.ClassName until getS.Parent == game end if parent.Parent ~= getS then repeat parent = parent.Parent if string.find(tostring(parent),' ') then if period then fullname = '["'..parent.Name..'"].'..fullname else fullname = '["'..parent.Name..'"]'..fullname end period = false else if period then fullname = parent.Name..'.'..fullname else fullname = parent.Name..''..fullname end period = true end until parent.Parent == getS elseif string.find(tostring(parent),' ') then fullname = '["'..parent.Name..'"]' period = false end if period then return 'game:GetService("'..service..'").'..fullname else return 'game:GetService("'..service..'")'..fullname end end AllWaypoints = {} local cooldown = false function writefileCooldown(name,data) task.spawn(function() if not cooldown then cooldown = true writefile(name, data, true) else repeat wait() until cooldown == false writefileCooldown(name,data) end wait(3) cooldown = false end) end function dragGUI(gui) task.spawn(function() local dragging local dragInput local dragStart = Vector3.new(0,0,0) local startPos local function update(input) local delta = input.Position - dragStart local Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play() end gui.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = gui.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) gui.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) end) end dragGUI(logs) dragGUI(KeybindEditor) dragGUI(PluginEditor) dragGUI(ToPartFrame) eventEditor = (function() local events = {} local function registerEvent(name,sets) events[name] = { commands = {}, sets = sets or {} } end local onEdited = nil local function fireEvent(name,...) local args = {...} local event = events[name] if event then for i,cmd in pairs(event.commands) do local metCondition = true for idx,set in pairs(event.sets) do local argVal = args[idx] local cmdSet = cmd[2][idx] local condType = set.Type if condType == "Player" then if cmdSet == 0 then metCondition = metCondition and (tostring(Players.LocalPlayer) == argVal) elseif cmdSet ~= 1 then metCondition = metCondition and table.find(getPlayer(cmdSet,Players.LocalPlayer),argVal) end elseif condType == "String" then if cmdSet ~= 0 then metCondition = metCondition and string.find(argVal:lower(),cmdSet:lower()) end elseif condType == "Number" then if cmdSet ~= 0 then metCondition = metCondition and tonumber(argVal)<=tonumber(cmdSet) end end if not metCondition then break end end if metCondition then pcall(task.spawn(function() local cmdStr = cmd[1] for count,arg in pairs(args) do cmdStr = cmdStr:gsub("%$"..count,arg) end wait(cmd[3] or 0) execCmd(cmdStr) end)) end end end end local main = create({ {1,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderSizePixel=0,Name="EventEditor",Position=UDim2.new(0.5,-175,0,-500),Size=UDim2.new(0,350,0,20),ZIndex=10,}}, {2,"Frame",{BackgroundColor3=currentShade2,BorderSizePixel=0,Name="TopBar",Parent={1},Size=UDim2.new(1,0,0,20),ZIndex=10,}}, {3,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={2},Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,0.95,0),Text="Event Editor",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=Enum.TextXAlignment.Center,ZIndex=10,}}, {4,"TextButton",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Close",Parent={2},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {5,"ImageLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Image=getcustomasset("infiniteyield/assets/close.png"),Parent={4},Position=UDim2.new(0,5,0,5),Size=UDim2.new(0,10,0,10),ZIndex=10,}}, {6,"Frame",{BackgroundColor3=currentShade1,BorderSizePixel=0,Name="Content",Parent={1},Position=UDim2.new(0,0,0,20),Size=UDim2.new(1,0,0,202),ZIndex=10,}}, {7,"ScrollingFrame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",CanvasSize=UDim2.new(0,0,0,100),Name="List",Parent={6},Position=UDim2.new(0,5,0,5),ScrollBarImageColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),ScrollBarThickness=8,Size=UDim2.new(1,-10,1,-10),TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",ZIndex=10,}}, {8,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Holder",Parent={7},Size=UDim2.new(1,0,1,0),ZIndex=10,}}, {9,"UIListLayout",{Parent={8},SortOrder=2,}}, {10,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BorderSizePixel=0,ClipsDescendants=true,Name="Settings",Parent={6},Position=UDim2.new(1,0,0,0),Size=UDim2.new(0,150,1,0),ZIndex=10,}}, {11,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),Name="Slider",Parent={10},Position=UDim2.new(0,-150,0,0),Size=UDim2.new(1,0,1,0),ZIndex=10,}}, {12,"Frame",{BackgroundColor3=Color3.new(0.23529413342476,0.23529413342476,0.23529413342476),BorderColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BorderSizePixel=0,Name="Line",Parent={11},Size=UDim2.new(0,1,1,0),ZIndex=10,}}, {13,"ScrollingFrame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",CanvasSize=UDim2.new(0,0,0,100),Name="List",Parent={11},Position=UDim2.new(0,0,0,25),ScrollBarImageColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),ScrollBarThickness=8,Size=UDim2.new(1,0,1,-25),TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",ZIndex=10,}}, {14,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Holder",Parent={13},Size=UDim2.new(1,0,1,0),ZIndex=10,}}, {15,"UIListLayout",{Parent={14},SortOrder=2,}}, {16,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={11},Size=UDim2.new(1,0,0,20),Text="Event Settings",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {17,"TextButton",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Font=3,Name="Close",BorderSizePixel=0,Parent={11},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="<",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}}, {18,"Folder",{Name="Templates",Parent={10},}}, {19,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="Players",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,86),Visible=false,ZIndex=10,}}, {20,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={19},Size=UDim2.new(1,0,0,20),Text="Choose Players",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {21,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Any",Parent={19},Position=UDim2.new(0,5,0,42),Size=UDim2.new(1,-10,0,20),Text="Any Player",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {22,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={21},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {23,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={22},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {24,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Me",Parent={19},Position=UDim2.new(0,5,0,20),Size=UDim2.new(1,-10,0,20),Text="Me Only",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {25,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={24},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {26,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={25},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {27,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,ClearTextOnFocus=false,Font=3,Name="Custom",Parent={19},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),PlaceholderText="Custom Player Set",Position=UDim2.new(0,5,0,64),Size=UDim2.new(1,-35,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {28,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="CustomButton",Parent={19},Position=UDim2.new(1,-25,0,64),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {29,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={28},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {30,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="Strings",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,64),Visible=false,ZIndex=10,}}, {31,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={30},Size=UDim2.new(1,0,0,20),Text="Choose String",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {32,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Any",Parent={30},Position=UDim2.new(0,5,0,20),Size=UDim2.new(1,-10,0,20),Text="Any String",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {33,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={32},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {34,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={33},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {54,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="Numbers",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,64),Visible=false,ZIndex=10,}}, {55,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={54},Size=UDim2.new(1,0,0,20),Text="Choose String",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {56,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Any",Parent={54},Position=UDim2.new(0,5,0,20),Size=UDim2.new(1,-10,0,20),Text="Any Number",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {57,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={56},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {58,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={57},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {59,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,ClearTextOnFocus=false,Font=3,Name="Custom",Parent={54},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),PlaceholderText="Number",Position=UDim2.new(0,5,0,42),Size=UDim2.new(1,-35,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {60,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="CustomButton",Parent={54},Position=UDim2.new(1,-25,0,42),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {61,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={60},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {35,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,ClearTextOnFocus=false,Font=3,Name="Custom",Parent={30},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),PlaceholderText="Match String",Position=UDim2.new(0,5,0,42),Size=UDim2.new(1,-35,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {36,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="CustomButton",Parent={30},Position=UDim2.new(1,-25,0,42),Size=UDim2.new(0,20,0,20),ZIndex=10,}}, {37,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={36},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}}, {38,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="DelayEditor",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,24),Visible=false,ZIndex=10,}}, {39,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,Font=3,Name="Secs",Parent={38},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),Position=UDim2.new(0,60,0,2),Size=UDim2.new(1,-65,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {40,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Label",Parent={39},Position=UDim2.new(0,-55,0,0),Size=UDim2.new(1,0,1,0),Text="Delay (s):",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {41,"Frame",{BackgroundColor3=currentShade1,BorderSizePixel=0,ClipsDescendants=true,Name="EventTemplate",Parent={6},Size=UDim2.new(1,0,0,20),Visible=false,ZIndex=10,}}, {42,"TextButton",{BackgroundColor3=currentText1,BackgroundTransparency=1,Font=3,Name="Expand",Parent={41},Size=UDim2.new(0,20,0,20),Text=">",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}}, {43,"TextLabel",{BackgroundColor3=currentText1,BackgroundTransparency=1,Font=3,Name="EventName",Parent={41},Position=UDim2.new(0,25,0,0),Size=UDim2.new(1,-25,0,20),Text="OnSpawn",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {44,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BorderSizePixel=0,BackgroundTransparency=1,ClipsDescendants=true,Name="Cmds",Parent={41},Position=UDim2.new(0,0,0,20),Size=UDim2.new(1,0,1,-20),ZIndex=10,}}, {45,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BorderColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),Name="Add",Parent={44},Position=UDim2.new(0,0,1,-20),Size=UDim2.new(1,0,0,20),ZIndex=10,}}, {46,"TextBox",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,ClearTextOnFocus=false,Font=3,Parent={45},PlaceholderColor3=Color3.new(0.7843137383461,0.7843137383461,0.7843137383461),PlaceholderText="Add new command",Position=UDim2.new(0,5,0,0),Size=UDim2.new(1,-10,1,0),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}}, {47,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Holder",Parent={44},Size=UDim2.new(1,0,1,-20),ZIndex=10,}}, {48,"UIListLayout",{Parent={47},SortOrder=2,}}, {49,"Frame",{currentShade1,BorderSizePixel=0,ClipsDescendants=true,Name="CmdTemplate",Parent={6},Size=UDim2.new(1,0,0,20),Visible=false,ZIndex=10,}}, {50,"TextBox",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,ClearTextOnFocus=false,Font=3,Parent={49},PlaceholderColor3=Color3.new(1,1,1),Position=UDim2.new(0,5,0,0),Size=UDim2.new(1,-45,0,20),Text="a\\b\\c\\d",TextColor3=currentText1,TextSize=14,TextXAlignment=0,ZIndex=10,}}, {51,"TextButton",{BackgroundColor3=currentShade1,BorderSizePixel=0,Font=3,Name="Delete",Parent={49},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="X",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}}, {52,"TextButton",{BackgroundColor3=currentShade1,BorderSizePixel=0,Font=3,Name="Settings",Parent={49},Position=UDim2.new(1,-40,0,0),Size=UDim2.new(0,20,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}}, {53,"ImageLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Image=getcustomasset("infiniteyield/assets/settings.png"),Parent={52},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),ZIndex=10,}}, }) main.Name = randomString() local mainFrame = main:WaitForChild("Content") local eventList = mainFrame:WaitForChild("List") local eventListHolder = eventList:WaitForChild("Holder") local cmdTemplate = mainFrame:WaitForChild("CmdTemplate") local eventTemplate = mainFrame:WaitForChild("EventTemplate") local settingsFrame = mainFrame:WaitForChild("Settings"):WaitForChild("Slider") local settingsTemplates = mainFrame.Settings:WaitForChild("Templates") local settingsList = settingsFrame:WaitForChild("List"):WaitForChild("Holder") table.insert(shade2,main.TopBar) table.insert(shade1,mainFrame) table.insert(shade2,eventTemplate) table.insert(text1,eventTemplate.EventName) table.insert(shade1,eventTemplate.Cmds.Add) table.insert(shade1,cmdTemplate) table.insert(text1,cmdTemplate.TextBox) table.insert(shade2,cmdTemplate.Delete) table.insert(shade2,cmdTemplate.Settings) table.insert(scroll,mainFrame.List) table.insert(shade1,settingsFrame) table.insert(shade2,settingsFrame.Line) table.insert(shade2,settingsFrame.Close) table.insert(scroll,settingsFrame.List) table.insert(shade2,settingsTemplates.DelayEditor.Secs) table.insert(text1,settingsTemplates.DelayEditor.Secs) table.insert(text1,settingsTemplates.DelayEditor.Secs.Label) table.insert(text1,settingsTemplates.Players.Title) table.insert(shade3,settingsTemplates.Players.CustomButton) table.insert(shade2,settingsTemplates.Players.Custom) table.insert(text1,settingsTemplates.Players.Custom) table.insert(shade3,settingsTemplates.Players.Any.Button) table.insert(shade3,settingsTemplates.Players.Me.Button) table.insert(text1,settingsTemplates.Players.Any) table.insert(text1,settingsTemplates.Players.Me) table.insert(text1,settingsTemplates.Strings.Title) table.insert(text1,settingsTemplates.Strings.Any) table.insert(shade3,settingsTemplates.Strings.Any.Button) table.insert(shade3,settingsTemplates.Strings.CustomButton) table.insert(text1,settingsTemplates.Strings.Custom) table.insert(shade2,settingsTemplates.Strings.Custom) table.insert(text1,settingsTemplates.Players.Me) table.insert(text1,settingsTemplates.Numbers.Title) table.insert(text1,settingsTemplates.Numbers.Any) table.insert(shade3,settingsTemplates.Numbers.Any.Button) table.insert(shade3,settingsTemplates.Numbers.CustomButton) table.insert(text1,settingsTemplates.Numbers.Custom) table.insert(shade2,settingsTemplates.Numbers.Custom) local tweenInf = TweenInfo.new(0.25,Enum.EasingStyle.Quart,Enum.EasingDirection.Out) local currentlyEditingCmd = nil settingsFrame:WaitForChild("Close").MouseButton1Click:Connect(function() settingsFrame:TweenPosition(UDim2.new(0,-150,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true) end) local function resizeList() local size = 0 for i,v in pairs(eventListHolder:GetChildren()) do if v.Name == "EventTemplate" then size = size + 20 if v.Expand.Rotation == 90 then size = size + 20*(1+(#events[v.EventName:GetAttribute("RawName")].commands or 0)) end end end TweenService:Create(eventList,tweenInf,{CanvasSize = UDim2.new(0,0,0,size)}):Play() if size > eventList.AbsoluteSize.Y then eventListHolder.Size = UDim2.new(1,-8,1,0) else eventListHolder.Size = UDim2.new(1,0,1,0) end end local function resizeSettingsList() local size = 0 for i,v in pairs(settingsList:GetChildren()) do if v:IsA("Frame") then size = size + v.AbsoluteSize.Y end end settingsList.Parent.CanvasSize = UDim2.new(0,0,0,size) if size > settingsList.Parent.AbsoluteSize.Y then settingsList.Size = UDim2.new(1,-8,1,0) else settingsList.Size = UDim2.new(1,0,1,0) end end local function setupCheckbox(button,callback) local enabled = button.On.BackgroundTransparency == 0 local function update() button.On.BackgroundTransparency = (enabled and 0 or 1) end button.On.MouseButton1Click:Connect(function() enabled = not enabled update() if callback then callback(enabled) end end) return { Toggle = function(nocall) enabled = not enabled update() if not nocall and callback then callback(enabled) end end, Enable = function(nocall) if enabled then return end enabled = true update()if not nocall and callback then callback(enabled) end end, Disable = function(nocall) if not enabled then return end enabled = false update()if not nocall and callback then callback(enabled) end end, IsEnabled = function() return enabled end } end local function openSettingsEditor(event,cmd) currentlyEditingCmd = cmd for i,v in pairs(settingsList:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end local delayEditor = settingsTemplates.DelayEditor:Clone() delayEditor.Secs.FocusLost:Connect(function() cmd[3] = tonumber(delayEditor.Secs.Text) or 0 delayEditor.Secs.Text = cmd[3] if onEdited then onEdited() end end) delayEditor.Secs.Text = cmd[3] delayEditor.Visible = true table.insert(shade2,delayEditor.Secs) table.insert(text1,delayEditor.Secs) table.insert(text1,delayEditor.Secs.Label) delayEditor.Parent = settingsList for i,v in pairs(event.sets) do if v.Type == "Player" then local template = settingsTemplates.Players:Clone() template.Title.Text = v.Name or "Player" local me,any,custom me = setupCheckbox(template.Me.Button,function(on) if not on then return end any.Disable() custom.Disable() cmd[2][i] = 0 if onEdited then onEdited() end end) any = setupCheckbox(template.Any.Button,function(on) if not on then return end me.Disable() custom.Disable() cmd[2][i] = 1 if onEdited then onEdited() end end) local customTextBox = template.Custom custom = setupCheckbox(template.CustomButton,function(on) if not on then return end me.Disable() any.Disable() cmd[2][i] = customTextBox.Text if onEdited then onEdited() end end) ViewportTextBox.convert(customTextBox) customTextBox.FocusLost:Connect(function() if custom:IsEnabled() then cmd[2][i] = customTextBox.Text if onEdited then onEdited() end end end) local cVal = cmd[2][i] if cVal == 0 then me:Enable() elseif cVal == 1 then any:Enable() else custom:Enable() customTextBox.Text = cVal end template.Visible = true table.insert(text1,template.Title) table.insert(shade3,template.CustomButton) table.insert(shade3,template.Any.Button) table.insert(shade3,template.Me.Button) table.insert(text1,template.Any) table.insert(text1,template.Me) template.Parent = settingsList elseif v.Type == "String" then local template = settingsTemplates.Strings:Clone() template.Title.Text = v.Name or "String" local any,custom any = setupCheckbox(template.Any.Button,function(on) if not on then return end custom.Disable() cmd[2][i] = 0 if onEdited then onEdited() end end) local customTextBox = template.Custom custom = setupCheckbox(template.CustomButton,function(on) if not on then return end any.Disable() cmd[2][i] = customTextBox.Text if onEdited then onEdited() end end) ViewportTextBox.convert(customTextBox) customTextBox.FocusLost:Connect(function() if custom:IsEnabled() then cmd[2][i] = customTextBox.Text if onEdited then onEdited() end end end) local cVal = cmd[2][i] if cVal == 0 then any:Enable() else custom:Enable() customTextBox.Text = cVal end template.Visible = true table.insert(text1,template.Title) table.insert(text1,template.Any) table.insert(shade3,template.Any.Button) table.insert(shade3,template.CustomButton) template.Parent = settingsList elseif v.Type == "Number" then local template = settingsTemplates.Numbers:Clone() template.Title.Text = v.Name or "Number" local any,custom any = setupCheckbox(template.Any.Button,function(on) if not on then return end custom.Disable() cmd[2][i] = 0 if onEdited then onEdited() end end) local customTextBox = template.Custom custom = setupCheckbox(template.CustomButton,function(on) if not on then return end any.Disable() cmd[2][i] = customTextBox.Text if onEdited then onEdited() end end) ViewportTextBox.convert(customTextBox) customTextBox.FocusLost:Connect(function() cmd[2][i] = tonumber(customTextBox.Text) or 0 customTextBox.Text = cmd[2][i] if custom:IsEnabled() then if onEdited then onEdited() end end end) local cVal = cmd[2][i] if cVal == 0 then any:Enable() else custom:Enable() customTextBox.Text = cVal end template.Visible = true table.insert(text1,template.Title) table.insert(text1,template.Any) table.insert(shade3,template.Any.Button) table.insert(shade3,template.CustomButton) template.Parent = settingsList end end resizeSettingsList() settingsFrame:TweenPosition(UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true) end local function defaultSettings(ev) local res = {} for i,v in pairs(ev.sets) do if v.Type == "Player" then res[#res+1] = v.Default or 0 elseif v.Type == "String" then res[#res+1] = v.Default or 0 elseif v.Type == "Number" then res[#res+1] = v.Default or 0 end end return res end local function refreshList() for i,v in pairs(eventListHolder:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end for name,event in pairs(events) do local eventF = eventTemplate:Clone() eventF.EventName.Text = name eventF.Visible = true eventF.EventName:SetAttribute("RawName", name) table.insert(shade2,eventF) table.insert(text1,eventF.EventName) table.insert(shade1,eventF.Cmds.Add) local expanded = false eventF.Expand.MouseButton1Down:Connect(function() expanded = not expanded eventF:TweenSize(UDim2.new(1,0,0,20 + (expanded and 20*#eventF.Cmds.Holder:GetChildren() or 0)),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true) eventF.Expand.Rotation = expanded and 90 or 0 resizeList() end) local function refreshCommands() for i,v in pairs(eventF.Cmds.Holder:GetChildren()) do if v.Name == "CmdTemplate" then v:Destroy() end end eventF.EventName.Text = name..(#event.commands > 0 and " ("..#event.commands..")" or "") for i,cmd in pairs(event.commands) do local cmdF = cmdTemplate:Clone() local cmdTextBox = cmdF.TextBox ViewportTextBox.convert(cmdTextBox) cmdTextBox.Text = cmd[1] cmdF.Visible = true table.insert(shade1,cmdF) table.insert(shade2,cmdF.Delete) table.insert(shade2,cmdF.Settings) cmdTextBox.FocusLost:Connect(function() event.commands[i] = {cmdTextBox.Text,cmd[2],cmd[3]} if onEdited then onEdited() end end) cmdF.Settings.MouseButton1Click:Connect(function() openSettingsEditor(event,cmd) end) cmdF.Delete.MouseButton1Click:Connect(function() table.remove(event.commands,i) refreshCommands() resizeList() if currentlyEditingCmd == cmd then settingsFrame:TweenPosition(UDim2.new(0,-150,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true) end if onEdited then onEdited() end end) cmdF.Parent = eventF.Cmds.Holder end eventF:TweenSize(UDim2.new(1,0,0,20 + (expanded and 20*#eventF.Cmds.Holder:GetChildren() or 0)),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true) end local newBox = eventF.Cmds.Add.TextBox ViewportTextBox.convert(newBox) newBox.FocusLost:Connect(function(enter) if enter then event.commands[#event.commands+1] = {newBox.Text,defaultSettings(event),0} newBox.Text = "" refreshCommands() resizeList() if onEdited then onEdited() end end end) --eventF:GetPropertyChangedSignal("AbsoluteSize"):Connect(resizeList) eventF.Parent = eventListHolder refreshCommands() end resizeList() end local function saveData() local result = {} for i,v in pairs(events) do result[i] = v.commands end return HttpService:JSONEncode(result) end local function loadData(str) local data = HttpService:JSONDecode(str) for i,v in pairs(data) do if events[i] then events[i].commands = v end end end local function addCmd(event,data) table.insert(events[event].commands,data) end local function setOnEdited(f) if type(f) == "function" then onEdited = f end end main.TopBar.Close.MouseButton1Click:Connect(function() main:TweenPosition(UDim2.new(0.5,-175,0,-500), "InOut", "Quart", 0.5, true, nil) end) dragGUI(main) main.Parent = ScaledHolder return { RegisterEvent = registerEvent, FireEvent = fireEvent, Refresh = refreshList, SaveData = saveData, LoadData = loadData, AddCmd = addCmd, Frame = main, SetOnEdited = setOnEdited } end)() reference = (function() local main = create({ {1,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,Name="Main",Position=UDim2.new(0.5,-250,0,-500),Size=UDim2.new(0,500,0,20),ZIndex=10,}}, {2,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="TopBar",Parent={1},Size=UDim2.new(1,0,0,20),ZIndex=10,}}, {3,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={2},Size=UDim2.new(1,0,0.94999998807907,0),Text="Reference",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {4,"TextButton",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Close",Parent={2},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}}, {5,"ImageLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Image=getcustomasset("infiniteyield/assets/close.png"),Parent={4},Position=UDim2.new(0,5,0,5),Size=UDim2.new(0,10,0,10),ZIndex=10,}}, {6,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BorderSizePixel=0,Name="Content",Parent={1},Position=UDim2.new(0,0,0,20),Size=UDim2.new(1,0,0,300),ZIndex=10,}}, {7,"ScrollingFrame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",CanvasSize=UDim2.new(0,0,0,1313),Name="List",Parent={6},ScrollBarImageColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),ScrollBarThickness=8,Size=UDim2.new(1,0,1,0),TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",VerticalScrollBarInset=2,ZIndex=10,}}, {8,"UIListLayout",{Parent={7},SortOrder=2,}}, {9,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,429),ZIndex=10,}}, {10,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={9},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Special Player Cases",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {11,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={9},Position=UDim2.new(0,8,0,25),Size=UDim2.new(1,-8,0,20),Text="These keywords can be used to quickly select groups of players in commands:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {12,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={9},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {13,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Cases",Parent={9},Position=UDim2.new(0,8,0,55),Size=UDim2.new(1,-16,0,342),ZIndex=10,}}, {14,"UIListLayout",{Parent={13},SortOrder=2,}}, {15,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-4,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {16,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={15},Size=UDim2.new(1,0,1,0),Text="all",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {17,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={15},Position=UDim2.new(0,15,0,0),Size=UDim2.new(1,0,1,0),Text="- includes everyone",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {18,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-3,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {19,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={18},Size=UDim2.new(1,0,1,0),Text="others",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {20,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={18},Position=UDim2.new(0,37,0,0),Size=UDim2.new(1,0,1,0),Text="- includes everyone except you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {21,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-2,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {22,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={21},Size=UDim2.new(1,0,1,0),Text="me",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {23,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={21},Position=UDim2.new(0,19,0,0),Size=UDim2.new(1,0,1,0),Text="- includes your player only",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {24,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {25,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={24},Size=UDim2.new(1,0,1,0),Text="#[number]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {26,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={24},Position=UDim2.new(0,59,0,0),Size=UDim2.new(1,0,1,0),Text="- gets a specified amount of random players",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {27,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {28,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={27},Size=UDim2.new(1,0,1,0),Text="random",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {29,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={27},Position=UDim2.new(0,44,0,0),Size=UDim2.new(1,0,1,0),Text="- affects a random player",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {30,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {31,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={30},Size=UDim2.new(1,0,1,0),Text="%[team name]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {32,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={30},Position=UDim2.new(0,78,0,0),Size=UDim2.new(1,0,1,0),Text="- includes everyone on a given team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {33,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {34,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={33},Size=UDim2.new(1,0,1,0),Text="allies / team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {35,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={33},Position=UDim2.new(0,63,0,0),Size=UDim2.new(1,0,1,0),Text="- players who are on your team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {36,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {37,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={36},Size=UDim2.new(1,0,1,0),Text="enemies / nonteam",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {38,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={36},Position=UDim2.new(0,101,0,0),Size=UDim2.new(1,0,1,0),Text="- players who are not on your team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {39,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {40,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={39},Size=UDim2.new(1,0,1,0),Text="friends",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {41,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={39},Position=UDim2.new(0,40,0,0),Size=UDim2.new(1,0,1,0),Text="- anyone who is friends with you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {42,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {43,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={42},Size=UDim2.new(1,0,1,0),Text="nonfriends",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {44,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={42},Position=UDim2.new(0,61,0,0),Size=UDim2.new(1,0,1,0),Text="- anyone who is not friends with you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {45,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {46,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={45},Size=UDim2.new(1,0,1,0),Text="guests",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {47,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={45},Position=UDim2.new(0,36,0,0),Size=UDim2.new(1,0,1,0),Text="- guest players (obsolete)",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {48,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {49,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={48},Size=UDim2.new(1,0,1,0),Text="bacons",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {50,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={48},Position=UDim2.new(0,40,0,0),Size=UDim2.new(1,0,1,0),Text="- anyone with the \"bacon\" or pal hair",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {51,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {52,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={51},Size=UDim2.new(1,0,1,0),Text="age[number]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {53,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={51},Position=UDim2.new(0,71,0,0),Size=UDim2.new(1,0,1,0),Text="- includes anyone below or at the given age",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {54,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {55,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={54},Size=UDim2.new(1,0,1,0),Text="rad[number]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {56,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={54},Position=UDim2.new(0,70,0,0),Size=UDim2.new(1,0,1,0),Text="- includes anyone within the given radius",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {57,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {58,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={57},Size=UDim2.new(1,0,1,0),Text="nearest",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {59,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={57},Position=UDim2.new(0,43,0,0),Size=UDim2.new(1,0,1,0),Text="- gets the closest player to you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {60,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {61,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={60},Size=UDim2.new(1,0,1,0),Text="farthest",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {62,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={60},Position=UDim2.new(0,46,0,0),Size=UDim2.new(1,0,1,0),Text="- gets the farthest player from you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {63,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {64,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={63},Size=UDim2.new(1,0,1,0),Text="group[ID]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {65,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={63},Position=UDim2.new(0,55,0,0),Size=UDim2.new(1,0,1,0),Text="- gets players who are in a certain group",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {66,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {67,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={66},Size=UDim2.new(1,0,1,0),Text="alive",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {68,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={66},Position=UDim2.new(0,27,0,0),Size=UDim2.new(1,0,1,0),Text="- gets players who are alive",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {69,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {70,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={69},Size=UDim2.new(1,0,1,0),Text="dead",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {71,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={69},Position=UDim2.new(0,29,0,0),Size=UDim2.new(1,0,1,0),Text="- gets players who are dead",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {72,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-1,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}}, {73,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={72},Size=UDim2.new(1,0,1,0),Text="@username",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {74,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={72},Position=UDim2.new(0,66,0,0),Size=UDim2.new(1,0,1,0),Text="- searches for players by username only (ignores displaynames)",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {75,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,180),ZIndex=10,}}, {76,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={75},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Various Operators",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {77,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={75},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {78,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={75},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,16),Text="Use commas to separate multiple expressions:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {79,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={75},Position=UDim2.new(0,8,0,75),Size=UDim2.new(1,-8,0,16),Text="Use - to exclude, and + to include players in your expression:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {80,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={75},Position=UDim2.new(0,8,0,91),Size=UDim2.new(1,-8,0,16),Text=";locate %blue-friends (gets players in blue team who aren't your friends)",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {81,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={75},Position=UDim2.new(0,8,0,46),Size=UDim2.new(1,-8,0,16),Text=";locate noob,noob2,bob",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {82,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={75},Position=UDim2.new(0,8,0,120),Size=UDim2.new(1,-8,0,16),Text="Put ! before a command to run it with the last arguments it was ran with:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {83,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={75},Position=UDim2.new(0,8,0,136),Size=UDim2.new(1,-8,0,32),Text="After running ;offset 0 100 0, you can run !offset anytime to repeat that command with the same arguments that were used to run it last time",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {84,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,154),ZIndex=10,}}, {85,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={84},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Command Looping",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {86,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={84},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,20),Text="Form: [How many times it loops]^[delay (optional)]^[command]",TextColor3=Color3.new(1,1,1),TextSize=15,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {87,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={84},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {88,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={84},Position=UDim2.new(0,8,0,50),Size=UDim2.new(1,-8,0,20),Text="Use the 'breakloops' command to stop all running loops.",TextColor3=Color3.new(1,1,1),TextSize=15,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {89,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={84},Position=UDim2.new(0,8,0,80),Size=UDim2.new(1,-8,0,16),Text="Examples:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {90,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={84},Position=UDim2.new(0,8,0,98),Size=UDim2.new(1,-8,0,42),Text=";5^btools - gives you 5 sets of btools\n;10^3^drophats - drops your hats every 3 seconds 10 times\n;inf^0.1^animspeed 100 - infinitely loops your animation speed to 100",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {91,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,120),ZIndex=10,}}, {92,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={91},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Execute Multiple Commands at Once",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {93,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={91},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,20),Text="You can execute multiple commands at once using \"\\\"",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {94,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={91},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {95,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={91},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,-8,0,16),Text="Examples:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {96,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={91},Position=UDim2.new(0,8,0,78),Size=UDim2.new(1,-8,0,32),Text=";drophats\\respawn - drops your hats and respawns you\n;enable inventory\\enable playerlist\\refresh - enables those coregui items and refreshes you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {97,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,75),ZIndex=10,}}, {98,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={97},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Browse Command History",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {99,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={97},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="While focused on the command bar, you can use the up and down arrow keys to browse recently used commands",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {100,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={97},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {101,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,75),ZIndex=10,}}, {102,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={101},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Autocomplete in the Command Bar",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {103,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={101},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="While focused on the command bar, you can use the tab key to insert the top suggested command into the command bar.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {104,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={101},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {105,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,175),ZIndex=10,}}, {106,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={105},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Using Event Binds",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {107,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={105},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="Use event binds to set up commands that get executed when certain events happen. You can edit the conditions for an event command to run (such as which player triggers it).",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {108,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={105},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}}, {109,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={105},Position=UDim2.new(0,8,0,70),Size=UDim2.new(1,-8,0,48),Text="Some events may send arguments; you can use them in your event command by using $ followed by the argument number ($1, $2, etc). You can find out the order and types of these arguments by looking at the settings of the event command.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {110,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={105},Position=UDim2.new(0,8,0,130),Size=UDim2.new(1,-8,0,16),Text="Example:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {111,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={105},Position=UDim2.new(0,8,0,148),Size=UDim2.new(1,-8,0,16),Text="Setting up 'goto $1' on the OnChatted event will teleport you to any player that chats.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}}, {112,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,105),ZIndex=10,}}, {113,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={112},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Get Further Help",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}}, {114,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={112},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="You can join the Discord server to get support with IY, and read up on more documentation such as the Plugin API.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}}, {115,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={112},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),Visible=false,ZIndex=10,}}, {116,"TextButton",{BackgroundColor3=Color3.new(0.48627451062202,0.61960786581039,0.85098040103912),BorderColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),Font=4,Name="InviteButton",Parent={112},Position=UDim2.new(0,5,0,75),Size=UDim2.new(1,-10,0,25),Text="Copy Discord Invite Link (https://discord.gg/78ZuWSq)",TextColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),TextSize=16,ZIndex=10,}}, }) for i,v in pairs(main.Content.List:GetDescendants()) do if v:IsA("TextLabel") then table.insert(text1,v) end end table.insert(scroll,main.Content.List) table.insert(shade1,main.Content) table.insert(shade2,main.TopBar) main.Name = randomString() main.TopBar.Close.MouseButton1Click:Connect(function() main:TweenPosition(UDim2.new(0.5,-250,0,-500), "InOut", "Quart", 0.5, true, nil) end) local inviteButton = main:FindFirstChild("InviteButton",true) local lastPress = nil inviteButton.MouseButton1Click:Connect(function() if everyClipboard then toClipboard("https://discord.gg/78ZuWSq") inviteButton.Text = "Copied" else inviteButton.Text = "No Clipboard Function, type out the link" end local pressTime = tick() lastPress = pressTime wait(2) if lastPress ~= pressTime then return end inviteButton.Text = "Copy Discord Invite Link (https://discord.gg/78ZuWSq)" end) dragGUI(main) main.Parent = ScaledHolder ReferenceButton.MouseButton1Click:Connect(function() main:TweenPosition(UDim2.new(0.5,-250,0.5,-150), "InOut", "Quart", 0.5, true, nil) end) end)() currentShade1 = Color3.fromRGB(8, 8, 14) currentShade2 = Color3.fromRGB(15, 15, 28) currentShade3 = Color3.fromRGB(30, 30, 55) currentText1 = Color3.new(1, 1, 1) currentText2 = Color3.new(0, 0, 0) currentScroll = Color3.fromRGB(50, 100, 255) defaultGuiScale = IsOnMobile and 0.9 or 1 defaultsettings = { prefix = ';'; StayOpen = false; guiScale = defaultGuiScale; espTransparency = 0.3; keepIY = true; logsEnabled = false; jLogsEnabled = false; aliases = {}; binds = {}; WayPoints = {}; PluginsTable = {}; currentShade1 = {currentShade1.R,currentShade1.G,currentShade1.B}; currentShade2 = {currentShade2.R,currentShade2.G,currentShade2.B}; currentShade3 = {currentShade3.R,currentShade3.G,currentShade3.B}; currentText1 = {currentText1.R,currentText1.G,currentText1.B}; currentText2 = {currentText2.R,currentText2.G,currentText2.B}; currentScroll = {currentScroll.R,currentScroll.G,currentScroll.B}; eventBinds = eventEditor.SaveData() } defaults = HttpService:JSONEncode(defaultsettings) nosaves = false useFactorySettings = function() prefix = ';' StayOpen = false guiScale = defaultGuiScale KeepInfYield = true espTransparency = 0.3 logsEnabled = false jLogsEnabled = false logsWebhook = nil aliases = {} binds = {} WayPoints = {} PluginsTable = {} end function createPopup(title, text) local Popup = Instance.new("Frame") local background = Instance.new("Frame") local Directions = Instance.new("TextLabel") local shadow = Instance.new("Frame") local PopupText = Instance.new("TextLabel") local Exit = Instance.new("TextButton") local ExitImage = Instance.new("ImageLabel") Popup.Name = randomString() Popup.Parent = ScaledHolder Popup.Active = true Popup.BackgroundTransparency = 1 Popup.Position = UDim2.new(0.5, -180, 0, -500) Popup.Size = UDim2.new(0, 360, 0, 20) Popup.ZIndex = 10 background.Name = "background" background.Parent = Popup background.Active = true background.BackgroundColor3 = Color3.fromRGB(36, 36, 37) background.BorderSizePixel = 0 background.Position = UDim2.new(0, 0, 0, 20) background.Size = UDim2.new(0, 360, 0, 205) background.ZIndex = 10 Directions.Name = "Directions" Directions.Parent = background Directions.BackgroundTransparency = 1 Directions.BorderSizePixel = 0 Directions.Position = UDim2.new(0, 10, 0, 10) Directions.Size = UDim2.new(0, 340, 0, 185) Directions.Font = Enum.Font.SourceSans Directions.TextSize = 14 Directions.Text = text Directions.TextColor3 = Color3.new(1, 1, 1) Directions.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) Directions.TextStrokeTransparency = 0.5 Directions.TextWrapped = true Directions.TextXAlignment = Enum.TextXAlignment.Left Directions.TextYAlignment = Enum.TextYAlignment.Top Directions.ZIndex = 10 shadow.Name = "shadow" shadow.Parent = Popup shadow.BackgroundColor3 = Color3.fromRGB(46, 46, 47) shadow.BorderSizePixel = 0 shadow.Size = UDim2.new(0, 360, 0, 20) shadow.ZIndex = 10 PopupText.Name = "PopupText" PopupText.Parent = shadow PopupText.BackgroundTransparency = 1 PopupText.Size = UDim2.new(1, 0, 0.95, 0) PopupText.ZIndex = 10 PopupText.Font = Enum.Font.SourceSans PopupText.TextSize = 14 PopupText.Text = title PopupText.TextColor3 = Color3.new(1, 1, 1) PopupText.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) PopupText.TextStrokeTransparency = 0.5 PopupText.TextWrapped = true Exit.Name = "Exit" Exit.Parent = shadow Exit.BackgroundTransparency = 1 Exit.Position = UDim2.new(1, -20, 0, 0) Exit.Size = UDim2.new(0, 20, 0, 20) Exit.Text = "" Exit.ZIndex = 10 ExitImage.Parent = Exit ExitImage.BackgroundColor3 = Color3.new(1, 1, 1) ExitImage.BackgroundTransparency = 1 ExitImage.Position = UDim2.new(0, 5, 0, 5) ExitImage.Size = UDim2.new(0, 10, 0, 10) ExitImage.Image = getcustomasset("infiniteyield/assets/close.png") ExitImage.ZIndex = 10 Popup:TweenPosition(UDim2.new(0.5, -180, 0, 150), "InOut", "Quart", 0.5, true, nil) Exit.MouseButton1Click:Connect(function() Popup:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil) task.wait(0.6) Popup:Destroy() end) end local loadedEventData = nil local jsonAttempts = 0 function saves() if writefileExploit() and readfileExploit() and jsonAttempts < 10 then local readSuccess, out = readfile("IY_FE.iy", true) if readSuccess then if out ~= nil and tostring(out):gsub("%s", "") ~= "" then local success, response = pcall(function() local json = HttpService:JSONDecode(out) if vtype(json.prefix, "string") then prefix = json.prefix else prefix = ';' end if vtype(json.StayOpen, "boolean") then StayOpen = json.StayOpen else StayOpen = false end if vtype(json.guiScale, "number") then guiScale = json.guiScale else guiScale = defaultGuiScale end if vtype(json.keepIY, "boolean") then KeepInfYield = json.keepIY else KeepInfYield = true end if vtype(json.espTransparency, "number") then espTransparency = json.espTransparency else espTransparency = 0.3 end if vtype(json.logsEnabled, "boolean") then logsEnabled = json.logsEnabled else logsEnabled = false end if vtype(json.jLogsEnabled, "boolean") then jLogsEnabled = json.jLogsEnabled else jLogsEnabled = false end if vtype(json.logsWebhook, "string") then logsWebhook = json.logsWebhook else logsWebhook = nil end if vtype(json.aliases, "table") then aliases = json.aliases else aliases = {} end if vtype(json.binds, "table") then binds = json.binds else binds = {} end if vtype(json.spawnCmds, "table") then spawnCmds = json.spawnCmds end if vtype(json.WayPoints, "table") then AllWaypoints = json.WayPoints else WayPoints = {} AllWaypoints = {} end if vtype(json.PluginsTable, "table") then PluginsTable = json.PluginsTable else PluginsTable = {} end if vtype(json.currentShade1, "table") then currentShade1 = Color3.new(json.currentShade1[1],json.currentShade1[2],json.currentShade1[3]) end if vtype(json.currentShade2, "table") then currentShade2 = Color3.new(json.currentShade2[1],json.currentShade2[2],json.currentShade2[3]) end if vtype(json.currentShade3, "table") then currentShade3 = Color3.new(json.currentShade3[1],json.currentShade3[2],json.currentShade3[3]) end if vtype(json.currentText1, "table") then currentText1 = Color3.new(json.currentText1[1],json.currentText1[2],json.currentText1[3]) end if vtype(json.currentText2, "table") then currentText2 = Color3.new(json.currentText2[1],json.currentText2[2],json.currentText2[3]) end if vtype(json.currentScroll, "table") then currentScroll = Color3.new(json.currentScroll[1],json.currentScroll[2],json.currentScroll[3]) end if vtype(json.eventBinds, "string") then loadedEventData = json.eventBinds end end) if not success then jsonAttempts = jsonAttempts + 1 warn("Save Json Error:", response) warn("Overwriting Save File") writefile("IY_FE.iy", defaults, true) wait() saves() end else writefile("IY_FE.iy", defaults, true) wait() local dReadSuccess, dOut = readfile("IY_FE.iy", true) if dReadSuccess and dOut ~= nil and tostring(dOut):gsub("%s", "") ~= "" then saves() else nosaves = true useFactorySettings() createPopup("File Error", "There was a problem writing a save file to your PC.\n\nPlease contact the developer/support team for your exploit and tell them writefile/readfile is not working.\n\nYour settings, keybinds, waypoints, and aliases will not save if you continue.\n\nThings to try:\n> Make sure a 'workspace' folder is located in the same folder as your exploit\n> If your exploit is inside of a zip/rar file, extract it.\n> Rejoin the game and try again or restart your PC and try again.") end end else writefile("IY_FE.iy", defaults, true) wait() local dReadSuccess, dOut = readfile("IY_FE.iy", true) if dReadSuccess and dOut ~= nil and tostring(dOut):gsub("%s", "") ~= "" then saves() else nosaves = true useFactorySettings() createPopup("File Error", "There was a problem writing a save file to your PC.\n\nPlease contact the developer/support team for your exploit and tell them writefile/readfile is not working.\n\nYour settings, keybinds, waypoints, and aliases will not save if you continue.\n\nThings to try:\n> Make sure a 'workspace' folder is located in the same folder as your exploit\n> If your exploit is inside of a zip/rar file, extract it.\n> Rejoin the game and try again or restart your PC and try again.") end end else if jsonAttempts >= 10 then nosaves = true useFactorySettings() createPopup("File Error", "Sorry, we have attempted to parse your save file, but it is unreadable!\n\nArc Yield is now using factory settings until your exploit's file system works.\n\nYour save file has not been deleted.") else nosaves = true useFactorySettings() end end end saves() function updatesaves() if nosaves == false and writefileExploit() then local update = { prefix = prefix; StayOpen = StayOpen; guiScale = guiScale; keepIY = KeepInfYield; espTransparency = espTransparency; logsEnabled = logsEnabled; jLogsEnabled = jLogsEnabled; logsWebhook = logsWebhook; aliases = aliases; binds = binds or {}; WayPoints = AllWaypoints; PluginsTable = PluginsTable; currentShade1 = {currentShade1.R,currentShade1.G,currentShade1.B}; currentShade2 = {currentShade2.R,currentShade2.G,currentShade2.B}; currentShade3 = {currentShade3.R,currentShade3.G,currentShade3.B}; currentText1 = {currentText1.R,currentText1.G,currentText1.B}; currentText2 = {currentText2.R,currentText2.G,currentText2.B}; currentScroll = {currentScroll.R,currentScroll.G,currentScroll.B}; eventBinds = eventEditor.SaveData() } writefileCooldown("IY_FE.iy", HttpService:JSONEncode(update)) end end eventEditor.SetOnEdited(updatesaves) pWayPoints = {} WayPoints = {} if #AllWaypoints > 0 then for i = 1, #AllWaypoints do if not AllWaypoints[i].GAME or AllWaypoints[i].GAME == PlaceId then WayPoints[#WayPoints + 1] = {NAME = AllWaypoints[i].NAME, COORD = {AllWaypoints[i].COORD[1], AllWaypoints[i].COORD[2], AllWaypoints[i].COORD[3]}, GAME = AllWaypoints[i].GAME} end end end if type(binds) ~= "table" then binds = {} end if type(PluginsTable) == "table" then for i = #PluginsTable, 1, -1 do if string.sub(PluginsTable[i], -3) ~= ".iy" then table.remove(PluginsTable, i) end end end function Time() local HOUR = math.floor((tick() % 86400) / 3600) local MINUTE = math.floor((tick() % 3600) / 60) local SECOND = math.floor(tick() % 60) local AP = HOUR > 11 and 'PM' or 'AM' HOUR = (HOUR % 12 == 0 and 12 or HOUR % 12) HOUR = HOUR < 10 and '0' .. HOUR or HOUR MINUTE = MINUTE < 10 and '0' .. MINUTE or MINUTE SECOND = SECOND < 10 and '0' .. SECOND or SECOND return HOUR .. ':' .. MINUTE .. ':' .. SECOND .. ' ' .. AP end PrefixBox.Text = prefix local SettingsOpen = false local isHidden = false if StayOpen == false then On.BackgroundTransparency = 1 else On.BackgroundTransparency = 0 end if logsEnabled then Toggle.Text = 'Enabled' else Toggle.Text = 'Disabled' end if jLogsEnabled then Toggle_2.Text = 'Enabled' else Toggle_2.Text = 'Disabled' end function maximizeHolder() if StayOpen == false then Holder:TweenPosition(UDim2.new(1, Holder.Position.X.Offset, 1, -220), "InOut", "Quart", 0.2, true, nil) end end minimizeNum = -20 function minimizeHolder() if StayOpen == false then Holder:TweenPosition(UDim2.new(1, Holder.Position.X.Offset, 1, minimizeNum), "InOut", "Quart", 0.5, true, nil) end end function cmdbarHolder() if StayOpen == false then Holder:TweenPosition(UDim2.new(1, Holder.Position.X.Offset, 1, -45), "InOut", "Quart", 0.5, true, nil) end end pinNotification = nil local notifyCount = 0 function notify(text,text2,length) task.spawn(function() local LnotifyCount = notifyCount+1 local notificationPinned = false notifyCount = notifyCount+1 if pinNotification then pinNotification:Disconnect() end pinNotification = PinButton.MouseButton1Click:Connect(function() task.spawn(function() pinNotification:Disconnect() notificationPinned = true Title_2.BackgroundTransparency = 1 wait(0.5) Title_2.BackgroundTransparency = 0 end) end) Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, 0), "InOut", "Quart", 0.5, true, nil) wait(0.6) local closepressed = false if text2 then Title_2.Text = text Text_2.Text = text2 else Title_2.Text = 'Notification' Text_2.Text = text end Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, -100), "InOut", "Quart", 0.5, true, nil) CloseButton.MouseButton1Click:Connect(function() Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, 0), "InOut", "Quart", 0.5, true, nil) closepressed = true pinNotification:Disconnect() end) if length and isNumber(length) then wait(length) else wait(3) end if LnotifyCount == notifyCount then if closepressed == false and notificationPinned == false then pinNotification:Disconnect() Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, 0), "InOut", "Quart", 0.5, true, nil) end notifyCount = 0 end end) end local lastMessage = nil local lastLabel = nil local dupeCount = 1 function CreateLabel(Name, Text) if lastMessage == Name..Text then dupeCount = dupeCount+1 lastLabel.Text = Time()..' - ['..Name..']: '..Text..' (x'..dupeCount..')' else if dupeCount > 1 then dupeCount = 1 end if #scroll_2:GetChildren() >= 2546 then scroll_2:ClearAllChildren() end local alls = 0 for i,v in pairs(scroll_2:GetChildren()) do if v then alls = v.Size.Y.Offset + alls end if not v then alls = 0 end end local tl = Instance.new('TextLabel') lastMessage = Name..Text lastLabel = tl tl.Name = Name tl.Parent = scroll_2 tl.ZIndex = 10 tl.RichText = true tl.Text = Time().." - ["..Name.."]: "..Text tl.Text = tl.ContentText tl.Size = UDim2.new(0,322,0,84) tl.BackgroundTransparency = 1 tl.BorderSizePixel = 0 tl.Font = "SourceSans" tl.Position = UDim2.new(-1,0,0,alls) tl.TextTransparency = 1 tl.TextScaled = false tl.TextSize = 14 tl.TextWrapped = true tl.TextXAlignment = "Left" tl.TextYAlignment = "Top" tl.TextColor3 = currentText1 tl.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) tl.TextStrokeTransparency = 0.6 tl.Size = UDim2.new(0,322,0,tl.TextBounds.Y) table.insert(text1,tl) scroll_2.CanvasSize = UDim2.new(0,0,0,alls+tl.TextBounds.Y) scroll_2.CanvasPosition = Vector2.new(0,scroll_2.CanvasPosition.Y+tl.TextBounds.Y) tl:TweenPosition(UDim2.new(0,3,0,alls), 'In', 'Quint', 0.5) TweenService:Create(tl, TweenInfo.new(1.25, Enum.EasingStyle.Linear), { TextTransparency = 0 }):Play() end end function CreateJoinLabel(plr,ID) if #scroll_3:GetChildren() >= 2546 then scroll_3:ClearAllChildren() end local infoFrame = Instance.new("Frame") local info1 = Instance.new("TextLabel") local info2 = Instance.new("TextLabel") local ImageLabel_3 = Instance.new("ImageLabel") infoFrame.Name = randomString() infoFrame.Parent = scroll_3 infoFrame.BackgroundColor3 = Color3.new(1, 1, 1) infoFrame.BackgroundTransparency = 1 infoFrame.BorderColor3 = Color3.new(0.105882, 0.164706, 0.207843) infoFrame.Size = UDim2.new(1, 0, 0, 50) info1.Name = randomString() info1.Parent = infoFrame info1.BackgroundTransparency = 1 info1.BorderSizePixel = 0 info1.Position = UDim2.new(0, 45, 0, 0) info1.Size = UDim2.new(0, 135, 1, 0) info1.ZIndex = 10 info1.Font = Enum.Font.SourceSans info1.FontSize = Enum.FontSize.Size14 info1.Text = "Username: "..plr.Name.."\nJoined Server: "..Time() info1.TextColor3 = Color3.new(1, 1, 1) info1.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) info1.TextStrokeTransparency = 0.5 info1.TextWrapped = true info1.TextXAlignment = Enum.TextXAlignment.Left info2.Name = randomString() info2.Parent = infoFrame info2.BackgroundTransparency = 1 info2.BorderSizePixel = 0 info2.Position = UDim2.new(0, 185, 0, 0) info2.Size = UDim2.new(0, 140, 1, -5) info2.ZIndex = 10 info2.Font = Enum.Font.SourceSans info2.FontSize = Enum.FontSize.Size14 info2.Text = "User ID: "..ID.."\nAccount Age: "..plr.AccountAge.."\nJoined Roblox: Loading..." info2.TextColor3 = Color3.new(1, 1, 1) info2.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) info2.TextStrokeTransparency = 0.5 info2.TextWrapped = true info2.TextXAlignment = Enum.TextXAlignment.Left info2.TextYAlignment = Enum.TextYAlignment.Center ImageLabel_3.Parent = infoFrame ImageLabel_3.BackgroundTransparency = 1 ImageLabel_3.BorderSizePixel = 0 ImageLabel_3.Size = UDim2.new(0, 45, 1, 0) ImageLabel_3.Image = Players:GetUserThumbnailAsync(ID, Enum.ThumbnailType.AvatarThumbnail, Enum.ThumbnailSize.Size420x420) scroll_3.CanvasSize = UDim2.new(0, 0, 0, listlayout.AbsoluteContentSize.Y) scroll_3.CanvasPosition = Vector2.new(0,scroll_2.CanvasPosition.Y+infoFrame.AbsoluteSize.Y) wait() local user = game:HttpGet("https://users.roblox.com/v1/users/"..ID) local json = HttpService:JSONDecode(user) local date = json["created"]:sub(1,10) local splitDates = string.split(date,"-") info2.Text = string.gsub(info2.Text, "Loading...",splitDates[2].."/"..splitDates[3].."/"..splitDates[1]) end IYMouse.KeyDown:Connect(function(Key) if (Key==prefix) then RunService.RenderStepped:Wait() Cmdbar:CaptureFocus() maximizeHolder() end end) local lastMinimizeReq = 0 Holder.MouseEnter:Connect(function() lastMinimizeReq = 0 maximizeHolder() end) Holder.MouseLeave:Connect(function() if not Cmdbar:IsFocused() then local reqTime = tick() lastMinimizeReq = reqTime wait(1) if lastMinimizeReq ~= reqTime then return end if not Cmdbar:IsFocused() then minimizeHolder() end end end) function updateColors(color,ctype) if ctype == shade1 then for i,v in pairs(shade1) do v.BackgroundColor3 = color end currentShade1 = color elseif ctype == shade2 then for i,v in pairs(shade2) do v.BackgroundColor3 = color end currentShade2 = color elseif ctype == shade3 then for i,v in pairs(shade3) do v.BackgroundColor3 = color end currentShade3 = color elseif ctype == text1 then for i,v in pairs(text1) do v.TextColor3 = color v.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) v.TextStrokeTransparency = 0.6 if v:IsA("TextBox") then v.PlaceholderColor3 = color end end currentText1 = color elseif ctype == text2 then for i,v in pairs(text2) do v.TextColor3 = color end currentText2 = color elseif ctype == scroll then for i,v in pairs(scroll) do v.ScrollBarImageColor3 = color end currentScroll = color end end local colorpickerOpen = false ColorsButton.MouseButton1Click:Connect(function() cache_currentShade1 = currentShade1 cache_currentShade2 = currentShade2 cache_currentShade3 = currentShade3 cache_currentText1 = currentText1 cache_currentText2 = currentText2 cache_currentScroll = currentScroll if not colorpickerOpen then colorpickerOpen = true picker = game:GetObjects("rbxassetid://4908465318")[1] picker.Name = randomString() picker.Parent = ScaledHolder local ColorPicker do ColorPicker = {} ColorPicker.new = function() local newMt = setmetatable({},{}) local pickerGui = picker.ColorPicker local pickerTopBar = pickerGui.TopBar local pickerExit = pickerTopBar.Exit local pickerFrame = pickerGui.Content local colorSpace = pickerFrame.ColorSpaceFrame.ColorSpace local colorStrip = pickerFrame.ColorStrip local previewFrame = pickerFrame.Preview local basicColorsFrame = pickerFrame.BasicColors local customColorsFrame = pickerFrame.CustomColors local defaultButton = pickerFrame.Default local cancelButton = pickerFrame.Cancel local shade1Button = pickerFrame.Shade1 local shade2Button = pickerFrame.Shade2 local shade3Button = pickerFrame.Shade3 local text1Button = pickerFrame.Text1 local text2Button = pickerFrame.Text2 local scrollButton = pickerFrame.Scroll local colorScope = colorSpace.Scope local colorArrow = pickerFrame.ArrowFrame.Arrow local hueInput = pickerFrame.Hue.Input local satInput = pickerFrame.Sat.Input local valInput = pickerFrame.Val.Input local redInput = pickerFrame.Red.Input local greenInput = pickerFrame.Green.Input local blueInput = pickerFrame.Blue.Input local mouse = IYMouse local hue,sat,val = 0,0,1 local red,green,blue = 1,1,1 local chosenColor = Color3.new(0,0,0) local basicColors = {Color3.new(0,0,0),Color3.new(0.66666668653488,0,0),Color3.new(0,0.33333334326744,0),Color3.new(0.66666668653488,0.33333334326744,0),Color3.new(0,0.66666668653488,0),Color3.new(0.66666668653488,0.66666668653488,0),Color3.new(0,1,0),Color3.new(0.66666668653488,1,0),Color3.new(0,0,0.49803924560547),Color3.new(0.66666668653488,0,0.49803924560547),Color3.new(0,0.33333334326744,0.49803924560547),Color3.new(0.66666668653488,0.33333334326744,0.49803924560547),Color3.new(0,0.66666668653488,0.49803924560547),Color3.new(0.66666668653488,0.66666668653488,0.49803924560547),Color3.new(0,1,0.49803924560547),Color3.new(0.66666668653488,1,0.49803924560547),Color3.new(0,0,1),Color3.new(0.66666668653488,0,1),Color3.new(0,0.33333334326744,1),Color3.new(0.66666668653488,0.33333334326744,1),Color3.new(0,0.66666668653488,1),Color3.new(0.66666668653488,0.66666668653488,1),Color3.new(0,1,1),Color3.new(0.66666668653488,1,1),Color3.new(0.33333334326744,0,0),Color3.new(1,0,0),Color3.new(0.33333334326744,0.33333334326744,0),Color3.new(1,0.33333334326744,0),Color3.new(0.33333334326744,0.66666668653488,0),Color3.new(1,0.66666668653488,0),Color3.new(0.33333334326744,1,0),Color3.new(1,1,0),Color3.new(0.33333334326744,0,0.49803924560547),Color3.new(1,0,0.49803924560547),Color3.new(0.33333334326744,0.33333334326744,0.49803924560547),Color3.new(1,0.33333334326744,0.49803924560547),Color3.new(0.33333334326744,0.66666668653488,0.49803924560547),Color3.new(1,0.66666668653488,0.49803924560547),Color3.new(0.33333334326744,1,0.49803924560547),Color3.new(1,1,0.49803924560547),Color3.new(0.33333334326744,0,1),Color3.new(1,0,1),Color3.new(0.33333334326744,0.33333334326744,1),Color3.new(1,0.33333334326744,1),Color3.new(0.33333334326744,0.66666668653488,1),Color3.new(1,0.66666668653488,1),Color3.new(0.33333334326744,1,1),Color3.new(1,1,1)} local customColors = {} dragGUI(picker) local function updateColor(noupdate) local relativeX,relativeY,relativeStripY = 219 - hue*219, 199 - sat*199, 199 - val*199 local hsvColor = Color3.fromHSV(hue,sat,val) if noupdate == 2 or not noupdate then hueInput.Text = tostring(math.ceil(359*hue)) satInput.Text = tostring(math.ceil(255*sat)) valInput.Text = tostring(math.floor(255*val)) end if noupdate == 1 or not noupdate then redInput.Text = tostring(math.floor(255*red)) greenInput.Text = tostring(math.floor(255*green)) blueInput.Text = tostring(math.floor(255*blue)) end chosenColor = Color3.new(red,green,blue) colorScope.Position = UDim2.new(0,relativeX-9,0,relativeY-9) colorStrip.ImageColor3 = Color3.fromHSV(hue,sat,1) colorArrow.Position = UDim2.new(0,-2,0,relativeStripY-4) previewFrame.BackgroundColor3 = chosenColor newMt.Color = chosenColor if newMt.Changed then newMt:Changed(chosenColor) end end local function colorSpaceInput() local relativeX = mouse.X - colorSpace.AbsolutePosition.X local relativeY = mouse.Y - colorSpace.AbsolutePosition.Y if relativeX < 0 then relativeX = 0 elseif relativeX > 219 then relativeX = 219 end if relativeY < 0 then relativeY = 0 elseif relativeY > 199 then relativeY = 199 end hue = (219 - relativeX)/219 sat = (199 - relativeY)/199 local hsvColor = Color3.fromHSV(hue,sat,val) red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b updateColor() end local function colorStripInput() local relativeY = mouse.Y - colorStrip.AbsolutePosition.Y if relativeY < 0 then relativeY = 0 elseif relativeY > 199 then relativeY = 199 end val = (199 - relativeY)/199 local hsvColor = Color3.fromHSV(hue,sat,val) red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b updateColor() end local function hookButtons(frame,func) frame.ArrowFrame.Up.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then frame.ArrowFrame.Up.BackgroundTransparency = 0.5 elseif input.UserInputType == Enum.UserInputType.MouseButton1 then local releaseEvent,runEvent local startTime = tick() local pressing = true local startNum = tonumber(frame.Text) if not startNum then return end releaseEvent = UserInputService.InputEnded:Connect(function(input) if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end releaseEvent:Disconnect() pressing = false end) startNum = startNum + 1 func(startNum) while pressing do if tick()-startTime > 0.3 then startNum = startNum + 1 func(startNum) end wait(0.1) end end end) frame.ArrowFrame.Up.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then frame.ArrowFrame.Up.BackgroundTransparency = 1 end end) frame.ArrowFrame.Down.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then frame.ArrowFrame.Down.BackgroundTransparency = 0.5 elseif input.UserInputType == Enum.UserInputType.MouseButton1 then local releaseEvent,runEvent local startTime = tick() local pressing = true local startNum = tonumber(frame.Text) if not startNum then return end releaseEvent = UserInputService.InputEnded:Connect(function(input) if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end releaseEvent:Disconnect() pressing = false end) startNum = startNum - 1 func(startNum) while pressing do if tick()-startTime > 0.3 then startNum = startNum - 1 func(startNum) end wait(0.1) end end end) frame.ArrowFrame.Down.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then frame.ArrowFrame.Down.BackgroundTransparency = 1 end end) end colorSpace.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then local releaseEvent,mouseEvent releaseEvent = UserInputService.InputEnded:Connect(function(input) if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end releaseEvent:Disconnect() mouseEvent:Disconnect() end) mouseEvent = UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then colorSpaceInput() end end) colorSpaceInput() end end) colorStrip.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then local releaseEvent,mouseEvent releaseEvent = UserInputService.InputEnded:Connect(function(input) if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end releaseEvent:Disconnect() mouseEvent:Disconnect() end) mouseEvent = UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then colorStripInput() end end) colorStripInput() end end) local function updateHue(str) local num = tonumber(str) if num then hue = math.clamp(math.floor(num),0,359)/359 local hsvColor = Color3.fromHSV(hue,sat,val) red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b hueInput.Text = tostring(hue*359) updateColor(1) end end hueInput.FocusLost:Connect(function() updateHue(hueInput.Text) end) hookButtons(hueInput,updateHue) local function updateSat(str) local num = tonumber(str) if num then sat = math.clamp(math.floor(num),0,255)/255 local hsvColor = Color3.fromHSV(hue,sat,val) red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b satInput.Text = tostring(sat*255) updateColor(1) end end satInput.FocusLost:Connect(function() updateSat(satInput.Text) end) hookButtons(satInput,updateSat) local function updateVal(str) local num = tonumber(str) if num then val = math.clamp(math.floor(num),0,255)/255 local hsvColor = Color3.fromHSV(hue,sat,val) red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b valInput.Text = tostring(val*255) updateColor(1) end end valInput.FocusLost:Connect(function() updateVal(valInput.Text) end) hookButtons(valInput,updateVal) local function updateRed(str) local num = tonumber(str) if num then red = math.clamp(math.floor(num),0,255)/255 local newColor = Color3.new(red,green,blue) hue,sat,val = Color3.toHSV(newColor) redInput.Text = tostring(red*255) updateColor(2) end end redInput.FocusLost:Connect(function() updateRed(redInput.Text) end) hookButtons(redInput,updateRed) local function updateGreen(str) local num = tonumber(str) if num then green = math.clamp(math.floor(num),0,255)/255 local newColor = Color3.new(red,green,blue) hue,sat,val = Color3.toHSV(newColor) greenInput.Text = tostring(green*255) updateColor(2) end end greenInput.FocusLost:Connect(function() updateGreen(greenInput.Text) end) hookButtons(greenInput,updateGreen) local function updateBlue(str) local num = tonumber(str) if num then blue = math.clamp(math.floor(num),0,255)/255 local newColor = Color3.new(red,green,blue) hue,sat,val = Color3.toHSV(newColor) blueInput.Text = tostring(blue*255) updateColor(2) end end blueInput.FocusLost:Connect(function() updateBlue(blueInput.Text) end) hookButtons(blueInput,updateBlue) local colorChoice = Instance.new("TextButton") colorChoice.Name = "Choice" colorChoice.Size = UDim2.new(0,25,0,18) colorChoice.BorderColor3 = Color3.new(96/255,96/255,96/255) colorChoice.Text = "" colorChoice.AutoButtonColor = false colorChoice.ZIndex = 10 local row = 0 local column = 0 for i,v in pairs(basicColors) do local newColor = colorChoice:Clone() newColor.BackgroundColor3 = v newColor.Position = UDim2.new(0,1 + 30*column,0,21 + 23*row) newColor.MouseButton1Click:Connect(function() red,green,blue = v.r,v.g,v.b local newColor = Color3.new(red,green,blue) hue,sat,val = Color3.toHSV(newColor) updateColor() end) newColor.Parent = basicColorsFrame column = column + 1 if column == 6 then row = row + 1 column = 0 end end row = 0 column = 0 for i = 1,12 do local color = customColors[i] or Color3.new(0,0,0) local newColor = colorChoice:Clone() newColor.BackgroundColor3 = color newColor.Position = UDim2.new(0,1 + 30*column,0,20 + 23*row) newColor.MouseButton1Click:Connect(function() local curColor = customColors[i] or Color3.new(0,0,0) red,green,blue = curColor.r,curColor.g,curColor.b hue,sat,val = Color3.toHSV(curColor) updateColor() end) newColor.MouseButton2Click:Connect(function() customColors[i] = chosenColor newColor.BackgroundColor3 = chosenColor end) newColor.Parent = customColorsFrame column = column + 1 if column == 6 then row = row + 1 column = 0 end end shade1Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,shade1) end end) shade1Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade1Button.BackgroundTransparency = 0.4 end end) shade1Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade1Button.BackgroundTransparency = 0 end end) shade2Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,shade2) end end) shade2Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade2Button.BackgroundTransparency = 0.4 end end) shade2Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade2Button.BackgroundTransparency = 0 end end) shade3Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,shade3) end end) shade3Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade3Button.BackgroundTransparency = 0.4 end end) shade3Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade3Button.BackgroundTransparency = 0 end end) text1Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,text1) end end) text1Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text1Button.BackgroundTransparency = 0.4 end end) text1Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text1Button.BackgroundTransparency = 0 end end) text2Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,text2) end end) text2Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text2Button.BackgroundTransparency = 0.4 end end) text2Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text2Button.BackgroundTransparency = 0 end end) scrollButton.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,scroll) end end) scrollButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then scrollButton.BackgroundTransparency = 0.4 end end) scrollButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then scrollButton.BackgroundTransparency = 0 end end) cancelButton.MouseButton1Click:Connect(function() if newMt.Cancel then newMt:Cancel() end end) cancelButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then cancelButton.BackgroundTransparency = 0.4 end end) cancelButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then cancelButton.BackgroundTransparency = 0 end end) defaultButton.MouseButton1Click:Connect(function() if newMt.Default then newMt:Default() end end) defaultButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then defaultButton.BackgroundTransparency = 0.4 end end) defaultButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then defaultButton.BackgroundTransparency = 0 end end) pickerExit.MouseButton1Click:Connect(function() picker:TweenPosition(UDim2.new(0.5, -219, 0, -500), "InOut", "Quart", 0.5, true, nil) end) updateColor() newMt.SetColor = function(self,color) red,green,blue = color.r,color.g,color.b hue,sat,val = Color3.toHSV(color) updateColor() end return newMt end end picker:TweenPosition(UDim2.new(0.5, -219, 0, 100), "InOut", "Quart", 0.5, true, nil) local Npicker = ColorPicker.new() Npicker.Confirm = function(self,color,ctype) updateColors(color,ctype) wait() updatesaves() end Npicker.Cancel = function(self) updateColors(cache_currentShade1,shade1) updateColors(cache_currentShade2,shade2) updateColors(cache_currentShade3,shade3) updateColors(cache_currentText1,text1) updateColors(cache_currentText2,text2) updateColors(cache_currentScroll,scroll) wait() updatesaves() end Npicker.Default = function(self) updateColors(Color3.fromRGB(8, 8, 14),shade1) updateColors(Color3.fromRGB(15, 15, 28),shade2) updateColors(Color3.fromRGB(30, 30, 55),shade3) updateColors(Color3.new(1, 1, 1),text1) updateColors(Color3.new(0, 0, 0),text2) updateColors(Color3.fromRGB(50, 100, 255),scroll) wait() updatesaves() end else picker:TweenPosition(UDim2.new(0.5, -219, 0, 100), "InOut", "Quart", 0.5, true, nil) end end) SettingsButton.MouseButton1Click:Connect(function() if SettingsOpen == false then SettingsOpen = true Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.5, true, nil) CMDsF.Visible = false else SettingsOpen = false CMDsF.Visible = true Settings:TweenPosition(UDim2.new(0, 0, 0, 220), "InOut", "Quart", 0.5, true, nil) end end) On.MouseButton1Click:Connect(function() if isHidden == false then if StayOpen == false then StayOpen = true On.BackgroundTransparency = 0 else StayOpen = false On.BackgroundTransparency = 1 end updatesaves() end end) Clear.MouseButton1Down:Connect(function() for _, child in pairs(scroll_2:GetChildren()) do child:Destroy() end scroll_2.CanvasSize = UDim2.new(0, 0, 0, 10) end) Clear_2.MouseButton1Down:Connect(function() for _, child in pairs(scroll_3:GetChildren()) do child:Destroy() end scroll_3.CanvasSize = UDim2.new(0, 0, 0, 10) end) Toggle.MouseButton1Down:Connect(function() if logsEnabled then logsEnabled = false Toggle.Text = 'Disabled' updatesaves() else logsEnabled = true Toggle.Text = 'Enabled' updatesaves() end end) Toggle_2.MouseButton1Down:Connect(function() if jLogsEnabled then jLogsEnabled = false Toggle_2.Text = 'Disabled' updatesaves() else jLogsEnabled = true Toggle_2.Text = 'Enabled' updatesaves() end end) selectChat.MouseButton1Down:Connect(function() join.Visible = false chat.Visible = true table.remove(shade3,table.find(shade3,selectChat)) table.remove(shade2,table.find(shade2,selectJoin)) table.insert(shade2,selectChat) table.insert(shade3,selectJoin) selectJoin.BackgroundColor3 = currentShade3 selectChat.BackgroundColor3 = currentShade2 end) selectJoin.MouseButton1Down:Connect(function() chat.Visible = false join.Visible = true table.remove(shade3,table.find(shade3,selectJoin)) table.remove(shade2,table.find(shade2,selectChat)) table.insert(shade2,selectJoin) table.insert(shade3,selectChat) selectChat.BackgroundColor3 = currentShade3 selectJoin.BackgroundColor3 = currentShade2 end) if not writefileExploit() then notify("Saves", "Your exploit does not support read/write file. Your settings will not save.") end avatarcache = {} function sendChatWebhook(player, message) if httprequest and vtype(logsWebhook, "string") then local id = player.UserId local avatar = avatarcache[id] if not avatar then local d = HttpService:JSONDecode(httprequest({ Url = "https://thumbnails.roblox.com/v1/users/avatar-headshot?userIds=" .. id .. "&size=420x420&format=Png&isCircular=false", Method = "GET" }).Body)["data"] avatar = d and d[1].state == "Completed" and d[1].imageUrl or "https://files.catbox.moe/i968v2.jpg" avatarcache[id] = avatar end local log = HttpService:JSONEncode({ content = message, avatar_url = avatar, username = formatUsername(player), allowed_mentions = {parse = {}} }) httprequest({ Url = logsWebhook, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = log }) end end ChatLog = function(player) player.Chatted:Connect(function(message) if logsEnabled == true then CreateLabel(player.Name, message) sendChatWebhook(player, message) end end) end JoinLog = function(plr) if jLogsEnabled == true then CreateJoinLabel(plr,plr.UserId) end end CleanFileName = function(name) return tostring(name):gsub("[*\\?:<>|]+", ""):sub(1, 175) end SaveChatlogs.MouseButton1Down:Connect(function() if writefileExploit() then if #scroll_2:GetChildren() > 0 then notify("Loading",'Hold on a sec') local placeName = CleanFileName(MarketplaceService:GetProductInfo(PlaceId).Name) local writelogs = '-- Arc Yield Chat logs for "'..placeName..'"\n' for _, child in pairs(scroll_2:GetChildren()) do writelogs = writelogs..'\n'..child.Text end local writelogsFile = tostring(writelogs) local fileext = 0 local function nameFile() local file pcall(function() file = readfile(placeName..' Chat Logs ('..fileext..').txt') end) if file then fileext = fileext+1 nameFile() else writefileCooldown(placeName..' Chat Logs ('..fileext..').txt', writelogsFile) end end nameFile() notify('Chat Logs','Saved chat logs to the workspace folder within your exploit folder.') end else notify('Chat Logs','Your exploit does not support write file. You cannot save chat logs.') end end) if isLegacyChat then for _, plr in pairs(Players:GetPlayers()) do ChatLog(plr) end end Players.PlayerRemoving:Connect(function(player) if ESPenabled or CHMSenabled or COREGUI:FindFirstChild(player.Name..'_LC') then for i,v in pairs(COREGUI:GetChildren()) do if v.Name == player.Name..'_ESP' or v.Name == player.Name..'_LC' or v.Name == player.Name..'_CHMS' then v:Destroy() end end end if viewing ~= nil and player == viewing then workspace.CurrentCamera.CameraSubject = Players.LocalPlayer.Character viewing = nil if viewDied then viewDied:Disconnect() viewChanged:Disconnect() end notify('Spectate','View turned off (player left)') end eventEditor.FireEvent("OnLeave", player.Name) end) Exit.MouseButton1Down:Connect(function() logs:TweenPosition(UDim2.new(0, 0, 1, 10), "InOut", "Quart", 0.3, true, nil) end) Hide.MouseButton1Down:Connect(function() if logs.Position ~= UDim2.new(0, 0, 1, -20) then logs:TweenPosition(UDim2.new(0, 0, 1, -20), "InOut", "Quart", 0.3, true, nil) else logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil) end end) EventBind.MouseButton1Click:Connect(function() eventEditor.Frame:TweenPosition(UDim2.new(0.5,-175,0.5,-101), "InOut", "Quart", 0.5, true, nil) end) Keybinds.MouseButton1Click:Connect(function() KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil) wait(0.5) SettingsHolder.Visible = false end) Close.MouseButton1Click:Connect(function() SettingsHolder.Visible = true KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) end) Keybinds.MouseButton1Click:Connect(function() KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil) wait(0.5) SettingsHolder.Visible = false end) Add.MouseButton1Click:Connect(function() KeybindEditor:TweenPosition(UDim2.new(0.5, -180, 0, 260), "InOut", "Quart", 0.5, true, nil) end) Delete.MouseButton1Click:Connect(function() binds = {} refreshbinds() updatesaves() notify('Keybinds Updated','Removed all keybinds') end) Close_2.MouseButton1Click:Connect(function() SettingsHolder.Visible = true AliasesFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) end) Aliases.MouseButton1Click:Connect(function() AliasesFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil) wait(0.5) SettingsHolder.Visible = false end) Close_3.MouseButton1Click:Connect(function() SettingsHolder.Visible = true PositionsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) end) Positions.MouseButton1Click:Connect(function() PositionsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil) wait(0.5) SettingsHolder.Visible = false end) local selectionBox = Instance.new("SelectionBox") selectionBox.Name = randomString() selectionBox.Color3 = Color3.new(255,255,255) selectionBox.Adornee = nil selectionBox.Parent = PARENT local selected = Instance.new("SelectionBox") selected.Name = randomString() selected.Color3 = Color3.new(0,166,0) selected.Adornee = nil selected.Parent = PARENT local ActivateHighlight = nil local ClickSelect = nil function selectPart() ToPartFrame:TweenPosition(UDim2.new(0.5, -180, 0, 335), "InOut", "Quart", 0.5, true, nil) local function HighlightPart() if selected.Adornee ~= IYMouse.Target then selectionBox.Adornee = IYMouse.Target else selectionBox.Adornee = nil end end ActivateHighlight = IYMouse.Move:Connect(HighlightPart) local function SelectPart() if IYMouse.Target ~= nil then selected.Adornee = IYMouse.Target Path.Text = getHierarchy(IYMouse.Target) end end ClickSelect = IYMouse.Button1Down:Connect(SelectPart) end Part.MouseButton1Click:Connect(function() selectPart() end) Exit_4.MouseButton1Click:Connect(function() ToPartFrame:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil) if ActivateHighlight then ActivateHighlight:Disconnect() end if ClickSelect then ClickSelect:Disconnect() end selectionBox.Adornee = nil selected.Adornee = nil Path.Text = "" end) CopyPath.MouseButton1Click:Connect(function() if Path.Text ~= "" then toClipboard(Path.Text) else notify('Copy Path','Select a part to copy its path') end end) ChoosePart.MouseButton1Click:Connect(function() if Path.Text ~= "" then local tpNameExt = '' local function handleWpNames() local FoundDupe = false for i,v in pairs(pWayPoints) do if v.NAME:lower() == selected.Adornee.Name:lower()..tpNameExt then FoundDupe = true end end if not FoundDupe then notify('Modified Waypoints',"Created waypoint: "..selected.Adornee.Name..tpNameExt) pWayPoints[#pWayPoints + 1] = {NAME = selected.Adornee.Name..tpNameExt, COORD = {selected.Adornee}} else if isNumber(tpNameExt) then tpNameExt = tpNameExt+1 else tpNameExt = 1 end handleWpNames() end end handleWpNames() refreshwaypoints() else notify('Part Selection','Select a part first') end end) cmds={} customAlias = {} Delete_3.MouseButton1Click:Connect(function() customAlias = {} aliases = {} notify('Aliases Modified','Removed all aliases') updatesaves() refreshaliases() end) PrefixBox:GetPropertyChangedSignal("Text"):Connect(function() prefix = PrefixBox.Text Cmdbar.PlaceholderText = "Command Bar ("..prefix..")" updatesaves() end) function CamViewport() if workspace.CurrentCamera then return workspace.CurrentCamera.ViewportSize.X end end function UpdateToViewport() if Holder.Position.X.Offset < -CamViewport() then Holder:TweenPosition(UDim2.new(1, -CamViewport(), Holder.Position.Y.Scale, Holder.Position.Y.Offset), "InOut", "Quart", 0.04, true, nil) Notification:TweenPosition(UDim2.new(1, -CamViewport() + 250, Notification.Position.Y.Scale, Notification.Position.Y.Offset), "InOut", "Quart", 0.04, true, nil) end end CameraChanged = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(UpdateToViewport) function updateCamera(child, parent) if parent ~= workspace then CamMoved:Disconnect() CameraChanged:Disconnect() repeat wait() until workspace.CurrentCamera CameraChanged = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(UpdateToViewport) CamMoved = workspace.CurrentCamera.AncestryChanged:Connect(updateCamera) end end CamMoved = workspace.CurrentCamera.AncestryChanged:Connect(updateCamera) function dragMain(dragpoint,gui) task.spawn(function() local dragging local dragInput local dragStart = Vector3.new(0,0,0) local startPos local function update(input) local pos = -250 local delta = input.Position - dragStart if startPos.X.Offset + delta.X <= -500 then local Position = UDim2.new(1, -250, Notification.Position.Y.Scale, Notification.Position.Y.Offset) TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position}):Play() pos = 250 else local Position = UDim2.new(1, -500, Notification.Position.Y.Scale, Notification.Position.Y.Offset) TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position}):Play() pos = -250 end if startPos.X.Offset + delta.X <= -250 and -CamViewport() <= startPos.X.Offset + delta.X then local Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, gui.Position.Y.Scale, gui.Position.Y.Offset) TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play() local Position2 = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X + pos, Notification.Position.Y.Scale, Notification.Position.Y.Offset) TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position2}):Play() elseif startPos.X.Offset + delta.X > -500 then local Position = UDim2.new(1, -250, gui.Position.Y.Scale, gui.Position.Y.Offset) TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play() elseif -CamViewport() > startPos.X.Offset + delta.X then gui:TweenPosition(UDim2.new(1, -CamViewport(), gui.Position.Y.Scale, gui.Position.Y.Offset), "InOut", "Quart", 0.04, true, nil) local Position = UDim2.new(1, -CamViewport(), gui.Position.Y.Scale, gui.Position.Y.Offset) TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play() local Position2 = UDim2.new(1, -CamViewport() + 250, Notification.Position.Y.Scale, Notification.Position.Y.Offset) TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position2}):Play() end end dragpoint.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = gui.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) dragpoint.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) end) end dragMain(Title,Holder) Match = function(name,str) str = str:gsub("%W", "%%%1") return name:lower():find(str:lower()) and true end local canvasPos = Vector2.new(0,0) local topCommand = nil IndexContents = function(str,bool,cmdbar,Ianim) CMDsF.CanvasPosition = Vector2.new(0,0) local SizeY = 0 local indexnum = 0 local frame = CMDsF topCommand = nil local chunks = {} if str:sub(#str,#str) == "\\" then str = "" end for w in string.gmatch(str,"[^\\]+") do table.insert(chunks,w) end if #chunks > 0 then str = chunks[#chunks] end if str:sub(1,1) == "!" then str = str:sub(2) end for i,v in next, frame:GetChildren() do if v:IsA("TextButton") then if bool then if Match(v.Text,str) then indexnum = indexnum + 1 v.Visible = true if topCommand == nil then topCommand = v.Text end else v.Visible = false end else v.Visible = true if topCommand == nil then topCommand = v.Text end end end end frame.CanvasSize = UDim2.new(0,0,0,cmdListLayout.AbsoluteContentSize.Y) if not Ianim then if indexnum == 0 or string.find(str, " ") then if not cmdbar then minimizeHolder() elseif cmdbar then cmdbarHolder() end else maximizeHolder() end else minimizeHolder() end end task.spawn(function() if not isLegacyChat then return end local chatbox local success, result = pcall(function() chatbox = PlayerGui:WaitForChild("Chat").Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar end) if success then local function chatboxFocused() canvasPos = CMDsF.CanvasPosition end local chatboxFocusedC = chatbox.Focused:Connect(chatboxFocused) local function Index() if chatbox.Text:lower():sub(1,1) == prefix then if SettingsOpen == true then wait(0.2) CMDsF.Visible = true Settings:TweenPosition(UDim2.new(0, 0, 0, 220), "InOut", "Quart", 0.2, true, nil) end IndexContents(PlayerGui.Chat.Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar.Text:lower():sub(2),true) else minimizeHolder() if SettingsOpen == true then wait(0.2) Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.2, true, nil) CMDsF.Visible = false end end end local chatboxFunc = chatbox:GetPropertyChangedSignal("Text"):Connect(Index) local function chatboxFocusLost(enterpressed) if not enterpressed or chatbox.Text:lower():sub(1,1) ~= prefix then IndexContents('',true) end CMDsF.CanvasPosition = canvasPos minimizeHolder() end local chatboxFocusLostC = chatbox.FocusLost:Connect(chatboxFocusLost) PlayerGui:WaitForChild("Chat").Frame.ChatBarParentFrame.ChildAdded:Connect(function(newbar) wait() if newbar:FindFirstChild('BoxFrame') then chatbox = PlayerGui:WaitForChild("Chat").Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar if chatboxFocusedC then chatboxFocusedC:Disconnect() end chatboxFocusedC = chatbox.Focused:Connect(chatboxFocused) if chatboxFunc then chatboxFunc:Disconnect() end chatboxFunc = chatbox:GetPropertyChangedSignal("Text"):Connect(Index) if chatboxFocusLostC then chatboxFocusLostC:Disconnect() end chatboxFocusLostC = chatbox.FocusLost:Connect(chatboxFocusLost) end end) --else --print('Custom chat detected. Will not provide suggestions for commands typed in the chat.') end end) function autoComplete(str,curText) local endingChar = {"[", "/", "(", " "} local stop = 0 for i=1,#str do local c = str:sub(i,i) if table.find(endingChar, c) then stop = i break end end curText = curText or Cmdbar.Text local subPos = 0 local pos = 1 local findRes = string.find(curText,"\\",pos) while findRes do subPos = findRes pos = findRes+1 findRes = string.find(curText,"\\",pos) end if curText:sub(subPos+1,subPos+1) == "!" then subPos = subPos + 1 end Cmdbar.Text = curText:sub(1,subPos) .. str:sub(1, stop - 1)..' ' RunService.RenderStepped:Wait() Cmdbar.Text = Cmdbar.Text:gsub( '\t', '' ) Cmdbar.CursorPosition = #Cmdbar.Text+1--1020 end CMDs = {} CMDs[#CMDs + 1] = {NAME = 'discord / support / help', DESC = 'Invite to the Arc Yield discord server.'} CMDs[#CMDs + 1] = {NAME = 'guiscale [number]', DESC = 'Changes the size of the gui. [number] accepts both decimals and whole numbers. Min is 0.4 and Max is 2'} CMDs[#CMDs + 1] = {NAME = 'console', DESC = 'Loads Roblox console'} CMDs[#CMDs + 1] = {NAME = 'oldconsole', DESC = 'Loads old Roblox console'} CMDs[#CMDs + 1] = {NAME = 'explorer / dex', DESC = 'Opens DEX by Moon'} CMDs[#CMDs + 1] = {NAME = 'olddex / odex', DESC = 'Opens Old DEX by Moon'} CMDs[#CMDs + 1] = {NAME = 'remotespy / rspy', DESC = 'Opens Simple Spy V3'} CMDs[#CMDs + 1] = {NAME = 'executor', DESC = 'Opens an internal executor gui by dnezero'} CMDs[#CMDs + 1] = {NAME = 'nds / naturaldisaster / disastersurvival', DESC = 'Loads Natural Disaster Survival script by KaterHub'} CMDs[#CMDs + 1] = {NAME = 'audiologger / alogger', DESC = 'Opens Edges audio logger'} CMDs[#CMDs + 1] = {NAME = 'serverinfo / info', DESC = 'Gives you info about the server'} CMDs[#CMDs + 1] = {NAME = 'jobid', DESC = 'Copies the games JobId to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'notifyjobid', DESC = 'Notifies you the games JobId'} CMDs[#CMDs + 1] = {NAME = 'rejoin / rj', DESC = 'Makes you rejoin the game'} CMDs[#CMDs + 1] = {NAME = 'autorejoin / autorj', DESC = 'Automatically rejoins the server if you get kicked/disconnected'} CMDs[#CMDs + 1] = {NAME = 'serverhop / shop', DESC = 'Teleports you to a different server'} CMDs[#CMDs + 1] = {NAME = 'gameteleport / gametp [place ID]', DESC = 'Joins a game by ID'} CMDs[#CMDs + 1] = {NAME = 'antiidle / antiafk', DESC = 'Prevents the game from kicking you for being idle/afk'} CMDs[#CMDs + 1] = {NAME = 'datalimit [num]', DESC = 'Set outgoing KBPS limit'} CMDs[#CMDs + 1] = {NAME = 'replicationlag / backtrack [num]', DESC = 'Set IncomingReplicationLag'} CMDs[#CMDs + 1] = {NAME = 'creatorid / creator', DESC = 'Notifies you the creators ID'} CMDs[#CMDs + 1] = {NAME = 'copycreatorid / copycreator', DESC = 'Copies the creators ID to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'setcreatorid / setcreator', DESC = 'Sets your userid to the creators ID'} CMDs[#CMDs + 1] = {NAME = 'noprompts', DESC = 'Prevents the game from showing you purchase/premium prompts'} CMDs[#CMDs + 1] = {NAME = 'showprompts', DESC = 'Allows the game to show purchase/premium prompts again'} CMDs[#CMDs + 1] = {NAME = 'enable [inventory/playerlist/chat/reset/emotes/all]', DESC = 'Toggles visibility of coregui items'} CMDs[#CMDs + 1] = {NAME = 'disable [inventory/playerlist/chat/reset/emotes/all]', DESC = 'Toggles visibility of coregui items'} CMDs[#CMDs + 1] = {NAME = 'showguis', DESC = 'Shows any invisible GUIs'} CMDs[#CMDs + 1] = {NAME = 'unshowguis', DESC = 'Undoes showguis'} CMDs[#CMDs + 1] = {NAME = 'hideguis', DESC = 'Hides any GUIs in PlayerGui'} CMDs[#CMDs + 1] = {NAME = 'unhideguis', DESC = 'Undoes hideguis'} CMDs[#CMDs + 1] = {NAME = 'guidelete', DESC = 'Enables backspace to delete GUI'} CMDs[#CMDs + 1] = {NAME = 'unguidelete / noguidelete', DESC = 'Disables guidelete'} CMDs[#CMDs + 1] = {NAME = 'hideiy', DESC = 'Hides the main IY GUI'} CMDs[#CMDs + 1] = {NAME = 'showiy / unhideiy', DESC = 'Shows IY again'} CMDs[#CMDs + 1] = {NAME = 'keepiy', DESC = 'Auto execute IY when you teleport through servers'} CMDs[#CMDs + 1] = {NAME = 'unkeepiy', DESC = 'Disable keepiy'} CMDs[#CMDs + 1] = {NAME = 'togglekeepiy', DESC = 'Toggles keepiy'} CMDs[#CMDs + 1] = {NAME = 'removeads / adblock', DESC = 'Automatically removes ad billboards'} CMDs[#CMDs + 1] = {NAME = 'savegame / saveplace', DESC = 'Uses saveinstance to save the game'} CMDs[#CMDs + 1] = {NAME = 'clearerror', DESC = 'Clears the annoying box and blur when a game kicks you'} CMDs[#CMDs + 1] = {NAME = 'antigameplaypaused', DESC = 'Clears the annoying box shown when a game is loading assets due to network lag'} CMDs[#CMDs + 1] = {NAME = 'unantigameplaypaused', DESC = 'Disables antigameplaypaused'} CMDs[#CMDs + 1] = {NAME = 'clientantikick / antikick (CLIENT)', DESC = 'Prevents localscripts from kicking you'} CMDs[#CMDs + 1] = {NAME = 'clientantiteleport / antiteleport (CLIENT)', DESC = 'Prevents localscripts from teleporting you'} CMDs[#CMDs + 1] = {NAME = 'allowrejoin / allowrj [true/false] (CLIENT)', DESC = 'Changes if antiteleport allows you to rejoin or not'} CMDs[#CMDs + 1] = {NAME = 'cancelteleport / canceltp', DESC = 'Cancels teleports in progress'} CMDs[#CMDs + 1] = {NAME = 'volume / vol [0-10]', DESC = 'Adjusts your game volume on a scale of 0 to 10'} CMDs[#CMDs + 1] = {NAME = 'antilag / boostfps / lowgraphics', DESC = 'Lowers game quality to boost FPS'} CMDs[#CMDs + 1] = {NAME = 'record / rec', DESC = 'Starts Roblox recorder'} CMDs[#CMDs + 1] = {NAME = 'screenshot / scrnshot', DESC = 'Takes a screenshot'} CMDs[#CMDs + 1] = {NAME = 'togglefullscreen / togglefs', DESC = 'Toggles fullscreen'} CMDs[#CMDs + 1] = {NAME = 'notify [text]', DESC = 'Sends you a notification with the provided text'} CMDs[#CMDs + 1] = {NAME = 'lastcommand / lastcmd', DESC = 'Executes the previous command used'} CMDs[#CMDs + 1] = {NAME = 'notifyping / ping', DESC = 'Notify yourself your ping'} CMDs[#CMDs + 1] = {NAME = 'norender', DESC = 'Disable 3d Rendering to decrease the amount of CPU the client uses'} CMDs[#CMDs + 1] = {NAME = 'render', DESC = 'Enable 3d Rendering'} CMDs[#CMDs + 1] = {NAME = 'use2022materials / 2022materials', DESC = 'Enables 2022 material textures'} CMDs[#CMDs + 1] = {NAME = 'unuse2022materials / un2022materials', DESC = 'Disables 2022 material textures'} CMDs[#CMDs + 1] = {NAME = 'alignmentkeys', DESC = 'Enables the left and right alignment keys (comma and period)'} CMDs[#CMDs + 1] = {NAME = 'unalignmentkeys / noalignmentkeys', DESC = 'Disables the alignment keys'} CMDs[#CMDs + 1] = {NAME = 'ctrllock', DESC = 'Binds Shiftlock to LeftControl'} CMDs[#CMDs + 1] = {NAME = 'unctrllock', DESC = 'Re-binds Shiftlock to LeftShift'} CMDs[#CMDs + 1] = {NAME = 'exit', DESC = 'Kills roblox process'} CMDs[#CMDs + 1] = {NAME = 'removecmd / deletecmd', DESC = 'Removes a command until the script is reloaded'} CMDs[#CMDs + 1] = {NAME = 'breakloops / break (cmd loops)', DESC = 'Stops any cmd loops (;100^1^cmd)'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'noclip', DESC = 'Go through objects'} CMDs[#CMDs + 1] = {NAME = 'unnoclip / clip', DESC = 'Disables noclip'} CMDs[#CMDs + 1] = {NAME = 'nocliph / hclip [studs]', DESC = 'Teleports you vertically through floors/ceilings (default 10 studs)'} CMDs[#CMDs + 1] = {NAME = 'fly [speed]', DESC = 'Makes you fly'} CMDs[#CMDs + 1] = {NAME = 'unfly', DESC = 'Disables fly'} CMDs[#CMDs + 1] = {NAME = 'flyspeed [num]', DESC = 'Set fly speed (default is 20)'} CMDs[#CMDs + 1] = {NAME = 'vehiclefly / vfly [speed]', DESC = 'Makes you fly in a vehicle'} CMDs[#CMDs + 1] = {NAME = 'unvehiclefly / unvfly', DESC = 'Disables vehicle fly'} CMDs[#CMDs + 1] = {NAME = 'vehicleflyspeed / vflyspeed [num]', DESC = 'Set vehicle fly speed'} CMDs[#CMDs + 1] = {NAME = 'cframefly / cfly [speed]', DESC = 'Makes you fly, bypassing some anti cheats (works on mobile)'} CMDs[#CMDs + 1] = {NAME = 'uncframefly / uncfly', DESC = 'Disables cfly'} CMDs[#CMDs + 1] = {NAME = 'cframeflyspeed / cflyspeed [num]', DESC = 'Sets cfly speed'} CMDs[#CMDs + 1] = {NAME = 'rotatespeed / rspeed / rs [angle] [key]', DESC = 'Snaps camera to angle for 0.05s on key press then restores. Example: rotatespeed 90 E'} CMDs[#CMDs + 1] = {NAME = 'unrotatespeed / unrspeed / unrs', DESC = 'Disables rotatespeed'} CMDs[#CMDs + 1] = {NAME = 'qefly [true / false]', DESC = 'Enables or disables the Q and E hotkeys for fly'} CMDs[#CMDs + 1] = {NAME = 'vehiclenoclip / vnoclip', DESC = 'Turns off vehicle collision'} CMDs[#CMDs + 1] = {NAME = 'vehicleclip / vclip / unvnoclip', DESC = 'Enables vehicle collision'} CMDs[#CMDs + 1] = {NAME = 'float / platform', DESC = 'Spawns a platform beneath you causing you to float'} CMDs[#CMDs + 1] = {NAME = 'unfloat / noplatform', DESC = 'Removes the platform'} CMDs[#CMDs + 1] = {NAME = 'swim', DESC = 'Allows you to swim in the air'} CMDs[#CMDs + 1] = {NAME = 'unswim / noswim', DESC = 'Stops you from swimming everywhere'} CMDs[#CMDs + 1] = {NAME = 'toggleswim', DESC = 'Toggles swimming'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'setwaypoint / swp [name]', DESC = 'Sets a waypoint at your position'} CMDs[#CMDs + 1] = {NAME = 'waypointpos / wpp [name] [X Y Z]', DESC = 'Sets a waypoint with specified coordinates'} CMDs[#CMDs + 1] = {NAME = 'waypoints', DESC = 'Shows a list of currently active waypoints'} CMDs[#CMDs + 1] = {NAME = 'showwaypoints / showwp', DESC = 'Shows all currently set waypoints'} CMDs[#CMDs + 1] = {NAME = 'hidewaypoints / hidewp', DESC = 'Hides shown waypoints'} CMDs[#CMDs + 1] = {NAME = 'waypoint / wp [name]', DESC = 'Teleports player to a waypoint'} CMDs[#CMDs + 1] = {NAME = 'tweenwaypoint / twp [name]', DESC = 'Tweens player to a waypoint'} CMDs[#CMDs + 1] = {NAME = 'walktowaypoint / wtwp [name]', DESC = 'Walks player to a waypoint'} CMDs[#CMDs + 1] = {NAME = 'deletewaypoint / dwp [name]', DESC = 'Deletes a waypoint'} CMDs[#CMDs + 1] = {NAME = 'clearwaypoints / cwp', DESC = 'Clears all waypoints'} CMDs[#CMDs + 1] = {NAME = 'cleargamewaypoints / cgamewp', DESC = 'Clears all waypoints for the game you are in'} CMDs[#CMDs + 1] = {NAME = 'pathfindtopos / pftopos [X] [Y] [Z]', DESC = 'Pathfind walk to a specific coordinate'} CMDs[#CMDs + 1] = {NAME = 'unpathfindtopos / unpftopos', DESC = 'Stops pathfindtopos'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'goto [player]', DESC = 'Go to a player'} CMDs[#CMDs + 1] = {NAME = 'tweengoto / tgoto [player]', DESC = 'Tween to a player (bypasses some anti cheats)'} CMDs[#CMDs + 1] = {NAME = 'tweenspeed / tspeed [num]', DESC = 'Sets how fast all tween commands go (default is 1)'} CMDs[#CMDs + 1] = {NAME = 'vehiclegoto / vgoto [player]', DESC = 'Go to a player while in a vehicle'} CMDs[#CMDs + 1] = {NAME = 'loopgoto [player] [distance] [delay]', DESC = 'Loop teleport to a player'} CMDs[#CMDs + 1] = {NAME = 'unloopgoto', DESC = 'Stops teleporting you to a player'} CMDs[#CMDs + 1] = {NAME = 'pulsetp / ptp [player] [seconds]', DESC = 'Teleports you to a player for a specified amount of time'} CMDs[#CMDs + 1] = {NAME = 'clientbring / cbring [player] (CLIENT)', DESC = 'Bring a player'} CMDs[#CMDs + 1] = {NAME = 'loopbring [player] [distance] [delay] (CLIENT)', DESC = 'Loop brings a player to you (useful for killing)'} CMDs[#CMDs + 1] = {NAME = 'unloopbring [player]', DESC = 'Undoes loopbring'} CMDs[#CMDs + 1] = {NAME = 'freeze / fr [player] (CLIENT)', DESC = 'Freezes a player'} CMDs[#CMDs + 1] = {NAME = 'freezeanims', DESC = 'Freezes your animations / pauses your animations - Does not work on default animations'} CMDs[#CMDs + 1] = {NAME = 'unfreezeanims', DESC = 'Unfreezes your animations / plays your animations'} CMDs[#CMDs + 1] = {NAME = 'thaw / unfr [player] (CLIENT)', DESC = 'Unfreezes a player'} CMDs[#CMDs + 1] = {NAME = 'anchor', DESC = 'Anchors your characters RootPart'} CMDs[#CMDs + 1] = {NAME = 'unanchor', DESC = 'Unanchors your characters RootPart'} CMDs[#CMDs + 1] = {NAME = 'tpposition / tppos [X Y Z]', DESC = 'Teleports you to certain coordinates'} CMDs[#CMDs + 1] = {NAME = 'tweentpposition / ttppos [X Y Z]', DESC = 'Tween to coordinates (bypasses some anti cheats)'} CMDs[#CMDs + 1] = {NAME = 'offset [X Y Z]', DESC = 'Offsets you by certain coordinates'} CMDs[#CMDs + 1] = {NAME = 'tweenoffset / toffset [X Y Z]', DESC = 'Tween offset (bypasses some anti cheats)'} CMDs[#CMDs + 1] = {NAME = 'thru [num]', DESC = 'Teleports you [num] studs ahead of where your character is facing'} CMDs[#CMDs + 1] = {NAME = 'notifyposition / notifypos [player]', DESC = 'Notifies you the coordinates of a character'} CMDs[#CMDs + 1] = {NAME = 'copyposition / copypos [player]', DESC = 'Copies the coordinates of a character to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'walktoposition / walktopos [X Y Z]', DESC = 'Makes you walk to a coordinate'} CMDs[#CMDs + 1] = {NAME = 'spawnpoint / spawn [delay]', DESC = 'Sets a position where you will spawn'} CMDs[#CMDs + 1] = {NAME = 'nospawnpoint / nospawn', DESC = 'Removes your custom spawn point'} CMDs[#CMDs + 1] = {NAME = 'flashback / diedtp', DESC = 'Teleports you to where you last died'} CMDs[#CMDs + 1] = {NAME = 'walltp', DESC = 'Teleports you above/over any wall you run into'} CMDs[#CMDs + 1] = {NAME = 'nowalltp / unwalltp', DESC = 'Disables walltp'} CMDs[#CMDs + 1] = {NAME = 'teleporttool / tptool', DESC = 'Gives you a teleport tool'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'logs', DESC = 'Opens the logs GUI'} CMDs[#CMDs + 1] = {NAME = 'chatlogs / clogs', DESC = 'Log what people say or whisper'} CMDs[#CMDs + 1] = {NAME = 'joinlogs / jlogs', DESC = 'Log when people join'} CMDs[#CMDs + 1] = {NAME = 'chatlogswebhook / logswebhook [url]', DESC = 'Set a discord webhook for chatlogs to go to (provide no url to disable this)'} CMDs[#CMDs + 1] = {NAME = 'chat / say [text]', DESC = 'Makes you chat a string (possible mute bypass)'} CMDs[#CMDs + 1] = {NAME = 'spam [text]', DESC = 'Makes you spam the chat'} CMDs[#CMDs + 1] = {NAME = 'unspam', DESC = 'Turns off spam'} CMDs[#CMDs + 1] = {NAME = 'whisper / pm [player] [text]', DESC = 'Makes you whisper a string to someone (possible mute bypass)'} CMDs[#CMDs + 1] = {NAME = 'pmspam [player] [text]', DESC = 'Makes you spam a players whispers'} CMDs[#CMDs + 1] = {NAME = 'unpmspam [player]', DESC = 'Turns off pm spam'} CMDs[#CMDs + 1] = {NAME = 'spamspeed [num]', DESC = 'How quickly you spam (default is 1)'} CMDs[#CMDs + 1] = {NAME = 'bubblechat (CLIENT)', DESC = 'Enables bubble chat for your client'} CMDs[#CMDs + 1] = {NAME = 'unbubblechat / nobubblechat', DESC = 'Disables the bubblechat command'} CMDs[#CMDs + 1] = {NAME = 'chatwindow', DESC = 'Enables the chat window for your client'} CMDs[#CMDs + 1] = {NAME = 'unchatwindow / nochatwindow', DESC = 'Disables the chat window for your client'} CMDs[#CMDs + 1] = {NAME = 'darkchat', DESC = 'Makes the chat window dark for your client'} CMDs[#CMDs + 1] = {NAME = 'listento [player]', DESC = 'Listens to the area around a player. Can also eavesdrop with vc'} CMDs[#CMDs + 1] = {NAME = 'unlistento', DESC = 'Disables listento'} CMDs[#CMDs + 1] = {NAME = 'muteallvoices / muteallvcs', DESC = 'Mutes voice chat for all players'} CMDs[#CMDs + 1] = {NAME = 'unmuteallvoices / unmuteallvcs', DESC = 'Unmutes voice chat for all players'} CMDs[#CMDs + 1] = {NAME = 'mutevc [player]', DESC = 'Mutes the voice chat of a player'} CMDs[#CMDs + 1] = {NAME = 'unmutevc [player]', DESC = 'Unmutes the voice chat of a player'} CMDs[#CMDs + 1] = {NAME = 'phonebook / call', DESC = 'Prompts the Roblox phonebook UI to let you call your friends. Needs voice chat enabled'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'esp', DESC = 'View all players and their status'} CMDs[#CMDs + 1] = {NAME = 'espteam', DESC = 'ESP but teammates are green and bad guys are red'} CMDs[#CMDs + 1] = {NAME = 'noesp / unesp / unespteam', DESC = 'Removes ESP'} CMDs[#CMDs + 1] = {NAME = 'esptransparency [number]', DESC = 'Changes the transparency of ESP related commands'} CMDs[#CMDs + 1] = {NAME = 'partesp [part name]', DESC = 'Highlights a part'} CMDs[#CMDs + 1] = {NAME = 'unpartesp / nopartesp [part name]', DESC = 'removes partesp'} CMDs[#CMDs + 1] = {NAME = 'chams', DESC = 'ESP but without text in the way'} CMDs[#CMDs + 1] = {NAME = 'nochams / unchams', DESC = 'Removes chams'} CMDs[#CMDs + 1] = {NAME = 'locate [player]', DESC = 'View a single player and their status'} CMDs[#CMDs + 1] = {NAME = 'unlocate / nolocate [player]', DESC = 'Removes locate'} CMDs[#CMDs + 1] = {NAME = 'xray', DESC = 'Makes all parts in workspace transparent'} CMDs[#CMDs + 1] = {NAME = 'unxray / noxray', DESC = 'Restores transparency to all parts in workspace'} CMDs[#CMDs + 1] = {NAME = 'loopxray', DESC = 'Makes all parts in workspace transparent but looped'} CMDs[#CMDs + 1] = {NAME = 'unloopxray', DESC = 'Unloops xray'} CMDs[#CMDs + 1] = {NAME = 'togglexray', DESC = 'Toggles xray'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'spectate / view [player]', DESC = 'View a player'} CMDs[#CMDs + 1] = {NAME = 'viewpart / viewp [part name]', DESC = 'View a part'} CMDs[#CMDs + 1] = {NAME = 'unspectate / unview', DESC = 'Stops viewing player'} CMDs[#CMDs + 1] = {NAME = 'freecam / fc', DESC = 'Allows you to freely move camera around the game'} CMDs[#CMDs + 1] = {NAME = 'freecampos / fcpos [X Y Z]', DESC = 'Moves / opens freecam in a certain position'} CMDs[#CMDs + 1] = {NAME = 'freecamwaypoint / fcwp [name]', DESC = 'Moves / opens freecam to a waypoint'} CMDs[#CMDs + 1] = {NAME = 'freecamgoto / fcgoto / fctp [player]', DESC = 'Moves / opens freecam to a player'} CMDs[#CMDs + 1] = {NAME = 'unfreecam / unfc', DESC = 'Disables freecam'} CMDs[#CMDs + 1] = {NAME = 'freecamspeed / fcspeed [num]', DESC = 'Adjusts freecam speed (default is 1)'} CMDs[#CMDs + 1] = {NAME = 'notifyfreecamposition / notifyfcpos', DESC = 'Noitifies you your freecam coordinates'} CMDs[#CMDs + 1] = {NAME = 'copyfreecamposition / copyfcpos', DESC = 'Copies your freecam coordinates to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'gotocamera / gotocam', DESC = 'Teleports you to the location of your camera'} CMDs[#CMDs + 1] = {NAME = 'tweengotocam / tgotocam', DESC = 'Tweens you to the location of your camera'} CMDs[#CMDs + 1] = {NAME = 'firstp', DESC = 'Forces camera to go into first person'} CMDs[#CMDs + 1] = {NAME = 'thirdp', DESC = 'Allows camera to go into third person'} CMDs[#CMDs + 1] = {NAME = 'noclipcam / nccam', DESC = 'Allows camera to go through objects like walls'} CMDs[#CMDs + 1] = {NAME = 'maxzoom [num]', DESC = 'Maximum camera zoom'} CMDs[#CMDs + 1] = {NAME = 'minzoom [num]', DESC = 'Minimum camera zoom'} CMDs[#CMDs + 1] = {NAME = 'camdistance [num]', DESC = 'Changes camera distance from your player'} CMDs[#CMDs + 1] = {NAME = 'fov [num]', DESC = 'Adjusts field of view (default is 70)'} CMDs[#CMDs + 1] = {NAME = 'fixcam / restorecam', DESC = 'Fixes camera'} CMDs[#CMDs + 1] = {NAME = 'enableshiftlock / enablesl', DESC = 'Enables the shift lock option'} CMDs[#CMDs + 1] = {NAME = 'lookat [player]', DESC = 'Moves your camera view to a player'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'btools (CLIENT)', DESC = 'Gives you building tools (DOES NOT REPLICATE)'} CMDs[#CMDs + 1] = {NAME = 'f3x (CLIENT)', DESC = 'Gives you F3X building tools (DOES NOT REPLICATE)'} CMDs[#CMDs + 1] = {NAME = 'partname / partpath', DESC = 'Allows you to click a part to see its path & name'} CMDs[#CMDs + 1] = {NAME = 'delete [instance name] (CLIENT)', DESC = 'Removes any part with a certain name from the workspace (DOES NOT REPLICATE)'} CMDs[#CMDs + 1] = {NAME = 'deleteclass / dc [class name] (CLIENT)', DESC = 'Removes any part with a certain classname from the workspace (DOES NOT REPLICATE)'} CMDs[#CMDs + 1] = {NAME = 'lockworkspace / lockws', DESC = 'Locks the whole workspace'} CMDs[#CMDs + 1] = {NAME = 'unlockworkspace / unlockws', DESC = 'Unlocks the whole workspace'} CMDs[#CMDs + 1] = {NAME = 'invisibleparts / invisparts (CLIENT)', DESC = 'Shows invisible parts'} CMDs[#CMDs + 1] = {NAME = 'uninvisibleparts / uninvisparts (CLIENT)', DESC = 'Makes parts affected by invisparts return to normal'} CMDs[#CMDs + 1] = {NAME = 'deleteinvisparts / dip (CLIENT)', DESC = 'Deletes invisible parts'} CMDs[#CMDs + 1] = {NAME = 'gotopart [part name]', DESC = 'Moves your character to a part or multiple parts'} CMDs[#CMDs + 1] = {NAME = 'tweengotopart / tgotopart [part name]', DESC = 'Tweens your character to a part or multiple parts'} CMDs[#CMDs + 1] = {NAME = 'gotopartclass / gpc [class name]', DESC = 'Moves your character to a part or multiple parts based on classname'} CMDs[#CMDs + 1] = {NAME = 'tweengotopartclass / tgpc [class name]', DESC = 'Tweens your character to a part or multiple parts based on classname'} CMDs[#CMDs + 1] = {NAME = 'gotomodel [part name]', DESC = 'Moves your character to a model or multiple models'} CMDs[#CMDs + 1] = {NAME = 'tweengotomodel / tgotomodel [part name]', DESC = 'Tweens your character to a model or multiple models'} CMDs[#CMDs + 1] = {NAME = 'gotopartdelay / gotomodeldelay [num]', DESC = 'Adjusts how quickly you teleport to each part (default is 0.1)'} CMDs[#CMDs + 1] = {NAME = 'bringpart [part name] (CLIENT)', DESC = 'Moves a part or multiple parts to your character'} CMDs[#CMDs + 1] = {NAME = 'bringpartclass / bpc [class name] (CLIENT)', DESC = 'Moves a part or multiple parts to your character based on classname'} CMDs[#CMDs + 1] = {NAME = 'noclickdetectorlimits / nocdlimits', DESC = 'Sets all click detectors MaxActivationDistance to math.huge'} CMDs[#CMDs + 1] = {NAME = 'fireclickdetectors / firecd [name]', DESC = 'Uses all click detectors in a game or uses the optional name'} CMDs[#CMDs + 1] = {NAME = 'firetouchinterests / touchinterests [name]', DESC = 'Uses all touchinterests in a game or uses the optional name'} CMDs[#CMDs + 1] = {NAME = 'touchparts [name] [delay]', DESC = 'Teleports to all parts with given name. Default delay 0.2s'} CMDs[#CMDs + 1] = {NAME = 'noproximitypromptlimits / nopplimits', DESC = 'Sets all proximity prompts MaxActivationDistance to math.huge'} CMDs[#CMDs + 1] = {NAME = 'fireproximityprompts / firepp [name]', DESC = 'Uses all proximity prompts in a game or uses the optional name'} CMDs[#CMDs + 1] = {NAME = 'instantproximityprompts / instantpp', DESC = 'Disable the cooldown for proximity prompts'} CMDs[#CMDs + 1] = {NAME = 'uninstantproximityprompts / uninstantpp', DESC = 'Undo the cooldown removal'} CMDs[#CMDs + 1] = {NAME = 'tpunanchored / tpua [player]', DESC = 'Teleports unanchored parts to a player'} CMDs[#CMDs + 1] = {NAME = 'animsunanchored / freezeua', DESC = 'Freezes unanchored parts'} CMDs[#CMDs + 1] = {NAME = 'thawunanchored / thawua / unfreezeua', DESC = 'Thaws unanchored parts'} CMDs[#CMDs + 1] = {NAME = 'removeterrain / rterrain / noterrain', DESC = 'Removes all terrain'} CMDs[#CMDs + 1] = {NAME = 'clearnilinstances / nonilinstances / cni', DESC = 'Removes nil instances'} CMDs[#CMDs + 1] = {NAME = 'destroyheight / dh [num]', DESC = 'Sets FallenPartsDestroyHeight'} CMDs[#CMDs + 1] = {NAME = 'fakeout', DESC = 'Tp to the void and then back (useful to kill people attached to you)'} CMDs[#CMDs + 1] = {NAME = 'antivoid', DESC = 'Prevents you from falling into the void by launching you upwards'} CMDs[#CMDs + 1] = {NAME = 'unantivoid / noantivoid', DESC = 'Disables antivoid'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'fullbright / fb (CLIENT)', DESC = 'Makes the map brighter / more visible'} CMDs[#CMDs + 1] = {NAME = 'loopfullbright / loopfb (CLIENT)', DESC = 'Makes the map brighter / more visible but looped'} CMDs[#CMDs + 1] = {NAME = 'unloopfullbright / unloopfb', DESC = 'Unloops fullbright'} CMDs[#CMDs + 1] = {NAME = 'ambient [num] [num] [num] (CLIENT)', DESC = 'Changes ambient'} CMDs[#CMDs + 1] = {NAME = 'day (CLIENT)', DESC = 'Changes the time to day for the client'} CMDs[#CMDs + 1] = {NAME = 'night (CLIENT)', DESC = 'Changes the time to night for the client'} CMDs[#CMDs + 1] = {NAME = 'nofog (CLIENT)', DESC = 'Removes fog'} CMDs[#CMDs + 1] = {NAME = 'brightness [num] (CLIENT)', DESC = 'Changes the brightness lighting property'} CMDs[#CMDs + 1] = {NAME = 'globalshadows / gshadows (CLIENT)', DESC = 'Enables global shadows'} CMDs[#CMDs + 1] = {NAME = 'noglobalshadows / nogshadows (CLIENT)', DESC = 'Disables global shadows'} CMDs[#CMDs + 1] = {NAME = 'restorelighting / rlighting', DESC = 'Restores Lighting properties'} CMDs[#CMDs + 1] = {NAME = 'light [radius] [brightness] (CLIENT)', DESC = 'Gives your player dynamic light'} CMDs[#CMDs + 1] = {NAME = 'nolight / unlight', DESC = 'Removes dynamic light from your player'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'inspect / examine [player]', DESC = 'Opens InspectMenu for a certain player'} CMDs[#CMDs + 1] = {NAME = 'age [player]', DESC = 'Tells you the age of a player'} CMDs[#CMDs + 1] = {NAME = 'chatage [player]', DESC = 'Chats the age of a player'} CMDs[#CMDs + 1] = {NAME = 'joindate / jd [player]', DESC = 'Tells you the date the player joined Roblox'} CMDs[#CMDs + 1] = {NAME = 'chatjoindate / cjd [player]', DESC = 'Chats the date the player joined Roblox'} CMDs[#CMDs + 1] = {NAME = 'copyname / copyuser [player]', DESC = 'Copies a players full username to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'userid / id [player]', DESC = 'Notifies a players user ID'} CMDs[#CMDs + 1] = {NAME = 'copyplaceid / placeid', DESC = 'Copies the current place id to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'copygameid / gameid', DESC = 'Copies the current game id to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'copyuserid / copyid [player]', DESC = 'Copies a players user ID to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'appearanceid / aid [player]', DESC = 'Notifies a players appearance ID'} CMDs[#CMDs + 1] = {NAME = 'copyappearanceid / caid [player]', DESC = 'Copies a players appearance ID to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'bang [player] [speed]', DESC = 'owo'} CMDs[#CMDs + 1] = {NAME = 'unbang', DESC = 'uwu'} CMDs[#CMDs + 1] = {NAME = 'jerk', DESC = 'Makes you jork it'} CMDs[#CMDs + 1] = {NAME = 'scare / spook [player]', DESC = 'Teleports in front of a player for half a second'} CMDs[#CMDs + 1] = {NAME = 'carpet [player]', DESC = 'Be someones carpet'} CMDs[#CMDs + 1] = {NAME = 'uncarpet', DESC = 'Undoes carpet'} CMDs[#CMDs + 1] = {NAME = 'friend [player]', DESC = 'Sends a friend request to certain players'} CMDs[#CMDs + 1] = {NAME = 'unfriend [player]', DESC = 'Unfriends certain players'} CMDs[#CMDs + 1] = {NAME = 'headsit [player]', DESC = 'Sit on a players head'} CMDs[#CMDs + 1] = {NAME = 'walkto / follow [player]', DESC = 'Follow a player'} CMDs[#CMDs + 1] = {NAME = 'pathfindwalkto / pathfindfollow [player]', DESC = 'Follow a player using pathfinding'} CMDs[#CMDs + 1] = {NAME = 'pathfindwalktowaypoint / pathfindwalktowp [waypoint]', DESC = 'Walk to a waypoint using pathfinding'} CMDs[#CMDs + 1] = {NAME = 'pathfindflyto / pfflyto [player] [height]', DESC = 'Flies you up then pathfinds to a player (escapes walls/boxes)'} CMDs[#CMDs + 1] = {NAME = 'pathfindflytowp / pfflytowp [waypoint] [height]', DESC = 'Flies you up then pathfinds to a waypoint'} CMDs[#CMDs + 1] = {NAME = 'unpathfindfly', DESC = 'Stops pathfindflyto / pathfindflytowp'} CMDs[#CMDs + 1] = {NAME = 'unwalkto / unfollow', DESC = 'Stops following a player'} CMDs[#CMDs + 1] = {NAME = 'orbit [player] [speed] [distance]', DESC = 'Makes your character orbit around a player with an optional speed and an optional distance'} CMDs[#CMDs + 1] = {NAME = 'unorbit', DESC = 'Disables orbit'} CMDs[#CMDs + 1] = {NAME = 'stareat / stare [player]', DESC = 'Stare / look at a player'} CMDs[#CMDs + 1] = {NAME = 'unstareat / unstare [player]', DESC = 'Disables stareat'} CMDs[#CMDs + 1] = {NAME = 'rolewatch [group id] [role name]', DESC = 'Notify if someone from a watched group joins the server'} CMDs[#CMDs + 1] = {NAME = 'rolewatchstop / unrolewatch', DESC = 'Disable Rolewatch'} CMDs[#CMDs + 1] = {NAME = 'rolewatchleave', DESC = 'Toggle if you should leave the game if someone from a watched group joins the server'} CMDs[#CMDs + 1] = {NAME = 'staffwatch', DESC = 'Notify if a staff member of the game joins the server'} CMDs[#CMDs + 1] = {NAME = 'unstaffwatch', DESC = 'Disable Staffwatch'} CMDs[#CMDs + 1] = {NAME = 'findfriendgroups', DESC = 'Notifies you if any players are friends with each other'} CMDs[#CMDs + 1] = {NAME = 'handlekill / hkill [player] [radius] (TOOL)', DESC = 'Kills a player using tool damage (YOU NEED A TOOL)'} CMDs[#CMDs + 1] = {NAME = 'fling', DESC = 'Flings anyone you touch'} CMDs[#CMDs + 1] = {NAME = 'unfling', DESC = 'Disables the fling command'} CMDs[#CMDs + 1] = {NAME = 'flyfling [speed]', DESC = 'Basically the invisfling command but not invisible'} CMDs[#CMDs + 1] = {NAME = 'unflyfling', DESC = 'Disables the flyfling command'} CMDs[#CMDs + 1] = {NAME = 'walkfling', DESC = 'Basically fling but no spinning'} CMDs[#CMDs + 1] = {NAME = 'unwalkfling / nowalkfling', DESC = 'Disables walkfling'} CMDs[#CMDs + 1] = {NAME = 'invisfling', DESC = 'Enables invisible fling (the invis part is patched, try using the god command before using this)'} CMDs[#CMDs + 1] = {NAME = 'antifling', DESC = 'Disables player collisions to prevent you from being flung'} CMDs[#CMDs + 1] = {NAME = 'unantifling', DESC = 'Disables antifling'} CMDs[#CMDs + 1] = {NAME = 'loopoof', DESC = 'Loops everyones character sounds (everyone can hear)'} CMDs[#CMDs + 1] = {NAME = 'unloopoof', DESC = 'Stops the oof chaos'} CMDs[#CMDs + 1] = {NAME = 'muteboombox [player]', DESC = 'Mutes someones boombox'} CMDs[#CMDs + 1] = {NAME = 'unmuteboombox [player]', DESC = 'Unmutes someones boombox'} CMDs[#CMDs + 1] = {NAME = 'hitbox [player] [size] [transparency]', DESC = 'Expands the hitbox for players HumanoidRootPart (default is 1)'} CMDs[#CMDs + 1] = {NAME = 'headsize [player] [size]', DESC = 'Expands the head size for players Head (default is 1)'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'reset', DESC = 'Resets your character normally'} CMDs[#CMDs + 1] = {NAME = 'respawn', DESC = 'Respawns you'} CMDs[#CMDs + 1] = {NAME = 'suicide / killme', DESC = 'Kills yourself'} CMDs[#CMDs + 1] = {NAME = 'refresh / re', DESC = 'Respawns and brings you back to the same position'} CMDs[#CMDs + 1] = {NAME = 'time / settime [hour]', DESC = 'Set lighting time of day (0-24)'} CMDs[#CMDs + 1] = {NAME = 'god', DESC = 'Makes your character difficult to kill in most games'} CMDs[#CMDs + 1] = {NAME = 'invisible / invis', DESC = 'Makes you invisible to other players'} CMDs[#CMDs + 1] = {NAME = 'visible / vis', DESC = 'Makes you visible to other players'} CMDs[#CMDs + 1] = {NAME = 'toolinvisible / toolinvis / tinvis', DESC = 'Makes you invisible to other players and able to use tools'} CMDs[#CMDs + 1] = {NAME = 'speed / ws / walkspeed [num]', DESC = 'Change your walkspeed (default is 16)'} CMDs[#CMDs + 1] = {NAME = 'spoofspeed / spoofws [num]', DESC = 'Spoofs your WalkSpeed on the Client'} CMDs[#CMDs + 1] = {NAME = 'loopspeed / loopws [num]', DESC = 'Loops your walkspeed'} CMDs[#CMDs + 1] = {NAME = 'unloopspeed / unloopws', DESC = 'Turns off loopspeed'} CMDs[#CMDs + 1] = {NAME = 'hipheight / hheight [num]', DESC = 'Adjusts hip height'} CMDs[#CMDs + 1] = {NAME = 'jumppower / jpower / jp [num]', DESC = 'Change a players jump height (default is 50)'} CMDs[#CMDs + 1] = {NAME = 'spoofjumppower / spoofjp [num]', DESC = 'Spoofs your JumpPower on the Client'} CMDs[#CMDs + 1] = {NAME = 'loopjumppower / loopjp [num]', DESC = 'Loops your jump height'} CMDs[#CMDs + 1] = {NAME = 'unloopjumppower / unloopjp', DESC = 'Turns off loopjumppower'} CMDs[#CMDs + 1] = {NAME = 'maxslopeangle / msa [num]', DESC = 'Adjusts MaxSlopeAngle'} CMDs[#CMDs + 1] = {NAME = 'gravity / grav [num] (CLIENT)', DESC = 'Change your gravity'} CMDs[#CMDs + 1] = {NAME = 'sit', DESC = 'Makes your character sit'} CMDs[#CMDs + 1] = {NAME = 'lay / laydown', DESC = 'Makes your character lay down'} CMDs[#CMDs + 1] = {NAME = 'sitwalk', DESC = 'Makes your character sit while still being able to walk'} CMDs[#CMDs + 1] = {NAME = 'nosit', DESC = 'Prevents your character from sitting'} CMDs[#CMDs + 1] = {NAME = 'unnosit', DESC = 'Disables nosit'} CMDs[#CMDs + 1] = {NAME = 'jump', DESC = 'Makes your character jump'} CMDs[#CMDs + 1] = {NAME = 'infinitejump / infjump', DESC = 'Allows you to jump before hitting the ground'} CMDs[#CMDs + 1] = {NAME = 'uninfinitejump / uninfjump', DESC = 'Disables infjump'} CMDs[#CMDs + 1] = {NAME = 'flyjump', DESC = 'Allows you to hold space to fly up'} CMDs[#CMDs + 1] = {NAME = 'unflyjump', DESC = 'Disables flyjump'} CMDs[#CMDs + 1] = {NAME = 'autojump / ajump', DESC = 'Automatically jumps when you run into an object'} CMDs[#CMDs + 1] = {NAME = 'unautojump / unajump', DESC = 'Disables autojump'} CMDs[#CMDs + 1] = {NAME = 'edgejump / ejump', DESC = 'Automatically jumps when you get to the edge of an object'} CMDs[#CMDs + 1] = {NAME = 'unedgejump / unejump', DESC = 'Disables edgejump'} CMDs[#CMDs + 1] = {NAME = 'platformstand / stun', DESC = 'Enables PlatformStand'} CMDs[#CMDs + 1] = {NAME = 'unplatformstand / unstun', DESC = 'Disables PlatformStand'} CMDs[#CMDs + 1] = {NAME = 'norotate / noautorotate', DESC = 'Disables AutoRotate'} CMDs[#CMDs + 1] = {NAME = 'unnorotate / autorotate', DESC = 'Enables AutoRotate'} CMDs[#CMDs + 1] = {NAME = 'enablestate [StateType]', DESC = 'Enables a humanoid state type'} CMDs[#CMDs + 1] = {NAME = 'disablestate [StateType]', DESC = 'Disables a humanoid state type'} CMDs[#CMDs + 1] = {NAME = 'team [team name] (CLIENT)', DESC = 'Changes your team. Sometimes fools localscripts.'} CMDs[#CMDs + 1] = {NAME = 'nobillboardgui / nobgui / noname', DESC = 'Removes billboard and surface GUIs from your players (i.e. name GUIs at cafes)'} CMDs[#CMDs + 1] = {NAME = 'loopnobgui / loopnoname', DESC = 'Loop removes billboard and surface GUIs from your players (i.e. name GUIs at cafes)'} CMDs[#CMDs + 1] = {NAME = 'unloopnobgui / unloopnoname', DESC = 'Disables loopnobgui'} CMDs[#CMDs + 1] = {NAME = 'noarms', DESC = 'Removes your arms'} CMDs[#CMDs + 1] = {NAME = 'nolegs', DESC = 'Removes your legs'} CMDs[#CMDs + 1] = {NAME = 'nolimbs', DESC = 'Removes your limbs'} CMDs[#CMDs + 1] = {NAME = 'naked (CLIENT)', DESC = 'Removes your clothing'} CMDs[#CMDs + 1] = {NAME = 'noface / removeface', DESC = 'Removes your face'} CMDs[#CMDs + 1] = {NAME = 'blockhead', DESC = 'Turns your head into a block'} CMDs[#CMDs + 1] = {NAME = 'blockhats', DESC = 'Turns your hats into blocks'} CMDs[#CMDs + 1] = {NAME = 'blocktool', DESC = 'Turns the currently selected tool into a block'} CMDs[#CMDs + 1] = {NAME = 'creeper', DESC = 'Makes you look like a creeper'} CMDs[#CMDs + 1] = {NAME = 'drophats', DESC = 'Drops your hats'} CMDs[#CMDs + 1] = {NAME = 'nohats / deletehats / rhats', DESC = 'Deletes your hats'} CMDs[#CMDs + 1] = {NAME = 'hatspin / spinhats', DESC = 'Spins your characters accessories'} CMDs[#CMDs + 1] = {NAME = 'unhatspin / unspinhats', DESC = 'Undoes spinhats'} CMDs[#CMDs + 1] = {NAME = 'clearhats / cleanhats', DESC = 'Clears hats in the workspace'} CMDs[#CMDs + 1] = {NAME = 'chardelete / cd [instance name]', DESC = 'Removes any part with a certain name from your character'} CMDs[#CMDs + 1] = {NAME = 'chardeleteclass / cdc [class name]', DESC = 'Removes any part with a certain classname from your character'} CMDs[#CMDs + 1] = {NAME = 'deletevelocity / dv / removeforces', DESC = 'Removes any velocity / force instances in your character'} CMDs[#CMDs + 1] = {NAME = 'weaken [num]', DESC = 'Makes your character less dense'} CMDs[#CMDs + 1] = {NAME = 'unweaken', DESC = 'Sets your characters CustomPhysicalProperties to default'} CMDs[#CMDs + 1] = {NAME = 'strengthen [num]', DESC = 'Makes your character more dense (CustomPhysicalProperties)'} CMDs[#CMDs + 1] = {NAME = 'unstrengthen', DESC = 'Sets your characters CustomPhysicalProperties to default'} CMDs[#CMDs + 1] = {NAME = 'breakvelocity', DESC = 'Sets your characters velocity to 0'} CMDs[#CMDs + 1] = {NAME = 'spin [speed]', DESC = 'Spins your character'} CMDs[#CMDs + 1] = {NAME = 'unspin', DESC = 'Disables spin'} CMDs[#CMDs + 1] = {NAME = 'split', DESC = 'Splits your character in half'} CMDs[#CMDs + 1] = {NAME = 'nilchar', DESC = 'Sets your characters parent to nil'} CMDs[#CMDs + 1] = {NAME = 'unnilchar / nonilchar', DESC = 'Sets your characters parent to workspace'} CMDs[#CMDs + 1] = {NAME = 'noroot / removeroot / rroot', DESC = 'Removes your characters HumanoidRootPart'} CMDs[#CMDs + 1] = {NAME = 'replaceroot', DESC = 'Replaces your characters HumanoidRootPart'} CMDs[#CMDs + 1] = {NAME = 'clearcharappearance / clearchar / clrchar', DESC = 'Removes all accessory, shirt, pants, charactermesh, and bodycolors'} CMDs[#CMDs + 1] = {NAME = 'tpwalk / teleportwalk [num]', DESC = 'Teleports you to your move direction'} CMDs[#CMDs + 1] = {NAME = 'untpwalk / unteleportwalk', DESC = 'Undoes tpwalk / teleportwalk'} CMDs[#CMDs + 1] = {NAME = 'trip', DESC = 'Makes your character fall over'} CMDs[#CMDs + 1] = {NAME = 'wallwalk / walkonwalls', DESC = 'Walk on walls'} CMDs[#CMDs + 1] = {NAME = 'promptr6', DESC = 'Prompts the game to switch your rig type to R6'} CMDs[#CMDs + 1] = {NAME = 'promptr15', DESC = 'Prompts the game to switch your rig type to R15'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'animation / anim [ID] [speed]', DESC = 'Makes your character perform an animation (must be an animation on the marketplace or by roblox/stickmasterluke to replicate)'} CMDs[#CMDs + 1] = {NAME = 'emote / em [ID] [speed]', DESC = 'Makes your character perform an emote (must be on the marketplace or by roblox/stickmasterluke to replicate)'} CMDs[#CMDs + 1] = {NAME = 'dance', DESC = 'Makes you d a n c e'} CMDs[#CMDs + 1] = {NAME = 'undance', DESC = 'Stops dance animations'} CMDs[#CMDs + 1] = {NAME = 'spasm', DESC = 'Makes you c r a z y'} CMDs[#CMDs + 1] = {NAME = 'unspasm', DESC = 'Stops spasm'} CMDs[#CMDs + 1] = {NAME = 'headthrow', DESC = 'Simply makes you throw your head'} CMDs[#CMDs + 1] = {NAME = 'noanim', DESC = 'Disables your animations'} CMDs[#CMDs + 1] = {NAME = 'reanim', DESC = 'Restores your animations'} CMDs[#CMDs + 1] = {NAME = 'animspeed [num]', DESC = 'Changes the speed of your current animation'} CMDs[#CMDs + 1] = {NAME = 'copyanimation / copyanim / copyemote [player]', DESC = 'Copies someone elses animation'} CMDs[#CMDs + 1] = {NAME = 'copyanimationid / copyanimid / copyemoteid [player]', DESC = 'Copies your animation id or someone elses to your clipboard'} CMDs[#CMDs + 1] = {NAME = 'loopanimation / loopanim', DESC = 'Loops your current animation'} CMDs[#CMDs + 1] = {NAME = 'stopanimations / stopanims', DESC = 'Stops running animations'} CMDs[#CMDs + 1] = {NAME = 'refreshanimations / refreshanims', DESC = 'Refreshes animations'} CMDs[#CMDs + 1] = {NAME = 'allowcustomanim / allowcustomanimations', DESC = 'Lets you use custom animation packs instead'} CMDs[#CMDs + 1] = {NAME = 'unallowcustomanim / unallowcustomanimations', DESC = 'Doesn\'t let you use custom animation packs instead'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'autoclick [click delay] [release delay]', DESC = 'Automatically clicks your mouse with a set delay'} CMDs[#CMDs + 1] = {NAME = 'unautoclick / noautoclick', DESC = 'Turns off autoclick'} CMDs[#CMDs + 1] = {NAME = 'autokeypress [key] [down delay] [up delay]', DESC = 'Automatically presses a key with a set delay'} CMDs[#CMDs + 1] = {NAME = 'unautokeypress', DESC = 'Stops autokeypress'} CMDs[#CMDs + 1] = {NAME = 'hovername', DESC = 'Shows a players username when your mouse is hovered over them'} CMDs[#CMDs + 1] = {NAME = 'unhovername / nohovername', DESC = 'Turns off hovername'} CMDs[#CMDs + 1] = {NAME = 'mousesensitivity / ms [0-10]', DESC = 'Sets your mouse sensitivity (affects first person and right click drag) (default is 1)'} CMDs[#CMDs + 1] = {NAME = 'clickdelete', DESC = 'Go to Settings > Keybinds > Add for click delete'} CMDs[#CMDs + 1] = {NAME = 'clickteleport', DESC = 'Go to Settings > Keybinds > Add for click teleport'} CMDs[#CMDs + 1] = {NAME = 'mouseteleport / mousetp', DESC = 'Teleports your character to your mouse. This is recommended as a keybind'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'tools', DESC = 'Copies tools from ReplicatedStorage and Lighting'} CMDs[#CMDs + 1] = {NAME = 'notools / removetools / deletetools', DESC = 'Removes tools from character and backpack'} CMDs[#CMDs + 1] = {NAME = 'deleteselectedtool / dst', DESC = 'Removes any currently selected tools'} CMDs[#CMDs + 1] = {NAME = 'grabtools', DESC = 'Automatically get tools that are dropped'} CMDs[#CMDs + 1] = {NAME = 'ungrabtools / nograbtools', DESC = 'Disables grabtools'} CMDs[#CMDs + 1] = {NAME = 'copytools [player] (CLIENT)', DESC = 'Copies a players tools'} CMDs[#CMDs + 1] = {NAME = 'dupetools / clonetools [num]', DESC = 'Duplicates your inventory tools a set amount of times'} CMDs[#CMDs + 1] = {NAME = 'droptools', DESC = 'Drops your tools'} CMDs[#CMDs + 1] = {NAME = 'droppabletools', DESC = 'Makes your tools droppable'} CMDs[#CMDs + 1] = {NAME = 'equiptools', DESC = 'Equips every tool in your inventory at once'} CMDs[#CMDs + 1] = {NAME = 'unequiptools', DESC = 'Unequips every tool you are currently holding at once'} CMDs[#CMDs + 1] = {NAME = 'removespecifictool [name]', DESC = 'Automatically remove a specific tool from your inventory'} CMDs[#CMDs + 1] = {NAME = 'unremovespecifictool [name]', DESC = 'Stops removing a specific tool from your inventory'} CMDs[#CMDs + 1] = {NAME = 'clearremovespecifictool', DESC = 'Stop removing all specific tools from your inventory'} CMDs[#CMDs + 1] = {NAME = 'reach [num]', DESC = 'Increases the hitbox of your held tool'} CMDs[#CMDs + 1] = {NAME = 'boxreach [num]', DESC = 'Increases the hitbox of your held tool in a box shape'} CMDs[#CMDs + 1] = {NAME = 'unreach / noreach', DESC = 'Turns off reach'} CMDs[#CMDs + 1] = {NAME = 'grippos [X Y Z]', DESC = 'Changes your current tools grip position'} CMDs[#CMDs + 1] = {NAME = 'usetools [amount] [delay]', DESC = 'Activates all tools in your backpack at the same time'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'addalias [cmd] [alias]', DESC = 'Adds an alias to a command'} CMDs[#CMDs + 1] = {NAME = 'removealias [alias]', DESC = 'Removes a custom alias'} CMDs[#CMDs + 1] = {NAME = 'clraliases', DESC = 'Removes all custom aliases'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'addplugin / plugin [name]', DESC = 'Add a plugin via command'} CMDs[#CMDs + 1] = {NAME = 'removeplugin / deleteplugin [name]', DESC = 'Remove a plugin via command'} CMDs[#CMDs + 1] = {NAME = 'reloadplugin [name]', DESC = 'Reloads a plugin'} CMDs[#CMDs + 1] = {NAME = 'addallplugins / loadallplugins', DESC = 'Adds all available plugins from the workspace folder'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Arc Yield Custom Commands --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'unarc', DESC = 'Removes ALL custom effects at once'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Trails (17 types) --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'trail [type]', DESC = 'Set trail type. Types: fire,ice,lightning,smoke,rainbow,neon,purple,pink,blood,shadow,holy,toxic,galaxy,crystal,spark,heart,phantom'} CMDs[#CMDs + 1] = {NAME = 'firetrail / icetrail / lightningtrail / etc.', DESC = 'Quick shortcut for each trail type'} CMDs[#CMDs + 1] = {NAME = 'untrail / toggletrail', DESC = 'Remove or toggle trail'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Particle Auras (14 types) --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'particleaura [type] / partaura', DESC = 'Set particle aura type. Types: fire,ice,lightning,smoke,shadow,holy,toxic,neon,purple,pink,galaxy,blood,phantom,crystal'} CMDs[#CMDs + 1] = {NAME = 'fireaura / iceaura / lightningaura / etc.', DESC = 'Quick shortcut for each aura type'} CMDs[#CMDs + 1] = {NAME = 'unparticleaura / toggleparticleaura', DESC = 'Remove or toggle particle aura'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Character Effects --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'glow [r] [g] [b]', DESC = 'Glowing light on all body parts. Blue by default'} CMDs[#CMDs + 1] = {NAME = 'unglow', DESC = 'Remove body glow'} CMDs[#CMDs + 1] = {NAME = 'highlight [r] [g] [b]', DESC = 'Highlight outline on your character'} CMDs[#CMDs + 1] = {NAME = 'unhighlight', DESC = 'Remove highlight'} CMDs[#CMDs + 1] = {NAME = 'wireframe', DESC = 'ForceField material on all world parts'} CMDs[#CMDs + 1] = {NAME = 'unwireframe', DESC = 'Disable wireframe'} CMDs[#CMDs + 1] = {NAME = 'trans [0-1]', DESC = 'Set character transparency'} CMDs[#CMDs + 1] = {NAME = 'untrans', DESC = 'Reset transparency'} CMDs[#CMDs + 1] = {NAME = 'scale [number]', DESC = 'Scale character size'} CMDs[#CMDs + 1] = {NAME = 'unscale', DESC = 'Reset scale'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Visual Effects --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'arcfloat / afloat', DESC = 'Float GUI panel - toggle, rise speed slider'} CMDs[#CMDs + 1] = {NAME = 'spinchar [speed]', DESC = 'Spin your character'} CMDs[#CMDs + 1] = {NAME = 'unspinchar', DESC = 'Stop spinning'} CMDs[#CMDs + 1] = {NAME = 'pulse', DESC = 'Pulsing scale effect'} CMDs[#CMDs + 1] = {NAME = 'unpulse', DESC = 'Stop pulse effect'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- HUD Elements --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'fps / fpscounter', DESC = 'Show FPS counter'} CMDs[#CMDs + 1] = {NAME = 'nofps', DESC = 'Hide FPS counter'} CMDs[#CMDs + 1] = {NAME = 'ping / pingcounter', DESC = 'Show ping counter'} CMDs[#CMDs + 1] = {NAME = 'noping', DESC = 'Hide ping counter'} CMDs[#CMDs + 1] = {NAME = 'coords / coordinates', DESC = 'Show XYZ coordinates'} CMDs[#CMDs + 1] = {NAME = 'nocoords', DESC = 'Hide coordinates'} CMDs[#CMDs + 1] = {NAME = 'speedometer', DESC = 'Show speed display'} CMDs[#CMDs + 1] = {NAME = 'nospeedometer', DESC = 'Hide speed display'} CMDs[#CMDs + 1] = {NAME = 'crosshair / xhair', DESC = 'Show blue crosshair'} CMDs[#CMDs + 1] = {NAME = 'nocrosshair', DESC = 'Hide crosshair'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Cosmetics --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'crown', DESC = 'Gold crown above your head'} CMDs[#CMDs + 1] = {NAME = 'uncrown', DESC = 'Remove crown'} CMDs[#CMDs + 1] = {NAME = 'halo [r] [g] [b]', DESC = 'Glowing halo above head'} CMDs[#CMDs + 1] = {NAME = 'unhalo', DESC = 'Remove halo'} CMDs[#CMDs + 1] = {NAME = 'wings [r] [g] [b]', DESC = 'Neon wings on your character'} CMDs[#CMDs + 1] = {NAME = 'unwings', DESC = 'Remove wings'} CMDs[#CMDs + 1] = {NAME = 'nametag [text]', DESC = 'Custom floating name above head'} CMDs[#CMDs + 1] = {NAME = 'unnametag', DESC = 'Remove nametag'} CMDs[#CMDs + 1] = {NAME = 'orbittext [text]', DESC = 'Text orbits around your head'} CMDs[#CMDs + 1] = {NAME = 'unorbittext', DESC = 'Remove orbit text'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Camera --', DESC = ''} -- fov already defined above CMDs[#CMDs + 1] = {NAME = 'unfov', DESC = 'Reset field of view'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Custom Animations --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'customanim [type] [assetId]', DESC = 'Load custom animation. Types: idle,walk,run,jump,fall'} CMDs[#CMDs + 1] = {NAME = 'unanim', DESC = 'Reset custom animations'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Utility --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'antiafk', DESC = 'Prevents being kicked for being AFK'} CMDs[#CMDs + 1] = {NAME = 'noantiafk', DESC = 'Disable anti-AFK'} CMDs[#CMDs + 1] = {NAME = '', DESC = ''} CMDs[#CMDs + 1] = {NAME = '-- Combat / UA --', DESC = ''} CMDs[#CMDs + 1] = {NAME = 'pwalkfling / dkwalkfling [speed]', DESC = 'Invisible hitbox jitters forward/back at speed to fling people. Default 50'} CMDs[#CMDs + 1] = {NAME = 'unpwalkfling / togglepwalkfling', DESC = 'Disable/toggle walk fling'} CMDs[#CMDs + 1] = {NAME = 'orbitua [radius] [speed] [height]', DESC = 'Tornado orbit all parts around you. Default 50 500 0'} CMDs[#CMDs + 1] = {NAME = 'unorbitua / toggleorbitua', DESC = 'Disable/toggle orbit UA'} CMDs[#CMDs + 1] = {NAME = 'cube / cubebuild', DESC = 'Finds 6 unanchored parts of the same type (by Name), builds a cube 15 studs above your head'} CMDs[#CMDs + 1] = {NAME = 'uncube / nocube / cubeoff / togglecube', DESC = 'Removes the cube and restores parts'} CMDs[#CMDs + 1] = {NAME = 'blackhole / bhole [speed]', DESC = 'ALL unanchored parts form black hole: 75% tight core, 25% orbit ring. Stays on after death'} CMDs[#CMDs + 1] = {NAME = 'unblackhole / noblackhole / blackholeoff / toggleblackhole', DESC = 'Disable/toggle black hole'} CMDs[#CMDs + 1] = {NAME = 'god / ungod / togglegod', DESC = 'Toggle physics godmode manually. Same invincibility used by cannon, trowel, orbitua etc. No fall damage, no physics death.'} CMDs[#CMDs + 1] = {NAME = 'cannon [power] / uncannon', DESC = 'Grab 1 random unanchored part, hold in front of u, click to launch toward green dot. Default power 500'} CMDs[#CMDs + 1] = {NAME = 'minigun [power] / unminigun', DESC = 'Fires up to 30 unanchored parts one by one toward mouse, 0.2s apart. Default power 500'} CMDs[#CMDs + 1] = {NAME = 'trowel [mode] / untrowel', DESC = 'Open-top box 300 studs above. Collect + Launch tools. Modes: normal, explode, rain, spiral, shotgun, orbit, scatter, wave, gun, one, drop, tower, wall, floor, bridge, cage, staircase, missile, shield, hail, volcano, magnet, fling, pile'} CMDs[#CMDs + 1] = {NAME = 'slift [target] / unslift', DESC = 'Flatten all unanchored parts flat like _, place under target, slowly lift them up serversided'} CMDs[#CMDs + 1] = {NAME = 'cageua [player] / uncageua', DESC = 'Build a 19x19x19 cage around a player using ALL unanchored parts. Serversided.'} CMDs[#CMDs + 1] = {NAME = 'ownparts', DESC = 'Claim server ownership of ALL unanchored parts instantly'} CMDs[#CMDs + 1] = {NAME = 'mm2 / unmm2', DESC = 'MM2 Role ESP! Red=Murderer Blue=Sheriff Green=Innocent. Distance, weapon, HP bar. Click any player to fling!'} CMDs[#CMDs + 1] = {NAME = 'assist / unassist', DESC = 'MM2 auto-play helper! Red ESP on murderer (always on). [R] Toggle aim camera lock. [F] Toggle rush (click to fling murderer). Auto walkspeed boosts + panic teleport.'} CMDs[#CMDs + 1] = {NAME = 'desync [speed] / undesync', DESC = 'Ghost desync! Purple ghost moves for you with WASD+Space. Real body stays frozen. Disable to teleport to ghost. Speed = optional walkspeed (default 16). Collisions work!'} CMDs[#CMDs + 1] = {NAME = 'magnet [speed] / unmagnet', DESC = 'ALL unanchored parts fly toward you like a vacuum! They pile up on you. Default speed 300'} CMDs[#CMDs + 1] = {NAME = 'tumble [speed] / untumble', DESC = 'CHAOS MODE - all parts spin and fling everywhere insanely. Zero friction, pure madness. Default speed 200'} CMDs[#CMDs + 1] = {NAME = 'helicopter [spin speed] / unhelicopter', DESC = 'All unanchored parts stay in place but spin on their axis like a blender!'} CMDs[#CMDs + 1] = {NAME = 'jumper / unjumper', DESC = 'Zombie parts! All unanchored parts walk at speed 18 and hop toward you from random directions'} CMDs[#CMDs + 1] = {NAME = 'claimall / unclaimall', DESC = 'Claim server ownership of all unanchored parts. Press P to teleport-claim!'} CMDs[#CMDs + 1] = {NAME = 'hoverboard', DESC = 'Find a flat unanchored part, ride it! WASD to move, idle = tilted + Aura Idle, moving = Floating anim'} CMDs[#CMDs + 1] = {NAME = 'unhoverboard / nohoverboard / hoverboardoff / togglehoverboard', DESC = 'Disable/toggle hoverboard'} CMDs[#CMDs + 1] = {NAME = 'lolanim / lol', DESC = 'Random different animation every time you walk, jump, or climb!'} CMDs[#CMDs + 1] = {NAME = 'floatpack / floatanim', DESC = 'Levitation Pack - float idle, float walk/run, swim in air'} CMDs[#CMDs + 1] = {NAME = 'godpack / godanim / god', DESC = 'God/Superhero Pack - arms out, powerful movement'} CMDs[#CMDs + 1] = {NAME = 'ninjapack / ninjaanim / ninja', DESC = 'Ninja Pack - stealth idle, ninja run/jump'} CMDs[#CMDs + 1] = {NAME = 'zombiepack / zombieanim / zombie', DESC = 'Zombie Pack - arms forward, stumbling walk'} CMDs[#CMDs + 1] = {NAME = 'stylishpack / stylishanim / stylish', DESC = 'Stylish Pack - swagger walk, cool movement'} CMDs[#CMDs + 1] = {NAME = 'robotpack / robotanim / robot', DESC = 'Robot Pack - mechanical, stiff movement'} CMDs[#CMDs + 1] = {NAME = 'magepack / mageanim / mage', DESC = 'Mage Pack - caster walk, mystical movement'} CMDs[#CMDs + 1] = {NAME = 'vampirepack / vampireanim / vampire', DESC = 'Vampire Pack - dark elegant movement'} CMDs[#CMDs + 1] = {NAME = 'werewolfpack / werewolfanim', DESC = 'Werewolf Pack - beast, animalistic movement'} CMDs[#CMDs + 1] = {NAME = 'piratepack / pirateanim / pirate', DESC = 'Pirate Pack - swashbuckler walk'} CMDs[#CMDs + 1] = {NAME = 'cartoonyanim / cartypack', DESC = 'Cartoony Pack - exaggerated bouncy movement'} CMDs[#CMDs + 1] = {NAME = 'bubblypack / bubblyanim / bubbly', DESC = 'Bubbly Pack - playful bouncy walk + swim'} CMDs[#CMDs + 1] = {NAME = 'cowboyppack / cowboyanim / cowboy', DESC = 'Cowboy Pack - western stroll, rugged run'} CMDs[#CMDs + 1] = {NAME = 'knightpack / knightanim / knight', DESC = 'Knight Pack - heavy armored movement'} CMDs[#CMDs + 1] = {NAME = 'princesspack / princessanim / princess', DESC = 'Princess Pack - graceful, elegant walk'} CMDs[#CMDs + 1] = {NAME = 'sneakypack / sneakyanim / sneaky', DESC = 'Sneaky Pack - tiptoe, stealth movement'} CMDs[#CMDs + 1] = {NAME = 'confidpack / confidanim / confident', DESC = 'Confident Pack - cool idle, swagger walk'} CMDs[#CMDs + 1] = {NAME = 'astronautpk / astronautanim', DESC = 'Astronaut Pack - space walk, skydive fall'} CMDs[#CMDs + 1] = {NAME = 'elderpack / elderanim / elder', DESC = 'Elder Pack - slow hunched walk'} CMDs[#CMDs + 1] = {NAME = 'popstarpack / popstaranim / popstar', DESC = 'Popstar Pack - idol walk, star movement'} CMDs[#CMDs + 1] = {NAME = 'toypack / toyanim / toy', DESC = 'Toy Pack - stiff playful movements'} CMDs[#CMDs + 1] = {NAME = 'unanim / noanim / stopanim / resetanim', DESC = 'Stop animation pack, restore originals'} CMDs[#CMDs + 1] = {NAME = 'flingua / fua [spinpower]', DESC = 'Takes ALL unanchored parts, assigns one per player, spins at max speed. Default 9999'} CMDs[#CMDs + 1] = {NAME = 'unflingua / toggleflingua', DESC = 'Disable/toggle fling UA'} CMDs[#CMDs + 1] = {NAME = 'funnyua', DESC = 'ALL unanchored parts orbit random players, jitter & spin MAD'} CMDs[#CMDs + 1] = {NAME = 'unfunnyua / togglefunnyua', DESC = 'Disable/toggle funny UA'} CMDs[#CMDs + 1] = {NAME = 'aura', DESC = 'Float + orbiting unanchored parts above your head'} CMDs[#CMDs + 1] = {NAME = 'unaura / noaura / toggleaura', DESC = 'Disable or toggle aura'} CMDs[#CMDs + 1] = {NAME = 'tuffanim / tuff', DESC = 'Tuff Anim Pack: Demonic Float idle + Lord Walk run'} CMDs[#CMDs + 1] = {NAME = 'untuffanim / toggletuffanim', DESC = 'Disable or toggle tuff anim pack'} CMDs[#CMDs + 1] = {NAME = 'lolspam', DESC = 'Random emote spam whenever you move or do anything'} CMDs[#CMDs + 1] = {NAME = 'tas', DESC = 'Tool-Assisted Speedrun recorder. F=forward, R=rewind, CapsLock=pause'} CMDs[#CMDs + 1] = {NAME = 'untas', DESC = 'Stop TAS recorder and clean up'} CMDs[#CMDs + 1] = {NAME = 'orbitallazer / orblazer', DESC = 'ALL unanchored parts follow your mouse, jitter & spin MAD'} CMDs[#CMDs + 1] = {NAME = 'unorbitallazer / toggleorbitallazer', DESC = 'Disable/toggle orbital lazer'} CMDs[#CMDs + 1] = {NAME = 'arrow [player]', DESC = 'ALL unanchored parts form a GIANT arrow above target player'} CMDs[#CMDs + 1] = {NAME = 'unarrow / togglearrow', DESC = 'Disable/toggle arrow'} CMDs[#CMDs + 1] = {NAME = 'antiua', DESC = 'ALL unanchored parts get anti-gravity, float upward and drift'} CMDs[#CMDs + 1] = {NAME = 'unantiua / toggleantiua', DESC = 'Disable/toggle anti-gravity UA'} CMDs[#CMDs + 1] = {NAME = '0gravityua / zerogua', DESC = 'ALL unanchored parts in zero gravity, float in space'} CMDs[#CMDs + 1] = {NAME = 'un0gravityua / toggle0gravityua', DESC = 'Disable/toggle zero gravity UA'} CMDs[#CMDs + 1] = {NAME = 'mouseua', DESC = 'ALL unanchored parts form a line from you to your mouse'} CMDs[#CMDs + 1] = {NAME = 'unsmartesp / nosmartesp / togglesmartesp', DESC = 'Disable/toggle smart ESP'} CMDs[#CMDs + 1] = {NAME = 'mm2', DESC = 'Load Bubbly MM2 script (needs Bubbly_MM2.lua in workspace)'} CMDs[#CMDs + 1] = {NAME = 'yunas', DESC = 'Load Yunas hub script'} CMDs[#CMDs + 1] = {NAME = 'dropkick', DESC = 'Load DropKick script'} CMDs[#CMDs + 1] = {NAME = 'lumber', DESC = 'Load Kron Hub (Lumber Tycoon)'} CMDs[#CMDs + 1] = {NAME = 'grabparts', DESC = 'Load Grab Parts script'} -- 50 CUSTOM COMMANDS CMDs[#CMDs + 1] = {NAME = 'hyperspeed [num]', DESC = 'Velocity-based speed that bypasses normal cap. Default 150'} CMDs[#CMDs + 1] = {NAME = 'superjump [num]', DESC = 'High impulse jump. Default power 150'} CMDs[#CMDs + 1] = {NAME = 'bhop', DESC = 'Auto bunny hop while moving'} CMDs[#CMDs + 1] = {NAME = 'infjump', DESC = 'Infinite jump (jump midair)'} -- float already defined above CMDs[#CMDs + 1] = {NAME = 'rocket', DESC = 'Launch yourself upward at 500 speed'} CMDs[#CMDs + 1] = {NAME = 'bouncy [num]', DESC = 'Bounce when touching ground. Default 120'} CMDs[#CMDs + 1] = {NAME = 'antigrav', DESC = 'Zero gravity on your character'} CMDs[#CMDs + 1] = {NAME = 'dash', DESC = 'Quick burst of speed in look direction'} CMDs[#CMDs + 1] = {NAME = 'spider', DESC = 'Walk on walls and ceilings'} CMDs[#CMDs + 1] = {NAME = 'itemesp', DESC = 'ESP for dropped items/tools on ground (yellow text)'} -- partesp already defined above CMDs[#CMDs + 1] = {NAME = 'vehicleesp', DESC = 'ESP for seats/vehicles. Red=occupied Green=empty'} CMDs[#CMDs + 1] = {NAME = 'mobesp', DESC = 'ESP for NPCs/monsters (orange text + HP)'} -- chams already defined above -- trail already defined above CMDs[#CMDs + 1] = {NAME = 'nightvision', DESC = 'Green night vision overlay + bright lighting'} -- wireframe already defined above CMDs[#CMDs + 1] = {NAME = 'toolgrabber', DESC = 'Auto-grab dropped tools within 100 studs'} -- reach already defined above CMDs[#CMDs + 1] = {NAME = 'autofarm', DESC = 'Auto-collect nearby items/tools (80 stud range)'} CMDs[#CMDs + 1] = {NAME = 'killaura [range]', DESC = 'Auto-damage nearby players. Default 25 stud range'} CMDs[#CMDs + 1] = {NAME = 'toolcopy [player]', DESC = 'Clone a players held/backpack tool'} CMDs[#CMDs + 1] = {NAME = 'heal', DESC = 'Heal yourself to full HP'} CMDs[#CMDs + 1] = {NAME = 'healall', DESC = 'Heal all players to full HP'} CMDs[#CMDs + 1] = {NAME = 'explode [player]', DESC = 'Create explosion on a player (blast radius 20)'} CMDs[#CMDs + 1] = {NAME = 'serverlock', DESC = 'Lock server (kick new joiners)'} CMDs[#CMDs + 1] = {NAME = 'loopkill [player]', DESC = 'Loop kill a player (kills on respawn)'} CMDs[#CMDs + 1] = {NAME = 'jail [player]', DESC = 'Put player in a blue forcefield cage'} CMDs[#CMDs + 1] = {NAME = 'blind [player]', DESC = 'Black screen on target player'} -- freeze already defined above CMDs[#CMDs + 1] = {NAME = 'punish [player]', DESC = 'Remove a players character'} -- trip already defined above CMDs[#CMDs + 1] = {NAME = 'stun [player]', DESC = 'Set player speed to 0 (cannot move)'} -- fling already defined above CMDs[#CMDs + 1] = {NAME = 'bringall / tpall', DESC = 'Teleport ALL players to your position'} CMDs[#CMDs + 1] = {NAME = 'crashplayer [player]', DESC = 'Lag/crash a player with 200 parts'} CMDs[#CMDs + 1] = {NAME = 'spin2', DESC = 'Spin your character (BodyAngularVelocity)'} CMDs[#CMDs + 1] = {NAME = 'seizure', DESC = 'Random camera offset + sit spam'} CMDs[#CMDs + 1] = {NAME = 'fire [hexcolor]', DESC = 'Fire effect on your character. Default orange'} CMDs[#CMDs + 1] = {NAME = 'sparkles [hexcolor]', DESC = 'Sparkle effect on your character. Default gold'} CMDs[#CMDs + 1] = {NAME = 'smoke [hexcolor]', DESC = 'Smoke effect on your character. Default gray'} CMDs[#CMDs + 1] = {NAME = 'tiny', DESC = 'Shrink to 10% size'} CMDs[#CMDs + 1] = {NAME = 'giant', DESC = 'Grow to 500% size'} CMDs[#CMDs + 1] = {NAME = 'npp', DESC = 'No Player Parts (invisible to others)'} -- fullbright already defined above -- removeterrain already defined above CMDs[#CMDs + 1] = {NAME = 'music [assetid]', DESC = 'Play music by Roblox asset ID'} CMDs[#CMDs + 1] = {NAME = 'stopmusic', DESC = 'Stop playing music'} -- gravity already defined above CMDs[#CMDs + 1] = {NAME = 'smartesp', DESC = 'SERVERSIDED MM2 ESP! Highlight + billboards ALL players see. Name/age/dist/role/tools/avatar/HP. Click to fling!'} CMDs[#CMDs + 1] = {NAME = 'scatter', DESC = 'Launch all unanchored parts away from you'} CMDs[#CMDs + 1] = {NAME = 'gather', DESC = 'Gather all unanchored parts to you'} CMDs[#CMDs + 1] = {NAME = 'deleteparts', DESC = 'Delete all unanchored non-player parts'} CMDs[#CMDs + 1] = {NAME = 'anchorparts', DESC = 'Anchor ALL unanchored parts'} CMDs[#CMDs + 1] = {NAME = 'unanchorparts', DESC = 'Unanchor all anchored parts (except terrain)'} CMDs[#CMDs + 1] = {NAME = 'orbitparts', DESC = 'Make parts orbit around you in a circle'} CMDs[#CMDs + 1] = {NAME = 'spiralparts', DESC = 'Make parts spiral upward around you'} CMDs[#CMDs + 1] = {NAME = 'partrain', DESC = 'Rain unanchored parts from above'} CMDs[#CMDs + 1] = {NAME = 'antikick', DESC = 'Hook Kick method to prevent being kicked (server-sided)'} -- antivoid already defined above CMDs[#CMDs + 1] = {NAME = 'namespoof [name]', DESC = 'Display a fake name above your head'} CMDs[#CMDs + 1] = {NAME = 'godmode', DESC = 'Infinite HP + speed 50 + jump 100'} -- noclip already defined above CMDs[#CMDs + 1] = {NAME = 'cloud', DESC = 'Load Cloud Hub script'} CMDs[#CMDs + 1] = {NAME = 'fluxus', DESC = 'Load Fluxus Hub script'} CMDs[#CMDs + 1] = {NAME = 'unnamed', DESC = 'Load Unnamed ESP Hub script'} CMDs[#CMDs + 1] = {NAME = 'janitor', DESC = 'Load Janitor cleanup hub script'} CMDs[#CMDs + 1] = {NAME = 'oxygen', DESC = 'Load Oxygen Hub script'} CMDs[#CMDs + 1] = {NAME = 'lynx', DESC = 'Load Lynx Hub script'} CMDs[#CMDs + 1] = {NAME = 'ctrlclicktp', DESC = 'Ctrl+Click to teleport anywhere'} CMDs[#CMDs + 1] = {NAME = 'toptool', DESC = 'Give yourself the best tool in workspace'} CMDs[#CMDs + 1] = {NAME = 'alltools', DESC = 'Give yourself EVERY tool in workspace'} CMDs[#CMDs + 1] = {NAME = 'stealfly [player]', DESC = 'Copy another players fly (BodyVelocity/Bav)'} CMDs[#CMDs + 1] = {NAME = 'raid [player]', DESC = 'Spam explosions on a player'} CMDs[#CMDs + 1] = {NAME = 'speedrun', DESC = 'Set speed 100 + jump 200'} CMDs[#CMDs + 1] = {NAME = 'slow', DESC = 'Set speed to 5'} CMDs[#CMDs + 1] = {NAME = 'clicktp', DESC = 'Right click to teleport anywhere'} CMDs[#CMDs + 1] = {NAME = 'say [msg]', DESC = 'Send a chat message'} -- spam entry already exists above (spam [text]) CMDs[#CMDs + 1] = {NAME = 'sspam [msg]', DESC = 'Serversided spam - spam chat with a message'} -- SERVERSIDED COMMANDS (create objects in Workspace that ALL players see) CMDs[#CMDs + 1] = {NAME = 'sshat [#hexcolor]', DESC = 'SERVERSIDED hat on your head (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsshat', DESC = 'Remove serversided hat'} CMDs[#CMDs + 1] = {NAME = 'sscape [#hexcolor]', DESC = 'SERVERSIDED cape on your back (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsscape', DESC = 'Remove serversided cape'} CMDs[#CMDs + 1] = {NAME = 'sswing [#hexcolor]', DESC = 'SERVERSIDED wings on your character (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsswing', DESC = 'Remove serversided wings'} CMDs[#CMDs + 1] = {NAME = 'ssring [#hexcolor]', DESC = 'SERVERSIDED neon ring on ground (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssring', DESC = 'Remove serversided ring'} CMDs[#CMDs + 1] = {NAME = 'sslight [#hexcolor]', DESC = 'SERVERSIDED point light on character (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsslight', DESC = 'Remove serversided light'} CMDs[#CMDs + 1] = {NAME = 'ssparticles [#hexcolor]', DESC = 'SERVERSIDED particle emitters on body (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssparticles', DESC = 'Remove serversided particles'} CMDs[#CMDs + 1] = {NAME = 'ssmusic [assetid]', DESC = 'SERVERSIDED music all players hear (default 6895079853)'} CMDs[#CMDs + 1] = {NAME = 'unssmusic', DESC = 'Stop serversided music'} CMDs[#CMDs + 1] = {NAME = 'ssmsg [text]', DESC = 'SERVERSIDED floating text in workspace (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssmsg', DESC = 'Remove serversided messages'} CMDs[#CMDs + 1] = {NAME = 'sscrosshair', DESC = 'SERVERSIDED crosshair on head (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsscrosshair', DESC = 'Remove serversided crosshair'} CMDs[#CMDs + 1] = {NAME = 'ssarrow', DESC = 'SERVERSIDED arrow pointing to nearest player (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssarrow', DESC = 'Remove serversided arrow'} CMDs[#CMDs + 1] = {NAME = 'ssorb [#hexcolor]', DESC = 'SERVERSIDED 6 orbiting balls with lights (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssorb', DESC = 'Remove serversided orbs'} CMDs[#CMDs + 1] = {NAME = 'ssfloating [text]', DESC = 'SERVERSIDED floating text above YOUR head (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssfloating', DESC = 'Remove serversided floating text'} CMDs[#CMDs + 1] = {NAME = 'ssaura [#hexcolor]', DESC = 'SERVERSIDED pulsing aura balls (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssaura', DESC = 'Remove serversided aura'} CMDs[#CMDs + 1] = {NAME = 'sscrown', DESC = 'SERVERSIDED golden crown on head (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsscrown', DESC = 'Remove serversided crown'} CMDs[#CMDs + 1] = {NAME = 'sstrail [#hexcolor]', DESC = 'SERVERSIDED trail of neon balls (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsstrail', DESC = 'Remove serversided trail'} CMDs[#CMDs + 1] = {NAME = 'ssexplode [player]', DESC = 'SERVERSIDED explosion on a player (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'ssblock [player]', DESC = 'SERVERSIDED forcefield cage around a player (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssblock', DESC = 'Remove serversided cage'} CMDs[#CMDs + 1] = {NAME = 'ssflag [#hexcolor]', DESC = 'SERVERSIDED flag on a pole above head (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unssflag', DESC = 'Remove serversided flag'} CMDs[#CMDs + 1] = {NAME = 'sshalo', DESC = 'SERVERSIDED golden halo above head (everyone sees)'} CMDs[#CMDs + 1] = {NAME = 'unsshalo', DESC = 'Remove serversided halo'} CMDs[#CMDs + 1] = {NAME = 'cleanupss / clearss', DESC = 'Remove ALL serversided Arc Yield objects from workspace'} -- ARC GUI PANEL COMMANDS (HD Admin-style menus) CMDs[#CMDs + 1] = {NAME = 'arcgui', DESC = 'Open Arc Yield GUI hub - browse all 50 GUI panels'} CMDs[#CMDs + 1] = {NAME = 'closearc / closeallarc', DESC = 'Close ALL open Arc GUI panels'} CMDs[#CMDs + 1] = {NAME = 'arcuseresp / detectusers', DESC = 'ESP showing other Infinite Yield / Arc Yield users'} CMDs[#CMDs + 1] = {NAME = 'arcfly / afly', DESC = 'Fly GUI panel - toggle, speed slider'} CMDs[#CMDs + 1] = {NAME = 'archyper / ahspeed', DESC = 'Hyperspeed GUI panel - toggle, speed slider'} CMDs[#CMDs + 1] = {NAME = 'arcsjump / asjump', DESC = 'Super Jump GUI panel - toggle, power slider'} CMDs[#CMDs + 1] = {NAME = 'arcbhop / abhop', DESC = 'Bunny Hop GUI panel - toggle, boost height slider'} CMDs[#CMDs + 1] = {NAME = 'arcinfjump / ainfjump', DESC = 'Infinite Jump GUI panel - toggle'} -- arcfloat / afloat entry already above (Visual Effects section) CMDs[#CMDs + 1] = {NAME = 'arcbouncy / abouncy', DESC = 'Bouncy GUI panel - toggle, bounce power slider'} CMDs[#CMDs + 1] = {NAME = 'arcantigrav / aantigrav', DESC = 'Anti-Gravity GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arcdash / adash', DESC = 'Dash GUI panel - power slider, dash button'} CMDs[#CMDs + 1] = {NAME = 'arcspider / aspider', DESC = 'Spider GUI panel - toggle, climb speed slider'} CMDs[#CMDs + 1] = {NAME = 'arcnoclip / anoclip', DESC = 'Noclip GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arcspeed / aspeed', DESC = 'WalkSpeed GUI panel - speed slider'} CMDs[#CMDs + 1] = {NAME = 'arcjp / ajumppower', DESC = 'JumpPower GUI panel - power slider'} CMDs[#CMDs + 1] = {NAME = 'arccfly / accfly', DESC = 'CFrame Fly GUI panel - toggle, speed slider'} CMDs[#CMDs + 1] = {NAME = 'arcvfly / avfly', DESC = 'Vehicle Fly GUI panel - toggle, speed slider'} CMDs[#CMDs + 1] = {NAME = 'arcesp / aesp', DESC = 'ESP GUI panel - toggle, transparency slider'} CMDs[#CMDs + 1] = {NAME = 'arcitemesp / aitemesp', DESC = 'Item ESP GUI panel - toggle, range slider'} CMDs[#CMDs + 1] = {NAME = 'arcpartesp / apartesp', DESC = 'Part ESP GUI panel - toggle, filter text'} CMDs[#CMDs + 1] = {NAME = 'arcvesp / avesp', DESC = 'Vehicle ESP GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arcmobesp / amobesp', DESC = 'Mob ESP GUI panel - toggle, range slider'} CMDs[#CMDs + 1] = {NAME = 'arcchams / achams', DESC = 'Chams GUI panel - toggle, transparency slider'} CMDs[#CMDs + 1] = {NAME = 'arctrail / atrail', DESC = 'Trail GUI panel - toggle, color, lifetime slider'} CMDs[#CMDs + 1] = {NAME = 'arcnv / anv', DESC = 'Night Vision GUI panel - toggle, brightness slider'} CMDs[#CMDs + 1] = {NAME = 'arcwireframe / awireframe', DESC = 'Wireframe GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arcfb / afb', DESC = 'Fullbright GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arckaura / akaura', DESC = 'Kill Aura GUI panel - toggle, range & damage sliders'} CMDs[#CMDs + 1] = {NAME = 'arcreach / areach', DESC = 'Reach GUI panel - toggle, distance slider'} CMDs[#CMDs + 1] = {NAME = 'arctoolgrab / atoolgrab', DESC = 'Tool Grabber GUI panel - toggle, range slider'} CMDs[#CMDs + 1] = {NAME = 'arcautofarm / aautofarm', DESC = 'Auto Farm GUI panel - toggle, range slider'} CMDs[#CMDs + 1] = {NAME = 'arctoolcopy / atoolcopy', DESC = 'Tool Copy GUI panel - player name, copy button'} CMDs[#CMDs + 1] = {NAME = 'arcexplode / aexplode', DESC = 'Explode GUI panel - player name, blast radius, explode btn'} CMDs[#CMDs + 1] = {NAME = 'arcslock / aslock', DESC = 'Server Lock GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arcloopkill / aloopkill', DESC = 'Loop Kill GUI panel - player name, start/stop'} CMDs[#CMDs + 1] = {NAME = 'arcjail / ajail', DESC = 'Jail GUI panel - player name, jail/unjail'} CMDs[#CMDs + 1] = {NAME = 'arcfreeze / afreeze', DESC = 'Freeze GUI panel - player name, freeze/unfreeze'} CMDs[#CMDs + 1] = {NAME = 'arcblind / ablind', DESC = 'Blind GUI panel - player name, blind/unblind'} CMDs[#CMDs + 1] = {NAME = 'arcfling / afling', DESC = 'Fling GUI panel - player name, power slider, fling btn'} CMDs[#CMDs + 1] = {NAME = 'arcbringall / abringall', DESC = 'Bring All GUI panel - offset range, bring button'} CMDs[#CMDs + 1] = {NAME = 'arctpall / atpall', DESC = 'TP All GUI panel - offset range, tp button'} CMDs[#CMDs + 1] = {NAME = 'arccrash / acrash', DESC = 'Crash Player GUI panel - player name, crash button'} CMDs[#CMDs + 1] = {NAME = 'arcspin2 / aspin2', DESC = 'Spin GUI panel - toggle, speed slider'} CMDs[#CMDs + 1] = {NAME = 'arcseizure / aseizure', DESC = 'Seizure GUI panel - toggle, intensity slider'} CMDs[#CMDs + 1] = {NAME = 'arcfire / afire', DESC = 'Fire GUI panel - toggle, color, size slider'} CMDs[#CMDs + 1] = {NAME = 'arcsparkles / asparkles', DESC = 'Sparkles GUI panel - toggle, color'} CMDs[#CMDs + 1] = {NAME = 'arcsmoke / asmoke', DESC = 'Smoke GUI panel - toggle, color, opacity slider'} CMDs[#CMDs + 1] = {NAME = 'arctiny / atinyscale', DESC = 'Tiny GUI panel - toggle, scale slider'} CMDs[#CMDs + 1] = {NAME = 'arcgravity / agravity', DESC = 'Gravity GUI panel - slider, set/reset buttons'} CMDs[#CMDs + 1] = {NAME = 'arcmusic / amusic', DESC = 'Music GUI panel - asset ID, volume, play/stop'} CMDs[#CMDs + 1] = {NAME = 'arcnpp / anpp', DESC = 'NPP GUI panel - toggle'} CMDs[#CMDs + 1] = {NAME = 'arcgiant / agiant', DESC = 'Giant GUI panel - toggle, scale slider'} for i = 1, #CMDs do local newcmd = Example:Clone() newcmd.Parent = CMDsF newcmd.Visible = false newcmd.Text = CMDs[i].NAME newcmd.Name = "CMD" table.insert(text1, newcmd) if CMDs[i].DESC ~= "" then newcmd:SetAttribute("Title", CMDs[i].NAME) newcmd:SetAttribute("Desc", CMDs[i].DESC) newcmd.MouseButton1Down:Connect(function() if not IsOnMobile and newcmd.Visible and newcmd.TextTransparency == 0 then local currentText = Cmdbar.Text Cmdbar:CaptureFocus() autoComplete(newcmd.Text, currentText) maximizeHolder() end end) end end IndexContents("", true) function checkTT() local t local guisAtPosition = COREGUI:GetGuiObjectsAtPosition(IYMouse.X, IYMouse.Y) for _, gui in pairs(guisAtPosition) do if gui.Parent == CMDsF then t = gui end end if t ~= nil and t:GetAttribute("Title") ~= nil then local x = IYMouse.X local y = IYMouse.Y local xP local yP if IYMouse.X > 200 then xP = x - 201 else xP = x + 21 end if IYMouse.Y > (IYMouse.ViewSizeY-96) then yP = y - 97 else yP = y end Tooltip.Position = UDim2.new(0, xP, 0, yP) Description.Text = t:GetAttribute("Desc") if t:GetAttribute("Title") ~= nil then Title_3.Text = t:GetAttribute("Title") else Title_3.Text = '' end Tooltip.Visible = true else Tooltip.Visible = false end end function FindInTable(tbl,val) if tbl == nil then return false end for _,v in pairs(tbl) do if v == val then return true end end return false end function GetInTable(Table, Name) for i = 1, #Table do if Table[i] == Name then return i end end return false end function respawn(plr) if invisRunning then TurnVisible() end local char = plr.Character local hum = char:FindFirstChildWhichIsA("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Dead) end char:ClearAllChildren() local newChar = Instance.new("Model") newChar.Parent = workspace plr.Character = newChar task.wait() plr.Character = char newChar:Destroy() end local refreshCmd = false function refresh(plr) refreshCmd = true local root = getRoot(plr.Character) local pos = root.CFrame local pos1 = workspace.CurrentCamera.CFrame respawn(plr) task.spawn(function() local char = plr.CharacterAdded:Wait() local humanoid = char:FindFirstChildOfClass("Humanoid") while not humanoid do wait() humanoid = char:FindFirstChildOfClass("Humanoid") end humanoid.RootPart.CFrame, workspace.CurrentCamera.CFrame = pos, task.wait() and pos1 refreshCmd = false end) end local lastDeath function onDied() task.spawn(function() if pcall(function() Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') end) and Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') then Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid').Died:Connect(function() if getRoot(Players.LocalPlayer.Character) then lastDeath = getRoot(Players.LocalPlayer.Character).CFrame end end) else wait(2) onDied() end end) end Clip = true spDelay = 0.1 Players.LocalPlayer.CharacterAdded:Connect(function() NOFLY() Floating = false if not Clip then execCmd('clip') end repeat wait() until getRoot(Players.LocalPlayer.Character) pcall(function() if spawnpoint and not refreshCmd and spawnpos ~= nil then wait(spDelay) getRoot(Players.LocalPlayer.Character).CFrame = spawnpos end end) onDied() end) onDied() local booly = { truthy = { ["true"] = true, ["t"] = true, ["1"] = true, yes = true, y = true, on = true, enable = true, enabled = true }, falsy = { ["false"] = true, ["f"] = true, ["0"] = true, no = true, n = true, off = true, disable = true, disabled = true } } function parseBoolean(raw, default) raw = tostring(raw) if booly.truthy[raw] then return true end if booly.falsy[raw] then return false end return default or false end function getstring(begin, args) return table.concat(args or cargs, " ", begin) end findCmd=function(cmd_name) for i,v in pairs(cmds)do if v.NAME:lower()==cmd_name:lower() or FindInTable(v.ALIAS,cmd_name:lower()) then return v end end return customAlias[cmd_name:lower()] end function splitString(str,delim) local broken = {} if delim == nil then delim = "," end for w in string.gmatch(str,"[^"..delim.."]+") do table.insert(broken,w) end return broken end cmdHistory = {} local lastCmds = {} local historyCount = 0 local split=" " local lastBreakTime = 0 function execCmd(cmdStr,speaker,store) cmdStr = cmdStr:gsub("%s+$","") task.spawn(function() local rawCmdStr = cmdStr cmdStr = string.gsub(cmdStr,"\\\\","%%BackSlash%%") local commandsToRun = splitString(cmdStr,"\\") for i,v in pairs(commandsToRun) do v = string.gsub(v,"%%BackSlash%%","\\") local x,y,num = v:find("^(%d+)%^") local cmdDelay = 0 local infTimes = false if num then v = v:sub(y+1) local x,y,del = v:find("^([%d%.]+)%^") if del then v = v:sub(y+1) cmdDelay = tonumber(del) or 0 end else local x,y = v:find("^inf%^") if x then infTimes = true v = v:sub(y+1) local x,y,del = v:find("^([%d%.]+)%^") if del then v = v:sub(y+1) del = tonumber(del) or 1 cmdDelay = (del > 0 and del or 1) else cmdDelay = 1 end end end num = tonumber(num or 1) if v:sub(1,1) == "!" then local chunks = splitString(v:sub(2),split) if chunks[1] and lastCmds[chunks[1]] then v = lastCmds[chunks[1]] end end local args = splitString(v,split) local cmdName = args[1] local cmd = findCmd(cmdName) if cmd then table.remove(args,1) cargs = args if not speaker then speaker = Players.LocalPlayer end if store then if speaker == Players.LocalPlayer then if cmdHistory[1] ~= rawCmdStr and rawCmdStr:sub(1,11) ~= 'lastcommand' and rawCmdStr:sub(1,7) ~= 'lastcmd' then table.insert(cmdHistory,1,rawCmdStr) end end if #cmdHistory > 30 then table.remove(cmdHistory) end lastCmds[cmdName] = v end local cmdStartTime = tick() if infTimes then while lastBreakTime < cmdStartTime do local success,err = pcall(cmd.FUNC,args, speaker) if not success and _G.IY_DEBUG then warn("Command Error:", cmdName, err) end wait(cmdDelay) end else for rep = 1,num do if lastBreakTime > cmdStartTime then break end local success,err = pcall(function() cmd.FUNC(args, speaker) end) if not success and _G.IY_DEBUG then warn("Command Error:", cmdName, err) end if cmdDelay ~= 0 then wait(cmdDelay) end end end end end end) end function addcmd(name,alias,func,plgn) cmds[#cmds+1]= { NAME=name; ALIAS=alias or {}; FUNC=func; PLUGIN=plgn; } -- UI buttons are already created by the CMDs list loop below, -- so we skip creating duplicates here end function removecmd(cmd) if cmd ~= " " then for i = #cmds,1,-1 do if cmds[i].NAME == cmd or FindInTable(cmds[i].ALIAS,cmd) then table.remove(cmds, i) for a,c in pairs(CMDsF:GetChildren()) do if string.find(c.Text, "^"..cmd.."$") or string.find(c.Text, "^"..cmd.." ") or string.find(c.Text, " "..cmd.."$") or string.find(c.Text, " "..cmd.." ") then c.TextTransparency = 0.7 c.MouseButton1Click:Connect(function() notify(c.Text, "Command has been disabled by you or a plugin") end) end end end end end end function overridecmd(name, func) local cmd = findCmd(name) if cmd and cmd.FUNC then cmd.FUNC = func end end function addbind(cmd,key,iskeyup,toggle) if toggle then binds[#binds+1]= { COMMAND=cmd; KEY=key; ISKEYUP=iskeyup; TOGGLE = toggle; } else binds[#binds+1]= { COMMAND=cmd; KEY=key; ISKEYUP=iskeyup; } end end function addcmdtext(text,name,desc) local newcmd = Example:Clone() local tooltipText = tostring(text) local tooltipDesc = tostring(desc) newcmd.Parent = CMDsF newcmd.Visible = false newcmd.Text = text newcmd.Name = 'PLUGIN_'..name table.insert(text1,newcmd) if desc and desc ~= '' then newcmd:SetAttribute("Title", tooltipText) newcmd:SetAttribute("Desc", tooltipDesc) newcmd.MouseButton1Down:Connect(function() if newcmd.Visible and newcmd.TextTransparency == 0 then Cmdbar:CaptureFocus() autoComplete(newcmd.Text) maximizeHolder() end end) end end local WorldToScreen = function(Object) local ObjectVector = workspace.CurrentCamera:WorldToScreenPoint(Object.Position) return Vector2.new(ObjectVector.X, ObjectVector.Y) end local MousePositionToVector2 = function() return Vector2.new(IYMouse.X, IYMouse.Y) end local GetClosestPlayerFromCursor = function() local found = nil local ClosestDistance = math.huge for i, v in pairs(Players:GetPlayers()) do if v ~= Players.LocalPlayer and v.Character and v.Character:FindFirstChildOfClass("Humanoid") then for k, x in pairs(v.Character:GetChildren()) do if string.find(x.Name, "Torso") then local Distance = (WorldToScreen(x) - MousePositionToVector2()).Magnitude if Distance < ClosestDistance then ClosestDistance = Distance found = v end end end end end return found end SpecialPlayerCases = { ["all"] = function(speaker) return Players:GetPlayers() end, ["others"] = function(speaker) local plrs = {} for i,v in pairs(Players:GetPlayers()) do if v ~= speaker then table.insert(plrs,v) end end return plrs end, ["me"] = function(speaker)return {speaker} end, ["#(%d+)"] = function(speaker,args,currentList) local returns = {} local randAmount = tonumber(args[1]) local players = {unpack(currentList)} for i = 1,randAmount do if #players == 0 then break end local randIndex = math.random(1,#players) table.insert(returns,players[randIndex]) table.remove(players,randIndex) end return returns end, ["random"] = function(speaker,args,currentList) local players = Players:GetPlayers() local localplayer = Players.LocalPlayer table.remove(players, table.find(players, localplayer)) return {players[math.random(1,#players)]} end, ["%%(.+)"] = function(speaker,args) local returns = {} local team = args[1] for _,plr in pairs(Players:GetPlayers()) do if plr.Team and string.sub(string.lower(plr.Team.Name),1,#team) == string.lower(team) then table.insert(returns,plr) end end return returns end, ["allies"] = function(speaker) local returns = {} local team = speaker.Team for _,plr in pairs(Players:GetPlayers()) do if plr.Team == team then table.insert(returns,plr) end end return returns end, ["enemies"] = function(speaker) local returns = {} local team = speaker.Team for _,plr in pairs(Players:GetPlayers()) do if plr.Team ~= team then table.insert(returns,plr) end end return returns end, ["team"] = function(speaker) local returns = {} local team = speaker.Team for _,plr in pairs(Players:GetPlayers()) do if plr.Team == team then table.insert(returns,plr) end end return returns end, ["nonteam"] = function(speaker) local returns = {} local team = speaker.Team for _,plr in pairs(Players:GetPlayers()) do if plr.Team ~= team then table.insert(returns,plr) end end return returns end, ["friends"] = function(speaker,args) local returns = {} for _,plr in pairs(Players:GetPlayers()) do if plr:IsFriendsWith(speaker.UserId) and plr ~= speaker then table.insert(returns,plr) end end return returns end, ["nonfriends"] = function(speaker,args) local returns = {} for _,plr in pairs(Players:GetPlayers()) do if not plr:IsFriendsWith(speaker.UserId) and plr ~= speaker then table.insert(returns,plr) end end return returns end, ["guests"] = function(speaker,args) local returns = {} for _,plr in pairs(Players:GetPlayers()) do if plr.Guest then table.insert(returns,plr) end end return returns end, ["bacons"] = function(speaker,args) local returns = {} for _,plr in pairs(Players:GetPlayers()) do if plr.Character:FindFirstChild('Pal Hair') or plr.Character:FindFirstChild('Kate Hair') then table.insert(returns,plr) end end return returns end, ["age(%d+)"] = function(speaker,args) local returns = {} local age = tonumber(args[1]) if not age == nil then return end for _,plr in pairs(Players:GetPlayers()) do if plr.AccountAge <= age then table.insert(returns,plr) end end return returns end, ["nearest"] = function(speaker,args,currentList) local speakerChar = speaker.Character if not speakerChar or not getRoot(speakerChar) then return end local lowest = math.huge local NearestPlayer = nil for _,plr in pairs(currentList) do if plr ~= speaker and plr.Character then local distance = plr:DistanceFromCharacter(getRoot(speakerChar).Position) if distance < lowest then lowest = distance NearestPlayer = {plr} end end end return NearestPlayer end, ["farthest"] = function(speaker,args,currentList) local speakerChar = speaker.Character if not speakerChar or not getRoot(speakerChar) then return end local highest = 0 local Farthest = nil for _,plr in pairs(currentList) do if plr ~= speaker and plr.Character then local distance = plr:DistanceFromCharacter(getRoot(speakerChar).Position) if distance > highest then highest = distance Farthest = {plr} end end end return Farthest end, ["group(%d+)"] = function(speaker,args) local returns = {} local groupID = tonumber(args[1]) for _,plr in pairs(Players:GetPlayers()) do if plr:IsInGroup(groupID) then table.insert(returns,plr) end end return returns end, ["alive"] = function(speaker,args) local returns = {} for _,plr in pairs(Players:GetPlayers()) do if plr.Character and plr.Character:FindFirstChildOfClass("Humanoid") and plr.Character:FindFirstChildOfClass("Humanoid").Health > 0 then table.insert(returns,plr) end end return returns end, ["dead"] = function(speaker,args) local returns = {} for _,plr in pairs(Players:GetPlayers()) do if (not plr.Character or not plr.Character:FindFirstChildOfClass("Humanoid")) or plr.Character:FindFirstChildOfClass("Humanoid").Health <= 0 then table.insert(returns,plr) end end return returns end, ["rad(%d+)"] = function(speaker,args) local returns = {} local radius = tonumber(args[1]) local speakerChar = speaker.Character if not speakerChar or not getRoot(speakerChar) then return end for _,plr in pairs(Players:GetPlayers()) do if plr.Character and getRoot(plr.Character) then local magnitude = (getRoot(plr.Character).Position-getRoot(speakerChar).Position).magnitude if magnitude <= radius then table.insert(returns,plr) end end end return returns end, ["cursor"] = function(speaker) local plrs = {} local v = GetClosestPlayerFromCursor() if v ~= nil then table.insert(plrs, v) end return plrs end, ["npcs"] = function(speaker,args) local returns = {} for _, v in pairs(workspace:GetDescendants()) do if v:IsA("Model") and getRoot(v) and v:FindFirstChildWhichIsA("Humanoid") and Players:GetPlayerFromCharacter(v) == nil then local clone = Instance.new("Player") clone.Name = v.Name .. " - " .. v:FindFirstChildWhichIsA("Humanoid").DisplayName clone.Character = v table.insert(returns, clone) end end return returns end, } function toTokens(str) local tokens = {} for op,name in string.gmatch(str,"([+-])([^+-]+)") do table.insert(tokens,{Operator = op,Name = name}) end return tokens end function onlyIncludeInTable(tab,matches) local matchTable = {} local resultTable = {} for i,v in pairs(matches) do matchTable[v.Name] = true end for i,v in pairs(tab) do if matchTable[v.Name] then table.insert(resultTable,v) end end return resultTable end function removeTableMatches(tab,matches) local matchTable = {} local resultTable = {} for i,v in pairs(matches) do matchTable[v.Name] = true end for i,v in pairs(tab) do if not matchTable[v.Name] then table.insert(resultTable,v) end end return resultTable end function getPlayersByName(Name) local Name,Len,Found = string.lower(Name),#Name,{} for _,v in pairs(Players:GetPlayers()) do if Name:sub(0,1) == '@' then if string.sub(string.lower(v.Name),1,Len-1) == Name:sub(2) then table.insert(Found,v) end else if string.sub(string.lower(v.Name),1,Len) == Name or string.sub(string.lower(v.DisplayName),1,Len) == Name then table.insert(Found,v) end end end return Found end function getPlayer(list,speaker) if list == nil then return {speaker.Name} end local nameList = splitString(list,",") local foundList = {} for _,name in pairs(nameList) do if string.sub(name,1,1) ~= "+" and string.sub(name,1,1) ~= "-" then name = "+"..name end local tokens = toTokens(name) local initialPlayers = Players:GetPlayers() for i,v in pairs(tokens) do if v.Operator == "+" then local tokenContent = v.Name local foundCase = false for regex,case in pairs(SpecialPlayerCases) do local matches = {string.match(tokenContent,"^"..regex.."$")} if #matches > 0 then foundCase = true initialPlayers = onlyIncludeInTable(initialPlayers,case(speaker,matches,initialPlayers)) end end if not foundCase then initialPlayers = onlyIncludeInTable(initialPlayers,getPlayersByName(tokenContent)) end else local tokenContent = v.Name local foundCase = false for regex,case in pairs(SpecialPlayerCases) do local matches = {string.match(tokenContent,"^"..regex.."$")} if #matches > 0 then foundCase = true initialPlayers = removeTableMatches(initialPlayers,case(speaker,matches,initialPlayers)) end end if not foundCase then initialPlayers = removeTableMatches(initialPlayers,getPlayersByName(tokenContent)) end end end for i,v in pairs(initialPlayers) do table.insert(foundList,v) end end local foundNames = {} for i,v in pairs(foundList) do table.insert(foundNames,v.Name) end return foundNames end function formatUsername(player) if player.DisplayName ~= player.Name then return string.format("%s (%s)", player.Name, player.DisplayName) end return player.Name end getprfx=function(strn) if strn:sub(1,string.len(prefix))==prefix then return{'cmd',string.len(prefix)+1} end return end function do_exec(str, plr) str = str:gsub('/e ', '') local t = getprfx(str) if not t then return end str = str:sub(t[2]) if t[1]=='cmd' then execCmd(str, plr, true) IndexContents('',true,false,true) CMDsF.CanvasPosition = canvasPos end end lastTextBoxString,lastTextBoxCon,lastEnteredString = nil,nil,nil UserInputService.TextBoxFocused:Connect(function(obj) if lastTextBoxCon then lastTextBoxCon:Disconnect() end if obj == Cmdbar then lastTextBoxString = nil return end lastTextBoxString = obj.Text lastTextBoxCon = obj:GetPropertyChangedSignal("Text"):Connect(function() if not (UserInputService:IsKeyDown(Enum.KeyCode.Return) or UserInputService:IsKeyDown(Enum.KeyCode.KeypadEnter)) then lastTextBoxString = obj.Text end end) end) UserInputService.InputBegan:Connect(function(input,gameProcessed) if gameProcessed then if Cmdbar and Cmdbar:IsFocused() then if input.KeyCode == Enum.KeyCode.Up then historyCount = historyCount + 1 if historyCount > #cmdHistory then historyCount = #cmdHistory end Cmdbar.Text = cmdHistory[historyCount] or "" Cmdbar.CursorPosition = 1020 elseif input.KeyCode == Enum.KeyCode.Down then historyCount = historyCount - 1 if historyCount < 0 then historyCount = 0 end Cmdbar.Text = cmdHistory[historyCount] or "" Cmdbar.CursorPosition = 1020 end elseif input.KeyCode == Enum.KeyCode.Return or input.KeyCode == Enum.KeyCode.KeypadEnter then lastEnteredString = lastTextBoxString end end end) Players.LocalPlayer.Chatted:Connect(function() wait() if lastEnteredString then local message = lastEnteredString lastEnteredString = nil do_exec(message, Players.LocalPlayer) end end) Cmdbar.PlaceholderText = "Command Bar ("..prefix..")" Cmdbar:GetPropertyChangedSignal("Text"):Connect(function() if Cmdbar:IsFocused() then IndexContents(Cmdbar.Text,true,true) end end) local tabComplete = nil tabAllowed = true Cmdbar.FocusLost:Connect(function(enterpressed) if enterpressed then local cmdbarText = Cmdbar.Text:gsub("^"..prefix,"") execCmd(cmdbarText,Players.LocalPlayer,true) end if tabComplete then tabComplete:Disconnect() end wait() if not Cmdbar:IsFocused() then Cmdbar.Text = "" IndexContents('',true,false,true) if SettingsOpen == true then wait(0.2) Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.2, true, nil) CMDsF.Visible = false end end CMDsF.CanvasPosition = canvasPos end) Cmdbar.Focused:Connect(function() historyCount = 0 canvasPos = CMDsF.CanvasPosition if SettingsOpen == true then wait(0.2) CMDsF.Visible = true Settings:TweenPosition(UDim2.new(0, 0, 0, 220), "InOut", "Quart", 0.2, true, nil) end tabComplete = UserInputService.InputBegan:Connect(function(input,gameProcessed) if Cmdbar:IsFocused() then if tabAllowed == true and input.KeyCode == Enum.KeyCode.Tab and topCommand ~= nil then autoComplete(topCommand) end else tabComplete:Disconnect() end end) end) ESPenabled = false CHMSenabled = false function round(num, numDecimalPlaces) local mult = 10^(numDecimalPlaces or 0) return math.floor(num * mult + 0.5) / mult end function ESP(plr, logic) task.spawn(function() for i,v in pairs(COREGUI:GetChildren()) do if v.Name == plr.Name..'_ESP' then v:Destroy() end end wait() if plr.Character and plr.Name ~= Players.LocalPlayer.Name and not COREGUI:FindFirstChild(plr.Name..'_ESP') then local ESPholder = Instance.new("Folder") ESPholder.Name = plr.Name..'_ESP' ESPholder.Parent = COREGUI repeat wait(1) until plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") for b,n in pairs (plr.Character:GetChildren()) do if (n:IsA("BasePart")) then local a = Instance.new("BoxHandleAdornment") a.Name = plr.Name a.Parent = ESPholder a.Adornee = n a.AlwaysOnTop = true a.ZIndex = 10 a.Size = n.Size a.Transparency = espTransparency if logic == true then a.Color = BrickColor.new(plr.TeamColor == Players.LocalPlayer.TeamColor and "Bright green" or "Bright red") else a.Color = plr.TeamColor end end end if plr.Character and plr.Character:FindFirstChild('Head') then local BillboardGui = Instance.new("BillboardGui") local TextLabel = Instance.new("TextLabel") BillboardGui.Adornee = plr.Character.Head BillboardGui.Name = plr.Name BillboardGui.Parent = ESPholder BillboardGui.Size = UDim2.new(0, 100, 0, 150) BillboardGui.StudsOffset = Vector3.new(0, 1, 0) BillboardGui.AlwaysOnTop = true TextLabel.Parent = BillboardGui TextLabel.BackgroundTransparency = 1 TextLabel.Position = UDim2.new(0, 0, 0, -50) TextLabel.Size = UDim2.new(0, 100, 0, 100) TextLabel.Font = Enum.Font.SourceSansSemibold TextLabel.TextSize = 20 TextLabel.TextColor3 = Color3.new(1, 1, 1) TextLabel.TextStrokeTransparency = 0 TextLabel.TextYAlignment = Enum.TextYAlignment.Bottom TextLabel.Text = 'Name: '..plr.Name TextLabel.ZIndex = 10 local espLoopFunc local teamChange local addedFunc addedFunc = plr.CharacterAdded:Connect(function() if ESPenabled then espLoopFunc:Disconnect() teamChange:Disconnect() ESPholder:Destroy() repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") ESP(plr, logic) addedFunc:Disconnect() else teamChange:Disconnect() addedFunc:Disconnect() end end) teamChange = plr:GetPropertyChangedSignal("TeamColor"):Connect(function() if ESPenabled then espLoopFunc:Disconnect() addedFunc:Disconnect() ESPholder:Destroy() repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") ESP(plr, logic) teamChange:Disconnect() else teamChange:Disconnect() end end) local function espLoop() if COREGUI:FindFirstChild(plr.Name..'_ESP') then if plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") and Players.LocalPlayer.Character and getRoot(Players.LocalPlayer.Character) and Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local pos = math.floor((getRoot(Players.LocalPlayer.Character).Position - getRoot(plr.Character).Position).magnitude) TextLabel.Text = 'Name: '..plr.Name..' | Health: '..round(plr.Character:FindFirstChildOfClass('Humanoid').Health, 1)..' | Studs: '..pos end else teamChange:Disconnect() addedFunc:Disconnect() espLoopFunc:Disconnect() end end espLoopFunc = RunService.RenderStepped:Connect(espLoop) end end end) end function CHMS(plr) task.spawn(function() for i,v in pairs(COREGUI:GetChildren()) do if v.Name == plr.Name..'_CHMS' then v:Destroy() end end wait() if plr.Character and plr.Name ~= Players.LocalPlayer.Name and not COREGUI:FindFirstChild(plr.Name..'_CHMS') then local ESPholder = Instance.new("Folder") ESPholder.Name = plr.Name..'_CHMS' ESPholder.Parent = COREGUI repeat wait(1) until plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") for b,n in pairs (plr.Character:GetChildren()) do if (n:IsA("BasePart")) then local a = Instance.new("BoxHandleAdornment") a.Name = plr.Name a.Parent = ESPholder a.Adornee = n a.AlwaysOnTop = true a.ZIndex = 10 a.Size = n.Size a.Transparency = espTransparency a.Color = plr.TeamColor end end local addedFunc local teamChange local CHMSremoved addedFunc = plr.CharacterAdded:Connect(function() if CHMSenabled then ESPholder:Destroy() teamChange:Disconnect() repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") CHMS(plr) addedFunc:Disconnect() else teamChange:Disconnect() addedFunc:Disconnect() end end) teamChange = plr:GetPropertyChangedSignal("TeamColor"):Connect(function() if CHMSenabled then ESPholder:Destroy() addedFunc:Disconnect() repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") CHMS(plr) teamChange:Disconnect() else teamChange:Disconnect() end end) CHMSremoved = ESPholder.AncestryChanged:Connect(function() teamChange:Disconnect() addedFunc:Disconnect() CHMSremoved:Disconnect() end) end end) end function Locate(plr) task.spawn(function() for i,v in pairs(COREGUI:GetChildren()) do if v.Name == plr.Name..'_LC' then v:Destroy() end end wait() if plr.Character and plr.Name ~= Players.LocalPlayer.Name and not COREGUI:FindFirstChild(plr.Name..'_LC') then local ESPholder = Instance.new("Folder") ESPholder.Name = plr.Name..'_LC' ESPholder.Parent = COREGUI repeat wait(1) until plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") for b,n in pairs (plr.Character:GetChildren()) do if (n:IsA("BasePart")) then local a = Instance.new("BoxHandleAdornment") a.Name = plr.Name a.Parent = ESPholder a.Adornee = n a.AlwaysOnTop = true a.ZIndex = 10 a.Size = n.Size a.Transparency = espTransparency a.Color = plr.TeamColor end end if plr.Character and plr.Character:FindFirstChild('Head') then local BillboardGui = Instance.new("BillboardGui") local TextLabel = Instance.new("TextLabel") BillboardGui.Adornee = plr.Character.Head BillboardGui.Name = plr.Name BillboardGui.Parent = ESPholder BillboardGui.Size = UDim2.new(0, 100, 0, 150) BillboardGui.StudsOffset = Vector3.new(0, 1, 0) BillboardGui.AlwaysOnTop = true TextLabel.Parent = BillboardGui TextLabel.BackgroundTransparency = 1 TextLabel.Position = UDim2.new(0, 0, 0, -50) TextLabel.Size = UDim2.new(0, 100, 0, 100) TextLabel.Font = Enum.Font.SourceSansSemibold TextLabel.TextSize = 20 TextLabel.TextColor3 = Color3.new(1, 1, 1) TextLabel.TextStrokeTransparency = 0 TextLabel.TextYAlignment = Enum.TextYAlignment.Bottom TextLabel.Text = 'Name: '..plr.Name TextLabel.ZIndex = 10 local lcLoopFunc local addedFunc local teamChange addedFunc = plr.CharacterAdded:Connect(function() if ESPholder ~= nil and ESPholder.Parent ~= nil then lcLoopFunc:Disconnect() teamChange:Disconnect() ESPholder:Destroy() repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") Locate(plr) addedFunc:Disconnect() else teamChange:Disconnect() addedFunc:Disconnect() end end) teamChange = plr:GetPropertyChangedSignal("TeamColor"):Connect(function() if ESPholder ~= nil and ESPholder.Parent ~= nil then lcLoopFunc:Disconnect() addedFunc:Disconnect() ESPholder:Destroy() repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") Locate(plr) teamChange:Disconnect() else teamChange:Disconnect() end end) local function lcLoop() if COREGUI:FindFirstChild(plr.Name..'_LC') then if plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") and Players.LocalPlayer.Character and getRoot(Players.LocalPlayer.Character) and Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local pos = math.floor((getRoot(Players.LocalPlayer.Character).Position - getRoot(plr.Character).Position).magnitude) TextLabel.Text = 'Name: '..plr.Name..' | Health: '..round(plr.Character:FindFirstChildOfClass('Humanoid').Health, 1)..' | Studs: '..pos end else teamChange:Disconnect() addedFunc:Disconnect() lcLoopFunc:Disconnect() end end lcLoopFunc = RunService.RenderStepped:Connect(lcLoop) end end end) end local bindsGUI = KeybindEditor local awaitingInput = false local keySelected = false function refreshbinds() if Holder_2 then Holder_2:ClearAllChildren() Holder_2.CanvasSize = UDim2.new(0, 0, 0, 10) for i = 1, #binds do local YSize = 25 local Position = ((i * YSize) - YSize) local newbind = Example_2:Clone() newbind.Parent = Holder_2 newbind.Visible = true newbind.Position = UDim2.new(0,0,0, Position + 5) table.insert(shade2,newbind) table.insert(shade2,newbind.Text) table.insert(text1,newbind.Text) table.insert(shade3,newbind.Text.Delete) table.insert(text2,newbind.Text.Delete) local input = tostring(binds[i].KEY) local key if input == 'RightClick' or input == 'LeftClick' then key = input else key = input:sub(14) end if binds[i].TOGGLE then newbind.Text.Text = key.." > "..binds[i].COMMAND.." / "..binds[i].TOGGLE else newbind.Text.Text = key.." > "..binds[i].COMMAND.." "..(binds[i].ISKEYUP and "(keyup)" or "(keydown)") end Holder_2.CanvasSize = UDim2.new(0,0,0, Position + 30) newbind.Text.Delete.MouseButton1Click:Connect(function() unkeybind(binds[i].COMMAND,binds[i].KEY) end) end end end refreshbinds() toggleOn = {} function unkeybind(cmd,key) for i = #binds,1,-1 do if binds[i].COMMAND == cmd and binds[i].KEY == key then toggleOn[binds[i]] = nil table.remove(binds, i) end end refreshbinds() updatesaves() if key == 'RightClick' or key == 'LeftClick' then notify('Keybinds Updated','Unbinded '..key..' from '..cmd) else notify('Keybinds Updated','Unbinded '..key:sub(14)..' from '..cmd) end end PositionsFrame.Delete.MouseButton1Click:Connect(function() execCmd('cpos') end) function refreshwaypoints() if #WayPoints > 0 or #pWayPoints > 0 then PositionsHint:Destroy() end if Holder_4 then Holder_4:ClearAllChildren() Holder_4.CanvasSize = UDim2.new(0, 0, 0, 10) local YSize = 25 local num = 1 for i = 1, #WayPoints do local Position = ((num * YSize) - YSize) local newpoint = Example_4:Clone() newpoint.Parent = Holder_4 newpoint.Visible = true newpoint.Position = UDim2.new(0,0,0, Position + 5) newpoint.Text.Text = WayPoints[i].NAME table.insert(shade2,newpoint) table.insert(shade2,newpoint.Text) table.insert(text1,newpoint.Text) table.insert(shade3,newpoint.Text.Delete) table.insert(text2,newpoint.Text.Delete) table.insert(shade3,newpoint.Text.TP) table.insert(text2,newpoint.Text.TP) Holder_4.CanvasSize = UDim2.new(0,0,0, Position + 30) newpoint.Text.Delete.MouseButton1Click:Connect(function() execCmd('dpos '..WayPoints[i].NAME) end) newpoint.Text.TP.MouseButton1Click:Connect(function() execCmd("loadpos "..WayPoints[i].NAME) end) num = num+1 end for i = 1, #pWayPoints do local Position = ((num * YSize) - YSize) local newpoint = Example_4:Clone() newpoint.Parent = Holder_4 newpoint.Visible = true newpoint.Position = UDim2.new(0,0,0, Position + 5) newpoint.Text.Text = pWayPoints[i].NAME table.insert(shade2,newpoint) table.insert(shade2,newpoint.Text) table.insert(text1,newpoint.Text) table.insert(shade3,newpoint.Text.Delete) table.insert(text2,newpoint.Text.Delete) table.insert(shade3,newpoint.Text.TP) table.insert(text2,newpoint.Text.TP) Holder_4.CanvasSize = UDim2.new(0,0,0, Position + 30) newpoint.Text.Delete.MouseButton1Click:Connect(function() execCmd('dpos '..pWayPoints[i].NAME) end) newpoint.Text.TP.MouseButton1Click:Connect(function() execCmd("loadpos "..pWayPoints[i].NAME) end) num = num+1 end end end refreshwaypoints() function refreshaliases() if #aliases > 0 then AliasHint:Destroy() end if Holder_3 then Holder_3:ClearAllChildren() Holder_3.CanvasSize = UDim2.new(0, 0, 0, 10) for i = 1, #aliases do local YSize = 25 local Position = ((i * YSize) - YSize) local newalias = Example_3:Clone() newalias.Parent = Holder_3 newalias.Visible = true newalias.Position = UDim2.new(0,0,0, Position + 5) newalias.Text.Text = aliases[i].CMD.." > "..aliases[i].ALIAS table.insert(shade2,newalias) table.insert(shade2,newalias.Text) table.insert(text1,newalias.Text) table.insert(shade3,newalias.Text.Delete) table.insert(text2,newalias.Text.Delete) Holder_3.CanvasSize = UDim2.new(0,0,0, Position + 30) newalias.Text.Delete.MouseButton1Click:Connect(function() execCmd('removealias '..aliases[i].ALIAS) end) end end end local bindChosenKeyUp = false BindTo.MouseButton1Click:Connect(function() awaitingInput = true BindTo.Text = 'Press something' end) BindTriggerSelect.MouseButton1Click:Connect(function() bindChosenKeyUp = not bindChosenKeyUp BindTriggerSelect.Text = bindChosenKeyUp and "KeyUp" or "KeyDown" end) newToggle = false Cmdbar_3.Parent.Visible = false On_2.MouseButton1Click:Connect(function() if newToggle == false then newToggle = true On_2.BackgroundTransparency = 0 Cmdbar_3.Parent.Visible = true BindTriggerSelect.Visible = false else newToggle = false On_2.BackgroundTransparency = 1 Cmdbar_3.Parent.Visible = false BindTriggerSelect.Visible = true end end) Add_2.MouseButton1Click:Connect(function() if keySelected then if string.find(Cmdbar_2.Text, "\\\\") or string.find(Cmdbar_3.Text, "\\\\") then notify('Keybind Error','Only use one backslash to keybind multiple commands into one keybind or command') else if newToggle and Cmdbar_3.Text ~= '' and Cmdbar_2.text ~= '' then addbind(Cmdbar_2.Text,keyPressed,false,Cmdbar_3.Text) elseif not newToggle and Cmdbar_2.text ~= '' then addbind(Cmdbar_2.Text,keyPressed,bindChosenKeyUp) else return end refreshbinds() updatesaves() if keyPressed == 'RightClick' or keyPressed == 'LeftClick' then notify('Keybinds Updated','Binded '..keyPressed..' to '..Cmdbar_2.Text..(newToggle and " / "..Cmdbar_3.Text or "")) else notify('Keybinds Updated','Binded '..keyPressed:sub(14)..' to '..Cmdbar_2.Text..(newToggle and " / "..Cmdbar_3.Text or "")) end end end end) Exit_2.MouseButton1Click:Connect(function() Cmdbar_2.Text = 'Command' Cmdbar_3.Text = 'Command 2' BindTo.Text = 'Click to bind' bindChosenKeyUp = false BindTriggerSelect.Text = "KeyDown" keySelected = false KeybindEditor:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil) end) function onInputBegan(input,gameProcessed) if awaitingInput then if input.UserInputType == Enum.UserInputType.Keyboard then keyPressed = tostring(input.KeyCode) BindTo.Text = keyPressed:sub(14) elseif input.UserInputType == Enum.UserInputType.MouseButton1 then keyPressed = 'LeftClick' BindTo.Text = 'LeftClick' elseif input.UserInputType == Enum.UserInputType.MouseButton2 then keyPressed = 'RightClick' BindTo.Text = 'RightClick' end awaitingInput = false keySelected = true end if not gameProcessed and #binds > 0 then for i,v in pairs(binds) do if not v.ISKEYUP then if (input.UserInputType == Enum.UserInputType.Keyboard and v.KEY:lower()==tostring(input.KeyCode):lower()) or (input.UserInputType == Enum.UserInputType.MouseButton1 and v.KEY:lower()=='leftclick') or (input.UserInputType == Enum.UserInputType.MouseButton2 and v.KEY:lower()=='rightclick') then if v.TOGGLE then local isOn = toggleOn[v] == true toggleOn[v] = not isOn if isOn then execCmd(v.TOGGLE,Players.LocalPlayer) else execCmd(v.COMMAND,Players.LocalPlayer) end else execCmd(v.COMMAND,Players.LocalPlayer) end end end end end end function onInputEnded(input,gameProcessed) if not gameProcessed and #binds > 0 then for i,v in pairs(binds) do if v.ISKEYUP then if (input.UserInputType == Enum.UserInputType.Keyboard and v.KEY:lower()==tostring(input.KeyCode):lower()) or (input.UserInputType == Enum.UserInputType.MouseButton1 and v.KEY:lower()=='leftclick') or (input.UserInputType == Enum.UserInputType.MouseButton2 and v.KEY:lower()=='rightclick') then execCmd(v.COMMAND,Players.LocalPlayer) end end end end end UserInputService.InputBegan:Connect(onInputBegan) UserInputService.InputEnded:Connect(onInputEnded) ClickTP.Select.MouseButton1Click:Connect(function() if keySelected then addbind('clicktp',keyPressed,bindChosenKeyUp) refreshbinds() updatesaves() if keyPressed == 'RightClick' or keyPressed == 'LeftClick' then notify('Keybinds Updated','Binded '..keyPressed..' to click tp') else notify('Keybinds Updated','Binded '..keyPressed:sub(14)..' to click tp') end end end) ClickDelete.Select.MouseButton1Click:Connect(function() if keySelected then addbind('clickdel',keyPressed,bindChosenKeyUp) refreshbinds() updatesaves() if keyPressed == 'RightClick' or keyPressed == 'LeftClick' then notify('Keybinds Updated','Binded '..keyPressed..' to click delete') else notify('Keybinds Updated','Binded '..keyPressed:sub(14)..' to click delete') end end end) local function clicktpFunc() pcall(function() local character = Players.LocalPlayer.Character local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid and humanoid.SeatPart then humanoid.Sit = false wait(0.1) end local hipHeight = humanoid and humanoid.HipHeight > 0 and (humanoid.HipHeight + 1) local rootPart = getRoot(character) local rootPartPosition = rootPart.Position local hitPosition = IYMouse.Hit.Position local newCFrame = CFrame.new( hitPosition, Vector3.new(rootPartPosition.X, hitPosition.Y, rootPartPosition.Z) ) * CFrame.Angles(0, math.pi, 0) rootPart.CFrame = newCFrame + Vector3.new(0, hipHeight or 4, 0) breakVelocity() end) end IYMouse.Button1Down:Connect(function() for i,v in pairs(binds) do if v.COMMAND == 'clicktp' then local input = v.KEY if input == 'RightClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) and Players.LocalPlayer.Character then clicktpFunc() elseif input == 'LeftClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) and Players.LocalPlayer.Character then clicktpFunc() elseif UserInputService:IsKeyDown(Enum.KeyCode[input:sub(14)]) and Players.LocalPlayer.Character then clicktpFunc() end elseif v.COMMAND == 'clickdel' then local input = v.KEY if input == 'RightClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then pcall(function() IYMouse.Target:Destroy() end) elseif input == 'LeftClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then pcall(function() IYMouse.Target:Destroy() end) elseif UserInputService:IsKeyDown(Enum.KeyCode[input:sub(14)]) then pcall(function() IYMouse.Target:Destroy() end) end end end end) PluginsGUI = PluginEditor.background function addPlugin(name) if name:lower() == 'plugin file name' or name:lower() == 'iy_fe.iy' or name == 'iy_fe' then notify('Plugin Error','Please enter a valid plugin') else local file local fileName if name:sub(-3) == '.iy' then pcall(function() file = readfile(name) end) fileName = name else pcall(function() file = readfile(name..'.iy') end) fileName = name..'.iy' end if file then if not FindInTable(PluginsTable, fileName) then table.insert(PluginsTable, fileName) LoadPlugin(fileName) refreshplugins() pcall(eventEditor.Refresh) else notify('Plugin Error','This plugin is already added') end else notify('Plugin Error','Cannot locate file "'..fileName..'". Is the file in the correct folder?') end end end function deletePlugin(name) local pName = name..'.iy' if name:sub(-3) == '.iy' then pName = name end for i = #cmds,1,-1 do if cmds[i].PLUGIN == pName then table.remove(cmds, i) end end for i,v in pairs(CMDsF:GetChildren()) do if v.Name == 'PLUGIN_'..pName then v:Destroy() end end for i,v in pairs(PluginsTable) do if v == pName then table.remove(PluginsTable, i) notify('Removed Plugin',pName..' was removed') end end IndexContents('',true) refreshplugins() end function refreshplugins(dontSave) if #PluginsTable > 0 then PluginsHint:Destroy() end if Holder_5 then Holder_5:ClearAllChildren() Holder_5.CanvasSize = UDim2.new(0, 0, 0, 10) for i,v in pairs(PluginsTable) do local pName = v local YSize = 25 local Position = ((i * YSize) - YSize) local newplugin = Example_5:Clone() newplugin.Parent = Holder_5 newplugin.Visible = true newplugin.Position = UDim2.new(0,0,0, Position + 5) newplugin.Text.Text = pName table.insert(shade2,newplugin) table.insert(shade2,newplugin.Text) table.insert(text1,newplugin.Text) table.insert(shade3,newplugin.Text.Delete) table.insert(text2,newplugin.Text.Delete) Holder_5.CanvasSize = UDim2.new(0,0,0, Position + 30) newplugin.Text.Delete.MouseButton1Click:Connect(function() deletePlugin(pName) end) end if not dontSave then updatesaves() end end end local PluginCache function LoadPlugin(val,startup) local plugin function CatchedPluginLoad() plugin = loadfile(val)() end function handlePluginError(plerror) notify('Plugin Error','An error occurred with the plugin, "'..val..'" and it could not be loaded') if FindInTable(PluginsTable,val) then for i,v in pairs(PluginsTable) do if v == val then table.remove(PluginsTable,i) end end end updatesaves() print("Original Error: "..tostring(plerror)) print("Plugin Error, stack traceback: "..tostring(debug.traceback())) plugin = nil return false end xpcall(CatchedPluginLoad, handlePluginError) if plugin ~= nil then if not startup then notify('Loaded Plugin',"Name: "..plugin["PluginName"].."\n".."Description: "..plugin["PluginDescription"]) end addcmdtext('',val) addcmdtext(string.upper('--'..plugin["PluginName"]),val,plugin["PluginDescription"]) if plugin["Commands"] then for i,v in pairs(plugin["Commands"]) do local cmdExt = '' local cmdName = i local function handleNames() cmdName = i if findCmd(cmdName..cmdExt) then if isNumber(cmdExt) then cmdExt = cmdExt+1 else cmdExt = 1 end handleNames() else cmdName = cmdName..cmdExt end end handleNames() addcmd(cmdName, v["Aliases"], v["Function"], val) if v["ListName"] then local newName = v.ListName local cmdNames = {i,unpack(v.Aliases)} for i,v in pairs(cmdNames) do newName = newName:gsub(v,v..cmdExt) end addcmdtext(newName,val,v["Description"]) else addcmdtext(cmdName,val,v["Description"]) end end end IndexContents('',true) elseif plugin == nil then plugin = nil end end function FindPlugins() if PluginsTable ~= nil and type(PluginsTable) == "table" then for i,v in pairs(PluginsTable) do LoadPlugin(v,true) end refreshplugins(true) end end AddPlugin.MouseButton1Click:Connect(function() addPlugin(PluginsGUI.FileName.Text) end) Exit_3.MouseButton1Click:Connect(function() PluginEditor:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil) FileName.Text = 'Plugin File Name' end) Add_3.MouseButton1Click:Connect(function() PluginEditor:TweenPosition(UDim2.new(0.5, -180, 0, 310), "InOut", "Quart", 0.5, true, nil) end) Plugins.MouseButton1Click:Connect(function() if writefileExploit() then PluginsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil) wait(0.5) SettingsHolder.Visible = false else notify('Incompatible Exploit','Your exploit is unable to use plugins (missing read/writefile)') end end) Close_4.MouseButton1Click:Connect(function() SettingsHolder.Visible = true PluginsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) end) local TeleportCheck = false Players.LocalPlayer.OnTeleport:Connect(function(State) if State ~= Enum.TeleportState.InProgress then return end if TeleportCheck then return end TeleportCheck = true if queueteleport then -- Reload Arc Yield from the executor's workspace file on teleport -- MUST reset IY_LOADED first because getgenv persists across teleports, -- which causes Arc Yield's own startup check (line 1) to bail out immediately pcall(function() queueteleport([[ pcall(function() getgenv().IY_LOADED = false end) pcall(function() getgenv().ARC_YIELD_LOADED = false end) pcall(function() _G.IY_LOADED = false end) pcall(function() _G.ARC_YIELD_LOADED = false end) loadstring(readfile('Arc Yield.lua'))() ]]) end) end end) addcmd('addalias',{},function(args, speaker) if #args < 2 then return end local cmd = string.lower(args[1]) local alias = string.lower(args[2]) for i,v in pairs(cmds) do if v.NAME:lower()==cmd or FindInTable(v.ALIAS,cmd) then customAlias[alias] = v aliases[#aliases + 1] = {CMD = cmd, ALIAS = alias} notify('Aliases Modified',"Added "..alias.." as an alias to "..cmd) updatesaves() refreshaliases() break end end end) addcmd('removealias',{},function(args, speaker) if #args < 1 then return end local alias = string.lower(args[1]) if customAlias[alias] then local cmd = customAlias[alias].NAME customAlias[alias] = nil for i = #aliases,1,-1 do if aliases[i].ALIAS == tostring(alias) then table.remove(aliases, i) end end notify('Aliases Modified',"Removed the alias "..alias.." from "..cmd) updatesaves() refreshaliases() end end) addcmd('clraliases',{},function(args, speaker) customAlias = {} aliases = {} notify('Aliases Modified','Removed all aliases') updatesaves() refreshaliases() end) addcmd('discord', {'support', 'help'}, function(args, speaker) if everyClipboard then toClipboard('https://discord.com/invite/78ZuWSq') notify('Discord Invite', 'Copied to clipboard!\ndiscord.gg/78ZuWSq') else notify('Discord Invite', 'discord.gg/78ZuWSq') end if httprequest then httprequest({ Url = 'http://127.0.0.1:6463/rpc?v=1', Method = 'POST', Headers = { ['Content-Type'] = 'application/json', Origin = 'https://discord.com' }, Body = HttpService:JSONEncode({ cmd = 'INVITE_BROWSER', nonce = HttpService:GenerateGUID(false), args = {code = '78ZuWSq'} }) }) end end) addcmd('keepiy', {}, function(args, speaker) if queueteleport then KeepInfYield = true notify('KeepIY','Arc Yield will now run after you teleport') updatesaves() else notify('Incompatible Exploit','Your exploit does not support this command (missing queue_on_teleport)') end end) addcmd('unkeepiy', {}, function(args, speaker) if queueteleport then KeepInfYield = false notify('KeepIY','Arc Yield will no longer run after you teleport') updatesaves() else notify('Incompatible Exploit','Your exploit does not support this command (missing queue_on_teleport)') end end) addcmd('togglekeepiy', {}, function(args, speaker) if queueteleport then KeepInfYield = not KeepInfYield updatesaves() else notify('Incompatible Exploit','Your exploit does not support this command (missing queue_on_teleport)') end end) local canOpenServerinfo = true addcmd('serverinfo',{'info','sinfo'},function(args, speaker) if not canOpenServerinfo then return end canOpenServerinfo = false task.spawn(function() local FRAME = Instance.new("Frame") local shadow = Instance.new("Frame") local PopupText = Instance.new("TextLabel") local Exit = Instance.new("TextButton") local ExitImage = Instance.new("ImageLabel") local background = Instance.new("Frame") local TextLabel = Instance.new("TextLabel") local TextLabel2 = Instance.new("TextLabel") local TextLabel3 = Instance.new("TextLabel") local Time = Instance.new("TextLabel") local appearance = Instance.new("TextLabel") local maxplayers = Instance.new("TextLabel") local name = Instance.new("TextLabel") local placeid = Instance.new("TextLabel") local playerid = Instance.new("TextLabel") local players = Instance.new("TextLabel") local CopyApp = Instance.new("TextButton") local CopyPlrID = Instance.new("TextButton") local CopyPlcID = Instance.new("TextButton") local CopyPlcName = Instance.new("TextButton") FRAME.Name = randomString() FRAME.Parent = ScaledHolder FRAME.Active = true FRAME.BackgroundTransparency = 1 FRAME.Position = UDim2.new(0.5, -130, 0, -500) FRAME.Size = UDim2.new(0, 250, 0, 20) FRAME.ZIndex = 10 dragGUI(FRAME) shadow.Name = "shadow" shadow.Parent = FRAME shadow.BackgroundColor3 = currentShade2 shadow.BorderSizePixel = 0 shadow.Size = UDim2.new(0, 250, 0, 20) shadow.ZIndex = 10 table.insert(shade2,shadow) PopupText.Name = "PopupText" PopupText.Parent = shadow PopupText.BackgroundTransparency = 1 PopupText.Size = UDim2.new(1, 0, 0.95, 0) PopupText.ZIndex = 10 PopupText.Font = Enum.Font.SourceSans PopupText.TextSize = 14 PopupText.Text = "Server" PopupText.TextColor3 = currentText1 PopupText.TextWrapped = true table.insert(text1,PopupText) Exit.Name = "Exit" Exit.Parent = shadow Exit.BackgroundTransparency = 1 Exit.Position = UDim2.new(1, -20, 0, 0) Exit.Size = UDim2.new(0, 20, 0, 20) Exit.Text = "" Exit.ZIndex = 10 ExitImage.Parent = Exit ExitImage.BackgroundColor3 = Color3.new(1, 1, 1) ExitImage.BackgroundTransparency = 1 ExitImage.Position = UDim2.new(0, 5, 0, 5) ExitImage.Size = UDim2.new(0, 10, 0, 10) ExitImage.Image = getcustomasset("infiniteyield/assets/close.png") ExitImage.ZIndex = 10 background.Name = "background" background.Parent = FRAME background.Active = true background.BackgroundColor3 = currentShade1 background.BorderSizePixel = 0 background.Position = UDim2.new(0, 0, 1, 0) background.Size = UDim2.new(0, 250, 0, 250) background.ZIndex = 10 table.insert(shade1,background) TextLabel.Name = "Text Label" TextLabel.Parent = background TextLabel.BackgroundTransparency = 1 TextLabel.BorderSizePixel = 0 TextLabel.Position = UDim2.new(0, 5, 0, 80) TextLabel.Size = UDim2.new(0, 100, 0, 20) TextLabel.ZIndex = 10 TextLabel.Font = Enum.Font.SourceSansLight TextLabel.TextSize = 20 TextLabel.Text = "Run Time:" TextLabel.TextColor3 = currentText1 TextLabel.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,TextLabel) TextLabel2.Name = "Text Label2" TextLabel2.Parent = background TextLabel2.BackgroundTransparency = 1 TextLabel2.BorderSizePixel = 0 TextLabel2.Position = UDim2.new(0, 5, 0, 130) TextLabel2.Size = UDim2.new(0, 100, 0, 20) TextLabel2.ZIndex = 10 TextLabel2.Font = Enum.Font.SourceSansLight TextLabel2.TextSize = 20 TextLabel2.Text = "Statistics:" TextLabel2.TextColor3 = currentText1 TextLabel2.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,TextLabel2) TextLabel3.Name = "Text Label3" TextLabel3.Parent = background TextLabel3.BackgroundTransparency = 1 TextLabel3.BorderSizePixel = 0 TextLabel3.Position = UDim2.new(0, 5, 0, 10) TextLabel3.Size = UDim2.new(0, 100, 0, 20) TextLabel3.ZIndex = 10 TextLabel3.Font = Enum.Font.SourceSansLight TextLabel3.TextSize = 20 TextLabel3.Text = "Local Player:" TextLabel3.TextColor3 = currentText1 TextLabel3.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,TextLabel3) Time.Name = "Time" Time.Parent = background Time.BackgroundTransparency = 1 Time.BorderSizePixel = 0 Time.Position = UDim2.new(0, 5, 0, 105) Time.Size = UDim2.new(0, 100, 0, 20) Time.ZIndex = 10 Time.Font = Enum.Font.SourceSans Time.FontSize = Enum.FontSize.Size14 Time.Text = "LOADING" Time.TextColor3 = currentText1 Time.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,Time) appearance.Name = "appearance" appearance.Parent = background appearance.BackgroundTransparency = 1 appearance.BorderSizePixel = 0 appearance.Position = UDim2.new(0, 5, 0, 55) appearance.Size = UDim2.new(0, 100, 0, 20) appearance.ZIndex = 10 appearance.Font = Enum.Font.SourceSans appearance.FontSize = Enum.FontSize.Size14 appearance.Text = "Appearance: LOADING" appearance.TextColor3 = currentText1 appearance.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,appearance) maxplayers.Name = "maxplayers" maxplayers.Parent = background maxplayers.BackgroundTransparency = 1 maxplayers.BorderSizePixel = 0 maxplayers.Position = UDim2.new(0, 5, 0, 175) maxplayers.Size = UDim2.new(0, 100, 0, 20) maxplayers.ZIndex = 10 maxplayers.Font = Enum.Font.SourceSans maxplayers.FontSize = Enum.FontSize.Size14 maxplayers.Text = "LOADING" maxplayers.TextColor3 = currentText1 maxplayers.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,maxplayers) name.Name = "name" name.Parent = background name.BackgroundTransparency = 1 name.BorderSizePixel = 0 name.Position = UDim2.new(0, 5, 0, 215) name.Size = UDim2.new(0, 240, 0, 30) name.ZIndex = 10 name.Font = Enum.Font.SourceSans name.FontSize = Enum.FontSize.Size14 name.Text = "Place Name: LOADING" name.TextColor3 = currentText1 name.TextWrapped = true name.TextXAlignment = Enum.TextXAlignment.Left name.TextYAlignment = Enum.TextYAlignment.Top table.insert(text1,name) placeid.Name = "placeid" placeid.Parent = background placeid.BackgroundTransparency = 1 placeid.BorderSizePixel = 0 placeid.Position = UDim2.new(0, 5, 0, 195) placeid.Size = UDim2.new(0, 100, 0, 20) placeid.ZIndex = 10 placeid.Font = Enum.Font.SourceSans placeid.FontSize = Enum.FontSize.Size14 placeid.Text = "Place ID: LOADING" placeid.TextColor3 = currentText1 placeid.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,placeid) playerid.Name = "playerid" playerid.Parent = background playerid.BackgroundTransparency = 1 playerid.BorderSizePixel = 0 playerid.Position = UDim2.new(0, 5, 0, 35) playerid.Size = UDim2.new(0, 100, 0, 20) playerid.ZIndex = 10 playerid.Font = Enum.Font.SourceSans playerid.FontSize = Enum.FontSize.Size14 playerid.Text = "Player ID: LOADING" playerid.TextColor3 = currentText1 playerid.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,playerid) players.Name = "players" players.Parent = background players.BackgroundTransparency = 1 players.BorderSizePixel = 0 players.Position = UDim2.new(0, 5, 0, 155) players.Size = UDim2.new(0, 100, 0, 20) players.ZIndex = 10 players.Font = Enum.Font.SourceSans players.FontSize = Enum.FontSize.Size14 players.Text = "LOADING" players.TextColor3 = currentText1 players.TextXAlignment = Enum.TextXAlignment.Left table.insert(text1,players) CopyApp.Name = "CopyApp" CopyApp.Parent = background CopyApp.BackgroundColor3 = currentShade2 CopyApp.BorderSizePixel = 0 CopyApp.Position = UDim2.new(0, 210, 0, 55) CopyApp.Size = UDim2.new(0, 35, 0, 20) CopyApp.Font = Enum.Font.SourceSans CopyApp.TextSize = 14 CopyApp.Text = "Copy" CopyApp.TextColor3 = currentText1 CopyApp.ZIndex = 10 table.insert(shade2,CopyApp) table.insert(text1,CopyApp) CopyPlrID.Name = "CopyPlrID" CopyPlrID.Parent = background CopyPlrID.BackgroundColor3 = currentShade2 CopyPlrID.BorderSizePixel = 0 CopyPlrID.Position = UDim2.new(0, 210, 0, 35) CopyPlrID.Size = UDim2.new(0, 35, 0, 20) CopyPlrID.Font = Enum.Font.SourceSans CopyPlrID.TextSize = 14 CopyPlrID.Text = "Copy" CopyPlrID.TextColor3 = currentText1 CopyPlrID.ZIndex = 10 table.insert(shade2,CopyPlrID) table.insert(text1,CopyPlrID) CopyPlcID.Name = "CopyPlcID" CopyPlcID.Parent = background CopyPlcID.BackgroundColor3 = currentShade2 CopyPlcID.BorderSizePixel = 0 CopyPlcID.Position = UDim2.new(0, 210, 0, 195) CopyPlcID.Size = UDim2.new(0, 35, 0, 20) CopyPlcID.Font = Enum.Font.SourceSans CopyPlcID.TextSize = 14 CopyPlcID.Text = "Copy" CopyPlcID.TextColor3 = currentText1 CopyPlcID.ZIndex = 10 table.insert(shade2,CopyPlcID) table.insert(text1,CopyPlcID) CopyPlcName.Name = "CopyPlcName" CopyPlcName.Parent = background CopyPlcName.BackgroundColor3 = currentShade2 CopyPlcName.BorderSizePixel = 0 CopyPlcName.Position = UDim2.new(0, 210, 0, 215) CopyPlcName.Size = UDim2.new(0, 35, 0, 20) CopyPlcName.Font = Enum.Font.SourceSans CopyPlcName.TextSize = 14 CopyPlcName.Text = "Copy" CopyPlcName.TextColor3 = currentText1 CopyPlcName.ZIndex = 10 table.insert(shade2,CopyPlcName) table.insert(text1,CopyPlcName) local SINFOGUI = background FRAME:TweenPosition(UDim2.new(0.5, -130, 0, 100), "InOut", "Quart", 0.5, true, nil) wait(0.5) Exit.MouseButton1Click:Connect(function() FRAME:TweenPosition(UDim2.new(0.5, -130, 0, -500), "InOut", "Quart", 0.5, true, nil) wait(0.6) FRAME:Destroy() canOpenServerinfo = true end) local Asset = MarketplaceService:GetProductInfo(PlaceId) SINFOGUI.name.Text = "Place Name: " .. Asset.Name SINFOGUI.playerid.Text = "Player ID: " ..speaker.UserId SINFOGUI.maxplayers.Text = Players.MaxPlayers.. " Players Max" SINFOGUI.placeid.Text = "Place ID: " ..PlaceId CopyApp.MouseButton1Click:Connect(function() toClipboard(speaker.CharacterAppearanceId) end) CopyPlrID.MouseButton1Click:Connect(function() toClipboard(speaker.UserId) end) CopyPlcID.MouseButton1Click:Connect(function() toClipboard(PlaceId) end) CopyPlcName.MouseButton1Click:Connect(function() toClipboard(Asset.Name) end) repeat players = Players:GetPlayers() SINFOGUI.players.Text = #players.. " Player(s)" SINFOGUI.appearance.Text = "Appearance: " ..speaker.CharacterAppearanceId local seconds = math.floor(workspace.DistributedGameTime) local minutes = math.floor(workspace.DistributedGameTime / 60) local hours = math.floor(workspace.DistributedGameTime / 60 / 60) local seconds = seconds - (minutes * 60) local minutes = minutes - (hours * 60) if hours < 1 then if minutes < 1 then SINFOGUI.Time.Text = seconds .. " Second(s)" else SINFOGUI.Time.Text = minutes .. " Minute(s), " .. seconds .. " Second(s)" end else SINFOGUI.Time.Text = hours .. " Hour(s), " .. minutes .. " Minute(s), " .. seconds .. " Second(s)" end wait(1) until SINFOGUI.Parent == nil end) end) addcmd("jobid", {}, function(args, speaker) toClipboard("roblox://placeId=" .. PlaceId .. "&gameInstanceId=" .. JobId) end) addcmd('notifyjobid',{},function(args, speaker) notify('JobId / PlaceId',JobId..' / '..PlaceId) end) addcmd('breakloops',{'break'},function(args, speaker) lastBreakTime = tick() end) addcmd('gametp',{'gameteleport'},function(args, speaker) TeleportService:Teleport(args[1]) end) addcmd("rejoin", {"rj"}, function(args, speaker) if #Players:GetPlayers() <= 1 then Players.LocalPlayer:Kick("\nRejoining...") wait() TeleportService:Teleport(PlaceId, Players.LocalPlayer) else TeleportService:TeleportToPlaceInstance(PlaceId, JobId, Players.LocalPlayer) end end) addcmd("autorejoin", {"autorj"}, function(args, speaker) GuiService.ErrorMessageChanged:Connect(function() execCmd("rejoin") end) notify("Auto Rejoin", "Auto rejoin enabled") end) addcmd("serverhop", {"shop"}, function(args, speaker) -- thanks to Amity for fixing local servers = {} local req = game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true") local body = HttpService:JSONDecode(req) if body and body.data then for i, v in next, body.data do if type(v) == "table" and tonumber(v.playing) and tonumber(v.maxPlayers) and v.playing < v.maxPlayers and v.id ~= JobId then table.insert(servers, 1, v.id) end end end if #servers > 0 then TeleportService:TeleportToPlaceInstance(PlaceId, servers[math.random(1, #servers)], Players.LocalPlayer) else return notify("Serverhop", "Couldn't find a server.") end end) addcmd("exit", {}, function(args, speaker) game:Shutdown() end) addcmd("respawn", {}, function(args, speaker) local char = speaker.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.Health = 0 else -- Fallback: destroy and let Roblox respawn char:Destroy() end end end) addcmd("suicide", {"killme"}, function(args, speaker) local char = speaker.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.Health = 0 end end end) addcmd("sit", {"sitdown"}, function(args, speaker) local hum = speaker.Character and speaker.Character:FindFirstChildOfClass("Humanoid") if hum then hum.Sit = true notify("Sit", "Now sitting") end end) addcmd("time", {"settime", "timeofday"}, function(args, speaker) local t = tonumber(args[1]) if t then if t < 0 then t = 0 end if t > 24 then t = 24 end game:GetService("Lighting").ClockTime = t notify("Time", "Set to " .. t .. ":00") else notify("Time", "Provide a number (0-24)") end end) local Noclipping = nil addcmd('noclip',{},function(args, speaker) Clip = false wait(0.1) local function NoclipLoop() if Clip == false and speaker.Character ~= nil then for _, child in pairs(speaker.Character:GetDescendants()) do if child:IsA("BasePart") and child.CanCollide == true and child.Name ~= floatName then child.CanCollide = false end end end end Noclipping = RunService.Stepped:Connect(NoclipLoop) if args[1] and args[1] == 'nonotify' then return end notify('Noclip','Noclip Enabled') end) addcmd('clip',{'unnoclip'},function(args, speaker) if Noclipping then Noclipping:Disconnect() end Clip = true if args[1] and args[1] == 'nonotify' then return end notify('Noclip','Noclip Disabled') end) -- nocliph: vertical noclip (teleport up/down through floors/ceilings) local Nocliph = nil addcmd('nocliph',{'hclip'},function(args, speaker) local studs = tonumber(args[1]) if studs == nil then -- Default: detect if pressing shift (move down) or just move up studs = 10 end local root = getRoot(speaker.Character) if root then root.CFrame = root.CFrame + Vector3.new(0, studs, 0) notify('NoclipH', 'Moved ' .. (studs > 0 and 'up ' or 'down ') .. math.abs(studs) .. ' studs') end end) addcmd('togglenoclip',{},function(args, speaker) if Clip then execCmd('noclip') else execCmd('clip') end end) FLYING = false QEfly = true iyflyspeed = 1 vehicleflyspeed = 1 function sFLY(vfly) local plr = Players.LocalPlayer local char = plr.Character or plr.CharacterAdded:Wait() local humanoid = char:FindFirstChildOfClass("Humanoid") if not humanoid then repeat task.wait() until char:FindFirstChildOfClass("Humanoid") humanoid = char:FindFirstChildOfClass("Humanoid") end if flyKeyDown or flyKeyUp then flyKeyDown:Disconnect() flyKeyUp:Disconnect() end local T = getRoot(char) local CONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0} local lCONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0} local SPEED = 0 local function FLY() FLYING = true local BG = Instance.new('BodyGyro') local BV = Instance.new('BodyVelocity') BG.P = 9e4 BG.Parent = T BV.Parent = T BG.MaxTorque = Vector3.new(9e9, 9e9, 9e9) BG.CFrame = T.CFrame BV.Velocity = Vector3.new(0, 0, 0) BV.MaxForce = Vector3.new(9e9, 9e9, 9e9) task.spawn(function() repeat task.wait() local camera = workspace.CurrentCamera if not vfly and humanoid then humanoid.PlatformStand = true end if CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 or CONTROL.Q + CONTROL.E ~= 0 then SPEED = 50 elseif not (CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 or CONTROL.Q + CONTROL.E ~= 0) and SPEED ~= 0 then SPEED = 0 end if (CONTROL.L + CONTROL.R) ~= 0 or (CONTROL.F + CONTROL.B) ~= 0 or (CONTROL.Q + CONTROL.E) ~= 0 then BV.Velocity = ((camera.CFrame.LookVector * (CONTROL.F + CONTROL.B)) + ((camera.CFrame * CFrame.new(CONTROL.L + CONTROL.R, (CONTROL.F + CONTROL.B + CONTROL.Q + CONTROL.E) * 0.2, 0).p) - camera.CFrame.p)) * SPEED lCONTROL = {F = CONTROL.F, B = CONTROL.B, L = CONTROL.L, R = CONTROL.R} elseif (CONTROL.L + CONTROL.R) == 0 and (CONTROL.F + CONTROL.B) == 0 and (CONTROL.Q + CONTROL.E) == 0 and SPEED ~= 0 then BV.Velocity = ((camera.CFrame.LookVector * (lCONTROL.F + lCONTROL.B)) + ((camera.CFrame * CFrame.new(lCONTROL.L + lCONTROL.R, (lCONTROL.F + lCONTROL.B + CONTROL.Q + CONTROL.E) * 0.2, 0).p) - camera.CFrame.p)) * SPEED else BV.Velocity = Vector3.new(0, 0, 0) end BG.CFrame = camera.CFrame until not FLYING CONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0} lCONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0} SPEED = 0 BG:Destroy() BV:Destroy() if humanoid then humanoid.PlatformStand = false end end) end flyKeyDown = UserInputService.InputBegan:Connect(function(input, processed) if processed then return end if input.KeyCode == Enum.KeyCode.W then CONTROL.F = (vfly and vehicleflyspeed or iyflyspeed) elseif input.KeyCode == Enum.KeyCode.S then CONTROL.B = - (vfly and vehicleflyspeed or iyflyspeed) elseif input.KeyCode == Enum.KeyCode.A then CONTROL.L = - (vfly and vehicleflyspeed or iyflyspeed) elseif input.KeyCode == Enum.KeyCode.D then CONTROL.R = (vfly and vehicleflyspeed or iyflyspeed) elseif input.KeyCode == Enum.KeyCode.E and QEfly then CONTROL.Q = (vfly and vehicleflyspeed or iyflyspeed)*2 elseif input.KeyCode == Enum.KeyCode.Q and QEfly then CONTROL.E = -(vfly and vehicleflyspeed or iyflyspeed)*2 end pcall(function() camera.CameraType = Enum.CameraType.Track end) end) flyKeyUp = UserInputService.InputEnded:Connect(function(input, processed) if processed then return end if input.KeyCode == Enum.KeyCode.W then CONTROL.F = 0 elseif input.KeyCode == Enum.KeyCode.S then CONTROL.B = 0 elseif input.KeyCode == Enum.KeyCode.A then CONTROL.L = 0 elseif input.KeyCode == Enum.KeyCode.D then CONTROL.R = 0 elseif input.KeyCode == Enum.KeyCode.E then CONTROL.Q = 0 elseif input.KeyCode == Enum.KeyCode.Q then CONTROL.E = 0 end end) FLY() end function NOFLY() FLYING = false if flyKeyDown or flyKeyUp then flyKeyDown:Disconnect() flyKeyUp:Disconnect() end if Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') then Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false end pcall(function() workspace.CurrentCamera.CameraType = Enum.CameraType.Custom end) end local velocityHandlerName = randomString() local gyroHandlerName = randomString() local mfly1 local mfly2 local unmobilefly = function(speaker) pcall(function() FLYING = false local root = getRoot(speaker.Character) root:FindFirstChild(velocityHandlerName):Destroy() root:FindFirstChild(gyroHandlerName):Destroy() speaker.Character:FindFirstChildWhichIsA("Humanoid").PlatformStand = false mfly1:Disconnect() mfly2:Disconnect() end) end local mobilefly = function(speaker, vfly) unmobilefly(speaker) FLYING = true local root = getRoot(speaker.Character) local camera = workspace.CurrentCamera local v3none = Vector3.new() local v3zero = Vector3.new(0, 0, 0) local v3inf = Vector3.new(9e9, 9e9, 9e9) local controlModule = require(speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("ControlModule")) local bv = Instance.new("BodyVelocity") bv.Name = velocityHandlerName bv.Parent = root bv.MaxForce = v3zero bv.Velocity = v3zero local bg = Instance.new("BodyGyro") bg.Name = gyroHandlerName bg.Parent = root bg.MaxTorque = v3inf bg.P = 1000 bg.D = 50 mfly1 = speaker.CharacterAdded:Connect(function() local bv = Instance.new("BodyVelocity") bv.Name = velocityHandlerName bv.Parent = root bv.MaxForce = v3zero bv.Velocity = v3zero local bg = Instance.new("BodyGyro") bg.Name = gyroHandlerName bg.Parent = root bg.MaxTorque = v3inf bg.P = 1000 bg.D = 50 end) mfly2 = RunService.RenderStepped:Connect(function() root = getRoot(speaker.Character) camera = workspace.CurrentCamera if speaker.Character:FindFirstChildWhichIsA("Humanoid") and root and root:FindFirstChild(velocityHandlerName) and root:FindFirstChild(gyroHandlerName) then local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") local VelocityHandler = root:FindFirstChild(velocityHandlerName) local GyroHandler = root:FindFirstChild(gyroHandlerName) VelocityHandler.MaxForce = v3inf GyroHandler.MaxTorque = v3inf if not vfly then humanoid.PlatformStand = true end GyroHandler.CFrame = camera.CoordinateFrame VelocityHandler.Velocity = v3none local direction = controlModule:GetMoveVector() if direction.X > 0 then VelocityHandler.Velocity = VelocityHandler.Velocity + camera.CFrame.RightVector * (direction.X * ((vfly and vehicleflyspeed or iyflyspeed) * 50)) end if direction.X < 0 then VelocityHandler.Velocity = VelocityHandler.Velocity + camera.CFrame.RightVector * (direction.X * ((vfly and vehicleflyspeed or iyflyspeed) * 50)) end if direction.Z > 0 then VelocityHandler.Velocity = VelocityHandler.Velocity - camera.CFrame.LookVector * (direction.Z * ((vfly and vehicleflyspeed or iyflyspeed) * 50)) end if direction.Z < 0 then VelocityHandler.Velocity = VelocityHandler.Velocity - camera.CFrame.LookVector * (direction.Z * ((vfly and vehicleflyspeed or iyflyspeed) * 50)) end end end) end addcmd('fly',{},function(args, speaker) if not IsOnMobile then NOFLY() wait() sFLY() else mobilefly(speaker) end if args[1] and isNumber(args[1]) then iyflyspeed = args[1] end end) addcmd('flyspeed',{'flysp'},function(args, speaker) local speed = args[1] or 1 if isNumber(speed) then iyflyspeed = speed end end) addcmd('unfly',{'nofly','novfly','unvehiclefly','novehiclefly','unvfly'},function(args, speaker) if not IsOnMobile then NOFLY() else unmobilefly(speaker) end end) addcmd('vfly',{'vehiclefly'},function(args, speaker) if not IsOnMobile then NOFLY() wait() sFLY(true) else mobilefly(speaker, true) end if args[1] and isNumber(args[1]) then vehicleflyspeed = args[1] end end) addcmd('togglevfly',{},function(args, speaker) if FLYING then if not IsOnMobile then NOFLY() else unmobilefly(speaker) end else if not IsOnMobile then sFLY(true) else mobilefly(speaker, true) end end end) addcmd('vflyspeed',{'vflysp','vehicleflyspeed','vehicleflysp'},function(args, speaker) local speed = args[1] or 1 if isNumber(speed) then vehicleflyspeed = speed end end) addcmd('qefly',{'flyqe'},function(args, speaker) if args[1] == 'false' then QEfly = false else QEfly = true end end) addcmd('togglefly',{},function(args, speaker) if FLYING then if not IsOnMobile then NOFLY() else unmobilefly(speaker) end else if not IsOnMobile then sFLY() else mobilefly(speaker) end end end) CFspeed = 50 addcmd('cframefly', {'cfly'}, function(args, speaker) if args[1] and isNumber(args[1]) then CFspeed = args[1] end -- Full credit to peyton#9148 (apeyton) speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = true local Head = speaker.Character:WaitForChild("Head") Head.Anchored = true if CFloop then CFloop:Disconnect() end CFloop = RunService.Heartbeat:Connect(function(deltaTime) local moveDirection = speaker.Character:FindFirstChildOfClass('Humanoid').MoveDirection * (CFspeed * deltaTime) local headCFrame = Head.CFrame local camera = workspace.CurrentCamera local cameraCFrame = camera.CFrame local cameraOffset = headCFrame:ToObjectSpace(cameraCFrame).Position cameraCFrame = cameraCFrame * CFrame.new(-cameraOffset.X, -cameraOffset.Y, -cameraOffset.Z + 1) local cameraPosition = cameraCFrame.Position local headPosition = headCFrame.Position local objectSpaceVelocity = CFrame.new(cameraPosition, Vector3.new(headPosition.X, cameraPosition.Y, headPosition.Z)):VectorToObjectSpace(moveDirection) Head.CFrame = CFrame.new(headPosition) * (cameraCFrame - cameraPosition) * CFrame.new(objectSpaceVelocity) end) end) addcmd('uncframefly',{'uncfly'},function(args, speaker) if CFloop then CFloop:Disconnect() speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false local Head = speaker.Character:WaitForChild("Head") Head.Anchored = false end end) addcmd('cframeflyspeed',{'cflyspeed'},function(args, speaker) if isNumber(args[1]) then CFspeed = args[1] end end) do -- ======================== ROTATESPEED ======================== -- rotatespeed -- Snaps camera to degrees for 0.05s when is pressed, then restores local rsActive = false local rsAngle = 0 local rsKey = nil local rsConn = nil local function rsStop() rsActive = false if rsConn then rsConn:Disconnect() rsConn = nil end end local function rsStart(angle, keyName) rsStop() rsActive = true rsAngle = tonumber(angle) or 0 -- Convert key name string (e.g. "E", "Q", "F") to KeyCode enum local enumKey = Enum.KeyCode[keyName] if not enumKey then notify("RotateSpeed", "Invalid key: " .. tostring(keyName)) rsActive = false return end rsKey = enumKey rsConn = UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == rsKey then if not rsActive then return end local cam = workspace.CurrentCamera if not cam then return end -- Save original camera CFrame local originalCFrame = cam.CFrame local pos = originalCFrame.Position -- Build new CFrame at the same position but facing degrees -- Y-axis rotation, math.rad converts degrees to radians local newCFrame = CFrame.new(pos) * CFrame.Angles(math.rad(rsAngle), 0, 0) cam.CFrame = newCFrame -- Hold for 0.05 seconds then restore task.delay(0.05, function() if cam and cam.Parent then cam.CFrame = originalCFrame end end) end end) end addcmd("rotatespeed", {"rspeed", "rs", "rotspd"}, function(args, speaker) if not args[1] or not args[2] then notify("RotateSpeed", "Usage: rotatespeed \nExample: rotatespeed 90 E\nStops: unrotatespeed") return end if not isNumber(args[1]) then notify("RotateSpeed", "First argument must be a number (angle in degrees)") return end rsStart(args[1], args[2]) notify("RotateSpeed", "Set to " .. args[1] .. " degrees on key [" .. args[2] .. "]") end) addcmd("unrotatespeed", {"unrspeed", "unrs", "unrotspd"}, function(args, speaker) rsStop() notify("RotateSpeed", "Disabled") end) Floating = false floatName = randomString() addcmd('float', {'platform'},function(args, speaker) Floating = true local pchar = speaker.Character if pchar and not pchar:FindFirstChild(floatName) then task.spawn(function() local Float = Instance.new('Part') Float.Name = floatName Float.Parent = pchar Float.Transparency = 1 Float.Size = Vector3.new(2,0.2,1.5) Float.Anchored = true local FloatValue = -3.1 Float.CFrame = getRoot(pchar).CFrame * CFrame.new(0,FloatValue,0) notify('Float','Float Enabled (Q = down & E = up)') qUp = IYMouse.KeyUp:Connect(function(KEY) if KEY == 'q' then FloatValue = FloatValue + 0.5 end end) eUp = IYMouse.KeyUp:Connect(function(KEY) if KEY == 'e' then FloatValue = FloatValue - 1.5 end end) qDown = IYMouse.KeyDown:Connect(function(KEY) if KEY == 'q' then FloatValue = FloatValue - 0.5 end end) eDown = IYMouse.KeyDown:Connect(function(KEY) if KEY == 'e' then FloatValue = FloatValue + 1.5 end end) floatDied = speaker.Character:FindFirstChildOfClass('Humanoid').Died:Connect(function() FloatingFunc:Disconnect() Float:Destroy() qUp:Disconnect() eUp:Disconnect() qDown:Disconnect() eDown:Disconnect() floatDied:Disconnect() end) local function FloatPadLoop() if pchar:FindFirstChild(floatName) and getRoot(pchar) then Float.CFrame = getRoot(pchar).CFrame * CFrame.new(0,FloatValue,0) else FloatingFunc:Disconnect() Float:Destroy() qUp:Disconnect() eUp:Disconnect() qDown:Disconnect() eDown:Disconnect() floatDied:Disconnect() end end FloatingFunc = RunService.Heartbeat:Connect(FloatPadLoop) end) end end) addcmd('unfloat',{'nofloat','unplatform','noplatform'},function(args, speaker) Floating = false local pchar = speaker.Character notify('Float','Float Disabled') if pchar:FindFirstChild(floatName) then pchar:FindFirstChild(floatName):Destroy() end if floatDied then FloatingFunc:Disconnect() qUp:Disconnect() eUp:Disconnect() qDown:Disconnect() eDown:Disconnect() floatDied:Disconnect() end end) addcmd('togglefloat',{},function(args, speaker) if Floating then execCmd('unfloat') else execCmd('float') end end) swimming = false local oldgrav = workspace.Gravity local swimbeat = nil addcmd('swim',{},function(args, speaker) if not swimming and speaker and speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") then oldgrav = workspace.Gravity workspace.Gravity = 0 local swimDied = function() workspace.Gravity = oldgrav swimming = false end local Humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") gravReset = Humanoid.Died:Connect(swimDied) local enums = Enum.HumanoidStateType:GetEnumItems() table.remove(enums, table.find(enums, Enum.HumanoidStateType.None)) for i, v in pairs(enums) do Humanoid:SetStateEnabled(v, false) end Humanoid:ChangeState(Enum.HumanoidStateType.Swimming) swimbeat = RunService.Heartbeat:Connect(function() pcall(function() getRoot(speaker.Character).Humanoid.RootPart.Velocity = ((Humanoid.MoveDirection ~= Vector3.new() or UserInputService:IsKeyDown(Enum.KeyCode.Space)) and getRoot(speaker.Character).Humanoid.RootPart.Velocity or Vector3.new()) end) end) swimming = true end end) addcmd('unswim',{'noswim'},function(args, speaker) if speaker and speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") then workspace.Gravity = oldgrav swimming = false if gravReset then gravReset:Disconnect() end if swimbeat ~= nil then swimbeat:Disconnect() swimbeat = nil end local Humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") local enums = Enum.HumanoidStateType:GetEnumItems() table.remove(enums, table.find(enums, Enum.HumanoidStateType.None)) for i, v in pairs(enums) do Humanoid:SetStateEnabled(v, true) end end end) addcmd('toggleswim',{},function(args, speaker) if swimming then execCmd('unswim') else execCmd('swim') end end) addcmd('setwaypoint',{'swp','setwp','spos','saveposition','savepos'},function(args, speaker) local WPName = tostring(getstring(1, args)) if getRoot(speaker.Character) then notify('Modified Waypoints',"Created waypoint: "..getstring(1, args)) local torso = getRoot(speaker.Character) WayPoints[#WayPoints + 1] = {NAME = WPName, COORD = {math.floor(torso.Position.X), math.floor(torso.Position.Y), math.floor(torso.Position.Z)}, GAME = PlaceId} if AllWaypoints ~= nil then AllWaypoints[#AllWaypoints + 1] = {NAME = WPName, COORD = {math.floor(torso.Position.X), math.floor(torso.Position.Y), math.floor(torso.Position.Z)}, GAME = PlaceId} end end refreshwaypoints() updatesaves() end) addcmd('waypointpos',{'wpp','setwaypointposition','setpos','setwaypoint','setwaypointpos'},function(args, speaker) local WPName = tostring(getstring(1, args)) if getRoot(speaker.Character) then notify('Modified Waypoints',"Created waypoint: "..getstring(1, args)) WayPoints[#WayPoints + 1] = {NAME = WPName, COORD = {args[2], args[3], args[4]}, GAME = PlaceId} if AllWaypoints ~= nil then AllWaypoints[#AllWaypoints + 1] = {NAME = WPName, COORD = {args[2], args[3], args[4]}, GAME = PlaceId} end end refreshwaypoints() updatesaves() end) addcmd('waypoints',{'positions'},function(args, speaker) if SettingsOpen == false then SettingsOpen = true Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.5, true, nil) CMDsF.Visible = false end KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) AliasesFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) PluginsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil) PositionsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil) wait(0.5) SettingsHolder.Visible = false maximizeHolder() end) waypointParts = {} addcmd('showwaypoints',{'showwp','showwps'},function(args, speaker) execCmd('hidewaypoints') wait() for i,_ in pairs(WayPoints) do local x = WayPoints[i].COORD[1] local y = WayPoints[i].COORD[2] local z = WayPoints[i].COORD[3] local part = Instance.new("Part") part.Size = Vector3.new(5,5,5) part.CFrame = CFrame.new(x,y,z) part.Parent = workspace part.Anchored = true part.CanCollide = false table.insert(waypointParts,part) local view = Instance.new("BoxHandleAdornment") view.Adornee = part view.AlwaysOnTop = true view.ZIndex = 10 view.Size = part.Size view.Parent = part end for i,v in pairs(pWayPoints) do local view = Instance.new("BoxHandleAdornment") view.Adornee = pWayPoints[i].COORD[1] view.AlwaysOnTop = true view.ZIndex = 10 view.Size = pWayPoints[i].COORD[1].Size view.Parent = pWayPoints[i].COORD[1] table.insert(waypointParts,view) end end) addcmd('hidewaypoints',{'hidewp','hidewps'},function(args, speaker) for i,v in pairs(waypointParts) do v:Destroy() end waypointParts = {} end) addcmd('waypoint',{'wp','lpos','loadposition','loadpos'},function(args, speaker) local WPName = tostring(getstring(1, args)) if speaker.Character then for i,_ in pairs(WayPoints) do if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then local x = WayPoints[i].COORD[1] local y = WayPoints[i].COORD[2] local z = WayPoints[i].COORD[3] getRoot(speaker.Character).CFrame = CFrame.new(x,y,z) end end for i,_ in pairs(pWayPoints) do if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then getRoot(speaker.Character).CFrame = CFrame.new(pWayPoints[i].COORD[1].Position) end end end end) tweenSpeed = 1 addcmd('tweenspeed',{'tspeed'},function(args, speaker) local newSpeed = args[1] or 1 if tonumber(newSpeed) then tweenSpeed = tonumber(newSpeed) end end) addcmd('tweenwaypoint',{'twp'},function(args, speaker) local WPName = tostring(getstring(1, args)) if speaker.Character then for i,_ in pairs(WayPoints) do local x = WayPoints[i].COORD[1] local y = WayPoints[i].COORD[2] local z = WayPoints[i].COORD[3] if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(x,y,z)}):Play() end end for i,_ in pairs(pWayPoints) do if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(pWayPoints[i].COORD[1].Position)}):Play() end end end end) addcmd('walktowaypoint',{'wtwp'},function(args, speaker) local WPName = tostring(getstring(1, args)) if speaker.Character then for i,_ in pairs(WayPoints) do local x = WayPoints[i].COORD[1] local y = WayPoints[i].COORD[2] local z = WayPoints[i].COORD[3] if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end speaker.Character:FindFirstChildOfClass('Humanoid').WalkToPoint = Vector3.new(x,y,z) end end for i,_ in pairs(pWayPoints) do if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end speaker.Character:FindFirstChildOfClass('Humanoid').WalkToPoint = Vector3.new(pWayPoints[i].COORD[1].Position) end end end end) addcmd('deletewaypoint',{'dwp','dpos','deleteposition','deletepos'},function(args, speaker) for i,v in pairs(WayPoints) do if v.NAME:lower() == tostring(getstring(1, args)):lower() then notify('Modified Waypoints',"Deleted waypoint: " .. v.NAME) table.remove(WayPoints, i) end end if AllWaypoints ~= nil and #AllWaypoints > 0 then for i,v in pairs(AllWaypoints) do if v.NAME:lower() == tostring(getstring(1, args)):lower() then if not v.GAME or v.GAME == PlaceId then table.remove(AllWaypoints, i) end end end end for i,v in pairs(pWayPoints) do if v.NAME:lower() == tostring(getstring(1, args)):lower() then notify('Modified Waypoints',"Deleted waypoint: " .. v.NAME) table.remove(pWayPoints, i) end end refreshwaypoints() updatesaves() end) addcmd('clearwaypoints',{'cwp','clearpositions','cpos','clearpos'},function(args, speaker) WayPoints = {} pWayPoints = {} refreshwaypoints() updatesaves() AllWaypoints = {} notify('Modified Waypoints','Removed all waypoints') end) addcmd('cleargamewaypoints',{'cgamewp'},function(args, speaker) for i,v in pairs(WayPoints) do if v.GAME == PlaceId then table.remove(WayPoints, i) end end if AllWaypoints ~= nil and #AllWaypoints > 0 then for i,v in pairs(AllWaypoints) do if v.GAME == PlaceId then table.remove(AllWaypoints, i) end end end for i,v in pairs(pWayPoints) do if v.GAME == PlaceId then table.remove(pWayPoints, i) end end refreshwaypoints() updatesaves() notify('Modified Waypoints','Deleted game waypoints') end) local coreGuiTypeNames = { -- predefined aliases ["inventory"] = Enum.CoreGuiType.Backpack, ["leaderboard"] = Enum.CoreGuiType.PlayerList, ["emotes"] = Enum.CoreGuiType.EmotesMenu } -- Load the full list of enums for _, enumItem in ipairs(Enum.CoreGuiType:GetEnumItems()) do coreGuiTypeNames[enumItem.Name:lower()] = enumItem end addcmd('enable',{},function(args, speaker) local input = args[1] and args[1]:lower() if input then if input == "reset" then StarterGui:SetCore("ResetButtonCallback", true) else local coreGuiType = coreGuiTypeNames[input] if coreGuiType then StarterGui:SetCoreGuiEnabled(coreGuiType, true) end end end end) addcmd('disable',{},function(args, speaker) local input = args[1] and args[1]:lower() if input then if input == "reset" then StarterGui:SetCore("ResetButtonCallback", false) else local coreGuiType = coreGuiTypeNames[input] if coreGuiType then StarterGui:SetCoreGuiEnabled(coreGuiType, false) end end end end) local invisGUIS = {} addcmd('showguis',{},function(args, speaker) for i,v in pairs(PlayerGui:GetDescendants()) do if (v:IsA("Frame") or v:IsA("ImageLabel") or v:IsA("ScrollingFrame")) and not v.Visible then v.Visible = true if not FindInTable(invisGUIS,v) then table.insert(invisGUIS,v) end end end end) addcmd('unshowguis',{},function(args, speaker) for i,v in pairs(invisGUIS) do v.Visible = false end invisGUIS = {} end) local hiddenGUIS = {} addcmd('hideguis',{},function(args, speaker) for i,v in pairs(PlayerGui:GetDescendants()) do if (v:IsA("Frame") or v:IsA("ImageLabel") or v:IsA("ScrollingFrame")) and v.Visible then v.Visible = false if not FindInTable(hiddenGUIS,v) then table.insert(hiddenGUIS,v) end end end end) addcmd('unhideguis',{},function(args, speaker) for i,v in pairs(hiddenGUIS) do v.Visible = true end hiddenGUIS = {} end) function deleteGuisAtPos() pcall(function() local guisAtPosition = PlayerGui:GetGuiObjectsAtPosition(IYMouse.X, IYMouse.Y) for _, gui in pairs(guisAtPosition) do if gui.Visible == true then gui:Destroy() end end end) end local deleteGuiInput addcmd('guidelete',{},function(args, speaker) deleteGuiInput = UserInputService.InputBegan:Connect(function(input, gameProcessedEvent) if not gameProcessedEvent then if input.KeyCode == Enum.KeyCode.Backspace then deleteGuisAtPos() end end end) notify('GUI Delete Enabled','Hover over a GUI and press backspace to delete it') end) addcmd('unguidelete',{'noguidelete'},function(args, speaker) if deleteGuiInput then deleteGuiInput:Disconnect() end notify('GUI Delete Disabled','GUI backspace delete has been disabled') end) local wasStayOpen = StayOpen addcmd('hideiy',{},function(args, speaker) isHidden = true wasStayOpen = StayOpen if StayOpen == true then StayOpen = false On.BackgroundTransparency = 1 end minimizeNum = 0 minimizeHolder() if not (args[1] and tostring(args[1]) == 'nonotify') then notify('IY Hidden','You can press the prefix key to access the command bar') end end) addcmd('showiy',{'unhideiy'},function(args, speaker) isHidden = false minimizeNum = -20 if wasStayOpen then maximizeHolder() StayOpen = true On.BackgroundTransparency = 0 else minimizeHolder() end end) addcmd('rec', {'record'}, function(args, speaker) return COREGUI:ToggleRecording() end) addcmd('screenshot', {'scrnshot'}, function(args, speaker) return COREGUI:TakeScreenshot() end) addcmd('togglefs', {'togglefullscreen'}, function(args, speaker) return GuiService:ToggleFullscreen() end) addcmd('inspect', {'examine'}, function(args, speaker) for _, v in ipairs(getPlayer(args[1], speaker)) do GuiService:CloseInspectMenu() GuiService:InspectPlayerFromUserId(Players[v].UserId) end end) addcmd("savegame", {"saveplace"}, function(args, speaker) if saveinstance then notify("Loading", "Downloading game. This will take a while") saveinstance() notify("Game Saved", "Saved place to the workspace folder within your exploit folder.") else notify("Incompatible Exploit", "Your exploit does not support this command (missing saveinstance)") end end) addcmd("clearerror", {"clearerrors"}, function(args, speaker) GuiService:ClearError() end) addcmd("antigameplaypaused", {}, function(args, speaker) pcall(function() networkPaused:Disconnect() end) networkPaused = COREGUI.RobloxGui.ChildAdded:Connect(function(obj) if obj.Name == "CoreScripts/NetworkPause" then obj:Destroy() end end) COREGUI.RobloxGui["CoreScripts/NetworkPause"]:Destroy() end) addcmd("unantigameplaypaused", {}, function(args, speaker) networkPaused:Disconnect() end) addcmd('clientantikick',{'antikick'},function(args, speaker) if not hookmetamethod then return notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)') end local LocalPlayer = Players.LocalPlayer local oldhmmi local oldhmmnc local oldKickFunction if hookfunction then oldKickFunction = hookfunction(LocalPlayer.Kick, function() end) end oldhmmi = hookmetamethod(game, "__index", function(self, method) if self == LocalPlayer and method:lower() == "kick" then return error("Expected ':' not '.' calling member function Kick", 2) end return oldhmmi(self, method) end) oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...) if self == LocalPlayer and getnamecallmethod():lower() == "kick" then return end return oldhmmnc(self, ...) end) notify('Client Antikick','Client anti kick is now active (only effective on localscript kick)') end) allow_rj = true addcmd('clientantiteleport',{'antiteleport'},function(args, speaker) if not hookmetamethod then return notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)') end local TeleportService = TeleportService local oldhmmi local oldhmmnc oldhmmi = hookmetamethod(game, "__index", function(self, method) if self == TeleportService then if method:lower() == "teleport" then return error("Expected ':' not '.' calling member function Kick", 2) elseif method == "TeleportToPlaceInstance" then return error("Expected ':' not '.' calling member function TeleportToPlaceInstance", 2) end end return oldhmmi(self, method) end) oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...) if self == TeleportService and getnamecallmethod():lower() == "teleport" or getnamecallmethod() == "TeleportToPlaceInstance" then return end return oldhmmnc(self, ...) end) notify('Client AntiTP','Client anti teleport is now active (only effective on localscript teleport)') end) addcmd('allowrejoin',{'allowrj'},function(args, speaker) if args[1] and args[1] == 'false' then allow_rj = false notify('Client AntiTP','Allow rejoin set to false') else allow_rj = true notify('Client AntiTP','Allow rejoin set to true') end end) addcmd("cancelteleport", {"canceltp"}, function(args, speaker) TeleportService:TeleportCancel() end) addcmd("volume",{ "vol"}, function(args, speaker) UserSettings():GetService("UserGameSettings").MasterVolume = args[1]/10 end) addcmd("antilag", {"boostfps", "lowgraphics"}, function(args, speaker) local Terrain = workspace:FindFirstChildWhichIsA("Terrain") Terrain.WaterWaveSize = 0 Terrain.WaterWaveSpeed = 0 Terrain.WaterReflectance = 0 Terrain.WaterTransparency = 1 Lighting.GlobalShadows = false Lighting.FogEnd = 9e9 Lighting.FogStart = 9e9 settings().Rendering.QualityLevel = 1 for _, v in pairs(game:GetDescendants()) do if v:IsA("BasePart") then v.CastShadow = false v.Material = "Plastic" v.Reflectance = 0 v.BackSurface = "SmoothNoOutlines" v.BottomSurface = "SmoothNoOutlines" v.FrontSurface = "SmoothNoOutlines" v.LeftSurface = "SmoothNoOutlines" v.RightSurface = "SmoothNoOutlines" v.TopSurface = "SmoothNoOutlines" elseif v:IsA("Decal") then v.Transparency = 1 v.Texture = "" elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Lifetime = NumberRange.new(0) end end for _, v in pairs(Lighting:GetDescendants()) do if v:IsA("PostEffect") then v.Enabled = false end end workspace.DescendantAdded:Connect(function(child) task.spawn(function() if child:IsA("ForceField") or child:IsA("Sparkles") or child:IsA("Smoke") or child:IsA("Fire") or child:IsA("Beam") then RunService.Heartbeat:Wait() child:Destroy() elseif child:IsA("BasePart") then child.CastShadow = false end end) end) end) addcmd("setfpscap", {"fpscap", "maxfps"}, function(args, speaker) if fpscaploop then task.cancel(fpscaploop) fpscaploop = nil end local fpsCap = 60 local num = tonumber(args[1]) or 1e6 if num == "none" then return elseif num > 0 then fpsCap = num else return notify("Invalid argument", "Please provide a number above 0 or 'none'.") end if setfpscap and type(setfpscap) == "function" then setfpscap(fpsCap) else fpscaploop = task.spawn(function() local timer = os.clock() while true do if os.clock() >= timer + 1 / fpsCap then timer = os.clock() task.wait() end end end) end end) addcmd('notify',{},function(args, speaker) notify(getstring(1, args)) end) addcmd('lastcommand',{'lastcmd'},function(args, speaker) if cmdHistory[1]:sub(1,11) ~= 'lastcommand' and cmdHistory[1]:sub(1,7) ~= 'lastcmd' then execCmd(cmdHistory[1]) end end) addcmd('esp',{},function(args, speaker) if not CHMSenabled then ESPenabled = true for i,v in pairs(Players:GetPlayers()) do if v.Name ~= speaker.Name then ESP(v) end end else notify('ESP','Disable chams (nochams) before using esp') end end) addcmd('espteam',{},function(args, speaker) if not CHMSenabled then ESPenabled = true for i,v in pairs(Players:GetPlayers()) do if v.Name ~= speaker.Name then ESP(v, true) end end else notify('ESP','Disable chams (nochams) before using esp') end end) addcmd('noesp',{'unesp','unespteam'},function(args, speaker) ESPenabled = false for i,c in pairs(COREGUI:GetChildren()) do if string.sub(c.Name, -4) == '_ESP' then c:Destroy() end end end) addcmd("esptransparency", {}, function(args, speaker) espTransparency = tonumber(args[1]) or 0.3 if ESPenabled then execCmd("esp") end if CHMSenabled then execCmd("chams") end updatesaves() end) local espParts = {} local partEspTrigger = nil function partAdded(part) if #espParts > 0 then if FindInTable(espParts,part.Name:lower()) then local a = Instance.new("BoxHandleAdornment") a.Name = part.Name:lower().."_PESP" a.Parent = part a.Adornee = part a.AlwaysOnTop = true a.ZIndex = 0 a.Size = part.Size a.Transparency = espTransparency a.Color = BrickColor.new("Lime green") end else partEspTrigger:Disconnect() partEspTrigger = nil end end addcmd('partesp',{},function(args, speaker) local partEspName = getstring(1, args):lower() if not FindInTable(espParts,partEspName) then table.insert(espParts,partEspName) for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and v.Name:lower() == partEspName then local a = Instance.new("BoxHandleAdornment") a.Name = partEspName.."_PESP" a.Parent = v a.Adornee = v a.AlwaysOnTop = true a.ZIndex = 0 a.Size = v.Size a.Transparency = espTransparency a.Color = BrickColor.new("Lime green") end end end if partEspTrigger == nil then partEspTrigger = workspace.DescendantAdded:Connect(partAdded) end end) addcmd('unpartesp',{'nopartesp'},function(args, speaker) if args[1] then local partEspName = getstring(1, args):lower() if FindInTable(espParts,partEspName) then table.remove(espParts, GetInTable(espParts, partEspName)) end for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BoxHandleAdornment") and v.Name == partEspName..'_PESP' then v:Destroy() end end else partEspTrigger:Disconnect() partEspTrigger = nil espParts = {} for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BoxHandleAdornment") and v.Name:sub(-5) == '_PESP' then v:Destroy() end end end end) addcmd('chams',{},function(args, speaker) if not ESPenabled then CHMSenabled = true for i,v in pairs(Players:GetPlayers()) do if v.Name ~= speaker.Name then CHMS(v) end end else notify('Chams','Disable ESP (noesp) before using chams') end end) addcmd('nochams',{'unchams'},function(args, speaker) CHMSenabled = false for i,v in pairs(Players:GetPlayers()) do local chmsplr = v for i,c in pairs(COREGUI:GetChildren()) do if c.Name == chmsplr.Name..'_CHMS' then c:Destroy() end end end end) addcmd('locate',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do Locate(Players[v]) end end) addcmd('nolocate',{'unlocate'},function(args, speaker) local players = getPlayer(args[1], speaker) if args[1] then for i,v in pairs(players) do for i,c in pairs(COREGUI:GetChildren()) do if c.Name == Players[v].Name..'_LC' then c:Destroy() end end end else for i,c in pairs(COREGUI:GetChildren()) do if string.sub(c.Name, -3) == '_LC' then c:Destroy() end end end end) viewing = nil addcmd('view',{'spectate'},function(args, speaker) StopFreecam() local players = getPlayer(args[1], speaker) for i,v in pairs(players) do if viewDied then viewDied:Disconnect() viewChanged:Disconnect() end viewing = Players[v] workspace.CurrentCamera.CameraSubject = viewing.Character notify('Spectate','Viewing ' .. Players[v].Name) local function viewDiedFunc() repeat wait() until Players[v].Character ~= nil and getRoot(Players[v].Character) workspace.CurrentCamera.CameraSubject = viewing.Character end viewDied = Players[v].CharacterAdded:Connect(viewDiedFunc) local function viewChangedFunc() workspace.CurrentCamera.CameraSubject = viewing.Character end viewChanged = workspace.CurrentCamera:GetPropertyChangedSignal("CameraSubject"):Connect(viewChangedFunc) end end) addcmd('viewpart',{'viewp'},function(args, speaker) StopFreecam() if args[1] then for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() and v:IsA("BasePart") then wait(0.1) workspace.CurrentCamera.CameraSubject = v end end end end) addcmd('unview',{'unspectate'},function(args, speaker) StopFreecam() if viewing ~= nil then viewing = nil notify('Spectate','View turned off') end if viewDied then viewDied:Disconnect() viewChanged:Disconnect() end workspace.CurrentCamera.CameraSubject = speaker.Character end) fcRunning = false Camera = workspace.CurrentCamera workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function() local newCamera = workspace.CurrentCamera if newCamera then Camera = newCamera end end) local INPUT_PRIORITY = Enum.ContextActionPriority.High.Value Spring = {} do Spring.__index = Spring function Spring.new(freq, pos) local self = setmetatable({}, Spring) self.f = freq self.p = pos self.v = pos*0 return self end function Spring:Update(dt, goal) local f = self.f*2*math.pi local p0 = self.p local v0 = self.v local offset = goal - p0 local decay = math.exp(-f*dt) local p1 = goal + (v0*dt - offset*(f*dt + 1))*decay local v1 = (f*dt*(offset*f - v0) + v0)*decay self.p = p1 self.v = v1 return p1 end function Spring:Reset(pos) self.p = pos self.v = pos*0 end end local cameraPos = Vector3.new() local cameraRot = Vector2.new() local velSpring = Spring.new(5, Vector3.new()) local panSpring = Spring.new(5, Vector2.new()) Input = {} do keyboard = { W = 0, A = 0, S = 0, D = 0, E = 0, Q = 0, Up = 0, Down = 0, LeftShift = 0, } mouse = { Delta = Vector2.new(), } NAV_KEYBOARD_SPEED = Vector3.new(1, 1, 1) PAN_MOUSE_SPEED = Vector2.new(1, 1)*(math.pi/64) NAV_ADJ_SPEED = 0.75 NAV_SHIFT_MUL = 0.25 navSpeed = 1 function Input.Vel(dt) navSpeed = math.clamp(navSpeed + dt*(keyboard.Up - keyboard.Down)*NAV_ADJ_SPEED, 0.01, 4) local kKeyboard = Vector3.new( keyboard.D - keyboard.A, keyboard.E - keyboard.Q, keyboard.S - keyboard.W )*NAV_KEYBOARD_SPEED local shift = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) return (kKeyboard)*(navSpeed*(shift and NAV_SHIFT_MUL or 1)) end function Input.Pan(dt) local kMouse = mouse.Delta*PAN_MOUSE_SPEED mouse.Delta = Vector2.new() return kMouse end do function Keypress(action, state, input) keyboard[input.KeyCode.Name] = state == Enum.UserInputState.Begin and 1 or 0 return Enum.ContextActionResult.Sink end function MousePan(action, state, input) local delta = input.Delta mouse.Delta = Vector2.new(-delta.y, -delta.x) return Enum.ContextActionResult.Sink end function Zero(t) for k, v in pairs(t) do t[k] = v*0 end end function Input.StartCapture() ContextActionService:BindActionAtPriority("FreecamKeyboard",Keypress,false,INPUT_PRIORITY, Enum.KeyCode.W, Enum.KeyCode.A, Enum.KeyCode.S, Enum.KeyCode.D, Enum.KeyCode.E, Enum.KeyCode.Q, Enum.KeyCode.Up, Enum.KeyCode.Down ) ContextActionService:BindActionAtPriority("FreecamMousePan",MousePan,false,INPUT_PRIORITY,Enum.UserInputType.MouseMovement) end function Input.StopCapture() navSpeed = 1 Zero(keyboard) Zero(mouse) ContextActionService:UnbindAction("FreecamKeyboard") ContextActionService:UnbindAction("FreecamMousePan") end end end function GetFocusDistance(cameraFrame) local znear = 0.1 local viewport = Camera.ViewportSize local projy = 2*math.tan(cameraFov/2) local projx = viewport.x/viewport.y*projy local fx = cameraFrame.rightVector local fy = cameraFrame.upVector local fz = cameraFrame.lookVector local minVect = Vector3.new() local minDist = 512 for x = 0, 1, 0.5 do for y = 0, 1, 0.5 do local cx = (x - 0.5)*projx local cy = (y - 0.5)*projy local offset = fx*cx - fy*cy + fz local origin = cameraFrame.p + offset*znear local _, hit = workspace:FindPartOnRay(Ray.new(origin, offset.unit*minDist)) local dist = (hit - origin).magnitude if minDist > dist then minDist = dist minVect = offset.unit end end end return fz:Dot(minVect)*minDist end local function StepFreecam(dt) local vel = velSpring:Update(dt, Input.Vel(dt)) local pan = panSpring:Update(dt, Input.Pan(dt)) local zoomFactor = math.sqrt(math.tan(math.rad(70/2))/math.tan(math.rad(cameraFov/2))) cameraRot = cameraRot + pan*Vector2.new(0.75, 1)*8*(dt/zoomFactor) cameraRot = Vector2.new(math.clamp(cameraRot.x, -math.rad(90), math.rad(90)), cameraRot.y%(2*math.pi)) local cameraCFrame = CFrame.new(cameraPos)*CFrame.fromOrientation(cameraRot.x, cameraRot.y, 0)*CFrame.new(vel*Vector3.new(1, 1, 1)*64*dt) cameraPos = cameraCFrame.p Camera.CFrame = cameraCFrame Camera.Focus = cameraCFrame*CFrame.new(0, 0, -GetFocusDistance(cameraCFrame)) Camera.FieldOfView = cameraFov end local PlayerState = {} do mouseBehavior = "" mouseIconEnabled = "" cameraType = "" cameraFocus = "" cameraCFrame = "" cameraFieldOfView = "" function PlayerState.Push() cameraFieldOfView = Camera.FieldOfView Camera.FieldOfView = 70 cameraType = Camera.CameraType Camera.CameraType = Enum.CameraType.Custom cameraCFrame = Camera.CFrame cameraFocus = Camera.Focus mouseIconEnabled = UserInputService.MouseIconEnabled UserInputService.MouseIconEnabled = true mouseBehavior = UserInputService.MouseBehavior UserInputService.MouseBehavior = Enum.MouseBehavior.Default end function PlayerState.Pop() Camera.FieldOfView = 70 Camera.CameraType = cameraType cameraType = nil Camera.CFrame = cameraCFrame cameraCFrame = nil Camera.Focus = cameraFocus cameraFocus = nil UserInputService.MouseIconEnabled = mouseIconEnabled mouseIconEnabled = nil UserInputService.MouseBehavior = mouseBehavior mouseBehavior = nil end end function StartFreecam(pos) if fcRunning then StopFreecam() end local cameraCFrame = Camera.CFrame if pos then cameraCFrame = pos end cameraRot = Vector2.new() cameraPos = cameraCFrame.p cameraFov = Camera.FieldOfView velSpring:Reset(Vector3.new()) panSpring:Reset(Vector2.new()) PlayerState.Push() RunService:BindToRenderStep("Freecam", Enum.RenderPriority.Camera.Value, StepFreecam) Input.StartCapture() fcRunning = true end function StopFreecam() if not fcRunning then return end Input.StopCapture() RunService:UnbindFromRenderStep("Freecam") PlayerState.Pop() workspace.Camera.FieldOfView = 70 fcRunning = false end addcmd('freecam',{'fc'},function(args, speaker) StartFreecam() end) addcmd('freecampos',{'fcpos','fcp','freecamposition','fcposition'},function(args, speaker) if not args[1] then return end local freecamPos = CFrame.new(args[1],args[2],args[3]) StartFreecam(freecamPos) end) addcmd('freecamwaypoint',{'fcwp'},function(args, speaker) local WPName = tostring(getstring(1, args)) if speaker.Character then for i,_ in pairs(WayPoints) do local x = WayPoints[i].COORD[1] local y = WayPoints[i].COORD[2] local z = WayPoints[i].COORD[3] if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then StartFreecam(CFrame.new(x,y,z)) end end for i,_ in pairs(pWayPoints) do if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then StartFreecam(CFrame.new(pWayPoints[i].COORD[1].Position)) end end end end) addcmd('freecamgoto',{'fcgoto','freecamtp','fctp'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do StartFreecam(getRoot(Players[v].Character).CFrame) end end) addcmd('unfreecam',{'nofreecam','unfc','nofc'},function(args, speaker) StopFreecam() end) addcmd('freecamspeed',{'fcspeed'},function(args, speaker) local FCspeed = args[1] or 1 if isNumber(FCspeed) then NAV_KEYBOARD_SPEED = Vector3.new(FCspeed, FCspeed, FCspeed) end end) addcmd('notifyfreecamposition',{'notifyfcpos'},function(args, speaker) if fcRunning then local X,Y,Z = workspace.CurrentCamera.CFrame.Position.X,workspace.CurrentCamera.CFrame.Position.Y,workspace.CurrentCamera.CFrame.Position.Z local Format, Round = string.format, math.round notify("Current Position", Format("%s, %s, %s", Round(X), Round(Y), Round(Z))) end end) addcmd('copyfreecamposition',{'copyfcpos'},function(args, speaker) if fcRunning then local X,Y,Z = workspace.CurrentCamera.CFrame.Position.X,workspace.CurrentCamera.CFrame.Position.Y,workspace.CurrentCamera.CFrame.Position.Z local Format, Round = string.format, math.round toClipboard(Format("%s, %s, %s", Round(X), Round(Y), Round(Z))) end end) addcmd('gotocamera',{'gotocam','tocam'},function(args, speaker) getRoot(speaker.Character).CFrame = workspace.Camera.CFrame end) addcmd('tweengotocamera',{'tweengotocam','tgotocam','ttocam'},function(args, speaker) TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = workspace.Camera.CFrame}):Play() end) addcmd('fov',{},function(args, speaker) local fov = args[1] or 70 if isNumber(fov) then workspace.CurrentCamera.FieldOfView = fov end end) local preMaxZoom = Players.LocalPlayer.CameraMaxZoomDistance local preMinZoom = Players.LocalPlayer.CameraMinZoomDistance addcmd('lookat',{},function(args, speaker) if speaker.CameraMaxZoomDistance ~= 0.5 then preMaxZoom = speaker.CameraMaxZoomDistance preMinZoom = speaker.CameraMinZoomDistance end speaker.CameraMaxZoomDistance = 0.5 speaker.CameraMinZoomDistance = 0.5 wait() local players = getPlayer(args[1], speaker) for i,v in pairs(players) do local target = Players[v].Character if target and target:FindFirstChild('Head') then workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.p, target.Head.CFrame.p) wait(0.1) end end speaker.CameraMaxZoomDistance = preMaxZoom speaker.CameraMinZoomDistance = preMinZoom end) addcmd('fixcam',{'restorecam'},function(args, speaker) StopFreecam() execCmd('unview') workspace.CurrentCamera:remove() wait(.1) repeat wait() until speaker.Character ~= nil workspace.CurrentCamera.CameraSubject = speaker.Character:FindFirstChildWhichIsA('Humanoid') workspace.CurrentCamera.CameraType = "Custom" speaker.CameraMinZoomDistance = 0.5 speaker.CameraMaxZoomDistance = 400 speaker.CameraMode = "Classic" speaker.Character.Head.Anchored = false end) addcmd("enableshiftlock", {"enablesl", "shiftlock"}, function(args, speaker) local function enableShiftlock() speaker.DevEnableMouseLock = true end speaker:GetPropertyChangedSignal("DevEnableMouseLock"):Connect(enableShiftlock) enableShiftlock() notify("Shiftlock", "Shift lock should now be available") end) addcmd('firstp',{},function(args, speaker) speaker.CameraMode = "LockFirstPerson" end) addcmd('thirdp',{},function(args, speaker) speaker.CameraMode = "Classic" end) addcmd('noclipcam', {'nccam'}, function(args, speaker) local sc = (debug and debug.setconstant) or setconstant local gc = (debug and debug.getconstants) or getconstants if not sc or not getgc or not gc then return notify('Incompatible Exploit', 'Your exploit does not support this command (missing setconstant or getconstants or getgc)') end local pop = speaker.PlayerScripts.PlayerModule.CameraModule.ZoomController.Popper for _, v in pairs(getgc()) do if type(v) == 'function' and getfenv(v).script == pop then for i, v1 in pairs(gc(v)) do if tonumber(v1) == .25 then sc(v, i, 0) elseif tonumber(v1) == 0 then sc(v, i, .25) end end end end end) addcmd('maxzoom',{},function(args, speaker) speaker.CameraMaxZoomDistance = args[1] end) addcmd('minzoom',{},function(args, speaker) speaker.CameraMinZoomDistance = args[1] end) addcmd('camdistance',{},function(args, speaker) local camMax = speaker.CameraMaxZoomDistance local camMin = speaker.CameraMinZoomDistance if camMax < tonumber(args[1]) then camMax = args[1] end speaker.CameraMaxZoomDistance = args[1] speaker.CameraMinZoomDistance = args[1] wait() speaker.CameraMaxZoomDistance = camMax speaker.CameraMinZoomDistance = camMin end) addcmd('unlockws',{'unlockworkspace'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") then v.Locked = false end end end) addcmd('lockws',{'lockworkspace'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") then v.Locked = true end end end) addcmd('delete',{'remove'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() then v:Destroy() end end notify('Item(s) Deleted','Deleted ' ..getstring(1, args)) end) addcmd('deleteclass',{'removeclass','deleteclassname','removeclassname','dc'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.ClassName:lower() == getstring(1, args):lower() then v:Destroy() end end notify('Item(s) Deleted','Deleted items with ClassName ' ..getstring(1, args)) end) addcmd('chardelete',{'charremove','cd'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() then v:Destroy() end end notify('Item(s) Deleted','Deleted ' ..getstring(1, args)) end) addcmd('chardeleteclass',{'charremoveclass','chardeleteclassname','charremoveclassname','cdc'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v.ClassName:lower() == getstring(1, args):lower() then v:Destroy() end end notify('Item(s) Deleted','Deleted items with ClassName ' ..getstring(1, args)) end) addcmd('deletevelocity',{'dv','removevelocity','removeforces'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA("BodyVelocity") or v:IsA("BodyGyro") or v:IsA("RocketPropulsion") or v:IsA("BodyThrust") or v:IsA("BodyAngularVelocity") or v:IsA("AngularVelocity") or v:IsA("BodyForce") or v:IsA("VectorForce") or v:IsA("LineForce") then v:Destroy() end end end) addcmd('deleteinvisparts',{'deleteinvisibleparts','dip'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and v.Transparency == 1 and v.CanCollide then v:Destroy() end end end) local shownParts = {} addcmd('invisibleparts',{'invisparts'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and v.Transparency == 1 then if not table.find(shownParts,v) then table.insert(shownParts,v) end v.Transparency = 0 end end end) addcmd('uninvisibleparts',{'uninvisparts'},function(args, speaker) for i,v in pairs(shownParts) do v.Transparency = 1 end shownParts = {} end) addcmd("btools", {}, function(args, speaker) for i = 1, 4 do local Tool = Instance.new("HopperBin") Tool.BinType = i Tool.Name = randomString() Tool.Parent = speaker:FindFirstChildWhichIsA("Backpack") end end) addcmd("f3x", {"fex"}, function(args, speaker) loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/refs/heads/main/f3x.lua"))() end) addcmd("partpath", {"partname"}, function(args, speaker) selectPart() end) addcmd("antiafk", {"antiidle"}, function(args, speaker) if getconnections then for _, connection in pairs(getconnections(speaker.Idled)) do if connection["Disable"] then connection["Disable"](connection) elseif connection["Disconnect"] then connection["Disconnect"](connection) end end else speaker.Idled:Connect(function() Services.VirtualUser:CaptureController() Services.VirtualUser:ClickButton2(Vector2.new()) end) end if not (args[1] and tostring(args[1]) == "nonotify") then notify("Anti Idle", "Anti idle is enabled") end end) addcmd("datalimit", {}, function(args, speaker) local kbps = tonumber(args[1]) if kbps then Services.NetworkClient:SetOutgoingKBPSLimit(kbps) end end) addcmd("replicationlag", {"backtrack"}, function(args, speaker) if tonumber(args[1]) then settings():GetService("NetworkSettings").IncomingReplicationLag = args[1] end end) addcmd("noprompts", {"nopurchaseprompts"}, function(args, speaker) COREGUI.PurchasePromptApp.Enabled = false end) addcmd("showprompts", {"showpurchaseprompts"}, function(args, speaker) COREGUI.PurchasePromptApp.Enabled = true end) promptNewRig = function(speaker, rig) local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") if humanoid then AvatarEditorService:PromptSaveAvatar(humanoid.HumanoidDescription, Enum.HumanoidRigType[rig]) local result = AvatarEditorService.PromptSaveAvatarCompleted:Wait() if result == Enum.AvatarPromptResult.Success then execCmd("reset") end end end addcmd("promptr6", {}, function(args, speaker) promptNewRig(speaker, "R6") end) addcmd("promptr15", {}, function(args, speaker) promptNewRig(speaker, "R15") end) addcmd("wallwalk", {"walkonwalls"}, function(args, speaker) loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/wallwalker.lua"))() end) addcmd('age',{},function(args, speaker) local players = getPlayer(args[1], speaker) local ages = {} for i,v in pairs(players) do local p = Players[v] table.insert(ages, p.Name.."'s age is: "..p.AccountAge) end notify('Account Age',table.concat(ages, ',\n')) end) addcmd('chatage',{},function(args, speaker) local players = getPlayer(args[1], speaker) local ages = {} for i,v in pairs(players) do local p = Players[v] table.insert(ages, p.Name.."'s age is: "..p.AccountAge) end local chatString = table.concat(ages, ', ') chatMessage(chatString) end) addcmd('joindate',{'jd'},function(args, speaker) local players = getPlayer(args[1], speaker) local dates = {} for i,v in pairs(players) do local p = Players[v] local secondsOld = p.AccountAge * 24 * 60 * 60 local now = os.time() local dateJoined = p.Name .. " joined: " .. os.date("%m/%d/%y", now - secondsOld) table.insert(dates, dateJoined) end notify('Join Date (Month/Day/Year)',table.concat(dates, ',\n')) end) addcmd('chatjoindate',{'cjd'},function(args, speaker) local players = getPlayer(args[1], speaker) local dates = {} for i,v in pairs(players) do local p = Players[v] local secondsOld = p.AccountAge * 24 * 60 * 60 local now = os.time() local dateJoined = p.Name .. " joined: " .. os.date("%m/%d/%y", now - secondsOld) table.insert(dates, dateJoined) end local chatString = table.concat(dates, ', ') chatMessage(chatString) end) addcmd('copyname',{'copyuser'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do local name = tostring(Players[v].Name) toClipboard(name) end end) addcmd('userid',{'id'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do local id = tostring(Players[v].UserId) notify('User ID',id) end end) addcmd("copyplaceid", {"placeid"}, function(args, speaker) toClipboard(PlaceId) end) addcmd("copygameid", {"gameid"}, function(args, speaker) toClipboard(game.GameId) end) addcmd('copyid',{'copyuserid'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do local id = tostring(Players[v].UserId) toClipboard(id) end end) addcmd('creatorid',{'creator'},function(args, speaker) if game.CreatorType == Enum.CreatorType.User then notify('Creator ID',game.CreatorId) elseif game.CreatorType == Enum.CreatorType.Group then local OwnerID = GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id speaker.UserId = OwnerID notify('Creator ID',OwnerID) end end) addcmd('copycreatorid',{'copycreator'},function(args, speaker) if game.CreatorType == Enum.CreatorType.User then toClipboard(game.CreatorId) notify('Copied ID','Copied creator ID to clipboard') elseif game.CreatorType == Enum.CreatorType.Group then local OwnerID = GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id toClipboard(OwnerID) notify('Copied ID','Copied creator ID to clipboard') end end) addcmd('setcreatorid',{'setcreator'},function(args, speaker) if game.CreatorType == Enum.CreatorType.User then speaker.UserId = game.CreatorId notify('Set ID','Set UserId to '..game.CreatorId) elseif game.CreatorType == Enum.CreatorType.Group then local OwnerID = GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id speaker.UserId = OwnerID notify('Set ID','Set UserId to '..OwnerID) end end) addcmd('appearanceid',{'aid'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do local aid = tostring(Players[v].CharacterAppearanceId) notify('Appearance ID',aid) end end) addcmd('copyappearanceid',{'caid'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do local aid = tostring(Players[v].CharacterAppearanceId) toClipboard(aid) end end) addcmd('norender',{},function(args, speaker) RunService:Set3dRenderingEnabled(false) end) addcmd('render',{},function(args, speaker) RunService:Set3dRenderingEnabled(true) end) addcmd('2022materials',{'use2022materials'},function(args, speaker) if sethidden then sethidden(MaterialService, "Use2022Materials", true) else notify('Incompatible Exploit','Your exploit does not support this command (missing sethiddenproperty)') end end) addcmd('un2022materials',{'unuse2022materials'},function(args, speaker) if sethidden then sethidden(MaterialService, "Use2022Materials", false) else notify('Incompatible Exploit','Your exploit does not support this command (missing sethiddenproperty)') end end) addcmd("goto", {"to"}, function(args, speaker) local character = speaker and speaker.Character local humanoid = character and character:FindFirstChildWhichIsA("Humanoid") local players = getPlayer(args[1], speaker) for _, v in pairs(players) do if Players[v].Character ~= nil then if humanoid and humanoid.SeatPart then humanoid.Sit = false task.wait(0.1) end getRoot(speaker.Character).CFrame = getRoot(Players[v].Character):GetPivot() + Vector3.new(3, 1, 0) end end execCmd("breakvelocity") end) addcmd("tweengoto", {"tgoto", "tto", "tweento"}, function(args, speaker) local character = speaker and speaker.Character local humanoid = character and character:FindFirstChildWhichIsA("Humanoid") local oldState = humanoid and humanoid:GetStateEnabled(Enum.HumanoidStateType.Seated) if humanoid then humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false) end local players = getPlayer(args[1], speaker) for _, v in pairs(players) do if Players[v].Character ~= nil then if humanoid and humanoid.SeatPart then humanoid.Sit = false task.wait(0.1) end TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), { CFrame = getRoot(Players[v].Character):GetPivot() + Vector3.new(3, 1, 0) }):Play() end end execCmd("breakvelocity") if type(oldState) == "boolean" then humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, oldState) end end) addcmd('vehiclegoto',{'vgoto','vtp','vehicletp'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do if Players[v].Character ~= nil then local seat = speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart local vehicleModel = seat:FindFirstAncestorWhichIsA("Model") vehicleModel:MoveTo(getRoot(Players[v].Character).Position) end end end) addcmd('pulsetp',{'ptp'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do if Players[v].Character ~= nil then local startPos = getRoot(speaker.Character).CFrame local seconds = args[2] or 1 if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame + Vector3.new(3,1,0) wait(seconds) getRoot(speaker.Character).CFrame = startPos end end execCmd('breakvelocity') end) local vnoclipParts = {} addcmd('vehiclenoclip',{'vnoclip'},function(args, speaker) vnoclipParts = {} local seat = speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart local vehicleModel = seat.Parent repeat if vehicleModel.ClassName ~= "Model" then vehicleModel = vehicleModel.Parent end until vehicleModel.ClassName == "Model" wait(0.1) execCmd('noclip') for i,v in pairs(vehicleModel:GetDescendants()) do if v:IsA("BasePart") and v.CanCollide then table.insert(vnoclipParts,v) v.CanCollide = false end end end) addcmd("vehicleclip", {"vclip", "unvnoclip", "unvehiclenoclip"}, function(args, speaker) execCmd("clip") for i, v in pairs(vnoclipParts) do v.CanCollide = true end vnoclipParts = {} end) addcmd("togglevnoclip", {}, function(args, speaker) execCmd(Clip and "vnoclip" or "vclip") end) addcmd('clientbring',{'cbring'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do if Players[v].Character ~= nil then if Players[v].Character:FindFirstChildOfClass('Humanoid') then Players[v].Character:FindFirstChildOfClass('Humanoid').Sit = false end wait() getRoot(Players[v].Character).CFrame = getRoot(speaker.Character).CFrame + Vector3.new(3,1,0) end end end) local bringT = {} addcmd('loopbring',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do task.spawn(function() if Players[v].Name ~= speaker.Name and not FindInTable(bringT, Players[v].Name) then table.insert(bringT, Players[v].Name) local plrName = Players[v].Name local pchar=Players[v].Character local distance = 3 if args[2] and isNumber(args[2]) then distance = args[2] end local lDelay = 0 if args[3] and isNumber(args[3]) then lDelay = args[3] end repeat for i,c in pairs(players) do if Players:FindFirstChild(v) then pchar = Players[v].Character if pchar~= nil and Players[v].Character ~= nil and getRoot(pchar) and speaker.Character ~= nil and getRoot(speaker.Character) then getRoot(pchar).CFrame = getRoot(speaker.Character).CFrame + Vector3.new(distance,1,0) end wait(lDelay) else for a,b in pairs(bringT) do if b == plrName then table.remove(bringT, a) end end end end until not FindInTable(bringT, plrName) end end) end end) addcmd('unloopbring',{'noloopbring'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do task.spawn(function() for a,b in pairs(bringT) do if b == Players[v].Name then table.remove(bringT, a) end end end) end end) -- ======================== LOOP CLIENT BRING ALL ======================== -- Brings ALL players to you every 0.2 seconds loopcbringActive = false loopcbringConn = nil addcmd('loopcbring', {}, function(args, speaker) if loopcbringActive then loopcbringActive = false if loopcbringConn then loopcbringConn:Disconnect() loopcbringConn = nil end notify('Loop CBring', 'Stopped') return end local char = speaker.Character if not char or not getRoot(char) then notify('Loop CBring', 'Character not found') return end loopcbringActive = true notify('Loop CBring', 'Active! Bringing all every 0.2s') loopcbringConn = RunService.Heartbeat:Connect(function(dt) if not loopcbringActive then return end task.wait(0.2) if not loopcbringActive then return end local myRoot = getRoot(speaker.Character) if not myRoot then return end for _, plr in pairs(Players:GetPlayers()) do if plr ~= speaker and plr.Character and plr.Character:FindFirstChildWhichIsA('Humanoid') then pcall(function() plr.Character:FindFirstChildWhichIsA('Humanoid').Sit = false end) local pRoot = getRoot(plr.Character) if pRoot then pcall(function() pRoot.CFrame = myRoot.CFrame + Vector3.new(3, 1, 0) end) end end end end) end) walkto = false local waypointwalkto = false addcmd('walkto',{'follow'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do if Players[v].Character ~= nil then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end walkto = true repeat wait() speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(getRoot(Players[v].Character).Position) until Players[v].Character == nil or not getRoot(Players[v].Character) or walkto == false end end end) addcmd('pathfindwalkto',{'pathfindfollow'},function(args, speaker) walkto = false wait() local players = getPlayer(args[1], speaker) local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") local path = PathService:CreatePath() for i,v in pairs(players)do if Players[v].Character ~= nil then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end walkto = true repeat wait() local success, response = pcall(function() path:ComputeAsync(getRoot(speaker.Character).Position, getRoot(Players[v].Character).Position) local waypoints = path:GetWaypoints() local distance for waypointIndex, waypoint in pairs(waypoints) do local waypointPosition = waypoint.Position hum:MoveTo(waypointPosition) repeat distance = (waypointPosition - hum.Parent.PrimaryPart.Position).magnitude wait() until distance <= 5 end end) if not success then speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(getRoot(Players[v].Character).Position) end until Players[v].Character == nil or not getRoot(Players[v].Character) or walkto == false end end end) addcmd('pathfindwalktowaypoint',{'pathfindwalktowp'},function(args, speaker) waypointwalkto = false wait() local WPName = tostring(getstring(1, args)) local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") local path = PathService:CreatePath() if speaker.Character then for i,_ in pairs(WayPoints) do if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end local TrueCoords = Vector3.new(WayPoints[i].COORD[1], WayPoints[i].COORD[2], WayPoints[i].COORD[3]) waypointwalkto = true repeat wait() local success, response = pcall(function() path:ComputeAsync(getRoot(speaker.Character).Position, TrueCoords) local waypoints = path:GetWaypoints() local distance for waypointIndex, waypoint in pairs(waypoints) do local waypointPosition = waypoint.Position hum:MoveTo(waypointPosition) repeat distance = (waypointPosition - hum.Parent.PrimaryPart.Position).magnitude wait() until distance <= 5 end end) if not success then speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(TrueCoords) end until not speaker.Character or waypointwalkto == false end end for i,_ in pairs(pWayPoints) do if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end local TrueCoords = pWayPoints[i].COORD[1].Position waypointwalkto = true repeat wait() local success, response = pcall(function() path:ComputeAsync(getRoot(speaker.Character).Position, TrueCoords) local waypoints = path:GetWaypoints() local distance for waypointIndex, waypoint in pairs(waypoints) do local waypointPosition = waypoint.Position hum:MoveTo(waypointPosition) repeat distance = (waypointPosition - hum.Parent.PrimaryPart.Position).magnitude wait() until distance <= 5 end end) if not success then speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(TrueCoords) end until not speaker.Character or waypointwalkto == false end end end end) addcmd('unwalkto',{'nowalkto','unfollow','nofollow'},function(args, speaker) walkto = false waypointwalkto = false pathfindflyActive = false end) -- pathfindflyto: fly up to escape walls/boxes, then pathfind to target player local pathfindflyActive = false addcmd('pathfindflyto',{'pfflyto'},function(args, speaker) pathfindflyActive = false wait() local players = getPlayer(args[1], speaker) local flyHeight = tonumber(args[2]) or 150 local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") local root = getRoot(speaker.Character) if not hum or not root then return notify('PathfindFly', 'Character not found') end pathfindflyActive = true for i,v in pairs(players) do if pathfindflyActive == false then break end if Players[v].Character ~= nil and getRoot(Players[v].Character) then -- Unsit if seated if hum.SeatPart then hum.Sit = false wait(.1) end notify('PathfindFly', 'Flying up ' .. flyHeight .. ' studs to escape obstacles...') -- Step 1: Fly straight up to escape obstacles local targetPos = root.Position local upTarget = targetPos + Vector3.new(0, flyHeight, 0) local BV = Instance.new('BodyVelocity') local BG = Instance.new('BodyGyro') BV.MaxForce = Vector3.new(9e9, 9e9, 9e9) BV.Velocity = Vector3.new(0, 200, 0) BV.Parent = root BG.MaxTorque = Vector3.new(9e9, 9e9, 9e9) BG.CFrame = root.CFrame BG.Parent = root -- Wait until we reach the target height repeat task.wait() if pathfindflyActive == false then BV:Destroy() BG:Destroy() return end until root.Position.Y >= upTarget.Y or not root BV:Destroy() BG:Destroy() task.wait(0.2) -- Step 2: Pathfind to target player local path = PathService:CreatePath() repeat task.wait() if pathfindflyActive == false then break end local success, errMsg = pcall(function() path:ComputeAsync(root.Position, getRoot(Players[v].Character).Position) local waypoints = path:GetWaypoints() local distance for waypointIndex, waypoint in pairs(waypoints) do if pathfindflyActive == false then break end local waypointPosition = waypoint.Position hum:MoveTo(waypointPosition) repeat distance = (waypointPosition - root.Position).magnitude task.wait() until distance <= 5 or pathfindflyActive == false end end) if not success then hum:MoveTo(getRoot(Players[v].Character).Position) end until Players[v].Character == nil or not getRoot(Players[v].Character) or pathfindflyActive == false end end pathfindflyActive = false end) -- pathfindflytowp: fly up to escape obstacles, then pathfind to waypoint addcmd('pathfindflytowp',{'pfflytowp'},function(args, speaker) pathfindflyActive = false wait() local flyHeight = 150 local WPName = "" -- Parse: pathfindflytowp [height] -- Check if last arg is a number (height) if args[2] and isNumber(args[2]) then flyHeight = tonumber(args[2]) WPName = tostring(getstring(1, args)) elseif args[1] then -- Try to extract a trailing number from the joined string local joined = table.concat(args, ' ') local namePart, heightPart = joined:match('^(.-)%s+(%d+)$') if namePart and heightPart then WPName = namePart flyHeight = tonumber(heightPart) else WPName = joined end end local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") local root = getRoot(speaker.Character) if not hum or not root then return notify('PathfindFly', 'Character not found') end pathfindflyActive = true -- Search in WayPoints local foundWP = false local TrueCoords = nil for i,_ in pairs(WayPoints) do if tostring(WayPoints[i].NAME):lower() == WPName:lower() then TrueCoords = Vector3.new(WayPoints[i].COORD[1], WayPoints[i].COORD[2], WayPoints[i].COORD[3]) foundWP = true break end end -- Search in pWayPoints if not found if not foundWP then for i,_ in pairs(pWayPoints) do if tostring(pWayPoints[i].NAME):lower() == WPName:lower() then TrueCoords = pWayPoints[i].COORD[1].Position foundWP = true break end end end if not foundWP or not TrueCoords then pathfindflyActive = false return notify('PathfindFly', 'Waypoint "' .. tostring(getstring(1, args)) .. '" not found') end -- Unsit if seated if hum.SeatPart then hum.Sit = false wait(.1) end -- Step 1: Fly straight up local upTarget = root.Position + Vector3.new(0, flyHeight, 0) local BV = Instance.new('BodyVelocity') local BG = Instance.new('BodyGyro') BV.MaxForce = Vector3.new(9e9, 9e9, 9e9) BV.Velocity = Vector3.new(0, 200, 0) BV.Parent = root BG.MaxTorque = Vector3.new(9e9, 9e9, 9e9) BG.CFrame = root.CFrame BG.Parent = root repeat task.wait() if pathfindflyActive == false then BV:Destroy() BG:Destroy() return end until root.Position.Y >= upTarget.Y or not root BV:Destroy() BG:Destroy() task.wait(0.2) -- Step 2: Pathfind to waypoint local path = PathService:CreatePath() repeat task.wait() if pathfindflyActive == false then break end local success, errMsg = pcall(function() path:ComputeAsync(root.Position, TrueCoords) local waypoints = path:GetWaypoints() local distance for waypointIndex, waypoint in pairs(waypoints) do if pathfindflyActive == false then break end local waypointPosition = waypoint.Position hum:MoveTo(waypointPosition) repeat distance = (waypointPosition - root.Position).magnitude task.wait() until distance <= 5 or pathfindflyActive == false end end) if not success then hum:MoveTo(TrueCoords) end until not speaker.Character or pathfindflyActive == false pathfindflyActive = false end) addcmd('unpathfindfly',{'unpfflyto','unpffly','stoppffly'},function(args, speaker) pathfindflyActive = false walkto = false waypointwalkto = false local hum = Players.LocalPlayer.Character and Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum:MoveTo(hum.Parent and getRoot(hum.Parent) and getRoot(hum.Parent).Position or Vector3.new(0,0,0)) end notify('PathfindFly', 'Stopped') end) addcmd("orbit", {}, function(args, speaker) execCmd("unorbit nonotify") local target = Players:FindFirstChild(getPlayer(args[1], speaker)[1]) local root = getRoot(speaker.Character) local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") if target and target.Character and getRoot(target.Character) and root and humanoid then local rotation = 0 local speed = tonumber(args[2]) or 0.2 local distance = tonumber(args[3]) or 6 orbit1 = RunService.Heartbeat:Connect(function() pcall(function() rotation = rotation + speed root.CFrame = CFrame.new(getRoot(target.Character).Position) * CFrame.Angles(0, math.rad(rotation), 0) * CFrame.new(distance, 0, 0) end) end) orbit2 = RunService.RenderStepped:Connect(function() pcall(function() root.CFrame = CFrame.new(root.Position, getRoot(target.Character).Position) end) end) orbit3 = humanoid.Died:Connect(function() execCmd("unorbit") end) orbit4 = humanoid.Seated:Connect(function(value) if value then execCmd("unorbit") end end) notify("Orbit", "Started orbiting " .. formatUsername(target)) end end) addcmd("unorbit", {}, function(args, speaker) if orbit1 then orbit1:Disconnect() end if orbit2 then orbit2:Disconnect() end if orbit3 then orbit3:Disconnect() end if orbit4 then orbit4:Disconnect() end if args[1] ~= "nonotify" then notify("Orbit", "Stopped orbiting player") end end) addcmd('freeze',{'fr'},function(args, speaker) local players = getPlayer(args[1], speaker) if players ~= nil then for i,v in pairs(players) do task.spawn(function() for i, x in next, Players[v].Character:GetDescendants() do if x:IsA("BasePart") and not x.Anchored then x.Anchored = true end end end) end end end) addcmd('thaw',{'unfreeze','unfr'},function(args, speaker) local players = getPlayer(args[1], speaker) if players ~= nil then for i,v in pairs(players) do task.spawn(function() for i, x in next, Players[v].Character:GetDescendants() do if x.Name ~= floatName and x:IsA("BasePart") and x.Anchored then x.Anchored = false end end end) end end end) addcmd("anchor", {}, function(args, speaker) getRoot(speaker.Character).Anchored = true end) addcmd("unanchor", {}, function(args, speaker) getRoot(speaker.Character).Anchored = false end) oofing = false addcmd('loopoof',{},function(args, speaker) oofing = true repeat wait(0.1) for i,v in pairs(Players:GetPlayers()) do if v.Character ~= nil and v.Character:FindFirstChild'Head' then for _,x in pairs(v.Character.Head:GetChildren()) do if x:IsA'Sound' then x.Playing = true end end end end until oofing == false end) addcmd('unloopoof',{},function(args, speaker) oofing = false end) local notifiedRespectFiltering = false addcmd('muteboombox',{},function(args, speaker) if not notifiedRespectFiltering and SoundService.RespectFilteringEnabled then notifiedRespectFiltering = true notify('RespectFilteringEnabled','RespectFilteringEnabled is set to true (the command will still work but may only be clientsided)') end local players = getPlayer(args[1], speaker) if players ~= nil then for i,v in pairs(players) do task.spawn(function() for i, x in next, Players[v].Character:GetDescendants() do if x:IsA("Sound") and x.Playing == true then x.Playing = false end end for i, x in next, Players[v]:FindFirstChildOfClass("Backpack"):GetDescendants() do if x:IsA("Sound") and x.Playing == true then x.Playing = false end end end) end end end) addcmd('unmuteboombox',{},function(args, speaker) if not notifiedRespectFiltering and SoundService.RespectFilteringEnabled then notifiedRespectFiltering = true notify('RespectFilteringEnabled','RespectFilteringEnabled is set to true (the command will still work but may only be clientsided)') end local players = getPlayer(args[1], speaker) if players ~= nil then for i,v in pairs(players) do task.spawn(function() for i, x in next, Players[v].Character:GetDescendants() do if x:IsA("Sound") and x.Playing == false then x.Playing = true end end end) end end end) addcmd("reset", {}, function(args, speaker) local humanoid = speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Dead) else speaker.Character:BreakJoints() end end) addcmd('freezeanims',{},function(args, speaker) local Humanoid = speaker.Character:FindFirstChildOfClass("Humanoid") or speaker.Character:FindFirstChildOfClass("AnimationController") local ActiveTracks = Humanoid:GetPlayingAnimationTracks() for _, v in pairs(ActiveTracks) do v:AdjustSpeed(0) end end) addcmd('unfreezeanims',{},function(args, speaker) local Humanoid = speaker.Character:FindFirstChildOfClass("Humanoid") or speaker.Character:FindFirstChildOfClass("AnimationController") local ActiveTracks = Humanoid:GetPlayingAnimationTracks() for _, v in pairs(ActiveTracks) do v:AdjustSpeed(1) end end) addcmd("refresh", {"re"}, function(args, speaker) refresh(speaker) end) addcmd("god", {}, function(args, speaker) local Cam = workspace.CurrentCamera local Char, Pos = speaker.Character, Cam.CFrame local Human = Char and Char:FindFirstChildWhichIsA("Humanoid") local nHuman = Human:Clone() nHuman.Parent = char speaker.Character = nil nHuman:SetStateEnabled(15, false) nHuman:SetStateEnabled(1, false) nHuman:SetStateEnabled(0, false) nHuman.BreakJointsOnDeath = true Human:Destroy() speaker.Character = char Cam.CameraSubject = nHuman Cam.CFrame = task.wait() and pos nHuman.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None local Script = Char:FindFirstChild("Animate") if Script then Script.Disabled = true task.wait() Script.Disabled = false end nHuman.Health = nHuman.MaxHealth end) invisRunning = false addcmd('invisible',{'invis'},function(args, speaker) if invisRunning then return end invisRunning = true -- Full credit to AmokahFox @V3rmillion local Player = speaker repeat wait(.1) until Player.Character local Character = Player.Character Character.Archivable = true local IsInvis = false local IsRunning = true local InvisibleCharacter = Character:Clone() InvisibleCharacter.Parent = Lighting local Void = workspace.FallenPartsDestroyHeight InvisibleCharacter.Name = "" local CF local invisFix = RunService.Stepped:Connect(function() pcall(function() local IsInteger if tostring(Void):find'-' then IsInteger = true else IsInteger = false end local Pos = Player.Character.Humanoid.RootPart.Position local Pos_String = tostring(Pos) local Pos_Seperate = Pos_String:split(', ') local X = tonumber(Pos_Seperate[1]) local Y = tonumber(Pos_Seperate[2]) local Z = tonumber(Pos_Seperate[3]) if IsInteger == true then if Y <= Void then Respawn() end elseif IsInteger == false then if Y >= Void then Respawn() end end end) end) for i,v in pairs(InvisibleCharacter:GetDescendants())do if v:IsA("BasePart") then if v.Name == "HumanoidRootPart" then v.Transparency = 1 else v.Transparency = .5 end end end function Respawn() IsRunning = false if IsInvis == true then pcall(function() Player.Character = Character wait() Character.Parent = workspace Character:FindFirstChildWhichIsA'Humanoid':Destroy() IsInvis = false InvisibleCharacter.Parent = nil invisRunning = false end) elseif IsInvis == false then pcall(function() Player.Character = Character wait() Character.Parent = workspace Character:FindFirstChildWhichIsA'Humanoid':Destroy() TurnVisible() end) end end local invisDied invisDied = InvisibleCharacter:FindFirstChildOfClass'Humanoid'.Died:Connect(function() Respawn() invisDied:Disconnect() end) if IsInvis == true then return end IsInvis = true CF = workspace.CurrentCamera.CFrame local CF_1 = Player.Character.Humanoid.RootPart.CFrame Character:MoveTo(Vector3.new(0,math.pi*1000000,0)) workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable wait(.2) workspace.CurrentCamera.CameraType = Enum.CameraType.Custom InvisibleCharacter = InvisibleCharacter Character.Parent = Lighting InvisibleCharacter.Parent = workspace InvisibleCharacter.Humanoid.RootPart.CFrame = CF_1 Player.Character = InvisibleCharacter execCmd('fixcam') Player.Character.Animate.Disabled = true Player.Character.Animate.Disabled = false function TurnVisible() if IsInvis == false then return end invisFix:Disconnect() invisDied:Disconnect() CF = workspace.CurrentCamera.CFrame Character = Character local CF_1 = Player.Character.Humanoid.RootPart.CFrame Character.Humanoid.RootPart.CFrame = CF_1 InvisibleCharacter:Destroy() Player.Character = Character Character.Parent = workspace IsInvis = false Player.Character.Animate.Disabled = true Player.Character.Animate.Disabled = false invisDied = Character:FindFirstChildOfClass'Humanoid'.Died:Connect(function() Respawn() invisDied:Disconnect() end) invisRunning = false end notify('Invisible','You now appear invisible to other players') end) addcmd("visible", {"vis","uninvisible"}, function(args, speaker) TurnVisible() end) addcmd("toggleinvis", {}, function(args, speaker) execCmd(invisRunning and "visible" or "invisible") end) addcmd('toolinvisible',{'toolinvis','tinvis'},function(args, speaker) local Char = Players.LocalPlayer.Character local touched = false local tpdback = false local box = Instance.new('Part') box.Anchored = true box.CanCollide = true box.Size = Vector3.new(10,1,10) box.Position = Vector3.new(0,10000,0) box.Parent = workspace local boxTouched = box.Touched:connect(function(part) if (part.Parent.Name == Players.LocalPlayer.Name) then if touched == false then touched = true local function apply() local no = Char.Humanoid.RootPart:Clone() task.wait(.25) Char.Humanoid.RootPart:Destroy() no.Parent = Char Char:MoveTo(loc) touched = false end if Char then apply() end end end end) repeat wait() until Char local cleanUp cleanUp = Players.LocalPlayer.CharacterAdded:connect(function(char) boxTouched:Disconnect() box:Destroy() cleanUp:Disconnect() end) loc = Char.Humanoid.RootPart.Position Char:MoveTo(box.Position + Vector3.new(0,.5,0)) end) addcmd("strengthen", {}, function(args, speaker) for _, child in pairs(speaker.Character:GetDescendants()) do if child.ClassName == "Part" then if args[1] then child.CustomPhysicalProperties = PhysicalProperties.new(args[1], 0.3, 0.5) else child.CustomPhysicalProperties = PhysicalProperties.new(100, 0.3, 0.5) end end end end) addcmd("weaken", {}, function(args, speaker) for _, child in pairs(speaker.Character:GetDescendants()) do if child.ClassName == "Part" then if args[1] then child.CustomPhysicalProperties = PhysicalProperties.new(-args[1], 0.3, 0.5) else child.CustomPhysicalProperties = PhysicalProperties.new(0, 0.3, 0.5) end end end end) addcmd("unweaken", {"unstrengthen"}, function(args, speaker) for _, child in pairs(speaker.Character:GetDescendants()) do if child.ClassName == "Part" then child.CustomPhysicalProperties = PhysicalProperties.new(0.7, 0.3, 0.5) end end end) addcmd("breakvelocity", {}, function(args, speaker) local BeenASecond, V3 = false, Vector3.new(0, 0, 0) delay(1, function() BeenASecond = true end) while not BeenASecond do for _, v in ipairs(speaker.Character:GetDescendants()) do if v:IsA("BasePart") then v.Velocity, v.RotVelocity = V3, V3 end end wait() end end) addcmd('jpower',{'jumppower','jp'},function(args, speaker) local jpower = args[1] or 50 if isNumber(jpower) then if speaker.Character:FindFirstChildOfClass('Humanoid').UseJumpPower then speaker.Character:FindFirstChildOfClass('Humanoid').JumpPower = jpower else speaker.Character:FindFirstChildOfClass('Humanoid').JumpHeight = jpower end end end) addcmd("maxslopeangle", {"msa"}, function(args, speaker) local sangle = args[1] or 89 if isNumber(sangle) then speaker.Character:FindFirstChildWhichIsA("Humanoid").MaxSlopeAngle = sangle end end) addcmd("gravity", {"grav"}, function(args, speaker) local grav = args[1] or oldgrav if isNumber(grav) then workspace.Gravity = grav end end) addcmd("hipheight", {"hheight"}, function(args, speaker) local hipHeight = args[1] or (r15(speaker) and 2.1 or 0) if isNumber(hipHeight) then speaker.Character:FindFirstChildWhichIsA("Humanoid").HipHeight = hipHeight end end) addcmd("dance", {}, function(args, speaker) pcall(execCmd, "undance") local dances = {"27789359", "30196114", "248263260", "45834924", "33796059", "28488254", "52155728"} if r15(speaker) then dances = {"3333432454", "4555808220", "4049037604", "4555782893", "10214311282", "10714010337", "10713981723", "10714372526", "10714076981", "10714392151", "11444443576"} end local animation = Instance.new("Animation") animation.AnimationId = "rbxassetid://" .. dances[math.random(1, #dances)] danceTrack = speaker.Character:FindFirstChildWhichIsA("Humanoid"):LoadAnimation(animation) danceTrack.Looped = true danceTrack:Play() end) addcmd("undance", {"nodance"}, function(args, speaker) danceTrack:Stop() danceTrack:Destroy() end) addcmd('nolimbs',{'rlimbs'},function(args, speaker) if r15(speaker) then for i,v in pairs(speaker.Character:GetChildren()) do if v:IsA("BasePart") and v.Name == "RightUpperLeg" or v.Name == "LeftUpperLeg" or v.Name == "RightUpperArm" or v.Name == "LeftUpperArm" then v:Destroy() end end else for i,v in pairs(speaker.Character:GetChildren()) do if v:IsA("BasePart") and v.Name == "Right Leg" or v.Name == "Left Leg" or v.Name == "Right Arm" or v.Name == "Left Arm" then v:Destroy() end end end end) addcmd('noarms',{'rarms'},function(args, speaker) if r15(speaker) then for i,v in pairs(speaker.Character:GetChildren()) do if v:IsA("BasePart") and v.Name == "RightUpperArm" or v.Name == "LeftUpperArm" then v:Destroy() end end else for i,v in pairs(speaker.Character:GetChildren()) do if v:IsA("BasePart") and v.Name == "Right Arm" or v.Name == "Left Arm" then v:Destroy() end end end end) addcmd('nolegs',{'rlegs'},function(args, speaker) if r15(speaker) then for i,v in pairs(speaker.Character:GetChildren()) do if v:IsA("BasePart") and v.Name == "RightUpperLeg" or v.Name == "LeftUpperLeg" then v:Destroy() end end else for i,v in pairs(speaker.Character:GetChildren()) do if v:IsA("BasePart") and v.Name == "Right Leg" or v.Name == "Left Leg" then v:Destroy() end end end end) addcmd("lay", {"laydown"}, function(args, speaker) local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") humanoid.Sit = true task.wait(0.1) humanoid.RootPart.CFrame = humanoid.RootPart.CFrame * CFrame.Angles(math.pi * 0.5, 0, 0) for _, v in ipairs(humanoid:GetPlayingAnimationTracks()) do v:Stop() end end) addcmd("sitwalk", {}, function(args, speaker) local anims = speaker.Character.Animate local sit = anims.sit:FindFirstChildWhichIsA("Animation").AnimationId anims.idle:FindFirstChildWhichIsA("Animation").AnimationId = sit anims.walk:FindFirstChildWhichIsA("Animation").AnimationId = sit anims.run:FindFirstChildWhichIsA("Animation").AnimationId = sit anims.jump:FindFirstChildWhichIsA("Animation").AnimationId = sit speaker.Character:FindFirstChildWhichIsA("Humanoid").HipHeight = not r15(speaker) and -1.5 or 0.5 end) addcmd("nosit", {}, function(args, speaker) speaker.Character:FindFirstChildWhichIsA("Humanoid"):SetStateEnabled(Enum.HumanoidStateType.Seated, false) end) addcmd("unnosit", {}, function(args, speaker) speaker.Character:FindFirstChildWhichIsA("Humanoid"):SetStateEnabled(Enum.HumanoidStateType.Seated, true) end) addcmd("jump", {}, function(args, speaker) speaker.Character:FindFirstChildWhichIsA("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping) end) local infJump infJumpDebounce = false addcmd("infjump", {"infinitejump"}, function(args, speaker) if infJump then infJump:Disconnect() end infJumpDebounce = false infJump = UserInputService.JumpRequest:Connect(function() if not infJumpDebounce then infJumpDebounce = true speaker.Character:FindFirstChildWhichIsA("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping) wait() infJumpDebounce = false end end) end) addcmd("uninfjump", {"uninfinitejump", "noinfjump", "noinfinitejump"}, function(args, speaker) if infJump then infJump:Disconnect() end infJumpDebounce = false end) local flyjump addcmd("flyjump", {}, function(args, speaker) if flyjump then flyjump:Disconnect() end flyjump = UserInputService.JumpRequest:Connect(function() speaker.Character:FindFirstChildWhichIsA("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping) end) end) addcmd("unflyjump", {"noflyjump"}, function(args, speaker) if flyjump then flyjump:Disconnect() end end) local HumanModCons = {} addcmd('autojump',{'ajump'},function(args, speaker) local Char = speaker.Character local Human = Char and Char:FindFirstChildWhichIsA("Humanoid") local function autoJump() if Char and Human then local check1 = workspace:FindPartOnRay(Ray.new(Human.RootPart.Position-Vector3.new(0,1.5,0), Human.RootPart.CFrame.lookVector*3), Human.Parent) local check2 = workspace:FindPartOnRay(Ray.new(Human.RootPart.Position+Vector3.new(0,1.5,0), Human.RootPart.CFrame.lookVector*3), Human.Parent) if check1 or check2 then Human.Jump = true end end end autoJump() HumanModCons.ajLoop = (HumanModCons.ajLoop and HumanModCons.ajLoop:Disconnect() and false) or RunService.RenderStepped:Connect(autoJump) HumanModCons.ajCA = (HumanModCons.ajCA and HumanModCons.ajCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar) Char, Human = nChar, nChar:WaitForChild("Humanoid") autoJump() HumanModCons.ajLoop = (HumanModCons.ajLoop and HumanModCons.ajLoop:Disconnect() and false) or RunService.RenderStepped:Connect(autoJump) end) end) addcmd('unautojump',{'noautojump', 'noajump', 'unajump'},function(args, speaker) HumanModCons.ajLoop = (HumanModCons.ajLoop and HumanModCons.ajLoop:Disconnect() and false) or nil HumanModCons.ajCA = (HumanModCons.ajCA and HumanModCons.ajCA:Disconnect() and false) or nil end) addcmd('edgejump',{'ejump'},function(args, speaker) local Char = speaker.Character local Human = Char and Char:FindFirstChildWhichIsA("Humanoid") -- Full credit to NoelGamer06 @V3rmillion local state local laststate local lastcf local function edgejump() if Char and Human then laststate = state state = Human:GetState() if laststate ~= state and state == Enum.HumanoidStateType.Freefall and laststate ~= Enum.HumanoidStateType.Jumping then Char.Humanoid.RootPart.CFrame = lastcf Char.Humanoid.RootPart.Velocity = Vector3.new(Char.Humanoid.RootPart.Velocity.X, Human.JumpPower or Human.JumpHeight, Char.Humanoid.RootPart.Velocity.Z) end lastcf = Char.Humanoid.RootPart.CFrame end end edgejump() HumanModCons.ejLoop = (HumanModCons.ejLoop and HumanModCons.ejLoop:Disconnect() and false) or RunService.RenderStepped:Connect(edgejump) HumanModCons.ejCA = (HumanModCons.ejCA and HumanModCons.ejCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar) Char, Human = nChar, nChar:WaitForChild("Humanoid") edgejump() HumanModCons.ejLoop = (HumanModCons.ejLoop and HumanModCons.ejLoop:Disconnect() and false) or RunService.RenderStepped:Connect(edgejump) end) end) addcmd('unedgejump',{'noedgejump', 'noejump', 'unejump'},function(args, speaker) HumanModCons.ejLoop = (HumanModCons.ejLoop and HumanModCons.ejLoop:Disconnect() and false) or nil HumanModCons.ejCA = (HumanModCons.ejCA and HumanModCons.ejCA:Disconnect() and false) or nil end) addcmd("team", {}, function(args, speaker) local teamName = getstring(1, args) local team = nil local root = speaker.Character and getRoot(speaker.Character) for _, v in ipairs(Teams:GetChildren()) do if v.Name:lower():match(teamName:lower()) then team = v break end end if not team then return notify("Invalid Team", teamName .. " is not a valid team") end if root and firetouchinterest then for _, v in ipairs(workspace:GetDescendants()) do if v:IsA("SpawnLocation") and v.BrickColor == team.TeamColor and v.AllowTeamChangeOnTouch == true then firetouchinterest(v, root, 0) firetouchinterest(v, root, 1) break end end else speaker.Team = team end end) addcmd('nobgui',{'unbgui','nobillboardgui','unbillboardgui','noname','rohg'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants())do if v:IsA("BillboardGui") or v:IsA("SurfaceGui") then v:Destroy() end end end) addcmd('loopnobgui',{'loopunbgui','loopnobillboardgui','loopunbillboardgui','loopnoname','looprohg'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants())do if v:IsA("BillboardGui") or v:IsA("SurfaceGui") then v:Destroy() end end local function charPartAdded(part) if part:IsA("BillboardGui") or part:IsA("SurfaceGui") then wait() part:Destroy() end end charPartTrigger = speaker.Character.DescendantAdded:Connect(charPartAdded) end) addcmd('unloopnobgui',{'unloopunbgui','unloopnobillboardgui','unloopunbillboardgui','unloopnoname','unlooprohg'},function(args, speaker) if charPartTrigger then charPartTrigger:Disconnect() end end) addcmd('spasm',{},function(args, speaker) if not r15(speaker) then local pchar=speaker.Character local AnimationId = "33796059" SpasmAnim = Instance.new("Animation") SpasmAnim.AnimationId = "rbxassetid://"..AnimationId Spasm = pchar:FindFirstChildOfClass('Humanoid'):LoadAnimation(SpasmAnim) Spasm:Play() Spasm:AdjustSpeed(99) else notify('R6 Required','This command requires the r6 rig type') end end) addcmd('unspasm',{'nospasm'},function(args, speaker) Spasm:Stop() SpasmAnim:Destroy() end) addcmd('headthrow',{},function(args, speaker) if not r15(speaker) then local AnimationId = "35154961" local Anim = Instance.new("Animation") Anim.AnimationId = "rbxassetid://"..AnimationId local k = speaker.Character:FindFirstChildOfClass('Humanoid'):LoadAnimation(Anim) k:Play(0) k:AdjustSpeed(1) else notify('R6 Required','This command requires the r6 rig type') end end) local function anim2track(asset_id) local objs = game:GetObjects(asset_id) for i = 1, #objs do if objs[i]:IsA("Animation") then return objs[i].AnimationId end end return asset_id end addcmd("animation", {"anim"}, function(args, speaker) local animid = tostring(args[1]) if not animid:find("rbxassetid://") then animid = "rbxassetid://" .. animid end animid = anim2track(animid) local animation = Instance.new("Animation") animation.AnimationId = animid local anim = speaker.Character:FindFirstChildWhichIsA("Humanoid"):LoadAnimation(animation) anim.Priority = Enum.AnimationPriority.Movement anim:Play() if args[2] then anim:AdjustSpeed(tostring(args[2])) end end) addcmd("emote", {"em"}, function(args, speaker) local anim = humanoid:PlayEmoteAndGetAnimTrackById(args[1]) if args[2] then anim:AdjustSpeed(tostring(args[2])) end end) addcmd('noanim',{},function(args, speaker) speaker.Character.Animate.Disabled = true end) addcmd('reanim',{},function(args, speaker) speaker.Character.Animate.Disabled = false end) addcmd('animspeed',{},function(args, speaker) local Char = speaker.Character local Hum = Char:FindFirstChildOfClass("Humanoid") or Char:FindFirstChildOfClass("AnimationController") for i,v in next, Hum:GetPlayingAnimationTracks() do v:AdjustSpeed(tonumber(args[1] or 1)) end end) addcmd('copyanimation',{'copyanim','copyemote'},function(args, speaker) local players = getPlayer(args[1], speaker) for _,v in ipairs(players)do local char = Players[v].Character for _, v1 in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetPlayingAnimationTracks()) do v1:Stop() end for _, v1 in pairs(Players[v].Character:FindFirstChildOfClass('Humanoid'):GetPlayingAnimationTracks()) do if not string.find(v1.Animation.AnimationId, "507768375") then local ANIM = speaker.Character:FindFirstChildOfClass('Humanoid'):LoadAnimation(v1.Animation) ANIM:Play(.1, 1, v1.Speed) ANIM.TimePosition = v1.TimePosition task.spawn(function() v1.Stopped:Wait() ANIM:Stop() ANIM:Destroy() end) end end end end) addcmd("copyanimationid", {"copyanimid", "copyemoteid"}, function(args, speaker) local copyAnimId = function(player) local found = "Animations Copied" for _, v in pairs(player.Character:FindFirstChildWhichIsA("Humanoid"):GetPlayingAnimationTracks()) do local animationId = v.Animation.AnimationId local assetId = animationId:find("rbxassetid://") and animationId:match("%d+") if not string.find(animationId, "507768375") and not string.find(animationId, "180435571") then if assetId then local success, result = pcall(function() return MarketplaceService:GetProductInfo(tonumber(assetId)).Name end) local name = success and result or "Failed to get name" found = found .. "\n\nName: " .. name .. "\nAnimation Id: " .. animationId else found = found .. "\n\nAnimation Id: " .. animationId end end end if found ~= "Animations Copied" then toClipboard(found) else notify("Animations", "No animations to copy") end end if args[1] then copyAnimId(Players[getPlayer(args[1], speaker)[1]]) else copyAnimId(speaker) end end) addcmd('stopanimations',{'stopanims','stopanim'},function(args, speaker) local Char = speaker.Character local Hum = Char:FindFirstChildOfClass("Humanoid") or Char:FindFirstChildOfClass("AnimationController") for i,v in next, Hum:GetPlayingAnimationTracks() do v:Stop() end end) addcmd('refreshanimations', {'refreshanimation', 'refreshanims', 'refreshanim'}, function(args, speaker) local Char = speaker.Character or speaker.CharacterAdded:Wait() local Human = Char and Char:WaitForChild('Humanoid', 15) local Animate = Char and Char:WaitForChild('Animate', 15) if not Human or not Animate then return notify('Refresh Animations', 'Failed to get Animate/Humanoid') end Animate.Disabled = true for _, v in ipairs(Human:GetPlayingAnimationTracks()) do v:Stop() end Animate.Disabled = false end) addcmd('allowcustomanim', {'allowcustomanimations'}, function(args, speaker) StarterPlayer.AllowCustomAnimations = true execCmd('refreshanimations') end) addcmd('unallowcustomanim', {'unallowcustomanimations'}, function(args, speaker) StarterPlayer.AllowCustomAnimations = false execCmd('refreshanimations') end) addcmd('loopanimation', {'loopanim'},function(args, speaker) local Char = speaker.Character local Human = Char and Char.FindFirstChildWhichIsA(Char, "Humanoid") for _, v in ipairs(Human.GetPlayingAnimationTracks(Human)) do v.Looped = true end end) addcmd('tpposition',{'tppos'},function(args, speaker) if #args < 3 then return end local tpX,tpY,tpZ = tonumber((args[1]:gsub(",", ""))),tonumber((args[2]:gsub(",", ""))),tonumber((args[3]:gsub(",", ""))) local char = speaker.Character if char and getRoot(char) then getRoot(char).CFrame = CFrame.new(tpX,tpY,tpZ) end end) addcmd('tweentpposition',{'ttppos'},function(args, speaker) if #args < 3 then return end local tpX,tpY,tpZ = tonumber((args[1]:gsub(",", ""))),tonumber((args[2]:gsub(",", ""))),tonumber((args[3]:gsub(",", ""))) local char = speaker.Character if char and getRoot(char) then TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(tpX,tpY,tpZ)}):Play() end end) addcmd("offset", {}, function(args, speaker) if #args < 3 then return end speaker.Character:TranslateBy(Vector3.new(tonumber(args[1]) or 0, tonumber(args[2]) or 0, tonumber(args[3]) or 0)) end) addcmd("tweenoffset", {"toffset"}, function(args, speaker) if #args < 3 then return end local tpX, tpY, tpZ = tonumber(args[1]), tonumber(args[2]), tonumber(args[3]) local root = getRoot(speaker.Character) local pos = root.Position + Vector3.new(tpX, tpY, tpZ) TweenService:Create(root, TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(pos)}):Play() breakVelocity() end) addcmd("clickteleport", {}, function(args, speaker) if speaker ~= Players.LocalPlayer then return end notify("Click TP", "Go to Settings > Keybinds > Add to set up click teleport") end) addcmd("mouseteleport", {"mousetp"}, function(args, speaker) local root = getRoot(speaker.Character) local pos = IYMouse.Hit if root and pos then root.CFrame = CFrame.new(pos.X, pos.Y + 3, pos.Z, select(4, root.CFrame:components())) breakVelocity() end end) addcmd("tptool", {"teleporttool"}, function(args, speaker) local TpTool = Instance.new("Tool") TpTool.Name = "Teleport Tool" TpTool.RequiresHandle = false TpTool.Parent = speaker:FindFirstChildOfClass("Backpack") TpTool.Activated:Connect(function() local root = getRoot(speaker.Character) local pos = IYMouse.Hit if not root or not pos then return end root.CFrame = CFrame.new(pos.X, pos.Y + 3, pos.Z, select(4, root.CFrame:components())) breakVelocity() end) end) addcmd("thru", {}, function(args, speaker) local root = getRoot(speaker.Character) local num = tonumber(args[1]) or 5 local pos = root.CFrame.Position + (root.CFrame.LookVector * num) root.CFrame = CFrame.new(pos, pos + root.CFrame.LookVector) end) addcmd('clickdelete',{},function(args, speaker) if speaker == Players.LocalPlayer then notify('Click Delete','Go to Settings > Keybinds > Add to set up click delete') end end) addcmd('getposition',{'getpos','notifypos','notifyposition'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do local char = Players[v].Character local pos = char and (getRoot(char) or char:FindFirstChildWhichIsA("BasePart")) pos = pos and pos.Position if not pos then return notify('Getposition Error','Missing character') end local roundedPos = math.round(pos.X) .. ", " .. math.round(pos.Y) .. ", " .. math.round(pos.Z) notify('Current Position',roundedPos) end end) addcmd('copyposition',{'copypos'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do local char = Players[v].Character local pos = char and (getRoot(char) or char:FindFirstChildWhichIsA("BasePart")) pos = pos and pos.Position if not pos then return notify('Getposition Error','Missing character') end local roundedPos = math.round(pos.X) .. ", " .. math.round(pos.Y) .. ", " .. math.round(pos.Z) toClipboard(roundedPos) end end) addcmd('walktopos',{'walktoposition'},function(args, speaker) if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end speaker.Character:FindFirstChildOfClass('Humanoid').WalkToPoint = Vector3.new(args[1],args[2],args[3]) end) -- pathfindtopos: pathfind to a specific X Y Z coordinate local pathfindtoposActive = false addcmd('pathfindtopos',{'pftopos','pathfindpos'},function(args, speaker) pathfindtoposActive = false wait() local x, y, z = tonumber(args[1]), tonumber(args[2]), tonumber(args[3]) if not x or not y or not z then return notify('PathfindPos', 'Usage: ;pathfindtopos X Y Z') end local targetPos = Vector3.new(x, y, z) local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") local root = getRoot(speaker.Character) if not hum or not root then return notify('PathfindPos', 'Character not found') end if hum.SeatPart then hum.Sit = false wait(.1) end pathfindtoposActive = true notify('PathfindPos', 'Walking to ' .. x .. ', ' .. y .. ', ' .. z) local path = PathService:CreatePath() repeat task.wait() if pathfindtoposActive == false then break end local success, errMsg = pcall(function() path:ComputeAsync(root.Position, targetPos) local waypoints = path:GetWaypoints() for waypointIndex, waypoint in pairs(waypoints) do if pathfindtoposActive == false then break end local wp = waypoint.Position hum:MoveTo(wp) repeat task.wait() distance = (wp - root.Position).magnitude until distance <= 5 or pathfindtoposActive == false end end) if not success then hum:MoveTo(targetPos) end until pathfindtoposActive == false pathfindtoposActive = false end) addcmd('unpathfindtopos',{'unpftopos'},function(args, speaker) pathfindtoposActive = false notify('PathfindPos', 'Stopped') end) addcmd('speed',{'ws','walkspeed'},function(args, speaker) local speed = tonumber(args[2] or args[1]) or 16 if isNumber(speed) then pcall(function() speaker.Character:FindFirstChildOfClass('Humanoid').WalkSpeed = speed end) desync_applySpeed(speed) end end) addcmd('spoofspeed',{'spoofws','spoofwalkspeed'},function(args, speaker) if args[1] and isNumber(args[1]) then if hookmetamethod then local char = speaker.Character local setspeed; local index; index = hookmetamethod(game, "__index", function(self, key) if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "WalkSpeed" or key == "walkSpeed") and self:IsDescendantOf(char) then return setspeed or args[1] end return index(self, key) end) local newindex; newindex = hookmetamethod(game, "__newindex", function(self, key, value) if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "WalkSpeed" or key == "walkSpeed") and self:IsDescendantOf(char) then setspeed = tonumber(value) end return newindex(self, key, value) end) else notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)') end end end) addcmd('loopspeed',{'loopws'},function(args, speaker) local speed = args[1] or 16 if args[2] then speed = args[2] or 16 end if isNumber(speed) then local Char = speaker.Character or workspace:FindFirstChild(speaker.Name) local Human = Char and Char:FindFirstChildWhichIsA("Humanoid") local function WalkSpeedChange() if Char and Human then Human.WalkSpeed = speed desync_applySpeed(speed) end end WalkSpeedChange() HumanModCons.wsLoop = (HumanModCons.wsLoop and HumanModCons.wsLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("WalkSpeed"):Connect(WalkSpeedChange) HumanModCons.wsCA = (HumanModCons.wsCA and HumanModCons.wsCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar) Char, Human = nChar, nChar:WaitForChild("Humanoid") WalkSpeedChange() HumanModCons.wsLoop = (HumanModCons.wsLoop and HumanModCons.wsLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("WalkSpeed"):Connect(WalkSpeedChange) end) end end) addcmd('unloopspeed',{'unloopws'},function(args, speaker) HumanModCons.wsLoop = (HumanModCons.wsLoop and HumanModCons.wsLoop:Disconnect() and false) or nil HumanModCons.wsCA = (HumanModCons.wsCA and HumanModCons.wsCA:Disconnect() and false) or nil end) addcmd('spoofjumppower',{'spoofjp'},function(args, speaker) if args[1] and isNumber(args[1]) then if hookmetamethod then local char = speaker.Character local setpower; local index; index = hookmetamethod(game, "__index", function(self, key) if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "JumpPower" or key == "jumpPower") and self:IsDescendantOf(char) then return setpower or args[1] end return index(self, key) end) local newindex; newindex = hookmetamethod(game, "__newindex", function(self, key, value) if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "JumpPower" or key == "jumpPower") and self:IsDescendantOf(char) then setpower = tonumber(value) end return newindex(self, key, value) end) else notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)') end end end) addcmd('loopjumppower',{'loopjp','loopjpower'},function(args, speaker) local jpower = args[1] or 50 if isNumber(jpower) then local Char = speaker.Character or workspace:FindFirstChild(speaker.Name) local Human = Char and Char:FindFirstChildWhichIsA("Humanoid") local function JumpPowerChange() if Char and Human then if speaker.Character:FindFirstChildOfClass('Humanoid').UseJumpPower then speaker.Character:FindFirstChildOfClass('Humanoid').JumpPower = jpower else speaker.Character:FindFirstChildOfClass('Humanoid').JumpHeight = jpower end end end JumpPowerChange() HumanModCons.jpLoop = (HumanModCons.jpLoop and HumanModCons.jpLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("JumpPower"):Connect(JumpPowerChange) HumanModCons.jpCA = (HumanModCons.jpCA and HumanModCons.jpCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar) Char, Human = nChar, nChar:WaitForChild("Humanoid") JumpPowerChange() HumanModCons.jpLoop = (HumanModCons.jpLoop and HumanModCons.jpLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("JumpPower"):Connect(JumpPowerChange) end) end end) addcmd('unloopjumppower',{'unloopjp','unloopjpower'},function(args, speaker) local Char = speaker.Character or workspace:FindFirstChild(speaker.Name) local Human = Char and Char:FindFirstChildWhichIsA("Humanoid") HumanModCons.jpLoop = (HumanModCons.jpLoop and HumanModCons.jpLoop:Disconnect() and false) or nil HumanModCons.jpCA = (HumanModCons.jpCA and HumanModCons.jpCA:Disconnect() and false) or nil if Char and Human then if speaker.Character:FindFirstChildOfClass('Humanoid').UseJumpPower then speaker.Character:FindFirstChildOfClass('Humanoid').JumpPower = 50 else speaker.Character:FindFirstChildOfClass('Humanoid').JumpHeight = 50 end end end) addcmd('tools',{'gears'},function(args, speaker) local function copy(instance) for i,c in pairs(instance:GetChildren())do if c:IsA('Tool') or c:IsA('HopperBin') then c:Clone().Parent = speaker:FindFirstChildOfClass("Backpack") end copy(c) end end copy(Lighting) local function copy(instance) for i,c in pairs(instance:GetChildren())do if c:IsA('Tool') or c:IsA('HopperBin') then c:Clone().Parent = speaker:FindFirstChildOfClass("Backpack") end copy(c) end end copy(ReplicatedStorage) notify('Tools','Copied tools from ReplicatedStorage and Lighting') end) addcmd('notools',{'rtools','clrtools','removetools','deletetools','dtools'},function(args, speaker) for i,v in pairs(speaker:FindFirstChildOfClass("Backpack"):GetDescendants()) do if v:IsA('Tool') or v:IsA('HopperBin') then v:Destroy() end end for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA('Tool') or v:IsA('HopperBin') then v:Destroy() end end end) addcmd('deleteselectedtool',{'dst'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA('Tool') or v:IsA('HopperBin') then v:Destroy() end end end) addcmd("console", {}, function(args, speaker) StarterGui:SetCore("DevConsoleVisible", true) end) addcmd('oldconsole',{},function(args, speaker) -- Thanks wally!! notify("Loading",'Hold on a sec') local _, str = pcall(function() return game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/console.lua", true) end) local s, e = loadstring(str) if typeof(s) ~= "function" then return end local success, message = pcall(s) if (not success) then if printconsole then printconsole(message) elseif printoutput then printoutput(message) end end wait(1) notify('Console','Press F9 to open the console') end) addcmd("explorer", {"dex"}, function(args, speaker) notify("Loading", "Hold on a sec") loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/dex.lua"))() end) addcmd('olddex', {'odex'}, function(args, speaker) notify('Loading old explorer', 'Hold on a sec') local getobjects = function(a) local Objects = {} if a then local b = InsertService:LoadLocalAsset(a) if b then table.insert(Objects, b) end end return Objects end local Dex = getobjects("rbxassetid://10055842438")[1] Dex.Parent = PARENT local function Load(Obj, Url) local function GiveOwnGlobals(Func, Script) -- Fix for this edit of dex being poorly made -- I (Alex) would like to commemorate whoever added this dex in somehow finding the worst dex to ever exist local Fenv, RealFenv, FenvMt = {}, { script = Script, getupvalue = function(a, b) return nil -- force it to use globals end, getreg = function() -- It loops registry for some idiotic reason so stop it from doing that and just use a global return {} -- force it to use globals end, getprops = getprops or function(inst) if getproperties then local props = getproperties(inst) if props[1] and gethiddenproperty then local results = {} for _,name in pairs(props) do local success, res = pcall(gethiddenproperty, inst, name) if success then results[name] = res end end return results end return props end return {} end }, {} FenvMt.__index = function(a,b) return RealFenv[b] == nil and getgenv()[b] or RealFenv[b] end FenvMt.__newindex = function(a, b, c) if RealFenv[b] == nil then getgenv()[b] = c else RealFenv[b] = c end end setmetatable(Fenv, FenvMt) pcall(setfenv, Func, Fenv) return Func end local function LoadScripts(_, Script) if Script:IsA("LocalScript") then task.spawn(function() GiveOwnGlobals(loadstring(Script.Source,"="..Script:GetFullName()), Script)() end) end table.foreach(Script:GetChildren(), LoadScripts) end LoadScripts(nil, Obj) end Load(Dex) end) addcmd('remotespy',{'rspy'},function(args, speaker) notify("Loading",'Hold on a sec') -- Full credit to exx, creator of SimpleSpy -- also thanks to Amity for fixing loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/SimpleSpyV3/main.lua"))() end) addcmd("executor", {}, function(args, speaker) -- by dnezero notify("Loading", "Hold on a sec") loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/refs/heads/main/executor.lua"))() end) addcmd("nds", {"naturaldisaster", "disastersurvival"}, function(args, speaker) notify("NDS", "Loading Natural Disaster Survival...") loadstring(game:HttpGet("https://raw.githubusercontent.com/KaterHub-Inc/NaturalDisasterSurvival/refs/heads/main/main.lua"))() end) addcmd('audiologger',{'alogger'},function(args, speaker) notify("Loading",'Hold on a sec') loadstring(game:HttpGet(('https://raw.githubusercontent.com/infyiff/backup/main/audiologger.lua'),true))() end) local loopgoto = nil addcmd('loopgoto',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do loopgoto = nil if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end loopgoto = Players[v] local distance = 3 if args[2] and isNumber(args[2]) then distance = args[2] end local lDelay = 0 if args[3] and isNumber(args[3]) then lDelay = args[3] end repeat if Players:FindFirstChild(v) then if Players[v].Character ~= nil then getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame + Vector3.new(distance,1,0) end wait(lDelay) else loopgoto = nil end until loopgoto ~= Players[v] end end) addcmd('unloopgoto',{'noloopgoto'},function(args, speaker) loopgoto = nil end) addcmd('headsit',{},function(args, speaker) local players = getPlayer(args[1], speaker) if headSit then headSit:Disconnect() end for i,v in pairs(players)do speaker.Character:FindFirstChildOfClass('Humanoid').Sit = true headSit = RunService.Heartbeat:Connect(function() if Players:FindFirstChild(Players[v].Name) and Players[v].Character ~= nil and getRoot(Players[v].Character) and getRoot(speaker.Character) and speaker.Character:FindFirstChildOfClass('Humanoid').Sit == true then getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame * CFrame.Angles(0,math.rad(0),0)* CFrame.new(0,1.6,0.4) else headSit:Disconnect() end end) end end) addcmd('chat',{'say'},function(args, speaker) local cString = getstring(1, args) chatMessage(cString) end) spamming = false spamspeed = 1 addcmd('spam',{},function(args, speaker) spamming = true local spamstring = getstring(1, args) repeat wait(spamspeed) chatMessage(spamstring) until spamming == false end) addcmd('nospam',{'unspam'},function(args, speaker) spamming = false end) addcmd('whisper',{'pm'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do task.spawn(function() local plrName = Players[v].Name local pmstring = getstring(2, args) chatMessage("/w "..plrName.." "..pmstring) end) end end) pmspamming = {} addcmd('pmspam',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do task.spawn(function() local plrName = Players[v].Name if FindInTable(pmspamming, plrName) then return end table.insert(pmspamming, plrName) local pmspamstring = getstring(2, args) repeat if Players:FindFirstChild(v) then wait(spamspeed) chatMessage("/w "..plrName.." "..pmspamstring) else for a,b in pairs(pmspamming) do if b == plrName then table.remove(pmspamming, a) end end end until not FindInTable(pmspamming, plrName) end) end end) addcmd('nopmspam',{'unpmspam'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do task.spawn(function() for a,b in pairs(pmspamming) do if b == Players[v].Name then table.remove(pmspamming, a) end end end) end end) addcmd('spamspeed',{},function(args, speaker) local speed = args[1] or 1 if isNumber(speed) then spamspeed = speed end end) addcmd('bubblechat',{},function(args, speaker) if isLegacyChat then ChatService.BubbleChatEnabled = true else TextChatService.BubbleChatConfiguration.Enabled = true end end) addcmd('unbubblechat',{'nobubblechat'},function(args, speaker) if isLegacyChat then ChatService.BubbleChatEnabled = false else TextChatService.BubbleChatConfiguration.Enabled = false end end) addcmd("chatwindow", {}, function(args, speaker) TextChatService.ChatWindowConfiguration.Enabled = true end) addcmd("unchatwindow", {"nochatwindow"}, function(args, speaker) TextChatService.ChatWindowConfiguration.Enabled = false end) addcmd("darkchat", {}, function(args, speaker) local BCC = TextChatService:FindFirstChildOfClass("BubbleChatConfiguration") local CWC = TextChatService:FindFirstChildOfClass("ChatWindowConfiguration") local CIBC = TextChatService:FindFirstChildOfClass("ChatInputBarConfiguration") if BCC then BCC.Enabled = true BCC.BackgroundColor3 = Color3.fromRGB() BCC.BackgroundTransparency = 0.3 BCC.TailVisible = true BCC.TextColor3 = Color3.fromRGB(0xFF, 0xFF, 0xFF) end if CWC then CWC.Enabled = true CWC.BackgroundColor3 = Color3.fromRGB() CWC.BackgroundTransparency = 0.3 CWC.TextColor3 = Color3.fromRGB(0xFF, 0xFF, 0xFF) CWC.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) CWC.TextStrokeTransparency = 0.5 end if CIBC then CIBC.Enabled = true CIBC.BackgroundColor3 = Color3.fromRGB() CIBC.BackgroundTransparency = 0.5 CIBC.PlaceholderColor3 = Color3.fromRGB(0xFF, 0xFF, 0xFF) CIBC.TextColor3 = Color3.fromRGB(0xFF, 0xFF, 0xFF) CIBC.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) CIBC.TextStrokeTransparency = 0.5 end end) addcmd('blockhead',{},function(args, speaker) speaker.Character.Head:FindFirstChildOfClass("SpecialMesh"):Destroy() end) addcmd('blockhats',{},function(args, speaker) for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do for i,c in pairs(v:GetDescendants()) do if c:IsA("SpecialMesh") then c:Destroy() end end end end) addcmd('blocktool',{},function(args, speaker) for _,v in pairs(speaker.Character:GetChildren()) do if v:IsA("Tool") or v:IsA("HopperBin") then for i,c in pairs(v:GetDescendants()) do if c:IsA("SpecialMesh") then c:Destroy() end end end end end) addcmd('creeper',{},function(args, speaker) if r15(speaker) then speaker.Character.Head:FindFirstChildOfClass("SpecialMesh"):Destroy() speaker.Character.LeftUpperArm:Destroy() speaker.Character.RightUpperArm:Destroy() speaker.Character:FindFirstChildOfClass("Humanoid"):RemoveAccessories() else speaker.Character.Head:FindFirstChildOfClass("SpecialMesh"):Destroy() speaker.Character["Left Arm"]:Destroy() speaker.Character["Right Arm"]:Destroy() speaker.Character:FindFirstChildOfClass("Humanoid"):RemoveAccessories() end end) function getTorso(x) x = x or Players.LocalPlayer.Character return x:FindFirstChild("Torso") or x:FindFirstChild("UpperTorso") or x:FindFirstChild("LowerTorso") or x:FindFirstChild("HumanoidRootPart") end addcmd("bang", {"rape"}, function(args, speaker) execCmd("unbang") wait() local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") bangAnim = Instance.new("Animation") bangAnim.AnimationId = not r15(speaker) and "rbxassetid://148840371" or "rbxassetid://5918726674" bang = humanoid:LoadAnimation(bangAnim) bang:Play(0.1, 1, 1) bang:AdjustSpeed(args[2] or 3) bangDied = humanoid.Died:Connect(function() bang:Stop() bangAnim:Destroy() bangDied:Disconnect() bangLoop:Disconnect() end) if args[1] then local players = getPlayer(args[1], speaker) for _, v in pairs(players) do local bangplr = Players[v].Name local bangOffet = CFrame.new(0, 0, 1.1) bangLoop = RunService.Stepped:Connect(function() pcall(function() local otherRoot = getTorso(Players[bangplr].Character) getRoot(speaker.Character).CFrame = otherRoot.CFrame * bangOffet end) end) end end end) addcmd("unbang", {"unrape"}, function(args, speaker) if bangDied then bangDied:Disconnect() bang:Stop() bangAnim:Destroy() bangLoop:Disconnect() end end) addcmd('carpet',{},function(args, speaker) if not r15(speaker) then execCmd('uncarpet') wait() local players = getPlayer(args[1], speaker) for i,v in pairs(players)do carpetAnim = Instance.new("Animation") carpetAnim.AnimationId = "rbxassetid://282574440" carpet = speaker.Character:FindFirstChildOfClass('Humanoid'):LoadAnimation(carpetAnim) carpet:Play(.1, 1, 1) local carpetplr = Players[v].Name carpetDied = speaker.Character:FindFirstChildOfClass'Humanoid'.Died:Connect(function() carpetLoop:Disconnect() carpet:Stop() carpetAnim:Destroy() carpetDied:Disconnect() end) carpetLoop = RunService.Heartbeat:Connect(function() pcall(function() getRoot(Players.LocalPlayer.Character).CFrame = getRoot(Players[carpetplr].Character).CFrame end) end) end else notify('R6 Required','This command requires the r6 rig type') end end) addcmd('uncarpet',{'nocarpet'},function(args, speaker) if carpetLoop then carpetLoop:Disconnect() carpetDied:Disconnect() carpet:Stop() carpetAnim:Destroy() end end) addcmd('friend',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do speaker:RequestFriendship(Players[v]) end end) addcmd('unfriend',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do speaker:RevokeFriendship(Players[v]) end end) addcmd('bringpart',{},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() and v:IsA("BasePart") then v.CFrame = getRoot(speaker.Character).CFrame end end end) addcmd('bringpartclass',{'bpc'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.ClassName:lower() == getstring(1, args):lower() and v:IsA("BasePart") then v.CFrame = getRoot(speaker.Character).CFrame end end end) gotopartDelay = 0.1 addcmd('gotopart',{'topart'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() and v:IsA("BasePart") then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end wait(gotopartDelay) getRoot(speaker.Character).CFrame = v.CFrame end end end) addcmd('tweengotopart',{'tgotopart','ttopart'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() and v:IsA("BasePart") then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end wait(gotopartDelay) TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = v.CFrame}):Play() end end end) addcmd('gotopartclass',{'gpc'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.ClassName:lower() == getstring(1, args):lower() and v:IsA("BasePart") then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end wait(gotopartDelay) getRoot(speaker.Character).CFrame = v.CFrame end end end) addcmd('tweengotopartclass',{'tgpc'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.ClassName:lower() == getstring(1, args):lower() and v:IsA("BasePart") then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end wait(gotopartDelay) TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = v.CFrame}):Play() end end end) addcmd('gotomodel',{'tomodel'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() and v:IsA("Model") then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end wait(gotopartDelay) getRoot(speaker.Character).CFrame = v:GetModelCFrame() end end end) addcmd('tweengotomodel',{'tgotomodel','ttomodel'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v.Name:lower() == getstring(1, args):lower() and v:IsA("Model") then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end wait(gotopartDelay) TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = v:GetModelCFrame()}):Play() end end end) addcmd('gotopartdelay',{},function(args, speaker) local gtpDelay = args[1] or 0.1 if isNumber(gtpDelay) then gotopartDelay = gtpDelay end end) addcmd('noclickdetectorlimits',{'nocdlimits','removecdlimits'},function(args, speaker) for i,v in ipairs(workspace:GetDescendants()) do if v:IsA("ClickDetector") then v.MaxActivationDistance = math.huge end end end) addcmd('fireclickdetectors',{'firecd','firecds'}, function(args, speaker) if fireclickdetector then if args[1] then local name = getstring(1, args):lower() for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("ClickDetector") and descendant.Name:lower() == name or descendant.Parent.Name:lower() == name then fireclickdetector(descendant) end end else for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("ClickDetector") then fireclickdetector(descendant) end end end else notify("Incompatible Exploit", "Your exploit does not support this command (missing fireclickdetector)") end end) addcmd('noproximitypromptlimits',{'nopplimits','removepplimits'},function(args, speaker) for i,v in pairs(workspace:GetDescendants()) do if v:IsA("ProximityPrompt") then v.MaxActivationDistance = math.huge end end end) addcmd('fireproximityprompts',{'firepp'},function(args, speaker) if fireproximityprompt then if args[1] then local name = getstring(1, args) for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("ProximityPrompt") and descendant.Name == name or descendant.Parent.Name == name then fireproximityprompt(descendant) end end else for _, descendant in ipairs(workspace:GetDescendants()) do if descendant:IsA("ProximityPrompt") then fireproximityprompt(descendant) end end end else notify("Incompatible Exploit", "Your exploit does not support this command (missing fireproximityprompt)") end end) local PromptButtonHoldBegan = nil addcmd('instantproximityprompts',{'instantpp'},function(args, speaker) if fireproximityprompt then execCmd("uninstantproximityprompts") wait(0.1) PromptButtonHoldBegan = ProximityPromptService.PromptButtonHoldBegan:Connect(function(prompt) fireproximityprompt(prompt) end) else notify('Incompatible Exploit','Your exploit does not support this command (missing fireproximityprompt)') end end) addcmd('uninstantproximityprompts',{'uninstantpp'},function(args, speaker) if PromptButtonHoldBegan ~= nil then PromptButtonHoldBegan:Disconnect() PromptButtonHoldBegan = nil end end) addcmd('notifyping',{'ping'},function(args, speaker) notify("Ping", math.round(speaker:GetNetworkPing() * 1000) .. "ms") end) addcmd('grabtools', {}, function(args, speaker) local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") for _, child in ipairs(workspace:GetChildren()) do if speaker.Character and child:IsA("BackpackItem") and child:FindFirstChild("Handle") then humanoid:EquipTool(child) end end if grabtoolsFunc then grabtoolsFunc:Disconnect() end grabtoolsFunc = workspace.ChildAdded:Connect(function(child) if speaker.Character and child:IsA("BackpackItem") and child:FindFirstChild("Handle") then humanoid:EquipTool(child) end end) notify("Grabtools", "Picking up any dropped tools") end) addcmd('nograbtools',{'ungrabtools'},function(args, speaker) if grabtoolsFunc then grabtoolsFunc:Disconnect() end notify("Grabtools", "Grabtools has been disabled") end) local specifictoolremoval = {} addcmd('removespecifictool',{},function(args, speaker) if args[1] and speaker:FindFirstChildOfClass("Backpack") then local tool = string.lower(getstring(1, args)) local RST = RunService.RenderStepped:Connect(function() if speaker:FindFirstChildOfClass("Backpack") then for i,v in pairs(speaker:FindFirstChildOfClass("Backpack"):GetChildren()) do if v.Name:lower() == tool then v:Remove() end end end end) specifictoolremoval[tool] = RST end end) addcmd('unremovespecifictool',{},function(args, speaker) if args[1] then local tool = string.lower(getstring(1, args)) if specifictoolremoval[tool] ~= nil then specifictoolremoval[tool]:Disconnect() specifictoolremoval[tool] = nil end end end) addcmd('clearremovespecifictool',{},function(args, speaker) for obj in pairs(specifictoolremoval) do specifictoolremoval[obj]:Disconnect() specifictoolremoval[obj] = nil end end) addcmd('light',{},function(args, speaker) local light = Instance.new("PointLight") light.Parent = getRoot(speaker.Character) light.Range = 30 if args[1] then light.Brightness = args[2] light.Range = args[1] else light.Brightness = 5 end end) addcmd('unlight',{'nolight'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v.ClassName == "PointLight" then v:Destroy() end end end) addcmd('copytools',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players)do task.spawn(function() for i,v in pairs(Players[v]:FindFirstChildOfClass("Backpack"):GetChildren()) do if v:IsA('Tool') or v:IsA('HopperBin') then v:Clone().Parent = speaker:FindFirstChildOfClass("Backpack") end end end) end end) addcmd('naked',{},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA("Clothing") or v:IsA("ShirtGraphic") then v:Destroy() end end end) addcmd('noface',{'removeface'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA("Decal") and v.Name == 'face' then v:Destroy() end end end) addcmd('spawnpoint',{'spawn'},function(args, speaker) spawnpos = getRoot(speaker.Character).CFrame spawnpoint = true spDelay = tonumber(args[1]) or 0.1 notify('Spawn Point','Spawn point created at '..tostring(spawnpos)) end) addcmd('nospawnpoint',{'nospawn','removespawnpoint'},function(args, speaker) spawnpoint = false notify('Spawn Point','Removed spawn point') end) addcmd('flashback',{'diedtp'},function(args, speaker) if lastDeath ~= nil then if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false wait(.1) end getRoot(speaker.Character).CFrame = lastDeath end end) addcmd('hatspin',{'spinhats'},function(args, speaker) execCmd('unhatspin') wait(.5) for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do local keep = Instance.new("BodyPosition") keep.Name = randomString() keep.Parent = v.Handle local spin = Instance.new("BodyAngularVelocity") spin.Name = randomString() spin.Parent = v.Handle v.Handle:FindFirstChildOfClass("Weld"):Destroy() if args[1] then spin.AngularVelocity = Vector3.new(0, args[1], 0) spin.MaxTorque = Vector3.new(0, args[1] * 2, 0) else spin.AngularVelocity = Vector3.new(0, 100, 0) spin.MaxTorque = Vector3.new(0, 200, 0) end keep.P = 30000 keep.D = 50 spinhats = RunService.Stepped:Connect(function() pcall(function() keep.Position = Players.LocalPlayer.Character.Head.Position end) end) end end) addcmd('unhatspin',{'unspinhats'},function(args, speaker) if spinhats then spinhats:Disconnect() end for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do v.Parent = workspace for i,c in pairs(v.Handle) do if c:IsA("BodyPosition") or c:IsA("BodyAngularVelocity") then c:Destroy() end end wait() v.Parent = speaker.Character end end) addcmd('clearhats',{'cleanhats'},function(args, speaker) if firetouchinterest then local Player = Players.LocalPlayer local Character = Player.Character local Old = getRoot(Character).CFrame local Hats = {} for _, child in ipairs(workspace:GetChildren()) do if child:IsA("Accessory") then table.insert(Hats, child) end end for _, accessory in ipairs(Character:FindFirstChildOfClass("Humanoid"):GetAccessories()) do accessory:Destroy() end for i = 1, #Hats do repeat RunService.Heartbeat:wait() until Hats[i] firetouchinterest(Hats[i].Handle,getRoot(Character),0) repeat RunService.Heartbeat:wait() until Character:FindFirstChildOfClass("Accessory") Character:FindFirstChildOfClass("Accessory"):Destroy() repeat RunService.Heartbeat:wait() until not Character:FindFirstChildOfClass("Accessory") end execCmd("reset") Player.CharacterAdded:Wait() for i = 1,20 do RunService.Heartbeat:Wait() if getRoot(Player.Character) then getRoot(Player.Character).Humanoid.RootPart.CFrame = Old end end else notify("Incompatible Exploit","Your exploit does not support this command (missing firetouchinterest)") end end) addcmd('split',{},function(args, speaker) if r15(speaker) then speaker.Character.UpperTorso.Waist:Destroy() else notify('R15 Required','This command requires the r15 rig type') end end) addcmd('nilchar',{},function(args, speaker) if speaker.Character ~= nil then speaker.Character.Parent = nil end end) addcmd('unnilchar',{'nonilchar'},function(args, speaker) if speaker.Character ~= nil then speaker.Character.Parent = workspace end end) addcmd('noroot',{'removeroot','rroot'},function(args, speaker) if speaker.Character ~= nil then local char = Players.LocalPlayer.Character char.Parent = nil char.Humanoid.RootPart:Destroy() char.Parent = workspace end end) addcmd('replaceroot',{'replacerootpart'},function(args, speaker) if speaker.Character ~= nil and getRoot(speaker.Character) then local Char = speaker.Character local OldParent = Char.Parent local HRP = Char and getRoot(Char) local OldPos = HRP.CFrame Char.Parent = game local HRP1 = HRP:Clone() HRP1.Parent = Char HRP = HRP:Destroy() HRP1.CFrame = OldPos Char.Parent = OldParent end end) addcmd('clearcharappearance',{'clearchar','clrchar'},function(args, speaker) speaker:ClearCharacterAppearance() end) addcmd('equiptools',{},function(args, speaker) for i,v in pairs(speaker:FindFirstChildOfClass("Backpack"):GetChildren()) do if v:IsA("Tool") or v:IsA("HopperBin") then v.Parent = speaker.Character end end end) addcmd('unequiptools',{},function(args, speaker) speaker.Character:FindFirstChildOfClass('Humanoid'):UnequipTools() end) local function GetHandleTools(p) p = p or Players.LocalPlayer local r = {} for _, v in ipairs(p.Character and p.Character:GetChildren() or {}) do if v.IsA(v, "BackpackItem") and v.FindFirstChild(v, "Handle") then r[#r + 1] = v end end for _, v in ipairs(p.Backpack:GetChildren()) do if v.IsA(v, "BackpackItem") and v.FindFirstChild(v, "Handle") then r[#r + 1] = v end end return r end addcmd('dupetools', {'clonetools'}, function(args, speaker) local LOOP_NUM = tonumber(args[1]) or 1 local OrigPos = speaker.Character.Humanoid.RootPart.Position local Tools, TempPos = {}, Vector3.new(math.random(-2e5, 2e5), 2e5, math.random(-2e5, 2e5)) for i = 1, LOOP_NUM do local Human = speaker.Character:WaitForChild("Humanoid") wait(.1, Human.Parent:MoveTo(TempPos)) Human.RootPart.Anchored = speaker:ClearCharacterAppearance(wait(.1)) or true local t = GetHandleTools(speaker) while #t > 0 do for _, v in ipairs(t) do task.spawn(function() for _ = 1, 25 do v.Parent = speaker.Character v.Handle.Anchored = true end for _ = 1, 5 do v.Parent = workspace end table.insert(Tools, v.Handle) end) end t = GetHandleTools(speaker) end wait(.1) speaker.Character = speaker.Character:Destroy() speaker.CharacterAdded:Wait():WaitForChild("Humanoid").Parent:MoveTo(LOOP_NUM == i and OrigPos or TempPos, wait(.1)) if i == LOOP_NUM or i % 5 == 0 then local HRP = speaker.Character.Humanoid.RootPart if type(firetouchinterest) == "function" then for _, v in ipairs(Tools) do v.Anchored = not firetouchinterest(v, HRP, 1, firetouchinterest(v, HRP, 0)) and false or false end else for _, v in ipairs(Tools) do task.spawn(function() local x = v.CanCollide v.CanCollide = false v.Anchored = false for _ = 1, 10 do v.CFrame = HRP.CFrame wait() end v.CanCollide = x end) end end wait(.1) Tools = {} end TempPos = TempPos + Vector3.new(10, math.random(-5, 5), 0) end end) addcmd('touchinterests', {'touchinterest', 'firetouchinterests', 'firetouchinterest'}, function(args, speaker) local Root = getRoot(speaker.Character) or speaker.Character:FindFirstChildWhichIsA("BasePart") if not firetouchinterest then notify("Incompatible Exploit", "Your exploit does not support this command (missing firetouchinterest)") return end local function Touch(x) x = x.FindFirstAncestorWhichIsA(x, "Part") if x then return task.spawn(function() firetouchinterest(x, Root, 1, wait() and firetouchinterest(x, Root, 0)) end) end x.CFrame = Root.CFrame end if args[1] then local name = getstring(1, args):lower() print(name..' -name') for _, v in ipairs(workspace:GetDescendants()) do if v:IsA("TouchTransmitter") and v.Name:lower() == name or v.Parent.Name:lower() == name then Touch(v) end end else for _, v in ipairs(workspace:GetDescendants()) do if v.IsA(v, "TouchTransmitter") then Touch(v) end end end end) -- TouchParts: finds all parts matching a name, teleports player to each one -- Optional delay arg (seconds), default 0.2s touchpartsActive = false addcmd('touchparts', {}, function(args, speaker) if touchpartsActive then touchpartsActive = false notify('TouchParts', 'Stopped') return end local partName = args[1] if not partName or partName == '' then notify('TouchParts', 'Usage: touchparts [part name] [delay]') return end local char = speaker.Character if not char or not getRoot(char) then notify('TouchParts', 'Character not found') return end local delay = tonumber(args[2]) or 0.2 if delay < 0.05 then delay = 0.05 end local targetParts = {} for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('BasePart') and obj.Name:lower():find(partName:lower(), 1, true) then table.insert(targetParts, obj) end end if #targetParts == 0 then notify('TouchParts', 'No parts found matching "' .. partName .. '"') return end notify('TouchParts', 'Found ' .. #targetParts .. ' parts (' .. delay .. 's delay) - teleporting...') touchpartsActive = true spawn(function() local idx = 1 while touchpartsActive and idx <= #targetParts do local part = targetParts[idx] if part and part.Parent then pcall(function() local root = getRoot(char) if root then root.CFrame = part.CFrame + Vector3.new(0, 3, 0) end end) end idx = idx + 1 wait(delay) end touchpartsActive = false pcall(function() notify('TouchParts', 'Done!') end) end) end) addcmd('fullbright',{'fb','fullbrightness'},function(args, speaker) Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) end) addcmd('loopfullbright',{'loopfb'},function(args, speaker) if brightLoop then brightLoop:Disconnect() end local function brightFunc() Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) end brightLoop = RunService.RenderStepped:Connect(brightFunc) end) addcmd('unloopfullbright',{'unloopfb'},function(args, speaker) if brightLoop then brightLoop:Disconnect() end end) addcmd('ambient',{},function(args, speaker) Lighting.Ambient = Color3.new(args[1],args[2],args[3]) Lighting.OutdoorAmbient = Color3.new(args[1],args[2],args[3]) end) addcmd('day',{},function(args, speaker) Lighting.ClockTime = 14 end) addcmd('night',{},function(args, speaker) Lighting.ClockTime = 0 end) addcmd('nofog',{},function(args, speaker) Lighting.FogEnd = 100000 for i,v in pairs(Lighting:GetDescendants()) do if v:IsA("Atmosphere") then v:Destroy() end end end) addcmd('brightness',{},function(args, speaker) Lighting.Brightness = args[1] end) addcmd('globalshadows',{'gshadows'},function(args, speaker) Lighting.GlobalShadows = true end) addcmd('unglobalshadows',{'nogshadows','ungshadows','noglobalshadows'},function(args, speaker) Lighting.GlobalShadows = false end) origsettings = {abt = Lighting.Ambient, oabt = Lighting.OutdoorAmbient, brt = Lighting.Brightness, time = Lighting.ClockTime, fe = Lighting.FogEnd, fs = Lighting.FogStart, gs = Lighting.GlobalShadows} addcmd('restorelighting',{'rlighting'},function(args, speaker) Lighting.Ambient = origsettings.abt Lighting.OutdoorAmbient = origsettings.oabt Lighting.Brightness = origsettings.brt Lighting.ClockTime = origsettings.time Lighting.FogEnd = origsettings.fe Lighting.FogStart = origsettings.fs Lighting.GlobalShadows = origsettings.gs end) addcmd('stun',{'platformstand'},function(args, speaker) speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = true end) addcmd('unstun',{'nostun','unplatformstand','noplatformstand'},function(args, speaker) speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false end) addcmd('norotate',{'noautorotate'},function(args, speaker) speaker.Character:FindFirstChildOfClass('Humanoid').AutoRotate = false end) addcmd('unnorotate',{'autorotate'},function(args, speaker) speaker.Character:FindFirstChildOfClass('Humanoid').AutoRotate = true end) addcmd('enablestate',{},function(args, speaker) local x = args[1] if not tonumber(x) then local x = Enum.HumanoidStateType[args[1]] end speaker.Character:FindFirstChildOfClass("Humanoid"):SetStateEnabled(x, true) end) addcmd('disablestate',{},function(args, speaker) local x = args[1] if not tonumber(x) then local x = Enum.HumanoidStateType[args[1]] end speaker.Character:FindFirstChildOfClass("Humanoid"):SetStateEnabled(x, false) end) addcmd('drophats',{'drophat'},function(args, speaker) if speaker.Character then for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do v.Parent = workspace end end end) addcmd('deletehats',{'nohats','rhats'},function(args, speaker) for i,v in next, speaker.Character:GetDescendants() do if v:IsA("Accessory") then for i,p in next, v:GetDescendants() do if p:IsA("Weld") then p:Destroy() end end end end end) addcmd('droptools',{'droptool'},function(args, speaker) for i,v in pairs(Players.LocalPlayer.Backpack:GetChildren()) do if v:IsA("Tool") then v.Parent = Players.LocalPlayer.Character end end wait() for i,v in pairs(Players.LocalPlayer.Character:GetChildren()) do if v:IsA("Tool") then v.Parent = workspace end end end) addcmd('droppabletools',{},function(args, speaker) if speaker.Character then for _,obj in pairs(speaker.Character:GetChildren()) do if obj:IsA("Tool") then obj.CanBeDropped = true end end end if speaker:FindFirstChildOfClass("Backpack") then for _,obj in pairs(speaker:FindFirstChildOfClass("Backpack"):GetChildren()) do if obj:IsA("Tool") then obj.CanBeDropped = true end end end end) local currentToolSize = "" local currentGripPos = "" addcmd('reach',{},function(args, speaker) execCmd('unreach') wait() for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA("Tool") then if args[1] then currentToolSize = v.Handle.Size currentGripPos = v.GripPos local a = Instance.new("SelectionBox") a.Name = "SelectionBoxCreated" a.Parent = v.Handle a.Adornee = v.Handle v.Handle.Massless = true v.Handle.Size = Vector3.new(0.5,0.5,args[1]) v.GripPos = Vector3.new(0,0,0) speaker.Character:FindFirstChildOfClass('Humanoid'):UnequipTools() else currentToolSize = v.Handle.Size currentGripPos = v.GripPos local a = Instance.new("SelectionBox") a.Name = "SelectionBoxCreated" a.Parent = v.Handle a.Adornee = v.Handle v.Handle.Massless = true v.Handle.Size = Vector3.new(0.5,0.5,60) v.GripPos = Vector3.new(0,0,0) speaker.Character:FindFirstChildOfClass('Humanoid'):UnequipTools() end end end end) addcmd("boxreach", {}, function(args, speaker) execCmd("unreach") wait() for i, v in pairs(speaker.Character:GetDescendants()) do if v:IsA("Tool") then local size = tonumber(args[1]) or 60 currentToolSize = v.Handle.Size currentGripPos = v.GripPos local a = Instance.new("SelectionBox") a.Name = "SelectionBoxCreated" a.Parent = v.Handle a.Adornee = v.Handle v.Handle.Massless = true v.Handle.Size = Vector3.new(size, size, size) v.GripPos = Vector3.new(0, 0, 0) speaker.Character:FindFirstChildOfClass("Humanoid"):UnequipTools() end end end) addcmd('unreach',{'noreach','unboxreach'},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA("Tool") then v.Handle.Size = currentToolSize v.GripPos = currentGripPos v.Handle.SelectionBoxCreated:Destroy() end end end) addcmd('grippos',{},function(args, speaker) for i,v in pairs(speaker.Character:GetDescendants()) do if v:IsA("Tool") then v.Parent = speaker:FindFirstChildOfClass("Backpack") v.GripPos = Vector3.new(args[1],args[2],args[3]) v.Parent = speaker.Character end end end) addcmd('usetools', {}, function(args, speaker) local Backpack = speaker:FindFirstChildOfClass("Backpack") local amount = tonumber(args[1]) or 1 local delay_ = tonumber(args[2]) or false for _, v in ipairs(Backpack:GetChildren()) do v.Parent = speaker.Character task.spawn(function() for _ = 1, amount do v:Activate() if delay_ then wait(delay_) end end v.Parent = Backpack end) end end) addcmd("logs", {}, function(args, speaker) logsEnabled = true jLogsEnabled = true Toggle.Text = "Enabled" Toggle_2.Text = "Enabled" logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil) end) addcmd("chatlogs", {"clogs"}, function(args, speaker) logsEnabled = true join.Visible = false chat.Visible = true table.remove(shade3, table.find(shade3, selectChat)) table.remove(shade2, table.find(shade2, selectJoin)) table.insert(shade2, selectChat) table.insert(shade3, selectJoin) selectJoin.BackgroundColor3 = currentShade3 selectChat.BackgroundColor3 = currentShade2 Toggle.Text = "Enabled" logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil) end) addcmd("joinlogs", {"jlogs"}, function(args, speaker) jLogsEnabled = true chat.Visible = false join.Visible = true table.remove(shade3, table.find(shade3, selectJoin)) table.remove(shade2, table.find(shade2, selectChat)) table.insert(shade2, selectJoin) table.insert(shade3, selectChat) selectChat.BackgroundColor3 = currentShade3 selectJoin.BackgroundColor3 = currentShade2 Toggle_2.Text = "Enabled" logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil) end) addcmd("chatlogswebhook", {"logswebhook"}, function(args, speaker) if not httprequest then return notify("Incompatible Exploit", "Your exploit does not support this command (missing request)") end logsWebhook = args[1] or nil updatesaves() end) flinging = false addcmd('fling',{},function(args, speaker) if flinging then execCmd('unfling') return end flinging = true local me = speaker.Character local myRoot = getRoot(me) if not me or not myRoot then flinging = false return end -- BodyThrust fling (Ultimate FlingGui method) -- DO NOT set CanCollide=false or Massless=true — collision IS the fling mechanism local thrust = Instance.new("BodyThrust") thrust.Name = randomString() thrust.Force = Vector3.new(9999, 9999, 9999) thrust.Parent = myRoot -- Die = auto stop local function flingDiedF() execCmd('unfling') end flingDied = me:FindFirstChildOfClass('Humanoid').Died:Connect(flingDiedF) -- Loop: snap onto nearest player, thrust toward them repeat RunService.Heartbeat:Wait() local nearest = nil local nearestDist = math.huge for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character then local tRoot = getRoot(p.Character) if tRoot and tRoot.Parent then local d = (myRoot.Position - tRoot.Position).Magnitude if d < nearestDist then nearestDist = d nearest = tRoot end end end end if nearest then myRoot.CFrame = nearest.CFrame thrust.Location = nearest.Position end until flinging == false end) addcmd('unfling',{'nofling'},function(args, speaker) if flingDied then flingDied:Disconnect() end flinging = false wait(.1) local speakerChar = speaker.Character if not speakerChar then return end local speakerRoot = getRoot(speakerChar) if not speakerRoot then return end -- Destroy ALL thrusters for i,v in pairs(speakerRoot:GetChildren()) do if v.ClassName == 'BodyThrust' or v.ClassName == 'BodyAngularVelocity' then v:Destroy() end end -- Reset velocity speakerRoot.Velocity = Vector3.new(0, 0, 0) speakerRoot.AssemblyLinearVelocity = Vector3.new(0, 0, 0) speakerRoot.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end) addcmd('togglefling',{},function(args, speaker) if flinging then execCmd('unfling') else execCmd('fling') end end) addcmd("flyfling", {}, function(args, speaker) execCmd("unvehiclefly\\unwalkfling") task.wait() vehicleflyspeed = tonumber(args[1]) or vehicleflyspeed execCmd("vehiclefly\\walkfling") end) addcmd("unflyfling", {}, function(args, speaker) execCmd("unvehiclefly\\unwalkfling\\breakvelocity") end) addcmd("toggleflyfling", {}, function(args, speaker) execCmd(flinging and "unflyfling" or "flyfling") end) walkflinging = false addcmd("walkfling", {}, function(args, speaker) execCmd("unwalkfling") local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") if humanoid then humanoid.Died:Connect(function() execCmd("unwalkfling") end) end execCmd("noclip nonotify") walkflinging = true repeat RunService.Heartbeat:Wait() local character = speaker.Character local root = getRoot(character) local vel, movel = nil, 0.1 while not (character and character.Parent and root and root.Parent) do RunService.Heartbeat:Wait() character = speaker.Character root = getRoot(character) end vel = root.Velocity root.Velocity = vel * 10000 + Vector3.new(0, 10000, 0) RunService.RenderStepped:Wait() if character and character.Parent and root and root.Parent then root.Velocity = vel end RunService.Stepped:Wait() if character and character.Parent and root and root.Parent then root.Velocity = vel + Vector3.new(0, movel, 0) movel = movel * -1 end until walkflinging == false end) addcmd("unwalkfling", {"nowalkfling"}, function(args, speaker) walkflinging = false execCmd("unnoclip nonotify") end) addcmd("togglewalkfling", {}, function(args, speaker) execCmd(walkflinging and "unwalkfling" or "walkfling") end) addcmd('invisfling',{},function(args, speaker) local ch = speaker.Character ch:FindFirstChildWhichIsA("Humanoid"):SetStateEnabled(Enum.HumanoidStateType.Dead, false) local prt=Instance.new("Model") prt.Parent = speaker.Character local z1 = Instance.new("Part") z1.Name="Torso" z1.CanCollide = false z1.Anchored = true local z2 = Instance.new("Part") z2.Name="Head" z2.Parent = prt z2.Anchored = true z2.CanCollide = false local z3 =Instance.new("Humanoid") z3.Name="Humanoid" z3.Parent = prt z1.Position = Vector3.new(0,9999,0) speaker.Character=prt wait(3) speaker.Character=ch wait(3) local Hum = Instance.new("Humanoid") z2:Clone() Hum.Parent = speaker.Character local root = getRoot(speaker.Character) for i,v in pairs(speaker.Character:GetChildren()) do if v ~= root and v.Name ~= "Humanoid" then v:Destroy() end end root.Transparency = 0 root.Color = Color3.new(1, 1, 1) local invisflingStepped invisflingStepped = RunService.Stepped:Connect(function() if speaker.Character and getRoot(speaker.Character) then getRoot(speaker.Character).CanCollide = false else invisflingStepped:Disconnect() end end) sFLY() workspace.CurrentCamera.CameraSubject = root local bambam = Instance.new("BodyThrust") bambam.Parent = getRoot(speaker.Character) bambam.Force = Vector3.new(99999,99999*10,99999) bambam.Location = getRoot(speaker.Character).Position end) addcmd("antifling", {}, function(args, speaker) if antifling then antifling:Disconnect() antifling = nil end antifling = RunService.Stepped:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= speaker and player.Character then for _, v in pairs(player.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end end end) end) addcmd("unantifling", {}, function(args, speaker) if antifling then antifling:Disconnect() antifling = nil end end) addcmd("toggleantifling", {}, function(args, speaker) execCmd(antifling and "unantifling" or "antifling") end) function attach(speaker,target) if tools(speaker) then local char = speaker.Character local tchar = target.Character local hum = speaker.Character:FindFirstChildOfClass("Humanoid") local hrp = getRoot(speaker.Character) local hrp2 = getRoot(target.Character) hum.Name = "1" local newHum = hum:Clone() newHum.Parent = char newHum.Name = "Humanoid" wait() hum:Destroy() workspace.CurrentCamera.CameraSubject = char newHum.DisplayDistanceType = "None" local tool = speaker:FindFirstChildOfClass("Backpack"):FindFirstChildOfClass("Tool") or speaker.Character:FindFirstChildOfClass("Tool") tool.Parent = char hrp.CFrame = hrp2.CFrame * CFrame.new(0, 0, 0) * CFrame.new(math.random(-100, 100)/200,math.random(-100, 100)/200,math.random(-100, 100)/200) local n = 0 repeat wait(.1) n = n + 1 hrp.CFrame = hrp2.CFrame until (tool.Parent ~= char or not hrp or not hrp2 or not hrp.Parent or not hrp2.Parent or n > 250) and n > 2 else notify('Tool Required','You need to have an item in your inventory to use this command') end end function kill(speaker,target,fast) if tools(speaker) then if target ~= nil then local NormPos = getRoot(speaker.Character).CFrame if not fast then refresh(speaker) wait() repeat wait() until speaker.Character ~= nil and getRoot(speaker.Character) wait(0.3) end local hrp = getRoot(speaker.Character) attach(speaker,target) repeat wait() hrp.CFrame = CFrame.new(999999, workspace.FallenPartsDestroyHeight + 5,999999) until not getRoot(target.Character) or not getRoot(speaker.Character) local char = speaker.CharacterAdded:Wait() local humanoid = char:FindFirstChildOfClass("Humanoid") or char.ChildAdded:Wait() while not humanoid:IsA("Humanoid") do humanoid = char:FindFirstChildOfClass("Humanoid") or char.ChildAdded:Wait() end humanoid.RootPart.CFrame = NormPos end else notify('Tool Required','You need to have an item in your inventory to use this command') end end addcmd("handlekill", {"hkill"}, function(args, speaker) if not firetouchinterest then return notify("Incompatible Exploit", "Your exploit does not support this command (missing firetouchinterest)") end if not speaker.Character then return end local tool = speaker.Character:FindFirstChildWhichIsA("Tool") local handle = tool and tool:FindFirstChild("Handle") if not handle then return notify("Handle Kill", "You need to hold a \"Tool\" that does damage on touch. For example a common Sword tool.") end local range = tonumber(args[2]) or math.huge if range ~= math.huge then notify("Handle Kill", ("Started!\nRadius: %s"):format(tostring(range):upper())) end while task.wait() and speaker.Character and tool.Parent and tool.Parent == speaker.Character do for _, plr in next, getPlayer(args[1], speaker) do plr = Players[plr] if plr ~= speaker and plr.Character then local hum = plr.Character:FindFirstChildWhichIsA("Humanoid") local root = hum and getRoot(plr.Character) if root and hum.Health > 0 and hum:GetState() ~= Enum.HumanoidStateType.Dead and speaker:DistanceFromCharacter(root.Position) <= range then firetouchinterest(handle, root, 1) firetouchinterest(handle, root, 0) end end end end notify("Handle Kill", "Stopped!") end) tpwalkStack = 0 addcmd("teleportwalk", {"tpwalk"}, function(args, speaker) pcall(function() tpwalking:Disconnect() end) local character = speaker.Character local humanoid = character and character:FindFirstChildWhichIsA("Humanoid") local speed = (args[1] and isNumber(args[1])) and tonumber(args[1]) or 1 if parseBoolean(args[2]) then tpwalkStack = tpwalkStack + speed end tpwalking = RunService.Heartbeat:Connect(function(delta) if not (character and humanoid and humanoid.Parent) then tpwalking:Disconnect() return end if humanoid.MoveDirection.Magnitude > 0 then character:TranslateBy(humanoid.MoveDirection * (speed + tpwalkStack) * delta * 10) end end) end) addcmd("unteleportwalk", {"untpwalk"}, function(args, speaker) tpwalkStack = 0 tpwalking:Disconnect() end) function bring(speaker,target,fast) if tools(speaker) then if target ~= nil then local NormPos = getRoot(speaker.Character).CFrame if not fast then refresh(speaker) wait() repeat wait() until speaker.Character ~= nil and getRoot(speaker.Character) wait(0.3) end local hrp = getRoot(speaker.Character) attach(speaker,target) repeat wait() hrp.CFrame = NormPos until not getRoot(target.Character) or not getRoot(speaker.Character) local char = speaker.CharacterAdded:Wait() local humanoid = char:FindFirstChildOfClass("Humanoid") or char.ChildAdded:Wait() while not humanoid:IsA("Humanoid") do humanoid = char:FindFirstChildOfClass("Humanoid") or char.ChildAdded:Wait() end humanoid.RootPart.CFrame = NormPos end else notify('Tool Required','You need to have an item in your inventory to use this command') end end function teleport(speaker,target,target2,fast) if tools(speaker) then if target ~= nil then local NormPos = getRoot(speaker.Character).CFrame if not fast then refresh(speaker) wait() repeat wait() until speaker.Character ~= nil and getRoot(speaker.Character) wait(0.3) end local hrp = getRoot(speaker.Character) local hrp2 = getRoot(target2.Character) attach(speaker,target) repeat wait() hrp.CFrame = hrp2.CFrame until not getRoot(target.Character) or not getRoot(speaker.Character) wait(1) local char = speaker.CharacterAdded:Wait() local humanoid = char:FindFirstChildOfClass("Humanoid") or char.ChildAdded:Wait() while not humanoid:IsA("Humanoid") do humanoid = char:FindFirstChildOfClass("Humanoid") or char.ChildAdded:Wait() end humanoid.RootPart.CFrame = NormPos end else notify('Tool Required','You need to have an item in your inventory to use this command') end end addcmd('spin',{},function(args, speaker) local spinSpeed = 20 if args[1] and isNumber(args[1]) then spinSpeed = args[1] end for i,v in pairs(getRoot(speaker.Character):GetChildren()) do if v.Name == "Spinning" then v:Destroy() end end local Spin = Instance.new("BodyAngularVelocity") Spin.Name = "Spinning" Spin.Parent = getRoot(speaker.Character) Spin.MaxTorque = Vector3.new(0, math.huge, 0) Spin.AngularVelocity = Vector3.new(0,spinSpeed,0) end) addcmd('unspin',{},function(args, speaker) for i,v in pairs(getRoot(speaker.Character):GetChildren()) do if v.Name == "Spinning" then v:Destroy() end end end) xrayEnabled = false function xray() for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and not v.Parent:FindFirstChildWhichIsA("Humanoid") and not v.Parent.Parent:FindFirstChildWhichIsA("Humanoid") then v.LocalTransparencyModifier = xrayEnabled and 0.5 or 0 end end end addcmd("xray", {}, function(args, speaker) xrayEnabled = true xray() end) addcmd("unxray", {"noxray"}, function(args, speaker) xrayEnabled = false xray() end) addcmd("togglexray", {}, function(args, speaker) xrayEnabled = not xrayEnabled xray() end) addcmd("loopxray", {}, function(args, speaker) pcall(function() xrayLoop:Disconnect() end) xrayLoop = RunService.RenderStepped:Connect(function() xrayEnabled = true xray() end) end) addcmd("unloopxray", {}, function(args, speaker) pcall(function() xrayLoop:Disconnect() end) xrayEnabled = false xray() end) local walltpTouch = nil addcmd('walltp',{},function(args, speaker) local torso if r15(speaker) then torso = speaker.Character.UpperTorso else torso = speaker.Character.Torso end local function touchedFunc(hit) local Root = getRoot(speaker.Character) if hit:IsA("BasePart") and hit.Position.Y > Root.Position.Y - speaker.Character:FindFirstChildOfClass('Humanoid').HipHeight then local hitP = getRoot(hit.Parent) if hitP ~= nil then Root.CFrame = hit.CFrame * CFrame.new(Root.CFrame.lookVector.X,hitP.Size.Z/2 + speaker.Character:FindFirstChildOfClass('Humanoid').HipHeight,Root.CFrame.lookVector.Z) elseif hitP == nil then Root.CFrame = hit.CFrame * CFrame.new(Root.CFrame.lookVector.X,hit.Size.Y/2 + speaker.Character:FindFirstChildOfClass('Humanoid').HipHeight,Root.CFrame.lookVector.Z) end end end walltpTouch = torso.Touched:Connect(touchedFunc) end) addcmd('unwalltp',{'nowalltp'},function(args, speaker) if walltpTouch then walltpTouch:Disconnect() end end) autoclicking = false addcmd('autoclick',{},function(args, speaker) if mouse1press and mouse1release then execCmd('unautoclick') wait() local clickDelay = 0.1 local releaseDelay = 0.1 if args[1] and isNumber(args[1]) then clickDelay = args[1] end if args[2] and isNumber(args[2]) then releaseDelay = args[2] end autoclicking = true cancelAutoClick = UserInputService.InputBegan:Connect(function(input, gameProcessedEvent) if not gameProcessedEvent then if (input.KeyCode == Enum.KeyCode.Backspace and UserInputService:IsKeyDown(Enum.KeyCode.Equals)) or (input.KeyCode == Enum.KeyCode.Equals and UserInputService:IsKeyDown(Enum.KeyCode.Backspace)) then autoclicking = false cancelAutoClick:Disconnect() end end end) notify('Auto Clicker',"Press [backspace] and [=] at the same time to stop") repeat wait(clickDelay) mouse1press() wait(releaseDelay) mouse1release() until autoclicking == false else notify('Auto Clicker',"Your exploit doesn't have the ability to use the autoclick") end end) addcmd('unautoclick',{'noautoclick'},function(args, speaker) autoclicking = false if cancelAutoClick then cancelAutoClick:Disconnect() end end) addcmd('mousesensitivity',{'ms'},function(args, speaker) UserInputService.MouseDeltaSensitivity = args[1] end) local nameBox = nil local nbSelection = nil addcmd('hovername',{},function(args, speaker) execCmd('unhovername') wait() nameBox = Instance.new("TextLabel") nameBox.Name = randomString() nameBox.Parent = ScaledHolder nameBox.BackgroundTransparency = 1 nameBox.Size = UDim2.new(0,200,0,30) nameBox.Font = Enum.Font.Code nameBox.TextSize = 16 nameBox.Text = "" nameBox.TextColor3 = Color3.new(1, 1, 1) nameBox.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) nameBox.TextStrokeTransparency = 0 nameBox.TextXAlignment = Enum.TextXAlignment.Left nameBox.ZIndex = 10 nbSelection = Instance.new('SelectionBox') nbSelection.Name = randomString() nbSelection.LineThickness = 0.03 nbSelection.Color3 = Color3.new(1, 1, 1) local function updateNameBox() local t local target = IYMouse.Target if target then local humanoid = target.Parent:FindFirstChildOfClass("Humanoid") or target.Parent.Parent:FindFirstChildOfClass("Humanoid") if humanoid then t = humanoid.Parent end end if t ~= nil then local x = IYMouse.X local y = IYMouse.Y local xP local yP if IYMouse.X > 200 then xP = x - 205 nameBox.TextXAlignment = Enum.TextXAlignment.Right else xP = x + 25 nameBox.TextXAlignment = Enum.TextXAlignment.Left end nameBox.Position = UDim2.new(0, xP, 0, y) nameBox.Text = t.Name nameBox.Visible = true nbSelection.Parent = t nbSelection.Adornee = t else nameBox.Visible = false nbSelection.Parent = nil nbSelection.Adornee = nil end end nbUpdateFunc = IYMouse.Move:Connect(updateNameBox) end) addcmd('unhovername',{'nohovername'},function(args, speaker) if nbUpdateFunc then nbUpdateFunc:Disconnect() nameBox:Destroy() nbSelection:Destroy() end end) addcmd('headsize',{},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do if Players[v] ~= speaker and Players[v].Character:FindFirstChild('Head') then local sizeArg = tonumber(args[2]) local Size = Vector3.new(sizeArg,sizeArg,sizeArg) local Head = Players[v].Character:FindFirstChild('Head') if Head:IsA("BasePart") then Head.CanCollide = false if not args[2] or sizeArg == 1 then Head.Size = Vector3.new(2,1,1) else Head.Size = Size end end end end end) addcmd('hitbox',{},function(args, speaker) local players = getPlayer(args[1], speaker) local transparency = args[3] and tonumber(args[3]) or 0.4 for i,v in pairs(players) do if Players[v] ~= speaker and getRoot(Players[v].Character) then local sizeArg = tonumber(args[2]) local Size = Vector3.new(sizeArg,sizeArg,sizeArg) local Root = getRoot(Players[v].Character) if Root:IsA("BasePart") then Root.CanCollide = false if not args[2] or sizeArg == 1 then Root.Size = Vector3.new(2,1,1) Root.Transparency = transparency else Root.Size = Size Root.Transparency = transparency end end end end end) addcmd('stareat',{'stare'},function(args, speaker) local players = getPlayer(args[1], speaker) for i,v in pairs(players) do if stareLoop then stareLoop:Disconnect() end if not getRoot(Players.LocalPlayer.Character) and getRoot(Players[v].Character) then return end local function stareFunc() if Players.LocalPlayer.Character.PrimaryPart and Players:FindFirstChild(v) and Players[v].Character ~= nil and getRoot(Players[v].Character) then local chrPos=Players.LocalPlayer.Character.PrimaryPart.Position local tPos=getRoot(Players[v].Character).Position local modTPos=Vector3.new(tPos.X,chrPos.Y,tPos.Z) local newCF=CFrame.new(chrPos,modTPos) Players.LocalPlayer.Character:SetPrimaryPartCFrame(newCF) elseif not Players:FindFirstChild(v) then stareLoop:Disconnect() end end stareLoop = RunService.RenderStepped:Connect(stareFunc) end end) addcmd('unstareat',{'unstare','nostare','nostareat'},function(args, speaker) if stareLoop then stareLoop:Disconnect() end end) RolewatchData = {Group = 0, Role = "", Leave = false} RolewatchConnection = Players.PlayerAdded:Connect(function(player) if RolewatchData.Group == 0 then return end if player:IsInGroup(RolewatchData.Group) then if tostring(player:GetRoleInGroup(RolewatchData.Group)):lower() == RolewatchData.Role:lower() then if RolewatchData.Leave == true then Players.LocalPlayer:Kick("\n\nRolewatch\nPlayer \"" .. tostring(player.Name) .. "\" has joined with the Role \"" .. RolewatchData.Role .. "\"\n") else notify("Rolewatch", "Player \"" .. tostring(player.Name) .. "\" has joined with the Role \"" .. RolewatchData.Role .. "\"") end end end end) addcmd("rolewatch", {}, function(args, speaker) local groupId = tonumber(args[1] or 0) local roleName = args[2] and tostring(getstring(2, args)) if groupId and roleName then RolewatchData.Group = groupId RolewatchData.Role = roleName notify("Rolewatch", "Watching Group ID \"" .. tostring(groupId) .. "\" for Role \"" .. roleName .. "\"") end end) addcmd("rolewatchstop", {}, function(args, speaker) RolewatchData.Group = 0 RolewatchData.Role = "" RolewatchData.Leave = false notify("Rolewatch", "Disabled") end) addcmd("rolewatchleave", {"unrolewatch"}, function(args, speaker) RolewatchData.Leave = not RolewatchData.Leave notify("Rolewatch", RolewatchData.Leave and "Leave has been Enabled" or "Leave has been Disabled") end) staffRoles = {"mod", "admin", "staff", "dev", "founder", "owner", "supervis", "manager", "management", "executive", "president", "chairman", "chairwoman", "chairperson", "director"} getStaffRole = function(player) local playerRole = player:GetRoleInGroup(game.CreatorId) local result = {Role = playerRole, Staff = false} if player:IsInGroup(1200769) then result.Role = "Roblox Employee" result.Staff = true end for _, role in pairs(staffRoles) do if string.find(string.lower(playerRole), role) then result.Staff = true end end return result end addcmd("staffwatch", {}, function(args, speaker) if staffwatchjoin then staffwatchjoin:Disconnect() end if game.CreatorType == Enum.CreatorType.Group then local found = {} staffwatchjoin = Players.PlayerAdded:Connect(function(player) local result = getStaffRole(player) if result.Staff then notify("Staffwatch", formatUsername(player) .. " is a " .. result.Role) end end) for _, player in pairs(Players:GetPlayers()) do local result = getStaffRole(player) if result.Staff then table.insert(found, formatUsername(player) .. " is a " .. result.Role) end end if #found > 0 then notify("Staffwatch", table.concat(found, ",\n")) else notify("Staffwatch", "Enabled") end else notify("Staffwatch", "Game is not owned by a Group") end end) addcmd("unstaffwatch", {}, function(args, speaker) if staffwatchjoin then staffwatchjoin:Disconnect() end notify("Staffwatch", "Disabled") end) local function playerGroups() local players = Players:GetPlayers() local graph = {} local seen = {} local groups = {} for _, p in ipairs(players) do graph[p] = {} end for i = 1, #players do for j = i + 1, #players do local p1 = players[i] local p2 = players[j] local success, result = pcall(function() return p1:IsFriendsWithAsync(p2.UserId) end) if success and result then table.insert(graph[p1], p2) table.insert(graph[p2], p1) end end end local function dfs(player, group) seen[player] = true table.insert(group, player) for _, possible in ipairs(graph[player]) do if not seen[possible] then dfs(possible, group) end end end for _, p in ipairs(players) do if not seen[p] then local group = {} dfs(p, group) table.insert(groups, group) end end return groups end addcmd("findfriendgroups", {}, function(args, speaker) notify("Checking Players", "This might take a while (slow function)") local groups = playerGroups() local playerList = StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.PlayerList) local result = "" local index = 1 local found = 0 for _, group in ipairs(groups) do if #group > 1 then local names = {} for _, player in ipairs(group) do table.insert(names, playerList and player.DisplayName or player.Name) end result = result .. index .. ". " .. table.concat(names, ", ") .. "\n" index = index + 1 found = found + 1 end end createPopup("Friend Groups", found == 0 and "None" or result) end) addcmd('removeterrain',{'rterrain','noterrain'},function(args, speaker) workspace:FindFirstChildOfClass('Terrain'):Clear() end) addcmd('clearnilinstances',{'nonilinstances','cni'},function(args, speaker) if getnilinstances then for i,v in pairs(getnilinstances()) do v:Destroy() end else notify('Incompatible Exploit','Your exploit does not support this command (missing getnilinstances)') end end) addcmd('destroyheight',{'dh'},function(args, speaker) local dh = args[1] or -500 if isNumber(dh) then workspace.FallenPartsDestroyHeight = dh end end) OrgDestroyHeight = workspace.FallenPartsDestroyHeight addcmd("antivoid", {}, function(args, speaker) execCmd("unantivoid nonotify") task.wait() antivoidloop = RunService.Stepped:Connect(function() local root = getRoot(speaker.Character) if root and root.Position.Y <= OrgDestroyHeight + 25 then root.Velocity = root.Velocity + Vector3.new(0, 250, 0) end end) if args[1] ~= "nonotify" then notify("antivoid", "Enabled") end end) addcmd("unantivoid", {"noantivoid"}, function(args, speaker) pcall(function() antivoidloop:Disconnect() end) antivoidloop = nil if args[1] ~= "nonotify" then notify("antivoid", "Disabled") end end) antivoidWasEnabled = false addcmd("fakeout", {}, function(args, speaker) local root = getRoot(speaker.Character) local oldpos = root.CFrame if antivoidloop then execCmd("unantivoid nonotify") antivoidWasEnabled = true end workspace.FallenPartsDestroyHeight = 0/1/0 root.CFrame = CFrame.new(Vector3.new(0, OrgDestroyHeight - 25, 0)) task.wait(1) root.CFrame = oldpos workspace.FallenPartsDestroyHeight = OrgDestroyHeight if antivoidWasEnabled then execCmd("antivoid nonotify") antivoidWasEnabled = false end end) addcmd("trip", {}, function(args, speaker) local humanoid = speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") local root = speaker.Character and getRoot(speaker.Character) if humanoid and root then humanoid:ChangeState(Enum.HumanoidStateType.FallingDown) root.Velocity = root.CFrame.LookVector * 30 end end) addcmd("removeads", {"adblock"}, function(args, speaker) while wait() do pcall(function() for i, v in pairs(workspace:GetDescendants()) do if v:IsA("PackageLink") then if v.Parent:FindFirstChild("ADpart") then v.Parent:Destroy() end if v.Parent:FindFirstChild("AdGuiAdornee") then v.Parent.Parent:Destroy() end end end end) end end) addcmd("scare", {"spook"}, function(args, speaker) local players = getPlayer(args[1], speaker) local oldpos = nil for _, v in pairs(players) do local root = speaker.Character and getRoot(speaker.Character) local target = Players[v] local targetRoot = target and target.Character and getRoot(target.Character) if root and targetRoot and target ~= speaker then oldpos = root.CFrame root.CFrame = targetRoot.CFrame + targetRoot.CFrame.lookVector * 2 root.CFrame = CFrame.new(root.Position, targetRoot.Position) task.wait(0.5) root.CFrame = oldpos end end end) addcmd("alignmentkeys", {}, function(args, speaker) alignmentKeys = UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Comma then workspace.CurrentCamera:PanUnits(-1) end if input.KeyCode == Enum.KeyCode.Period then workspace.CurrentCamera:PanUnits(1) end end) alignmentKeysEmotes = StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu) StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false) end) addcmd("unalignmentkeys", {"noalignmentkeys"}, function(args, speaker) if type(alignmentKeysEmotes) == "boolean" then StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, alignmentKeysEmotes) end alignmentKeys:Disconnect() end) addcmd("ctrllock", {}, function(args, speaker) local mouseLockController = speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("CameraModule"):WaitForChild("MouseLockController") local boundKeys = mouseLockController:FindFirstChild("BoundKeys") if boundKeys then boundKeys.Value = "LeftControl" else boundKeys = Instance.new("StringValue") boundKeys.Name = "BoundKeys" boundKeys.Value = "LeftControl" boundKeys.Parent = mouseLockController end end) addcmd("unctrllock", {}, function(args, speaker) local mouseLockController = speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("CameraModule"):WaitForChild("MouseLockController") local boundKeys = mouseLockController:FindFirstChild("BoundKeys") if boundKeys then boundKeys.Value = "LeftShift" else boundKeys = Instance.new("StringValue") boundKeys.Name = "BoundKeys" boundKeys.Value = "LeftShift" boundKeys.Parent = mouseLockController end end) addcmd("listento", {}, function(args, speaker) execCmd("unlistento") if not args[1] then return end local player = Players:FindFirstChild(getPlayer(args[1], speaker)[1]) local root = player and player.Character and getRoot(player.Character) if root then SoundService:SetListener(Enum.ListenerType.ObjectPosition, root) listentoChar = player.CharacterAdded:Connect(function() repeat task.wait() until Players[player.Name].Character ~= nil and getRoot(Players[player.Name].Character) SoundService:SetListener(Enum.ListenerType.ObjectPosition, getRoot(Players[player.Name].Character)) end) end end) addcmd("unlistento", {}, function(args, speaker) SoundService:SetListener(Enum.ListenerType.Camera) listentoChar:Disconnect() end) addcmd("jerk", {}, function(args, speaker) local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid") local backpack = speaker:FindFirstChildWhichIsA("Backpack") if not humanoid or not backpack then return end local tool = Instance.new("Tool") tool.Name = "Jerk Off" tool.ToolTip = "in the stripped club. straight up \"jorking it\" . and by \"it\" , haha, well. let's justr say. My peanits." tool.RequiresHandle = false tool.Parent = backpack local jorkin = false local track = nil local function stopTomfoolery() jorkin = false if track then track:Stop() track = nil end end tool.Equipped:Connect(function() jorkin = true end) tool.Unequipped:Connect(stopTomfoolery) humanoid.Died:Connect(stopTomfoolery) while task.wait() do if jorkin then local isR15 = r15(speaker) if not track then local anim = Instance.new("Animation") anim.AnimationId = not isR15 and "rbxassetid://72042024" or "rbxassetid://698251653" track = humanoid:LoadAnimation(anim) end track:Play() track:AdjustSpeed(isR15 and 0.7 or 0.65) track.TimePosition = 0.6 task.wait(0.1) while track and track.TimePosition < (not isR15 and 0.65 or 0.7) do task.wait(0.1) end if track then track:Stop() track = nil end end end end) addcmd("guiscale", {}, function(args, speaker) if args[1] and isNumber(args[1]) then local scale = tonumber(args[1]) if scale % 1 == 0 then scale = scale / 100 end -- me when i divide and it explodes if scale == 0.01 then scale = 1 end if scale == 0.02 then scale = 2 end if scale >= 0.4 and scale <= 2 then guiScale = scale end else guiScale = defaultGuiScale end Scale.Scale = math.max(Holder.AbsoluteSize.X / 1920, guiScale) updatesaves() end) addcmd("muteallvoices", {"muteallvcs"}, function(args, speaker) Services.VoiceChatInternal:SubscribePauseAll(true) end) addcmd("unmuteallvoices", {"unmuteallvcs"}, function(args, speaker) Services.VoiceChatInternal:SubscribePauseAll(false) end) addcmd("mutevc", {}, function(args, speaker) for _, plr in getPlayer(args[1], speaker) do if Players[plr] ~= speaker then Services.VoiceChatInternal:SubscribePause(Players[plr].UserId, true) end end end) addcmd("unmutevc", {}, function(args, speaker) for _, plr in getPlayer(args[1], speaker) do if Players[plr] ~= speaker then Services.VoiceChatInternal:SubscribePause(Players[plr].UserId, false) end end end) addcmd("phonebook", {"call"}, function(args, speaker) local success, canInvite = pcall(function() return SocialService:CanSendCallInviteAsync(speaker) end) if success and canInvite then SocialService:PromptPhoneBook(speaker, "") else notify("Phonebook", "It seems you're not able to call anyone. Sorry!") end end) local freezingua = nil frozenParts = {} addcmd('freezeunanchored',{'freezeua'},function(args, speaker) local badnames = { "Head", "UpperTorso", "LowerTorso", "RightUpperArm", "LeftUpperArm", "RightLowerArm", "LeftLowerArm", "RightHand", "LeftHand", "RightUpperLeg", "LeftUpperLeg", "RightLowerLeg", "LeftLowerLeg", "RightFoot", "LeftFoot", "Torso", "Right Arm", "Left Arm", "Right Leg", "Left Leg", "HumanoidRootPart" } local function FREEZENOOB(v) if v:IsA("BasePart" or "UnionOperation") and v.Anchored == false then local BADD = false for i = 1,#badnames do if v.Name == badnames[i] then BADD = true end end if speaker.Character and v:IsDescendantOf(speaker.Character) then BADD = true end if BADD == false then for i,c in pairs(v:GetChildren()) do if c:IsA("BodyPosition") or c:IsA("BodyGyro") then c:Destroy() end end local bodypos = Instance.new("BodyPosition") bodypos.Parent = v bodypos.Position = v.Position bodypos.MaxForce = Vector3.new(math.huge,math.huge,math.huge) local bodygyro = Instance.new("BodyGyro") bodygyro.Parent = v bodygyro.CFrame = v.CFrame bodygyro.MaxTorque = Vector3.new(math.huge,math.huge,math.huge) if not table.find(frozenParts,v) then table.insert(frozenParts,v) end end end end for i,v in pairs(workspace:GetDescendants()) do FREEZENOOB(v) end freezingua = workspace.DescendantAdded:Connect(FREEZENOOB) end) addcmd('thawunanchored',{'thawua','unfreezeunanchored','unfreezeua'},function(args, speaker) if freezingua then freezingua:Disconnect() end for i,v in pairs(frozenParts) do for i,c in pairs(v:GetChildren()) do if c:IsA("BodyPosition") or c:IsA("BodyGyro") then c:Destroy() end end end frozenParts = {} end) addcmd('tpunanchored',{'tpua'},function(args, speaker) local players = getPlayer(args[1], speaker) if not players or #players == 0 then notify('TPUA', 'No player found') return end local tpForces = {} local skipNames = {"Torso", "Head", "Right Arm", "Left Arm", "Right Leg", "Left Leg", "HumanoidRootPart"} for _, part in pairs(workspace:GetDescendants()) do if part:IsA("BasePart") and not part.Anchored then -- Skip parts belonging to any player character local skipPart = false if speaker.Character and speaker.Character:IsAncestorOf(part) then skipPart = true end if not skipPart then for _, p in pairs(Players:GetPlayers()) do if p.Character and p.Character:IsAncestorOf(part) then skipPart = true break end end end -- Also skip parts with character body part names if not skipPart then for _, n in pairs(skipNames) do if part.Name == n then skipPart = true break end end end if not skipPart then -- Remove existing BodyPosition/BodyGyro for _, c in pairs(part:GetChildren()) do if c:IsA("BodyPosition") or c:IsA("BodyGyro") then c:Destroy() end end local force = Instance.new("BodyPosition") force.MaxForce = Vector3.new(math.huge, math.huge, math.huge) force.Parent = part table.insert(tpForces, {force = force, part = part}) end end end -- Set target positions (teleport all parts to each target player) for _, p in pairs(players) do if p.Character and p.Character:FindFirstChild('Head') then local targetPos = p.Character.Head.Position for _, entry in pairs(tpForces) do entry.force.Position = targetPos end end end notify('TPUA', 'Teleported ' .. #tpForces .. ' parts') end) end -- ROTATESPEED section -- ======================== ARCO YIELD CUSTOMIZATIONS ======================== -- Theme: Black backdrop, White text, Blue glow -- Popup GUI, Trail system, Aura system, Effects, HUD, Cosmetics, Animations -- ======================== POPUP GUI SYSTEM ======================== local ArcPopupGui = nil local ArcPopupFrame = nil local ArcPopupQueue = {} local function showArcPopup(featureName, enabled) table.insert(ArcPopupQueue, {name = featureName, on = enabled}) if #ArcPopupQueue > 1 then return end spawn(function() while #ArcPopupQueue > 0 do local data = table.remove(ArcPopupQueue, 1) if not ArcPopupGui then ArcPopupGui = Instance.new('ScreenGui') ArcPopupGui.Name = 'ArcYieldPopup' ArcPopupGui.ResetOnSpawn = false ArcPopupGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ArcPopupGui.Parent = game:GetService('CoreGui') ArcPopupFrame = Instance.new('Frame') ArcPopupFrame.Size = UDim2.new(0, 280, 0, 55) ArcPopupFrame.Position = UDim2.new(0.5, -140, 0, -65) ArcPopupFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) ArcPopupFrame.BackgroundTransparency = 0.15 ArcPopupFrame.BorderSizePixel = 0 ArcPopupFrame.Parent = ArcPopupGui local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 8) corner.Parent = ArcPopupFrame local stroke = Instance.new('UIStroke') stroke.Color = Color3.fromRGB(50, 100, 255) stroke.Thickness = 1.5 stroke.Transparency = 0.3 stroke.Parent = ArcPopupFrame local accent = Instance.new('Frame') accent.Size = UDim2.new(0, 5, 0, 55) accent.BackgroundColor3 = Color3.fromRGB(50, 120, 255) accent.BorderSizePixel = 0 local ac = Instance.new('UICorner') ac.CornerRadius = UDim.new(0, 3) ac.Parent = accent accent.Parent = ArcPopupFrame local tl = Instance.new('TextLabel') tl.Name = 'Title' tl.Size = UDim2.new(1, -20, 0, 28) tl.Position = UDim2.new(0, 14, 0, 2) tl.BackgroundTransparency = 1 tl.Text = '' tl.TextColor3 = Color3.fromRGB(220, 230, 255) tl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) tl.TextStrokeTransparency = 0.6 tl.Font = Enum.Font.GothamBold tl.TextSize = 16 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Parent = ArcPopupFrame local sl = Instance.new('TextLabel') sl.Name = 'Status' sl.Size = UDim2.new(1, -20, 0, 20) sl.Position = UDim2.new(0, 14, 0, 28) sl.BackgroundTransparency = 1 sl.Text = '' sl.TextColor3 = Color3.fromRGB(100, 255, 130) sl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) sl.TextStrokeTransparency = 0.8 sl.Font = Enum.Font.Gotham sl.TextSize = 13 sl.TextXAlignment = Enum.TextXAlignment.Left sl.Parent = ArcPopupFrame end ArcPopupFrame.Title.Text = data.name ArcPopupFrame.Status.Text = data.on and 'ENABLED' or 'DISABLED' ArcPopupFrame.Status.TextColor3 = data.on and Color3.fromRGB(100, 255, 130) or Color3.fromRGB(255, 100, 100) local ts = game:GetService('TweenService') ArcPopupFrame.Position = UDim2.new(0.5, -140, 0, -65) ArcPopupFrame.BackgroundTransparency = 0.15 ts:Create(ArcPopupFrame, TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, -140, 0, 10), BackgroundTransparency = 0 }):Play() wait(2.2) ts:Create(ArcPopupFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), { Position = UDim2.new(0.5, -140, 0, -65), BackgroundTransparency = 0.15 }):Play() wait(0.35) end end) end -- ======================== TEXT GLOW (Blue glow on white text) ======================== spawn(function() wait(2) local function applyGlow(parent) for _, child in pairs(parent:GetDescendants()) do if child:IsA('TextLabel') or child:IsA('TextBox') then pcall(function() child.TextStrokeColor3 = Color3.fromRGB(20, 60, 200) child.TextStrokeTransparency = 0.75 end) end end end applyGlow(game:GetService('CoreGui'):FindFirstChild('ArcYieldPopup') or Instance.new('Frame')) end) -- ======================== TRAIL SYSTEM ======================== walktrail = {active = false, attachment = nil, emitter = nil, beam = nil, att2 = nil} local trailConfigs = { fire = {color1 = Color3.fromRGB(255, 80, 0), color2 = Color3.fromRGB(255, 200, 0), rate = 35, speed = 4, size = 1.2, light = true, lightColor = Color3.fromRGB(255, 100, 0)}, ice = {color1 = Color3.fromRGB(100, 200, 255), color2 = Color3.fromRGB(200, 230, 255), rate = 25, speed = 2, size = 0.8, light = true, lightColor = Color3.fromRGB(100, 180, 255)}, lightning = {color1 = Color3.fromRGB(150, 150, 255), color2 = Color3.fromRGB(255, 255, 255), rate = 40, speed = 8, size = 0.5, light = true, lightColor = Color3.fromRGB(130, 130, 255)}, smoke = {color1 = Color3.fromRGB(60, 60, 60), color2 = Color3.fromRGB(120, 120, 120), rate = 15, speed = 1, size = 2.5, light = false}, rainbow = {color1 = Color3.fromRGB(255, 0, 0), color2 = Color3.fromRGB(0, 0, 255), rate = 40, speed = 3, size = 1, light = false, rainbow = true}, neon = {color1 = Color3.fromRGB(0, 255, 200), color2 = Color3.fromRGB(0, 100, 255), rate = 30, speed = 3, size = 1, light = true, lightColor = Color3.fromRGB(0, 200, 255)}, purple = {color1 = Color3.fromRGB(150, 0, 255), color2 = Color3.fromRGB(255, 0, 200), rate = 30, speed = 3, size = 1.2, light = true, lightColor = Color3.fromRGB(150, 50, 255)}, pink = {color1 = Color3.fromRGB(255, 50, 150), color2 = Color3.fromRGB(255, 150, 200), rate = 30, speed = 3, size = 1, light = true, lightColor = Color3.fromRGB(255, 80, 150)}, blood = {color1 = Color3.fromRGB(150, 0, 0), color2 = Color3.fromRGB(255, 0, 0), rate = 20, speed = 2, size = 1.5, light = false}, shadow = {color1 = Color3.fromRGB(20, 0, 40), color2 = Color3.fromRGB(60, 0, 100), rate = 25, speed = 1, size = 2, light = false}, holy = {color1 = Color3.fromRGB(255, 255, 200), color2 = Color3.fromRGB(255, 255, 255), rate = 35, speed = 3, size = 0.8, light = true, lightColor = Color3.fromRGB(255, 255, 200)}, toxic = {color1 = Color3.fromRGB(0, 200, 0), color2 = Color3.fromRGB(100, 255, 0), rate = 25, speed = 2, size = 1.5, light = false}, galaxy = {color1 = Color3.fromRGB(50, 0, 100), color2 = Color3.fromRGB(0, 100, 200), rate = 35, speed = 4, size = 1, light = true, lightColor = Color3.fromRGB(80, 50, 200)}, crystal = {color1 = Color3.fromRGB(150, 220, 255), color2 = Color3.fromRGB(255, 255, 255), rate = 20, speed = 1, size = 0.6, light = true, lightColor = Color3.fromRGB(180, 220, 255)}, spark = {color1 = Color3.fromRGB(255, 255, 0), color2 = Color3.fromRGB(255, 200, 0), rate = 50, speed = 6, size = 0.3, light = true, lightColor = Color3.fromRGB(255, 255, 100)}, heart = {color1 = Color3.fromRGB(255, 50, 80), color2 = Color3.fromRGB(255, 150, 180), rate = 15, speed = 1, size = 0.8, light = false}, phantom = {color1 = Color3.fromRGB(0, 150, 255), color2 = Color3.fromRGB(0, 50, 150), rate = 20, speed = 2, size = 1.5, light = true, lightColor = Color3.fromRGB(0, 100, 255)}, } function createWalkTrail(speaker, configName) if walktrail.active then removeWalkTrail() end local cfg = trailConfigs[configName] or trailConfigs.fire local char = speaker.Character local root = getRoot(char) if not root then return end local att = Instance.new('Attachment') att.Position = Vector3.new(0, -3, 0) att.Parent = root local pe = Instance.new('ParticleEmitter') pe.Texture = 'rbxassetid://241685484' pe.Rate = cfg.rate pe.Lifetime = NumberRange.new(0.5, 1.2) pe.Speed = NumberRange.new(cfg.speed * 0.5, cfg.speed) pe.SpreadAngle = Vector2.new(20, 20) pe.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, cfg.size * 0.3), NumberSequenceKeypoint.new(0.5, cfg.size), NumberSequenceKeypoint.new(1, 0) }) if cfg.rainbow then pe.Color = ColorSequence.new(Color3.fromRGB(255,0,0), Color3.fromRGB(0,0,255)) else pe.Color = ColorSequence.new(cfg.color1, cfg.color2) end pe.Transparency = NumberSequence.new(0.3, 1) pe.LightEmission = 0.6 pe.LightInfluence = 0 pe.RotSpeed = NumberRange.new(-180, 180) pe.Parent = att if cfg.light then local pl = Instance.new('PointLight') pl.Color = cfg.lightColor pl.Brightness = 2 pl.Range = 12 pl.Parent = att end walktrail = {active = true, attachment = att, emitter = pe} showArcPopup('Trail: ' .. configName, true) notify('Trail', configName .. ' trail enabled') end function removeWalkTrail() if walktrail.attachment and walktrail.attachment.Parent then walktrail.attachment:Destroy() end walktrail = {active = false, attachment = nil, emitter = nil} notify('Trail', 'Disabled') end addcmd('trail', {'trailtype'}, function(args, speaker) local t = args[1] and args[1]:lower() or 'fire' if t == 'off' then removeWalkTrail() return end if not trailConfigs[t] then local types = '' for k, _ in pairs(trailConfigs) do types = types .. k .. ', ' end notify('Trail', 'Types: ' .. types:sub(1, -3)) return end createWalkTrail(speaker, t) end) addcmd('untrail', {'notrail'}, function(args, speaker) removeWalkTrail() end) addcmd('toggletrail', {}, function(args, speaker) if walktrail.active then removeWalkTrail() else createWalkTrail(speaker, 'fire') end end) -- Shortcut trail commands for trailName, _ in pairs(trailConfigs) do addcmd(trailName .. 'trail', {}, function(args, speaker) createWalkTrail(speaker, trailName) end) end -- ======================== AURA SYSTEM ======================== auraSystem = {active = false, attachments = {}, emitters = {}} local auraConfigs = { fire = {color1 = Color3.fromRGB(255, 60, 0), color2 = Color3.fromRGB(255, 180, 0), rate = 60, speed = 2, size = 2, rotSpeed = 90}, ice = {color1 = Color3.fromRGB(100, 200, 255), color2 = Color3.fromRGB(220, 240, 255), rate = 40, speed = 0.5, size = 1.5, rotSpeed = 45}, lightning = {color1 = Color3.fromRGB(180, 180, 255), color2 = Color3.fromRGB(255, 255, 255), rate = 80, speed = 5, size = 0.8, rotSpeed = 200}, smoke = {color1 = Color3.fromRGB(50, 50, 50), color2 = Color3.fromRGB(100, 100, 100), rate = 20, speed = 0.5, size = 3, rotSpeed = 30}, shadow = {color1 = Color3.fromRGB(10, 0, 30), color2 = Color3.fromRGB(50, 0, 80), rate = 30, speed = 1, size = 2.5, rotSpeed = 60}, holy = {color1 = Color3.fromRGB(255, 255, 180), color2 = Color3.fromRGB(255, 255, 255), rate = 50, speed = 1.5, size = 1.2, rotSpeed = 60}, toxic = {color1 = Color3.fromRGB(0, 180, 0), color2 = Color3.fromRGB(80, 255, 0), rate = 35, speed = 1, size = 2, rotSpeed = 50}, neon = {color1 = Color3.fromRGB(0, 255, 200), color2 = Color3.fromRGB(0, 80, 255), rate = 45, speed = 2, size = 1.5, rotSpeed = 120}, purple = {color1 = Color3.fromRGB(120, 0, 255), color2 = Color3.fromRGB(255, 0, 180), rate = 40, speed = 1.5, size = 2, rotSpeed = 90}, pink = {color1 = Color3.fromRGB(255, 50, 130), color2 = Color3.fromRGB(255, 150, 200), rate = 35, speed = 1, size = 1.5, rotSpeed = 60}, galaxy = {color1 = Color3.fromRGB(40, 0, 100), color2 = Color3.fromRGB(0, 80, 200), rate = 50, speed = 2, size = 2, rotSpeed = 150}, blood = {color1 = Color3.fromRGB(120, 0, 0), color2 = Color3.fromRGB(200, 0, 0), rate = 25, speed = 0.5, size = 2.5, rotSpeed = 30}, phantom = {color1 = Color3.fromRGB(0, 120, 255), color2 = Color3.fromRGB(0, 40, 120), rate = 30, speed = 1.5, size = 2.5, rotSpeed = 80}, crystal = {color1 = Color3.fromRGB(130, 200, 255), color2 = Color3.fromRGB(255, 255, 255), rate = 25, speed = 0.5, size = 1, rotSpeed = 30}, } function createAura(speaker, configName) if auraSystem.active then removeAura() end local cfg = auraConfigs[configName] or auraConfigs.fire local char = speaker.Character if not char then return end auraSystem.attachments = {} auraSystem.emitters = {} for i = 0, 3 do local att = Instance.new('Attachment') att.Name = 'AuraAtt' .. i att.Parent = char:FindFirstChild('HumanoidRootPart') or char:FindFirstChild('Torso') local pe = Instance.new('ParticleEmitter') pe.Texture = 'rbxassetid://241685484' pe.Rate = cfg.rate / 4 pe.Lifetime = NumberRange.new(0.8, 1.5) pe.Speed = NumberRange.new(cfg.speed * 0.5, cfg.speed) pe.SpreadAngle = Vector2.new(180, 180) pe.Size = NumberSequence.new(cfg.size * 0.3, cfg.size) pe.Color = ColorSequence.new(cfg.color1, cfg.color2) pe.Transparency = NumberSequence.new(0.2, 0.9) pe.LightEmission = 0.8 pe.RotSpeed = NumberRange.new(-cfg.rotSpeed, cfg.rotSpeed) pe.Parent = att table.insert(auraSystem.attachments, att) table.insert(auraSystem.emitters, pe) end auraSystem.active = true showArcPopup('Aura: ' .. configName, true) notify('Aura', configName .. ' aura enabled') end function removeAura() for _, att in pairs(auraSystem.attachments) do if att and att.Parent then att:Destroy() end end auraSystem = {active = false, attachments = {}, emitters = {}} notify('Aura', 'Disabled') end addcmd('particleaura', {'partaura', 'auratype'}, function(args, speaker) local t = args[1] and args[1]:lower() or 'fire' if t == 'off' then removeAura() return end if not auraConfigs[t] then local types = '' for k, _ in pairs(auraConfigs) do types = types .. k .. ', ' end notify('Particle Aura', 'Types: ' .. types:sub(1, -3)) return end createAura(speaker, t) end) addcmd('unparticleaura', {'nopartaura', 'noaura'}, function(args, speaker) removeAura() end) addcmd('toggleparticleaura', {}, function(args, speaker) if auraSystem.active then removeAura() else createAura(speaker, 'fire') end end) for auraName, _ in pairs(auraConfigs) do addcmd(auraName .. 'aura', {}, function(args, speaker) createAura(speaker, auraName) end) end -- ======================== CHARACTER EFFECTS ======================== charGlow = {active = false, lights = {}} addcmd('glow', {'bodyglow'}, function(args, speaker) if charGlow.active then execCmd('unglow') return end local char = speaker.Character if not char then return end charGlow.lights = {} for _, part in pairs(char:GetDescendants()) do if part:IsA('BasePart') then local pl = Instance.new('PointLight') pl.Color = args[1] and Color3.fromRGB(tonumber(args[1]) or 50, tonumber(args[2]) or 100, tonumber(args[3]) or 255) or Color3.fromRGB(50, 100, 255) pl.Brightness = 3 pl.Range = 15 pl.Parent = part table.insert(charGlow.lights, pl) end end charGlow.active = true showArcPopup('Body Glow', true) notify('Glow', 'Enabled') end) addcmd('unglow', {'noglow'}, function(args, speaker) for _, l in pairs(charGlow.lights) do if l.Parent then l:Destroy() end end charGlow = {active = false, lights = {}} notify('Glow', 'Disabled') end) charHighlight = {active = false} addcmd('highlight', {'chighlight'}, function(args, speaker) if charHighlight.active then execCmd('unhighlight') return end local char = speaker.Character if not char then return end local hl = Instance.new('Highlight') hl.Name = randomString() hl.Adornee = char hl.FillColor = args[1] and Color3.fromRGB(tonumber(args[1]) or 50, tonumber(args[2]) or 100, tonumber(args[3]) or 255) or Color3.fromRGB(50, 100, 255) hl.FillTransparency = 0.7 hl.OutlineColor = Color3.fromRGB(100, 180, 255) hl.OutlineTransparency = 0 hl.Parent = char charHighlight = {active = true, obj = hl} showArcPopup('Highlight', true) notify('Highlight', 'Enabled') end) addcmd('unhighlight', {'nohighlight'}, function(args, speaker) if charHighlight.obj and charHighlight.obj.Parent then charHighlight.obj:Destroy() end charHighlight = {active = false} notify('Highlight', 'Disabled') end) wireframeState = false addcmd('wireframe', {}, function(args, speaker) if wireframeState then execCmd('unwireframe') return end for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part:IsDescendantOf(speaker.Character) then pcall(function() part.Material = Enum.Material.ForceField end) end end wireframeState = true showArcPopup('Wireframe', true) end) addcmd('unwireframe', {'nowireframe'}, function(args, speaker) wireframeState = false end) charTransState = false addcmd('trans', {'transparency'}, function(args, speaker) local val = tonumber(args[1]) or 0.5 local char = speaker.Character if not char then return end for _, part in pairs(char:GetDescendants()) do if part:IsA('BasePart') and part.Name ~= 'HumanoidRootPart' then part.Transparency = val end end charTransState = true notify('Transparency', 'Set to ' .. val) end) addcmd('untrans', {}, function(args, speaker) local char = speaker.Character if not char then return end for _, part in pairs(char:GetDescendants()) do if part:IsA('BasePart') then if part.Name == 'HumanoidRootPart' then part.Transparency = 1 else part.Transparency = 0 end end end charTransState = false notify('Transparency', 'Reset') end) charScaleState = false addcmd('scale', {'charscale'}, function(args, speaker) local s = tonumber(args[1]) or 2 local char = speaker.Character if not char then return end local hrp = char:FindFirstChild('HumanoidRootPart') if hrp and hrp:FindFirstChild('BodyScale') then hrp:FindFirstChild('BodyScale'):Destroy() end for _, part in pairs(char:GetChildren()) do if part:IsA('BasePart') and part.Name ~= 'HumanoidRootPart' then part.Size = Vector3.new(part.Size.X * s, part.Size.Y * s, part.Size.Z * s) end end charScaleState = true notify('Scale', 'Set to ' .. s .. 'x') end) addcmd('unscale', {}, function(args, speaker) local char = speaker.Character if not char then return end for _, part in pairs(char:GetChildren()) do if part:IsA('BasePart') and part.Name ~= 'HumanoidRootPart' then part.Size = Vector3.new(part.Size.X / 2, part.Size.Y / 2, part.Size.Z / 2) end end charScaleState = false notify('Scale', 'Reset') end) -- ======================== VISUAL EFFECTS ======================== floatState = {active = false, conn = nil} addcmd('float', {'hover'}, function(args, speaker) if floatState.active then execCmd('unfloat') return end local spd = tonumber(args[1]) or 2 floatState.active = true local t = 0 floatState.conn = RunService.Heartbeat:Connect(function(dt) if not floatState.active then return end local char = speaker.Character local root = getRoot(char) if not root then return end t = t + dt * spd local bv = root:FindFirstChildOfClass('BodyVelocity') if not bv then bv = Instance.new('BodyVelocity') bv.MaxForce = Vector3.new(0, math.huge, 0) bv.Parent = root end bv.Velocity = Vector3.new(0, math.sin(t) * 15, 0) end) showArcPopup('Float', true) end) addcmd('unfloat', {'nofloat'}, function(args, speaker) floatState.active = false if floatState.conn then floatState.conn:Disconnect() floatState.conn = nil end local char = speaker.Character local root = getRoot(char) if root then for _, c in pairs(root:GetChildren()) do if c:IsA('BodyVelocity') then c:Destroy() end end end notify('Float', 'Disabled') end) spinCharState = {active = false, bav = nil} addcmd('spinchar', {'spinme'}, function(args, speaker) if spinCharState.active then execCmd('unspinchar') return end local spd = tonumber(args[1]) or 10 local char = speaker.Character local root = getRoot(char) if not root then return end local bav = Instance.new('BodyAngularVelocity') bav.Name = randomString() bav.AngularVelocity = Vector3.new(0, spd, 0) bav.MaxTorque = Vector3.new(0, math.huge, 0) bav.P = math.huge bav.Parent = root spinCharState = {active = true, bav = bav} showArcPopup('Spin', true) end) addcmd('unspinchar', {'nospinchar'}, function(args, speaker) if spinCharState.bav and spinCharState.bav.Parent then spinCharState.bav:Destroy() end spinCharState = {active = false, bav = nil} notify('Spin', 'Disabled') end) pulseState = {active = false, conn = nil} addcmd('pulse', {}, function(args, speaker) if pulseState.active then execCmd('unpulse') return end local char = speaker.Character if not char then return end pulseState.active = true local t = 0 pulseState.conn = RunService.Heartbeat:Connect(function(dt) if not pulseState.active then return end t = t + dt * 3 local s = 1 + math.sin(t) * 0.1 for _, part in pairs(char:GetChildren()) do if part:IsA('BasePart') and part.Name ~= 'HumanoidRootPart' then pcall(function() part.Size = part:GetPropertyChangedSignal('Size') and part.Size or part.Size end) end end end) showArcPopup('Pulse', true) end) addcmd('unpulse', {'nopulse'}, function(args, speaker) pulseState.active = false if pulseState.conn then pulseState.conn:Disconnect() pulseState.conn = nil end notify('Pulse', 'Disabled') end) -- ======================== HUD ELEMENTS ======================== hudElements = {} addcmd('fps', {'fpscounter', 'showfps'}, function(args, speaker) if hudElements.fps then execCmd('nofps') return end local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.Parent = game:GetService('CoreGui') local tl = Instance.new('TextLabel') tl.Size = UDim2.new(0, 100, 0, 30) tl.Position = UDim2.new(0, 10, 0, 10) tl.BackgroundColor3 = Color3.fromRGB(8, 8, 14) tl.BackgroundTransparency = 0.3 tl.TextColor3 = Color3.fromRGB(100, 255, 100) tl.TextStrokeColor3 = Color3.fromRGB(0, 100, 0) tl.TextStrokeTransparency = 0.7 tl.Font = Enum.Font.GothamBold tl.TextSize = 16 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Text = 'FPS: --' local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 4) corner.Parent = tl tl.Parent = sg local conn local lastTick = tick() local frames = 0 conn = RunService.Heartbeat:Connect(function() frames = frames + 1 if tick() - lastTick >= 1 then tl.Text = 'FPS: ' .. frames frames = 0 lastTick = tick() end end) hudElements.fps = {gui = sg, conn = conn} showArcPopup('FPS Counter', true) end) addcmd('nofps', {'nofpscounter', 'hidefps'}, function(args, speaker) if hudElements.fps then if hudElements.fps.conn then hudElements.fps.conn:Disconnect() end if hudElements.fps.gui then hudElements.fps.gui:Destroy() end hudElements.fps = nil end end) addcmd('ping', {'pingcounter', 'showping'}, function(args, speaker) if hudElements.ping then execCmd('noping') return end local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.Parent = game:GetService('CoreGui') local tl = Instance.new('TextLabel') tl.Size = UDim2.new(0, 100, 0, 30) tl.Position = UDim2.new(0, 10, 0, 45) tl.BackgroundColor3 = Color3.fromRGB(8, 8, 14) tl.BackgroundTransparency = 0.3 tl.TextColor3 = Color3.fromRGB(255, 200, 50) tl.TextStrokeColor3 = Color3.fromRGB(200, 150, 0) tl.TextStrokeTransparency = 0.7 tl.Font = Enum.Font.GothamBold tl.TextSize = 16 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Text = 'Ping: --' local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 4) corner.Parent = tl tl.Parent = sg local conn conn = RunService.Heartbeat:Connect(function() pcall(function() local stats = game:GetService('Stats') tl.Text = 'Ping: ' .. math.floor(stats.Network.ServerStatsItem['Data Ping']:GetValue()) end) end) hudElements.ping = {gui = sg, conn = conn} showArcPopup('Ping Counter', true) end) addcmd('noping', {'nopingcounter', 'hideping'}, function(args, speaker) if hudElements.ping then if hudElements.ping.conn then hudElements.ping.conn:Disconnect() end if hudElements.ping.gui then hudElements.ping.gui:Destroy() end hudElements.ping = nil end end) addcmd('coords', {'coordinates', 'showcoords'}, function(args, speaker) if hudElements.coords then execCmd('nocoords') return end local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.Parent = game:GetService('CoreGui') local tl = Instance.new('TextLabel') tl.Size = UDim2.new(0, 220, 0, 30) tl.Position = UDim2.new(0, 10, 0, 80) tl.BackgroundColor3 = Color3.fromRGB(8, 8, 14) tl.BackgroundTransparency = 0.3 tl.TextColor3 = Color3.fromRGB(100, 200, 255) tl.TextStrokeColor3 = Color3.fromRGB(0, 80, 200) tl.TextStrokeTransparency = 0.7 tl.Font = Enum.Font.GothamBold tl.TextSize = 14 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Text = 'X: 0 Y: 0 Z: 0' local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 4) corner.Parent = tl tl.Parent = sg local conn conn = RunService.Heartbeat:Connect(function() local root = getRoot(speaker.Character) if root then local p = root.Position tl.Text = string.format('X: %.0f Y: %.0f Z: %.0f', p.X, p.Y, p.Z) end end) hudElements.coords = {gui = sg, conn = conn} showArcPopup('Coordinates', true) end) addcmd('nocoords', {'nocoordinates', 'hidecoords'}, function(args, speaker) if hudElements.coords then if hudElements.coords.conn then hudElements.coords.conn:Disconnect() end if hudElements.coords.gui then hudElements.coords.gui:Destroy() end hudElements.coords = nil end end) addcmd('speedometer', {'speedhud', 'showspped'}, function(args, speaker) if hudElements.speed then execCmd('nospeedometer') return end local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.Parent = game:GetService('CoreGui') local tl = Instance.new('TextLabel') tl.Size = UDim2.new(0, 120, 0, 30) tl.Position = UDim2.new(0, 10, 0, 115) tl.BackgroundColor3 = Color3.fromRGB(8, 8, 14) tl.BackgroundTransparency = 0.3 tl.TextColor3 = Color3.fromRGB(255, 130, 80) tl.TextStrokeColor3 = Color3.fromRGB(200, 80, 0) tl.TextStrokeTransparency = 0.7 tl.Font = Enum.Font.GothamBold tl.TextSize = 14 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Text = 'Speed: 0' local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 4) corner.Parent = tl tl.Parent = sg local conn conn = RunService.Heartbeat:Connect(function() local root = getRoot(speaker.Character) if root then tl.Text = 'Speed: ' .. math.floor(root.Velocity.Magnitude) end end) hudElements.speed = {gui = sg, conn = conn} showArcPopup('Speedometer', true) end) addcmd('nospeedometer', {'nospeedhud'}, function(args, speaker) if hudElements.speed then if hudElements.speed.conn then hudElements.speed.conn:Disconnect() end if hudElements.speed.gui then hudElements.speed.gui:Destroy() end hudElements.speed = nil end end) addcmd('crosshair', {'xhair'}, function(args, speaker) if hudElements.crosshair then execCmd('nocrosshair') return end local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.IgnoreGuiInset = true sg.Parent = game:GetService('CoreGui') local cl = Instance.new('Frame') cl.Size = UDim2.new(0, 24, 0, 2) cl.Position = UDim2.new(0.5, -12, 0.5, -1) cl.BackgroundColor3 = Color3.fromRGB(50, 200, 255) cl.BorderSizePixel = 0 cl.Parent = sg local cl2 = Instance.new('Frame') cl2.Size = UDim2.new(0, 2, 0, 24) cl2.Position = UDim2.new(0.5, -1, 0.5, -12) cl2.BackgroundColor3 = Color3.fromRGB(50, 200, 255) cl2.BorderSizePixel = 0 cl2.Parent = sg hudElements.crosshair = sg showArcPopup('Crosshair', true) end) addcmd('nocrosshair', {'noxhair'}, function(args, speaker) if hudElements.crosshair then hudElements.crosshair:Destroy() hudElements.crosshair = nil end end) -- ======================== FUN / COSMETIC ======================== addcmd('crown', {}, function(args, speaker) if hudElements.crown then execCmd('uncrown') return end local char = speaker.Character local head = char and char:FindFirstChild('Head') if not head then return end local crown = Instance.new('Part') crown.Name = 'ArcCrown' crown.Size = Vector3.new(2, 0.5, 2) crown.Anchored = false crown.CanCollide = false crown.Color = Color3.fromRGB(255, 215, 0) crown.Material = Enum.Material.Foil crown.Parent = workspace local weld = Instance.new('Weld') weld.Part0 = head weld.Part1 = crown weld.C0 = CFrame.new(0, 1.5, 0) weld.Parent = crown hudElements.crown = crown showArcPopup('Crown', true) end) addcmd('uncrown', {}, function(args, speaker) if hudElements.crown and hudElements.crown.Parent then hudElements.crown:Destroy() end hudElements.crown = nil end) addcmd('halo', {}, function(args, speaker) if hudElements.halo then execCmd('unhalo') return end local char = speaker.Character local head = char and char:FindFirstChild('Head') if not head then return end local halo = Instance.new('Part') halo.Name = 'ArcHalo' halo.Size = Vector3.new(2.5, 0.15, 2.5) halo.Anchored = false halo.CanCollide = false halo.Color = args[1] and Color3.fromRGB(tonumber(args[1]) or 255, tonumber(args[2]) or 255, tonumber(args[3]) or 255) or Color3.fromRGB(255, 255, 100) halo.Material = Enum.Material.Neon halo.Shape = Enum.PartType.Cylinder halo.Parent = workspace local weld = Instance.new('Weld') weld.Part0 = head weld.Part1 = halo weld.C0 = CFrame.new(0, 1.5, 0) * CFrame.Angles(0, 0, math.rad(90)) weld.Parent = halo hudElements.halo = halo showArcPopup('Halo', true) end) addcmd('unhalo', {}, function(args, speaker) if hudElements.halo and hudElements.halo.Parent then hudElements.halo:Destroy() end hudElements.halo = nil end) addcmd('wings', {}, function(args, speaker) if hudElements.wings then execCmd('unwings') return end local char = speaker.Character local root = getRoot(char) if not root then return end local wingColor = args[1] and Color3.fromRGB(tonumber(args[1]) or 50, tonumber(args[2]) or 100, tonumber(args[3]) or 255) or Color3.fromRGB(50, 100, 255) local leftWing = Instance.new('Part') leftWing.Name = 'ArcWingL' leftWing.Size = Vector3.new(3, 0.1, 1.5) leftWing.Anchored = false leftWing.CanCollide = false leftWing.Color = wingColor leftWing.Material = Enum.Material.Neon leftWing.Transparency = 0.3 leftWing.Parent = workspace local rightWing = Instance.new('Part') rightWing.Name = 'ArcWingR' rightWing.Size = Vector3.new(3, 0.1, 1.5) rightWing.Anchored = false rightWing.CanCollide = false rightWing.Color = wingColor rightWing.Material = Enum.Material.Neon rightWing.Transparency = 0.3 rightWing.Parent = workspace local wlw = Instance.new('Weld') wlw.Part0 = root wlw.Part1 = leftWing wlw.C0 = CFrame.new(-1.5, 0, -1) * CFrame.Angles(0, 0, math.rad(20)) wlw.Parent = leftWing local wrw = Instance.new('Weld') wrw.Part0 = root wrw.Part1 = rightWing wrw.C0 = CFrame.new(1.5, 0, -1) * CFrame.Angles(0, 0, math.rad(-20)) wrw.Parent = rightWing hudElements.wings = {left = leftWing, right = rightWing} showArcPopup('Wings', true) end) addcmd('unwings', {}, function(args, speaker) if hudElements.wings then if hudElements.wings.left and hudElements.wings.left.Parent then hudElements.wings.left:Destroy() end if hudElements.wings.right and hudElements.wings.right.Parent then hudElements.wings.right:Destroy() end hudElements.wings = nil end end) addcmd('nametag', {'customname'}, function(args, speaker) if not args[1] then notify('NameTag', 'Usage: nametag [text]'); return end if hudElements.nametag then execCmd('unnametag') return end local char = speaker.Character local head = char and char:FindFirstChild('Head') if not head then return end local bb = Instance.new('BillboardGui') bb.Name = 'ArcNameTag' bb.Adornee = head bb.Size = UDim2.new(0, 100, 0, 30) bb.StudsOffset = Vector3.new(0, 3, 0) bb.AlwaysOnTop = true bb.Parent = char local tl = Instance.new('TextLabel') tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.Text = args[1] or 'Custom Name' tl.TextColor3 = Color3.fromRGB(100, 200, 255) tl.TextStrokeColor3 = Color3.fromRGB(0, 50, 150) tl.TextStrokeTransparency = 0.5 tl.Font = Enum.Font.GothamBold tl.TextSize = 18 tl.Parent = bb hudElements.nametag = bb showArcPopup('NameTag', true) end) addcmd('unnametag', {}, function(args, speaker) if hudElements.nametag and hudElements.nametag.Parent then hudElements.nametag:Destroy() end hudElements.nametag = nil end) orbitTextState = {active = false, conn = nil, parts = {}} addcmd('orbittext', {'otext'}, function(args, speaker) if not args[1] then notify('OrbitText', 'Usage: orbittext [text]'); return end if orbitTextState.active then execCmd('unorbittext') return end local char = speaker.Character local head = char and char:FindFirstChild('Head') if not head then return end orbitTextState.parts = {} orbitTextState.active = true for i = 1, #args[1] do local part = Instance.new('Part') part.Size = Vector3.new(1, 1, 0.05) part.Anchored = true part.CanCollide = false part.Color = Color3.fromRGB(50, 100 + (i * 10) % 155, 255) part.Material = Enum.Material.Neon part.Transparency = 0.2 part.Parent = workspace local bb = Instance.new('BillboardGui') bb.Adornee = part bb.Size = UDim2.new(0, 10, 0, 10) bb.AlwaysOnTop = true bb.Parent = part local tl = Instance.new('TextLabel') tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.Text = args[1]:sub(i, i) tl.TextColor3 = Color3.fromRGB(255, 255, 255) tl.Font = Enum.Font.GothamBold tl.TextSize = 24 tl.TextStrokeTransparency = 0 tl.Parent = bb table.insert(orbitTextState.parts, {part = part, offset = (i - #args[1] / 2) * 1.2}) end local t = 0 orbitTextState.conn = RunService.Heartbeat:Connect(function(dt) if not orbitTextState.active then return end if not head or not head.Parent then execCmd('unorbittext') return end t = t + dt * 2 for _, data in pairs(orbitTextState.parts) do local angle = t + data.offset * 0.5 data.part.CFrame = head.CFrame * CFrame.new(math.cos(angle) * 4, 2, math.sin(angle) * 4) end end) showArcPopup('Orbit Text', true) end) addcmd('unorbittext', {}, function(args, speaker) orbitTextState.active = false if orbitTextState.conn then orbitTextState.conn:Disconnect() orbitTextState.conn = nil end for _, data in pairs(orbitTextState.parts) do if data.part and data.part.Parent then data.part:Destroy() end end orbitTextState.parts = {} end) -- ======================== CAMERA ======================== addcmd('fov', {'fieldofview'}, function(args, speaker) local val = tonumber(args[1]) or 70 local cam = workspace.CurrentCamera cam.FieldOfView = val notify('FOV', 'Set to ' .. val) end) addcmd('unfov', {}, function(args, speaker) workspace.CurrentCamera.FieldOfView = 70 notify('FOV', 'Reset') end) -- ======================== CUSTOM ANIMATIONS ======================== customAnims = {active = false, animator = nil} addcmd('customanim', {'canim'}, function(args, speaker) local animType = (args[1] or ''):lower() local animId = args[2] or '' if animType == '' or animId == '' then notify('CustomAnim', 'Usage: customanim [idle/walk/run/jump/fall] [assetId]') return end local char = speaker.Character if not char then return end local humanoid = char:FindFirstChildWhichIsA('Humanoid') if not humanoid then return end local anim = Instance.new('Animation') anim.AnimationId = 'rbxassetid://' .. animId local success, track = pcall(function() return humanoid:LoadAnimation(anim) end) if not success or not track then notify('CustomAnim', 'Failed to load animation') return end track:Play() track.Looped = true if not customAnims.tracks then customAnims.tracks = {} end customAnims.tracks[animType] = track customAnims.active = true showArcPopup('Custom Anim: ' .. animType, true) notify('CustomAnim', animType .. ' animation set') end) addcmd('unanim', {'nocustomanim'}, function(args, speaker) if customAnims.tracks then for _, track in pairs(customAnims.tracks) do pcall(function() track:Stop() end) end end customAnims = {active = false, animator = nil, tracks = nil} notify('CustomAnim', 'Reset') end) -- ======================== UTILITY ======================== antiafkState = false addcmd('antiafk', {'anti-afk'}, function(args, speaker) if antiafkState then execCmd('noantiafk') return end antiafkState = true local conn conn = game:GetService('Players').LocalPlayer.Idled:Connect(function() game:GetService('VirtualUser'):CaptureController() game:GetService('VirtualUser'):ClickButton2(Vector2.new()) end) antiafkState = conn showArcPopup('Anti-AFK', true) notify('Anti-AFK', 'Enabled') end) addcmd('noantiafk', {}, function(args, speaker) if antiafkState and typeof(antiafkState) ~= 'boolean' then antiafkState:Disconnect() end antiafkState = false notify('Anti-AFK', 'Disabled') end) -- ======================== WALKFLING (JITTER HITBOX) ======================== -- Invisible ANCHORED hitbox rapidly teleports forward then back each frame. -- Neither the user nor other players see it (fully invisible). -- The anchored hitbox with CanCollide pushes unanchored parts/players on contact. -- Speed = how many studs forward the hitbox teleports each frame (jitter distance). -- Higher speed = longer jitter distance = bigger fling. -- Usage: pwalkfling [speed] | pwalkfling off / unpwalkfling to stop pwalkflingActive = false pwalkflingConn = nil pwalkflingHitbox = nil pwalkflingPower = 50 pwalkflingDiedConn = nil pwalkflingForward = false addcmd('pwalkfling', {'powerwalkfling', 'dkwalkfling'}, function(args, speaker) if args[1] and args[1]:lower() == 'off' then execCmd('unpwalkfling') return end if pwalkflingActive and tonumber(args[1]) then pwalkflingPower = tonumber(args[1]) showArcPopup('WalkFling (Speed: ' .. pwalkflingPower .. ')', true) return end if pwalkflingActive then execCmd('unpwalkfling') return end local char = speaker.Character if not char or not getRoot(char) then notify('WalkFling', 'Character not found') return end pwalkflingPower = tonumber(args[1]) or 50 local root = getRoot(char) local humanoid = char:FindFirstChildWhichIsA('Humanoid') -- Create invisible ANCHORED collision hitbox (anchored so teleporting works reliably) -- Anchored + CanCollide = physics engine pushes anything overlapping with it pwalkflingHitbox = Instance.new('Part') pwalkflingHitbox.Name = randomString() pwalkflingHitbox.Size = Vector3.new(4, 5, 2) pwalkflingHitbox.Transparency = 1 pwalkflingHitbox.CanCollide = true pwalkflingHitbox.Anchored = true pwalkflingHitbox.Parent = workspace pwalkflingHitbox.CFrame = root.CFrame -- Noclip player so they don't collide with the hitbox execCmd('noclip nonotify') for _, child in pairs(char:GetDescendants()) do if child:IsA('BasePart') then child.CanCollide = false end end if humanoid then pwalkflingDiedConn = humanoid.Died:Connect(function() execCmd('unpwalkfling') end) end pwalkflingForward = false pwalkflingActive = true -- Stepped runs BEFORE physics each frame -- Frame 1: teleport hitbox forward by [speed] studs -> physics resolves -> pushes people -- Frame 2: teleport hitbox back to player -> no overlap -> ready for next push -- This rapid back-and-forth = jitter = fling pwalkflingConn = RunService.Stepped:Connect(function() if not pwalkflingActive then return end if not pwalkflingHitbox or not pwalkflingHitbox.Parent then execCmd('unpwalkfling') return end local c = speaker.Character local r = getRoot(c) if not r then return end -- Always snap hitbox orientation to player pwalkflingHitbox.CFrame = r.CFrame -- Get walk direction from humanoid local moveDir = humanoid and humanoid.MoveDirection or Vector3.new(0, 0, 0) if moveDir.Magnitude > 0.05 then local cam = workspace.CurrentCamera local camCF = cam.CFrame local flatLook = (camCF.LookVector * Vector3.new(1, 0, 1)).Unit local flatRight = (camCF.Right * Vector3.new(1, 0, 1)).Unit local worldDir = (flatLook * moveDir.Z + flatRight * moveDir.X).Unit -- Alternate forward and back each frame pwalkflingForward = not pwalkflingForward if pwalkflingForward then -- Teleport hitbox FORWARD by speed studs -- Physics will resolve: anyone in the way gets pushed = FLING pwalkflingHitbox.CFrame = r.CFrame + (worldDir * pwalkflingPower) else -- Teleport hitbox BACK to player position pwalkflingHitbox.CFrame = r.CFrame end end end) showArcPopup('WalkFling (Speed: ' .. pwalkflingPower .. ')', true) end) addcmd('unpwalkfling', {'nopwalkfling'}, function(args, speaker) pwalkflingActive = false if pwalkflingConn then pwalkflingConn:Disconnect() pwalkflingConn = nil end if pwalkflingDiedConn then pwalkflingDiedConn:Disconnect() pwalkflingDiedConn = nil end if pwalkflingHitbox and pwalkflingHitbox.Parent then pwalkflingHitbox:Destroy() end pwalkflingHitbox = nil execCmd('clip nonotify') local char = speaker.Character if char then for _, child in pairs(char:GetDescendants()) do if child:IsA('BasePart') then child.CanCollide = true end end end showArcPopup('WalkFling', false) end) addcmd('togglepwalkfling', {}, function(args, speaker) execCmd(pwalkflingActive and 'unpwalkfling' or 'pwalkfling') end) -- ======================== GHOST (DECOY CLONE) ======================== ghostActive = false ghostClone = nil ghostSavedTransparency = {} ghostSavedColors = {} ghostGui = nil ghostDiedConn = nil addcmd('ghost', {}, function(args, speaker) if ghostActive then execCmd('unghost') return end local char = speaker.Character if not char or not getRoot(char) then notify('Ghost', 'Character not found') return end local root = getRoot(char) local humanoid = char:FindFirstChildWhichIsA('Humanoid') ghostSavedTransparency = {} ghostSavedColors = {} for _, part in pairs(char:GetDescendants()) do if part:IsA('BasePart') and part.Name ~= 'HumanoidRootPart' then ghostSavedTransparency[part] = part.Transparency ghostSavedColors[part] = part.Color part.Transparency = 0.5 part.Color = Color3.fromRGB(140, 60, 220) part.Material = Enum.Material.Neon end end local clone = char:Clone() clone.Name = char.Name for _, obj in pairs(clone:GetDescendants()) do if obj:IsA('Script') or obj:IsA('LocalScript') then obj:Destroy() end end for _, part in pairs(clone:GetDescendants()) do if part:IsA('BasePart') and ghostSavedTransparency[part] ~= nil then part.Transparency = ghostSavedTransparency[part] part.Color = ghostSavedColors[part] part.Material = Enum.Material.Plastic end if part:IsA('BasePart') then part.Anchored = true end end local cloneHumanoid = clone:FindFirstChildWhichIsA('Humanoid') if cloneHumanoid then cloneHumanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None cloneHumanoid.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff end local head = clone:FindFirstChild('Head') if head then local healthBar = head:FindFirstChildOfClass('BillboardGui') if healthBar then healthBar:Destroy() end end clone.Parent = workspace ghostClone = clone execCmd('noclip nonotify') if humanoid then ghostDiedConn = humanoid.Died:Connect(function() execCmd('unghost') end) end local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.Parent = game:GetService('CoreGui') local frame = Instance.new('Frame') frame.Size = UDim2.new(0, 160, 0, 36) frame.Position = UDim2.new(0.5, -80, 0, 10) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) frame.BackgroundTransparency = 0.2 frame.BorderSizePixel = 0 frame.Parent = sg local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local stroke = Instance.new('UIStroke') stroke.Color = Color3.fromRGB(140, 60, 220) stroke.Thickness = 1.5 stroke.Transparency = 0.3 stroke.Parent = frame local tl = Instance.new('TextLabel') tl.Size = UDim2.new(1, 0, 1, 0) tl.BackgroundTransparency = 1 tl.Text = 'GHOST MODE' tl.TextColor3 = Color3.fromRGB(180, 120, 255) tl.TextStrokeColor3 = Color3.fromRGB(100, 30, 200) tl.TextStrokeTransparency = 0.5 tl.Font = Enum.Font.GothamBold tl.TextSize = 14 tl.Parent = frame ghostGui = sg ghostActive = true hudElements.ghost = sg showArcPopup('Ghost', true) end) addcmd('unghost', {'noghost'}, function(args, speaker) ghostActive = false if ghostDiedConn then ghostDiedConn:Disconnect() ghostDiedConn = nil end if ghostClone and ghostClone.Parent then ghostClone:Destroy() end ghostClone = nil local char = speaker.Character if char then for part, trans in pairs(ghostSavedTransparency) do if part and part.Parent then part.Transparency = trans part.Material = Enum.Material.Plastic if ghostSavedColors[part] then part.Color = ghostSavedColors[part] end end end end ghostSavedTransparency = {} ghostSavedColors = {} if ghostGui and ghostGui.Parent then ghostGui:Destroy() end ghostGui = nil hudElements.ghost = nil execCmd('clip nonotify') showArcPopup('Ghost', false) end) addcmd('toggleghost', {}, function(args, speaker) execCmd(ghostActive and 'unghost' or 'ghost') end) -- ======================== PHYSICS GODMODE (Shared System) ======================== -- Any command that controls unanchored parts (orbitua, cannon, trowel, slift, -- magnet, tumble, helicopter, jumper, minigun) enables this automatically. -- Uses a reference counter: each command increments on start, decrements on stop. -- 4 LAYERS of protection to prevent death: -- 1. Stepped loop — forces health/state BEFORE physics every frame -- 2. Heartbeat loop — forces health/state AFTER physics every frame (safety net) -- 3. HealthChanged hook — catches damage between frames instantly -- 4. CharacterAdded hook — re-protects on every respawn -- Also disables the Dead state via SetStateEnabled so the engine can't kill you. -- NOTE: No metatable hooks — they break Xeno executor property/method calls. physicsGodCount = 0 physicsGodConn = nil physicsGodSteppedConn = nil physicsGodCharAddedConn = nil physicsGodSpeaker = nil physicsGodOriginalMaxHP = 100 function enablePhysicsGodmode(speaker) physicsGodCount = physicsGodCount + 1 physicsGodSpeaker = speaker if physicsGodCount == 1 and (not physicsGodConn or not physicsGodConn.Connected) then -- Helper: fully protect a character's humanoid local function protectCharacter(char) if not char then return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then -- Humanoid might not exist yet (character still loading) char.DescendantAdded:Connect(function(child) if physicsGodCount <= 0 then return end if child:IsA('Humanoid') then child.HealthChanged:Connect(function(hp) if physicsGodCount <= 0 then return end if hp < child.MaxHealth then child.Health = child.MaxHealth end end) child.MaxHealth = 1e9 child.Health = 1e9 pcall(function() child:SetStateEnabled(Enum.HumanoidStateType.Dead, false) end) end end) return end -- HealthChanged: catches damage between frames instantly hum.HealthChanged:Connect(function(hp) if physicsGodCount <= 0 then return end if hp < hum.MaxHealth then hum.Health = hum.MaxHealth end end) -- Disable Dead state on the humanoid entirely pcall(function() hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false) end) hum.MaxHealth = 1e9 hum.Health = 1e9 end -- LAYER 2: Stepped loop — runs BEFORE physics every frame physicsGodSteppedConn = RunService.Stepped:Connect(function() if physicsGodCount <= 0 then if physicsGodSteppedConn then physicsGodSteppedConn:Disconnect() physicsGodSteppedConn = nil end return end local char = physicsGodSpeaker.Character if not char then return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then return end if hum.MaxHealth < 1e9 then physicsGodOriginalMaxHP = hum.MaxHealth hum.MaxHealth = 1e9 end hum.Health = 1e9 pcall(function() hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false) end) if hum:GetState() == Enum.HumanoidStateType.Dead then hum:ChangeState(Enum.HumanoidStateType.RunningNoPhysics) end end) -- LAYER 3: Heartbeat loop — runs AFTER physics every frame (safety net) physicsGodConn = RunService.Heartbeat:Connect(function() if physicsGodCount <= 0 then if physicsGodConn then physicsGodConn:Disconnect() physicsGodConn = nil end return end pcall(function() sethiddenproperty(physicsGodSpeaker, "SimulationRadius", math.huge) end) local char = physicsGodSpeaker.Character if not char then return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then return end if hum.MaxHealth < 1e9 then physicsGodOriginalMaxHP = hum.MaxHealth hum.MaxHealth = 1e9 end hum.Health = 1e9 pcall(function() hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false) end) if hum:GetState() == Enum.HumanoidStateType.Dead then hum:ChangeState(Enum.HumanoidStateType.RunningNoPhysics) end end) -- LAYER 4: Protect current character immediately protectCharacter(physicsGodSpeaker.Character) -- LAYER 5: On respawn, protect the new character too physicsGodCharAddedConn = physicsGodSpeaker.CharacterAdded:Connect(function(newChar) if physicsGodCount <= 0 then return end task.wait(0.5) protectCharacter(newChar) end) end end function disablePhysicsGodmode(speaker) physicsGodCount = math.max(0, physicsGodCount - 1) if physicsGodCount <= 0 then physicsGodCount = 0 if physicsGodConn then physicsGodConn:Disconnect() physicsGodConn = nil end if physicsGodSteppedConn then physicsGodSteppedConn:Disconnect() physicsGodSteppedConn = nil end if physicsGodCharAddedConn then physicsGodCharAddedConn:Disconnect() physicsGodCharAddedConn = nil end physicsGodCharAddedConn = nil physicsGodSpeaker = nil -- Restore normal gameplay — re-enable Dead state and original MaxHealth pcall(function() local char = speaker.Character if char then local hum = char:FindFirstChildWhichIsA('Humanoid') if hum then hum:SetStateEnabled(Enum.HumanoidStateType.Dead, true) hum.MaxHealth = physicsGodOriginalMaxHP hum.Health = physicsGodOriginalMaxHP end end end) end end -- ======================== NO-FALL-DAMAGE ======================== -- Disabled by default. Use 'nofalldamage' to enable if needed. -- Previously ran permanently which capped falling speed to -50. local noFallConn = nil local noFallActive = false local function startNoFallDamage() if noFallConn and noFallConn.Connected then return end noFallConn = RunService.Stepped:Connect(function() if not noFallActive then return end local char = Players.LocalPlayer.Character if not char then return end local root = char:FindFirstChild('HumanoidRootPart') local hum = char:FindFirstChildWhichIsA('Humanoid') if not root or not hum then return end if hum.Health <= 0 then return end local vel = root.Velocity if vel.Y < -50 then root.Velocity = Vector3.new(vel.X, -50, vel.Z) end end) end -- Not started automatically anymore — no more falling speed cap -- ======================== MANUAL GODMODE COMMAND ======================== -- Lets you toggle the physics godmode on/off manually without needing a ua command. -- Usage: god / ungod addcmd('god', {}, function(args, speaker) enablePhysicsGodmode(speaker) notify('God', 'Physics godmode ON! You are invincible.') end) addcmd('ungod', {}, function(args, speaker) disablePhysicsGodmode(speaker) notify('God', 'Physics godmode OFF!') end) addcmd('togglegod', {}, function(args, speaker) if physicsGodCount > 0 then execCmd('ungod') else execCmd('god') end end) -- ======================== ORBIT UA (VELOCITY-BASED TORNADO) ======================== -- Uses direct Velocity manipulation (not AlignPosition constraints) to orbit parts. -- Parts get zero-friction physics, then their Velocity is set toward orbit targets. -- Math: atan2 calculates current angle, offsets it by rotation speed, uses cos/sin for circle. -- Velocity toward target = attractionStrength. Creates a spinning tornado of all unanchored parts. -- Defaults: radius=50, speed=500, height=0 -- Usage: orbitua [radius] [speed] [height] | orbitua off / unorbitua orbituaActive = false orbituaConn = nil orbituaParts = {} orbituaRadius = 50 orbituaSpeed = 500 orbituaHeight = 0 orbituaDiedConn = nil orbituaCenter = nil addcmd('orbitua', {'orbitall'}, function(args, speaker) if args[1] and args[1]:lower() == 'off' then execCmd('unorbitua') return end if orbituaActive then execCmd('unorbitua') return end local char = speaker.Character if not char or not getRoot(char) then notify('OrbitUA', 'Character not found') return end enablePhysicsGodmode(speaker) orbituaRadius = tonumber(args[1]) or 50 orbituaSpeed = tonumber(args[2]) or 500 orbituaHeight = tonumber(args[3]) or 0 local root = getRoot(char) local humanoid = char:FindFirstChildWhichIsA('Humanoid') -- Create invisible anchored center point (the tornado eye) orbituaCenter = Instance.new('Part') orbituaCenter.Name = randomString() orbituaCenter.Size = Vector3.new(1, 1, 1) orbituaCenter.Transparency = 1 orbituaCenter.Anchored = true orbituaCenter.CanCollide = false orbituaCenter.Parent = workspace orbituaCenter.CFrame = root.CFrame -- Collect all eligible unanchored parts (not from our character) orbituaParts = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) table.insert(orbituaParts, part) end end end -- Watch for new parts being added to workspace orbituaActive = true local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not orbituaActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(orbituaParts) do if existing == p then return end end orbitua_prepPart(p) table.insert(orbituaParts, p) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(orbituaParts) do if existing == p then table.remove(orbituaParts, i) break end end end) if humanoid then orbituaDiedConn = humanoid.Died:Connect(function() execCmd('unorbitua') end) end -- Main loop: Velocity-based circular orbit -- Each frame: calculate where each part should be on the circle, set Velocity toward that point local angleOffset = 0 orbituaConn = RunService.Heartbeat:Connect(function(dt) if not orbituaActive then return end local r = getRoot(speaker.Character) if not r then return end -- Move center to player position orbituaCenter.CFrame = r.CFrame sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Advance the rotation angle angleOffset = angleOffset + (orbituaSpeed * 0.01 * dt) local center = orbituaCenter.Position + Vector3.new(0, orbituaHeight, 0) for i, part in pairs(orbituaParts) do if part and part.Parent then local pos = part.Position -- Calculate current angle of part relative to center local angle = math.atan2(pos.Z - center.Z, pos.X - center.X) -- Offset angle by rotation speed to create orbit local newAngle = angle + (orbituaSpeed * 0.01 * dt) -- Distance from center (clamped to radius) local dist = (Vector3.new(pos.X, center.Y, pos.Z) - center).Magnitude local clampedDist = math.min(orbituaRadius, dist) -- Calculate target position on the circle local targetPos = Vector3.new( center.X + math.cos(newAngle) * clampedDist, center.Y + (orbituaHeight > 0 and (orbituaHeight * math.abs(math.sin((pos.Y - center.Y) / math.max(orbituaHeight, 1)))) or 0), center.Z + math.sin(newAngle) * clampedDist ) -- Set Velocity toward target = attraction local dir = (targetPos - pos) if dir.Magnitude > 0.01 then part.Velocity = dir.Unit * orbituaSpeed end end end end) showArcPopup('OrbitUA (R:' .. orbituaRadius .. ' S:' .. orbituaSpeed .. ')', true) end) -- Helper: prep a part for orbiting (strip constraints, zero friction, no collision) function orbitua_prepPart(part) for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') or x:IsA('BodyForce') or x:IsA('BodyGyro') or x:IsA('BodyPosition') or x:IsA('BodyThrust') or x:IsA('BodyVelocity') or x:IsA('RocketPropulsion') or x:IsA('AlignPosition') or x:IsA('AlignOrientation') or x:IsA('Torque') then x:Destroy() end end part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) part.CanCollide = false end addcmd('unorbitua', {'noorbitua'}, function(args, speaker) orbituaActive = false disablePhysicsGodmode(speaker) if orbituaConn then orbituaConn:Disconnect() orbituaConn = nil end if orbituaDiedConn then orbituaDiedConn:Disconnect() orbituaDiedConn = nil end for _, part in pairs(orbituaParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.CanCollide = true end end orbituaParts = {} if orbituaCenter and orbituaCenter.Parent then orbituaCenter:Destroy() end orbituaCenter = nil showArcPopup('OrbitUA', false) end) addcmd('toggleorbitua', {}, function(args, speaker) if orbituaActive then execCmd('unorbitua') else execCmd('orbitua') end end) -- ======================== CUBE BUILDER ======================== -- Uses orbitua-style approach: orbitua_prepPart + AlignPosition/AlignOrientation -- Scans workspace for 6 unanchored parts of the same type, aligns them as a cube 15 studs above your head -- Groups by part.Name first (e.g. all "Brick", all "Wood"), falls back to ClassName -- Works with ANY size block -- just need 6 of the same named type -- Usage: cube | uncube / nocube / cubeoff / togglecube local cubeParts = {} local cubeActive = false local cubeConn = nil local cubeCenter = nil local cubeDiedConn = nil local cubeFaceOffsets = nil addcmd('cube', {'cubebuild'}, function(args, speaker) if cubeActive then execCmd('uncube') return end local char = speaker.Character if not char or not getRoot(char) then notify('Cube', 'Character not found') return end local root = getRoot(char) -- Collect all valid unanchored parts (skip tiny parts and character parts) local allParts = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored and part.Size.Magnitude > 0.3 then if not char:IsAncestorOf(part) then table.insert(allParts, part) end end end -- Group by part.Name first (same type of block), fall back to ClassName local function findBestGroup(keyFunc) local typeGroups = {} for _, part in pairs(allParts) do local key = keyFunc(part) if not typeGroups[key] then typeGroups[key] = {} end table.insert(typeGroups[key], part) end local bestGroup = nil local bestCount = 0 local bestAvgSize = 0 for key, group in pairs(typeGroups) do local count = #group if count >= 6 and count >= bestCount then local avgSize = 0 for _, p in pairs(group) do avgSize = avgSize + p.Size.Magnitude end avgSize = avgSize / count if count > bestCount or avgSize > bestAvgSize then bestGroup = group bestCount = count bestAvgSize = avgSize end end end return bestGroup, bestCount end -- Try grouping by Name first, then ClassName as fallback local bestGroup, bestCount = findBestGroup(function(p) return p.Name end) if not bestGroup then bestGroup, bestCount = findBestGroup(function(p) return p.ClassName end) end if not bestGroup then notify('Cube', 'Could not find 6 parts of the same type in workspace') return end -- Take exactly 6 parts cubeParts = {} for i = 1, 6 do cubeParts[i] = bestGroup[i] end -- Determine cube dimensions: average size of all 6 parts local avgX, avgY, avgZ = 0, 0, 0 for _, part in pairs(cubeParts) do avgX = avgX + part.Size.X avgY = avgY + part.Size.Y avgZ = avgZ + part.Size.Z end avgX = avgX / 6 avgY = avgY / 6 avgZ = avgZ / 6 local side = (avgX + avgY + avgZ) / 3 -- average side length local halfW = side / 2 local halfT = side / 2 -- 6 face offsets relative to cube center cubeFaceOffsets = { CFrame.new(halfW + halfT, 0, 0) * CFrame.Angles(0, 0, math.rad(90)), -- Right (+X) CFrame.new(-halfW - halfT, 0, 0) * CFrame.Angles(0, 0, math.rad(-90)), -- Left (-X) CFrame.new(0, halfW + halfT, 0) * CFrame.Angles(0, 0, 0), -- Top (+Y) CFrame.new(0, -halfW - halfT, 0) * CFrame.Angles(math.rad(180), 0, 0), -- Bottom (-Y) CFrame.new(0, 0, halfW + halfT) * CFrame.Angles(math.rad(90), 0, 0), -- Front (+Z) CFrame.new(0, 0, -halfW - halfT) * CFrame.Angles(math.rad(-90), 0, 0), -- Back (-Z) } -- Prep parts using orbitua's helper (strip old constraints, zero friction, no collision) for _, part in pairs(cubeParts) do orbitua_prepPart(part) end -- Add AlignPosition + AlignOrientation to each part for precise face positioning for i = 1, 6 do local part = cubeParts[i] local ap = Instance.new('AlignPosition') ap.Name = 'CubeAP' ap.Mode = Enum.PositionAlignmentMode.OneAttachment ap.Attachment0 = Instance.new('Attachment', part) ap.MaxForce = math.huge ap.ReactionForceEnabled = false ap.Responsiveness = 200 ap.Parent = part local ao = Instance.new('AlignOrientation') ao.Name = 'CubeAO' ao.Mode = Enum.OrientationAlignmentMode.OneAttachment ao.Attachment0 = Instance.new('Attachment', part) ao.MaxTorque = math.huge ao.Responsiveness = 200 ao.Parent = part end -- Weld all 6 faces together for sturdiness for i = 1, 6 do for j = i + 1, 6 do local w = Instance.new('WeldConstraint') w.Part0 = cubeParts[i] w.Part1 = cubeParts[j] w.Parent = cubeParts[i] end end -- Create invisible anchored center point (same as orbitua) cubeCenter = Instance.new('Part') cubeCenter.Name = randomString() cubeCenter.Size = Vector3.new(1, 1, 1) cubeCenter.Transparency = 1 cubeCenter.Anchored = true cubeCenter.CanCollide = false cubeCenter.Parent = workspace cubeCenter.CFrame = root.CFrame * CFrame.new(0, 15, 0) cubeActive = true local hum = char:FindFirstChildWhichIsA('Humanoid') if hum then cubeDiedConn = hum.Died:Connect(function() execCmd('uncube') end) end -- Main loop: update alignment targets each frame (same structure as orbitua) cubeConn = RunService.Heartbeat:Connect(function(dt) if not cubeActive then return end local r = getRoot(speaker.Character) if not r then return end if not cubeCenter or not cubeCenter.Parent then return end -- Move center 15 studs above player cubeCenter.CFrame = r.CFrame * CFrame.new(0, 15, 0) sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Update each face's alignment target for i = 1, 6 do local part = cubeParts[i] if part and part.Parent then local targetCF = cubeCenter.CFrame * cubeFaceOffsets[i] local ap = part:FindFirstChild('CubeAP') if ap then ap.Position = targetCF.Position end local ao = part:FindFirstChild('CubeAO') if ao then ao.CFrame = targetCF end -- Kill velocity so it stays tight part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) end end end) showArcPopup('Cube (15 studs)', true) notify('Cube', 'Built cube from ' .. bestCount .. ' similar parts (15 studs above head)') end) addcmd('uncube', {'nocube', 'cubeoff'}, function(args, speaker) cubeActive = false if cubeConn then cubeConn:Disconnect() cubeConn = nil end if cubeDiedConn then cubeDiedConn:Disconnect() cubeDiedConn = nil end if cubeCenter and cubeCenter.Parent then cubeCenter:Destroy() end cubeCenter = nil for _, part in pairs(cubeParts) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x:IsA('AlignPosition') or x:IsA('AlignOrientation') or x:IsA('WeldConstraint') or x:IsA('Attachment') then x:Destroy() end end pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) end end cubeParts = {} cubeFaceOffsets = nil showArcPopup('Cube', false) end) addcmd('togglecube', {}, function(args, speaker) if cubeActive then execCmd('uncube') else execCmd('cube') end end) -- ======================== BLACK HOLE ======================== -- ALL unanchored parts form a black hole: 75% tight spiraling core, 25% orbit ring. -- Core parts have varying orbit radii + Y wobble for realistic vortex look. -- Constant speed Velocity (orbitua-style) so parts never stop, never lose ownership. -- Tiny random velocity perturbation every frame keeps server ownership active. -- Grabs new parts that spawn. Stays on after death. No cap. -- Usage: blackhole [speed] | unblackhole / noblackhole / blackholeoff / toggleblackhole bhActive = false bhConn = nil bhAllParts = {} bhCenterPos = nil bhRadius = 15 bhSpeed = 300 bhAddConn = nil bhRemConn = nil bhScanConn = nil addcmd('blackhole', {'bhole'}, function(args, speaker) if bhActive then execCmd('unblackhole') return end local char = speaker.Character if not char or not getRoot(char) then notify('Black Hole', 'Character not found') return end local root = getRoot(char) bhSpeed = tonumber(args[1]) or 300 bhAllParts = {} -- Collect ALL eligible unanchored parts (skip tiny debris only) local found = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored and part.Size.Magnitude > 0.5 then if not char:IsAncestorOf(part) then if not (part.Size.X < 1 and part.Size.Y < 1 and part.Size.Z < 1) then table.insert(found, part) end end end end if #found < 4 then notify('Black Hole', 'Not enough unanchored parts in workspace') return end -- Shuffle for random split for i = #found, 2, -1 do local j = math.random(1, i) local tmp = found[i] found[i] = found[j] found[j] = tmp end -- Prep and add all parts for _, part in pairs(found) do orbitua_prepPart(part) table.insert(bhAllParts, part) end -- Record center (stays even if you move) bhCenterPos = root.Position bhRadius = math.max(15, #found * 0.15 + 10) bhActive = true -- Grab new parts that appear (like orbitua) bhAddConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not bhActive then return end if not p:IsA('BasePart') or p.Anchored then return end if p.Size.Magnitude < 0.5 then return end if p.Size.X < 1 and p.Size.Y < 1 and p.Size.Z < 1 then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(bhAllParts) do if existing == p then return end end orbitua_prepPart(p) table.insert(bhAllParts, p) end) end) -- Remove destroyed parts bhRemConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(bhAllParts) do if existing == p then table.remove(bhAllParts, i) break end end end) -- Periodically rescan workspace every 3 seconds to grab parts that got unanchored later bhScanConn = task.spawn(function() while bhActive do task.wait(3) if not bhActive then break end local char2 = speaker.Character for _, part in pairs(workspace:GetDescendants()) do if not bhActive then break end if part:IsA('BasePart') and not part.Anchored and part.Size.Magnitude > 0.5 then if not (part.Size.X < 1 and part.Size.Y < 1 and part.Size.Z < 1) then if not char2 or not char2:IsAncestorOf(part) then local alreadyIn = false for _, existing in pairs(bhAllParts) do if existing == part then alreadyIn = true break end end if not alreadyIn then orbitua_prepPart(part) table.insert(bhAllParts, part) end end end end end end end) -- Main loop bhConn = RunService.Heartbeat:Connect(function(dt) if not bhActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) local total = #bhAllParts if total < 2 then return end local coreEnd = math.floor(total * 0.75) if coreEnd < 1 then coreEnd = 1 end if coreEnd >= total then coreEnd = total - 1 end for i, part in pairs(bhAllParts) do if not part or not part.Parent then end local pos = part.Position local angle = math.atan2(pos.Z - bhCenterPos.Z, pos.X - bhCenterPos.X) -- Tiny random jitter every frame to keep server ownership local jitter = Vector3.new( math.random(-5, 5), 0, math.random(-5, 5) ) if i <= coreEnd then -- CORE: tight vortex around center -- Each part gets a slightly different orbit radius based on index for layered look local layer = ((i - 1) % 5) * 0.6 local coreR = 2 + layer -- Vary speed per layer so inner spins faster than outer (like a real vortex) local speedMult = 1.5 - (layer * 0.15) local newAngle = angle + (bhSpeed * 0.012 * speedMult * dt) -- Y wobble for 3D vortex effect local yWobble = math.sin(tick() * 3 + i * 1.5) * 2 local targetPos = Vector3.new( bhCenterPos.X + math.cos(newAngle) * coreR, bhCenterPos.Y + yWobble, bhCenterPos.Z + math.sin(newAngle) * coreR ) local dir = targetPos - pos if dir.Magnitude > 0.01 then part.Velocity = dir.Unit * bhSpeed + jitter end else -- ORBIT: wide ring with vertical bob local newAngle = angle + (bhSpeed * 0.01 * dt) local flatDist = (Vector3.new(pos.X - bhCenterPos.X, 0, pos.Z - bhCenterPos.Z)).Magnitude local clampedDist = math.min(bhRadius, flatDist) local targetPos = Vector3.new( bhCenterPos.X + math.cos(newAngle) * clampedDist, bhCenterPos.Y + 3 * math.sin(tick() * 2 + i), bhCenterPos.Z + math.sin(newAngle) * clampedDist ) local dir = targetPos - pos if dir.Magnitude > 0.01 then part.Velocity = dir.Unit * bhSpeed + jitter end end end end) showArcPopup('Black Hole', true) notify('Black Hole', #found .. ' parts absorbed (core + ring)') end) addcmd('unblackhole', {'noblackhole', 'blackholeoff'}, function(args, speaker) bhActive = false if bhConn then bhConn:Disconnect() bhConn = nil end if bhAddConn then bhAddConn:Disconnect() bhAddConn = nil end if bhRemConn then bhRemConn:Disconnect() bhRemConn = nil end bhScanConn = nil for _, part in pairs(bhAllParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) end end bhAllParts = {} bhCenterPos = nil showArcPopup('Black Hole', false) end) addcmd('toggleblackhole', {}, function(args, speaker) if bhActive then execCmd('unblackhole') else execCmd('blackhole') end end) -- ======================== UNANCHORED CANNON ======================== -- 1 random unanchored part. Floats 10 studs from you toward mouse using VELOCITY (serversided). -- Click = catapult toward mouse. Green dot stays. Auto-grabs next. -- EXACT same grab logic as orbitua. orbitua_prepPart on grabbed part. -- Usage: cannon [power] | uncannon cannonActive = false cannonDot = nil cannonConn = nil cannonClickConn = nil cannonHeldPart = nil cannonHighlight = nil cannonRecheckThread = nil cannonKeyConn = nil -- Helper: make green dot, returns it local function makeCannonDot() local dot = Instance.new('Part') dot.Name = randomString() dot.Size = Vector3.new(3, 3, 3) dot.Shape = Enum.PartType.Ball dot.Color = Color3.fromRGB(0, 255, 0) dot.Material = Enum.Material.Neon dot.Anchored = true dot.CanCollide = false dot.CanQuery = false dot.CanTouch = false dot.Transparency = 0.3 dot.CastShadow = false dot.Massless = true dot.Parent = workspace return dot end -- Helper: show cannon popup (kills any old animation first, no queue race) local function showCannonPopup(on) pcall(function() -- Kill any running popup animation by destroying and rebuilding if ArcPopupGui and ArcPopupGui.Parent then ArcPopupGui:Destroy() end ArcPopupGui = nil ArcPopupFrame = nil ArcPopupQueue = {} local gui = Instance.new('ScreenGui') gui.Name = 'ArcYieldPopup' gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = game:GetService('CoreGui') ArcPopupGui = gui local frame = Instance.new('Frame') frame.Size = UDim2.new(0, 280, 0, 55) frame.Position = UDim2.new(0.5, -140, 0, -65) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) frame.BackgroundTransparency = 0.15 frame.BorderSizePixel = 0 frame.Parent = gui ArcPopupFrame = frame local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local stroke = Instance.new('UIStroke') stroke.Color = Color3.fromRGB(50, 100, 255) stroke.Thickness = 1.5 stroke.Transparency = 0.3 stroke.Parent = frame local accent = Instance.new('Frame') accent.Size = UDim2.new(0, 5, 0, 55) accent.BackgroundColor3 = Color3.fromRGB(50, 120, 255) accent.BorderSizePixel = 0 local ac = Instance.new('UICorner') ac.CornerRadius = UDim.new(0, 3) ac.Parent = accent accent.Parent = frame local tl = Instance.new('TextLabel') tl.Name = 'Title' tl.Size = UDim2.new(1, -20, 0, 28) tl.Position = UDim2.new(0, 14, 0, 2) tl.BackgroundTransparency = 1 tl.Text = 'Cannon' tl.TextColor3 = Color3.fromRGB(220, 230, 255) tl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) tl.TextStrokeTransparency = 0.6 tl.Font = Enum.Font.GothamBold tl.TextSize = 16 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Parent = frame local sl = Instance.new('TextLabel') sl.Name = 'Status' sl.Size = UDim2.new(1, -20, 0, 20) sl.Position = UDim2.new(0, 14, 0, 28) sl.BackgroundTransparency = 1 sl.Text = on and 'ENABLED' or 'DISABLED' sl.TextColor3 = on and Color3.fromRGB(100, 255, 130) or Color3.fromRGB(255, 100, 100) sl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) sl.TextStrokeTransparency = 0.8 sl.Font = Enum.Font.Gotham sl.TextSize = 13 sl.TextXAlignment = Enum.TextXAlignment.Left sl.Parent = frame local ts = game:GetService('TweenService') ts:Create(frame, TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, -140, 0, 10), BackgroundTransparency = 0 }):Play() end) end addcmd('cannon', {}, function(args, speaker) if cannonActive then execCmd('uncannon') return end local char = speaker.Character if not char then notify('Cannon', 'Character not found') return end enablePhysicsGodmode(speaker) local mouse = speaker:GetMouse() -- Parse optional power argument (default 500) local cannonPower = tonumber(args[1] or '') or 500 cannonActive = true cannonDot = makeCannonDot() cannonDot.AncestryChanged:Connect(function(_, newParent) if not newParent and cannonActive then pcall(function() cannonDot.Parent = workspace end) end end) -- Check if part has any Humanoid ancestor (skip body parts) local function isBodyPart(part) local ancestor = part.Parent while ancestor and ancestor ~= workspace do if ancestor:FindFirstChildWhichIsA('Humanoid') then return true end ancestor = ancestor.Parent end return false end -- Check if part is welded to any anchored part (recursive, depth capped) -- Uses GetJoints() to find ALL connections from BOTH sides -- Filters out SurfaceJoints (auto physics contacts with terrain/ground) -- Returns true = REJECT (welded chain leads to anchored) -- Returns false = OK (0 real welds, or all welds lead to unanchored = free clump) local function isWeldedToAnchored(part, visited, depth) if not visited then visited = {} end if not depth then depth = 0 end if depth > 20 then return false end if visited[part] then return false end visited[part] = true if part.Anchored then return true end local ok, joints = pcall(function() return part:GetJoints() end) if not ok or not joints then return false end for _, j in pairs(joints) do -- Skip SurfaceJoints: auto-created when part touches terrain/ground -- These are NOT real welds and lead to false positives local className = j.ClassName if className ~= 'SurfaceJoint' and className ~= 'SurfaceConstraint' then local other = nil local jok = pcall(function() -- Try Part0/Part1 first (Weld, WeldConstraint, NoCollisionConstraint, etc.) if j.Part0 and j.Part0 ~= part then other = j.Part0 end if not other and j.Part1 and j.Part1 ~= part then other = j.Part1 end -- Fallback: Attachment-based (RodConstraint, SpringConstraint, HingeConstraint, etc.) if not other then if j.Attachment0 and j.Attachment0.Parent and j.Attachment0.Parent:IsA('BasePart') and j.Attachment0.Parent ~= part then other = j.Attachment0.Parent elseif j.Attachment1 and j.Attachment1.Parent and j.Attachment1.Parent:IsA('BasePart') and j.Attachment1.Parent ~= part then other = j.Attachment1.Parent end end end) if jok and other then if other.Anchored then return true end if isWeldedToAnchored(other, visited, depth + 1) then return true end end end end return false end -- Remove old highlight local function removeHighlight() if cannonHighlight and cannonHighlight.Parent then pcall(function() cannonHighlight:Destroy() end) end cannonHighlight = nil end -- Pre-built queue from background scan (no lag on click/grab) local cannonQueue = {} -- Pick 1 random part from the queue and hold it -- No weld check here -- queue is pre-filtered by the scan every 30s local function grabFromQueue() removeHighlight() local valid = {} for _, part in pairs(cannonQueue) do if part and part.Parent and part.Anchored == false then if not char:IsAncestorOf(part) then if not isBodyPart(part) then valid[#valid + 1] = part end end end end if #valid > 0 then local chosen = valid[math.random(1, #valid)] -- Safety: double-check weld chain in case it changed since last scan local ok2, welded = pcall(function() return isWeldedToAnchored(chosen) end) if ok2 and welded then chosen = nil for _, p in ipairs(valid) do local ok3, w2 = pcall(function() return isWeldedToAnchored(p) end) if not ok3 or not w2 then chosen = p break end end end if not chosen then cannonHeldPart = nil return end pcall(function() orbitua_prepPart(chosen) end) pcall(function() chosen.Massless = true end) -- Teleport onto part briefly for server ownership, then come back -- Stay 0.1 second, skip if part is too far (>500 studs) -- Kill player momentum after teleport back so you dont get flung pcall(function() local root = getRoot(speaker.Character) if root then local dist = (chosen.Position - root.Position).Magnitude if dist <= 500 then local savedPos = root.CFrame root.CFrame = chosen.CFrame + Vector3.new(0, 3, 0) task.wait(0.1) root.CFrame = savedPos root.Velocity = Vector3.new(0, 0, 0) root.AssemblyLinearVelocity = Vector3.new(0, 0, 0) root.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end end end) pcall(function() chosen:SetNetworkOwner(nil) end) pcall(function() workspace:ResetNetworkOwnerlessTimeout(0) end) cannonHeldPart = chosen -- ESP highlight local hl = Instance.new('Highlight') hl.Name = randomString() hl.FillColor = Color3.fromRGB(255, 100, 0) hl.OutlineColor = Color3.fromRGB(255, 255, 0) hl.FillTransparency = 0.5 hl.OutlineTransparency = 0 hl.Parent = chosen cannonHighlight = hl else cannonHeldPart = nil end end -- Scan function: rebuild queue with weld check -- Yields every 40 parts so it doesn't freeze a single frame (no lag spike) local function fullScan() local freshQueue = {} local allParts = {} pcall(function() for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('BasePart') and obj.Anchored == false then allParts[#allParts + 1] = obj end end end) local freshChar = speaker.Character local count = 0 for i = 1, #allParts do local part = allParts[i] if part and part.Parent then if freshChar and not freshChar:IsAncestorOf(part) then if not isBodyPart(part) then local weldOk, welded = pcall(function() return isWeldedToAnchored(part) end) if not weldOk or not welded then freshQueue[#freshQueue + 1] = part end end end end count = count + 1 if count % 5 == 0 then RunService.Heartbeat:Wait() end end cannonQueue = freshQueue end -- Background scan every 5 seconds: rebuilds queue + rechecks held part -- Everything is spread across frames so there is zero lag spike cannonRecheckThread = task.spawn(function() while cannonActive do task.wait(5) if not cannonActive then break end -- Remove all FallDamageScripts from workspace only (game:GetDescendants is too heavy) pcall(function() local count = 0 for _, obj in pairs(workspace:GetDescendants()) do local n = obj.Name if n == 'FallDamageScript' or n == 'fallDamageScript' or n == 'FallDamage' then pcall(function() obj:Destroy() end) end count = count + 1 if count % 200 == 0 then RunService.Heartbeat:Wait() end end end) -- Also check common script services pcall(function() for _, svc in pairs({game:GetService('ServerScriptService'), game:GetService('StarterPlayer'), game:GetService('StarterGui'), game:GetService('ReplicatedFirst')}) do local count = 0 for _, obj in pairs(svc:GetDescendants()) do local n = obj.Name if n == 'FallDamageScript' or n == 'fallDamageScript' or n == 'FallDamage' then pcall(function() obj:Destroy() end) end count = count + 1 if count % 200 == 0 then RunService.Heartbeat:Wait() end end end end) fullScan() -- Recheck currently held part: did it die, anchor, or get welded? if cannonHeldPart and cannonHeldPart.Parent then if cannonHeldPart.Anchored then grabFromQueue() else local ok2, welded = pcall(function() return isWeldedToAnchored(cannonHeldPart) end) if ok2 and welded then grabFromQueue() end end elseif cannonHeldPart then -- Part destroyed cannonHeldPart = nil grabFromQueue() end end end) -- Initial scan in background so cannon enables INSTANTLY (no waiting) -- Grab happens once scan finishes populating the queue task.spawn(function() fullScan() if cannonActive then grabFromQueue() end end) -- Press K to force re-scan (rechecks welds on everything) local UIS = game:GetService('UserInputService') cannonKeyConn = UIS.InputBegan:Connect(function(input) if not cannonActive then return end if input.KeyCode == Enum.KeyCode.K then fullScan() grabFromQueue() end end) -- Main loop: move dot, move held part with VELOCITY (serversided!) cannonConn = RunService.Heartbeat:Connect(function(dt) if not cannonActive then return end -- Keep green dot alive (games delete non-game parts from workspace) if not cannonDot or not cannonDot.Parent then cannonDot = makeCannonDot() cannonDot.AncestryChanged:Connect(function(_, newParent) if not newParent and cannonActive then pcall(function() cannonDot.Parent = workspace end) end end) end -- Also force-dot-parent every frame as backup if cannonDot.Parent ~= workspace then pcall(function() cannonDot.Parent = workspace end) end local r = getRoot(speaker.Character) if not r then return end -- Serversided (same as orbitua) pcall(function() sethiddenproperty(speaker, "SimulationRadius", math.huge) end) -- Force server ownership on held part every frame if cannonHeldPart and cannonHeldPart.Parent then pcall(function() cannonHeldPart:SetNetworkOwner(nil) end) end -- Move green dot to mouse (anchored part, CFrame is fine) pcall(function() local mousePos = mouse.Hit.Position -- Clamp dot to max 200 studs from camera so it's always visible local cam = workspace.CurrentCamera if cam then local camPos = cam.CFrame.Position if (mousePos - camPos).Magnitude > 200 then mousePos = camPos + (mousePos - camPos).Unit * 200 end end cannonDot.CFrame = CFrame.new(mousePos) end) -- Move held part using VELOCITY (serversided, everyone sees it move) if cannonHeldPart and cannonHeldPart.Parent then local ok = pcall(function() local toMouse = cannonDot.Position - r.Position local targetPos = r.Position + toMouse.Unit * 10 local dir = targetPos - cannonHeldPart.Position if dir.Magnitude > 0.5 then cannonHeldPart.Velocity = dir.Unit * math.min(dir.Magnitude * 8, 300) else cannonHeldPart.Velocity = Vector3.new(0, 0, 0) end cannonHeldPart.RotVelocity = Vector3.new(0, 0, 0) cannonHeldPart.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) cannonHeldPart.CanCollide = false cannonHeldPart.CanTouch = false end) if not ok then -- Part is probably broken, grab a new one from queue removeHighlight() cannonHeldPart = nil grabFromQueue() end -- Keep highlight on if not cannonHighlight or not cannonHighlight.Parent then if cannonHeldPart and cannonHeldPart.Parent then local hl = Instance.new('Highlight') hl.Name = randomString() hl.FillColor = Color3.fromRGB(255, 100, 0) hl.OutlineColor = Color3.fromRGB(255, 255, 0) hl.FillTransparency = 0.5 hl.OutlineTransparency = 0 hl.Parent = cannonHeldPart cannonHighlight = hl end end end end) -- Click = catapult force toward mouse, keeps pushing for 0.5s so lag doesnt kill it cannonClickConn = mouse.Button1Down:Connect(function() if not cannonActive then return end if not cannonHeldPart or not cannonHeldPart.Parent then return end local launched = cannonHeldPart local launchDir = (cannonDot.Position - launched.Position).Unit cannonHeldPart = nil removeHighlight() pcall(function() launched:SetNetworkOwner(nil) launched.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) launched.CanCollide = false end) -- Keep pushing for 0.5 seconds so lag spikes dont eat the launch task.spawn(function() local startTime = tick() while tick() - startTime < 0.5 do if not launched or not launched.Parent then break end pcall(function() launched.Velocity = launchDir * cannonPower launched.RotVelocity = Vector3.new( math.random(-100, 100), math.random(-100, 100), math.random(-100, 100) ) end) RunService.Heartbeat:Wait() end end) -- Wait 0.2 seconds then grab next part (dont teleport instantly on shoot) task.delay(0.2, function() if not cannonActive then return end grabFromQueue() end) end) -- Show ENABLED popup (destroys old popup first = no race conditions) showCannonPopup(true) notify('Cannon', 'Click to launch! Green dot stays') end) addcmd('uncannon', {}, function(args, speaker) cannonActive = false disablePhysicsGodmode(speaker) if cannonConn then cannonConn:Disconnect() cannonConn = nil end if cannonClickConn then cannonClickConn:Disconnect() cannonClickConn = nil end if cannonKeyConn then cannonKeyConn:Disconnect() cannonKeyConn = nil end if cannonHighlight and cannonHighlight.Parent then cannonHighlight:Destroy() end cannonHighlight = nil if cannonHeldPart and cannonHeldPart.Parent then pcall(function() cannonHeldPart.CustomPhysicalProperties = nil end) pcall(function() cannonHeldPart.Velocity = Vector3.new(0, 0, 0) end) end cannonHeldPart = nil cannonRecheckThread = nil if cannonDot and cannonDot.Parent then cannonDot:Destroy() end cannonDot = nil showCannonPopup(false) end) -- ======================== TROWEL ======================== -- Open-top box 300 studs above player. Walls/floor always have collisions. -- Collect tool: scan nearby parts -> fly them up -> over box -> drop in. -- Launch tool: fly parts up -> over mouse -> drop at mouse position. -- Everything serversided via velocity only. No teleport. -- Usage: trowel [mode] | untrowel trowelActive = false trowelConn = nil trowelParts = {} trowelBox = nil trowelLaunchTool = nil trowelCollectTool = nil trowelCollectRadius = 80 trowelDeploying = false addcmd('trowel', {}, function(args, speaker) if trowelActive then execCmd('untrowel') return end local char = speaker.Character if not char or not getRoot(char) then notify('Trowel', 'Character not found') return end enablePhysicsGodmode(speaker) trowelActive = true trowelParts = {} trowelDeploying = false local deployMode = (args[1] or ''):lower() local validModes = {'explode', 'rain', 'spiral', 'shotgun', 'orbit', 'scatter', 'wave', 'normal', 'gun', 'one', 'drop', 'tower', 'wall', 'floor', 'bridge', 'cage', 'staircase', 'missile', 'shield', 'hail', 'volcano', 'magnet', 'fling', 'pile'} local modeValid = false for _, m in pairs(validModes) do if deployMode == m then modeValid = true break end end if not modeValid then deployMode = 'normal' end local root = getRoot(char) local boxPos = root.Position + Vector3.new(0, 300, 0) -- Target Y is at the TOP of the walls (boxPos.Y + 25) so parts fly up, -- then get pushed DOWN into the open-top box instead of floating above it. local aboveBoxY = boxPos.Y + 25 -- Build open-top box with REAL collisions always on local boxModel = Instance.new('Model') boxModel.Name = randomString() boxModel.Parent = workspace -- Floor local floor = Instance.new('Part') floor.Name = randomString() floor.Size = Vector3.new(50, 1, 50) floor.Position = boxPos - Vector3.new(0, 24.5, 0) floor.Anchored = true floor.CanCollide = true floor.CanQuery = false floor.CanTouch = false floor.CastShadow = false floor.Material = Enum.Material.Grass floor.Color = Color3.fromRGB(50, 200, 80) floor.Transparency = 0.3 floor.Parent = boxModel -- 4 Walls local wallOffsets = { Vector3.new(0, 0, 24.5), Vector3.new(0, 0, -24.5), Vector3.new(24.5, 0, 0), Vector3.new(-24.5, 0, 0), } local wallSizes = { Vector3.new(50, 50, 1), Vector3.new(50, 50, 1), Vector3.new(1, 50, 50), Vector3.new(1, 50, 50), } for w = 1, 4 do local wall = Instance.new('Part') wall.Name = randomString() wall.Size = wallSizes[w] wall.Position = boxPos + wallOffsets[w] wall.Anchored = true wall.CanCollide = true wall.CanQuery = false wall.CanTouch = false wall.CastShadow = false wall.Material = Enum.Material.ForceField wall.Color = Color3.fromRGB(0, 150, 255) wall.Transparency = 0.5 wall.Parent = boxModel end -- NO ceiling - open top so parts drop in -- SelectionBox wireframe local shellDummy = Instance.new('Part') shellDummy.Name = randomString() shellDummy.Size = Vector3.new(50, 50, 50) shellDummy.Position = boxPos shellDummy.Anchored = true shellDummy.CanCollide = false shellDummy.CanQuery = false shellDummy.CanTouch = false shellDummy.Transparency = 1 shellDummy.Parent = boxModel local selBox = Instance.new('SelectionBox') selBox.Adornee = shellDummy selBox.Color3 = Color3.fromRGB(100, 200, 255) selBox.LineThickness = 0.08 selBox.Transparency = 0.2 selBox.Parent = shellDummy -- Glowing beacon local core = Instance.new('Part') core.Name = randomString() core.Size = Vector3.new(3, 3, 3) core.Shape = Enum.PartType.Ball core.Position = boxPos + Vector3.new(0, 22, 0) core.Anchored = true core.CanCollide = false core.CanQuery = false core.CanTouch = false core.CastShadow = false core.Material = Enum.Material.Neon core.Color = Color3.fromRGB(0, 200, 255) core.Transparency = 0.2 core.Parent = boxModel local boxLight = Instance.new('PointLight') boxLight.Color = Color3.fromRGB(0, 180, 255) boxLight.Brightness = 3 boxLight.Range = 40 boxLight.Parent = core trowelBox = boxModel -- ========== HELPER: fly parts up, over, drop ========== local function flyPartsTo(partsList, destX, destZ, spreadX, spreadZ, onDrop) -- Phase 1: fly up above box for i = 1, #partsList do local part = partsList[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end task.wait(0.02) end task.wait(2) -- Phase 2: fly to dest X/Z for i = 1, #partsList do local part = partsList[i] if part and part.Parent then pcall(function() local gx = destX + math.random(-spreadX, spreadX) local gz = destZ + math.random(-spreadZ, spreadZ) local diff = Vector3.new(gx - part.Position.X, 30, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Phase 3: drop (restore physics, let gravity pull) for i = 1, #partsList do local part = partsList[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end if onDrop then onDrop() end end -- ========== MAIN PHYSICS LOOP ========== -- State machine: fly_up -> fly_over -> drop -> settling -> in_box trowelConn = RunService.Heartbeat:Connect(function(dt) if not trowelActive then return end pcall(function() sethiddenproperty(speaker, "SimulationRadius", math.huge) end) for i = #trowelParts, 1, -1 do local entry = trowelParts[i] local part = entry.part if not part or not part.Parent then table.remove(trowelParts, i) else pcall(function() if entry.state == 'fly_up' then -- Clamp velocity so parts don't overshoot past the top of the box local distToTarget = entry.targetY - part.Position.Y if distToTarget <= 2 then -- Close enough, zero out vertical and move to fly_over part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) entry.state = 'fly_over' else local upSpeed = math.min(600, distToTarget * 8) part.Velocity = Vector3.new(0, upSpeed, 0) part.RotVelocity = Vector3.new(0, 0, 0) end elseif entry.state == 'fly_over' then local gx = entry.targetX local gz = entry.targetZ local hDiff = Vector3.new(gx - part.Position.X, 0, gz - part.Position.Z) local hDist = hDiff.Magnitude if hDist < 5 then -- Centered above the box, now drop straight down into it entry.state = 'drop' else -- Move horizontally toward center, but also push DOWN so part -- doesn't float above the box while drifting local hSpeed = math.min(300, hDist * 6) local moveDir = hDiff.Unit * hSpeed -- Push down gently toward the inside of the box local downPull = -80 part.Velocity = Vector3.new(moveDir.X, downPull, moveDir.Z) part.RotVelocity = Vector3.new(0, 0, 0) end elseif entry.state == 'drop' then part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false entry.dropTime = tick() entry.state = 'settling' elseif entry.state == 'settling' then -- Keep zeroing velocity during settle so parts don't bounce back up part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) if tick() - entry.dropTime > 2 then if entry.onDone == 'collect' then entry.state = 'in_box' else table.remove(trowelParts, i) end end end end) end end end) -- ========== HELPER: claim server ownership via teleport ========== -- Teleports you to the box for 500ms so server gives you ownership of all parts near it, -- then teleports you back. Way more reliable than SetNetworkOwner(nil). local function claimBoxOwnership() local r = getRoot(speaker.Character) if not r then return end local savedCF = r.CFrame pcall(function() -- Teleport to box center (floor level) char:PivotTo(CFrame.new(boxPos.X, boxPos.Y - 23, boxPos.Z)) task.wait(0.5) -- Teleport back char:PivotTo(savedCF) end) end -- ========== COLLECT TOOL ========== local collectTool = Instance.new('Tool') collectTool.Name = 'Collect' collectTool.CanBeDropped = false collectTool.Parent = speaker.Backpack trowelCollectTool = collectTool local collectHandle = Instance.new('Part') collectHandle.Name = 'Handle' collectHandle.Size = Vector3.new(0.1, 0.1, 0.1) collectHandle.Transparency = 1 collectHandle.CanCollide = false collectHandle.CanQuery = false collectHandle.CanTouch = false collectHandle.Parent = collectTool collectTool.Activated:Connect(function() if not trowelActive then return end if trowelDeploying then return end local r = getRoot(speaker.Character) if not r then return end local found = 0 pcall(function() for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored and part.Parent then if not char:IsAncestorOf(part) then local dist = (part.Position - r.Position).Magnitude if dist <= trowelCollectRadius then local already = false for _, e in pairs(trowelParts) do if e.part == part then already = true break end end if not already then local isBody = false local anc = part.Parent while anc and anc ~= workspace do if anc:FindFirstChildWhichIsA('Humanoid') then isBody = true break end anc = anc.Parent end if not isBody then pcall(function() part.CanCollide = false part.Massless = true part:SetNetworkOwner(nil) workspace:ResetNetworkOwnerlessTimeout(0) end) trowelParts[#trowelParts + 1] = { part = part, state = 'fly_up', targetY = aboveBoxY, targetX = boxPos.X + math.random(-15, 15), targetZ = boxPos.Z + math.random(-15, 15), onDone = 'collect', dropTime = 0 } found = found + 1 end end end end end end end) notify('Trowel', 'Collecting ' .. found .. ' parts into the box!') end) -- ========== LAUNCH TOOL ========== local launchTool = Instance.new('Tool') launchTool.Name = 'Launch [' .. deployMode .. ']' launchTool.CanBeDropped = false launchTool.Parent = speaker.Backpack trowelLaunchTool = launchTool local launchHandle = Instance.new('Part') launchHandle.Name = 'Handle' launchHandle.Size = Vector3.new(0.1, 0.1, 0.1) launchHandle.Transparency = 1 launchHandle.CanCollide = false launchHandle.CanQuery = false launchHandle.CanTouch = false launchHandle.Parent = launchTool -- Beam when equipped local beamConn = nil local beam = nil local statusGui = nil local statusLabel = nil launchTool.Equipped:Connect(function() beam = Instance.new('Part') beam.Name = randomString() beam.Anchored = true beam.CanCollide = false beam.CanQuery = false beam.CanTouch = false beam.CastShadow = false beam.Size = Vector3.new(0.3, 0.3, 1) beam.Material = Enum.Material.Neon beam.Color = Color3.fromRGB(255, 80, 0) beam.Transparency = 0.5 beam.Parent = workspace beamConn = RunService.Heartbeat:Connect(function() if not beam or not beam.Parent then return end pcall(function() local r = getRoot(speaker.Character) if not r then return end local mouse = speaker:GetMouse() if not mouse.Hit then return end local mp = mouse.Hit.Position local mid = (r.Position + mp) / 2 beam.CFrame = CFrame.lookAt(mid, mp) beam.Size = Vector3.new(0.3, 0.3, math.max(1, (r.Position - mp).Magnitude)) end) end) -- Status billboard statusGui = Instance.new('BillboardGui') statusGui.Name = randomString() statusGui.Size = UDim2.new(0, 200, 0, 40) statusGui.StudsOffset = Vector3.new(0, 5, 0) statusGui.AlwaysOnTop = true pcall(function() local head = char:FindFirstChild('Head') if head then statusGui.Adornee = head end end) statusGui.Parent = workspace statusLabel = Instance.new('TextLabel') statusLabel.Size = UDim2.new(1, 0, 1, 0) statusLabel.BackgroundTransparency = 0.5 statusLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0) statusLabel.TextColor3 = Color3.fromRGB(255, 80, 0) statusLabel.TextStrokeColor3 = Color3.fromRGB(100, 50, 0) statusLabel.TextStrokeTransparency = 0.7 statusLabel.Font = Enum.Font.GothamBold statusLabel.TextScaled = true statusLabel.Parent = statusGui end) launchTool.Unequipped:Connect(function() if beamConn then beamConn:Disconnect() beamConn = nil end if beam and beam.Parent then beam:Destroy() end beam = nil if statusGui and statusGui.Parent then statusGui:Destroy() end statusGui = nil statusLabel = nil end) launchTool.Activated:Connect(function() if not trowelActive then return end if trowelDeploying then return end local mouse = speaker:GetMouse() local targetPos pcall(function() targetPos = mouse.Hit.Position end) if not targetPos then return end local inBoxCount = 0 for _, e in pairs(trowelParts) do if e.state == 'in_box' then inBoxCount = inBoxCount + 1 end end -- Gun mode: always allows clicking to lock the line on a player, -- even with zero parts in the box. Other modes need parts. if inBoxCount == 0 and deployMode ~= 'gun' then notify('Trowel', 'No parts in box! Use Collect tool first.') return end trowelDeploying = true if statusLabel then pcall(function() statusLabel.Text = 'CLAIMING OWNERSHIP...' end) end -- Teleport to box to claim server ownership of all parts inside claimBoxOwnership() if statusLabel then pcall(function() statusLabel.Text = 'LAUNCHING ' .. inBoxCount .. ' parts...' end) end if deployMode == 'normal' then for _, entry in pairs(trowelParts) do if entry.state == 'in_box' and entry.part and entry.part.Parent then pcall(function() entry.part.CanCollide = false entry.part.Massless = true end) entry.state = 'fly_up' entry.targetY = aboveBoxY entry.targetX = targetPos.X + math.random(-3, 3) entry.targetZ = targetPos.Z + math.random(-3, 3) entry.onDone = 'deploy' entry.dropTime = 0 end end task.wait(5) for i = #trowelParts, 1, -1 do if trowelParts[i].onDone == 'deploy' then table.remove(trowelParts, i) end end trowelDeploying = false else local launchParts = {} for i = #trowelParts, 1, -1 do local e = trowelParts[i] if e.state == 'in_box' and e.part and e.part.Parent then launchParts[#launchParts + 1] = e.part table.remove(trowelParts, i) end end local totalP = #launchParts task.spawn(function() if deployMode == 'explode' then flyPartsTo(launchParts, targetPos.X, targetPos.Z, 5, 5, function() task.wait(0.5) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local ang = math.random() * math.pi * 2 local up = math.random() * math.pi local pwr = math.random(300, 800) part.Velocity = Vector3.new(math.sin(up) * math.cos(ang), math.abs(math.cos(up)) * 0.8 + 0.3, math.sin(up) * math.sin(ang)) * pwr part.RotVelocity = Vector3.new(math.random(-200, 200), math.random(-200, 200), math.random(-200, 200)) end) end end end) elseif deployMode == 'rain' then for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end task.wait(0.02) end task.wait(2.5) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local ox = math.random(-20, 20) local oz = math.random(-20, 20) local diff = Vector3.new(targetPos.X + ox - part.Position.X, 20, targetPos.Z + oz - part.Position.Z) part.Velocity = diff end) end end task.wait(2) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CustomPhysicalProperties = PhysicalProperties.new(0.2, 0.3, 0.5, 1, 1) part.CanCollide = true part.Massless = false part.Velocity = Vector3.new(math.random(-10, 10), -30, math.random(-10, 10)) part.RotVelocity = Vector3.new(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) end) end end elseif deployMode == 'spiral' then for i = 1, totalP do local part = launchParts[i] if part and part.Parent then local si = (i / totalP) task.spawn(function() pcall(function() local startPos = part.Position local tt = 2.5 local st = tick() while tick() - st < tt do if not part or not part.Parent then break end local t = (tick() - st) / tt local goal = startPos:Lerp(targetPos, t) local rad = (1 - t) * 30 + 3 local ang = t * math.pi * 8 + si * math.pi * 2 goal = goal + Vector3.new(math.cos(ang) * rad, math.sin(t * math.pi) * 40, math.sin(ang) * rad) local md = goal - part.Position if md.Magnitude > 0.5 then part.Velocity = md.Unit * math.min(md.Magnitude * 8, 350) else part.Velocity = Vector3.new(0, 0, 0) end part.RotVelocity = Vector3.new(0, t * 300, 0) RunService.Heartbeat:Wait() end if part and part.Parent then part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.Massless = false part.CustomPhysicalProperties = nil end end) end) end task.wait(0.03) end elseif deployMode == 'shotgun' then for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local spread = Vector3.new(math.random(-30, 30), math.random(-10, 30), math.random(-30, 30)) local d = (targetPos + spread - part.Position).Unit part.Velocity = d * 1200 part.RotVelocity = Vector3.new(math.random(-300, 300), math.random(-300, 300), math.random(-300, 300)) part.CanCollide = true part.Massless = false part.CustomPhysicalProperties = nil end) end end elseif deployMode == 'orbit' then flyPartsTo(launchParts, targetPos.X, targetPos.Z, 3, 3, function() task.wait(0.5) local orbitAngle = 0 local orbParts = {} for _, p in pairs(launchParts) do if p and p.Parent then orbParts[#orbParts + 1] = p end end task.spawn(function() while trowelActive do orbitAngle = orbitAngle + 0.02 local jj = 1 while jj <= #orbParts do local op = orbParts[jj] if not op or not op.Parent then table.remove(orbParts, jj) else pcall(function() local rad = 8 + (jj % 5) * 4 local ht = 5 + (jj % 3) * 6 local ang = orbitAngle + (jj / #orbParts) * math.pi * 2 local goal = targetPos + Vector3.new(math.cos(ang) * rad, ht, math.sin(ang) * rad) local d = goal - op.Position if d.Magnitude > 1 then op.Velocity = d.Unit * math.min(d.Magnitude * 10, 300) end op.RotVelocity = Vector3.new(0, 200, 0) end) end jj = jj + 1 RunService.Heartbeat:Wait() end end end) end) notify('Trowel', 'Orbit mode! Parts orbiting your click point.') trowelDeploying = false return elseif deployMode == 'scatter' then flyPartsTo(launchParts, targetPos.X, targetPos.Z, 3, 3, function() task.wait(0.5) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then task.spawn(function() pcall(function() while trowelActive do if not part or not part.Parent then break end part.Velocity = Vector3.new(math.random(-80, 80), math.random(50, 150), math.random(-80, 80)) part.RotVelocity = Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)) RunService.Heartbeat:Wait() RunService.Heartbeat:Wait() end end) end) end end end) return elseif deployMode == 'wave' then flyPartsTo(launchParts, targetPos.X, targetPos.Z, 3, 3, function() task.wait(0.5) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then task.spawn(function() pcall(function() local st = tick() while tick() - st < 1.5 do if not part or not part.Parent then break end local d = targetPos - part.Position if d.Magnitude > 3 then part.Velocity = d.Unit * 500 else part.Velocity = Vector3.new(0, 0, 0) end RunService.Heartbeat:Wait() end local wAng = math.random() * math.pi * 2 local wDir = Vector3.new(math.cos(wAng), 0.3, math.sin(wAng)) local st2 = tick() while tick() - st2 < 4 do if not part or not part.Parent then break end local wY = math.sin((tick() - st2) * 6) * 40 + 20 part.Velocity = wDir * 150 + Vector3.new(0, wY, 0) part.RotVelocity = Vector3.new(0, 100, 0) RunService.Heartbeat:Wait() end part.CustomPhysicalProperties = nil part.Massless = false end) end) end end end) return elseif deployMode == 'gun' then -- GUN MODE: find nearest player to mouse click, stick beam to them, -- fly all parts 100 studs above them, then crash down on target. -- Works even with ZERO parts — just locks the tracking line on the player. local gunTarget = nil local gunRoot = nil -- Find nearest player to where we clicked pcall(function() local mouse = speaker:GetMouse() local clickPos = mouse.Hit.Position local closestDist = 50 for _, plr in pairs(Players:GetPlayers()) do if plr ~= speaker and plr.Character then local pRoot = plr.Character:FindFirstChild('HumanoidRootPart') if pRoot then local dist = (pRoot.Position - clickPos).Magnitude if dist < closestDist then closestDist = dist gunTarget = plr gunRoot = pRoot end end end end end) if not gunTarget or not gunRoot then notify('Trowel', 'No player near click! Aim closer.') trowelDeploying = false return end if statusLabel then pcall(function() statusLabel.Text = 'GUN TARGET: ' .. gunTarget.Name end) end -- Red tracking beam from target up to 100 studs local gunBeam = Instance.new('Part') gunBeam.Name = randomString() gunBeam.Anchored = true gunBeam.CanCollide = false gunBeam.CanQuery = false gunBeam.CanTouch = false gunBeam.CastShadow = false gunBeam.Size = Vector3.new(0.5, 0.5, 1) gunBeam.Material = Enum.Material.Neon gunBeam.Color = Color3.fromRGB(255, 0, 0) gunBeam.Transparency = 0.3 gunBeam.Parent = workspace -- Red ring on ground under target local gunRing = Instance.new('Part') gunRing.Name = randomString() gunRing.Anchored = true gunRing.CanCollide = false gunRing.CanQuery = false gunRing.CanTouch = false gunRing.CastShadow = false gunRing.Shape = Enum.PartType.Cylinder gunRing.Size = Vector3.new(1, 12, 12) gunRing.Material = Enum.Material.Neon gunRing.Color = Color3.fromRGB(255, 0, 0) gunRing.Transparency = 0.4 gunRing.Parent = workspace local gunBeamConn = RunService.Heartbeat:Connect(function() pcall(function() if not gunTarget or not gunTarget.Character then if gunBeamConn then gunBeamConn:Disconnect() end return end local tR = gunTarget.Character:FindFirstChild('HumanoidRootPart') if not tR then return end local topPos = tR.Position + Vector3.new(0, 100, 0) local mid = (tR.Position + topPos) / 2 gunBeam.CFrame = CFrame.lookAt(mid, topPos) gunBeam.Size = Vector3.new(0.5, 0.5, math.max(1, 100)) gunRing.CFrame = CFrame.new(tR.Position) * CFrame.Angles(0, 0, math.rad(90)) end) end) -- If no parts in box, just lock the line and tell user to collect if totalP == 0 then notify('Trowel', 'Locked on ' .. gunTarget.Name .. '! Collect parts then launch again.') trowelDeploying = false -- Keep beam/ring alive — they track the target. -- They get cleaned up on untrowel or when target leaves. return end -- Phase 1: fly all parts UP to 100 studs above target for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 800, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end task.wait(0.015) end task.wait(2) -- Phase 2: fly parts directly above target for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local tR = gunTarget.Character and gunTarget.Character:FindFirstChild('HumanoidRootPart') if tR then local ox = math.random(-8, 8) local oz = math.random(-8, 8) local goalX = tR.Position.X + ox local goalZ = tR.Position.Z + oz local diff = Vector3.new(goalX - part.Position.X, 30, goalZ - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end end) end end task.wait(2) -- Phase 3: CRASH DOWN on the target if statusLabel then pcall(function() statusLabel.Text = 'CRASHING ON ' .. gunTarget.Name .. '!' end) end for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = PhysicalProperties.new(0.1, 0.2, 0.5, 5, 5) part.Massless = false part.Velocity = Vector3.new(math.random(-20, 20), -500, math.random(-20, 20)) part.RotVelocity = Vector3.new(math.random(-300, 300), math.random(-300, 300), math.random(-300, 300)) end) end task.wait(0.01) end -- Clean up gun visuals after 5 seconds task.delay(5, function() if gunBeamConn then gunBeamConn:Disconnect() gunBeamConn = nil end if gunBeam and gunBeam.Parent then gunBeam:Destroy() end if gunRing and gunRing.Parent then gunRing:Destroy() end end) trowelDeploying = false notify('Trowel', 'Gun mode! Crashed ' .. totalP .. ' parts on ' .. gunTarget.Name) return -- ======================== ONE ======================== -- Brings 1 block to mouse at a time, serversided via velocity. -- Stops applying velocity when it arrives. Click again for next one. elseif deployMode == 'one' then local onePart = nil for i = #launchParts, 1, -1 do local p = launchParts[i] if p and p.Parent then onePart = p break end end if not onePart then notify('Trowel', 'No parts to place!') trowelDeploying = false return end pcall(function() onePart.CanCollide = false onePart.Massless = true onePart:SetNetworkOwner(nil) workspace:ResetNetworkOwnerlessTimeout(0) end) -- Move the part toward mouse using velocity springs local settled = false local oneConn = RunService.Heartbeat:Connect(function() if not onePart or not onePart.Parent or not trowelActive then if oneConn then oneConn:Disconnect() end trowelDeploying = false return end local mouse = speaker:GetMouse() local goal pcall(function() goal = mouse.Hit.Position end) if not goal then return end local diff = goal - onePart.Position local dist = diff.Magnitude if dist > 1 then local speed = math.min(500, dist * 10) onePart.Velocity = diff.Unit * speed onePart.RotVelocity = Vector3.new(0, 0, 0) settled = false else -- Arrived, stop velocity onePart.Velocity = Vector3.new(0, 0, 0) onePart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) onePart.RotVelocity = Vector3.new(0, 0, 0) onePart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) onePart.CanCollide = true onePart.CanTouch = true onePart.CustomPhysicalProperties = nil onePart.Massless = false if not settled then settled = true -- Disconnect after a short delay so the part stays put task.delay(0.5, function() if oneConn then oneConn:Disconnect() end trowelDeploying = false end) end end end) return -- ======================== DROP ======================== -- Drips parts one by one from the box straight down at mouse pos elseif deployMode == 'drop' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true -- First fly up above the box part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Now fly them above mouse and drop for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local mouse = speaker:GetMouse() local goal pcall(function() goal = mouse.Hit.Position end) if goal then local diff = Vector3.new(goal.X + math.random(-2, 2) - part.Position.X, 30, goal.Z + math.random(-2, 2) - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end end) end task.wait(0.15) -- Stagger the drops end task.wait(2) -- Restore physics and let them fall for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', totalP .. ' parts dripped!') end) return -- ======================== TOWER ======================== -- Stacks parts vertically into a tower at mouse position elseif deployMode == 'tower' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) local mouse = speaker:GetMouse() local basePos pcall(function() basePos = mouse.Hit.Position end) if basePos then for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local stackY = basePos.Y + i * 4 + 50 local diff = Vector3.new(basePos.X - part.Position.X, stackY - part.Position.Y, basePos.Z - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end task.wait(0.05) end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Tower of ' .. totalP .. ' parts built!') end) return -- ======================== WALL ======================== -- Arranges parts into a vertical wall at mouse position elseif deployMode == 'wall' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) local mouse = speaker:GetMouse() local wallPos pcall(function() wallPos = mouse.Hit.Position end) if wallPos then local cols = math.ceil(math.sqrt(totalP)) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local row = math.floor((i - 1) / cols) local col = (i - 1) % cols local gx = wallPos.X + (col - cols / 2) * 5 local gz = wallPos.Z local gy = wallPos.Y + row * 5 + 30 local diff = Vector3.new(gx - part.Position.X, gy - part.Position.Y, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Wall of ' .. totalP .. ' parts built!') end) return -- ======================== FLOOR ======================== -- Spreads parts into a flat platform at mouse position elseif deployMode == 'floor' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) local mouse = speaker:GetMouse() local floorPos pcall(function() floorPos = mouse.Hit.Position end) if floorPos then local side = math.ceil(math.sqrt(totalP)) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local row = math.floor((i - 1) / side) local col = (i - 1) % side local gx = floorPos.X + (col - side / 2) * 5 local gz = floorPos.Z + (row - side / 2) * 5 local gy = floorPos.Y + 30 local diff = Vector3.new(gx - part.Position.X, gy - part.Position.Y, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Floor of ' .. totalP .. ' parts built!') end) return -- ======================== BRIDGE ======================== -- Lays parts in a line from player to mouse position elseif deployMode == 'bridge' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) local mouse = speaker:GetMouse() local goalPos pcall(function() goalPos = mouse.Hit.Position end) local root = getRoot(speaker.Character) if goalPos and root then local startPos = root.Position local dir = (goalPos - startPos) dir = Vector3.new(dir.X, 0, dir.Z) -- Flatten Y local totalDist = dir.Magnitude if totalDist > 1 then dir = dir.Unit else dir = Vector3.new(1, 0, 0) totalDist = 10 end local spacing = math.max(3, totalDist / totalP) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local t = (i - 1) / math.max(1, totalP - 1) local gx = startPos.X + dir.X * totalDist * t local gz = startPos.Z + dir.Z * totalDist * t local gy = startPos.Y + 30 local diff = Vector3.new(gx - part.Position.X, gy - part.Position.Y, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Bridge of ' .. totalP .. ' parts built!') end) return -- ======================== CAGE ======================== -- Forms a cage around the nearest player to mouse elseif deployMode == 'cage' then task.spawn(function() -- Find nearest player to mouse local cageTarget = nil local cageRoot = nil pcall(function() local mouse = speaker:GetMouse() local clickPos = mouse.Hit.Position local closestDist = 50 for _, plr in pairs(Players:GetPlayers()) do if plr ~= speaker and plr.Character then local pRoot = plr.Character:FindFirstChild('HumanoidRootPart') if pRoot then local dist = (pRoot.Position - clickPos).Magnitude if dist < closestDist then closestDist = dist cageTarget = plr cageRoot = pRoot end end end end end) if not cageTarget or not cageRoot then -- Just build at mouse pos end local centerPos = cageRoot and cageRoot.Position or targetPos local radius = 15 -- Fly all parts up for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Distribute parts around the target: walls + ceiling for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local gx, gy, gz if i <= totalP * 0.7 then -- Wall segments local angle = (i / (totalP * 0.7)) * math.pi * 2 gx = centerPos.X + math.cos(angle) * radius gz = centerPos.Z + math.sin(angle) * radius gy = centerPos.Y + 20 + math.random(0, 10) else -- Ceiling segments local ci = i - math.floor(totalP * 0.7) gx = centerPos.X + math.random(-radius, radius) gz = centerPos.Z + math.random(-radius, radius) gy = centerPos.Y + 25 + math.random(0, 5) end local diff = Vector3.new(gx - part.Position.X, gy - part.Position.Y, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false local tName = cageTarget and cageTarget.Name or 'target' notify('Trowel', 'Caged ' .. tName .. ' with ' .. totalP .. ' parts!') end) return -- ======================== STAIRCASE ======================== -- Creates ascending stairs from player toward mouse elseif deployMode == 'staircase' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) local mouse = speaker:GetMouse() local goalPos pcall(function() goalPos = mouse.Hit.Position end) local root = getRoot(speaker.Character) if goalPos and root then local startPos = root.Position local dir = (goalPos - startPos) dir = Vector3.new(dir.X, 0, dir.Z) local totalDist = dir.Magnitude if totalDist > 1 then dir = dir.Unit end for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local t = i / totalP local gx = startPos.X + dir.X * totalDist * t local gz = startPos.Z + dir.Z * totalDist * t local gy = startPos.Y + i * 3 + 30 local diff = Vector3.new(gx - part.Position.X, gy - part.Position.Y, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Staircase of ' .. totalP .. ' parts built!') end) return -- ======================== MISSILE ======================== -- Fires parts one at a time rapidly toward mouse elseif deployMode == 'missile' then task.spawn(function() for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) local mouse = speaker:GetMouse() local goal pcall(function() goal = mouse.Hit.Position end) if goal then local root = getRoot(speaker.Character) if root then local dir = (goal - root.Position).Unit part.Velocity = dir * 800 part.RotVelocity = Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)) end end end) end task.wait(0.08) -- Rapid fire end task.wait(2) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Fired ' .. totalP .. ' missiles!') end) return -- ======================== SHIELD ======================== -- Parts orbit around the player as a protective ring elseif deployMode == 'shield' then task.spawn(function() -- Fly parts up first for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Start orbiting around player local shieldActive = trowelActive local shieldConn = RunService.Heartbeat:Connect(function(dt) if not shieldActive or not trowelActive then if shieldConn then shieldConn:Disconnect() end trowelDeploying = false return end local root = getRoot(speaker.Character) if not root then return end local angle = tick() * 3 -- Rotation speed for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local a = angle + (i / totalP) * math.pi * 2 local radius = 10 local gx = root.Position.X + math.cos(a) * radius local gz = root.Position.Z + math.sin(a) * radius local gy = root.Position.Y + 3 local diff = Vector3.new(gx - part.Position.X, gy - part.Position.Y, gz - part.Position.Z) local speed = math.min(300, diff.Magnitude * 8) part.Velocity = diff.Unit * speed part.RotVelocity = Vector3.new(0, 0, 0) end) end end end) -- Stop after 15 seconds or when untrowel task.delay(15, function() shieldActive = false if shieldConn then shieldConn:Disconnect() end for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Shield deactivated!') end) end) return -- ======================== HAIL ======================== -- Parts launch high above mouse then rain down in a tight cluster elseif deployMode == 'hail' then task.spawn(function() -- Launch all parts straight up high for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 1000, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end task.wait(0.02) end task.wait(3) -- Move them above mouse position local mouse = speaker:GetMouse() local hailPos pcall(function() hailPos = mouse.Hit.Position end) if hailPos then for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local gx = hailPos.X + math.random(-5, 5) local gz = hailPos.Z + math.random(-5, 5) local diff = Vector3.new(gx - part.Position.X, 30, gz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end end task.wait(2) -- Drop like hail with slight random horizontal for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = PhysicalProperties.new(0.1, 0.2, 0.5, 5, 5) part.Massless = false part.Velocity = Vector3.new(math.random(-10, 10), -400, math.random(-10, 10)) part.RotVelocity = Vector3.new(math.random(-200, 200), math.random(-200, 200), math.random(-200, 200)) end) end end trowelDeploying = false notify('Trowel', 'Hailstorm! ' .. totalP .. ' parts rained down!') end) return -- ======================== VOLCANO ======================== -- Parts erupt upward from mouse then fall back randomly elseif deployMode == 'volcano' then task.spawn(function() -- First bring all parts to mouse position for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) local mouse = speaker:GetMouse() local volcPos pcall(function() volcPos = mouse.Hit.Position end) if volcPos then for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local diff = Vector3.new(volcPos.X + math.random(-3, 3) - part.Position.X, 20, volcPos.Z + math.random(-3, 3) - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end end task.wait(2) -- ERUPT: shoot upward with random spread for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local ang = math.random() * math.pi * 2 local up = math.random(0.5, 1) local pwr = math.random(500, 1000) part.Velocity = Vector3.new(math.sin(up) * math.cos(ang) * 150, up * pwr, math.sin(up) * math.sin(ang) * 150) part.RotVelocity = Vector3.new(math.random(-300, 300), math.random(-300, 300), math.random(-300, 300)) end) end task.wait(0.03) end task.wait(1) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Volcano erupted ' .. totalP .. ' parts!') end) return -- ======================== MAGNET DEPLOY ======================== -- Parts orbit the target position in a tight spiral, gradually pulling inward elseif deployMode == 'magnet' then task.spawn(function() -- Fly all parts up first for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Pull them to target with spiral motion for i = 1, totalP do local part = launchParts[i] if part and part.Parent then local si = (i / totalP) task.spawn(function() pcall(function() local startPos = part.Position local tt = 3 local st = tick() while tick() - st < tt do if not part or not part.Parent then break end local t = (tick() - st) / tt local goal = startPos:Lerp(targetPos, t) local rad = (1 - t) * 20 + 1 local ang = t * math.pi * 6 + si * math.pi * 2 goal = goal + Vector3.new(math.cos(ang) * rad, 0, math.sin(ang) * rad) local md = goal - part.Position if md.Magnitude > 0.5 then part.Velocity = md.Unit * math.min(md.Magnitude * 10, 400) else part.Velocity = Vector3.new(0, 0, 0) end part.RotVelocity = Vector3.new(0, t * 400, 0) RunService.Heartbeat:Wait() end if part and part.Parent then part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end end) end) end end task.wait(4) trowelDeploying = false notify('Trowel', 'Magnet deployed ' .. totalP .. ' parts!') end) return -- ======================== FLING DEPLOY ======================== -- Parts fly to target then EXPLODE outward in all directions elseif deployMode == 'fling' then task.spawn(function() -- Fly all parts up first for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Converge on target for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local diff = Vector3.new(targetPos.X + math.random(-2, 2) - part.Position.X, 20, targetPos.Z + math.random(-2, 2) - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- EXPLODE outward for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local ang = math.random() * math.pi * 2 local elev = math.random() * math.pi * 0.5 + math.pi * 0.15 local pwr = math.random(600, 1200) part.Velocity = Vector3.new( math.cos(elev) * math.cos(ang) * pwr, math.sin(elev) * pwr, math.cos(elev) * math.sin(ang) * pwr ) part.RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500)) end) end task.wait(0.02) end task.wait(1) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Fling launched ' .. totalP .. ' parts!') end) return -- ======================== PILE DEPLOY ======================== -- Parts stack neatly on top of each other at the target position elseif deployMode == 'pile' then task.spawn(function() -- Fly all parts up first for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true part.Velocity = Vector3.new(0, 600, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end task.wait(2) -- Stack parts at target, one by one with slight offset for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() local stackY = targetPos.Y + (i * 2) local ox = math.random(-1, 1) local oz = math.random(-1, 1) local diff = Vector3.new(targetPos.X + ox - part.Position.X, stackY - part.Position.Y + 20, targetPos.Z + oz - part.Position.Z) part.Velocity = diff part.RotVelocity = Vector3.new(0, 0, 0) end) task.wait(0.05) end end task.wait(3) for i = 1, totalP do local part = launchParts[i] if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.CanTouch = true part.CustomPhysicalProperties = nil part.Massless = false end) end end trowelDeploying = false notify('Trowel', 'Piled ' .. totalP .. ' parts at target!') end) return end end) end end) showArcPopup('Trowel', true) notify('Trowel', 'Trowel ready! Mode: ' .. deployMode .. '. Use Collect tool to gather parts, Launch tool to deploy.') end) -- ======================== UNTROWEL ======================== addcmd('untrowel', {'notrowel', 'troweloff'}, function(args, speaker) trowelActive = false trowelDeploying = false disablePhysicsGodmode(speaker) if trowelConn then trowelConn:Disconnect() trowelConn = nil end trowelParts = {} -- Destroy box if trowelBox and trowelBox.Parent then trowelBox:Destroy() trowelBox = nil end -- Destroy tools if trowelCollectTool and trowelCollectTool.Parent then trowelCollectTool:Destroy() trowelCollectTool = nil end if trowelLaunchTool and trowelLaunchTool.Parent then trowelLaunchTool:Destroy() trowelLaunchTool = nil end showArcPopup('Trowel', false) notify('Trowel', 'Trowel disabled. All tools and box removed.') end) -- ======================== MAGNET ======================== -- ALL unanchored parts fly toward you like a vacuum cleaner. They pile up on you. -- Usage: magnet [speed] | unmagnet / nomagnet magnetActive = false magnetConn = nil magnetParts = {} magnetAddConn = nil magnetRemConn = nil addcmd('magnet', {'attract'}, function(args, speaker) if magnetActive then execCmd('unmagnet') return end local char = speaker.Character if not char or not getRoot(char) then notify('Magnet', 'Character not found') return end enablePhysicsGodmode(speaker) local magnetSpeed = tonumber(args[1]) or 300 magnetParts = {} -- Collect all unanchored parts (skip body parts) for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) table.insert(magnetParts, part) end end end if #magnetParts < 1 then notify('Magnet', 'No unanchored parts found') return end magnetActive = true -- Watch for new parts magnetAddConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not magnetActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(magnetParts) do if existing == p then return end end orbitua_prepPart(p) table.insert(magnetParts, p) end) end) -- Remove dead parts magnetRemConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(magnetParts) do if existing == p then table.remove(magnetParts, i) break end end end) -- Main loop: every part flies toward player magnetConn = RunService.Heartbeat:Connect(function(dt) if not magnetActive then return end local r = getRoot(speaker.Character) if not r then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) local target = r.Position + Vector3.new(0, 2, 0) for _, part in pairs(magnetParts) do if part and part.Parent then local dir = target - part.Position if dir.Magnitude > 1 then part.Velocity = dir.Unit * magnetSpeed else -- Close enough, slow down so they pile up nicely part.Velocity = dir * 5 end -- Tiny spin for visual flair part.RotVelocity = Vector3.new( math.random(-20, 20), math.random(-20, 20), math.random(-20, 20) ) end end end) showArcPopup('Magnet', true) notify('Magnet', #magnetParts .. ' parts attracted toward you!') end) addcmd('unmagnet', {'nomagnet', 'magnetoff', 'unattract'}, function(args, speaker) magnetActive = false disablePhysicsGodmode(speaker) if magnetConn then magnetConn:Disconnect() magnetConn = nil end if magnetAddConn then magnetAddConn:Disconnect() magnetAddConn = nil end if magnetRemConn then magnetRemConn:Disconnect() magnetRemConn = nil end for _, part in pairs(magnetParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true end end magnetParts = {} showArcPopup('Magnet', false) end) -- ======================== TUMBLE ======================== -- ALL unanchored parts go absolutely mental -- spinning, flinging, flopping everywhere. -- Pure chaos mode. Zero friction + random velocity + insane rotation. -- Usage: tumble [speed] | untumble / notumble tumbleActive = false tumbleConn = nil tumbleParts = {} tumbleAddConn = nil tumbleRemConn = nil addcmd('tumble', {'chaos', 'ragdoll'}, function(args, speaker) if tumbleActive then execCmd('untumble') return end local char = speaker.Character if not char or not getRoot(char) then notify('Tumble', 'Character not found') return end enablePhysicsGodmode(speaker) local tumbleSpeed = tonumber(args[1]) or 200 tumbleParts = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) -- Give every part an instant random fling pcall(function() part.Velocity = Vector3.new( math.random(-tumbleSpeed, tumbleSpeed), math.random(50, tumbleSpeed), math.random(-tumbleSpeed, tumbleSpeed) ) part.RotVelocity = Vector3.new( math.random(-500, 500), math.random(-500, 500), math.random(-500, 500) ) end) table.insert(tumbleParts, part) end end end if #tumbleParts < 1 then notify('Tumble', 'No unanchored parts found') return end tumbleActive = true tumbleAddConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not tumbleActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(tumbleParts) do if existing == p then return end end orbitua_prepPart(p) p.Velocity = Vector3.new( math.random(-tumbleSpeed, tumbleSpeed), math.random(50, tumbleSpeed), math.random(-tumbleSpeed, tumbleSpeed) ) table.insert(tumbleParts, p) end) end) tumbleRemConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(tumbleParts) do if existing == p then table.remove(tumbleParts, i) break end end end) -- Main loop: keep parts spinning and bouncing randomly tumbleConn = RunService.Heartbeat:Connect(function(dt) if not tumbleActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) for _, part in pairs(tumbleParts) do if part and part.Parent then -- Keep feeding random velocity so they never settle -- Occasionally change direction for extra chaos if math.random() < 0.1 then part.Velocity = Vector3.new( math.random(-tumbleSpeed, tumbleSpeed), math.random(20, tumbleSpeed * 0.7), math.random(-tumbleSpeed, tumbleSpeed) ) end -- Always keep them spinning part.RotVelocity = Vector3.new( math.random(-800, 800), math.random(-800, 800), math.random(-800, 800) ) -- If part somehow stopped moving (hit ground), kick it back up if part.Velocity.Magnitude < 30 then part.Velocity = Vector3.new( math.random(-tumbleSpeed, tumbleSpeed), math.random(100, tumbleSpeed), math.random(-tumbleSpeed, tumbleSpeed) ) end end end end) showArcPopup('TUMBLE', true) notify('Tumble', #tumbleParts .. ' parts entered CHAOS MODE!') end) addcmd('untumble', {'notumble', 'tumbleoff', 'unchaos'}, function(args, speaker) tumbleActive = false disablePhysicsGodmode(speaker) if tumbleConn then tumbleConn:Disconnect() tumbleConn = nil end if tumbleAddConn then tumbleAddConn:Disconnect() tumbleAddConn = nil end if tumbleRemConn then tumbleRemConn:Disconnect() tumbleRemConn = nil end for _, part in pairs(tumbleParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true end end tumbleParts = {} showArcPopup('TUMBLE', false) end) -- ======================== HELICOPTER ======================== -- ALL unanchored parts stay where they are but spin on their own axis like helicopter blades. -- Everything around you becomes a spinning blender. Pure chaos visually. -- Usage: helicopter [spin speed] | unhelicopter / nohelicopter heliActive = false heliConn = nil heliParts = {} heliAddConn = nil heliRemConn = nil addcmd('helicopter', {'heli', 'blender'}, function(args, speaker) if heliActive then execCmd('unhelicopter') return end local char = speaker.Character if not char or not getRoot(char) then notify('Helicopter', 'Character not found') return end enablePhysicsGodmode(speaker) local heliSpeed = tonumber(args[1]) or 800 heliParts = {} -- Record each part's current position so we can keep it in place local partPositions = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) -- Override physics: high friction so part stays put, no bounce pcall(function() part.CustomPhysicalProperties = PhysicalProperties.new(0.5, 0.8, 0, 0, 0) end) table.insert(heliParts, part) partPositions[part] = part.Position end end end if #heliParts < 1 then notify('Helicopter', 'No unanchored parts found') return end heliActive = true heliAddConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not heliActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(heliParts) do if existing == p then return end end orbitua_prepPart(p) pcall(function() p.CustomPhysicalProperties = PhysicalProperties.new(0.5, 0.8, 0, 0, 0) end) table.insert(heliParts, p) partPositions[p] = p.Position end) end) heliRemConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(heliParts) do if existing == p then table.remove(heliParts, i) break end end partPositions[p] = nil end) -- Main loop: keep each part at its original position but spin it on its axis heliConn = RunService.Heartbeat:Connect(function(dt) if not heliActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) for _, part in pairs(heliParts) do if part and part.Parent then local savedPos = partPositions[part] if savedPos then -- Push back toward original position (stay in place) local dir = savedPos - part.Position if dir.Magnitude > 0.5 then part.Velocity = dir.Unit * dir.Magnitude * 10 else part.Velocity = Vector3.new(0, 0, 0) end end -- Spin on own axis (mostly Y axis for helicopter look) part.RotVelocity = Vector3.new( math.sin(tick() * 5 + part.Position.X) * heliSpeed * 0.3, heliSpeed, math.cos(tick() * 3 + part.Position.Z) * heliSpeed * 0.2 ) end end end) showArcPopup('HELICOPTER', true) notify('Helicopter', #heliParts .. ' parts spinning in place! Everything is a blender!') end) addcmd('unhelicopter', {'nohelicopter', 'helicopteroff', 'unheli', 'unblender'}, function(args, speaker) heliActive = false disablePhysicsGodmode(speaker) if heliConn then heliConn:Disconnect() heliConn = nil end if heliAddConn then heliAddConn:Disconnect() heliAddConn = nil end if heliRemConn then heliRemConn:Disconnect() heliRemConn = nil end for _, part in pairs(heliParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true end end heliParts = {} showArcPopup('HELICOPTER', false) end) -- ======================== JUMPER (ZOMBIE PARTS) ======================== -- ALL unanchored parts hop on the ground toward you (or nearest player) like zombies. -- Walkspeed 18, hop every 0.5s. They come from random directions around the target. -- Hilarious zombie apocalypse of random objects walking toward you. -- Usage: jumper | unjumper / nojumper jumperActive = false jumperConn = nil jumperParts = {} jumperAddConn = nil jumperRemConn = nil jumperWalkSpeed = 18 addcmd('jumper', {'zombie', 'zombieparts', 'hop'}, function(args, speaker) if jumperActive then execCmd('unjumper') return end local char = speaker.Character if not char or not getRoot(char) then notify('Jumper', 'Character not found') return end enablePhysicsGodmode(speaker) jumperParts = {} -- Give each part a random approach angle (so they come from different directions) local partAngles = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) table.insert(jumperParts, part) partAngles[part] = math.random() * math.pi * 2 end end end if #jumperParts < 1 then notify('Jumper', 'No unanchored parts found') return end jumperActive = true jumperAddConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not jumperActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(jumperParts) do if existing == p then return end end orbitua_prepPart(p) table.insert(jumperParts, p) partAngles[p] = math.random() * math.pi * 2 end) end) jumperRemConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(jumperParts) do if existing == p then table.remove(jumperParts, i) break end end partAngles[p] = nil end) -- Main loop: hop toward you (or nearest player) at walkspeed 18 local jumpTimer = 0 local jumpInterval = 0.5 jumperConn = RunService.Heartbeat:Connect(function(dt) if not jumperActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Find target: nearest other player, or yourself local targetPos = nil local targetDist = math.huge pcall(function() for _, plr in pairs(game:GetService('Players'):GetPlayers()) do if plr ~= speaker and plr.Character and plr.Character:FindFirstChildWhichIsA('Humanoid') then local plrRoot = getRoot(plr.Character) if plrRoot then local dist = (plrRoot.Position - getRoot(speaker.Character).Position).Magnitude if dist < targetDist then targetDist = dist targetPos = plrRoot.Position end end end end end) -- If no other players, target yourself if not targetPos then local myRoot = getRoot(speaker.Character) if myRoot then targetPos = myRoot.Position end end if not targetPos then return end jumpTimer = jumpTimer + dt for _, part in pairs(jumperParts) do if part and part.Parent then local pos = part.Position local toTarget = targetPos - pos local horizDist = Vector3.new(toTarget.X, 0, toTarget.Z).Magnitude -- Get this part's approach angle (staggered so they come from different directions) local approachAngle = partAngles[part] or math.random() * math.pi * 2 if horizDist > 2 then -- Calculate direction: blend between direct path and approach angle -- Far away: use approach angle more. Close: go direct local directAngle = math.atan2(toTarget.X, toTarget.Z) local moveAngle = directAngle if horizDist > 5 then -- Far from target: approach from a specific direction local idealAngle = approachAngle local angleDiff = directAngle - idealAngle -- Normalize to -pi, pi (safe, no while loop) angleDiff = math.fmod(angleDiff, 2 * math.pi) if angleDiff > math.pi then angleDiff = angleDiff - 2 * math.pi end if angleDiff < -math.pi then angleDiff = angleDiff + 2 * math.pi end -- Blend: at distance 30+, use approach angle; at distance 5, go direct local t = math.min(1, (horizDist - 5) / 25) moveAngle = directAngle - angleDiff * t end local moveDir = Vector3.new(math.sin(moveAngle), 0, math.cos(moveAngle)) -- Apply walkspeed (only horizontal, keep gravity) part.Velocity = Vector3.new( moveDir.X * jumperWalkSpeed, part.Velocity.Y, moveDir.Z * jumperWalkSpeed ) -- Jump every interval if jumpTimer >= jumpInterval then -- Ground check: only jump if roughly near ground level local jumpPower = 30 if horizDist < 15 then -- Close to target: bigger leap jumpPower = 50 end part.Velocity = Vector3.new( moveDir.X * jumperWalkSpeed, jumpPower, moveDir.Z * jumperWalkSpeed ) end else -- Right on target, slow down part.Velocity = Vector3.new(0, part.Velocity.Y, 0) end -- Wobble rotation while hopping (zombie-like flopping) part.RotVelocity = Vector3.new( math.sin(tick() * 3 + pos.X) * 80, math.sin(tick() * 2 + pos.Z) * 40, math.cos(tick() * 4 + pos.X) * 60 ) end end if jumpTimer >= jumpInterval then jumpTimer = 0 end end) showArcPopup('JUMPER', true) notify('Jumper', #jumperParts .. ' zombie parts heading toward you!') end) addcmd('unjumper', {'nojumper', 'jumperoff', 'unzombie', 'unhop'}, function(args, speaker) jumperActive = false disablePhysicsGodmode(speaker) if jumperConn then jumperConn:Disconnect() jumperConn = nil end if jumperAddConn then jumperAddConn:Disconnect() jumperAddConn = nil end if jumperRemConn then jumperRemConn:Disconnect() jumperRemConn = nil end for _, part in pairs(jumperParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true end end jumperParts = {} showArcPopup('JUMPER', false) end) -- ======================== SLIFT ======================== -- Flatten all unanchored parts flat like _, place them under a target player, -- then slowly lift them up serversided. The target gets launched into the air -- on a platform of parts. -- Usage: slift [target] | unslift sliftActive = false sliftConn = nil sliftParts = {} addcmd('slift', {'serversidelift', 'platlift'}, function(args, speaker) if sliftActive then execCmd('unslift') return end local char = speaker.Character if not char or not getRoot(char) then notify('SLift', 'Character not found') return end enablePhysicsGodmode(speaker) -- Find target player (default: self) local targetRoot = getRoot(char) if args[1] then local targetNames = {} pcall(function() targetNames = {getPlayersByName(args[1], speaker)} end) if #targetNames == 1 then local targetPlr = Players:FindFirstChild(targetNames[1]) if targetPlr and targetPlr.Character then targetRoot = getRoot(targetPlr.Character) end end end if not targetRoot then notify('SLift', 'Target not found') return end sliftParts = {} sliftActive = true -- Collect all unanchored parts (skip character parts) for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then local isBody = false local anc = part.Parent while anc and anc ~= workspace do if anc:FindFirstChildWhichIsA('Humanoid') then isBody = true break end anc = anc.Parent end if not isBody then pcall(function() orbitua_prepPart(part) part:SetNetworkOwner(nil) workspace:ResetNetworkOwnerlessTimeout(0) end) table.insert(sliftParts, part) end end end if #sliftParts < 1 then notify('SLift', 'No unanchored parts found') sliftActive = false return end notify('SLift', #sliftParts .. ' parts collected. Flattening and lifting...') -- Phase 1: Flatten all parts flat (rotate them horizontal) for _, part in pairs(sliftParts) do if part and part.Parent then pcall(function() part.CanCollide = false part.Massless = true end) end end -- Phase 2: Teleport all parts to under the target task.spawn(function() local targetPos = targetRoot.Position local grid = math.ceil(math.sqrt(#sliftParts)) local spacing = 4 local offsetStart = -(grid * spacing) / 2 for i, part in pairs(sliftParts) do if part and part.Parent then pcall(function() local row = math.floor((i - 1) / grid) local col = ((i - 1) % grid) local px = targetPos.X + offsetStart + (col * spacing) local pz = targetPos.Z + offsetStart + (row * spacing) local py = targetPos.Y - 3 part.CFrame = CFrame.new(px, py, pz) * CFrame.Angles(math.rad(90), 0, 0) part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) task.wait(0.02) end end task.wait(1) -- Phase 3: Slowly lift all parts upward local liftSpeed = 30 local liftTime = 8 local st = tick() sliftConn = RunService.Heartbeat:Connect(function(dt) if not sliftActive then return end local elapsed = tick() - st if elapsed > liftTime then execCmd('unslift') return end for _, part in pairs(sliftParts) do if part and part.Parent then pcall(function() part.Velocity = Vector3.new(0, liftSpeed, 0) part.RotVelocity = Vector3.new(0, 0, 0) end) end end pcall(function() sethiddenproperty(speaker, "SimulationRadius", math.huge) end) end) showArcPopup('SLift', true) end) end) addcmd('unslift', {'noslift', 'sliftoff'}, function(args, speaker) sliftActive = false disablePhysicsGodmode(speaker) if sliftConn then sliftConn:Disconnect() sliftConn = nil end for _, part in pairs(sliftParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.Massless = false end) end end sliftParts = {} showArcPopup('SLift', false) notify('SLift', 'SLift disabled.') end) -- ======================== CAGE UA ======================== -- Build a 19x19x19 cage around a target player using ALL unanchored parts. -- Parts form the walls, floor, and ceiling. Serversided via velocity. -- Usage: cageua [player] | uncageua / nocageua cageuaActive = false cageuaConn = nil cageuaParts = {} cageuaTarget = nil addcmd('cageua', {'partcage', 'uacage'}, function(args, speaker) if cageuaActive then execCmd('uncageua') return end local char = speaker.Character if not char or not getRoot(char) then notify('CageUA', 'Character not found') return end enablePhysicsGodmode(speaker) -- Find target player (default: self) local targetPlr = speaker if args[1] and args[1]:lower() ~= 'me' then local targetNames = {} pcall(function() targetNames = {getPlayersByName(args[1], speaker)} end) if #targetNames >= 1 then local found = Players:FindFirstChild(targetNames[1]) if found then targetPlr = found end end end local targetChar = targetPlr.Character if not targetChar or not getRoot(targetChar) then notify('CageUA', 'Target character not found') return end cageuaTarget = getRoot(targetChar) cageuaParts = {} cageuaActive = true -- Collect all unanchored parts (skip character parts) for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then local isBody = false local anc = part.Parent while anc and anc ~= workspace do if anc:FindFirstChildWhichIsA('Humanoid') then isBody = true break end anc = anc.Parent end if not isBody then pcall(function() orbitua_prepPart(part) part:SetNetworkOwner(nil) workspace:ResetNetworkOwnerlessTimeout(0) end) table.insert(cageuaParts, part) end end end if #cageuaParts < 1 then notify('CageUA', 'No unanchored parts found') cageuaActive = false return end notify('CageUA', 'Building cage with ' .. #cageuaParts .. ' parts around ' .. targetPlr.Name .. '...') -- Build cage: 6 faces (floor, ceiling, 4 walls) local center = cageuaTarget.Position local cageSize = 19 local halfSize = cageSize / 2 -- Define face positions and normals local faces = { {name = 'floor', pos = center - Vector3.new(0, halfSize, 0), normal = Vector3.new(0, 1, 0), up = Vector3.new(0, 0, 1)}, {name = 'ceiling', pos = center + Vector3.new(0, halfSize, 0), normal = Vector3.new(0, -1, 0), up = Vector3.new(0, 0, 1)}, {name = 'north', pos = center + Vector3.new(0, 0, -halfSize), normal = Vector3.new(0, 0, 1), up = Vector3.new(0, 1, 0)}, {name = 'south', pos = center + Vector3.new(0, 0, halfSize), normal = Vector3.new(0, 0, -1), up = Vector3.new(0, 1, 0)}, {name = 'east', pos = center + Vector3.new(halfSize, 0, 0), normal = Vector3.new(-1, 0, 0), up = Vector3.new(0, 1, 0)}, {name = 'west', pos = center - Vector3.new(halfSize, 0, 0), normal = Vector3.new(1, 0, 0), up = Vector3.new(0, 1, 0)}, } local partsPerFace = math.floor(#cageuaParts / 6) local idx = 1 for _, face in pairs(faces) do local count = partsPerFace if idx + count > #cageuaParts + 1 then count = #cageuaParts - idx + 1 end if count <= 0 then break end local grid = math.ceil(math.sqrt(count)) local spacing = cageSize / (grid + 1) for i = 1, count do local part = cageuaParts[idx] if part and part.Parent then local row = math.floor((i - 1) / grid) local col = ((i - 1) % grid) local offset = Vector3.new( (col - grid/2) * spacing, 0, (row - grid/2) * spacing ) -- Rotate offset based on face orientation local rightVec = face.normal:Cross(face.up) local worldOffset = rightVec * offset.X + face.up * offset.Y + face.normal * offset.Z local targetPos = face.pos + worldOffset + face.normal * 0.5 pcall(function() part.CanCollide = true part.Massless = false local diff = targetPos - part.Position part.Velocity = diff * 3 part.RotVelocity = Vector3.new(0, 0, 0) end) idx = idx + 1 end end end -- Hold loop: keep parts in place task.wait(3) cageuaConn = RunService.Heartbeat:Connect(function(dt) if not cageuaActive then return end -- Rebuild face positions based on current target position (cage follows target) local tPos = cageuaTarget and cageuaTarget.Parent and cageuaTarget.Position or center if cageuaTarget and cageuaTarget.Parent then tPos = cageuaTarget.Position end local idx2 = 1 for _, face in pairs(faces) do local facePos = tPos + (face.pos - center) local count = partsPerFace if idx2 + count > #cageuaParts + 1 then count = #cageuaParts - idx2 + 1 end if count <= 0 then break end local grid = math.ceil(math.sqrt(count)) local spacing = cageSize / (grid + 1) for i = 1, count do local part = cageuaParts[idx2] if part and part.Parent then pcall(function() local row = math.floor((i - 1) / grid) local col = ((i - 1) % grid) local offset = Vector3.new( (col - grid/2) * spacing, 0, (row - grid/2) * spacing ) local rightVec = face.normal:Cross(face.up) local worldOffset = rightVec * offset.X + face.up * offset.Y + face.normal * offset.Z local targetPos2 = facePos + worldOffset + face.normal * 0.5 local diff = targetPos2 - part.Position part.Velocity = diff * 5 part.RotVelocity = Vector3.new(0, 0, 0) end) end idx2 = idx2 + 1 end end pcall(function() sethiddenproperty(speaker, "SimulationRadius", math.huge) end) end) showArcPopup('CageUA', true) notify('CageUA', 'Cage built around ' .. targetPlr.Name .. '!') end) addcmd('uncageua', {'nocageua', 'cageuaoff', 'uncage'}, function(args, speaker) cageuaActive = false cageuaTarget = nil disablePhysicsGodmode(speaker) if cageuaConn then cageuaConn:Disconnect() cageuaConn = nil end for _, part in pairs(cageuaParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil part.Velocity = Vector3.new(0, 0, 0) part.RotVelocity = Vector3.new(0, 0, 0) part.CanCollide = true part.Massless = false end) end end cageuaParts = {} showArcPopup('CageUA', false) notify('CageUA', 'CageUA disabled.') end) addcmd('togglecageua', {}, function(args, speaker) if cageuaActive then execCmd('uncageua') else execCmd('cageua') end end) -- ======================== OWN PARTS ======================== -- Claim server ownership of ALL unanchored parts instantly. -- Uses teleport trick: TP to each part for 1 frame to claim ownership. -- Usage: ownparts addcmd('ownparts', {'claimparts2', 'ownall'}, function(args, speaker) local char = speaker.Character if not char or not getRoot(char) then notify('OwnParts', 'Character not found') return end local root = getRoot(char) local savedCF = root.CFrame local count = 0 for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then local isBody = false local anc = part.Parent while anc and anc ~= workspace do if anc:FindFirstChildWhichIsA('Humanoid') then isBody = true break end anc = anc.Parent end if not isBody then pcall(function() char:PivotTo(CFrame.new(part.Position)) RunService.Heartbeat:Wait() part:SetNetworkOwner(nil) workspace:ResetNetworkOwnerlessTimeout(0) end) count = count + 1 end end end pcall(function() char:PivotTo(savedCF) end) notify('OwnParts', 'Claimed ownership of ' .. count .. ' parts!') end) -- ======================== CLAIM ALL ======================== -- Teleports to every unanchored part for 1 frame to claim server ownership. -- When enabled, shows "Click P to claim". Press P = rapid teleport to all parts, then back. -- Usage: claimall | unclaimall / noclaimall claimallActive = false claimallKeyConn = nil addcmd('claimall', {'claimparts', 'claim'}, function(args, speaker) if claimallActive then execCmd('unclaimall') return end local char = speaker.Character if not char or not getRoot(char) then notify('ClaimAll', 'Character not found') return end claimallActive = true showArcPopup('ClaimAll', true) notify('ClaimAll', 'Enabled! Click P to claim all parts') local UIS = game:GetService('UserInputService') claimallKeyConn = UIS.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if not claimallActive then return end if input.KeyCode == Enum.KeyCode.P then local freshChar = speaker.Character local root = getRoot(freshChar) if not root then return end -- Save starting position local savedPos = root.CFrame -- Collect all unanchored parts (skip body parts) local parts = {} pcall(function() for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored and part.Parent then if freshChar and not freshChar:IsAncestorOf(part) then -- Skip body parts (have Humanoid ancestor) local isBody = false local anc = part.Parent while anc and anc ~= workspace do if anc:FindFirstChildWhichIsA('Humanoid') then isBody = true break end anc = anc.Parent end if not isBody then parts[#parts + 1] = part end end end end end) if #parts == 0 then notify('ClaimAll', 'No unanchored parts found') return end notify('ClaimAll', 'Claiming ' .. #parts .. ' parts...') -- Teleport to each part for 1 frame for i, part in pairs(parts) do if not part.Parent then end pcall(function() root.CFrame = part.CFrame + Vector3.new(0, 3, 0) part:SetNetworkOwner(nil) end) -- Small delay between teleports (10ms = fast but safe) RunService.Heartbeat:Wait() end -- Teleport back to start pcall(function() root.CFrame = savedPos end) notify('ClaimAll', 'Done! Claimed ' .. #parts .. ' parts') end end) end) addcmd('unclaimall', {'noclaimall', 'claimalloff'}, function(args, speaker) claimallActive = false if claimallKeyConn then claimallKeyConn:Disconnect() claimallKeyConn = nil end showArcPopup('ClaimAll', false) notify('ClaimAll', 'Disabled') end) -- ======================== MINIGUN ======================== -- Background scan every 5 seconds maintains a queue of up to 30 valid unanchored parts. -- Click = fires them one by one, 0.2s apart, toward mouse. Zero lag on click. -- Teleports onto part for 1 frame before firing to grab server ownership. -- Usage: minigun [power] | unminigun / nominigun miningActive = false miningParts = {} miningConn = nil miningFiring = false miningScanThread = nil miningPower = 500 addcmd('minigun', {}, function(args, speaker) if miningActive then execCmd('unminigun') return end local char = speaker.Character if not char then notify('Minigun', 'Character not found') return end enablePhysicsGodmode(speaker) local mouse = speaker:GetMouse() -- Parse optional power argument local power = tonumber(args[1] or '') or 500 miningPower = power -- Check if part has any Humanoid ancestor (skip body parts) local function isBodyPart(part) local ancestor = part.Parent while ancestor and ancestor ~= workspace do if ancestor:FindFirstChildWhichIsA('Humanoid') then return true end ancestor = ancestor.Parent end return false end miningParts = {} miningActive = true miningFiring = false -- Background scan: every 5 seconds, refresh the queue miningScanThread = task.spawn(function() while miningActive do local freshParts = {} pcall(function() local freshChar = speaker.Character if not freshChar then task.wait(5) end for _, part in pairs(workspace:GetDescendants()) do if #freshParts >= 30 then break end if part:IsA('BasePart') and part.Anchored == false then if freshChar and not freshChar:IsAncestorOf(part) then if not isBodyPart(part) then freshParts[#freshParts + 1] = part end end end end end) -- Replace queue with fresh scan (only if not currently firing) if not miningFiring then miningParts = freshParts end task.wait(5) end end) -- Show ENABLED popup pcall(function() if ArcPopupGui and ArcPopupGui.Parent then ArcPopupGui:Destroy() end ArcPopupGui = nil ArcPopupFrame = nil ArcPopupQueue = {} local gui = Instance.new('ScreenGui') gui.Name = 'ArcYieldPopup' gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = game:GetService('CoreGui') ArcPopupGui = gui local frame = Instance.new('Frame') frame.Size = UDim2.new(0, 280, 0, 55) frame.Position = UDim2.new(0.5, -140, 0, -65) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) frame.BackgroundTransparency = 0.15 frame.BorderSizePixel = 0 frame.Parent = gui ArcPopupFrame = frame local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local stroke = Instance.new('UIStroke') stroke.Color = Color3.fromRGB(50, 100, 255) stroke.Thickness = 1.5 stroke.Transparency = 0.3 stroke.Parent = frame local accent = Instance.new('Frame') accent.Size = UDim2.new(0, 5, 0, 55) accent.BackgroundColor3 = Color3.fromRGB(50, 120, 255) accent.BorderSizePixel = 0 local ac = Instance.new('UICorner') ac.CornerRadius = UDim.new(0, 3) ac.Parent = accent accent.Parent = frame local tl = Instance.new('TextLabel') tl.Name = 'Title' tl.Size = UDim2.new(1, -20, 0, 28) tl.Position = UDim2.new(0, 14, 0, 2) tl.BackgroundTransparency = 1 tl.Text = 'Minigun' tl.TextColor3 = Color3.fromRGB(220, 230, 255) tl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) tl.TextStrokeTransparency = 0.6 tl.Font = Enum.Font.GothamBold tl.TextSize = 16 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Parent = frame local sl = Instance.new('TextLabel') sl.Name = 'Status' sl.Size = UDim2.new(1, -20, 0, 20) sl.Position = UDim2.new(0, 14, 0, 28) sl.BackgroundTransparency = 1 sl.Text = 'ENABLED (power: ' .. power .. ')' sl.TextColor3 = Color3.fromRGB(100, 255, 130) sl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) sl.TextStrokeTransparency = 0.8 sl.Font = Enum.Font.Gotham sl.TextSize = 13 sl.TextXAlignment = Enum.TextXAlignment.Left sl.Parent = frame local ts = game:GetService('TweenService') ts:Create(frame, TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, -140, 0, 10), BackgroundTransparency = 0 }):Play() end) -- Click = fire parts one by one, 0.2s apart miningConn = mouse.Button1Down:Connect(function() if not miningActive or miningFiring then return end if not miningParts or #miningParts == 0 then notify('Minigun', 'No parts queued yet, wait for scan...') return end miningFiring = true -- Snapshot current queue so background scan keeps building a new one local snapshot = {} for _, p in pairs(miningParts) do snapshot[#snapshot + 1] = p end miningParts = {} task.spawn(function() local root = getRoot(char) if not root then miningFiring = false return end local savedPos = root.CFrame for i = 1, #snapshot do if not miningActive then break end local part = snapshot[i] if part and part.Parent and part.Anchored == false then pcall(function() -- Strip constraints/welds right before firing orbitua_prepPart(part) for _, x in pairs(part:GetChildren()) do if x:IsA('Constraint') then pcall(function() x:Destroy() end) end end local ok4, joints = pcall(function() return part:GetJoints() end) if ok4 and joints then for _, x in pairs(joints) do pcall(function() x:Destroy() end) end end part.Massless = true part.CanCollide = false part.CanTouch = false -- Teleport onto the part for 1 frame to grab server ownership root.CFrame = part.CFrame + Vector3.new(0, 3, 0) RunService.Heartbeat:Wait() root.CFrame = savedPos -- Now fire it local targetPos = mouse.Hit.Position local dir = (targetPos - part.Position).Unit part.Velocity = dir * miningPower part.RotVelocity = Vector3.new( math.random(-80, 80), math.random(-80, 80), math.random(-80, 80) ) end) end if i < #snapshot then task.wait(0.2) end end miningFiring = false end) end) -- Keep SimulationRadius up so physics works on far parts task.spawn(function() while miningActive do pcall(function() sethiddenproperty(speaker, "SimulationRadius", math.huge) end) task.wait(1) end end) notify('Minigun', 'Scanning every 5s. Power: ' .. power .. '. Click to fire!') end) addcmd('unminigun', {'nominigun', 'minigunoff'}, function(args, speaker) miningActive = false disablePhysicsGodmode(speaker) if miningConn then miningConn:Disconnect() miningConn = nil end miningParts = {} miningFiring = false miningScanThread = nil -- Show DISABLED popup pcall(function() if ArcPopupGui and ArcPopupGui.Parent then ArcPopupGui:Destroy() end ArcPopupGui = nil ArcPopupFrame = nil ArcPopupQueue = {} local gui = Instance.new('ScreenGui') gui.Name = 'ArcYieldPopup' gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = game:GetService('CoreGui') ArcPopupGui = gui local frame = Instance.new('Frame') frame.Size = UDim2.new(0, 280, 0, 55) frame.Position = UDim2.new(0.5, -140, 0, -65) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) frame.BackgroundTransparency = 0.15 frame.BorderSizePixel = 0 frame.Parent = gui ArcPopupFrame = frame local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local stroke = Instance.new('UIStroke') stroke.Color = Color3.fromRGB(50, 100, 255) stroke.Thickness = 1.5 stroke.Transparency = 0.3 stroke.Parent = frame local accent = Instance.new('Frame') accent.Size = UDim2.new(0, 5, 0, 55) accent.BackgroundColor3 = Color3.fromRGB(50, 120, 255) accent.BorderSizePixel = 0 local ac = Instance.new('UICorner') ac.CornerRadius = UDim.new(0, 3) ac.Parent = accent accent.Parent = frame local tl = Instance.new('TextLabel') tl.Name = 'Title' tl.Size = UDim2.new(1, -20, 0, 28) tl.Position = UDim2.new(0, 14, 0, 2) tl.BackgroundTransparency = 1 tl.Text = 'Minigun' tl.TextColor3 = Color3.fromRGB(220, 230, 255) tl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) tl.TextStrokeTransparency = 0.6 tl.Font = Enum.Font.GothamBold tl.TextSize = 16 tl.TextXAlignment = Enum.TextXAlignment.Left tl.Parent = frame local sl = Instance.new('TextLabel') sl.Name = 'Status' sl.Size = UDim2.new(1, -20, 0, 20) sl.Position = UDim2.new(0, 14, 0, 28) sl.BackgroundTransparency = 1 sl.Text = 'DISABLED' sl.TextColor3 = Color3.fromRGB(255, 100, 100) sl.TextStrokeColor3 = Color3.fromRGB(30, 80, 255) sl.TextStrokeTransparency = 0.8 sl.Font = Enum.Font.Gotham sl.TextSize = 13 sl.TextXAlignment = Enum.TextXAlignment.Left sl.Parent = frame local ts = game:GetService('TweenService') ts:Create(frame, TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, -140, 0, 10), BackgroundTransparency = 0 }):Play() end) end) -- ======================== HOVERBOARD ======================== -- Finds a flat unanchored part (~6x1x1 or similar), brings it to your feet. -- You ride it: WASD to move (camera-relative), Space to jump. -- Idle: board gently tilts/bobs + Aura Idle animation. -- Moving: board levels out + Floating Flying animation. -- Serversided Velocity (orbitua-style) so everyone sees the board move. -- Player is locked to the top of the board every frame. -- Usage: hoverboard | unhoverboard / nohoverboard / hoverboardoff / togglehoverboard hbActive = false hbPart = nil hbConn = nil hbIdleTrack = nil hbMoveTrack = nil hbSpeed = 80 hbKeysDown = {} hbInputBegan = nil hbInputEnded = nil hbDiedConn = nil hbOrigWalkSpeed = 16 hbOrigAnimate = nil hbIdleAnimId = 616006778 -- Levitation Idle (float with legs crossed, aura-like) hbMoveAnimId = 616010382 -- Levitation Run (flying/floating movement) addcmd('hoverboard', {}, function(args, speaker) if hbActive then execCmd('unhoverboard') return end local char = speaker.Character if not char or not getRoot(char) then notify('Hoverboard', 'Character not found') return end local root = getRoot(char) local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then notify('Hoverboard', 'Humanoid not found') return end -- Find a suitable flat long part (roughly 6:1:1 ratio or similar proportions) local bestPart = nil local bestScore = math.huge for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then local sx, sy, sz = part.Size.X, part.Size.Y, part.Size.Z -- Sort dimensions largest to smallest local sizes = {sx, sy, sz} table.sort(sizes, function(a, b) return a > b end) -- Longest >= 3 studs, ratio longest/shortest >= 2.5, middle/shortest <= 3 if sizes[1] >= 3 and sizes[1] / sizes[3] >= 2.5 and sizes[2] / sizes[3] <= 3 then -- Score: prefer closest to 6x1x1 proportions local score = math.abs(sizes[1] - 6) + math.abs(sizes[2] - 1) + math.abs(sizes[3] - 1) if score < bestScore then bestPart = part bestScore = score end end end end end if not bestPart then notify('Hoverboard', 'No flat part found! Need something like 6x1x1') return end hbPart = bestPart orbitua_prepPart(hbPart) -- Position board under player's feet local yOffset = -(root.Size.Y / 2 + hbPart.Size.Y / 2 + 0.1) hbPart.CFrame = root.CFrame * CFrame.new(0, yOffset, 0) hbPart.Velocity = Vector3.new(0, 0, 0) hbPart.RotVelocity = Vector3.new(0, 0, 0) -- Weld player to board so other players see the connection local hbWeld = Instance.new('WeldConstraint') hbWeld.Part0 = root hbWeld.Part1 = hbPart hbWeld.Parent = root -- Save original WalkSpeed and set to 0 (so humanoid doesn't fight the weld) hbOrigWalkSpeed = hum.WalkSpeed hum.WalkSpeed = 0 -- Disable default Animate script so it doesn't override our custom anims hbOrigAnimate = char:FindFirstChild('Animate') if hbOrigAnimate then hbOrigAnimate.Disabled = true end -- Load animations local idleAnim = Instance.new('Animation') idleAnim.AnimationId = 'rbxassetid://' .. hbIdleAnimId local moveAnim = Instance.new('Animation') moveAnim.AnimationId = 'rbxassetid://' .. hbMoveAnimId hbIdleTrack = nil hbMoveTrack = nil pcall(function() hbIdleTrack = hum:LoadAnimation(idleAnim) hbMoveTrack = hum:LoadAnimation(moveAnim) if hbIdleTrack then hbIdleTrack.Priority = Enum.AnimationPriority.Movement hbIdleTrack.Looped = true end if hbMoveTrack then hbMoveTrack.Priority = Enum.AnimationPriority.Movement hbMoveTrack.Looped = true end end) -- Track keyboard input for WASD + Space local UIS = game:GetService('UserInputService') hbKeysDown = {} hbInputBegan = UIS.InputBegan:Connect(function(input, processed) if not processed then hbKeysDown[input.KeyCode] = true end end) hbInputEnded = UIS.InputEnded:Connect(function(input) hbKeysDown[input.KeyCode] = false end) hbActive = true local wasMoving = false -- Main heartbeat loop hbConn = RunService.Heartbeat:Connect(function(dt) if not hbActive then return end if not hbPart or not hbPart.Parent then execCmd('unhoverboard') return end local r = getRoot(speaker.Character) if not r then execCmd('unhoverboard') return end -- Calculate movement direction from WASD (camera-relative) local cam = workspace.CurrentCamera local moveDir = Vector3.new(0, 0, 0) if hbKeysDown[Enum.KeyCode.W] then moveDir = moveDir + cam.CFrame.LookVector end if hbKeysDown[Enum.KeyCode.S] then moveDir = moveDir - cam.CFrame.LookVector end if hbKeysDown[Enum.KeyCode.A] then moveDir = moveDir - cam.CFrame.RightVector end if hbKeysDown[Enum.KeyCode.D] then moveDir = moveDir + cam.CFrame.RightVector end -- Flatten Y axis for ground movement moveDir = Vector3.new(moveDir.X, 0, moveDir.Z) local isMoving = moveDir.Magnitude > 0.01 local wantsJump = hbKeysDown[Enum.KeyCode.Space] == true if isMoving then moveDir = moveDir.Unit -- Move board with Velocity (serversided, orbitua-style) local jumpVel = wantsJump and 120 or 0 hbPart.Velocity = moveDir * hbSpeed + Vector3.new(0, jumpVel, 0) -- Level the board when moving (zero out tilt) hbPart.RotVelocity = Vector3.new(0, 0, 0) else -- Idle: gentle hover bob + slow tilt oscillation local bobY = math.sin(tick() * 2) * 3 local jumpBoost = wantsJump and 80 or 0 hbPart.Velocity = Vector3.new(0, bobY + jumpBoost, 0) -- Tilt the board gently with RotVelocity hbPart.RotVelocity = Vector3.new( math.sin(tick() * 1.5) * 15, 0, math.cos(tick() * 1.2) * 10 ) end -- Lock player on top of the board every frame local topY = hbPart.Position.Y + hbPart.Size.Y / 2 + r.Size.Y / 2 + 0.1 if isMoving then -- Face movement direction local lookAngle = math.atan2(moveDir.X, moveDir.Z) r.CFrame = CFrame.new(hbPart.Position.X, topY, hbPart.Position.Z) * CFrame.Angles(0, lookAngle, 0) else -- Keep current facing direction local _, currentYRot = r.CFrame:ToEulerAnglesYXZ() r.CFrame = CFrame.new(hbPart.Position.X, topY, hbPart.Position.Z) * CFrame.Angles(0, currentYRot, 0) end -- Switch animations based on movement state if isMoving and not wasMoving then pcall(function() if hbMoveTrack then hbMoveTrack:Play() end end) pcall(function() if hbIdleTrack then hbIdleTrack:Stop() end end) elseif not isMoving and wasMoving then pcall(function() if hbIdleTrack then hbIdleTrack:Play() end end) pcall(function() if hbMoveTrack then hbMoveTrack:Stop() end end) end wasMoving = isMoving sethiddenproperty(speaker, "SimulationRadius", math.huge) end) -- Die cleanup if hum then hbDiedConn = hum.Died:Connect(function() execCmd('unhoverboard') end) end -- Start idle animation pcall(function() if hbIdleTrack then hbIdleTrack:Play() end end) showArcPopup('Hoverboard', true) notify('Hoverboard', 'Hoverboard active! WASD to move, Space to jump') end) addcmd('unhoverboard', {'nohoverboard', 'hoverboardoff'}, function(args, speaker) hbActive = false if hbConn then hbConn:Disconnect() hbConn = nil end if hbDiedConn then hbDiedConn:Disconnect() hbDiedConn = nil end if hbInputBegan then hbInputBegan:Disconnect() hbInputBegan = nil end if hbInputEnded then hbInputEnded:Disconnect() hbInputEnded = nil end -- Restore WalkSpeed and Animate script local char = speaker.Character if char then local hum = char:FindFirstChildWhichIsA('Humanoid') if hum then hum.WalkSpeed = hbOrigWalkSpeed end if hbOrigAnimate and hbOrigAnimate.Parent then hbOrigAnimate.Disabled = false end end hbOrigAnimate = nil -- Stop animations if hbIdleTrack then pcall(function() hbIdleTrack:Stop() end) hbIdleTrack = nil end if hbMoveTrack then pcall(function() hbMoveTrack:Stop() end) hbMoveTrack = nil end -- Remove weld local root = char and getRoot(char) if root then for _, x in pairs(root:GetChildren()) do if x:IsA('WeldConstraint') and x.Part1 == hbPart then x:Destroy() end end end -- Clean up the board if hbPart and hbPart.Parent then pcall(function() hbPart.CustomPhysicalProperties = nil end) hbPart.Velocity = Vector3.new(0, 0, 0) hbPart.RotVelocity = Vector3.new(0, 0, 0) end hbPart = nil hbKeysDown = {} showArcPopup('Hoverboard', false) end) addcmd('togglehoverboard', {}, function(args, speaker) if hbActive then execCmd('unhoverboard') else execCmd('hoverboard') end end) -- ======================== CUSTOM ANIMATION PACKS ======================== -- Each pack replaces the character's Animate script animations (idle, walk, run, -- jump, fall, swim, climb) with a themed set. The default Animate script handles -- all state transitions automatically - no manual tracking needed. -- Run command again to stop and restore originals. -- Xeno Lua 5.1 compatible: no continue, no goto. -- Usage: floatpack | godpack | ninjapack | zombiepack | vampirepack | etc. animPackActive = nil -- name of active pack, nil = none animPackOriginals = {} -- saved original AnimationIds animPackDiedConn = nil -- Animation pack definitions: {name, description, idle1, idle2, walk, run, jump, fall, climb, swim, swimidle} local animPacks = { floatpack = {"Float Pack", "Levitation - float everywhere, swim in air", 616006778, 616008087, 616013216, 616010382, 616008936, 616005863, 616003713, 616011509, 616012453}, godpack = {"God Pack", "Superhero - arms out, confident, powerful", 616111295, 616113536, 616122287, 616117076, 616115533, 616108001, 616104706, nil, nil}, ninjapack = {"Ninja Pack", "Stealth ninja - sneaky, fast, agile", 656117400, 656118341, 656121766, 656118852, 656117878, 656115606, 656114359, nil, nil}, zombiepack = {"Zombie Pack", "Undead - arms forward, stumbling, lurching", 616158929, 616160636, 616168032, 616163682, 616161997, 616157476, nil, nil, nil}, stylishpack = {"Stylish Pack", "Swagger - cool walk, slick movement", 616136790, 616138447, 616146177, 616140816, 616139451, 616134815, nil, nil, nil}, robotpack = {"Robot Pack", "Mechanical - stiff, robotic movement", 616088211, 616089559, 616095330, 616091570, 616090535, 616087089, 616086039, nil, nil}, magepack = {"Mage Pack", "Magical - caster walk, mystical movement", 707742142, 707855907, 707897309, 707861613, 707853694, 707829716, 707826056, nil, nil}, vampirepack = {"Vampire Pack", "Dark elegant - vampire walk/run, pale grace", 1083445855, 1083450166, 1083473930, 1083462077, 1083455352, 1083443587, 1083439238, nil, nil}, werewlfpack = {"Werewolf Pack", "Beast - animalistic walk/run, feral movement", 1083195517, 1083214717, 1083178339, 1083216690, 1083218792, 1083189019, 1083182000, nil, nil}, piratepack = {"Pirate Pack", "Swashbuckler - pirate walk, adventurous run", 750781874, 750782770, 750785693, 750783738, 750782230, 750780242, 750779899, nil, nil}, cartypack = {"Cartoony Pack", "Exaggerated - bouncy, over-the-top movement", 742637544, 742638445, 742640026, 742638842, 742637942, 742637151, 742636889, nil, nil}, bubblypack = {"Bubbly Pack", "Playful - bouncy walk with swim animations", 910004836, 910009958, 910034870, 910025107, 910016857, 910001910, nil, 910028158, 910030921}, cowboyppack = {"Cowboy Pack", "Western - cowboy stroll, rugged run", 1014390418, 1014398616, 1014421541, 1014401683, 1014394726, 1014384571, 1014380606, nil, nil}, knightpack = {"Knight Pack", "Heavy armor - slow, powerful, armored", 657595757, 657568135, 657552124, 657564596, 658409194, 657600338, 658360781, nil, nil}, princespack = {"Princess Pack", "Elegant - graceful walk, royal movement", 941003647, 941013098, 941028902, 941015281, 941008832, 941000007, 940996062, nil, nil}, sneakypack = {"Sneaky Pack", "Stealth - tiptoe, quiet movement", 1132473842, 1132477671, 1132510133, 1132494274, 1132489853, 1132469004, 1132461372, nil, nil}, confidpack = {"Confident Pack","Swagger - cool idle, confident walk", 1069977950, 1069987858, 1070017263, 1070001516, 1069984524, 1069973677, 1069946257, nil, nil}, astronautpk = {"Astronaut Pack","Space - low-gravity walk, skydive fall", 891621366, 891633237, 891667138, 891636393, 891627522, 891617961, 891609353, nil, nil}, elderpack = {"Elder Pack", "Old person - slow, hunched walk", 845397899, 845400520, 845403856, 845386501, 845398858, 845396048, 845392038, nil, nil}, popstarpack = {"Popstar Pack", "Idol - popstar walk, star movement", 1212900985, 1212900985, 1212980338, 1212980348, 1212954642, 1212900995, 1213044953, nil, nil}, toypack = {"Toy Pack", "Toy-like - stiff, playful movements", 782841498, 782845736, 782843345, 782842708, 782847020, 782846423, 782843869, nil, nil}, } -- Path map: which Animation objects to modify in the Animate script -- Each entry = {container name, animation name} local animPaths = { {"idle", "Animation1"}, {"idle", "Animation2"}, {"walk", "WalkAnim"}, {"run", "RunAnim"}, {"jump", "JumpAnim"}, {"fall", "FallAnim"}, {"climb", "ClimbAnim"}, {"swim", "Swim"}, {"swimidle", "SwimIdle"}, } -- Save original AnimationIds from the Animate script local function saveOriginalAnims(char) local animate = char:FindFirstChild('Animate') if not animate then return end animPackOriginals = {} for _, pathPair in pairs(animPaths) do local container = animate:FindFirstChild(pathPair[1]) if container then local animObj = container:FindFirstChild(pathPair[2]) if animObj then animPackOriginals[pathPair[1] .. '.' .. pathPair[2]] = animObj.AnimationId end end end end -- Restore original AnimationIds local function restoreOriginalAnims(char) local animate = char:FindFirstChild('Animate') if not animate then return end for pathKey, originalId in pairs(animPackOriginals) do local containerName = string.match(pathKey, '^(.+)%..+$') local animName = string.match(pathKey, '^%.(.+)$') -- Re-parse key local dotPos = string.find(pathKey, '.', 1, true) if dotPos then containerName = string.sub(pathKey, 1, dotPos - 1) animName = string.sub(pathKey, dotPos + 1) end local container = animate:FindFirstChild(containerName) if container then local animObj = container:FindFirstChild(animName) if animObj then pcall(function() animObj.AnimationId = originalId end) end end end animPackOriginals = {} end -- Apply a pack's animations to the Animate script local function applyPack(char, pack) local animate = char:FindFirstChild('Animate') if not animate then notify('Anim', 'Animate script not found on character') return false end local ids = pack local pathIndex = 0 for _, pathPair in pairs(animPaths) do pathIndex = pathIndex + 1 local animId = ids[pathIndex + 2] -- +2 because index 1=name, 2=desc if animId then local container = animate:FindFirstChild(pathPair[1]) if container then local animObj = container:FindFirstChild(pathPair[2]) if animObj then pcall(function() animObj.AnimationId = 'rbxassetid://' .. animId end) end end end end return true end -- Stop any active pack local function stopAnimPack(speaker) if animPackDiedConn then animPackDiedConn:Disconnect() animPackDiedConn = nil end local char = speaker.Character if char then restoreOriginalAnims(char) end local wasActive = animPackActive animPackActive = nil return wasActive end -- Shared function to activate an animation pack local function playAnimPack(packName, speaker) local pack = animPacks[packName] if not pack then notify('Anim', 'Unknown pack: ' .. tostring(packName)) return end -- If already playing this pack, stop it if animPackActive == packName then stopAnimPack(speaker) showArcPopup(pack[1], false) notify('Anim', 'Stopped ' .. pack[1]) return end -- Stop any existing pack first stopAnimPack(speaker) local char = speaker.Character if not char then notify('Anim', 'Character not found') return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then notify('Anim', 'Humanoid not found') return end -- Save originals then apply pack saveOriginalAnims(char) local ok = applyPack(char, pack) if not ok then restoreOriginalAnims(char) return end animPackActive = packName showArcPopup(pack[1], true) notify('Anim', pack[1] .. ' - ' .. pack[2]) -- Cleanup on death animPackDiedConn = hum.Died:Connect(function() stopAnimPack(speaker) showArcPopup('Anim', false) end) end -- Universal stop command addcmd('unanim', {'noanim', 'stopanim', 'animsreset', 'resetanim'}, function(args, speaker) -- Stop lol anim if active if lolAnimActive then lolAnimActive = false if lolAnimConn then lolAnimConn:Disconnect() lolAnimConn = nil end if lolAnimDiedConn then lolAnimDiedConn:Disconnect() lolAnimDiedConn = nil end showArcPopup('LOL Anim', false) end local was = stopAnimPack(speaker) local char = speaker.Character if char then restoreOriginalAnims(char) end showArcPopup('Anim', false) if was or lolAnimActive then notify('Anim', 'Stopped animation pack') end end) -- Register all animation pack commands local packAliases = { floatpack = {'floatpack', 'floatanim'}, godpack = {'godpack', 'godanim', 'god'}, ninjapack = {'ninjapack', 'ninjaanim', 'ninja'}, zombiepack = {'zombiepack', 'zombieanim', 'zombie'}, stylishpack = {'stylishpack', 'stylishanim', 'stylish'}, robotpack = {'robotpack', 'robotanim', 'robot'}, magepack = {'magepack', 'mageanim', 'mage'}, vampirepack = {'vampirepack', 'vampireanim', 'vampire'}, werewolfpack = {'werewolfpack', 'werewolfanim', 'werewolf'}, piratepack = {'piratepack', 'pirateanim', 'pirate'}, cartypack = {'cartypack', 'cartoonyanim', 'cartoony'}, bubblypack = {'bubblypack', 'bubblyanim', 'bubbly'}, cowboyppack = {'cowboyppack', 'cowboyanim', 'cowboy'}, knightpack = {'knightpack', 'knightanim', 'knight'}, princesspack = {'princesspack', 'princessanim', 'princess'}, sneakypack = {'sneakypack', 'sneakyanim', 'sneaky'}, confidpack = {'confidpack', 'confidanim', 'confident'}, astronautpk = {'astronautpk', 'astronautanim', 'astronaut'}, elderpack = {'elderpack', 'elderanim', 'elder'}, popstarpack = {'popstarpack', 'popstaranim', 'popstar'}, toypack = {'toypack', 'toyanim', 'toy'}, } for packName, aliases in pairs(packAliases) do addcmd(aliases[1], aliases, function(args, speaker) playAnimPack(packName, speaker) end) end -- ======================== LOL ANIM ======================== -- Every time you walk, run, jump, fall, or climb, picks a RANDOM animation from a huge pool. -- Uses Humanoid.StateChanged to swap the Animate script's AnimationId right before it plays. -- Each movement = different animation every time. Run again to stop. -- Usage: lolanim / lol | unanim to stop lolAnimActive = false lolAnimConn = nil lolAnimDiedConn = nil lolAnimOriginals = {} -- Big pools of animation IDs scraped from all packs local lolWalkPool = { 616013216, 616122287, 656121766, 616168032, 616146177, 616095330, 707897309, 1083473930, 1083178339, 750785693, 742640026, 910034870, 1014421541, 657552124, 941028902, 1132510133, 1070017263, 891667138, 845403856, 1212980338, 782843345, 616010382, 616117076, 656118852, 616163682, 616140816, 616091570, 707861613, 1083462077, 1083216690, 750783738, 742638842, 910025107, 1014401683, 657564596, 941015281, 1132494274, 1070001516, 891636393, 845386501, 1212980348, 782842708 } local lolIdlePool = { 616006778, 616008087, 616111295, 616113536, 656117400, 656118341, 616158929, 616160636, 616136790, 616138447, 616088211, 616089559, 707742142, 707855907, 1083445855, 1083450166, 1083195517, 1083214717, 750781874, 750782770, 742637544, 742638445, 910004836, 910009958, 1014390418, 1014398616, 657595757, 657568135, 941003647, 941013098, 1132473842, 1132477671, 1069977950, 1069987858, 891621366, 891633237, 845397899, 845400520, 1212900985, 782841498, 782845736 } local lolJumpPool = { 616008936, 616115533, 656117878, 616161997, 616139451, 616090535, 707853694, 1083455352, 1083218792, 750782230, 742637942, 910016857, 1014394726, 658409194, 941008832, 1132489853, 1069984524, 891627522, 845398858, 1212954642, 782847020 } local lolFallPool = { 616005863, 616108001, 656115606, 616157476, 616134815, 616087089, 707829716, 1083443587, 1083189019, 750780242, 742637151, 910001910, 1014384571, 657600338, 941000007, 1132469004, 1069973677, 891617961, 845396048, 1212900995, 782846423 } local lolClimbPool = { 616003713, 616104706, 656114359, 616157476, 616134815, 616087089, 707826056, 1083439238, 1083182000, 750779899, 742636889, 1014380606, 658360781, 940996062, 1132461372, 1069946257, 891609353, 845392038, 1213044953, 782843869, 616086039 } local lolSwimPool = { 616011509, 910028158, 616012453, 910030921 } -- Map pool name -> {container, animName} in Animate script local lolPoolPaths = { idle1 = {'idle', 'Animation1'}, idle2 = {'idle', 'Animation2'}, walk = {'walk', 'WalkAnim'}, run = {'run', 'RunAnim'}, jump = {'jump', 'JumpAnim'}, fall = {'fall', 'FallAnim'}, climb = {'climb', 'ClimbAnim'}, swim = {'swim', 'Swim'}, swimidle = {'swimidle', 'SwimIdle'}, } -- Map pool name -> pool table local lolPoolMap = { idle1 = lolIdlePool, idle2 = lolIdlePool, walk = lolWalkPool, run = lolWalkPool, jump = lolJumpPool, fall = lolFallPool, climb = lolClimbPool, swim = lolSwimPool, swimidle = lolSwimPool, } local function lolRandomizeSlot(animate, slotName) local pool = lolPoolMap[slotName] local pathInfo = lolPoolPaths[slotName] if not pool or not pathInfo then return end local id = pool[math.random(1, #pool)] local container = animate:FindFirstChild(pathInfo[1]) if container then local animObj = container:FindFirstChild(pathInfo[2]) if animObj then pcall(function() animObj.AnimationId = 'rbxassetid://' .. id end) end end end addcmd('lolanim', {'lol'}, function(args, speaker) -- Toggle off if lolAnimActive then lolAnimActive = false if lolAnimConn then lolAnimConn:Disconnect() lolAnimConn = nil end if lolAnimDiedConn then lolAnimDiedConn:Disconnect() lolAnimDiedConn = nil end local char = speaker.Character if char then restoreOriginalAnims(char) end showArcPopup('LOL Anim', false) notify('LOL Anim', 'Stopped') return end local char = speaker.Character if not char then notify('LOL Anim', 'No character') return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then notify('LOL Anim', 'No humanoid') return end local animate = char:FindFirstChild('Animate') if not animate then notify('LOL Anim', 'No Animate script') return end -- Save originals first saveOriginalAnims(char) lolAnimActive = true -- Randomize all slots immediately for slotName, _ in pairs(lolPoolMap) do lolRandomizeSlot(animate, slotName) end -- On every state change, randomize the relevant slots lolAnimConn = hum.StateChanged:Connect(function(oldState, newState) if not lolAnimActive then return end local char2 = speaker.Character if not char2 then return end local animate2 = char2:FindFirstChild('Animate') if not animate2 then return end -- Map humanoid states to animation slots if newState == Enum.HumanoidStateType.Running then lolRandomizeSlot(animate2, 'walk') lolRandomizeSlot(animate2, 'run') elseif newState == Enum.HumanoidStateType.Jumping then lolRandomizeSlot(animate2, 'jump') elseif newState == Enum.HumanoidStateType.Freefall then lolRandomizeSlot(animate2, 'fall') elseif newState == Enum.HumanoidStateType.Climbing then lolRandomizeSlot(animate2, 'climb') elseif newState == Enum.HumanoidStateType.Swimming then lolRandomizeSlot(animate2, 'swim') lolRandomizeSlot(animate2, 'swimidle') elseif newState == Enum.HumanoidStateType.Idle or newState == Enum.HumanoidStateType.GettingUp or newState == Enum.HumanoidStateType.LandingPaused then lolRandomizeSlot(animate2, 'idle1') lolRandomizeSlot(animate2, 'idle2') end end) -- Cleanup on death lolAnimDiedConn = hum.Died:Connect(function() lolAnimActive = false if lolAnimConn then lolAnimConn:Disconnect() lolAnimConn = nil end lolAnimDiedConn = nil local char3 = speaker.Character if char3 then restoreOriginalAnims(char3) end showArcPopup('LOL Anim', false) end) showArcPopup('LOL Anim', true) notify('LOL Anim', 'Random anim every move! Type again to stop') end) -- ======================== FLING UA ======================== -- Takes ALL unanchored parts from the game, assigns ONE to each player, spins at max speed. -- Parts follow their assigned player. The spinning + collision naturally flings people. -- Usage: flingua [spinpower] | flingua off / unflingua to stop flinguaActive = false flinguaConn = nil flinguaParts = {} addcmd('flingua', {'fua'}, function(args, speaker) if args[1] and args[1]:lower() == 'off' then execCmd('unflingua') return end if flinguaActive then execCmd('unflingua') return end local spinPower = tonumber(args[1]) or 9999 flinguaActive = true -- Collect ALL unanchored parts from the game (not from any player character) local availableParts = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then local skipPart = false for _, p in pairs(Players:GetPlayers()) do if p.Character and p.Character:IsAncestorOf(part) then skipPart = true break end end if not skipPart then table.insert(availableParts, part) end end end -- Assign one part per player (except speaker) flinguaParts = {} local partIndex = 1 for _, player in pairs(Players:GetPlayers()) do if player ~= speaker and player.Character and player.Character:FindFirstChild('HumanoidRootPart') then if partIndex <= #availableParts then local part = availableParts[partIndex] partIndex = partIndex + 1 -- Strip existing constraints that would interfere for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') or x:IsA('BodyForce') or x:IsA('BodyGyro') or x:IsA('BodyPosition') or x:IsA('BodyThrust') or x:IsA('BodyVelocity') or x:IsA('RocketPropulsion') or x:IsA('AlignPosition') or x:IsA('Torque') then x:Destroy() end end -- Zero friction so it spins freely + can collide to fling part.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0) part.CanCollide = true -- Max speed spin local spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.AngularVelocity = Vector3.new(spinPower, spinPower, spinPower) spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.P = math.huge spin.Parent = part -- Teleport part to player part.CFrame = player.Character.HumanoidRootPart.CFrame table.insert(flinguaParts, {part = part, spin = spin, target = player}) end end end -- Follow loop: keep each part glued to its assigned player flinguaConn = RunService.Heartbeat:Connect(function() if not flinguaActive then return end for _, entry in pairs(flinguaParts) do if entry.part and entry.part.Parent and entry.target and entry.target.Character then local targetRoot = entry.target.Character:FindFirstChild('HumanoidRootPart') if targetRoot then entry.part.CFrame = targetRoot.CFrame end end end end) showArcPopup('FlingUA (' .. #flinguaParts .. ' parts)', true) notify('FlingUA', 'Assigned ' .. #flinguaParts .. ' game parts to players') end) addcmd('unflingua', {'noflingua'}, function(args, speaker) flinguaActive = false if flinguaConn then flinguaConn:Disconnect() flinguaConn = nil end for _, entry in pairs(flinguaParts) do if entry.spin and entry.spin.Parent then entry.spin:Destroy() end if entry.part and entry.part.Parent then entry.part.Velocity = Vector3.new(0, 0, 0) pcall(function() entry.part.CustomPhysicalProperties = nil end) end end flinguaParts = {} showArcPopup('FlingUA', false) end) addcmd('toggleflingua', {}, function(args, speaker) if flinguaActive then execCmd('unflingua') else execCmd('flingua') end end) -- ======================== YUNAS (LOAD HUB) ======================== addcmd('yunas', {}, function(args, speaker) notify('Arc Yield', 'Loading Yunas Hub...') local success, err = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/yunus154524/YunusLo1545-HUB/refs/heads/main/YunusLo1545%20HUB'))() end) if not success then notify('Arc Yield', 'Failed to load Yunas: ' .. tostring(err)) end end) -- ======================== DROPKICK (LOAD SCRIPT) ======================== addcmd('dropkick', {}, function(args, speaker) notify('Arc Yield', 'Loading DropKick...') local success, err = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/platinww/CrustyMain/refs/heads/main/universal/DropKick.lua'))() end) if not success then notify('Arc Yield', 'Failed to load DropKick: ' .. tostring(err)) end end) -- ======================== FUNNY UA ======================== -- Finds the smallest unanchored part in the game, spins it at max speed, -- makes it jitter really fast, and teleports it onto a random player every 1 second. -- Usage: funnyua | unfunnyua to stop funnyuaActive = false funnyuaConn = nil funnyuaPart = nil funnyuaJitterConn = nil funnyuaParts = {} funnyuaTarget = nil funnyuaTargetTimer = 0 funnyuaDiedConn = nil addcmd('funnyua', {}, function(args, speaker) if funnyuaActive then execCmd('unfunnyua') return end local char = speaker.Character if not char or not getRoot(char) then notify('FunnyUA', 'Character not found') return end funnyuaActive = true funnyuaParts = {} funnyuaTarget = nil funnyuaTargetTimer = 0 -- Collect ALL unanchored parts (not from ANY player's character) local function isPlayerBodyPart(p) for _, plr in pairs(Players:GetPlayers()) do if plr.Character and plr.Character:IsAncestorOf(p) then return true end end return false end for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not isPlayerBodyPart(part) then orbitua_prepPart(part) -- Add max spin to every part local spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.AngularVelocity = Vector3.new(math.random(-9999, 9999), math.random(-9999, 9999), math.random(-9999, 9999)) spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.P = math.huge spin.Parent = part table.insert(funnyuaParts, part) end end end -- Watch for new parts local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not funnyuaActive then return end if not p:IsA('BasePart') or p.Anchored then return end if isPlayerBodyPart(p) then return end for _, existing in pairs(funnyuaParts) do if existing == p then return end end orbitua_prepPart(p) local spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.AngularVelocity = Vector3.new(math.random(-9999, 9999), math.random(-9999, 9999), math.random(-9999, 9999)) spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.P = math.huge spin.Parent = p table.insert(funnyuaParts, p) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(funnyuaParts) do if existing == p then table.remove(funnyuaParts, i) break end end end) local humanoid = char:FindFirstChildWhichIsA('Humanoid') if humanoid then funnyuaDiedConn = humanoid.Died:Connect(function() execCmd('unfunnyua') end) end -- Pick a random player as target (changes every 0.5 seconds) local function pickTarget() local validPlayers = {} for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character and p.Character:FindFirstChild('HumanoidRootPart') then table.insert(validPlayers, p) end end if #validPlayers > 0 then funnyuaTarget = validPlayers[math.random(1, #validPlayers)] end end pickTarget() -- Main loop: orbit around target player with MAD jitter + spin local angleOffset = math.random() * math.pi * 2 local orbitRadius = 15 local orbitSpeed = 800 funnyuaConn = RunService.Heartbeat:Connect(function(dt) if not funnyuaActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Change target every 0.5 seconds funnyuaTargetTimer = funnyuaTargetTimer + dt if funnyuaTargetTimer >= 0.5 then funnyuaTargetTimer = 0 pickTarget() end -- Get target position local targetPos = nil if funnyuaTarget and funnyuaTarget.Character and funnyuaTarget.Character:FindFirstChild('HumanoidRootPart') then targetPos = funnyuaTarget.Character.HumanoidRootPart.Position end if not targetPos then return end angleOffset = angleOffset + (orbitSpeed * 0.01 * dt) for i, part in pairs(funnyuaParts) do if part and part.Parent then -- Each part gets a slightly different angle for chaos local partAngleOffset = angleOffset + (i * 0.37) -- Each part gets a slightly different radius for spiral effect local partRadius = orbitRadius + math.sin(os.clock() * 3 + i) * 8 -- Jitter offset - random every frame for MAD jitter local jitterX = math.random(-500, 500) local jitterY = math.random(-300, 300) local jitterZ = math.random(-500, 500) -- Calculate orbit position around target local targetOrbitPos = Vector3.new( targetPos.X + math.cos(partAngleOffset) * partRadius, targetPos.Y + 5 + math.sin(os.clock() * 5 + i * 0.7) * 4, targetPos.Z + math.sin(partAngleOffset) * partRadius ) -- Combine orbit velocity with MAD jitter local toTarget = targetOrbitPos - part.Position if toTarget.Magnitude > 0.01 then part.Velocity = toTarget.Unit * orbitSpeed + Vector3.new(jitterX, jitterY, jitterZ) else part.Velocity = Vector3.new(jitterX, jitterY, jitterZ) end -- Randomize spin direction periodically for extra chaos if math.random() < 0.02 then local existingSpin = part:FindFirstChildOfClass('BodyAngularVelocity') if existingSpin then existingSpin.AngularVelocity = Vector3.new( math.random(-9999, 9999), math.random(-9999, 9999), math.random(-9999, 9999) ) end end end end end) showArcPopup('FunnyUA', true) notify('FunnyUA', 'ALL parts orbiting random players with MAD jitter & spin!') end) addcmd('unfunnyua', {'nofunnyua'}, function(args, speaker) funnyuaActive = false if funnyuaConn then funnyuaConn:Disconnect() funnyuaConn = nil end if funnyuaDiedConn then funnyuaDiedConn:Disconnect() funnyuaDiedConn = nil end for _, part in pairs(funnyuaParts or {}) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') then x:Destroy() end end part.Velocity = Vector3.new(0, 0, 0) pcall(function() part.CustomPhysicalProperties = nil end) part.CanCollide = true end end funnyuaParts = {} funnyuaTarget = nil funnyuaPart = nil showArcPopup('FunnyUA', false) end) addcmd('togglefunnyua', {}, function(args, speaker) execCmd(funnyuaActive and 'unfunnyua' or 'funnyua') end) -- ======================== AURA ======================== -- Orbitua with height=12, slow orbit, click = line fling with 999 velocity -- Usage: aura | unaura / noaura to stop | toggleaura to toggle auraActive = false auraOrbitConn = nil auraClickConn = nil auraCenter = nil auraAddConn = nil auraRemoveConn = nil auraDiedConn = nil auraOrbitParts = {} auraAnimTrack = nil auraIdleTrack = nil addcmd('aura', {}, function(args, speaker) if auraActive then execCmd('unaura') return end local char = speaker.Character if not char or not getRoot(char) then notify('Aura', 'Character not found') return end enablePhysicsGodmode(speaker) local root = getRoot(char) local humanoid = char:FindFirstChildWhichIsA('Humanoid') -- Pre-load animations using game:GetObjects (same as lolspam) local function loadCatalogAnim(catId) local realAnimId = nil pcall(function() local objs = game:GetObjects('rbxassetid://' .. catId) for _, obj in pairs(objs) do if obj:IsA('Animation') then realAnimId = obj.AnimationId break end for _, child in pairs(obj:GetChildren()) do if child:IsA('Animation') then realAnimId = child.AnimationId break end end if realAnimId then break end end end) if not realAnimId then realAnimId = 'rbxassetid://' .. catId end local success, track = pcall(function() local anim = Instance.new('Animation') anim.AnimationId = realAnimId return humanoid:LoadAnimation(anim) end) return success and track or nil end auraAnimTrack = loadCatalogAnim(129969317267234) -- Firing anim (Invincible Mark's Stance) auraIdleTrack = loadCatalogAnim(82096188761745) -- Idle anim (Aura Idle) if auraAnimTrack then auraAnimTrack.Looped = true auraAnimTrack.Priority = Enum.AnimationPriority.Action end if auraIdleTrack then auraIdleTrack.Looped = true auraIdleTrack.Priority = Enum.AnimationPriority.Action end auraCenter = Instance.new('Part') auraCenter.Name = randomString() auraCenter.Size = Vector3.new(1, 1, 1) auraCenter.Transparency = 1 auraCenter.Anchored = true auraCenter.CanCollide = false auraCenter.Parent = workspace auraCenter.CFrame = root.CFrame auraOrbitParts = {} for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) table.insert(auraOrbitParts, part) end end end auraActive = true -- Start idle animation right away if auraIdleTrack then pcall(function() auraIdleTrack:Play() end) end auraAddConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not auraActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(auraOrbitParts) do if existing == p then return end end orbitua_prepPart(p) table.insert(auraOrbitParts, p) end) end) auraRemoveConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(auraOrbitParts) do if existing == p then table.remove(auraOrbitParts, i) break end end end) if humanoid then auraDiedConn = humanoid.Died:Connect(function() execCmd('unaura') end) end local angleOffset = 0 local auraOrbitSpeed = 150 local auraOrbitRadius = 10 local auraOrbitHeight = 12 local flingActive = false local flingStartTime = 0 local flingEndPos = Vector3.new(0, 0, 0) local flingParts = {} -- stable sorted list built once per fling auraOrbitConn = RunService.Heartbeat:Connect(function(dt) if not auraActive then return end local r = getRoot(speaker.Character) if not r then return end auraCenter.CFrame = r.CFrame sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Clean dead parts local toRemove = {} for i, part in pairs(auraOrbitParts) do if not part or not part.Parent then table.insert(toRemove, i) end end table.sort(toRemove, function(a, b) return a > b end) for _, idx in pairs(toRemove) do table.remove(auraOrbitParts, idx) end local numParts = #auraOrbitParts if flingActive then -- FLING MODE: line of spazzing parts from you to mouse local elapsed = tick() - flingStartTime if elapsed >= 3 then flingActive = false if auraAnimTrack then pcall(function() auraAnimTrack:Stop() end) end if auraIdleTrack then pcall(function() auraIdleTrack:Play() end) end else if auraAnimTrack then pcall(function() if not auraAnimTrack.IsPlaying then auraAnimTrack:Play() end end) end local startPos = r.Position local fireDir = (flingEndPos - startPos).Unit local fireDist = (flingEndPos - startPos).Magnitude local idx2 = 0 for _, part in pairs(auraOrbitParts) do if part and part.Parent then idx2 = idx2 + 1 -- Slot on the line with 3 stud gaps local slotDist = (idx2 - 1) * 3 if slotDist > fireDist then slotDist = fireDist end local slotPos = startPos + fireDir * slotDist -- Spaz orbit around slot (5 stud radius, fast) local angle = os.clock() * 10 + idx2 * 1.5 local targetPos = slotPos + Vector3.new( math.cos(angle) * 5, math.sin(os.clock() * 7 + idx2) * 3, math.sin(angle) * 5 ) -- Raw velocity + MAD jitter (same as orbitallazer) local toTarget = targetPos - part.Position local jitterVel = Vector3.new( math.random(-600, 600), math.random(-400, 400), math.random(-600, 600) ) if toTarget.Magnitude > 0.01 then part.Velocity = toTarget.Unit * 1000 + jitterVel else part.Velocity = jitterVel end local spin = part:FindFirstChildWhichIsA('BodyAngularVelocity') if not spin then spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.P = math.huge spin.Parent = part end spin.AngularVelocity = Vector3.new(500, 500, 500) end end end else -- ORBIT MODE: slow orbitua orbit + spin animation for i, part in pairs(auraOrbitParts) do if part and part.Parent then local spin = part:FindFirstChildWhichIsA('BodyAngularVelocity') if not spin then spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.Parent = part end -- Tornado spin: each part gets a unique spin offset for variety local si = (i % 6) if si == 0 then spin.AngularVelocity = Vector3.new(30, 60, 15) elseif si == 1 then spin.AngularVelocity = Vector3.new(-20, -50, 25) elseif si == 2 then spin.AngularVelocity = Vector3.new(40, -30, -35) elseif si == 3 then spin.AngularVelocity = Vector3.new(-35, 45, -20) elseif si == 4 then spin.AngularVelocity = Vector3.new(25, -55, 40) else spin.AngularVelocity = Vector3.new(-45, 35, 30) end end end angleOffset = angleOffset + (auraOrbitSpeed * 0.01 * dt) local center = auraCenter.Position + Vector3.new(0, auraOrbitHeight, 0) for i, part in pairs(auraOrbitParts) do if part and part.Parent then local pos = part.Position local angle = math.atan2(pos.Z - center.Z, pos.X - center.X) local newAngle = angle + (auraOrbitSpeed * 0.01 * dt) local dist = (Vector3.new(pos.X, center.Y, pos.Z) - center).Magnitude local clampedDist = math.min(auraOrbitRadius, dist) local targetPos = Vector3.new( center.X + math.cos(newAngle) * clampedDist, center.Y + (auraOrbitHeight > 0 and (auraOrbitHeight * math.abs(math.sin((pos.Y - center.Y) / math.max(auraOrbitHeight, 1)))) or 0), center.Z + math.sin(newAngle) * clampedDist ) local dir = (targetPos - pos) if dir.Magnitude > 0.01 then part.Velocity = dir.Unit * auraOrbitSpeed end end end end end) -- Click handler local mouse = speaker:FindFirstChildWhichIsA('PlayerMouse') or Players.LocalPlayer:GetMouse() if mouse then auraClickConn = mouse.Button1Down:Connect(function() if not auraActive or flingActive then return end local r = getRoot(char) if not r then return end if #auraOrbitParts == 0 then return end local hitPos = r.Position + r.CFrame.LookVector * 20 pcall(function() hitPos = mouse.Hit.Position end) flingActive = true flingStartTime = tick() flingEndPos = hitPos -- Switch to firing animation if auraIdleTrack then pcall(function() auraIdleTrack:Stop() end) end if auraAnimTrack then pcall(function() auraAnimTrack.TimePosition = 0 auraAnimTrack:Play() end) end end) end showArcPopup('Aura', true) notify('Aura', 'Active! Left-click to fling') end) addcmd('unaura', {'noaura'}, function(args, speaker) auraActive = false if auraOrbitConn then auraOrbitConn:Disconnect() auraOrbitConn = nil end if auraClickConn then auraClickConn:Disconnect() auraClickConn = nil end if auraAddConn then auraAddConn:Disconnect() auraAddConn = nil end if auraRemoveConn then auraRemoveConn:Disconnect() auraRemoveConn = nil end if auraDiedConn then auraDiedConn:Disconnect() auraDiedConn = nil end for _, part in pairs(auraOrbitParts) do if part and part.Parent then pcall(function() part.CustomPhysicalProperties = nil end) part.Velocity = Vector3.new(0, 0, 0) pcall(function() part.CanCollide = true end) -- Clean up spin + bodyposition objects we created local spin = part:FindFirstChildWhichIsA('BodyAngularVelocity') if spin then pcall(function() spin:Destroy() end) end local bp = part:FindFirstChildWhichIsA('BodyPosition') if bp then pcall(function() bp:Destroy() end) end end end auraOrbitParts = {} -- Stop and clean up animations if auraAnimTrack then pcall(function() auraAnimTrack:Stop() end) auraAnimTrack = nil end if auraIdleTrack then pcall(function() auraIdleTrack:Stop() end) auraIdleTrack = nil end pcall(function() if auraCenter and auraCenter.Parent then auraCenter:Destroy() end end) auraCenter = nil disablePhysicsGodmode(speaker) showArcPopup('Aura', false) notify('Aura', 'Disabled') end) addcmd('toggleaura', {}, function(args, speaker) if auraActive then execCmd('unaura') else execCmd('aura') end end) do -- ======================== TUFF ANIM PACK ======================== -- Replaces idle animation with Demonic Aura Float (106673830660419) -- Replaces run animation with Lord Walk (116003765711391) -- Automatically switches between idle and run based on movement speed -- Usage: tuffanim | untuffanim to stop | toggletuffanim to toggle local tuffanimActive = false local tuffanimIdleTrack = nil local tuffanimRunTrack = nil local tuffanimConn = nil local tuffanimDiedConn = nil local function loadTuffAnim(humanoid, catalogId) local realAnimId = nil pcall(function() local objs = game:GetObjects('rbxassetid://' .. catalogId) for _, obj in pairs(objs) do if obj:IsA('Animation') then realAnimId = obj.AnimationId break end for _, child in pairs(obj:GetChildren()) do if child:IsA('Animation') then realAnimId = child.AnimationId break end end if realAnimId then break end end end) if not realAnimId then realAnimId = 'rbxassetid://' .. catalogId end local success, animObj = pcall(function() local anim = Instance.new('Animation') anim.AnimationId = realAnimId return humanoid:LoadAnimation(anim) end) if success and animObj then return animObj end -- Fallback: PlayEmoteAndGetAnimTrackById pcall(function() local track = humanoid:PlayEmoteAndGetAnimTrackById(catalogId) if track then return track end end) -- Fallback 2: AllowCustomAnimations pcall(function() StarterPlayer.AllowCustomAnimations = true local track = humanoid:PlayEmoteAndGetAnimTrackById(catalogId) if track then return track end end) return nil end addcmd('tuffanim', {'tuff'}, function(args, speaker) if tuffanimActive then execCmd('untuffanim') return end local char = speaker.Character if not char or not getRoot(char) then notify('TuffAnim', 'Character not found') return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then notify('TuffAnim', 'Humanoid not found') return end tuffanimActive = true -- Load both animations tuffanimIdleTrack = loadTuffAnim(hum, 106673830660419) tuffanimRunTrack = loadTuffAnim(hum, 116003765711391) if tuffanimIdleTrack then tuffanimIdleTrack.Looped = true tuffanimIdleTrack.Priority = Enum.AnimationPriority.Action end if tuffanimRunTrack then tuffanimRunTrack.Looped = true tuffanimRunTrack.Priority = Enum.AnimationPriority.Action end if not tuffanimIdleTrack then notify('TuffAnim', 'Could not load idle anim - AllowCustomAnimations may be needed') end if not tuffanimRunTrack then notify('TuffAnim', 'Could not load run anim - AllowCustomAnimations may be needed') end local currentState = 'idle' -- 'idle' or 'run' -- Heartbeat: detect movement speed, switch animations tuffanimConn = RunService.Heartbeat:Connect(function(dt) if not tuffanimActive then return end pcall(function() local localHum = char:FindFirstChildWhichIsA('Humanoid') if not localHum then return end local root = getRoot(char) if not root then return end local speed = root.Velocity.Magnitude local moving = speed > 1 -- Stop all non-tuffanim tracks for _, track in pairs(localHum:GetPlayingAnimationTracks()) do if track ~= tuffanimIdleTrack and track ~= tuffanimRunTrack then track:Stop() end end if moving and currentState ~= 'run' then -- Switch to run currentState = 'run' if tuffanimIdleTrack and tuffanimIdleTrack.IsPlaying then tuffanimIdleTrack:Stop() end if tuffanimRunTrack and not tuffanimRunTrack.IsPlaying then tuffanimRunTrack:Play() end elseif not moving and currentState ~= 'idle' then -- Switch to idle currentState = 'idle' if tuffanimRunTrack and tuffanimRunTrack.IsPlaying then tuffanimRunTrack:Stop() end if tuffanimIdleTrack and not tuffanimIdleTrack.IsPlaying then tuffanimIdleTrack:Play() end end -- Keep current anim playing if it stopped if currentState == 'idle' and tuffanimIdleTrack and not tuffanimIdleTrack.IsPlaying then tuffanimIdleTrack:Play() elseif currentState == 'run' and tuffanimRunTrack and not tuffanimRunTrack.IsPlaying then tuffanimRunTrack:Play() end end) end) -- Play idle initially if tuffanimIdleTrack then tuffanimIdleTrack:Play() end -- Clean up on death tuffanimDiedConn = hum.Died:Connect(function() execCmd('untuffanim') end) showArcPopup('TuffAnim', true) notify('TuffAnim', 'Tuff Anim Pack active! Idle = Demonic Float, Run = Lord Walk') end) addcmd('untuffanim', {'notuffanim', 'notuff'}, function(args, speaker) tuffanimActive = false if tuffanimIdleTrack then pcall(function() tuffanimIdleTrack:Stop() tuffanimIdleTrack:Destroy() end) tuffanimIdleTrack = nil end if tuffanimRunTrack then pcall(function() tuffanimRunTrack:Stop() tuffanimRunTrack:Destroy() end) tuffanimRunTrack = nil end if tuffanimConn then tuffanimConn:Disconnect() tuffanimConn = nil end if tuffanimDiedConn then tuffanimDiedConn:Disconnect() tuffanimDiedConn = nil end showArcPopup('TuffAnim', false) notify('TuffAnim', 'Disabled') end) addcmd('toggletuffanim', {}, function(args, speaker) if tuffanimActive then execCmd('untuffanim') else execCmd('tuffanim') end end) -- ======================== LOL SPAM ======================== -- Plays a random emote from a curated list whenever you move, jump, or do anything -- Cooldown between emotes so it doesn't instantly spam (0.5s) -- Usage: lolspam | unlolspam to stop | togglelolspam to toggle local lolspamActive = false local lolspamConn = nil local lolspamDiedConn = nil local lolspamCurrentTrack = nil local lolspamLastPlay = 0 local lolspamCooldown = 0.5 local lolspamLastSpeed = 0 local lolspamEmotes = { 115542676494125, -- Chill Sit Emote 121953631628968, -- 67 Emote Limited 130373195204051, -- Jumping Spider Emote 136718529855726, -- Spongebob Emote 116090470406589, -- Sit Floating Aura Emote 103850856250914, -- Relaxed Sitting Floating Super Chill 131971360172149, -- Sit Relax Chilling Pose Emote 124111621764325, -- Infinite Aura Farming V2 120449791578755, -- UFO EMOTE 119008007290744, -- Obby Head Original Emote 79216795769647, -- Tall Scary Creature 95714033584938, -- Body Phone 87732725556692, -- MASSIVE POOP EMOTE } local function loadLolEmote(humanoid, catalogId) local realAnimId = nil pcall(function() local objs = game:GetObjects('rbxassetid://' .. catalogId) for _, obj in pairs(objs) do if obj:IsA('Animation') then realAnimId = obj.AnimationId break end for _, child in pairs(obj:GetChildren()) do if child:IsA('Animation') then realAnimId = child.AnimationId break end end if realAnimId then break end end end) if not realAnimId then realAnimId = 'rbxassetid://' .. catalogId end local success, animObj = pcall(function() local anim = Instance.new('Animation') anim.AnimationId = realAnimId return humanoid:LoadAnimation(anim) end) if success and animObj then return animObj end pcall(function() local track = humanoid:PlayEmoteAndGetAnimTrackById(catalogId) if track then return track end end) pcall(function() StarterPlayer.AllowCustomAnimations = true local track = humanoid:PlayEmoteAndGetAnimTrackById(catalogId) if track then return track end end) return nil end addcmd('lolspam', {}, function(args, speaker) if lolspamActive then execCmd('unlolspam') return end local char = speaker.Character if not char or not getRoot(char) then notify('LolSpam', 'Character not found') return end local hum = char:FindFirstChildWhichIsA('Humanoid') if not hum then notify('LolSpam', 'Humanoid not found') return end lolspamActive = true lolspamLastPlay = 0 lolspamLastSpeed = 0 lolspamConn = RunService.Heartbeat:Connect(function(dt) if not lolspamActive then return end pcall(function() local localHum = char:FindFirstChildWhichIsA('Humanoid') if not localHum then return end local root = getRoot(char) if not root then return end local now = tick() if now - lolspamLastPlay < lolspamCooldown then return end local speed = root.Velocity.Magnitude local jumped = (localHum:GetState() == Enum.HumanoidStateType.Jumping) or (localHum:GetState() == Enum.HumanoidStateType.Freefall) local speedChange = math.abs(speed - lolspamLastSpeed) > 5 local isMoving = speed > 2 -- Trigger on: started moving, speed changed a lot, or jumped if isMoving or speedChange or jumped then -- Stop current emote if lolspamCurrentTrack and lolspamCurrentTrack.IsPlaying then lolspamCurrentTrack:Stop() end -- Pick random emote local catalogId = lolspamEmotes[math.random(1, #lolspamEmotes)] local track = loadLolEmote(localHum, catalogId) if track then track.Looped = false track.Priority = Enum.AnimationPriority.Action track:Play() lolspamCurrentTrack = track lolspamLastPlay = now end lolspamLastSpeed = speed end end) end) lolspamDiedConn = hum.Died:Connect(function() execCmd('unlolspam') end) showArcPopup('LolSpam', true) notify('LolSpam', 'Random emote spam active! Move around to trigger') end) addcmd('unlolspam', {}, function(args, speaker) lolspamActive = false if lolspamCurrentTrack then pcall(function() lolspamCurrentTrack:Stop() lolspamCurrentTrack:Destroy() end) lolspamCurrentTrack = nil end if lolspamConn then lolspamConn:Disconnect() lolspamConn = nil end if lolspamDiedConn then lolspamDiedConn:Disconnect() lolspamDiedConn = nil end showArcPopup('LolSpam', false) notify('LolSpam', 'Disabled') end) addcmd('togglelolspam', {}, function(args, speaker) if lolspamActive then execCmd('unlolspam') else execCmd('lolspam') end end) end -- tuffanim + lolspam section -- ======================== ORBITAL LAZER ======================== -- All unanchored parts follow your mouse position, spaz out like mad, -- and your mouse can't interact with them (CanQuery = false). -- Usage: orbitallazer | unorbitallazer to stop orbitalLazerActive = false orbitalLazerConn = nil orbitalLazerDiedConn = nil orbitalLazerParts = {} orbitalLazerBucket = nil addcmd('orbitallazer', {'orblazer', 'mouselazer'}, function(args, speaker) if orbitalLazerActive then execCmd('unorbitallazer') return end local char = speaker.Character if not char or not getRoot(char) then notify('Orbital Lazer', 'Character not found') return end orbitalLazerActive = true orbitalLazerParts = {} -- Collect ALL unanchored parts (not from ANY player's character / body parts) local function isPlayerBodyPart(p) for _, plr in pairs(Players:GetPlayers()) do if plr.Character and plr.Character:IsAncestorOf(p) then return true end end return false end for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not isPlayerBodyPart(part) then -- Strip constraints, zero friction, no collision, no mouse interaction orbitua_prepPart(part) part.CanQuery = false -- Add max spin to every part local spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.AngularVelocity = Vector3.new(math.random(-9999, 9999), math.random(-9999, 9999), math.random(-9999, 9999)) spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.P = math.huge spin.Parent = part table.insert(orbitalLazerParts, part) end end end -- Filter these parts from mouse target so they don't get selected/bugged -- Create a filter bucket that holds all the parts so mouse ignores them local filterBucket = Instance.new('Part') filterBucket.Name = randomString() filterBucket.Size = Vector3.new(0.1, 0.1, 0.1) filterBucket.Transparency = 1 filterBucket.Anchored = true filterBucket.CanCollide = false filterBucket.CanQuery = false filterBucket.Parent = workspace orbitalLazerBucket = filterBucket -- Set TargetFilter to the bucket so mouse ignores everything in it IYMouse.TargetFilter = filterBucket -- Move all parts into the filter bucket so TargetFilter applies to them for _, part in pairs(orbitalLazerParts) do if part and part.Parent then part.Parent = filterBucket end end -- Watch for new parts local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not orbitalLazerActive then return end if not p:IsA('BasePart') or p.Anchored then return end if isPlayerBodyPart(p) then return end for _, existing in pairs(orbitalLazerParts) do if existing == p then return end end orbitua_prepPart(p) p.CanQuery = false local spin = Instance.new('BodyAngularVelocity') spin.Name = randomString() spin.AngularVelocity = Vector3.new(math.random(-9999, 9999), math.random(-9999, 9999), math.random(-9999, 9999)) spin.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) spin.P = math.huge spin.Parent = p p.Parent = filterBucket table.insert(orbitalLazerParts, p) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(orbitalLazerParts) do if existing == p then table.remove(orbitalLazerParts, i) break end end end) local humanoid = char:FindFirstChildWhichIsA('Humanoid') if humanoid then orbitalLazerDiedConn = humanoid.Died:Connect(function() execCmd('unorbitallazer') end) end -- Main loop: all parts orbit mouse position with MAD jitter + spin local angleOffset = math.random() * math.pi * 2 local orbitRadius = 12 local orbitSpeed = 1000 orbitalLazerConn = RunService.Heartbeat:Connect(function(dt) if not orbitalLazerActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Get mouse 3D position local mousePos = IYMouse.Hit.Position if not mousePos then return end angleOffset = angleOffset + (orbitSpeed * 0.012 * dt) for i, part in pairs(orbitalLazerParts) do if part and part.Parent then -- Each part gets unique angle offset for chaos local partAngle = angleOffset + (i * 0.41) -- Varying radius per part for spiral/tornado effect local partRadius = orbitRadius + math.sin(os.clock() * 4 + i * 0.5) * 6 -- MAD jitter every frame local jitterX = math.random(-600, 600) local jitterY = math.random(-400, 400) local jitterZ = math.random(-600, 600) -- Calculate orbit target position around mouse local targetPos = Vector3.new( mousePos.X + math.cos(partAngle) * partRadius, mousePos.Y + 3 + math.sin(os.clock() * 6 + i * 0.8) * 5, mousePos.Z + math.sin(partAngle) * partRadius ) -- Combine orbit velocity + MAD jitter local toTarget = targetPos - part.Position if toTarget.Magnitude > 0.01 then part.Velocity = toTarget.Unit * orbitSpeed + Vector3.new(jitterX, jitterY, jitterZ) else part.Velocity = Vector3.new(jitterX, jitterY, jitterZ) end -- Randomize spin direction every so often for extra chaos if math.random() < 0.03 then local existingSpin = part:FindFirstChildOfClass('BodyAngularVelocity') if existingSpin then existingSpin.AngularVelocity = Vector3.new( math.random(-9999, 9999), math.random(-9999, 9999), math.random(-9999, 9999) ) end end end end end) showArcPopup('Orbital Lazer', true) notify('Orbital Lazer', 'ALL parts following your mouse with MAD jitter & spin!') end) addcmd('unorbitallazer', {'noorbitallazer', 'unorblazer'}, function(args, speaker) orbitalLazerActive = false if orbitalLazerConn then orbitalLazerConn:Disconnect() orbitalLazerConn = nil end if orbitalLazerDiedConn then orbitalLazerDiedConn:Disconnect() orbitalLazerDiedConn = nil end -- Restore all parts back to workspace for _, part in pairs(orbitalLazerParts) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') then x:Destroy() end end part.Velocity = Vector3.new(0, 0, 0) part.CanQuery = true pcall(function() part.CustomPhysicalProperties = nil end) part.CanCollide = true -- Move back to workspace pcall(function() part.Parent = workspace end) end end orbitalLazerParts = {} -- Clean up filter bucket IYMouse.TargetFilter = nil if orbitalLazerBucket and orbitalLazerBucket.Parent then orbitalLazerBucket:Destroy() end orbitalLazerBucket = nil showArcPopup('Orbital Lazer', false) end) addcmd('toggleorbitallazer', {}, function(args, speaker) execCmd(orbitalLazerActive and 'unorbitallazer' or 'orbitallazer') end) -- ======================== ARROW ======================== -- Grabs ALL unanchored parts from workspace and arranges them into a GIANT -- arrow shape above the target player's head. Parts jitter and spin like mad. -- Usage: arrow [player] | unarrow to stop arrowActive = false arrowConn = nil arrowDiedConn = nil arrowParts = {} addcmd('arrow', {}, function(args, speaker) if arrowActive then execCmd('unarrow') return end if not args[1] then notify('Arrow', 'Usage: arrow [player]') return end -- Handle "me" like all other IY commands local targetName = args[1] if targetName == "me" then targetName = speaker.Name end local target = Players:FindFirstChild(targetName) if not target then -- Try partial name / display name match local found = getPlayersByName(targetName) if found and #found > 0 then target = found[1] end end if not target then notify('Arrow', 'Player not found!') return end if not target.Character or not target.Character:FindFirstChild('HumanoidRootPart') then notify('Arrow', 'Target has no character!') return end arrowActive = true arrowParts = {} arrowBPs = {} -- BodyPosition instances per part -- Filter out body parts from any player's character local function isPlayerBodyPart(p) for _, plr in pairs(Players:GetPlayers()) do if plr.Character and plr.Character:IsAncestorOf(p) then return true end end return false end -- Prep a part for arrow: clear old physics objects, give HIGH friction so parts sit still local function prepArrowPart(part) for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') or x:IsA('BodyForce') or x:IsA('BodyGyro') or x:IsA('BodyPosition') or x:IsA('BodyThrust') or x:IsA('BodyVelocity') or x:IsA('RocketPropulsion') or x:IsA('AlignPosition') or x:IsA('AlignOrientation') or x:IsA('Torque') then x:Destroy() end end -- HIGH friction + high density so parts are stable and don't drift part.CustomPhysicalProperties = PhysicalProperties.new(0.9, 8, 0, 100, 100) part.CanCollide = false part.Velocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanQuery = false end -- Collect ALL unanchored parts (not body parts) for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not isPlayerBodyPart(part) then prepArrowPart(part) -- Attach a BodyPosition for smooth, jitter-free tracking local bp = Instance.new("BodyPosition") bp.MaxForce = Vector3.new(50000, 50000, 50000) bp.P = 30000 -- high stiffness = snaps fast to target bp.D = 5000 -- high damping = no oscillation / jitter bp.Parent = part table.insert(arrowParts, part) table.insert(arrowBPs, bp) end end end if #arrowParts == 0 then arrowActive = false notify('Arrow', 'No unanchored parts found!') return end -- Watch for new parts local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not arrowActive then return end if not p:IsA('BasePart') or p.Anchored then return end if isPlayerBodyPart(p) then return end for _, existing in pairs(arrowParts) do if existing == p then return end end prepArrowPart(p) local bp = Instance.new("BodyPosition") bp.MaxForce = Vector3.new(50000, 50000, 50000) bp.P = 30000 bp.D = 5000 bp.Parent = p table.insert(arrowParts, p) table.insert(arrowBPs, bp) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(arrowParts) do if existing == p then table.remove(arrowParts, i) if arrowBPs[i] and arrowBPs[i].Parent then arrowBPs[i]:Destroy() end table.remove(arrowBPs, i) break end end end) local humanoid = speaker.Character and speaker.Character:FindFirstChildWhichIsA('Humanoid') if humanoid then arrowDiedConn = humanoid.Died:Connect(function() execCmd('unarrow') end) end -- Build arrow shape: a big flat arrow ring pointing at the target, 100 stud radius, 15 studs above local function getArrowPositions(center, partCount) local positions = {} local radius = 100 -- Distribute parts along the outline of a flat arrow shape (top-down, XZ plane) -- Arrow points toward the target (from center outward radially) -- We define the arrow in a local 2D space then rotate it to face downward on the player -- Arrow outline as 2D points (x forward, y right) local arrow2D = { {0, 0}, -- tip (points toward target) {-15, -8}, -- left wing tip {-8, -3}, -- left wing inner {-20, 0}, -- tail center {-8, 3}, -- right wing inner {-15, 8}, -- right wing tip } -- Total perimeter segments local segments = {} local totalLen = 0 for i = 1, #arrow2D do local a = arrow2D[i] local b = arrow2D[(i % #arrow2D) + 1] local segLen = math.sqrt((b[1]-a[1])^2 + (b[2]-a[2])^2) table.insert(segments, {a, b, segLen}) totalLen = totalLen + segLen end -- Place parts evenly along the perimeter for i = 1, partCount do local t = ((i - 1) / partCount) * totalLen local accumulated = 0 for _, seg in ipairs(segments) do if accumulated + seg[3] >= t then local localT = (t - accumulated) / seg[3] local lx = seg[1][1] + (seg[2][1] - seg[1][1]) * localT local ly = seg[1][2] + (seg[2][2] - seg[1][2]) * localT -- Scale to 100 stud radius: normalize then multiply local mag = math.sqrt(lx^2 + ly^2) if mag > 0 then local scale = radius / 20 -- 20 is the max extent of the arrow shape lx = lx * scale ly = ly * scale end -- Place on XZ plane, 15 studs above target table.insert(positions, center + Vector3.new(lx, 15, ly)) break end accumulated = accumulated + seg[3] end if not positions[i] then table.insert(positions, center + Vector3.new(0, 15, 0)) end end return positions end -- Main loop: position parts via BodyPosition (smooth, zero jitter) arrowConn = RunService.Heartbeat:Connect(function(dt) if not arrowActive then return end local root = target.Character and target.Character:FindFirstChild('HumanoidRootPart') if not root then execCmd('unarrow') return end local targetPos = root.Position sethiddenproperty(speaker, "SimulationRadius", math.huge) local positions = getArrowPositions(targetPos, #arrowParts) for i, part in pairs(arrowParts) do if part and part.Parent and positions[i] and arrowBPs[i] and arrowBPs[i].Parent then arrowBPs[i].Position = positions[i] end end end) showArcPopup('Arrow', true) notify('Arrow', #arrowParts .. ' parts forming arrow above ' .. target.Name .. '!') end) addcmd('unarrow', {'noarrow'}, function(args, speaker) arrowActive = false if arrowConn then arrowConn:Disconnect() arrowConn = nil end if arrowDiedConn then arrowDiedConn:Disconnect() arrowDiedConn = nil end -- Destroy all BodyPosition instances and restore parts for _, bp in pairs(arrowBPs) do if bp and bp.Parent then bp:Destroy() end end for _, part in pairs(arrowParts) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') or x:IsA('BodyPosition') then x:Destroy() end end part.Velocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanQuery = true pcall(function() part.CustomPhysicalProperties = nil end) part.CanCollide = true end end arrowParts = {} arrowBPs = {} showArcPopup('Arrow', false) end) addcmd('togglearrow', {}, function(args, speaker) execCmd(arrowActive and 'unarrow' or 'arrow me') end) -- ======================== ANTI UA ======================== -- Strips gravity from all unanchored parts. Parts slowly float upward and drift around. -- Uses same collection pattern as orbitua + continuous Heartbeat loop for reliability. antiuaActive = false antiuaConn = nil antiuaParts = {} antiuaDiedConn = nil addcmd('antiua', {}, function(args, speaker) if antiuaActive then execCmd('unantiua') return end local char = speaker.Character if not char or not getRoot(char) then notify('AntiUA', 'Character not found') return end antiuaActive = true antiuaParts = {} -- Collect all unanchored parts (not from our character) — same pattern as orbitua for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) part.CanQuery = false -- Random initial upward kick part.Velocity = Vector3.new( math.random(-30, 30), math.random(20, 80), math.random(-30, 30) ) part.AssemblyAngularVelocity = Vector3.new( math.random(-2, 2), math.random(-2, 2), math.random(-2, 2) ) table.insert(antiuaParts, part) end end end -- Watch for new parts — same pattern as orbitua local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not antiuaActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(antiuaParts) do if existing == p then return end end orbitua_prepPart(p) p.CanQuery = false p.Velocity = Vector3.new(math.random(-30,30), math.random(20,80), math.random(-30,30)) p.AssemblyAngularVelocity = Vector3.new(math.random(-2,2), math.random(-2,2), math.random(-2,2)) table.insert(antiuaParts, p) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(antiuaParts) do if existing == p then table.remove(antiuaParts, i) break end end end) local humanoid = char:FindFirstChildWhichIsA('Humanoid') if humanoid then antiuaDiedConn = humanoid.Died:Connect(function() execCmd('unantiua') end) end -- Main loop: continuously apply upward velocity every frame (like orbitua's approach) antiuaConn = RunService.Heartbeat:Connect(function(dt) if not antiuaActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) for _, part in pairs(antiuaParts) do if part and part.Parent then -- Continuously push upward: cancel gravity + slight upward boost -- gravity acceleration = workspace.Gravity studs/s^2 -- We need to counteract gravity's effect on velocity each frame local gravityVel = workspace.Gravity * dt -- Add a gentle upward drift on top of gravity cancellation part.Velocity = Vector3.new( part.Velocity.X * 0.99, -- slight horizontal drag for stability 15 + math.sin(tick() * 2 + part.Position.X) * 5, -- bobbing float upward part.Velocity.Z * 0.99 ) end end end) showArcPopup('AntiUA', true) notify('AntiUA', #antiuaParts .. ' parts now have anti-gravity!') end) addcmd('unantiua', {}, function(args, speaker) antiuaActive = false if antiuaConn then antiuaConn:Disconnect() antiuaConn = nil end if antiuaDiedConn then antiuaDiedConn:Disconnect() antiuaDiedConn = nil end for _, part in pairs(antiuaParts) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') or x:IsA('BodyForce') or x:IsA('BodyGyro') or x:IsA('BodyPosition') or x:IsA('BodyThrust') or x:IsA('BodyVelocity') then x:Destroy() end end part.Velocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanQuery = true pcall(function() part.CustomPhysicalProperties = nil end) part.CanCollide = true end end antiuaParts = {} showArcPopup('AntiUA', false) end) addcmd('toggleantiua', {}, function(args, speaker) execCmd(antiuaActive and 'unantiua' or 'antiua') end) -- ======================== 0 GRAVITY UA ======================== -- Zero gravity on all unanchored parts. Parts float in place and drift very slowly, -- like they're in space. No upward force, just pure weightlessness. -- Uses same collection pattern as orbitua + continuous Heartbeat loop for reliability. zeroGuaActive = false zeroGuaConn = nil zeroGuaParts = {} zeroGuaDiedConn = nil addcmd('0gravityua', {'zerogua', 'zerogravityua'}, function(args, speaker) if zeroGuaActive then execCmd('un0gravityua') return end local char = speaker.Character if not char or not getRoot(char) then notify('0GravityUA', 'Character not found') return end zeroGuaActive = true zeroGuaParts = {} -- Collect all unanchored parts (not from our character) — same pattern as orbitua for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) part.CanQuery = false -- Tiny random drift so parts slowly float like in space part.Velocity = Vector3.new( math.random(-8, 8), math.random(-5, 8), math.random(-8, 8) ) part.AssemblyAngularVelocity = Vector3.new( math.random(-1, 1), math.random(-1, 1), math.random(-1, 1) ) table.insert(zeroGuaParts, part) end end end -- Watch for new parts — same pattern as orbitua local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not zeroGuaActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(zeroGuaParts) do if existing == p then return end end orbitua_prepPart(p) p.CanQuery = false p.Velocity = Vector3.new(math.random(-8,8), math.random(-5,8), math.random(-8,8)) p.AssemblyAngularVelocity = Vector3.new(math.random(-1,1), math.random(-1,1), math.random(-1,1)) table.insert(zeroGuaParts, p) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(zeroGuaParts) do if existing == p then table.remove(zeroGuaParts, i) break end end end) local humanoid = char:FindFirstChildWhichIsA('Humanoid') if humanoid then zeroGuaDiedConn = humanoid.Died:Connect(function() execCmd('un0gravityua') end) end -- Main loop: cancel gravity every frame + subtle drift nudge zeroGuaConn = RunService.Heartbeat:Connect(function(dt) if not zeroGuaActive then return end sethiddenproperty(speaker, "SimulationRadius", math.huge) for _, part in pairs(zeroGuaParts) do if part and part.Parent then -- Cancel gravity's effect on velocity each frame local gravityVel = workspace.Gravity * dt -- Keep current horizontal drift, cancel vertical gravity pull part.Velocity = Vector3.new( part.Velocity.X * 0.998, -- very slow horizontal drag part.Velocity.Y + gravityVel, -- cancel gravity pull part.Velocity.Z * 0.998 ) end end -- Every ~2 seconds, give parts a tiny random nudge for space drift if math.random() < dt * 0.5 then for _, part in pairs(zeroGuaParts) do if part and part.Parent then part.Velocity = Vector3.new( part.Velocity.X + math.random(-3, 3), part.Velocity.Y + math.random(-2, 3), part.Velocity.Z + math.random(-3, 3) ) end end end end) showArcPopup('0GravityUA', true) notify('0GravityUA', #zeroGuaParts .. ' parts now in zero gravity!') end) addcmd('un0gravityua', {'unzerogua', 'unzerogravityua'}, function(args, speaker) zeroGuaActive = false if zeroGuaConn then zeroGuaConn:Disconnect() zeroGuaConn = nil end if zeroGuaDiedConn then zeroGuaDiedConn:Disconnect() zeroGuaDiedConn = nil end for _, part in pairs(zeroGuaParts) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x:IsA('BodyAngularVelocity') or x:IsA('BodyForce') or x:IsA('BodyGyro') or x:IsA('BodyPosition') or x:IsA('BodyThrust') or x:IsA('BodyVelocity') then x:Destroy() end end part.Velocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanQuery = true pcall(function() part.CustomPhysicalProperties = nil end) part.CanCollide = true end end zeroGuaParts = {} showArcPopup('0GravityUA', false) end) addcmd('toggle0gravityua', {'togglezerogua', 'togglezerogravityua'}, function(args, speaker) execCmd(zeroGuaActive and 'un0gravityua' or '0gravityua') end) -- ======================== MOUSE UA ======================== -- Forms a line of ALL unanchored parts from your character to your mouse cursor. -- Parts are positioned along the line using BodyPosition (smooth, no jitter). -- Line updates every frame as you move your mouse. mouseuaActive = false mouseuaConn = nil mouseuaParts = {} mouseuaBPs = {} mouseuaDiedConn = nil addcmd('mouseua', {}, function(args, speaker) if mouseuaActive then execCmd('unmouseua') return end local char = speaker.Character local root = getRoot(char) if not char or not root then notify('MouseUA', 'Character not found') return end mouseuaActive = true mouseuaParts = {} mouseuaBPs = {} -- Collect all unanchored parts (not from our character) — same pattern as orbitua for _, part in pairs(workspace:GetDescendants()) do if part:IsA('BasePart') and not part.Anchored then if not char:IsAncestorOf(part) then orbitua_prepPart(part) -- High friction so parts hold position in the line part.CustomPhysicalProperties = PhysicalProperties.new(0.9, 8, 0, 100, 100) part.CanQuery = false part.Velocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) -- BodyPosition for smooth positioning local bp = Instance.new("BodyPosition") bp.Name = "MouseUA_BP" bp.MaxForce = Vector3.new(50000, 50000, 50000) bp.P = 30000 bp.D = 5000 bp.Parent = part table.insert(mouseuaParts, part) table.insert(mouseuaBPs, bp) end end end if #mouseuaParts == 0 then mouseuaActive = false notify('MouseUA', 'No unanchored parts found!') return end -- Watch for new parts — same pattern as orbitua local addConn = workspace.DescendantAdded:Connect(function(p) task.defer(function() if not mouseuaActive then return end if not p:IsA('BasePart') or p.Anchored then return end if speaker.Character and speaker.Character:IsAncestorOf(p) then return end for _, existing in pairs(mouseuaParts) do if existing == p then return end end orbitua_prepPart(p) p.CustomPhysicalProperties = PhysicalProperties.new(0.9, 8, 0, 100, 100) p.CanQuery = false p.Velocity = Vector3.new(0, 0, 0) p.AssemblyAngularVelocity = Vector3.new(0, 0, 0) local bp = Instance.new("BodyPosition") bp.Name = "MouseUA_BP" bp.MaxForce = Vector3.new(50000, 50000, 50000) bp.P = 30000 bp.D = 5000 bp.Parent = p table.insert(mouseuaParts, p) table.insert(mouseuaBPs, bp) end) end) local removeConn = workspace.DescendantRemoving:Connect(function(p) for i, existing in pairs(mouseuaParts) do if existing == p then table.remove(mouseuaParts, i) if mouseuaBPs[i] and mouseuaBPs[i].Parent then mouseuaBPs[i]:Destroy() end table.remove(mouseuaBPs, i) break end end end) local humanoid = char:FindFirstChildWhichIsA('Humanoid') if humanoid then mouseuaDiedConn = humanoid.Died:Connect(function() execCmd('unmouseua') end) end -- Main loop: position parts in a line from player to mouse mouseuaConn = RunService.Heartbeat:Connect(function(dt) if not mouseuaActive then return end local myRoot = getRoot(speaker.Character) if not myRoot then execCmd('unmouseua') return end -- Get mouse position using camera raycasting local mousePos = IYMouse.Hit.Position local startPos = myRoot.Position local endPos = mousePos local dir = endPos - startPos local totalDist = dir.Magnitude if totalDist < 1 then return end local dirUnit = dir.Unit sethiddenproperty(speaker, "SimulationRadius", math.huge) -- Distribute parts evenly along the line local count = #mouseuaParts for i, part in pairs(mouseuaParts) do if part and part.Parent and mouseuaBPs[i] and mouseuaBPs[i].Parent then local t = (i - 1) / math.max(1, count - 1) -- Offset each part slightly to the side based on index for visual thickness local sideOffset = Vector3.new(0, 0, 0) if count > 1 then -- Alternate sides: even indices go left, odd go right local layer = math.floor((i - 1) / 2) local side = ((i - 1) % 2 == 0) and -1 or 1 local rightVec = dirUnit:Cross(Vector3.new(0, 1, 0)).Unit if rightVec and rightVec.Magnitude > 0.01 then sideOffset = rightVec * side * (layer + 1) * 0.5 end end local pos = startPos + dirUnit * (t * totalDist) + sideOffset mouseuaBPs[i].Position = pos end end end) showArcPopup('MouseUA', true) notify('MouseUA', #mouseuaParts .. ' parts forming line to your mouse!') end) addcmd('unmouseua', {}, function(args, speaker) mouseuaActive = false if mouseuaConn then mouseuaConn:Disconnect() mouseuaConn = nil end if mouseuaDiedConn then mouseuaDiedConn:Disconnect() mouseuaDiedConn = nil end for _, bp in pairs(mouseuaBPs) do if bp and bp.Parent then bp:Destroy() end end for _, part in pairs(mouseuaParts) do if part and part.Parent then for _, x in pairs(part:GetChildren()) do if x.Name == "MouseUA_BP" or x:IsA('BodyPosition') then x:Destroy() end end part.Velocity = Vector3.new(0, 0, 0) part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) part.CanQuery = true pcall(function() part.CustomPhysicalProperties = nil end) part.CanCollide = true end end mouseuaParts = {} mouseuaBPs = {} showArcPopup('MouseUA', false) end) addcmd('togglemouseua', {}, function(args, speaker) execCmd(mouseuaActive and 'unmouseua' or 'mouseua') end) -- ======================== DESYNC ======================== -- Purple transparent ghost mannequin. 100% Instance.new (ZERO Clone()). -- Anchored parts + manual WASD movement via PivotTo. -- Velocity-based jumping with gravity + ground raycast. -- Transparent purple body + SelectionBox glow outlines + PointLight. -- WASD + Space to move/jump. Q toggles. Undesync teleports back. -- No fall damage. Supports R15 and R6. desyncActive = false desyncConn = nil desyncGhostModel = nil desyncRealChar = nil desyncFrozenCFrame = nil desyncGui = nil desyncToggleGui = nil desyncDiedConn = nil desyncWalkSpeed = 16 desyncJumpPower = 50 desyncGhostPos = nil desyncGhostYaw = 0 desyncGhostYVel = 0 desyncLastSpace = false desyncOnGround = true desyncFeetOffset = 3.2 -- Global hook: speed command updates ghost walk speed function desync_applySpeed(newSpeed) if not desyncActive then return end desyncWalkSpeed = newSpeed or 16 end -- ========== TOGGLE GUI (top-right button) ========== local function desync_createToggleGui() if desyncToggleGui then return end local guiParent = PARENT or game:GetService('CoreGui') local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.DisplayOrder = 100 sg.Parent = guiParent local btn = Instance.new('TextButton') btn.Name = 'DesyncToggle' btn.Size = UDim2.new(0, 130, 0, 36) btn.Position = UDim2.new(1, -142, 0, 10) btn.BackgroundColor3 = Color3.fromRGB(95, 35, 170) btn.BackgroundTransparency = 0.1 btn.BorderSizePixel = 0 btn.AutoButtonColor = true btn.Text = 'DESYNC ON' btn.TextColor3 = Color3.fromRGB(220, 170, 255) btn.Font = Enum.Font.GothamBold btn.TextSize = 13 btn.Parent = sg local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 8) corner.Parent = btn local stroke = Instance.new('UIStroke') stroke.Name = 'Border' stroke.Color = Color3.fromRGB(170, 100, 255) stroke.Thickness = 2 stroke.Transparency = 0.15 stroke.Parent = btn local hint = Instance.new('TextLabel') hint.Name = 'KeyHint' hint.Size = UDim2.new(0, 16, 0, 16) hint.Position = UDim2.new(1, -22, 0, 2) hint.BackgroundTransparency = 1 hint.Text = 'Q' hint.TextColor3 = Color3.fromRGB(200, 140, 255) hint.Font = Enum.Font.GothamBold hint.TextSize = 10 hint.Parent = btn btn.MouseButton1Click:Connect(function() if desyncActive then execCmd('undesync') else execCmd('desync') end end) desyncToggleGui = sg end local function desync_destroyToggleGui() if desyncToggleGui and desyncToggleGui.Parent then desyncToggleGui:Destroy() end desyncToggleGui = nil end -- ========== Q KEY TOGGLE ========== -- Always listening - toggles desync on/off with Q key if desyncToggleQConn then pcall(function() desyncToggleQConn:Disconnect() end) end desyncToggleQConn = UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if UserInputService:GetFocusedTextBox() then return end if input.KeyCode == Enum.KeyCode.Q then if desyncActive then execCmd('undesync') else execCmd('desync') end end end) -- ========== GHOST CREATION ========== -- Builds mannequin from Instance.new only. No Clone(). Cannot fail. -- All parts Anchored + Massless + CanCollide off + 0.5 Transparency. -- Purple body (Bright violet), SmoothPlastic, SelectionBox glow. -- Motor6D joints for R15 or R6. Dummy Humanoid for camera tracking. local function createDesyncGhost(spawnCFrame) local model = Instance.new('Model') model.Name = 'DesyncGhost_' .. randomString() local function makePart(name, size, offset) local p = Instance.new('Part') p.Name = name p.Size = size p.Anchored = true p.Massless = true p.CanCollide = false p.BrickColor = BrickColor.new('Bright violet') p.Material = Enum.Material.SmoothPlastic p.Transparency = 0.5 p.TopSurface = Enum.SurfaceType.Smooth p.BottomSurface = Enum.SurfaceType.Smooth p.CFrame = spawnCFrame * CFrame.new(offset) p.Parent = model -- SelectionBox glow outline on every visible part local sb = Instance.new('SelectionBox') sb.Adornee = p sb.Color3 = Color3.fromRGB(180, 100, 255) sb.Transparency = 0.3 sb.LineThickness = 0.03 sb.Parent = p return p end local function makeMotor(name, p0, p1, c0, c1) local m = Instance.new('Motor6D') m.Name = name m.Part0 = p0 m.Part1 = p1 m.C0 = c0 m.C1 = c1 m.Parent = p0 return m end -- HumanoidRootPart (invisible, for PivotTo + camera) local rootPart = makePart('HumanoidRootPart', Vector3.new(2, 2, 1), Vector3.new(0, 0, 0)) rootPart.Transparency = 1 -- Remove SelectionBox from invisible root local rootSB = rootPart:FindFirstChildOfClass('SelectionBox') if rootSB then rootSB:Destroy() end -- Detect R15 vs R6 local realChar = game:GetService('Players').LocalPlayer.Character local isR6 = false if realChar then local t = realChar:FindFirstChild('Torso') if t and t:IsA('BasePart') then isR6 = true end end if not isR6 then -- ===================== R15 ===================== local lowerTorso = makePart('LowerTorso', Vector3.new(2, 0.6, 1), Vector3.new(0, 0, 0)) local upperTorso = makePart('UpperTorso', Vector3.new(2, 1.2, 1), Vector3.new(0, 0.9, 0)) local head = makePart('Head', Vector3.new(1.2, 1.2, 1.2), Vector3.new(0, 2.1, 0)) local leftUpperArm = makePart('LeftUpperArm', Vector3.new(0.6, 1.2, 0.6), Vector3.new(-1.3, 1.4, 0)) local leftLowerArm = makePart('LeftLowerArm', Vector3.new(0.5, 1.0, 0.5), Vector3.new(-1.3, 0.1, 0)) local leftHand = makePart('LeftHand', Vector3.new(0.4, 0.5, 0.4), Vector3.new(-1.3, -0.65, 0)) local rightUpperArm = makePart('RightUpperArm', Vector3.new(0.6, 1.2, 0.6), Vector3.new(1.3, 1.4, 0)) local rightLowerArm = makePart('RightLowerArm', Vector3.new(0.5, 1.0, 0.5), Vector3.new(1.3, 0.1, 0)) local rightHand = makePart('RightHand', Vector3.new(0.4, 0.5, 0.4), Vector3.new(1.3, -0.65, 0)) local leftUpperLeg = makePart('LeftUpperLeg', Vector3.new(0.6, 1.2, 0.6), Vector3.new(-0.5, -0.9, 0)) local leftLowerLeg = makePart('LeftLowerLeg', Vector3.new(0.5, 1.2, 0.5), Vector3.new(-0.5, -2.2, 0)) local leftFoot = makePart('LeftFoot', Vector3.new(0.6, 0.3, 1.0), Vector3.new(-0.5, -3.05, -0.15)) local rightUpperLeg = makePart('RightUpperLeg', Vector3.new(0.6, 1.2, 0.6), Vector3.new(0.5, -0.9, 0)) local rightLowerLeg = makePart('RightLowerLeg', Vector3.new(0.5, 1.2, 0.5), Vector3.new(0.5, -2.2, 0)) local rightFoot = makePart('RightFoot', Vector3.new(0.6, 0.3, 1.0), Vector3.new(0.5, -3.05, -0.15)) makeMotor('Root', rootPart, lowerTorso, CFrame.new(0, -1, 0), CFrame.new(0, 0, 0)) makeMotor('Waist', lowerTorso, upperTorso, CFrame.new(0, 0.3, 0), CFrame.new(0, 0.6, 0)) makeMotor('Neck', upperTorso, head, CFrame.new(0, 0.6, 0), CFrame.new(0, -0.6, 0)) makeMotor('Left Shoulder', upperTorso, leftUpperArm, CFrame.new(-1, 0.5, 0), CFrame.new(0.5, -0.6, 0)) makeMotor('Left Elbow', leftUpperArm, leftLowerArm, CFrame.new(0, -0.6, 0), CFrame.new(0, 0.5, 0)) makeMotor('Left Wrist', leftLowerArm, leftHand, CFrame.new(0, -0.5, 0), CFrame.new(0, 0.25, 0)) makeMotor('Right Shoulder', upperTorso, rightUpperArm, CFrame.new(1, 0.5, 0), CFrame.new(-0.5, -0.6, 0)) makeMotor('Right Elbow', rightUpperArm, rightLowerArm, CFrame.new(0, -0.6, 0), CFrame.new(0, 0.5, 0)) makeMotor('Right Wrist', rightLowerArm, rightHand, CFrame.new(0, -0.5, 0), CFrame.new(0, 0.25, 0)) makeMotor('Left Hip', lowerTorso, leftUpperLeg, CFrame.new(-0.5, -0.3, 0), CFrame.new(0, 0.6, 0)) makeMotor('Left Knee', leftUpperLeg, leftLowerLeg, CFrame.new(0, -0.6, 0), CFrame.new(0, 0.6, 0)) makeMotor('Left Ankle', leftLowerLeg, leftFoot, CFrame.new(0, -0.6, 0), CFrame.new(0, 0.15, -0.1)) makeMotor('Right Hip', lowerTorso, rightUpperLeg, CFrame.new(0.5, -0.3, 0), CFrame.new(0, 0.6, 0)) makeMotor('Right Knee', rightUpperLeg, rightLowerLeg, CFrame.new(0, -0.6, 0), CFrame.new(0, 0.6, 0)) makeMotor('Right Ankle', rightLowerLeg, rightFoot, CFrame.new(0, -0.6, 0), CFrame.new(0, 0.15, -0.1)) desyncFeetOffset = 3.2 else -- ===================== R6 ===================== local torso = makePart('Torso', Vector3.new(2, 2, 1), Vector3.new(0, 0, 0)) local head = makePart('Head', Vector3.new(1.2, 1.2, 1.2), Vector3.new(0, 1.6, 0)) local leftArm = makePart('Left Arm', Vector3.new(0.6, 2, 0.6), Vector3.new(-1.3, 0, 0)) local rightArm = makePart('Right Arm', Vector3.new(0.6, 2, 0.6), Vector3.new(1.3, 0, 0)) local leftLeg = makePart('Left Leg', Vector3.new(0.6, 2, 0.6), Vector3.new(-0.5, -2, 0)) local rightLeg = makePart('Right Leg', Vector3.new(0.6, 2, 0.6), Vector3.new(0.5, -2, 0)) makeMotor('Root', rootPart, torso, CFrame.new(0, -1, 0), CFrame.new(0, 1, 0)) makeMotor('Neck', torso, head, CFrame.new(0, 1, 0), CFrame.new(0, -0.6, 0)) makeMotor('Left Shoulder', torso, leftArm, CFrame.new(-1, 0.5, 0), CFrame.new(0.5, -0.5, 0)) makeMotor('Right Shoulder', torso, rightArm, CFrame.new(1, 0.5, 0), CFrame.new(-0.5, -0.5, 0)) makeMotor('Left Hip', torso, leftLeg, CFrame.new(-0.5, -1, 0), CFrame.new(0, 1, 0)) makeMotor('Right Hip', torso, rightLeg, CFrame.new(0.5, -1, 0), CFrame.new(0, 1, 0)) desyncFeetOffset = 3.0 end -- PrimaryPart for PivotTo model.PrimaryPart = rootPart -- Dummy Humanoid for camera tracking only (parts anchored, so it won't move them) local hum = Instance.new('Humanoid') hum.DisplayName = '' hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None hum.HealthDisplayType = Enum.HumanoidHealthDisplayType.NeverDisplay hum.MaxHealth = 999999999 hum.Health = 999999999 hum.WalkSpeed = 0 hum.JumpPower = 0 hum.Parent = model -- Ambient purple glow light pcall(function() local light = Instance.new('PointLight') light.Color = Color3.fromRGB(180, 100, 255) light.Brightness = 1.5 light.Range = 15 light.Shadows = false local torsoPart = model:FindFirstChild('UpperTorso') or model:FindFirstChild('Torso') or rootPart light.Parent = torsoPart end) -- Parent to workspace and snap to spawn model.Parent = workspace pcall(function() model:PivotTo(spawnCFrame) end) return model end -- ========== DESYNC COMMAND ========== addcmd('desync', {}, function(args, speaker) if desyncActive then execCmd('undesync') return end local char = speaker.Character if not char or not getRoot(char) then notify('Desync', 'Character not found!') return end local root = getRoot(char) local humanoid = char:FindFirstChildWhichIsA('Humanoid') -- Save state desyncFrozenCFrame = root.CFrame desyncRealChar = char desyncWalkSpeed = humanoid and humanoid.WalkSpeed or 16 desyncJumpPower = humanoid and humanoid.JumpPower or 50 if desyncJumpPower < 30 then desyncJumpPower = 50 end desyncLastSpace = false desyncGhostYVel = 0 desyncOnGround = true -- Create ghost (Instance.new only, cannot fail) desyncGhostModel = createDesyncGhost(desyncFrozenCFrame) if not desyncGhostModel then notify('Desync', 'Failed to create ghost!') desyncRealChar = nil desyncFrozenCFrame = nil return end local ghostRoot = desyncGhostModel:FindFirstChild('HumanoidRootPart') local ghostHum = desyncGhostModel:FindFirstChildWhichIsA('Humanoid') if not ghostRoot then notify('Desync', 'Ghost missing root part!') pcall(function() desyncGhostModel:Destroy() end) desyncGhostModel = nil desyncRealChar = nil desyncFrozenCFrame = nil return end -- Initialize ghost position from spawn CFrame desyncGhostPos = desyncFrozenCFrame.Position desyncGhostYaw = math.atan2(desyncFrozenCFrame.LookVector.X, desyncFrozenCFrame.LookVector.Z) -- Anchor real body (freezes you on the server) for _, part in pairs(char:GetDescendants()) do if part:IsA('BasePart') then part.Anchored = true part.CanCollide = false end end -- Camera follows ghost pcall(function() workspace.CurrentCamera.CameraType = Enum.CameraType.Custom workspace.CurrentCamera.CameraSubject = ghostHum or ghostRoot end) desyncActive = true -- ========== MAIN HEARTBEAT LOOP ========== desyncConn = RunService.Heartbeat:Connect(function(dt) if not desyncActive then return end if not desyncGhostModel or not desyncGhostModel.Parent then execCmd('undesync') return end if not ghostRoot or not ghostRoot.Parent then execCmd('undesync') return end -- 1. Keep real body frozen at original position if desyncRealChar and desyncRealChar.Parent then local realRoot = getRoot(desyncRealChar) if realRoot then pcall(function() realRoot.CFrame = desyncFrozenCFrame realRoot.Velocity = Vector3.new(0, 0, 0) realRoot.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end) end end -- 2. Read WASD directly from UserInputService local camCF = workspace.CurrentCamera.CFrame local fwd = Vector3.new(camCF.LookVector.X, 0, camCF.LookVector.Z) if fwd.Magnitude > 0.001 then fwd = fwd.Unit else fwd = Vector3.new(0, 0, -1) end local rgt = Vector3.new(camCF.RightVector.X, 0, camCF.RightVector.Z) if rgt.Magnitude > 0.001 then rgt = rgt.Unit else rgt = Vector3.new(1, 0, 0) end local moveDir = Vector3.new(0, 0, 0) local uis = UserInputService if not uis:GetFocusedTextBox() then if uis:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + fwd end if uis:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - fwd end if uis:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - rgt end if uis:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + rgt end end -- 3. Apply horizontal movement if moveDir.Magnitude > 0.01 then moveDir = moveDir.Unit desyncGhostPos = desyncGhostPos + moveDir * desyncWalkSpeed * dt desyncGhostYaw = math.atan2(moveDir.X, moveDir.Z) end -- 4. Jump (edge-triggered on Space) local spaceNow = uis:IsKeyDown(Enum.KeyCode.Space) if spaceNow and not desyncLastSpace and desyncOnGround then desyncGhostYVel = desyncJumpPower desyncOnGround = false end desyncLastSpace = spaceNow -- 5. Apply gravity when airborne if not desyncOnGround then desyncGhostYVel = desyncGhostYVel - workspace.Gravity * dt -- No fall damage: cap downward velocity if desyncGhostYVel < -80 then desyncGhostYVel = -80 end end -- 6. Update vertical position when airborne if not desyncOnGround then desyncGhostPos = desyncGhostPos + Vector3.new(0, desyncGhostYVel * dt, 0) end -- 7. Ground raycast pcall(function() local rayParams = RaycastParams.new() rayParams.FilterDescendantsInstances = {desyncGhostModel} rayParams.FilterType = Enum.RaycastFilterType.Exclude -- Long ray when airborne to detect ground from far above local rayLen = desyncOnGround and (desyncFeetOffset + 2) or (desyncFeetOffset + 25) local rayOrigin = desyncGhostPos + Vector3.new(0, 1, 0) local result = workspace:Raycast(rayOrigin, Vector3.new(0, -rayLen, 0), rayParams) if result then local standY = result.Position.Y + desyncFeetOffset if desyncOnGround then -- On ground: snap to terrain surface desyncGhostPos = Vector3.new(desyncGhostPos.X, standY, desyncGhostPos.Z) elseif desyncGhostYVel <= 0 and desyncGhostPos.Y <= standY + 0.5 then -- Landing: snap to ground, reset velocity desyncGhostPos = Vector3.new(desyncGhostPos.X, standY, desyncGhostPos.Z) desyncGhostYVel = 0 desyncOnGround = true end else -- No ground detected below if desyncOnGround then -- Walked off an edge desyncOnGround = false end end end) -- 8. Anti-void teleport if desyncGhostPos.Y < -500 then desyncGhostPos = Vector3.new(desyncFrozenCFrame.X, desyncFrozenCFrame.Y + 10, desyncFrozenCFrame.Z) desyncGhostYVel = 0 desyncOnGround = false end -- 9. Move ghost via PivotTo (moves all anchored parts together) pcall(function() local finalCF = CFrame.new(desyncGhostPos) * CFrame.Angles(0, desyncGhostYaw, 0) desyncGhostModel:PivotTo(finalCF) end) -- 10. Keep camera locked to ghost pcall(function() local subject = workspace.CurrentCamera.CameraSubject if subject ~= ghostHum and subject ~= ghostRoot then workspace.CurrentCamera.CameraSubject = ghostHum or ghostRoot end end) end) -- Death cleanup if humanoid then desyncDiedConn = humanoid.Died:Connect(function() execCmd('undesync') end) end -- ========== HUD GUI (top-center banner) ========== local guiParent = PARENT or game:GetService('CoreGui') local sg = Instance.new('ScreenGui') sg.Name = randomString() sg.ResetOnSpawn = false sg.DisplayOrder = 99 sg.Parent = guiParent local frame = Instance.new('Frame') frame.Size = UDim2.new(0, 460, 0, 38) frame.Position = UDim2.new(0.5, -230, 0, 10) frame.BackgroundColor3 = Color3.fromRGB(15, 8, 30) frame.BackgroundTransparency = 0.1 frame.BorderSizePixel = 0 frame.Parent = sg local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 10) corner.Parent = frame local stroke = Instance.new('UIStroke') stroke.Color = Color3.fromRGB(120, 70, 200) stroke.Thickness = 1.5 stroke.Transparency = 0.2 stroke.Parent = frame local tl = Instance.new('TextLabel') tl.Size = UDim2.new(1, -16, 1, 0) tl.Position = UDim2.new(0, 8, 0, 0) tl.BackgroundTransparency = 1 tl.Text = 'DESYNC ACTIVE | WASD move | SPACE jump | Q / undesync to teleport back' tl.TextColor3 = Color3.fromRGB(200, 170, 255) tl.TextStrokeColor3 = Color3.fromRGB(60, 20, 120) tl.TextStrokeTransparency = 0.5 tl.Font = Enum.Font.GothamBold tl.TextSize = 12 tl.TextWrapped = true tl.Parent = frame desyncGui = sg -- Toggle button (top-right) desync_createToggleGui() showArcPopup('Desync', true) notify('Desync', 'Ghost active! WASD + Space. Q or undesync to teleport back.') end) -- ========== UNDESYNC ========== addcmd('undesync', {}, function(args, speaker) if not desyncActive then return end desyncActive = false -- Disconnect loops if desyncConn then desyncConn:Disconnect() desyncConn = nil end if desyncDiedConn then desyncDiedConn:Disconnect() desyncDiedConn = nil end -- Save ghost position for teleport local ghostCFrame = desyncFrozenCFrame if desyncGhostPos then ghostCFrame = CFrame.new(desyncGhostPos) * CFrame.Angles(0, desyncGhostYaw, 0) end -- Destroy ghost if desyncGhostModel and desyncGhostModel.Parent then pcall(function() desyncGhostModel:Destroy() end) end desyncGhostModel = nil -- Unanchor real body local char = desyncRealChar or speaker.Character if char then for _, part in pairs(char:GetDescendants()) do if part:IsA('BasePart') then pcall(function() part.Anchored = false part.CanCollide = true end) end end end -- Teleport real body to ghost position if char then local root = getRoot(char) if root and ghostCFrame then pcall(function() root.CFrame = ghostCFrame end) end end -- Restore camera to real character pcall(function() workspace.CurrentCamera.CameraType = Enum.CameraType.Custom if char and char.Parent then local hum = char:FindFirstChildWhichIsA('Humanoid') if hum and hum.Parent then workspace.CurrentCamera.CameraSubject = hum else local r = getRoot(char) if r then workspace.CurrentCamera.CameraSubject = r end end end end) -- Safety loop: keep unanchoring for 3 seconds in case game re-anchors local charRef = char task.spawn(function() for i = 1, 15 do task.wait(0.2) if not charRef or not charRef.Parent then break end for _, part in pairs(charRef:GetDescendants()) do if part:IsA('BasePart') and part.Anchored then pcall(function() part.Anchored = false end) end end if charRef.Parent then local hum = charRef:FindFirstChildWhichIsA('Humanoid') if hum and hum.Parent then pcall(function() workspace.CurrentCamera.CameraSubject = hum end) end end end end) -- Clean up state desyncFrozenCFrame = nil desyncRealChar = nil desyncWalkSpeed = 16 desyncJumpPower = 50 desyncGhostPos = nil desyncGhostYaw = 0 desyncGhostYVel = 0 desyncLastSpace = false desyncOnGround = true -- Destroy GUIs if desyncGui and desyncGui.Parent then desyncGui:Destroy() end desyncGui = nil desync_destroyToggleGui() showArcPopup('Desync', false) notify('Desync', 'Teleported to ghost position!') end) addcmd('toggledesync', {}, function(args, speaker) if desyncActive then execCmd('undesync') else execCmd('desync') end end) addcmd("arcdesync", {}, function(args, speaker) if ArcGUI.Panels["arcdesync"] then ArcGUI.ClosePanel("arcdesync") return end local p = ArcGUI.CreatePanel("arcdesync", "Desync", nil) local infoLabel = ArcGUI.CreateButton(p, "Walk ghost around, undesync to teleport", function() end) local toggle = ArcGUI.CreateToggle(p, "Desync", desyncActive, function(state) if state then execCmd("desync") else execCmd("undesync") end end) local btn = ArcGUI.CreateButton(p, "TELEPORT BACK", function() execCmd("undesync") if p.ToggleStates and p.ToggleStates[toggle] then p.ToggleStates[toggle] = false end end) end) -- ======================== LUMBER (LOAD KRON HUB) ======================== addcmd('lumber', {}, function(args, speaker) notify('Arc Yield', 'Loading Kron Hub (Lumber)...') local success, err = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/DevKron/Kron_Hub/refs/heads/main/version_1.0'))("") end) if not success then notify('Arc Yield', 'Failed to load Kron Hub: ' .. tostring(err)) end end) -- ======================== GRAB PARTS (LOAD SCRIPT) ======================== addcmd('grabparts', {}, function(args, speaker) notify('Arc Yield', 'Loading Grab Parts...') local success, err = pcall(function() loadstring(game:HttpGet("https://pastebin.com/raw/8Hzgb66U"))() end) if not success then notify('Arc Yield', 'Failed to load Grab Parts: ' .. tostring(err)) end end) -- ======================== BUILD A BOAT (LOAD BABFT SCRIPT) ======================== addcmd('buildaboat', {'bab', 'babft'}, function(args, speaker) notify('Arc Yield', 'Loading Build A Boat (takes ~5 sec)...') local success, err = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/TheRealAsu/BABFT/refs/heads/main/Loader.lua'))() end) if not success then notify('Arc Yield', 'Failed to load Build A Boat: ' .. tostring(err)) end end) -- ======================== ARC YIELD: 50 CUSTOM COMMANDS ======================== -- Useful in ANY Roblox game. Organized by category. -- FindPlayer compatibility - partial name match like IY function FindPlayer(name, speaker) if not name or name == "" then return nil end local found = getPlayersByName(name) if found and #found > 0 then return found[1] end return nil end -- =================== MOVEMENT (1-10) =================== -- 1. hyperspeed [num] - Velocity-based movement that bypasses normal WalkSpeed cap hyperSpeedConn = nil addcmd('hyperspeed', {'hspeed'}, function(args, speaker) if hyperSpeedConn then hyperSpeedConn:Disconnect() hyperSpeedConn = nil local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.WalkSpeed = 16 end return notify('Hyperspeed','OFF') end local spd = tonumber(args[1]) or 150 local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.WalkSpeed = 0 end local u = game:GetService('UserInputService') hyperSpeedConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if not r then return end local cf = workspace.CurrentCamera.CFrame local d = Vector3.new(0,0,0) if u:IsKeyDown(Enum.KeyCode.W) then d = d + cf.LookVector end if u:IsKeyDown(Enum.KeyCode.S) then d = d - cf.LookVector end if u:IsKeyDown(Enum.KeyCode.A) then d = d - cf.RightVector end if u:IsKeyDown(Enum.KeyCode.D) then d = d + cf.RightVector end if d.Magnitude > 0 then r.Velocity = Vector3.new(d.Unit.X*spd, r.Velocity.Y, d.Unit.Z*spd) else r.Velocity = Vector3.new(0, r.Velocity.Y, 0) end end) notify('Hyperspeed', spd .. ' studs/s') end) -- 2. superjump [num] - High impulse jump every time you press space superJumpConn = nil addcmd('superjump', {'sjump'}, function(args, speaker) if superJumpConn then superJumpConn:Disconnect() superJumpConn = nil return notify('Super Jump','OFF') end local pwr = tonumber(args[1]) or 150 local u = game:GetService('UserInputService') superJumpConn = u.JumpRequest:Connect(function() local r = getRoot(speaker.Character) if r then r.Velocity = Vector3.new(r.Velocity.X, pwr, r.Velocity.Z) end end) notify('Super Jump', 'Power: ' .. pwr) end) -- 3. bhop / unbhop - Auto bunny hop while moving bhopConn = nil addcmd('bhop', {}, function(args, speaker) if bhopConn then bhopConn:Disconnect() bhopConn = nil return notify('BHop','OFF') end bhopConn = RunService.Heartbeat:Connect(function() local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h and h.MoveDirection.Magnitude > 0 then local state = h:GetState() if state == Enum.HumanoidStateType.Landed or state == Enum.HumanoidStateType.Running then h:ChangeState(Enum.HumanoidStateType.Jumping) end end end) notify('BHop', 'ON') end) -- 4. infjump / uninfinjump - Jump infinitely midair infJumpConn = nil addcmd('infjump', {}, function(args, speaker) if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil return notify('Inf Jump','OFF') end local u = game:GetService('UserInputService') infJumpConn = u.JumpRequest:Connect(function() local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end) notify('Inf Jump', 'ON') end) -- 5. float / unfloat - Float in the air (counteract gravity) floatConn = nil addcmd('float', {}, function(args, speaker) if floatConn then floatConn:Disconnect() floatConn = nil return notify('Float','OFF') end floatConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if r then r.Velocity = Vector3.new(r.Velocity.X, 0, r.Velocity.Z) end end) notify('Float', 'ON - gravity cancelled') end) -- 6. rocket - Launch yourself upward extremely fast addcmd('rocket', {'launch'}, function(args, speaker) local r = getRoot(speaker.Character) if r then r.Velocity = Vector3.new(0, 500, 0) end notify('Rocket', 'LAUNCHED!') end) -- 7. bouncy [num] / unbouncy - Bounce when touching ground bouncyConn = nil addcmd('bouncy', {}, function(args, speaker) if bouncyConn then bouncyConn:Disconnect() bouncyConn = nil return notify('Bouncy','OFF') end local pwr = tonumber(args[1]) or 120 bouncyConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if r and r.Velocity.Y <= 0 then local ray = Ray.new(r.Position, Vector3.new(0, -5, 0)) local hit = workspace:FindPartOnRayWithWhitelist(ray, {}) if hit then r.Velocity = Vector3.new(r.Velocity.X, pwr, r.Velocity.Z) end end end) notify('Bouncy', 'Bounce power: ' .. pwr) end) -- 8. antigrav / unantigrav - Zero gravity on your character antigravBF = nil addcmd('antigrav', {}, function(args, speaker) if antigravBF then antigravBF:Destroy() antigravBF = nil return notify('AntiGrav','OFF') end local r = getRoot(speaker.Character) if r then antigravBF = Instance.new('BodyForce') antigravBF.Name = randomString() antigravBF.Force = Vector3.new(0, workspace.Gravity * r.AssemblyMass, 0) antigravBF.Parent = r notify('AntiGrav', 'ON') end end) -- 9. dash - Quick burst of speed in look direction addcmd('dash', {}, function(args, speaker) local r = getRoot(speaker.Character) if r then local dir = workspace.CurrentCamera.CFrame.LookVector r.Velocity = Vector3.new(dir.X * 300, r.Velocity.Y, dir.Z * 300) end notify('Dash', 'BOOM!') end) -- 10. spider / unspider - Walk on walls and ceilings spiderConn = nil addcmd('spider', {}, function(args, speaker) if spiderConn then spiderConn:Disconnect() spiderConn = nil return notify('Spider','OFF') end spiderConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if not r then return end local h = speaker.Character:FindFirstChildOfClass('Humanoid') if not h then return end if h.MoveDirection.Magnitude > 0 then local rayP = RaycastParams.new() rayP.FilterDescendantsInstances = {speaker.Character} rayP.FilterType = Enum.RaycastFilterType.Exclude local result = workspace:Raycast(r.Position, -workspace.CurrentCamera.CFrame.LookVector * 3, rayP) if result then local norm = result.Normal local cf = CFrame.lookAt(r.Position, r.Position - norm) r.CFrame = cf r.Velocity = Vector3.new(r.Velocity.X, r.Velocity.Y + 50, r.Velocity.Z) end end end) notify('Spider', 'ON - climb walls!') end) -- =================== ESP & VISUALS (11-18) =================== -- 11. itemesp / noitemesp - ESP for all items/tools on the ground itemEspActive = false itemEspConn = nil itemEspDraws = {} addcmd('itemesp', {}, function(args, speaker) if itemEspActive then itemEspActive = false if itemEspConn then itemEspConn:Disconnect() itemEspConn = nil end for _, d in pairs(itemEspDraws) do pcall(function() d:Remove() end) end itemEspDraws = {} return notify('Item ESP','OFF') end itemEspActive = true itemEspConn = RunService.RenderStepped:Connect(function() for _, d in pairs(itemEspDraws) do pcall(function() d:Remove() end) end itemEspDraws = {} local cam = workspace.CurrentCamera for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('Tool') or (obj:IsA('BasePart') and obj.Name ~= 'Terrain' and not obj.Parent and obj.Size.Magnitude < 10) then local pos, onScreen = cam:WorldToViewportPoint(obj.Position) if onScreen then local d = Drawing.new('Text') d.Text = obj.Name d.Position = Vector2.new(pos.X, pos.Y) d.Color = Color3.fromRGB(255, 255, 0) d.Outline = true d.Size = 14 d.Center = true itemEspDraws[#itemEspDraws + 1] = d end end end end) notify('Item ESP', 'ON - showing items on ground') end) -- 12. partesp [name] / nopartesp - ESP for parts matching a name partEspActive = false partEspConn = nil partEspDraws = {} addcmd('partesp', {}, function(args, speaker) if partEspActive then partEspActive = false if partEspConn then partEspConn:Disconnect() partEspConn = nil end for _, d in pairs(partEspDraws) do pcall(function() d:Remove() end) end partEspDraws = {} return notify('Part ESP','OFF') end local filter = args[1] or '' if filter == '' then return notify('Part ESP','Usage: partesp [name]') end partEspActive = true partEspConn = RunService.RenderStepped:Connect(function() for _, d in pairs(partEspDraws) do pcall(function() d:Remove() end) end partEspDraws = {} local cam = workspace.CurrentCamera for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Name:lower():find(filter:lower()) then local pos, on = cam:WorldToViewportPoint(p.Position) if on then local d = Drawing.new('Text') d.Text = p.Name .. ' (' .. math.floor((p.Position - cam.CFrame.Position).Magnitude) .. ')' d.Position = Vector2.new(pos.X, pos.Y) d.Color = Color3.fromRGB(0, 255, 255) d.Outline = true d.Size = 13 d.Center = true partEspDraws[#partEspDraws + 1] = d end end end end) notify('Part ESP', 'Filtering: ' .. filter) end) -- 13. vehicleesp / novehicleesp - ESP for seats and vehicles vehicleEspActive = false vehicleEspConn = nil vehicleEspDraws = {} addcmd('vehicleesp', {'vesp'}, function(args, speaker) if vehicleEspActive then vehicleEspActive = false if vehicleEspConn then vehicleEspConn:Disconnect() vehicleEspConn = nil end for _, d in pairs(vehicleEspDraws) do pcall(function() d:Remove() end) end vehicleEspDraws = {} return notify('Vehicle ESP','OFF') end vehicleEspActive = true vehicleEspConn = RunService.RenderStepped:Connect(function() for _, d in pairs(vehicleEspDraws) do pcall(function() d:Remove() end) end vehicleEspDraws = {} local cam = workspace.CurrentCamera for _, s in pairs(workspace:GetDescendants()) do if s:IsA('Seat') or s:IsA('VehicleSeat') then local pos, on = cam:WorldToViewportPoint(s.Position) if on then local d = Drawing.new('Text') d.Text = s.Name .. (s.Occupant and ' [OCCUPIED]' or ' [EMPTY]') d.Position = Vector2.new(pos.X, pos.Y) d.Color = s.Occupant and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(0, 255, 0) d.Outline = true d.Size = 14 d.Center = true vehicleEspDraws[#vehicleEspDraws + 1] = d end end end end) notify('Vehicle ESP', 'ON') end) -- 14. mobesp / nomobesp - ESP for NPCs/monsters (non-player humanoids) mobEspActive = false mobEspConn = nil mobEspDraws = {} addcmd('mobesp', {'npesp'}, function(args, speaker) if mobEspActive then mobEspActive = false if mobEspConn then mobEspConn:Disconnect() mobEspConn = nil end for _, d in pairs(mobEspDraws) do pcall(function() d:Remove() end) end mobEspDraws = {} return notify('Mob ESP','OFF') end mobEspActive = true mobEspConn = RunService.RenderStepped:Connect(function() for _, d in pairs(mobEspDraws) do pcall(function() d:Remove() end) end mobEspDraws = {} local cam = workspace.CurrentCamera for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('Humanoid') and obj.Health > 0 then local char = obj.Parent if char and char:FindFirstChild('HumanoidRootPart') then local isPlayer = false for _, p in pairs(Players:GetPlayers()) do if p.Character == char then isPlayer = true break end end if not isPlayer then local pos, on = cam:WorldToViewportPoint(char.HumanoidRootPart.Position) if on then local d = Drawing.new('Text') d.Text = char.Name .. ' HP:' .. math.floor(obj.Health) d.Position = Vector2.new(pos.X, pos.Y - 20) d.Color = Color3.fromRGB(255, 100, 0) d.Outline = true d.Size = 13 d.Center = true mobEspDraws[#mobEspDraws + 1] = d end end end end end end) notify('Mob ESP', 'ON - showing NPCs') end) -- 15. chams / nochams - Highlight ALL players through walls (not role-based) chamsActive = false chamsHls = {} chamsConn = nil addcmd('chams', {}, function(args, speaker) if chamsActive then chamsActive = false if chamsConn then chamsConn:Disconnect() chamsConn = nil end for _, hl in pairs(chamsHls) do pcall(function() hl:Destroy() end) end chamsHls = {} return notify('Chams','OFF') end chamsActive = true local function addCham(player) if not player.Character or chamsHls[player] then return end local hl = Instance.new('Highlight') hl.Name = 'ArcCham' hl.Adornee = player.Character hl.FillColor = Color3.fromRGB(255, 255, 255) hl.OutlineColor = Color3.fromRGB(0, 100, 255) hl.FillTransparency = 0.5 hl.OutlineTransparency = 0 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = player.Character chamsHls[player] = hl end for _, p in pairs(Players:GetPlayers()) do if p ~= speaker then pcall(function() addCham(p) end) end end chamsConn = Players.PlayerAdded:Connect(function(p) task.wait(1) p.CharacterAdded:Connect(function() task.wait(1) pcall(function() addCham(p) end) end) pcall(function() addCham(p) end) end) for _, p in pairs(Players:GetPlayers()) do if p ~= speaker then p.CharacterAdded:Connect(function() task.wait(1) pcall(function() addCham(p) end) end) end end notify('Chams', 'ON - all players highlighted') end) -- 16. trail [color] / untrail - Trail effect behind your character trailActive = false trailConn = nil trailParts = {} addcmd('trail', {}, function(args, speaker) if trailActive then trailActive = false if trailConn then trailConn:Disconnect() trailConn = nil end for _, p in pairs(trailParts) do pcall(function() p:Destroy() end) end trailParts = {} return notify('Trail','OFF') end local col = Color3.fromRGB(0, 150, 255) if args[1] then local c = args[1]:gsub('#','') if #c == 6 then col = Color3.fromRGB(tonumber(c:sub(1,2),16), tonumber(c:sub(3,4),16), tonumber(c:sub(5,6),16)) end end trailActive = true trailConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if not r then return end local p = Instance.new('Part') p.Size = Vector3.new(1, 1, 1) p.Color = col p.Material = Enum.Material.Neon p.Anchored = true p.CanCollide = false p.Position = r.Position p.Shape = Enum.PartType.Ball p.Parent = workspace trailParts[#trailParts + 1] = p task.delay(2, function() pcall(function() p:Destroy() end) end) if #trailParts > 100 then local old = table.remove(trailParts, 1) if old then pcall(function() old:Destroy() end) end end end) notify('Trail', 'ON') end) -- 17. nightvision / unnightvision - Bright green tint overlay nightvisionActive = false nightvisionCC = nil addcmd('nightvision', {'nv'}, function(args, speaker) if nightvisionActive then nightvisionActive = false if nightvisionCC then nightvisionCC:Destroy() nightvisionCC = nil end local l = game:GetService('Lighting') l.Brightness = 2 l.Ambient = Color3.fromRGB(128,128,128) return notify('Night Vision','OFF') end nightvisionActive = true nightvisionCC = Instance.new('ColorCorrectionEffect') nightvisionCC.Name = 'ArcNightVision' nightvisionCC.Brightness = 0.3 nightvisionCC.Contrast = 0.2 nightvisionCC.Saturation = -0.5 nightvisionCC.TintColor = Color3.fromRGB(0, 255, 0) nightvisionCC.Parent = game:GetService('Lighting') game:GetService('Lighting').Brightness = 3 game:GetService('Lighting').Ambient = Color3.fromRGB(80, 80, 80) notify('Night Vision', 'ON') end) -- 18. wireframe / unwireframe - Wireframe rendering mode wireframeActive = false wireframeParts = {} addcmd('wireframe', {}, function(args, speaker) if wireframeActive then wireframeActive = false for _, p in pairs(wireframeParts) do pcall(function() p.Material = p:GetAttribute('ArcOrigMat') or Enum.Material.Plastic p.Transparency = p:GetAttribute('ArcOrigTrans') or 0 p:SetAttribute('ArcOrigMat', nil) p:SetAttribute('ArcOrigTrans', nil) end) end wireframeParts = {} return notify('Wireframe','OFF') end wireframeActive = true for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Name ~= 'Terrain' then p:SetAttribute('ArcOrigMat', p.Material.Name) p:SetAttribute('ArcOrigTrans', p.Transparency) p.Material = Enum.Material.Wireframe p.Transparency = 0 wireframeParts[#wireframeParts + 1] = p end end notify('Wireframe', 'ON') end) -- =================== COMBAT & TOOLS (19-26) =================== -- 19. toolgrabber / untoolgrabber - Auto teleport dropped tools to you toolGrabberConn = nil addcmd('toolgrabber', {'autograb'}, function(args, speaker) if toolGrabberConn then toolGrabberConn:Disconnect() toolGrabberConn = nil return notify('Tool Grabber','OFF') end local r = getRoot(speaker.Character) if not r then return end toolGrabberConn = RunService.Heartbeat:Connect(function() r = getRoot(speaker.Character) if not r then return end for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('Tool') and not obj.Parent:IsA('Player') and not obj.Parent:IsA('Backpack') then if (obj.Position - r.Position).Magnitude < 100 then obj:PivotTo(r.CFrame) end end end end) notify('Tool Grabber', 'ON - auto-grabbing nearby tools') end) -- 20. reach [num] / unreach - Extend your tool reach distance reachActive = false reachOrig = {} addcmd('reach', {}, function(args, speaker) if reachActive then reachActive = false for _, v in pairs(workspace:GetDescendants()) do if v:IsA('Tool') and v:FindFirstChild('ArcReach') then local h = v:FindFirstChild('Handle') if h then h.Size = reachOrig[v] or Vector3.new(1,1,1) end v:FindFirstChild('ArcReach'):Destroy() end end return notify('Reach','OFF') end local dist = tonumber(args[1]) or 20 reachActive = true reachOrig = {} local function applyReach(tool) if tool:FindFirstChild('ArcReach') then return end local h = tool:FindFirstChild('Handle') if h then reachOrig[tool] = h.Size h.Size = Vector3.new(dist, dist, dist) h.Massless = true h.CanCollide = false h.Transparency = 0.7 local t = Instance.new('SelectionBox') t.Name = 'ArcReach' t.Adornee = h t.Parent = tool end end for _, t in pairs(speaker.Character:GetChildren()) do if t:IsA('Tool') then pcall(function() applyReach(t) end) end end speaker.ChildAdded:Connect(function(c) if c:IsA('Tool') then task.wait(0.5) pcall(function() applyReach(c) end) end end) notify('Reach', 'Extended to ' .. dist .. ' studs') end) -- 21. autofarm / unautofarm - Auto-collect nearby items (teleport to you) autoFarmConn = nil addcmd('autofarm', {'autocollect'}, function(args, speaker) if autoFarmConn then autoFarmConn:Disconnect() autoFarmConn = nil return notify('Auto Farm','OFF') end autoFarmConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if not r then return end for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and not p.Parent:IsA('Model') then if (p.Position - r.Position).Magnitude < 50 then p:PivotTo(r.CFrame * CFrame.new(0,0,3)) end elseif p:IsA('Tool') and not p.Parent:IsA('Player') and not p.Parent:IsA('Backpack') then if (p.Position - r.Position).Magnitude < 80 then p:PivotTo(r.CFrame * CFrame.new(0,0,3)) end end end end) notify('Auto Farm', 'ON - collecting nearby items') end) -- 22. killaura [range] / nokillaura - Auto damage nearby players killAuraConn = nil addcmd('killaura', {'kaura'}, function(args, speaker) if killAuraConn then killAuraConn:Disconnect() killAuraConn = nil return notify('Kill Aura','OFF') end local range = tonumber(args[1]) or 25 killAuraConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if not r then return end for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character and p.Character:FindFirstChild('HumanoidRootPart') then local dist = (p.Character.HumanoidRootPart.Position - r.Position).Magnitude if dist < range then local h = p.Character:FindFirstChildOfClass('Humanoid') if h and h.Health > 0 then h:TakeDamage(5) end end end end end) notify('Kill Aura', 'ON (range: ' .. range .. ')') end) -- 23. toolcopy [player] - Copy a player's equipped tool addcmd('toolcopy', {'copytool'}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Tool Copy','Player not found') end local tool = nil for _, v in pairs(target.Character:GetChildren()) do if v:IsA('Tool') then tool = v break end end if not tool then tool = target.Backpack and target.Backpack:FindFirstChildOfClass('Tool') end if not tool then return notify('Tool Copy', target.Name .. ' has no tools') end local cl = tool:Clone() cl.Parent = speaker.Backpack notify('Tool Copy', 'Copied ' .. tool.Name) end) -- 24. heal - Heal yourself to full HP addcmd('heal', {}, function(args, speaker) local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.Health = h.MaxHealth end notify('Heal', 'Full HP!') end) -- 25. healall - Heal everyone on the server addcmd('healall', {}, function(args, speaker) for _, p in pairs(Players:GetPlayers()) do if p.Character then local h = p.Character:FindFirstChildOfClass('Humanoid') if h then h.Health = h.MaxHealth end end end notify('Heal All', 'Everyone healed!') end) -- 26. explode [player] - Create explosion on a player addcmd('explode', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Explode','Player not found') end local r = target.Character:FindFirstChild('HumanoidRootPart') if r then local e = Instance.new('Explosion') e.Position = r.Position e.BlastRadius = 20 e.BlastPressure = 500000 e.Parent = workspace end notify('Explode', 'Boom! ' .. target.Name) end) -- =================== PLAYER CONTROL (27-38) =================== -- 27. serverlock / serverunlock - Kick anyone who joins serverLockConn = nil addcmd('serverlock', {'slock'}, function(args, speaker) if serverLockConn then serverLockConn:Disconnect() serverLockConn = nil return notify('Server Lock','UNLOCKED') end serverLockConn = Players.PlayerAdded:Connect(function(p) if p ~= speaker then pcall(function() p:Kick('Server is locked.') end) end end) notify('Server Lock', 'LOCKED - new players kicked') end) -- 28. loopkill [player] / unloopkill [player] loopKillList = {} loopKillConn = nil addcmd('loopkill', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return notify('Loop Kill','Player not found') end if loopKillList[target] then loopKillList[target] = nil return notify('Loop Kill', 'Stopped on ' .. target.Name) end loopKillList[target] = true if not loopKillConn then loopKillConn = Players.PlayerAdded:Connect(function(p) if loopKillList[p] then task.wait(3) p.CharacterAdded:Connect(function(c) task.wait(1) pcall(function() c:FindFirstChildOfClass('Humanoid').Health = 0 end) end) end end) end if target.Character then local h = target.Character:FindFirstChildOfClass('Humanoid') if h then h.Health = 0 end target.CharacterAdded:Connect(function(c) task.wait(1) if loopKillList[target] then pcall(function() c:FindFirstChildOfClass('Humanoid').Health = 0 end) end end) end notify('Loop Kill', 'Loop killing ' .. target.Name) end) -- 29. jail [player] / unjail [player] jailState = {} addcmd('jail', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Jail','Player not found') end local r = target.Character:FindFirstChild('HumanoidRootPart') if not r then return end if jailState[target] then jailState[target].cage:Destroy() end local cage = Instance.new('Model') cage.Name = 'ArcJail' local pos = r.Position local walls = { {Vector3.new(8, 10, 1), pos + Vector3.new(4, 5, 0)}, {Vector3.new(8, 10, 1), pos + Vector3.new(-4, 5, 0)}, {Vector3.new(1, 10, 8), pos + Vector3.new(0, 5, 4)}, {Vector3.new(1, 10, 8), pos + Vector3.new(0, 5, -4)}, {Vector3.new(8, 1, 8), pos + Vector3.new(0, 10, 0)}, } for _, w in pairs(walls) do local p = Instance.new('Part') p.Size = w[1] p.Position = w[2] p.Anchored = true p.Transparency = 0.5 p.Color = Color3.fromRGB(50, 50, 255) p.Material = Enum.Material.ForceField p.Parent = cage end cage.Parent = workspace jailState[target] = {cage = cage} -- Re-jail on respawn target.CharacterAdded:Connect(function(c) task.wait(2) if jailState[target] then local nr = c:FindFirstChild('HumanoidRootPart') if nr then jailState[target].cage:PivotTo(CFrame.new(nr.Position)) end end end) notify('Jail', target.Name .. ' jailed!') end) addcmd('unjail', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return end if jailState[target] then pcall(function() jailState[target].cage:Destroy() end) jailState[target] = nil end notify('Jail', target.Name .. ' unjailed!') end) -- 30. blind [player] / unblind [player] blindState = {} addcmd('blind', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Blind','Player not found') end local sg = Instance.new('ScreenGui') sg.Name = 'ArcBlind' sg.ResetOnSpawn = false sg.Parent = target.PlayerGui local fr = Instance.new('Frame') fr.Size = UDim2.new(1,0,1,0) fr.BackgroundColor3 = Color3.new(0,0,0) fr.Parent = sg blindState[target] = sg target.CharacterAdded:Connect(function(c) task.wait(1) if blindState[target] then local newSg = Instance.new('ScreenGui') newSg.Name = 'ArcBlind' newSg.ResetOnSpawn = false newSg.Parent = target.PlayerGui local newFr = Instance.new('Frame') newFr.Size = UDim2.new(1,0,1,0) newFr.BackgroundColor3 = Color3.new(0,0,0) newFr.Parent = newSg blindState[target] = newSg end end) notify('Blind', target.Name .. ' blinded!') end) addcmd('unblind', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return end if blindState[target] then pcall(function() blindState[target]:Destroy() end) blindState[target] = nil end notify('Blind', target.Name .. ' unblinded!') end) -- 31. freeze [player] / unfreeze [player] freezeState = {} addcmd('freeze', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Freeze','Player not found') end freezeState[target] = {} for _, p in pairs(target.Character:GetDescendants()) do if p:IsA('BasePart') then freezeState[target][#freezeState[target]+1] = {part = p, wasAnchored = p.Anchored} p.Anchored = true end end notify('Freeze', target.Name .. ' frozen!') end) addcmd('unfreeze', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return end if freezeState[target] then for _, v in pairs(freezeState[target]) do if v.part and v.part.Parent then v.part.Anchored = v.wasAnchored end end freezeState[target] = nil end notify('Freeze', target.Name .. ' unfrozen!') end) -- 32. punish [player] / unpunish [player] - Remove/restore character punishState = {} addcmd('punish', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Punish','Player not found') end punishState[target] = target.Character.Archivable and target.Character:Clone() or nil target.Character:Destroy() notify('Punish', target.Name .. ' punished!') end) addcmd('unpunish', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return end if punishState[target] then target.Character = punishState[target] punishState[target].Parent = workspace punishState[target] = nil end notify('Punish', target.Name .. ' unpunished!') end) -- 33. trip [player] - Trip a player (ragdoll) addcmd('trip', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Trip','Player not found') end local h = target.Character:FindFirstChildOfClass('Humanoid') if h then h.Sit = true end notify('Trip', target.Name .. ' tripped!') end) -- 34. stun [player] / unstun [player] stunState = {} addcmd('stun', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Stun','Player not found') end local h = target.Character:FindFirstChildOfClass('Humanoid') if h then stunState[target] = h.WalkSpeed h.WalkSpeed = 0 h.JumpPower = 0 end notify('Stun', target.Name .. ' stunned!') end) addcmd('unstun', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return end if stunState[target] and target.Character then local h = target.Character:FindFirstChildOfClass('Humanoid') if h then h.WalkSpeed = stunState[target] h.JumpPower = 50 end stunState[target] = nil end notify('Stun', target.Name .. ' unstunned!') end) -- 35. fling [player] - Fling a player using BodyThrust (Ultimate FlingGui method) addcmd('fling', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Fling','Player not found') end local tRoot = target.Character:FindFirstChild('HumanoidRootPart') if not tRoot then return notify('Fling','Target has no HumanoidRootPart') end local me = speaker.Character local myRoot = me and getRoot(me) if not me or not myRoot then return notify('Fling','No character') end local savedCFrame = myRoot.CFrame -- BodyThrust with massive force (Ultimate FlingGui method) local thrust = Instance.new("BodyThrust") thrust.Name = randomString() thrust.Force = Vector3.new(9999, 9999, 9999) thrust.Parent = myRoot local startTime = tick() local done = false local conn = RunService.Heartbeat:Connect(function() if done then return end if not myRoot or not myRoot.Parent then done = true return end if not tRoot or not tRoot.Parent then done = true return end if tick() - startTime >= 5 then done = true return end if not target.Character:FindFirstChild("Head") then done = true return end myRoot.CFrame = tRoot.CFrame thrust.Location = tRoot.Position end) task.spawn(function() while not done do task.wait(0.01) end conn:Disconnect() task.wait(0.2) if thrust and thrust.Parent then thrust:Destroy() end if myRoot and myRoot.Parent then myRoot.CFrame = savedCFrame myRoot.Velocity = Vector3.new(0, 0, 0) myRoot.AssemblyLinearVelocity = Vector3.new(0, 0, 0) myRoot.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end notify('Fling', 'Fling done!') end) notify('Fling', 'Flinging ' .. target.Name .. '...') end) -- 36. bringall - Teleport all players to you addcmd('bringall', {}, function(args, speaker) local r = getRoot(speaker.Character) if not r then return end for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character then local pr = p.Character:FindFirstChild('HumanoidRootPart') if pr then pr.CFrame = r.CFrame + Vector3.new(math.random(-5,5), 0, math.random(-5,5)) end end end notify('Bring All', 'All players brought to you!') end) -- 37. tpall - Teleport all players to you (same as bringall) addcmd('tpall', {}, function(args, speaker) local r = getRoot(speaker.Character) if not r then return end for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character then local pr = p.Character:FindFirstChild('HumanoidRootPart') if pr then pr.CFrame = r.CFrame + Vector3.new(math.random(-5,5), 0, math.random(-5,5)) end end end notify('TP All', 'All players teleported to you!') end) -- 38. crashplayer [player] - Lag/crash a player addcmd('crashplayer', {'crash'}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target then return notify('Crash','Player not found') end if target.Character and target.Character:FindFirstChild('HumanoidRootPart') then for i = 1, 200 do Instance.new('Part').Parent = target.Character end end notify('Crash', 'Sent crash to ' .. target.Name) end) -- =================== CHARACTER EFFECTS (39-46) =================== -- 39. spin2 / unspin2 - Spin your character spin2BAV = nil addcmd('spin2', {}, function(args, speaker) if spin2BAV then spin2BAV:Destroy() spin2BAV = nil return notify('Spin','OFF') end local r = getRoot(speaker.Character) if not r then return end spin2BAV = Instance.new('BodyAngularVelocity') spin2BAV.Name = randomString() spin2BAV.AngularVelocity = Vector3.new(0, 50, 0) spin2BAV.MaxTorque = Vector3.new(0, math.huge, 0) spin2BAV.Parent = r notify('Spin', 'ON') end) -- 40. seizure / unseizure - Random rapid pose changes seizureConn = nil seizureParts = {} addcmd('seizure', {}, function(args, speaker) if seizureConn then seizureConn:Disconnect() seizureConn = nil for _, p in pairs(seizureParts) do pcall(function() p:Destroy() end) end seizureParts = {} return notify('Seizure','OFF') end seizureConn = RunService.Heartbeat:Connect(function() local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.CameraOffset = Vector3.new(math.random(-2,2), math.random(-2,2), math.random(-2,2)) h.Sit = math.random(0,1) == 1 end end) notify('Seizure', 'ON') end) -- 41. fire [color] / unfire fireObj = nil addcmd('fire', {}, function(args, speaker) if fireObj then fireObj:Destroy() fireObj = nil return notify('Fire','OFF') end local col = Color3.fromRGB(255, 100, 0) if args[1] then local c = args[1]:gsub('#','') if #c == 6 then col = Color3.fromRGB(tonumber(c:sub(1,2),16), tonumber(c:sub(3,4),16), tonumber(c:sub(5,6),16)) end end local r = getRoot(speaker.Character) if not r then return end fireObj = Instance.new('Fire') fireObj.Color = col fireObj.SecondaryColor = Color3.fromRGB(255, 200, 0) fireObj.Size = 8 fireObj.Heat = 10 fireObj.Parent = r notify('Fire', 'ON') end) -- 42. sparkles [color] / unsparkles sparklesObj = nil addcmd('sparkles', {}, function(args, speaker) if sparklesObj then sparklesObj:Destroy() sparklesObj = nil return notify('Sparkles','OFF') end local col = Color3.fromRGB(255, 215, 0) if args[1] then local c = args[1]:gsub('#','') if #c == 6 then col = Color3.fromRGB(tonumber(c:sub(1,2),16), tonumber(c:sub(3,4),16), tonumber(c:sub(5,6),16)) end end local r = getRoot(speaker.Character) if not r then return end sparklesObj = Instance.new('Sparkles') sparklesObj.SparkleColor = col sparklesObj.Parent = r notify('Sparkles', 'ON') end) -- 43. smoke [color] / unsmoke smokeObj = nil addcmd('smoke', {}, function(args, speaker) if smokeObj then smokeObj:Destroy() smokeObj = nil return notify('Smoke','OFF') end local col = Color3.fromRGB(100, 100, 100) if args[1] then local c = args[1]:gsub('#','') if #c == 6 then col = Color3.fromRGB(tonumber(c:sub(1,2),16), tonumber(c:sub(3,4),16), tonumber(c:sub(5,6),16)) end end local r = getRoot(speaker.Character) if not r then return end smokeObj = Instance.new('Smoke') smokeObj.Color = col smokeObj.Opacity = 0.5 smokeObj.RiseVelocity = 5 smokeObj.Parent = r notify('Smoke', 'ON') end) -- 44. tiny / untiny - Make yourself tiny tinyActive = false tinyScales = {} addcmd('tiny', {}, function(args, speaker) if tinyActive then tinyActive = false local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then local bsc = h:FindFirstChild('BodyScale') or h:FindFirstChild('BodyDepthScale') if bsc then bsc.Value = 1 end for _, s in pairs({'BodyHeightScale','BodyWidthScale','BodyDepthScale','HeadScale'}) do local sc = h:FindFirstChild(s) if sc then sc.Value = tinyScales[s] or 1 end end end return notify('Tiny','OFF') end tinyActive = true local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then for _, s in pairs({'BodyHeightScale','BodyWidthScale','BodyDepthScale','HeadScale'}) do local sc = h:FindFirstChild(s) if sc then tinyScales[s] = sc.Value sc.Value = 0.1 end end end notify('Tiny', 'ON - you are tiny!') end) -- 45. giant / ungiant - Make yourself giant giantActive = false giantScales = {} addcmd('giant', {}, function(args, speaker) if giantActive then giantActive = false local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then for _, s in pairs({'BodyHeightScale','BodyWidthScale','BodyDepthScale','HeadScale'}) do local sc = h:FindFirstChild(s) if sc then sc.Value = giantScales[s] or 1 end end end return notify('Giant','OFF') end giantActive = true local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then for _, s in pairs({'BodyHeightScale','BodyWidthScale','BodyDepthScale','HeadScale'}) do local sc = h:FindFirstChild(s) if sc then giantScales[s] = sc.Value sc.Value = 5 end end end notify('Giant', 'ON - you are HUGE!') end) -- 46. npp / unnpp - No Player Parts (makes you invisible to others by removing visual parts locally) nppActive = false nppParts = {} addcmd('npp', {}, function(args, speaker) if not speaker.Character then return end if nppActive then nppActive = false for _, v in pairs(nppParts) do pcall(function() v.part.Transparency = v.orig end) end nppParts = {} return notify('NPP','OFF') end nppActive = true for _, p in pairs(speaker.Character:GetDescendants()) do if p:IsA('BasePart') and p.Name ~= 'HumanoidRootPart' then nppParts[#nppParts+1] = {part = p, orig = p.Transparency} p.Transparency = 1 end end for _, v in pairs(nppParts) do v.part.LocalTransparencyModifier = 0 end notify('NPP', 'ON - invisible to others') end) -- =================== ENVIRONMENT (47-50) =================== -- 47. fullbright / unfullbright - Maximum brightness everywhere fullbrightActive = false fullbrightOrig = {} addcmd('fullbright', {'fb'}, function(args, speaker) if fullbrightActive then fullbrightActive = false local l = game:GetService('Lighting') l.Brightness = fullbrightOrig.brightness or 2 l.Ambient = fullbrightOrig.ambient or Color3.fromRGB(128,128,128) l.OutdoorAmbient = fullbrightOrig.outdoor or Color3.fromRGB(128,128,128) l.ClockTime = fullbrightOrig.time or 14 l.FogEnd = fullbrightOrig.fogend or 100000 if fullbrightOrig.cc then fullbrightOrig.cc.Enabled = false end return notify('Fullbright','OFF') end fullbrightActive = true local l = game:GetService('Lighting') fullbrightOrig = { brightness = l.Brightness, ambient = l.Ambient, outdoor = l.OutdoorAmbient, time = l.ClockTime, fogend = l.FogEnd, cc = l:FindFirstChildOfClass('ColorCorrectionEffect'), } l.Brightness = 3 l.Ambient = Color3.fromRGB(200,200,200) l.OutdoorAmbient = Color3.fromRGB(200,200,200) l.ClockTime = 14 l.FogEnd = 100000 local cc = l:FindFirstChildOfClass('ColorCorrectionEffect') if not cc then cc = Instance.new('ColorCorrectionEffect') cc.Parent = l fullbrightOrig.cc = cc end cc.Brightness = 0.2 cc.Contrast = 0.1 cc.Saturation = 0.1 cc.Enabled = true notify('Fullbright', 'ON - everything is bright!') end) -- 48. removeterrain - Remove all terrain addcmd('removeterrain', {'noterrain'}, function(args, speaker) local t = workspace:FindFirstChild('Terrain') if t then t.Transparency = 1 t.Parent = nil end notify('Remove Terrain', 'Terrain removed!') end) -- 49. music [id] / stopmusic - Play/stop music musicSound = nil addcmd('music', {'playmusic'}, function(args, speaker) if not args[1] then return notify('Music','Usage: music [assetid]') end if musicSound then musicSound:Destroy() end musicSound = Instance.new('Sound') musicSound.SoundId = 'rbxassetid://' .. args[1] musicSound.Volume = 1 musicSound.Looped = true musicSound.Parent = workspace musicSound:Play() notify('Music', 'Playing ID: ' .. args[1]) end) addcmd('stopmusic', {'nomusic'}, function(args, speaker) if musicSound then musicSound:Stop() musicSound:Destroy() musicSound = nil end notify('Music', 'Stopped!') end) -- 50. gravity [num] - Set workspace gravity addcmd('gravity', {}, function(args, speaker) local g = tonumber(args[1]) or 196.2 workspace.Gravity = g notify('Gravity', 'Set to ' .. g) end) -- ======================== SMART ESP (MM2) - SERVERSIDED ======================== -- Client-side Highlight (body glow, only you) + SERVERSIDED Part in Workspace (ALL players see billboard!) -- 4-method MM2 role detection: exact names, deep scan, tool class, game-specific values -- Click any player to fling them (up/down jitter + insane spin, return to original pos) -- Usage: smartesp | unsmartesp | togglesmartesp smartespActive = false smartespFlinging = false smartespHighlights = {} -- client-side body glow smartespSSParts = {} -- SERVERSIDED parts in workspace (replicate to ALL players!) smartespBills = {} smartespCharConns = {} smartespMainConn = nil smartespClickConn = nil smartespPlayerAddConn = nil smartespPlayerRemConn = nil -- MM2 Role Detection - 4 METHODS for maximum compatibility local function smartesp_GetRole(player) local char = player.Character if not char then return "Innocent" end local bp = player.Backpack -- METHOD 1: Exact tool name match (standard MM2 naming) local knifeNames = {"Knife", "Combat Knife", "Vintage Knife", "Classic Knife", "Healing Knife", "Murder Knife", "Knife (Murder Mystery)"} local gunNames = {"Gun", "Revolver", "Pistol", "Shotgun", "Rifle", "Sheriff Gun", "Gun (Sheriff)", "Bow", "Crossbow"} local function checkExact(container) if not container then return nil end for _, name in ipairs(knifeNames) do if container:FindFirstChild(name) then return "Murderer" end end for _, name in ipairs(gunNames) do if container:FindFirstChild(name) then return "Sheriff" end end return nil end local r = checkExact(bp) or checkExact(char) if r then return r end -- METHOD 2: Deep scan ALL descendants (catches nested tools, folders, etc.) local function deepScan(container) if not container then return nil end for _, v in pairs(container:GetDescendants()) do local n = v.Name:lower() if n:find("knife") and not n:find("pocket") and not n:find("trading") and not n:find("knife_juggle") then return "Murderer" end if n:find("revolver") or (n:find("gun") and not n:find("gunpowder")) or n:find("pistol") or n:find("shotgun") or n:find("rifle") or n:find("bat") then return "Sheriff" end end return nil end r = deepScan(bp) or deepScan(char) if r then return r end -- METHOD 3: Check Tool class objects + alternative weapon names local function toolScan(container) if not container then return nil end for _, v in pairs(container:GetChildren()) do if v:IsA("Tool") then local n = v.Name:lower() -- Murderer weapons if n:find("knife") or n:find("blade") or n:find("dagger") or n:find("machete") or n:find("cleaver") or n:find("sickle") or n:find("scythe") then return "Murderer" end -- Sheriff weapons if n:find("gun") or n:find("shoot") or n:find("revolver") or n:find("pistol") or n:find("rifle") or n:find("sniper") or n:find("bow") or n:find("crossbow") or n:find("taser") or n:find("baton") then return "Sheriff" end -- Check ToolTip if available pcall(function() local tip = v:FindFirstChild("ToolTip") if tip and tip:IsA("StringValue") then local t = tip.Value:lower() if t:find("knife") or t:find("murder") then return "Murderer" end if t:find("gun") or t:find("shoot") or t:find("sheriff") then return "Sheriff" end end end) end end return nil end r = toolScan(bp) or toolScan(char) if r then return r end -- METHOD 4: Game-specific role storage (leaderstats, character values, modules) pcall(function() -- Check leaderstats for role local ls = player:FindFirstChild("leaderstats") if ls then for _, v in pairs(ls:GetChildren()) do if v:IsA("StringValue") or v:IsA("IntValue") or v:IsA("BoolValue") then local n = v.Name:lower() if n:find("role") or n:find("team") or n:find("class") or n:find("side") then local val = tostring(v.Value):lower() if val:find("murder") then return "Murderer" end if val:find("sheriff") or val:find("police") or val:find("deputy") then return "Sheriff" end if val:find("innocent") or val:find("survivor") or val:find("civilian") then return "Innocent" end end end end end -- Check character for role values for _, v in pairs(char:GetChildren()) do if v:IsA("StringValue") or v:IsA("IntValue") or v:IsA("BoolValue") or v:IsA("ObjectValue") then local n = v.Name:lower() if n:find("role") or n:find("team") or n:find("class") or n:find("state") then local val = tostring(v.Value):lower() if val:find("murder") then return "Murderer" end if val:find("sheriff") or val:find("police") then return "Sheriff" end if val:find("innocent") or val:find("survivor") then return "Innocent" end end end end -- Check workspace for MM2 round system modules for _, obj in pairs(workspace:GetChildren()) do if obj:IsA("ModuleScript") or obj:IsA("Configuration") or obj:IsA("Folder") then local n = obj.Name:lower() if n:find("round") or n:find("game") or n:find("mm2") or n:find("murder") then pcall(function() for _, v in pairs(obj:GetDescendants()) do if v:IsA("StringValue") and v.Name:lower():find("role") then local val = tostring(v.Value):lower() if val:find("murder") then return "Murderer" end if val:find("sheriff") then return "Sheriff" end end end end) end end end end) return "Innocent" end -- Get player's tools (equipped + backpack) local function smartesp_GetTools(player) local tools = {} if player.Backpack then for _, v in pairs(player.Backpack:GetChildren()) do if v:IsA("Tool") then tools[#tools+1] = v.Name end end end if player.Character then for _, v in pairs(player.Character:GetChildren()) do if v:IsA("Tool") then tools[#tools+1] = v.Name end end end return tools end -- Calculate account age in days local function smartesp_GetAge(player) local ok, info = pcall(function() return player.AccountAge end) if ok and info then return info .. "d" end return "?d" end local smartesp_Colors = { Murderer = Color3.fromRGB(255, 0, 0), Sheriff = Color3.fromRGB(0, 100, 255), Innocent = Color3.fromRGB(0, 255, 0), } local function smartesp_AddTo(player) if not player or not player.Character then return end smartesp_RemoveFrom(player) local char = player.Character local head = char:FindFirstChild("Head") if not head then return end local role = smartesp_GetRole(player) local color = smartesp_Colors[role] or Color3.fromRGB(128, 128, 128) -- CLIENT-SIDE: Highlight for body glow (only you see) local hl = Instance.new("Highlight") hl.Name = "ArcYieldSmartESP" hl.Adornee = char hl.FillColor = color hl.OutlineColor = Color3.fromRGB(255, 255, 255) hl.FillTransparency = 0.4 hl.OutlineTransparency = 0 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = char smartespHighlights[player] = hl -- SERVERSIDED: UNANCHORED Part in Workspace (physics engine replicates to ALL players!) -- NO WeldConstraints - we teleport this part every frame in the heartbeat loop local ssPart = Instance.new("Part") ssPart.Name = "ArcYieldSS_" .. player.Name ssPart.Size = Vector3.new(0.1, 0.1, 0.1) ssPart.Transparency = 1 ssPart.CanCollide = false ssPart.Anchored = false ssPart.Position = head.Position + Vector3.new(0, 6, 0) ssPart.Parent = workspace smartespSSParts[player] = ssPart -- SERVERSIDED BillboardGui (visible to ALL players!) local bb = Instance.new("BillboardGui") bb.Name = "ArcYieldSS_BB" bb.Adornee = ssPart bb.Size = UDim2.new(0, 300, 0, 180) bb.StudsOffset = Vector3.new(0, 3.5, 0) bb.AlwaysOnTop = true bb.MaxDistance = 5000 bb.Parent = ssPart -- Background frame local bg = Instance.new("Frame") bg.Size = UDim2.new(1, 0, 1, 0) bg.BackgroundColor3 = Color3.fromRGB(10, 10, 30) bg.BackgroundTransparency = 0.25 bg.BorderSizePixel = 0 bg.Parent = bb local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = bg -- Role label (top, bold, colored) local roleLbl = Instance.new("TextLabel") roleLbl.Name = "RoleLabel" roleLbl.Size = UDim2.new(1, 0, 0, 28) roleLbl.Position = UDim2.new(0, 0, 0, 4) roleLbl.BackgroundTransparency = 1 roleLbl.Text = "[ " .. role:upper() .. " ]" roleLbl.TextColor3 = color roleLbl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) roleLbl.TextStrokeTransparency = 0 roleLbl.Font = Enum.Font.GothamBold roleLbl.TextScaled = true roleLbl.Parent = bg -- Player name local nameLbl = Instance.new("TextLabel") nameLbl.Name = "NameLabel" nameLbl.Size = UDim2.new(1, 0, 0, 22) nameLbl.Position = UDim2.new(0, 0, 0, 32) nameLbl.BackgroundTransparency = 1 nameLbl.Text = player.DisplayName .. " (@" .. player.Name .. ")" nameLbl.TextColor3 = Color3.fromRGB(255, 255, 255) nameLbl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) nameLbl.TextStrokeTransparency = 0.3 nameLbl.Font = Enum.Font.GothamBold nameLbl.TextScaled = true nameLbl.Parent = bg -- Age local ageLbl = Instance.new("TextLabel") ageLbl.Name = "AgeLabel" ageLbl.Size = UDim2.new(1, 0, 0, 20) ageLbl.Position = UDim2.new(0, 0, 0, 54) ageLbl.BackgroundTransparency = 1 ageLbl.Text = "Age: " .. smartesp_GetAge(player) ageLbl.TextColor3 = Color3.fromRGB(200, 200, 200) ageLbl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) ageLbl.TextStrokeTransparency = 0.5 ageLbl.Font = Enum.Font.Gotham ageLbl.TextScaled = true ageLbl.Parent = bg -- Distance (updated every frame) local distLbl = Instance.new("TextLabel") distLbl.Name = "DistLabel" distLbl.Size = UDim2.new(1, 0, 0, 20) distLbl.Position = UDim2.new(0, 0, 0, 74) distLbl.BackgroundTransparency = 1 distLbl.Text = "0 studs" distLbl.TextColor3 = Color3.fromRGB(255, 255, 100) distLbl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) distLbl.TextStrokeTransparency = 0.5 distLbl.Font = Enum.Font.Gotham distLbl.TextScaled = true distLbl.Parent = bg -- Avatar thumbnail local imgLbl = Instance.new("ImageLabel") imgLbl.Name = "AvatarLabel" imgLbl.Size = UDim2.new(0, 40, 0, 40) imgLbl.Position = UDim2.new(0, 5, 0, 98) imgLbl.BackgroundColor3 = Color3.fromRGB(40, 40, 60) imgLbl.BorderSizePixel = 0 imgLbl.Parent = bg local imgCorner = Instance.new("UICorner") imgCorner.CornerRadius = UDim.new(1, 0) imgCorner.Parent = imgLbl pcall(function() local thumbUrl = Players:GetUserThumbnailAsync(player.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size100x100) imgLbl.Image = thumbUrl end) -- Tools label (updated every frame) local toolsLbl = Instance.new("TextLabel") toolsLbl.Name = "ToolsLabel" toolsLbl.Size = UDim2.new(1, -50, 0, 50) toolsLbl.Position = UDim2.new(0, 50, 0, 98) toolsLbl.BackgroundTransparency = 1 toolsLbl.Text = "Tools: " toolsLbl.TextColor3 = Color3.fromRGB(180, 180, 255) toolsLbl.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) toolsLbl.TextStrokeTransparency = 0.5 toolsLbl.Font = Enum.Font.Gotham toolsLbl.TextScaled = true toolsLbl.TextWrapped = true toolsLbl.TextXAlignment = Enum.TextXAlignment.Left toolsLbl.Parent = bg -- Health bar local hpBg = Instance.new("Frame") hpBg.Name = "HpBg" hpBg.Size = UDim2.new(0.9, 0, 0, 8) hpBg.Position = UDim2.new(0.05, 0, 0, 155) hpBg.BackgroundColor3 = Color3.fromRGB(60, 0, 0) hpBg.BorderSizePixel = 0 hpBg.Parent = bg local hpCorner = Instance.new("UICorner") hpCorner.CornerRadius = UDim.new(0, 4) hpCorner.Parent = hpBg local hpBar = Instance.new("Frame") hpBar.Name = "HpBar" hpBar.Size = UDim2.new(1, 0, 1, 0) hpBar.BackgroundColor3 = Color3.fromRGB(0, 255, 0) hpBar.BorderSizePixel = 0 hpBar.Parent = hpBg local hpBarCorner = Instance.new("UICorner") hpBarCorner.CornerRadius = UDim.new(0, 4) hpBarCorner.Parent = hpBar smartespBills[player] = bb end local function smartesp_RemoveFrom(player) pcall(function() if smartespHighlights[player] then if smartespHighlights[player].Parent then smartespHighlights[player]:Destroy() end smartespHighlights[player] = nil end end) pcall(function() if smartespSSParts[player] then if smartespSSParts[player].Parent then smartespSSParts[player]:Destroy() end smartespSSParts[player] = nil end end) pcall(function() if smartespBills[player] then if smartespBills[player].Parent then smartespBills[player]:Destroy() end smartespBills[player] = nil end end) pcall(function() if smartespCharConns[player] then smartespCharConns[player]:Disconnect() smartespCharConns[player] = nil end end) -- Clean up any leftover workspace parts pcall(function() local leftover = workspace:FindFirstChild("ArcYieldSS_" .. player.Name) if leftover then leftover:Destroy() end end) end -- Click-to-fling: up/down jitter at light speed + insane spin, return to original pos local function smartesp_Fling(targetPlayer, speaker) if smartespFlinging then return end smartespFlinging = true local me = speaker.Character local myRoot = getRoot(me) if not me or not myRoot then smartespFlinging = false return end local tChar = targetPlayer.Character local tRoot = tChar and tChar:FindFirstChild("HumanoidRootPart") if not tRoot or not tRoot.Parent then smartespFlinging = false return end local savedCFrame = myRoot.CFrame -- Noclip for _, v in pairs(me:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end -- BodyAngularVelocity for insane spin local bav = Instance.new("BodyAngularVelocity") bav.Name = randomString() bav.AngularVelocity = Vector3.new(999999, 999999, 999999) bav.MaxTorque = Vector3.new(1e9, 1e9, 1e9) bav.P = 1e9 bav.Parent = myRoot local step = 0 local done = false local conn = RunService.Heartbeat:Connect(function() if done then return end if not tRoot or not tRoot.Parent then done = true return end step = step + 1 -- ONLY up/down jitter at light speed (BAV handles spinning, stay on the player) local jY = math.sin(step * 2.0) * 10 myRoot.CFrame = tRoot.CFrame + Vector3.new(0, jY, 0) -- Once target is flying fast enough, end fling local vel = tRoot.AssemblyLinearVelocity if vel.Magnitude > 500 then done = true end end) task.spawn(function() while not done do task.wait(0.01) end conn:Disconnect() task.wait(0.2) if bav and bav.Parent then bav:Destroy() end myRoot.CFrame = savedCFrame for _, v in pairs(me:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = true end end smartespFlinging = false notify('Smart ESP', 'Fling complete! Returned to original position.') end) notify('Smart ESP', 'Flinging ' .. targetPlayer.Name .. '...') end -- ===== COMMAND: smartesp ===== addcmd('smartesp', {}, function(args, speaker) if smartespActive then execCmd('unsmartesp') return end smartespActive = true for _, p in pairs(Players:GetPlayers()) do if p ~= speaker then pcall(function() smartesp_AddTo(p) end) end end for _, p in pairs(Players:GetPlayers()) do if p ~= speaker then local conn = p.CharacterAdded:Connect(function(c) if not smartespActive then return end task.wait(2) if smartespActive then pcall(function() smartesp_AddTo(p) end) end end) smartespCharConns[p] = conn end end smartespPlayerAddConn = Players.PlayerAdded:Connect(function(p) if not smartespActive then return end local conn = p.CharacterAdded:Connect(function(c) if not smartespActive then return end task.wait(2) if smartespActive then pcall(function() smartesp_AddTo(p) end) end end) smartespCharConns[p] = conn task.wait(0.5) if smartespActive then pcall(function() smartesp_AddTo(p) end) end end) smartespPlayerRemConn = Players.PlayerRemoving:Connect(function(p) smartesp_RemoveFrom(p) end) -- Every frame: re-create destroyed highlights + update ALL info smartespMainConn = RunService.Heartbeat:Connect(function() if not smartespActive then return end local myRoot = getRoot(speaker.Character) for player, _ in pairs(Players:GetPlayers()) do if player ~= speaker then -- Re-create if highlight was destroyed if not smartespHighlights[player] or not smartespHighlights[player].Parent then if player.Character and player.Character:FindFirstChild("Head") then pcall(function() smartesp_AddTo(player) end) end end local hl = smartespHighlights[player] if hl and hl.Parent and player.Character then -- SERVERSIDED: teleport unanchored part to follow player head local ssP = smartespSSParts[player] if ssP and ssP.Parent then local tHead = player.Character:FindFirstChild("Head") if tHead then ssP.CFrame = tHead.CFrame * CFrame.new(0, 3.5, 0) ssP.AssemblyLinearVelocity = Vector3.zero ssP.AssemblyAngularVelocity = Vector3.zero end end -- Update role color local role = smartesp_GetRole(player) local color = smartesp_Colors[role] or Color3.fromRGB(128, 128, 128) hl.FillColor = color -- Update billboard info local bb = smartespBills[player] if bb and bb.Parent then local bg = bb:FindFirstChild("Frame") if bg then local roleLbl = bg:FindFirstChild("RoleLabel") if roleLbl then roleLbl.Text = "[ " .. role:upper() .. " ]" roleLbl.TextColor3 = color end local distLbl = bg:FindFirstChild("DistLabel") if distLbl and myRoot then local tRoot = player.Character:FindFirstChild("HumanoidRootPart") if tRoot then local dist = math.floor((tRoot.Position - myRoot.Position).Magnitude) distLbl.Text = dist .. " studs away" end end local toolsLbl = bg:FindFirstChild("ToolsLabel") if toolsLbl then local tools = smartesp_GetTools(player) if #tools > 0 then toolsLbl.Text = "Tools: " .. table.concat(tools, ", ") else toolsLbl.Text = "Tools: None" end end local hpBar = bg:FindFirstChild("HpBg") if hpBar then local bar = hpBar:FindFirstChild("HpBar") if bar then local hum = player.Character:FindFirstChildOfClass("Humanoid") if hum then local pct = math.clamp(hum.Health / hum.MaxHealth, 0, 1) bar.Size = UDim2.new(pct, 0, 1, 0) bar.BackgroundColor3 = pct > 0.5 and Color3.fromRGB(0,255,0) or pct > 0.25 and Color3.fromRGB(255,255,0) or Color3.fromRGB(255,0,0) end end end end end end end end end) -- Click-to-fling local UIS = game:GetService("UserInputService") smartespClickConn = UIS.InputBegan:Connect(function(input, gpe) if gpe then return end if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end if smartespFlinging then return end local mouse = Players.LocalPlayer:GetMouse() local cam = workspace.CurrentCamera local ray = cam:ScreenPointToRay(mouse.X, mouse.Y) local params = RaycastParams.new() params.FilterDescendantsInstances = {speaker.Character} params.FilterType = Enum.RaycastFilterType.Exclude local hit = workspace:Raycast(ray.Origin, ray.Direction * 1000, params) if hit then for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character then local ok = pcall(function() return p.Character:IsAncestorOf(hit.Instance) end) if ok then task.spawn(function() smartesp_Fling(p, speaker) end) break end end end end end) showArcPopup('Smart ESP', true) notify('Smart ESP', 'SERVERSIDED ON! All players see billboards. Click to fling!') end) -- ===== COMMAND: unsmartesp ===== addcmd('unsmartesp', {'nosmartesp'}, function(args, speaker) smartespActive = false smartespFlinging = false if smartespMainConn then pcall(function() smartespMainConn:Disconnect() end) smartespMainConn = nil end if smartespClickConn then pcall(function() smartespClickConn:Disconnect() end) smartespClickConn = nil end if smartespPlayerAddConn then pcall(function() smartespPlayerAddConn:Disconnect() end) smartespPlayerAddConn = nil end if smartespPlayerRemConn then pcall(function() smartespPlayerRemConn:Disconnect() end) smartespPlayerRemConn = nil end for _, p in pairs(Players:GetPlayers()) do smartesp_RemoveFrom(p) end smartespHighlights = {} smartespSSParts = {} smartespBills = {} smartespCharConns = {} -- Clean ALL leftover workspace parts for _, obj in pairs(workspace:GetChildren()) do if obj.Name:find("ArcYieldSS_") then pcall(function() obj:Destroy() end) end end showArcPopup('Smart ESP', false) end) -- ===== COMMAND: togglesmartesp ===== addcmd('togglesmartesp', {}, function(args, speaker) if smartespActive then execCmd('unsmartesp') else execCmd('smartesp') end end) -- ======================== MM2 (LOAD BUBBLY MM2) ======================== addcmd('mm2', {}, function(args, speaker) notify('Arc Yield', 'Loading Bubbly MM2...') local success, err = pcall(function() loadstring(readfile("Bubbly_MM2.lua"))() end) if not success then notify('Arc Yield', 'Put Bubbly_MM2.lua in executor workspace folder! Error: ' .. tostring(err)) end end) addcmd('unmm2', {'nomm2', 'mm2off'}, function(args, speaker) notify('Arc Yield', 'Use Bubbly MM2 unload if available, or rejoin.') end) -- ======================== ASSIST ======================== -- MM2 auto-play helper. Detects murderer role, provides ESP, aim lock, rush, and panic TP. -- Usage: assist | unassist assistActive = false assistConn = nil assistMurderer = nil assistAimLock = false assistRush = false assistEspObjects = {} assistKeyConns = {} local function mm2_GetRole(player) if not player or not player.Character then return nil end local backpack = player:FindFirstChild('Backpack') local char = player.Character -- Check for knife (murderer) for _, item in pairs(char:GetChildren()) do if item:IsA('Tool') then local n = item.Name:lower() if n:find('knife') or n:find('murder') then return 'murderer' end end end if backpack then for _, item in pairs(backpack:GetChildren()) do if item:IsA('Tool') then local n = item.Name:lower() if n:find('knife') or n:find('murder') then return 'murderer' end end end end -- Check for gun (sheriff) for _, item in pairs(char:GetChildren()) do if item:IsA('Tool') then local n = item.Name:lower() if n:find('gun') or n:find('revolver') or n:find('pistol') or n:find('sheriff') then return 'sheriff' end end end if backpack then for _, item in pairs(backpack:GetChildren()) do if item:IsA('Tool') then local n = item.Name:lower() if n:find('gun') or n:find('revolver') or n:find('pistol') or n:find('sheriff') then return 'sheriff' end end end end return 'innocent' end local function assist_ClearESP() for _, obj in pairs(assistEspObjects) do pcall(function() obj:Destroy() end) end assistEspObjects = {} end local function assist_CreateESP(player, color) local char = player.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end -- Billboard for name + role local bb = Instance.new('BillboardGui') bb.Name = randomString() bb.Adornee = head bb.Size = UDim2.new(0, 200, 0, 50) bb.StudsOffset = Vector3.new(0, 3, 0) bb.AlwaysOnTop = true bb.Parent = workspace local label = Instance.new('TextLabel') label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = color label.TextStrokeColor3 = Color3.new(0, 0, 0) label.TextStrokeTransparency = 0.5 label.Font = Enum.Font.GothamBold label.TextScaled = true label.Text = player.Name .. ' [' .. mm2_GetRole(player) .. ']' label.Parent = bb -- Highlight box local hl = Instance.new('Highlight') hl.Name = randomString() hl.Adornee = char hl.FillColor = color hl.FillTransparency = 0.5 hl.OutlineColor = color hl.OutlineTransparency = 0 hl.Parent = char table.insert(assistEspObjects, bb) table.insert(assistEspObjects, hl) end addcmd('assist', {'mma', 'mm2assist'}, function(args, speaker) if assistActive then execCmd('unassist') return end local char = speaker.Character if not char or not getRoot(char) then notify('Assist', 'Character not found') return end assistActive = true assistAimLock = false assistRush = false notify('Assist', 'Assist enabled! [R] Aim lock, [F] Rush mode. Scanning for murderer...') -- Main loop: detect murderer, ESP, aim lock, rush assistConn = RunService.Heartbeat:Connect(function(dt) if not assistActive then return end -- Rescan for murderer local foundMurderer = nil for _, plr in pairs(Players:GetPlayers()) do if plr ~= speaker and plr.Character and mm2_GetRole(plr) == 'murderer' then foundMurderer = plr break end end if foundMurderer and foundMurderer ~= assistMurderer then assistMurderer = foundMurderer assist_ClearESP() assist_CreateESP(foundMurderer, Color3.fromRGB(255, 0, 0)) notify('Assist', 'Murderer found: ' .. foundMurderer.Name) elseif not foundMurderer and assistMurderer then assistMurderer = nil assist_ClearESP() end -- Aim lock: move camera toward murderer if assistAimLock and assistMurderer and assistMurderer.Character then local mHead = assistMurderer.Character:FindFirstChild('Head') if mHead then local cam = workspace.CurrentCamera cam.CFrame = CFrame.lookAt(cam.CFrame.Position, mHead.Position) end end -- Rush: walk toward murderer at high speed if assistRush and assistMurderer and assistMurderer.Character then local mRoot = getRoot(assistMurderer.Character) local myRoot = getRoot(speaker.Character) if mRoot and myRoot then local dir = (mRoot.Position - myRoot.Position) dir = Vector3.new(dir.X, 0, dir.Z) if dir.Magnitude > 0 then local myHum = speaker.Character:FindFirstChildWhichIsA('Humanoid') if myHum then myHum.WalkSpeed = 25 myHum:Move(dir.Unit) end end end end -- Panic teleport: if murderer is very close and rush is off, auto-teleport away if not assistRush and assistMurderer and assistMurderer.Character then local mRoot = getRoot(assistMurderer.Character) local myRoot = getRoot(speaker.Character) if mRoot and myRoot then local dist = (mRoot.Position - myRoot.Position).Magnitude if dist < 8 then local awayDir = (myRoot.Position - mRoot.Position).Unit * 30 pcall(function() speaker.Character:PivotTo(myRoot.CFrame + awayDir) end) end end end end) -- Key handlers table.insert(assistKeyConns, UIS.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.R then assistAimLock = not assistAimLock notify('Assist', 'Aim lock: ' .. tostring(assistAimLock)) elseif input.KeyCode == Enum.KeyCode.F then assistRush = not assistRush notify('Assist', 'Rush mode: ' .. tostring(assistRush)) if not assistRush then local myHum = speaker.Character and speaker.Character:FindFirstChildWhichIsA('Humanoid') if myHum then myHum.WalkSpeed = 16 end end end end)) showArcPopup('Assist', true) end) addcmd('unassist', {'noassist', 'assistoff'}, function(args, speaker) assistActive = false assistMurderer = nil assistAimLock = false assistRush = false if assistConn then assistConn:Disconnect() assistConn = nil end for _, conn in pairs(assistKeyConns) do pcall(function() conn:Disconnect() end) end assistKeyConns = {} assist_ClearESP() local myHum = speaker.Character and speaker.Character:FindFirstChildWhichIsA('Humanoid') if myHum then myHum.WalkSpeed = 16 end showArcPopup('Assist', false) notify('Assist', 'Assist disabled.') end) addcmd('toggleassist', {}, function(args, speaker) if assistActive then execCmd('unassist') else execCmd('assist') end end) -- ======================== SSPAM ======================== -- Serversided spam - fires chat remote rapidly with a message. -- Usage: sspam [message] | stopsspam sspamActive = false sspamConn = nil addcmd('sspam', {'spam', 'chatspam'}, function(args, speaker) if sspamActive then execCmd('stopsspam') return end local msg = table.concat(args, ' ') or 'Arc Yield on top!' if msg == '' then msg = 'Arc Yield on top!' end sspamActive = true notify('SSpam', 'Spamming: ' .. msg .. ' (run stopsspam to stop)') sspamConn = RunService.Heartbeat:Connect(function(dt) if not sspamActive then return end pcall(function() local chatRemote = game:GetService('ReplicatedStorage'):FindFirstChild('DefaultChatSystemChatEvents') if chatRemote then local sayMsg = chatRemote:FindFirstChild('SayMessageRequest') if sayMsg then sayMsg:FireServer(msg, 'All') end end end) task.wait(1.5) end) end) addcmd('stopsspam', {'unsspam', 'nospam', 'sspamoff'}, function(args, speaker) sspamActive = false if sspamConn then sspamConn:Disconnect() sspamConn = nil end notify('SSpam', 'Spam stopped.') end) -- ======================== SPAZ TOOLS ======================== -- Custom tool manipulation commands: equip, orbit, spaz, give, throw, sort, etc. -- All tool visual effects are LOCAL only (Handle CFrame/Size changes). -- The orbit/spin replicates to server so other players see tools move too. -- Shared state for tool commands spazToolsConn = nil spazToolsActive = false orbitToolsConn = nil orbitToolsActive = false sortToolsConn = nil sortToolsActive = false spinToolsConn = nil spinToolsActive = false -- Unique axis combinations so every tool spins differently local toolUniqueAxes = { {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 1, 0}, {0, 1, 1}, {1, 0, 1}, {1, 1, 1}, {2, 0.5, 0.3} } -- Helper: get all tools with handles currently parented to character local function getCharTools(char) local tools = {} for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') and v:FindFirstChild('Handle') then table.insert(tools, v) end end return tools end -- Helper: stop ALL active tool effect loops (call before starting any new one) local function stopAllToolLoops() if spazToolsConn then spazToolsConn:Disconnect() spazToolsConn = nil end if orbitToolsConn then orbitToolsConn:Disconnect() orbitToolsConn = nil end if sortToolsConn then sortToolsConn:Disconnect() sortToolsConn = nil end if spinToolsConn then spinToolsConn:Disconnect() spinToolsConn = nil end spazToolsActive = false orbitToolsActive = false sortToolsActive = false spinToolsActive = false end -- Helper: restore tool handles to normal size after tiny-mode local function restoreToolSizes(char) for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') and v:FindFirstChild('Handle') then v.Handle.Transparency = 0 -- Size is network-owned so we can't force restore it on all clients, -- but we restore it locally end end end -- equiptools - Equip all tools from backpack at once addcmd('equiptools', {'equipall'}, function(args, speaker) local char = speaker.Character if not char then return notify('Equip Tools', 'No character found!') end local count = 0 for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end count = count + 1 end end notify('Equip Tools', 'Equipped ' .. count .. ' tools!') end) -- unequiptools - Unequip all tools back to backpack addcmd('unequiptools', {'unequipall'}, function(args, speaker) stopAllToolLoops() local char = speaker.Character if not char then return notify('Unequip Tools', 'No character found!') end local count = 0 for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') then v.Parent = speaker.Backpack count = count + 1 end end restoreToolSizes(char) notify('Unequip Tools', 'Unequipped ' .. count .. ' tools!') end) -- spaztools - Equip all tools, make them orbit around you (no spinning) -- Smooth orbit, each tool evenly spaced in a circle addcmd('spaztools', {'spaz'}, function(args, speaker) if spazToolsActive then stopAllToolLoops() restoreToolSizes(speaker.Character or speaker.CharacterAdded:Wait()) return notify('Spaz Tools', 'OFF') end stopAllToolLoops() local char = speaker.Character if not char then return notify('Spaz Tools', 'No character found!') end -- Equip all tools first for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end -- Parse optional settings from args local orbitSpeed = tonumber(args[1]) or 4 local orbitRadius = tonumber(args[2]) or 8 local orbitHeight = tonumber(args[3]) or 2 local angle = 0 spazToolsActive = true spazToolsConn = RunService.Heartbeat:Connect(function(dt) local hrp = getRoot(char) if not hrp or not spazToolsActive then return end local tools = getCharTools(char) if #tools == 0 then return end angle = angle + dt * orbitSpeed for i, tool in ipairs(tools) do local handle = tool.Handle -- LAG FIX: Make tool tiny locally so your GPU doesn't render the full 3D model handle.Size = Vector3.new(0.01, 0.01, 0.01) -- Evenly space tools in a circle around player local angleOffset = (2 * math.pi / #tools) * (i - 1) local a = angle + angleOffset local x = math.cos(a) * orbitRadius local z = math.sin(a) * orbitRadius local orbitPosition = hrp.CFrame * CFrame.new(x, orbitHeight, z) -- Face outward from center local lookAt = orbitPosition * CFrame.Angles(0, a + math.pi / 2, 0) -- This replicates to server so others see them move too handle.CFrame = lookAt end end) notify('Spaz Tools', 'ON - Tools orbiting! (speed: ' .. orbitSpeed .. ')') end) -- orbitttools - Orbit all tools around you (smooth orbit, no crazy spinning) addcmd('orbitttools', {'toolorbit'}, function(args, speaker) if orbitToolsActive then stopAllToolLoops() restoreToolSizes(speaker.Character or speaker.CharacterAdded:Wait()) return notify('Orbit Tools', 'OFF') end stopAllToolLoops() local char = speaker.Character if not char then return notify('Orbit Tools', 'No character found!') end -- Equip all tools for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local speed = tonumber(args[1]) or 3 local radius = tonumber(args[2]) or 6 local height = tonumber(args[3]) or 2 local angle = 0 orbitToolsActive = true orbitToolsConn = RunService.Heartbeat:Connect(function(dt) local hrp = getRoot(char) if not hrp or not orbitToolsActive then return end local tools = getCharTools(char) if #tools == 0 then return end angle = angle + dt * speed for i, tool in ipairs(tools) do local handle = tool.Handle -- Keep tools at normal size for a clean orbit look handle.Size = Vector3.new(0.01, 0.01, 0.01) local angleOffset = (2 * math.pi / #tools) * (i - 1) local a = angle + angleOffset local x = math.cos(a) * radius local z = math.sin(a) * radius local orbitPos = hrp.CFrame * CFrame.new(x, height, z) -- Face outward from center local lookAt = orbitPos * CFrame.Angles(0, a + math.pi / 2, 0) handle.CFrame = lookAt end end) notify('Orbit Tools', 'ON - ' .. #getCharTools(char) .. ' tools orbiting!') end) -- toolspin - Spin all equipped tools in place (no orbiting, just spinning) addcmd('toolspin', {}, function(args, speaker) if spinToolsActive then stopAllToolLoops() restoreToolSizes(speaker.Character or speaker.CharacterAdded:Wait()) return notify('Tool Spin', 'OFF') end stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Spin', 'No character found!') end -- Equip all tools for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local spinSpeed = tonumber(args[1]) or 10 spinToolsActive = true local startTime = tick() spinToolsConn = RunService.RenderStepped:Connect(function() if not spinToolsActive then return end local tools = getCharTools(char) if #tools == 0 then return end local elapsed = tick() - startTime for i, tool in ipairs(tools) do local handle = tool.Handle handle.Size = Vector3.new(0.01, 0.01, 0.01) local axisData = toolUniqueAxes[((i - 1) % #toolUniqueAxes) + 1] local spinX = elapsed * spinSpeed * axisData[1] local spinY = elapsed * spinSpeed * axisData[2] local spinZ = elapsed * spinSpeed * axisData[3] local hrp = getRoot(char) if hrp then handle.CFrame = hrp.CFrame * CFrame.new(0, 3, 0) * CFrame.Angles(spinX, spinY, spinZ) end end end) notify('Tool Spin', 'ON - Spinning ' .. #getCharTools(char) .. ' tools!') end) -- toolsort - Arrange all tools in a neat formation (circle, line, grid) -- Usage: toolsort circle/line/grid [radius/spacing] addcmd('toolsort', {}, function(args, speaker) if sortToolsActive then stopAllToolLoops() restoreToolSizes(speaker.Character or speaker.CharacterAdded:Wait()) return notify('Tool Sort', 'OFF') end stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Sort', 'No character found!') end -- Equip all tools for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local formation = (args[1] or 'circle'):lower() local param = tonumber(args[2]) or 5 sortToolsActive = true sortToolsConn = RunService.Heartbeat:Connect(function() local hrp = getRoot(char) if not hrp or not sortToolsActive then return end local tools = getCharTools(char) if #tools == 0 then return end for i, tool in ipairs(tools) do local handle = tool.Handle handle.Size = Vector3.new(0.01, 0.01, 0.01) local targetCFrame if formation == 'line' then -- Horizontal line in front of player local offset = (i - (#tools + 1) / 2) * param targetCFrame = hrp.CFrame * CFrame.new(offset, 3, -5) elseif formation == 'grid' then -- Grid layout local cols = math.ceil(math.sqrt(#tools)) local row = math.floor((i - 1) / cols) local col = (i - 1) % cols local offsetX = (col - (cols - 1) / 2) * param local offsetZ = row * param targetCFrame = hrp.CFrame * CFrame.new(offsetX, 3, -5 - offsetZ) else -- Circle (default) local angle = (2 * math.pi / #tools) * (i - 1) local x = math.cos(angle) * param local z = math.sin(angle) * param targetCFrame = hrp.CFrame * CFrame.new(x, 3, z) end -- Smoothly lerp to target position handle.CFrame = targetCFrame end end) notify('Tool Sort', 'ON - Formation: ' .. formation .. ' (' .. #getCharTools(char) .. ' tools)') end) -- givetool [player] [toolname] - Visually attach a tool to a player (client-side only) -- This makes it LOOK like the target player is holding the specified tool addcmd('givetool', {'faktool', 'visgive'}, function(args, speaker) if not args[1] then return notify('Give Tool', 'Usage: ;givetool player [toolname]') end if not args[2] then return notify('Give Tool', 'Usage: ;givetool player [toolname] - specify a tool name or "me" to use your equipped tool') end local players = getPlayer(args[1], speaker) if #players == 0 then return notify('Give Tool', 'Player not found!') end -- Find the tool to clone: check backpack first, then equipped local sourceTool = nil local toolName = table.concat(args, ' ', 2) -- "me" = use the tool you're currently holding if toolName:lower() == 'me' then local char = speaker.Character if char then for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') then sourceTool = v break end end end else -- Search backpack for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') and v.Name:lower():find(toolName:lower(), 1, true) then sourceTool = v break end end -- Search equipped if not sourceTool and speaker.Character then for _, v in pairs(speaker.Character:GetChildren()) do if v:IsA('Tool') and v.Name:lower():find(toolName:lower(), 1, true) then sourceTool = v break end end end end if not sourceTool then return notify('Give Tool', 'Tool "' .. toolName .. '" not found in your backpack or equipped!') end -- Clone and attach to each target player local count = 0 for _, idx in pairs(players) do local targetPlr = Players[idx] local targetChar = targetPlr.Character if targetChar then local targetRoot = getRoot(targetChar) local targetHumanoid = targetChar:FindFirstChildWhichIsA('Humanoid') if targetRoot and targetHumanoid then -- Check if we already gave them a fake tool (avoid duplicates) local existing = targetChar:FindFirstChild('__FakeTool_' .. sourceTool.Name) if existing then existing:Destroy() end local clone = sourceTool:Clone() clone.Name = '__FakeTool_' .. sourceTool.Name -- Make it purely visual (no damage, no interaction) if clone:FindFirstChild('Handle') then clone.Handle.Massless = true clone.Handle.CanCollide = false -- Remove any scripts inside for _, s in pairs(clone:GetDescendants()) do if s:IsA('Script') or s:IsA('LocalScript') then s:Destroy() end end end clone.Parent = targetChar targetHumanoid:EquipTool(clone) count = count + 1 end end end notify('Give Tool', 'Gave "' .. sourceTool.Name .. '" to ' .. count .. ' player(s)!') end) -- toolthrow - Fling all your tools forward at high speed addcmd('toolthrow', {'throwtools', 'flingtools'}, function(args, speaker) stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Throw', 'No character found!') end local hrp = getRoot(char) if not hrp then return end -- First equip all tools for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local throwSpeed = tonumber(args[1]) or 300 local count = 0 local throwDir = hrp.CFrame.LookVector for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') and v:FindFirstChild('Handle') then local handle = v.Handle -- Launch tool forward handle.AssemblyLinearVelocity = throwDir * throwSpeed + Vector3.new(0, 50, 0) count = count + 1 end end notify('Tool Throw', 'Threw ' .. count .. ' tools forward at speed ' .. throwSpeed .. '!') end) -- toolscatter - Scatter tools in random directions addcmd('toolscatter', {'scattertools'}, function(args, speaker) stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Scatter', 'No character found!') end -- Equip all tools first for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local scatterSpeed = tonumber(args[1]) or 200 local count = 0 for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') and v:FindFirstChild('Handle') then local handle = v.Handle local randDir = Vector3.new( math.random(-100, 100), math.random(50, 150), math.random(-100, 100) ).Unit handle.AssemblyLinearVelocity = randDir * scatterSpeed count = count + 1 end end notify('Tool Scatter', 'Scattered ' .. count .. ' tools randomly!') end) -- toolsnake - Tools follow each other in a snake chain behind you addcmd('toolsnake', {'snake'}, function(args, speaker) if spazToolsActive then stopAllToolLoops() restoreToolSizes(speaker.Character or speaker.CharacterAdded:Wait()) return notify('Tool Snake', 'OFF') end stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Snake', 'No character found!') end -- Equip all tools for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local spacing = tonumber(args[1]) or 3 local snakeSpeed = tonumber(args[2]) or 10 spazToolsActive = true -- Store trail positions (circular buffer) local trailPositions = {} local maxTrail = 50 spazToolsConn = RunService.Heartbeat:Connect(function(dt) local hrp = getRoot(char) if not hrp or not spazToolsActive then return end local tools = getCharTools(char) if #tools == 0 then return end -- Add current position to trail table.insert(trailPositions, hrp.Position) if #trailPositions > maxTrail then table.remove(trailPositions, 1) end -- Place each tool at an interval along the trail for i, tool in ipairs(tools) do local handle = tool.Handle handle.Size = Vector3.new(0.01, 0.01, 0.01) local trailIdx = math.max(1, #trailPositions - (i * spacing)) local targetPos = trailPositions[trailIdx] or hrp.Position local targetCFrame = CFrame.new(targetPos) * CFrame.Angles(0, tick() * snakeSpeed, 0) handle.CFrame = targetCFrame end end) notify('Tool Snake', 'ON - ' .. #getCharTools(char) .. ' tools following in a snake chain!') end) -- tooldrop - Drop all tools onto the ground beneath you (unequip + let them fall) addcmd('tooldrop', {'dropall', 'droptools'}, function(args, speaker) stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Drop', 'No character found!') end local hrp = getRoot(char) if not hrp then return end local count = 0 for _, v in pairs(char:GetChildren()) do if v:IsA('Tool') then -- Move to workspace so it drops on the ground v.Parent = workspace if v:FindFirstChild('Handle') then v.Handle.CFrame = hrp.CFrame * CFrame.new(math.random(-2, 2), 0, math.random(-2, 2)) v.Handle.Massless = false v.Handle.CanCollide = true end count = count + 1 end end notify('Tool Drop', 'Dropped ' .. count .. ' tools on the ground!') end) -- toolbounce - Tools bounce up and down around you addcmd('toolbounce', {'bouncetools'}, function(args, speaker) if sortToolsActive then stopAllToolLoops() restoreToolSizes(speaker.Character or speaker.CharacterAdded:Wait()) return notify('Tool Bounce', 'OFF') end stopAllToolLoops() local char = speaker.Character if not char then return notify('Tool Bounce', 'No character found!') end -- Equip all tools for _, v in pairs(speaker.Backpack:GetChildren()) do if v:IsA('Tool') then v.Parent = char if v:FindFirstChild('Handle') then v.Handle.Massless = true v.Handle.CanCollide = false end end end local bounceHeight = tonumber(args[1]) or 8 local bounceSpeed = tonumber(args[2]) or 5 local radius = tonumber(args[3]) or 4 sortToolsActive = true local startTime = tick() sortToolsConn = RunService.Heartbeat:Connect(function() local hrp = getRoot(char) if not hrp or not sortToolsActive then return end local tools = getCharTools(char) if #tools == 0 then return end local elapsed = tick() - startTime for i, tool in ipairs(tools) do local handle = tool.Handle handle.Size = Vector3.new(0.01, 0.01, 0.01) -- Each tool has its own bounce phase offset local phase = (2 * math.pi / #tools) * (i - 1) local angle = elapsed * bounceSpeed + phase local x = math.cos(angle) * radius local z = math.sin(angle) * radius -- Bounce height using absolute sine for up-and-down motion local y = math.abs(math.sin(elapsed * bounceSpeed * 1.5 + phase)) * bounceHeight local targetPos = hrp.CFrame * CFrame.new(x, y + 1, z) -- Spin while bouncing local axisData = toolUniqueAxes[((i - 1) % #toolUniqueAxes) + 1] local spinCFrame = CFrame.Angles( elapsed * 3 * axisData[1], elapsed * 3 * axisData[2], elapsed * 3 * axisData[3] ) handle.CFrame = targetPos * spinCFrame end end) notify('Tool Bounce', 'ON - ' .. #getCharTools(char) .. ' tools bouncing!') end) -- ======================== UNANCHORED PART CONTROL ======================== -- scatter - Scatter all unanchored parts away from you addcmd('scatter', {}, function(args, speaker) local r = getRoot(speaker.Character) if not r then return end local count = 0 for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and p.Name ~= 'HumanoidRootPart' then local dir = (p.Position - r.Position).Unit p.AssemblyLinearVelocity = dir * 300 + Vector3.new(0, 100, 0) count = count + 1 end end notify('Scatter', 'Launched ' .. count .. ' parts!') end) -- gather - Gather all unanchored parts to you addcmd('gather', {}, function(args, speaker) local r = getRoot(speaker.Character) if not r then return end local count = 0 for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and p.Name ~= 'HumanoidRootPart' then p:PivotTo(r.CFrame * CFrame.new(math.random(-5,5), 0, math.random(-5,5))) count = count + 1 end end notify('Gather', 'Gathered ' .. count .. ' parts!') end) -- deleteparts - Delete all unanchored parts (not player parts) addcmd('deleteparts', {'delparts'}, function(args, speaker) local count = 0 for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and p.Name ~= 'HumanoidRootPart' then local isPlayerPart = false for _, pl in pairs(Players:GetPlayers()) do if pl.Character and pl.Character:IsAncestorOf(p) then isPlayerPart = true break end end if not isPlayerPart then p:Destroy() count = count + 1 end end end notify('Delete Parts', 'Deleted ' .. count .. ' unanchored parts') end) -- anchorparts - Anchor all unanchored parts addcmd('anchorparts', {}, function(args, speaker) local count = 0 for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false then p.Anchored = true count = count + 1 end end notify('Anchor Parts', 'Anchored ' .. count .. ' parts') end) -- unanchorparts - Unanchor all anchored parts (except terrain) addcmd('unanchorparts', {}, function(args, speaker) local count = 0 for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == true and p.Name ~= 'Terrain' then p.Anchored = false count = count + 1 end end notify('Unanchor', 'Unanchored ' .. count .. ' parts') end) -- orbitparts - Make all unanchored parts orbit around you orbitPartsConn = nil orbitPartsList = {} addcmd('orbitparts', {}, function(args, speaker) if orbitPartsConn then orbitPartsConn:Disconnect() orbitPartsConn = nil for _, v in pairs(orbitPartsList) do pcall(function() v.bv:Destroy() end) end orbitPartsList = {} return notify('Orbit Parts','OFF') end local r = getRoot(speaker.Character) if not r then return end local parts = {} for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and p.Name ~= 'HumanoidRootPart' and p.Size.Magnitude < 10 then local isPlayerPart = false for _, pl in pairs(Players:GetPlayers()) do if pl.Character and pl.Character:IsAncestorOf(p) then isPlayerPart = true break end end if not isPlayerPart then parts[#parts+1] = p end end end local angle = 0 orbitPartsConn = RunService.Heartbeat:Connect(function(dt) local root = getRoot(speaker.Character) if not root then return end angle = angle + dt * 2 for i, p in pairs(parts) do if p and p.Parent then local a = angle + (i * (math.pi * 2 / #parts)) local radius = 20 + math.sin(angle + i) * 5 local targetPos = root.Position + Vector3.new(math.cos(a) * radius, math.sin(a * 0.5) * 3, math.sin(a) * radius) p.Velocity = (targetPos - p.Position) * 10 end end end) notify('Orbit Parts', 'Orbiting ' .. #parts .. ' parts around you!') end) -- spiralparts - Make parts spiral upward from your position spiralPartsConn = nil addcmd('spiralparts', {}, function(args, speaker) if spiralPartsConn then spiralPartsConn:Disconnect() spiralPartsConn = nil return notify('Spiral Parts','OFF') end local r = getRoot(speaker.Character) if not r then return end local parts = {} for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and p.Name ~= 'HumanoidRootPart' and p.Size.Magnitude < 10 then local isPlayerPart = false for _, pl in pairs(Players:GetPlayers()) do if pl.Character and pl.Character:IsAncestorOf(p) then isPlayerPart = true break end end if not isPlayerPart then parts[#parts+1] = p end end end local t = 0 spiralPartsConn = RunService.Heartbeat:Connect(function(dt) t = t + dt local root = getRoot(speaker.Character) if not root then return end for i, p in pairs(parts) do if p and p.Parent then local h = (t * 20 + i * 3) % 50 local a = t * 3 + i * 0.5 local radius = 5 + (h / 50) * 15 local targetPos = root.Position + Vector3.new(math.cos(a) * radius, h, math.sin(a) * radius) p.Velocity = (targetPos - p.Position) * 8 end end end) notify('Spiral Parts', 'Spiraling ' .. #parts .. ' parts!') end) -- partrain - Rain unanchored parts from above partRainConn = nil addcmd('partrain', {}, function(args, speaker) if partRainConn then partRainConn:Disconnect() partRainConn = nil return notify('Part Rain','OFF') end local r = getRoot(speaker.Character) if not r then return end local parts = {} for _, p in pairs(workspace:GetDescendants()) do if p:IsA('BasePart') and p.Anchored == false and p.Name ~= 'HumanoidRootPart' and p.Size.Magnitude < 10 then local isPlayerPart = false for _, pl in pairs(Players:GetPlayers()) do if pl.Character and pl.Character:IsAncestorOf(p) then isPlayerPart = true break end end if not isPlayerPart then parts[#parts+1] = p end end end partRainConn = RunService.Heartbeat:Connect(function() local root = getRoot(speaker.Character) if not root then return end for _, p in pairs(parts) do if p and p.Parent then p.Velocity = Vector3.new(math.random(-5,5), -200, math.random(-5,5)) end end end) notify('Part Rain', 'Raining ' .. #parts .. ' parts from above!') end) -- ======================== SERVER-SIDED FEATURES ======================== -- antikick - Hooks Kick method to prevent being kicked antikickHooked = false addcmd('antikick', {}, function(args, speaker) if antikickHooked then return notify('Anti Kick','Already active') end local mt = getrawmetatable(game) if mt and setreadonly then local oldNamecall = mt.__namecall setreadonly(mt, false) mt.__namecall = newcclosure(function(self, ...) local method = getnamecallmethod() if method == 'Kick' and self == Players.LocalPlayer then notify('Anti Kick', 'Blocked a kick attempt!') return nil end return oldNamecall(self, ...) end) setreadonly(mt, true) antikickHooked = true notify('Anti Kick', 'ON - kicks blocked!') else notify('Anti Kick', 'Executor does not support metatable hooking') end end) -- antivoid - Prevent falling into the void antiVoidConn = nil addcmd('antivoid', {}, function(args, speaker) if antiVoidConn then antiVoidConn:Disconnect() antiVoidConn = nil return notify('Anti Void','OFF') end antiVoidConn = RunService.Heartbeat:Connect(function() local r = getRoot(speaker.Character) if r and r.Position.Y < -50 then r.CFrame = CFrame.new(r.Position.X, 100, r.Position.Z) end end) notify('Anti Void', 'ON - teleporting up if below Y=-50') end) -- namespoof [name] / unnamespoof - Spoof your display name visually nameSpoofConn = nil addcmd('namespoof', {}, function(args, speaker) local newName = args[1] or 'Arc Yield User' if not speaker.Character then return end local head = speaker.Character:FindFirstChild('Head') if not head then return end -- Remove old spoof local old = head:FindFirstChild('ArcNameSpoof') if old then old:Destroy() end local bb = Instance.new('BillboardGui') bb.Name = 'ArcNameSpoof' bb.Adornee = head bb.Size = UDim2.new(0, 200, 0, 50) bb.StudsOffset = Vector3.new(0, 2.5, 0) bb.AlwaysOnTop = true bb.MaxDistance = 100 bb.Parent = head local txt = Instance.new('TextLabel') txt.Size = UDim2.new(1, 0, 1, 0) txt.BackgroundTransparency = 1 txt.Text = newName txt.TextColor3 = Color3.fromRGB(255, 255, 255) txt.TextStrokeColor3 = Color3.fromRGB(0, 100, 255) txt.TextStrokeTransparency = 0 txt.Font = Enum.Font.GothamBold txt.TextScaled = true txt.Parent = bb notify('Name Spoof', 'Display name: ' .. newName) end) addcmd('unnamespoof', {}, function(args, speaker) if speaker.Character then local head = speaker.Character:FindFirstChild('Head') if head then local old = head:FindFirstChild('ArcNameSpoof') if old then old:Destroy() end end end notify('Name Spoof', 'OFF') end) -- godmode / ungodmode - Set WalkSpeed and JumpPower high + regen health godmodeConn = nil addcmd('godmode', {}, function(args, speaker) if godmodeConn then godmodeConn:Disconnect() godmodeConn = nil return notify('God Mode','OFF') end local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.MaxHealth = math.huge h.Health = math.huge h.WalkSpeed = 50 h.JumpPower = 100 end godmodeConn = RunService.Heartbeat:Connect(function() local hum = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if hum then hum.Health = hum.MaxHealth end end) notify('God Mode', 'ON - infinite HP, speed 50, jump 100') end) -- noclip hold - Hold E to noclip noclipConn = nil addcmd('noclip', {}, function(args, speaker) if noclipConn then noclipConn:Disconnect() noclipConn = nil return notify('Noclip','OFF') end noclipConn = RunService.Stepped:Connect(function() if speaker.Character then for _, p in pairs(speaker.Character:GetDescendants()) do if p:IsA('BasePart') then p.CanCollide = false end end end end) notify('Noclip', 'ON - walk through walls') end) -- ======================== SERVERSIDED COMMANDS ======================== -- TRUE serversided: UNANCHORED parts + Heartbeat teleport (physics engine replicates to ALL players) -- NO WeldConstraints (client-only, don't replicate) -- Central tracker: one Stepped loop moves ALL ss parts every frame ssTracker = {} -- {part, targetRef, offsetCFrame} ssTrackerConn = nil local function ssStartTracker() if ssTrackerConn then return end ssTrackerConn = RunService.Stepped:Connect(function() for _, entry in pairs(ssTracker) do if entry.part and entry.part.Parent then local target = entry.getTarget() if target and target.Parent then entry.part.CFrame = target.CFrame * entry.offset entry.part.AssemblyLinearVelocity = Vector3.zero entry.part.AssemblyAngularVelocity = Vector3.zero end end end end) end local function ssStopTracker() if ssTrackerConn then ssTrackerConn:Disconnect() ssTrackerConn = nil end ssTracker = {} end local function ssTrack(part, targetGetter, offset) ssStartTracker() table.insert(ssTracker, {part = part, getTarget = targetGetter, offset = offset or CFrame.new()}) end local function ssUntrack(part) for i, entry in pairs(ssTracker) do if entry.part == part then table.remove(ssTracker, i) break end end end -- Helper: create an unanchored neon part local function ssMakePart(name, size, color, material) local p = Instance.new("Part") p.Name = name p.Size = size or Vector3.new(1,1,1) p.Color = color or Color3.fromRGB(0, 100, 255) p.Material = material or Enum.Material.Neon p.CanCollide = false p.Anchored = false p.CastShadow = false p.Parent = workspace return p end local function ssParseColor(args) if args and args[1] and type(args[1]) == 'string' and args[1]:find('#') then local ok, c = pcall(function() return Color3.fromHex(args[1]) end) if ok then return c end end return nil end -- sshat - Serversided hat (unanchored, follows head) ssHatPart = nil addcmd('sshat', {}, function(args, speaker) if ssHatPart and ssHatPart.Parent then ssHatPart:Destroy() ssHatPart = nil end local char = speaker.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end local hatColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) ssHatPart = ssMakePart('ArcYieldHat', Vector3.new(2, 0.5, 2), hatColor) ssHatPart.Shape = Enum.PartType.Cylinder ssHatPart.CFrame = head.CFrame * CFrame.new(0, 1.5, 0) * CFrame.Angles(0, 0, math.rad(90)) ssTrack(ssHatPart, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 1.5, 0) * CFrame.Angles(0, 0, math.rad(90))) notify('SS Hat', 'Serversided hat ON! (unanchored)') end) addcmd('unsshat', {}, function(args, speaker) if ssHatPart then ssUntrack(ssHatPart) pcall(function() ssHatPart:Destroy() end) ssHatPart = nil end pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldHat' then v:Destroy() end end end) notify('SS Hat', 'Removed') end) -- sscape - Serversided cape (unanchored, follows root) ssCapeParts = {} addcmd('sscape', {}, function(args, speaker) for _, v in pairs(ssCapeParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssCapeParts = {} local char = speaker.Character if not char then return end local root = char:FindFirstChild('HumanoidRootPart') or char:FindFirstChild('Torso') if not root then return end local capeColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) local mainPart = ssMakePart('ArcYieldCape', Vector3.new(2, 3, 0.1), capeColor) mainPart.CFrame = root.CFrame * CFrame.new(0, -0.5, 0.5) ssTrack(mainPart, function() local c = speaker.Character return c and (c:FindFirstChild('HumanoidRootPart') or c:FindFirstChild('Torso')) end, CFrame.new(0, -0.5, 0.5)) table.insert(ssCapeParts, mainPart) for i = 1, 3 do local stripe = ssMakePart('ArcYieldCape', Vector3.new(2, 0.1, 0.15), Color3.fromRGB(255, 255, 255)) stripe.CFrame = root.CFrame * CFrame.new(0, -0.5 - i * 0.8, 0.5) ssTrack(stripe, function() local c = speaker.Character return c and (c:FindFirstChild('HumanoidRootPart') or c:FindFirstChild('Torso')) end, CFrame.new(0, -0.5 - i * 0.8, 0.5)) table.insert(ssCapeParts, stripe) end notify('SS Cape', 'Serversided cape ON! (unanchored)') end) addcmd('unsscape', {}, function(args, speaker) for _, v in pairs(ssCapeParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssCapeParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldCape' then v:Destroy() end end end) notify('SS Cape', 'Removed') end) -- sswing - Serversided wings (unanchored, follows root) ssWingParts = {} addcmd('sswing', {}, function(args, speaker) for _, v in pairs(ssWingParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssWingParts = {} local char = speaker.Character if not char then return end local root = char:FindFirstChild('HumanoidRootPart') or char:FindFirstChild('Torso') if not root then return end local wingColor = ssParseColor(args) or Color3.fromRGB(255, 255, 255) for side = -1, 1, 2 do for i = 1, 5 do local feather = ssMakePart('ArcYieldWing', Vector3.new(3 - i * 0.3, 0.3, 0.05), wingColor) feather.Transparency = i * 0.1 feather.CFrame = root.CFrame * CFrame.new(side * (1 + i * 0.5), 0.5 + i * 0.3, -0.5) * CFrame.Angles(0, 0, side * math.rad(10 + i * 5)) local offset = CFrame.new(side * (1 + i * 0.5), 0.5 + i * 0.3, -0.5) * CFrame.Angles(0, 0, side * math.rad(10 + i * 5)) ssTrack(feather, function() local c = speaker.Character return c and (c:FindFirstChild('HumanoidRootPart') or c:FindFirstChild('Torso')) end, offset) table.insert(ssWingParts, feather) end end notify('SS Wings', 'Serversided wings ON! (unanchored)') end) addcmd('unsswing', {}, function(args, speaker) for _, v in pairs(ssWingParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssWingParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldWing' then v:Destroy() end end end) notify('SS Wings', 'Removed') end) -- ssring - Serversided ring on ground (unanchored, follows you) ssRingPart = nil ssRingConn = nil addcmd('ssring', {}, function(args, speaker) if ssRingConn then ssRingConn:Disconnect() ssRingConn = nil end if ssRingPart and ssRingPart.Parent then ssRingPart:Destroy() end local ringColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) ssRingPart = ssMakePart('ArcYieldRing', Vector3.new(0.2, 20, 20), ringColor) ssRingPart.Shape = Enum.PartType.Cylinder ssRingPart.Transparency = 0.3 local r = getRoot(speaker.Character) if r then ssRingPart.CFrame = r.CFrame * CFrame.new(0, -3, 0) * CFrame.Angles(0, 0, math.rad(90)) end ssRingConn = RunService.Stepped:Connect(function() if not ssRingPart or not ssRingPart.Parent then ssRingConn:Disconnect() return end local root = getRoot(speaker.Character) if root then ssRingPart.CFrame = root.CFrame * CFrame.new(0, -3, 0) * CFrame.Angles(0, 0, math.rad(90)) ssRingPart.AssemblyLinearVelocity = Vector3.zero ssRingPart.AssemblyAngularVelocity = Vector3.zero end end) notify('SS Ring', 'Serversided ring ON! (unanchored)') end) addcmd('unssring', {}, function(args, speaker) if ssRingConn then ssRingConn:Disconnect() ssRingConn = nil end if ssRingPart and ssRingPart.Parent then ssRingPart:Destroy() ssRingPart = nil end pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldRing' then v:Destroy() end end end) notify('SS Ring', 'Removed') end) -- sslight - Serversided light (unanchored, follows root) ssLightObj = nil addcmd('sslight', {}, function(args, speaker) if ssLightObj and ssLightObj.Parent then ssLightObj:Destroy() ssLightObj = nil end local lightColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) ssLightObj = ssMakePart('ArcYieldLight', Vector3.new(0.5, 0.5, 0.5), lightColor) ssLightObj.Transparency = 1 local pl = Instance.new('PointLight') pl.Color = lightColor pl.Brightness = 5 pl.Range = 60 pl.Shadows = true pl.Parent = ssLightObj ssTrack(ssLightObj, function() local c = speaker.Character return c and (c:FindFirstChild('HumanoidRootPart') or c:FindFirstChild('Torso')) end, CFrame.new()) notify('SS Light', 'Serversided light ON! (unanchored)') end) addcmd('unsslight', {}, function(args, speaker) if ssLightObj then ssUntrack(ssLightObj) pcall(function() ssLightObj:Destroy() end) ssLightObj = nil end pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldLight' then v:Destroy() end end end) notify('SS Light', 'Removed') end) -- ssparticles - Serversided particles on your character ssParticleParts = {} addcmd('ssparticles', {}, function(args, speaker) for _, v in pairs(ssParticleParts) do pcall(function() v:Destroy() end) end ssParticleParts = {} local char = speaker.Character if not char then return end local pColor = ssParseColor(args) or Color3.fromRGB(0, 150, 255) for _, part in pairs(char:GetChildren()) do if part:IsA('BasePart') then local em = Instance.new('ParticleEmitter') em.Color = ColorSequence.new(pColor, Color3.fromRGB(255, 255, 255)) em.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.5), NumberSequenceKeypoint.new(1, 0)}) em.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.5), NumberSequenceKeypoint.new(1, 1)}) em.Lifetime = NumberRange.new(1, 2) em.Rate = 20 em.Speed = NumberRange.new(2, 5) em.SpreadAngle = Vector2.new(180, 180) em.LightEmission = 1 em.Parent = part table.insert(ssParticleParts, em) end end notify('SS Particles', 'Serversided particles ON!') end) addcmd('unssparticles', {}, function(args, speaker) for _, v in pairs(ssParticleParts) do pcall(function() v:Destroy() end) end ssParticleParts = {} notify('SS Particles', 'Removed') end) -- ssmusic - Serversided sound (anchored invisible part is fine for sound replication) ssMusicObj = nil addcmd('ssmusic', {}, function(args, speaker) if ssMusicObj and ssMusicObj.Parent then ssMusicObj:Destroy() ssMusicObj = nil end local soundId = args[1] or '6895079853' local soundPart = Instance.new('Part') soundPart.Name = 'ArcYieldMusic' soundPart.Size = Vector3.new(0.5, 0.5, 0.5) soundPart.Transparency = 1 soundPart.CanCollide = false soundPart.Anchored = false local r = getRoot(speaker.Character) if r then soundPart.Position = r.Position end soundPart.Parent = workspace local snd = Instance.new('Sound') snd.Name = 'ArcYieldSnd' snd.SoundId = 'rbxassetid://' .. soundId snd.Volume = 1 snd.Looped = true snd.PlaybackSpeed = 1 snd.Parent = soundPart snd:Play() -- Follow player via tracker ssTrack(soundPart, function() local c = speaker.Character return c and (c:FindFirstChild('HumanoidRootPart') or c:FindFirstChild('Torso')) end, CFrame.new()) ssMusicObj = soundPart notify('SS Music', 'Serversided music ON! (unanchored)') end) addcmd('unssmusic', {}, function(args, speaker) if ssMusicObj then ssUntrack(ssMusicObj) pcall(function() ssMusicObj:Destroy() end) ssMusicObj = nil end pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldMusic' then v:Destroy() end end end) notify('SS Music', 'Removed') end) -- ssmsg - Serversided floating message (static position, unanchored so it replicates) ssMsgParts = {} addcmd('ssmsg', {}, function(args, speaker) local msg = table.concat(args, ' ') if msg == '' then msg = 'Arc Yield' end local char = speaker.Character if not char then return end local r = getRoot(char) if not r then return end local msgPart = Instance.new('Part') msgPart.Name = 'ArcYieldMsg' msgPart.Size = Vector3.new(10, 3, 0.2) msgPart.Color = Color3.fromRGB(0, 0, 30) msgPart.Material = Enum.Material.Neon msgPart.CanCollide = false msgPart.Anchored = false msgPart.CastShadow = false msgPart.CFrame = r.CFrame * CFrame.new(0, 8, -5) msgPart.Parent = workspace local sg = Instance.new('SurfaceGui') sg.Name = 'ArcYieldSG' sg.Face = Enum.NormalId.Front sg.Parent = msgPart local txt = Instance.new('TextLabel') txt.Size = UDim2.new(1, 0, 1, 0) txt.BackgroundTransparency = 1 txt.Text = msg txt.TextColor3 = Color3.fromRGB(0, 150, 255) txt.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) txt.TextStrokeTransparency = 0 txt.Font = Enum.Font.GothamBold txt.TextScaled = true txt.Parent = sg -- Keep it in place (unanchored so physics engine replicates) ssTrack(msgPart, function() return msgPart end, CFrame.new()) -- Lock velocity so it doesn't fall local conn = RunService.Stepped:Connect(function() if not msgPart or not msgPart.Parent then conn:Disconnect() return end msgPart.AssemblyLinearVelocity = Vector3.zero msgPart.AssemblyAngularVelocity = Vector3.zero end) table.insert(ssMsgParts, msgPart) notify('SS Message', 'Serversided message placed! (unanchored)') end) addcmd('unssmsg', {}, function(args, speaker) for _, v in pairs(ssMsgParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssMsgParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldMsg' then v:Destroy() end end end) notify('SS Messages', 'All removed') end) -- sscrosshair - Serversided crosshair (unanchored, follows head) ssCrossParts = {} addcmd('sscrosshair', {}, function(args, speaker) for _, v in pairs(ssCrossParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssCrossParts = {} local char = speaker.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end -- Horizontal bar local hbar = ssMakePart('ArcYieldCross', Vector3.new(3, 0.3, 0.1), Color3.fromRGB(255, 0, 0)) hbar.CFrame = head.CFrame * CFrame.new(0, 0, -1) ssTrack(hbar, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 0, -1)) table.insert(ssCrossParts, hbar) -- Vertical bar local vbar = ssMakePart('ArcYieldCross', Vector3.new(0.3, 3, 0.1), Color3.fromRGB(255, 0, 0)) vbar.CFrame = head.CFrame * CFrame.new(0, 0, -1) ssTrack(vbar, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 0, -1)) table.insert(ssCrossParts, vbar) notify('SS Crosshair', 'Serversided crosshair ON! (unanchored)') end) addcmd('unsscrosshair', {}, function(args, speaker) for _, v in pairs(ssCrossParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssCrossParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldCross' then v:Destroy() end end end) notify('SS Crosshair', 'Removed') end) -- ssarrow - Serversided arrow (unanchored, points to nearest player) ssArrowPart = nil ssArrowConn = nil addcmd('ssarrow', {}, function(args, speaker) if ssArrowConn then ssArrowConn:Disconnect() ssArrowConn = nil end if ssArrowPart and ssArrowPart.Parent then ssArrowPart:Destroy() end ssArrowPart = ssMakePart('ArcYieldArrow', Vector3.new(1, 0.5, 3), Color3.fromRGB(255, 50, 50)) ssArrowConn = RunService.Stepped:Connect(function() if not ssArrowPart or not ssArrowPart.Parent then ssArrowConn:Disconnect() return end local myRoot = getRoot(speaker.Character) if not myRoot then return end local nearest = nil local nearestDist = math.huge for _, p in pairs(Players:GetPlayers()) do if p ~= speaker and p.Character then local pRoot = p.Character:FindFirstChild('HumanoidRootPart') if pRoot then local d = (pRoot.Position - myRoot.Position).Magnitude if d < nearestDist then nearestDist = d nearest = pRoot end end end end if nearest then local dir = (nearest.Position - myRoot.Position).Unit ssArrowPart.CFrame = CFrame.new(myRoot.Position + dir * 5, nearest.Position) ssArrowPart.AssemblyLinearVelocity = Vector3.zero ssArrowPart.AssemblyAngularVelocity = Vector3.zero end end) notify('SS Arrow', 'Serversided arrow ON! (unanchored)') end) addcmd('unssarrow', {}, function(args, speaker) if ssArrowConn then ssArrowConn:Disconnect() ssArrowConn = nil end if ssArrowPart and ssArrowPart.Parent then ssArrowPart:Destroy() ssArrowPart = nil end pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldArrow' then v:Destroy() end end end) notify('SS Arrow', 'Removed') end) -- ssorb - Serversided orbiting balls (unanchored, physics replicates) ssOrbParts = {} ssOrbConn = nil addcmd('ssorb', {}, function(args, speaker) if ssOrbConn then ssOrbConn:Disconnect() ssOrbConn = nil end for _, v in pairs(ssOrbParts) do pcall(function() v:Destroy() end) end ssOrbParts = {} local orbColor = ssParseColor(args) or Color3.fromRGB(0, 150, 255) for i = 1, 6 do local orb = ssMakePart('ArcYieldOrb', Vector3.new(0.8, 0.8, 0.8), orbColor) orb.Shape = Enum.PartType.Ball local pl = Instance.new('PointLight') pl.Color = orbColor pl.Brightness = 2 pl.Range = 15 pl.Parent = orb table.insert(ssOrbParts, orb) end local t = 0 ssOrbConn = RunService.Stepped:Connect(function(dt) t = t + dt * 3 local myRoot = getRoot(speaker.Character) if not myRoot then return end for i, orb in pairs(ssOrbParts) do if orb and orb.Parent then local a = t + (i * math.pi * 2 / #ssOrbParts) local r = 5 orb.CFrame = CFrame.new(myRoot.Position + Vector3.new(math.cos(a) * r, math.sin(a * 0.7) * 2, math.sin(a) * r)) orb.AssemblyLinearVelocity = Vector3.zero orb.AssemblyAngularVelocity = Vector3.zero end end end) notify('SS Orbs', '6 serversided orbiting balls ON! (unanchored)') end) addcmd('unssorb', {}, function(args, speaker) if ssOrbConn then ssOrbConn:Disconnect() ssOrbConn = nil end for _, v in pairs(ssOrbParts) do pcall(function() v:Destroy() end) end ssOrbParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldOrb' then v:Destroy() end end end) notify('SS Orbs', 'Removed') end) -- ssfloating - Serversided floating text above YOUR head (unanchored) ssFloatingPart = nil addcmd('ssfloating', {}, function(args, speaker) if ssFloatingPart and ssFloatingPart.Parent then ssFloatingPart:Destroy() ssFloatingPart = nil end local msg = table.concat(args, ' ') if msg == '' then msg = 'Arc Yield User' end local char = speaker.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end ssFloatingPart = Instance.new('Part') ssFloatingPart.Name = 'ArcYieldFloat' ssFloatingPart.Size = Vector3.new(0.1, 0.1, 0.1) ssFloatingPart.Transparency = 1 ssFloatingPart.CanCollide = false ssFloatingPart.Anchored = false ssFloatingPart.Position = head.Position + Vector3.new(0, 3, 0) ssFloatingPart.Parent = workspace local bb = Instance.new('BillboardGui') bb.Name = 'ArcFloatBB' bb.Adornee = ssFloatingPart bb.Size = UDim2.new(0, 200, 0, 50) bb.StudsOffset = Vector3.new(0, 2, 0) bb.AlwaysOnTop = true bb.Parent = ssFloatingPart local txt = Instance.new('TextLabel') txt.Size = UDim2.new(1, 0, 1, 0) txt.BackgroundTransparency = 1 txt.Text = msg txt.TextColor3 = Color3.fromRGB(0, 200, 255) txt.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) txt.TextStrokeTransparency = 0 txt.Font = Enum.Font.GothamBold txt.TextScaled = true txt.Parent = bb ssTrack(ssFloatingPart, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 3, 0)) notify('SS Floating', 'Serversided floating text ON! (unanchored)') end) addcmd('unssfloating', {}, function(args, speaker) if ssFloatingPart then ssUntrack(ssFloatingPart) pcall(function() ssFloatingPart:Destroy() end) ssFloatingPart = nil end pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldFloat' then v:Destroy() end end end) notify('SS Floating', 'Removed') end) -- ssaura - Serversided aura (unanchored, physics replicates) ssAuraParts = {} ssAuraConn = nil addcmd('ssaura', {}, function(args, speaker) if ssAuraConn then ssAuraConn:Disconnect() ssAuraConn = nil end for _, v in pairs(ssAuraParts) do pcall(function() v:Destroy() end) end ssAuraParts = {} local auraColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) for i = 1, 8 do local p = ssMakePart('ArcYieldAura', Vector3.new(0.6, 0.6, 0.6), auraColor) p.Shape = Enum.PartType.Ball p.Transparency = 0.3 table.insert(ssAuraParts, p) end local t = 0 ssAuraConn = RunService.Stepped:Connect(function(dt) t = t + dt * 2 local myRoot = getRoot(speaker.Character) if not myRoot then return end for i, p in pairs(ssAuraParts) do if p and p.Parent then local a = t + (i * math.pi * 2 / #ssAuraParts) local sz = 0.6 + math.sin(t + i) * 0.2 p.CFrame = CFrame.new(myRoot.Position + Vector3.new(math.cos(a) * 3, math.sin(t * 2 + i) * 0.5, math.sin(a) * 3)) p.Size = Vector3.new(sz, sz, sz) p.AssemblyLinearVelocity = Vector3.zero p.AssemblyAngularVelocity = Vector3.zero end end end) notify('SS Aura', 'Serversided aura ON! (unanchored)') end) addcmd('unssaura', {}, function(args, speaker) if ssAuraConn then ssAuraConn:Disconnect() ssAuraConn = nil end for _, v in pairs(ssAuraParts) do pcall(function() v:Destroy() end) end ssAuraParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldAura' then v:Destroy() end end end) notify('SS Aura', 'Removed') end) -- sscrown - Serversided crown (unanchored, follows head) ssCrownParts = {} addcmd('sscrown', {}, function(args, speaker) for _, v in pairs(ssCrownParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssCrownParts = {} local char = speaker.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end -- Base local base = ssMakePart('ArcYieldCrown', Vector3.new(1.5, 0.5, 1.5), Color3.fromRGB(255, 215, 0)) base.CFrame = head.CFrame * CFrame.new(0, 1.2, 0) ssTrack(base, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 1.2, 0)) table.insert(ssCrownParts, base) -- Spikes for i = 1, 5 do local spike = ssMakePart('ArcYieldCrown', Vector3.new(0.2, 0.8, 0.2), Color3.fromRGB(255, 215, 0)) local angle = (i - 3) * 0.3 spike.CFrame = head.CFrame * CFrame.new(angle, 1.7, 0) ssTrack(spike, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(angle, 1.7, 0)) table.insert(ssCrownParts, spike) end notify('SS Crown', 'Serversided golden crown ON! (unanchored)') end) addcmd('unsscrown', {}, function(args, speaker) for _, v in pairs(ssCrownParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssCrownParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldCrown' then v:Destroy() end end end) notify('SS Crown', 'Removed') end) -- sstrail - Serversided trail (unanchored balls left behind, physics replicates) ssTrailParts = {} ssTrailConn = nil ssTrailIndex = 0 addcmd('sstrail', {}, function(args, speaker) if ssTrailConn then ssTrailConn:Disconnect() ssTrailConn = nil end for _, v in pairs(ssTrailParts) do pcall(function() v:Destroy() end) end ssTrailParts = {} ssTrailIndex = 0 local trailColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) ssTrailConn = RunService.Heartbeat:Connect(function() local myRoot = getRoot(speaker.Character) if not myRoot then return end ssTrailIndex = ssTrailIndex + 1 if ssTrailIndex % 3 == 0 then local trailPart = Instance.new('Part') trailPart.Name = 'ArcYieldTrail' trailPart.Shape = Enum.PartType.Ball trailPart.Size = Vector3.new(0.5, 0.5, 0.5) trailPart.Color = trailColor trailPart.Material = Enum.Material.Neon trailPart.CanCollide = false trailPart.Anchored = false trailPart.CastShadow = false trailPart.Position = myRoot.Position trailPart.Parent = workspace -- Freeze it in place (unanchored but velocity zero = physics replicates position) trailPart.AssemblyLinearVelocity = Vector3.zero trailPart.AssemblyAngularVelocity = Vector3.zero table.insert(ssTrailParts, trailPart) task.delay(3, function() pcall(function() trailPart:Destroy() end) end) while #ssTrailParts > 100 do local old = table.remove(ssTrailParts, 1) pcall(function() if old and old.Parent then old:Destroy() end end) end end end) notify('SS Trail', 'Serversided trail ON! (unanchored)') end) addcmd('unsstrail', {}, function(args, speaker) if ssTrailConn then ssTrailConn:Disconnect() ssTrailConn = nil end for _, v in pairs(ssTrailParts) do pcall(function() v:Destroy() end) end ssTrailParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldTrail' then v:Destroy() end end end) notify('SS Trail', 'Removed') end) -- ssexplode [player] - Serversided explosion (unanchored explosion = physics replicates) addcmd('ssexplode', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('SS Explode','Player not found') end local r = target.Character:FindFirstChild('HumanoidRootPart') if not r then return end local e = Instance.new('Explosion') e.Position = r.Position e.BlastRadius = 30 e.BlastPressure = 500000 e.Parent = workspace notify('SS Explode', 'Serversided explosion on ' .. target.Name .. '!') end) -- ssblock [player] - Serversided cage (unanchored walls = physics replicates) ssBlockParts = {} addcmd('ssblock', {}, function(args, speaker) for _, v in pairs(ssBlockParts) do pcall(function() v:Destroy() end) end ssBlockParts = {} local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('SS Block','Player not found') end local r = target.Character:FindFirstChild('HumanoidRootPart') if not r then return end local size = 8 local wt = 0.5 local walls = { {Vector3.new(size, size, wt), CFrame.new(0, size/2, -size/2)}, {Vector3.new(size, size, wt), CFrame.new(0, size/2, size/2)}, {Vector3.new(wt, size, size), CFrame.new(-size/2, size/2, 0)}, {Vector3.new(wt, size, size), CFrame.new(size/2, size/2, 0)}, {Vector3.new(size, wt, size), CFrame.new(0, size, 0)}, {Vector3.new(size, wt, size), CFrame.new(0, 0, 0)}, } for _, wd in ipairs(walls) do local wall = Instance.new('Part') wall.Name = 'ArcYieldBlock' wall.Size = wd[1] wall.Color = Color3.fromRGB(0, 100, 255) wall.Material = Enum.Material.ForceField wall.Transparency = 0.4 wall.CanCollide = true wall.Anchored = false wall.CastShadow = false wall.CFrame = r.CFrame * wd[2] wall.Parent = workspace wall.AssemblyLinearVelocity = Vector3.zero wall.AssemblyAngularVelocity = Vector3.zero table.insert(ssBlockParts, wall) end notify('SS Block', 'Serversided cage around ' .. target.Name .. '! (unanchored)') end) addcmd('unssblock', {}, function(args, speaker) for _, v in pairs(ssBlockParts) do pcall(function() v:Destroy() end) end ssBlockParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldBlock' then v:Destroy() end end end) notify('SS Block', 'Cage removed') end) -- ssflag - Serversided flag (unanchored, follows head) ssFlagParts = {} addcmd('ssflag', {}, function(args, speaker) for _, v in pairs(ssFlagParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssFlagParts = {} local char = speaker.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end local flagColor = ssParseColor(args) or Color3.fromRGB(0, 100, 255) -- Pole local pole = ssMakePart('ArcYieldFlag', Vector3.new(0.2, 6, 0.2), Color3.fromRGB(200, 200, 200), Enum.Material.SmoothPlastic) pole.CFrame = head.CFrame * CFrame.new(0, 3, 0) ssTrack(pole, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 3, 0)) table.insert(ssFlagParts, pole) -- Flag fabric local flag = ssMakePart('ArcYieldFlag', Vector3.new(3, 2, 0.1), flagColor) flag.CFrame = head.CFrame * CFrame.new(1.5, 5, 0) ssTrack(flag, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(1.5, 5, 0)) table.insert(ssFlagParts, flag) notify('SS Flag', 'Serversided flag ON! (unanchored)') end) addcmd('unssflag', {}, function(args, speaker) for _, v in pairs(ssFlagParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssFlagParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldFlag' then v:Destroy() end end end) notify('SS Flag', 'Removed') end) -- sshalo - Serversided halo (unanchored, follows head) ssHaloParts = {} addcmd('sshalo', {}, function(args, speaker) for _, v in pairs(ssHaloParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssHaloParts = {} local char = speaker.Character if not char then return end local head = char:FindFirstChild('Head') if not head then return end local halo = ssMakePart('ArcYieldHalo', Vector3.new(0.3, 2.5, 2.5), Color3.fromRGB(255, 215, 0)) halo.Shape = Enum.PartType.Cylinder halo.CFrame = head.CFrame * CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(90), 0, 0) ssTrack(halo, function() local c = speaker.Character return c and c:FindFirstChild('Head') end, CFrame.new(0, 1.5, 0) * CFrame.Angles(math.rad(90), 0, 0)) table.insert(ssHaloParts, halo) notify('SS Halo', 'Serversided halo ON! (unanchored)') end) addcmd('unsshalo', {}, function(args, speaker) for _, v in pairs(ssHaloParts) do ssUntrack(v) pcall(function() v:Destroy() end) end ssHaloParts = {} pcall(function() for _,v in pairs(workspace:GetChildren()) do if v.Name=='ArcYieldHalo' then v:Destroy() end end end) notify('SS Halo', 'Removed') end) -- cleanupss - Remove ALL serversided Arc Yield objects from workspace addcmd('cleanupss', {'clearss'}, function(args, speaker) local count = 0 for _, obj in pairs(workspace:GetChildren()) do if obj.Name:find('ArcYield') then pcall(function() obj:Destroy() end) count = count + 1 end end ssStopTracker() ssHatPart = nil ssCapeParts = {} ssWingParts = {} ssRingPart = nil ssLightObj = nil ssParticleParts = {} ssMusicObj = nil ssMsgParts = {} ssFloatingPart = nil ssAuraParts = {} ssCrownParts = {} ssTrailParts = {} ssBlockParts = {} ssFlagParts = {} ssHaloParts = {} ssCrossParts = {} for _, conn in pairs({ssRingConn, ssOrbConn, ssAuraConn, ssTrailConn, ssArrowConn}) do if conn then pcall(function() conn:Disconnect() end) end end ssRingConn = nil ssOrbConn = nil ssAuraConn = nil ssTrailConn = nil ssArrowConn = nil notify('Cleanup SS', 'Removed ' .. count .. ' serversided objects!') end) -- ======================== WORKING HUBS ======================== -- cloud (Cloud Hub) addcmd('cloud', {}, function(args, speaker) notify('Arc Yield', 'Loading Cloud Hub...') local s, e = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/BokuNoJutsu/Cloud/main/Loader'))() end) if not s then notify('Arc Yield', 'Failed: ' .. tostring(e)) end end) -- fluxus hub addcmd('fluxus', {}, function(args, speaker) notify('Arc Yield', 'Loading Fluxus Hub...') local s, e = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/znixian/FluxusUI/main/Fluxus'))() end) if not s then notify('Arc Yield', 'Failed: ' .. tostring(e)) end end) -- unnamed hub addcmd('unnamed', {}, function(args, speaker) notify('Arc Yield', 'Loading Unnamed Hub...') local s, e = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/yofriendfromschool1/Unnamed-Roblox-Script/main/Unnamed_ESP_V2'))() end) if not s then notify('Arc Yield', 'Failed: ' .. tostring(e)) end end) -- janitor (cleanup hub) addcmd('janitor', {}, function(args, speaker) notify('Arc Yield', 'Loading Janitor...') local s, e = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/bojjen/Janitor/main/loader.lua'))() end) if not s then notify('Arc Yield', 'Failed: ' .. tostring(e)) end end) -- oxygen hub addcmd('oxygen', {'oxyhub'}, function(args, speaker) notify('Arc Yield', 'Loading Oxygen Hub...') local s, e = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/vencloud/Oxygen/main/loader'))() end) if not s then notify('Arc Yield', 'Failed: ' .. tostring(e)) end end) -- lynx hub addcmd('lynx', {}, function(args, speaker) notify('Arc Yield', 'Loading Lynx Hub...') local s, e = pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/LynxScripts/LynxHub/main/Loader'))() end) if not s then notify('Arc Yield', 'Failed: ' .. tostring(e)) end end) -- ======================== MORE COOL COMMANDS ======================== -- 51. ctrlclicktp - Ctrl+Click to teleport ctrlClickConn = nil addcmd('ctrlclicktp', {'cctp'}, function(args, speaker) if ctrlClickConn then ctrlClickConn:Disconnect() ctrlClickConn = nil return notify('Ctrl Click TP','OFF') end local u = game:GetService('UserInputService') ctrlClickConn = u.InputBegan:Connect(function(input, gpe) if gpe then return end if not u:IsKeyDown(Enum.KeyCode.LeftControl) then return end if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.MouseButton2 then return end local mouse = Players.LocalPlayer:GetMouse() local cam = workspace.CurrentCamera local unitRay = cam:ScreenPointToRay(mouse.X, mouse.Y) local params = RaycastParams.new() params.FilterDescendantsInstances = {speaker.Character} params.FilterType = Enum.RaycastFilterType.Exclude local result = workspace:Raycast(unitRay.Origin, unitRay.Direction * 10000, params) if result then local r = getRoot(speaker.Character) if r then r.CFrame = CFrame.new(result.Position + Vector3.new(0, 3, 0)) end end end) notify('Ctrl Click TP', 'ON - Ctrl+Click to teleport!') end) -- 52. toptool - Give yourself the most powerful tool found in workspace addcmd('toptool', {}, function(args, speaker) local bestTool = nil for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('Tool') then local parentOk = true for _, pl in pairs(Players:GetPlayers()) do if pl.Character and pl.Character:IsAncestorOf(obj) then parentOk = false break end end if parentOk then bestTool = obj end end end if bestTool then bestTool:Clone().Parent = speaker.Backpack notify('Top Tool', 'Got ' .. bestTool.Name) else notify('Top Tool', 'No tools found in workspace') end end) -- 53. alltools - Give yourself every tool in workspace addcmd('alltools', {}, function(args, speaker) local count = 0 for _, obj in pairs(workspace:GetDescendants()) do if obj:IsA('Tool') then pcall(function() local parentOk = true for _, pl in pairs(Players:GetPlayers()) do if pl.Character and pl.Character:IsAncestorOf(obj) then parentOk = false break end end if parentOk then obj:Clone().Parent = speaker.Backpack count = count + 1 end end) end end notify('All Tools', 'Grabbed ' .. count .. ' tools!') end) -- 54. stealfly [player] - Copy another player's fly state addcmd('stealfly', {}, function(args, speaker) local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Steal Fly','Not found') end local r = target.Character:FindFirstChild('HumanoidRootPart') if r then local bav = r:FindFirstChildOfClass('BodyAngularVelocity') local bfv = r:FindFirstChildOfClass('BodyVelocity') if bav or bfv then local myRoot = getRoot(speaker.Character) if myRoot then if bfv then local v = Instance.new('BodyVelocity') v.Velocity = bfv.Velocity v.MaxForce = bfv.MaxForce v.Parent = myRoot end if bav then local a = Instance.new('BodyAngularVelocity') a.AngularVelocity = bav.AngularVelocity a.MaxTorque = bav.MaxTorque a.Parent = myRoot end notify('Steal Fly', 'Copied fly from ' .. target.Name) end else notify('Steal Fly', target.Name .. ' is not flying') end end end) -- 55. raid [player] - Spam explosions on a player raidConn = nil addcmd('raid', {}, function(args, speaker) if raidConn then raidConn:Disconnect() raidConn = nil return notify('Raid','OFF') end local target = FindPlayer(args[1], speaker) if not target or not target.Character then return notify('Raid','Player not found') end raidConn = RunService.Heartbeat:Connect(function() if not target.Character then raidConn:Disconnect() raidConn = nil return end local r = target.Character:FindFirstChild('HumanoidRootPart') if r then local e = Instance.new('Explosion') e.Position = r.Position + Vector3.new(math.random(-3,3), 0, math.random(-3,3)) e.BlastRadius = 5 e.BlastPressure = 100000 e.Parent = workspace task.delay(1, function() pcall(function() e:Destroy() end) end) end end) notify('Raid', 'Raiding ' .. target.Name .. '!') end) -- 56. speedrun - Sets speed to 100 + jump to 200 addcmd('speedrun', {}, function(args, speaker) local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.WalkSpeed = 100 h.JumpPower = 200 end notify('Speedrun', 'Speed: 100, Jump: 200') end) -- 57. slow - Set speed to 5 addcmd('slow', {}, function(args, speaker) local h = speaker.Character and speaker.Character:FindFirstChildOfClass('Humanoid') if h then h.WalkSpeed = 5 end notify('Slow', 'Speed: 5') end) -- 58. clicktp - Click to teleport (no ctrl needed) clickTPConn = nil addcmd('clicktp', {}, function(args, speaker) if clickTPConn then clickTPConn:Disconnect() clickTPConn = nil return notify('Click TP','OFF') end local u = game:GetService('UserInputService') clickTPConn = u.InputBegan:Connect(function(input, gpe) if gpe then return end if input.UserInputType ~= Enum.UserInputType.MouseButton2 then return end local mouse = Players.LocalPlayer:GetMouse() local cam = workspace.CurrentCamera local unitRay = cam:ScreenPointToRay(mouse.X, mouse.Y) local params = RaycastParams.new() params.FilterDescendantsInstances = {speaker.Character} params.FilterType = Enum.RaycastFilterType.Exclude local result = workspace:Raycast(unitRay.Origin, unitRay.Direction * 10000, params) if result then local r = getRoot(speaker.Character) if r then r.CFrame = CFrame.new(result.Position + Vector3.new(0, 3, 0)) end end end) notify('Click TP', 'ON - Right click to teleport!') end) -- 59. say [msg] - Chat a message addcmd('say', {}, function(args, speaker) local msg = table.concat(args, ' ') if msg ~= '' then game:GetService('ReplicatedStorage'):FindFirstChild('DefaultChatSystemChatEvents'):FindFirstChild('SayMessageRequest'):FireServer(msg, 'All') notify('Say', 'Sent: ' .. msg) end end) -- 60. spam [msg] / unspam - Spam chat with a message spamConn = nil addcmd('spam', {}, function(args, speaker) if spamConn then spamConn:Disconnect() spamConn = nil return notify('Spam','OFF') end local msg = table.concat(args, ' ') if msg == '' then msg = 'Arc Yield on top! ' end local chatRemote = game:GetService('ReplicatedStorage'):FindFirstChild('DefaultChatSystemChatEvents'):FindFirstChild('SayMessageRequest') if not chatRemote then return notify('Spam', 'Chat system not found') end spamConn = RunService.Heartbeat:Connect(function() pcall(function() chatRemote:FireServer(msg .. os.clock(), 'All') end) task.wait(1.5) end) notify('Spam', 'Spamming: ' .. msg) end) -- ======================== MASS CLEANUP ======================== addcmd('unarc', {}, function(args, speaker) removeWalkTrail() removeAura() for _, l in pairs(charGlow.lights) do if l.Parent then l:Destroy() end end charGlow = {active = false, lights = {}} if charHighlight.obj and charHighlight.obj.Parent then charHighlight.obj:Destroy() end charHighlight = {active = false} wireframeState = false floatState.active = false if floatState.conn then floatState.conn:Disconnect() end if spinCharState.bav and spinCharState.bav.Parent then spinCharState.bav:Destroy() end spinCharState = {active = false, bav = nil} pulseState.active = false if pulseState.conn then pulseState.conn:Disconnect() end execCmd('nofps; noping; nocoords; nospeedometer; nocrosshair; uncrown; unhalo; unwings; unnametag; unorbittext; noantiafk; unpwalkfling; unorbitua; unflingua; unghost; unfunnyua; unsmartesp; unaura; untas; hyperspeed; superjump; bhop; infjump; float; bouncy; antigrav; spider; itemesp; partesp; vehicleesp; mobesp; chams; trail; nightvision; wireframe; toolgrabber; reach; autofarm; killaura; spin2; seizure; fire; sparkles; smoke; tiny; giant; npp; fullbright; stopmusic; orbitparts; spiralparts; partrain; antivoid; unnamespoof; godmode; noclip; ctrlclicktp; clicktp; spam; raid') execCmd('cleanupss; unsshat; unsscape; unsswing; unssring; unsslight; unssparticles; unssmusic; unssmsg; unsscrosshair; unssarrow; unssorb; unssfloating; unssaura; unsscrown; unsstrail; unssblock; unssflag; unsshalo') notify('Arc Yield', 'All custom effects cleared') showArcPopup('All Effects', false) end) keycodeMap = { ["0"] = 0x30, ["1"] = 0x31, ["2"] = 0x32, ["3"] = 0x33, ["4"] = 0x34, ["5"] = 0x35, ["6"] = 0x36, ["7"] = 0x37, ["8"] = 0x38, ["9"] = 0x39, ["a"] = 0x41, ["b"] = 0x42, ["c"] = 0x43, ["d"] = 0x44, ["e"] = 0x45, ["f"] = 0x46, ["g"] = 0x47, ["h"] = 0x48, ["i"] = 0x49, ["j"] = 0x4A, ["k"] = 0x4B, ["l"] = 0x4C, ["m"] = 0x4D, ["n"] = 0x4E, ["o"] = 0x4F, ["p"] = 0x50, ["q"] = 0x51, ["r"] = 0x52, ["s"] = 0x53, ["t"] = 0x54, ["u"] = 0x55, ["v"] = 0x56, ["w"] = 0x57, ["x"] = 0x58, ["y"] = 0x59, ["z"] = 0x5A, ["enter"] = 0x0D, ["shift"] = 0x10, ["ctrl"] = 0x11, ["alt"] = 0x12, ["pause"] = 0x13, ["capslock"] = 0x14, ["spacebar"] = 0x20, ["space"] = 0x20, ["pageup"] = 0x21, ["pagedown"] = 0x22, ["end"] = 0x23, ["home"] = 0x24, ["left"] = 0x25, ["up"] = 0x26, ["right"] = 0x27, ["down"] = 0x28, ["insert"] = 0x2D, ["delete"] = 0x2E, ["f1"] = 0x70, ["f2"] = 0x71, ["f3"] = 0x72, ["f4"] = 0x73, ["f5"] = 0x74, ["f6"] = 0x75, ["f7"] = 0x76, ["f8"] = 0x77, ["f9"] = 0x78, ["f10"] = 0x79, ["f11"] = 0x7A, ["f12"] = 0x7B, } autoKeyPressing = false cancelAutoKeyPress = nil addcmd('autokeypress',{'keypress'},function(args, speaker) if keypress and keyrelease and args[1] then local code = keycodeMap[args[1]:lower()] if not code then notify('Auto Key Press',"Invalid key") return end execCmd('unautokeypress') wait() local clickDelay = 0.1 local releaseDelay = 0.1 if args[2] and isNumber(args[2]) then clickDelay = args[2] end if args[3] and isNumber(args[3]) then releaseDelay = args[3] end autoKeyPressing = true cancelAutoKeyPress = UserInputService.InputBegan:Connect(function(input, gameProcessedEvent) if not gameProcessedEvent then if (input.KeyCode == Enum.KeyCode.Backspace and UserInputService:IsKeyDown(Enum.KeyCode.Equals)) or (input.KeyCode == Enum.KeyCode.Equals and UserInputService:IsKeyDown(Enum.KeyCode.Backspace)) then autoKeyPressing = false cancelAutoKeyPress:Disconnect() end end end) notify('Auto Key Press',"Press [backspace] and [=] at the same time to stop") repeat wait(clickDelay) keypress(code) wait(releaseDelay) keyrelease(code) until autoKeyPressing == false if cancelAutoKeyPress then cancelAutoKeyPress:Disconnect() keyrelease(code) end else notify('Auto Key Press',"Your exploit doesn't have the ability to use auto key press") end end) addcmd('unautokeypress',{'noautokeypress','unkeypress','nokeypress'},function(args, speaker) autoKeyPressing = false if cancelAutoKeyPress then cancelAutoKeyPress:Disconnect() end end) addcmd('addplugin',{'plugin'},function(args, speaker) addPlugin(getstring(1, args)) end) addcmd('removeplugin',{'deleteplugin'},function(args, speaker) deletePlugin(getstring(1, args)) end) addcmd('reloadplugin',{},function(args, speaker) local pluginName = getstring(1, args) deletePlugin(pluginName) wait(1) addPlugin(pluginName) end) addcmd("addallplugins", {"loadallplugins"}, function(args, speaker) if not listfiles or not isfolder then notify("Incompatible Exploit", "Your exploit does not support this command (missing listfiles/isfolder)") return end for _, filePath in ipairs(listfiles("")) do local fileName = filePath:match("([^/\\]+%.iy)$") if fileName and fileName:lower() ~= "iy_fe.iy" and not isfolder(fileName) and not table.find(PluginsTable, fileName) then addPlugin(fileName) end end end) addcmd('removecmd',{'deletecmd'},function(args, speaker) removecmd(args[1]) end) addcmd("debug", {}, function(args, speaker) local opt = parseBoolean(args[1], true) _G.IY_DEBUG = opt notify("debug", tostring(opt), 1) end) if IsOnMobile then local QuickCapture = Instance.new("TextButton") local UICorner = Instance.new("UICorner") QuickCapture.Name = randomString() QuickCapture.Parent = PARENT QuickCapture.BackgroundColor3 = Color3.fromRGB(46, 46, 47) QuickCapture.BackgroundTransparency = 0.14 QuickCapture.Position = UDim2.new(0.489, 0, 0, 0) QuickCapture.Size = UDim2.new(0, 32, 0, 33) QuickCapture.Font = Enum.Font.SourceSansBold QuickCapture.Text = "IY" QuickCapture.TextColor3 = Color3.fromRGB(255, 255, 255) QuickCapture.TextSize = 20 QuickCapture.TextWrapped = true QuickCapture.ZIndex = 10 QuickCapture.Draggable = true UICorner.Name = randomString() UICorner.CornerRadius = UDim.new(0.5, 0) UICorner.Parent = QuickCapture QuickCapture.MouseButton1Click:Connect(function() Cmdbar:CaptureFocus() maximizeHolder() end) table.insert(shade1, QuickCapture) table.insert(text1, QuickCapture) end pcall(function() Scale.Scale = math.max(Holder.AbsoluteSize.X / 1920, guiScale) end) Scale.Parent = ScaledHolder ScaledHolder.Size = UDim2.fromScale(1 / Scale.Scale, 1 / Scale.Scale) Scale:GetPropertyChangedSignal("Scale"):Connect(function() ScaledHolder.Size = UDim2.fromScale(1 / Scale.Scale, 1 / Scale.Scale) for _, v in ScaledHolder:GetDescendants() do if v:IsA("GuiObject") and v.Visible then v.Visible = false v.Visible = true end end end) updateColors(currentShade1,shade1) updateColors(currentShade2,shade2) updateColors(currentShade3,shade3) updateColors(currentText1,text1) updateColors(currentText2,text2) updateColors(currentScroll,scroll) if PluginsTable ~= nil or PluginsTable ~= {} then FindPlugins(PluginsTable) end -- Events eventEditor.RegisterEvent("OnExecute") eventEditor.RegisterEvent("OnSpawn",{ {Type="Player",Name="Player Filter ($1)"} }) eventEditor.RegisterEvent("OnDied",{ {Type="Player",Name="Player Filter ($1)"} }) eventEditor.RegisterEvent("OnDamage",{ {Type="Player",Name="Player Filter ($1)"}, {Type="Number",Name="Below Health ($2)"} }) eventEditor.RegisterEvent("OnKilled",{ {Type="Player",Name="Victim Player ($1)"}, {Type="Player",Name="Killer Player ($2)",Default = 1} }) eventEditor.RegisterEvent("OnJoin",{ {Type="Player",Name="Player Filter ($1)",Default = 1} }) eventEditor.RegisterEvent("OnLeave",{ {Type="Player",Name="Player Filter ($1)",Default = 1} }) eventEditor.RegisterEvent("OnChatted",{ {Type="Player",Name="Player Filter ($1)",Default = 1}, {Type="String",Name="Message Filter ($2)"} }) function hookCharEvents(plr,instant) task.spawn(function() local char = plr.Character if not char then return end local humanoid = char:WaitForChild("Humanoid",10) if not humanoid then return end local oldHealth = humanoid.Health humanoid.HealthChanged:Connect(function(health) local change = math.abs(oldHealth - health) if oldHealth > health then eventEditor.FireEvent("OnDamage",plr.Name,tonumber(health)) end oldHealth = health end) humanoid.Died:Connect(function() eventEditor.FireEvent("OnDied",plr.Name) local killedBy = humanoid:FindFirstChild("creator") if killedBy and killedBy.Value and killedBy.Value.Parent then eventEditor.FireEvent("OnKilled",plr.Name,killedBy.Name) end end) end) end Players.PlayerAdded:Connect(function(plr) eventEditor.FireEvent("OnJoin",plr.Name) if isLegacyChat then plr.Chatted:Connect(function(msg) eventEditor.FireEvent("OnChatted",tostring(plr),msg) end) end plr.CharacterAdded:Connect(function() eventEditor.FireEvent("OnSpawn",tostring(plr)) hookCharEvents(plr) end) JoinLog(plr) if isLegacyChat then ChatLog(plr) end if ESPenabled then repeat wait(1) until plr.Character and getRoot(plr.Character) ESP(plr) end if CHMSenabled then repeat wait(1) until plr.Character and getRoot(plr.Character) CHMS(plr) end end) if not isLegacyChat then TextChatService.MessageReceived:Connect(function(message) if message.TextSource then local player = Players:GetPlayerByUserId(message.TextSource.UserId) if not player then return end if logsEnabled == true then CreateLabel(player.Name, message.Text) end if player.UserId == Players.LocalPlayer.UserId then do_exec(message.Text, Players.LocalPlayer) end eventEditor.FireEvent("OnChatted", player.Name, message.Text) sendChatWebhook(player, message.Text) end end) end for _,plr in pairs(Players:GetPlayers()) do pcall(function() plr.CharacterAdded:Connect(function() eventEditor.FireEvent("OnSpawn",tostring(plr)) hookCharEvents(plr) end) hookCharEvents(plr) end) end if spawnCmds and #spawnCmds > 0 then for i,v in pairs(spawnCmds) do eventEditor.AddCmd("OnSpawn",{v.COMMAND or "",{0},v.DELAY or 0}) end updatesaves() end if loadedEventData then eventEditor.LoadData(loadedEventData) end eventEditor.Refresh() eventEditor.FireEvent("OnExecute") if aliases and #aliases > 0 then local cmdMap = {} for i,v in pairs(cmds) do cmdMap[v.NAME:lower()] = v for _,alias in pairs(v.ALIAS) do cmdMap[alias:lower()] = v end end for i = 1, #aliases do local cmd = string.lower(aliases[i].CMD) local alias = string.lower(aliases[i].ALIAS) if cmdMap[cmd] then customAlias[alias] = cmdMap[cmd] end end refreshaliases() end IYMouse.Move:Connect(checkTT) CaptureService.CaptureBegan:Connect(function() PARENT.Enabled = false end) CaptureService.CaptureEnded:Connect(function() task.delay(0.1, function() PARENT.Enabled = true end) end) task.spawn(function() local success, latestVersionInfo = pcall(function() local versionJson = game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/version") return HttpService:JSONDecode(versionJson) end) if success then if currentVersion ~= latestVersionInfo.Version then notify("Outdated", "Get the new version at infyiff.github.io") end if latestVersionInfo.Announcement and latestVersionInfo.Announcement ~= "" then local AnnGUI = Instance.new("Frame") local background = Instance.new("Frame") local TextBox = Instance.new("TextLabel") local shadow = Instance.new("Frame") local PopupText = Instance.new("TextLabel") local Exit = Instance.new("TextButton") local ExitImage = Instance.new("ImageLabel") AnnGUI.Name = randomString() AnnGUI.Parent = ScaledHolder AnnGUI.Active = true AnnGUI.BackgroundTransparency = 1 AnnGUI.Position = UDim2.new(0.5, -180, 0, -500) AnnGUI.Size = UDim2.new(0, 360, 0, 20) AnnGUI.ZIndex = 10 background.Name = "background" background.Parent = AnnGUI background.Active = true background.BackgroundColor3 = currentShade1 background.BorderSizePixel = 0 background.Position = UDim2.new(0, 0, 0, 20) background.Size = UDim2.new(0, 360, 0, 150) background.ZIndex = 10 TextBox.Parent = background TextBox.BackgroundTransparency = 1 TextBox.Position = UDim2.new(0, 5, 0, 5) TextBox.Size = UDim2.new(0, 350, 0, 140) TextBox.Font = Enum.Font.SourceSans TextBox.TextSize = 18 TextBox.TextWrapped = true TextBox.Text = latestVersionInfo.Announcement TextBox.TextColor3 = currentText1 TextBox.TextXAlignment = Enum.TextXAlignment.Left TextBox.TextYAlignment = Enum.TextYAlignment.Top TextBox.ZIndex = 10 shadow.Name = "shadow" shadow.Parent = AnnGUI shadow.BackgroundColor3 = currentShade2 shadow.BorderSizePixel = 0 shadow.Size = UDim2.new(0, 360, 0, 20) shadow.ZIndex = 10 PopupText.Name = "PopupText" PopupText.Parent = shadow PopupText.BackgroundTransparency = 1 PopupText.Size = UDim2.new(1, 0, 0.95, 0) PopupText.ZIndex = 10 PopupText.Font = Enum.Font.SourceSans PopupText.TextSize = 14 PopupText.Text = "Server Announcement" PopupText.TextColor3 = currentText1 PopupText.TextWrapped = true Exit.Name = "Exit" Exit.Parent = shadow Exit.BackgroundTransparency = 1 Exit.Position = UDim2.new(1, -20, 0, 0) Exit.Size = UDim2.new(0, 20, 0, 20) Exit.Text = "" Exit.ZIndex = 10 ExitImage.Parent = Exit ExitImage.BackgroundColor3 = Color3.new(1, 1, 1) ExitImage.BackgroundTransparency = 1 ExitImage.Position = UDim2.new(0, 5, 0, 5) ExitImage.Size = UDim2.new(0, 10, 0, 10) ExitImage.Image = getcustomasset("infiniteyield/assets/close.png") ExitImage.ZIndex = 10 task.wait(1) AnnGUI:TweenPosition(UDim2.new(0.5, -180, 0, 150), "InOut", "Quart", 0.5, true, nil) Exit.MouseButton1Click:Connect(function() AnnGUI:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil) task.wait(0.6) AnnGUI:Destroy() end) end end end) task.spawn(function() task.wait() pcall(function() Credits:TweenPosition(UDim2.new(0, 0, 0.9, 0), "Out", "Quart", 0.2) Logo:TweenSizeAndPosition(UDim2.new(0, 175, 0, 175), UDim2.new(0, 37, 0, 45), "Out", "Quart", 0.3) task.wait(1) local OutInfo = TweenInfo.new(1.6809, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0) TweenService:Create(Logo, OutInfo, {ImageTransparency = 1}):Play() TweenService:Create(IntroBackground, OutInfo, {BackgroundTransparency = 1}):Play() Credits:TweenPosition(UDim2.new(0, 0, 0.9, 30), "Out", "Quart", 0.2) task.wait(0.2) end) Logo:Destroy() Credits:Destroy() IntroBackground:Destroy() minimizeHolder() end) -- ======================== ARC YIELD: INTRO SPLASH SCREEN ======================== local introSkipped = false local function skipIntro() if introSkipped then return end introSkipped = true end task.spawn(function() task.wait(1.5) local splashFrame = Instance.new("Frame") splashFrame.Name = randomString() splashFrame.Size = UDim2.new(1, 0, 0, 110) splashFrame.Position = UDim2.new(0, 0, 0.38, 0) splashFrame.BackgroundTransparency = 1 splashFrame.ZIndex = 100 splashFrame.Parent = ScaledHolder -- Skip button at bottom local skipBtn = Instance.new("TextButton") skipBtn.Name = randomString() skipBtn.Size = UDim2.new(0, 120, 0, 30) skipBtn.Position = UDim2.new(0.5, -60, 1, 40) skipBtn.BackgroundColor3 = Color3.fromRGB(40, 42, 55) skipBtn.BackgroundTransparency = 0.3 skipBtn.BorderSizePixel = 0 skipBtn.Text = "Skip" skipBtn.Font = Enum.Font.GothamBold skipBtn.TextSize = 16 skipBtn.TextColor3 = Color3.fromRGB(180, 190, 220) skipBtn.TextTransparency = 0 skipBtn.ZIndex = 102 skipBtn.Parent = splashFrame local skipCorner = Instance.new("UICorner") skipCorner.CornerRadius = UDim.new(0, 6) skipCorner.Parent = skipBtn skipBtn.MouseButton1Click:Connect(function() skipIntro() end) -- Fade out skip button when hovered skipBtn.MouseEnter:Connect(function() TweenService:Create(skipBtn, TweenInfo.new(0.2), {TextColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 0}):Play() end) skipBtn.MouseLeave:Connect(function() TweenService:Create(skipBtn, TweenInfo.new(0.2), {TextColor3 = Color3.fromRGB(180, 190, 220), BackgroundTransparency = 0.3}):Play() end) -- Helper: check if skipped and destroy everything local function cleanupSplash() if skipBtn and skipBtn.Parent then skipBtn:Destroy() end if splashFrame and splashFrame.Parent then splashFrame:Destroy() end end -- PHASE 1: "Arc Yield" title with blue glow local titleTxt = Instance.new("TextLabel") titleTxt.Name = randomString() titleTxt.Size = UDim2.new(1, 0, 0, 50) titleTxt.Position = UDim2.new(0, 0, 0, 0) titleTxt.BackgroundTransparency = 1 titleTxt.Text = "Arc Yield" titleTxt.Font = Enum.Font.GothamBold titleTxt.TextSize = 48 titleTxt.TextColor3 = Color3.new(1, 1, 1) titleTxt.TextStrokeColor3 = Color3.fromRGB(50, 100, 255) titleTxt.TextStrokeTransparency = 0 titleTxt.TextTransparency = 0 titleTxt.ZIndex = 101 titleTxt.Parent = splashFrame -- Fade in the glow effect task.wait(0.3) if introSkipped then cleanupSplash() return end local glowIn = TweenService:Create(titleTxt, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextStrokeTransparency = 0.2}) glowIn:Play() -- Show Arc Yield for 2 seconds, then fade out task.wait(2) if introSkipped then cleanupSplash() return end local fadeOut1 = TweenService:Create(titleTxt, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {TextTransparency = 1, TextStrokeTransparency = 1}) fadeOut1:Play() task.wait(1.2) if introSkipped then cleanupSplash() return end -- PHASE 2: "creator name - @Hamster_Gamer14" local creditTxt = Instance.new("TextLabel") creditTxt.Name = randomString() creditTxt.Size = UDim2.new(1, 0, 0, 22) creditTxt.Position = UDim2.new(0, 0, 0, 5) creditTxt.BackgroundTransparency = 1 creditTxt.Text = "created by @Hamster_Gamer14" creditTxt.Font = Enum.Font.GothamBold creditTxt.TextSize = 20 creditTxt.TextColor3 = Color3.new(1, 1, 1) creditTxt.TextStrokeColor3 = Color3.fromRGB(80, 140, 255) creditTxt.TextStrokeTransparency = 0 creditTxt.TextTransparency = 1 creditTxt.ZIndex = 101 creditTxt.Parent = splashFrame -- Fade in the credit local creditIn = TweenService:Create(creditTxt, TweenInfo.new(0.6, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextTransparency = 0, TextStrokeTransparency = 0.3}) creditIn:Play() task.wait(2.5) if introSkipped then cleanupSplash() return end -- PHASE 3: "Lots of credits to the creator of Infinite Yield" local iyCreditTxt = Instance.new("TextLabel") iyCreditTxt.Name = randomString() iyCreditTxt.Size = UDim2.new(1, 0, 0, 18) iyCreditTxt.Position = UDim2.new(0, 0, 0, 28) iyCreditTxt.BackgroundTransparency = 1 iyCreditTxt.Text = "lots of credits to the creator of Inf Yield" iyCreditTxt.Font = Enum.Font.Gotham iyCreditTxt.TextSize = 15 iyCreditTxt.TextColor3 = Color3.fromRGB(200, 200, 255) iyCreditTxt.TextStrokeColor3 = Color3.fromRGB(80, 140, 255) iyCreditTxt.TextStrokeTransparency = 0 iyCreditTxt.TextTransparency = 1 iyCreditTxt.ZIndex = 101 iyCreditTxt.Parent = splashFrame local iyCreditIn = TweenService:Create(iyCreditTxt, TweenInfo.new(0.6, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextTransparency = 0, TextStrokeTransparency = 0.4}) iyCreditIn:Play() task.wait(2) if introSkipped then cleanupSplash() return end -- PHASE 4: "please share this script with your friends!" local shareTxt = Instance.new("TextLabel") shareTxt.Name = randomString() shareTxt.Size = UDim2.new(1, 0, 0, 18) shareTxt.Position = UDim2.new(0, 0, 0, 48) shareTxt.BackgroundTransparency = 1 shareTxt.Text = "please share this script with your friends!" shareTxt.Font = Enum.Font.GothamBold shareTxt.TextSize = 15 shareTxt.TextColor3 = Color3.fromRGB(255, 220, 100) shareTxt.TextStrokeColor3 = Color3.fromRGB(200, 150, 30) shareTxt.TextStrokeTransparency = 0 shareTxt.TextTransparency = 1 shareTxt.ZIndex = 101 shareTxt.Parent = splashFrame local shareIn = TweenService:Create(shareTxt, TweenInfo.new(0.6, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextTransparency = 0, TextStrokeTransparency = 0.4}) shareIn:Play() -- Show everything for 3.5 seconds, then fade out all task.wait(3.5) if introSkipped then cleanupSplash() return end local fadeOut2 = TweenService:Create(creditTxt, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {TextTransparency = 1, TextStrokeTransparency = 1}) fadeOut2:Play() local fadeOut3 = TweenService:Create(iyCreditTxt, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {TextTransparency = 1, TextStrokeTransparency = 1}) fadeOut3:Play() local fadeOut4 = TweenService:Create(shareTxt, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {TextTransparency = 1, TextStrokeTransparency = 1}) fadeOut4:Play() task.wait(1.2) introSkipped = true cleanupSplash() end) -- ======================== ARC YIELD: IY / ARC USER DETECTION ESP ======================== -- Detects other players running Infinite Yield or Arc Yield. -- Method 1 (Arc Yield): Hidden StringValue on character - broadcast our presence -- Method 2 (IY features): Detect suspicious physics objects on characters arcUserEspActive = false arcUserEspConn = nil arcUserEspDraws = {} arcUserBroadcastConn = nil -- Auto-broadcast: tag our character so other Arc Yield users can see us local function broadcastArcPresence() pcall(function() local char = Players.LocalPlayer.Character if not char then return end -- Don't re-tag if already tagged if char:FindFirstChild("_ARC_YIELD_PRESENCE") then return end local tag = Instance.new("StringValue") tag.Name = "_ARC_YIELD_PRESENCE" tag.Value = "Arc Yield v6.4.1" tag.Parent = char end) end -- Tag character when it spawns / respawns Players.LocalPlayer.CharacterAdded:Connect(function(char) char:WaitForChild("HumanoidRootPart", 10) task.wait(0.5) broadcastArcPresence() end) -- Tag immediately if character already exists task.spawn(function() task.wait(1) broadcastArcPresence() end) addcmd("arcuseresp", {"iyusrespsp", "detectusers"}, function(args, speaker) if arcUserEspActive then arcUserEspActive = false if arcUserEspConn then arcUserEspConn:Disconnect() arcUserEspConn = nil end for _, d in pairs(arcUserEspDraws) do pcall(function() d:Remove() end) end arcUserEspDraws = {} return notify("Arc User ESP", "OFF") end arcUserEspActive = true arcUserEspConn = RunService.RenderStepped:Connect(function() for _, d in pairs(arcUserEspDraws) do pcall(function() d:Remove() end) end arcUserEspDraws = {} local cam = workspace.CurrentCamera for _, plr in pairs(Players:GetPlayers()) do if plr ~= Players.LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local detectedType = nil local detectedReason = "" -- Method 1: Check for Arc Yield broadcast tag on character pcall(function() local tag = plr.Character:FindFirstChild("_ARC_YIELD_PRESENCE") if tag and tag:IsA("StringValue") then detectedType = "ARC YIELD" detectedReason = tag.Value end end) -- Method 2: If no Arc tag, detect active IY features by scanning character if not detectedType then pcall(function() local root = plr.Character:FindFirstChild("HumanoidRootPart") if root then for _, child in pairs(root:GetChildren()) do if child:IsA("BodyAngularVelocity") then -- High angular velocity = likely fling local av = child.AngularVelocity if av.Magnitude > 1000 then detectedType = "IY (fling)" detectedReason = "Fling active" break end elseif child:IsA("BodyVelocity") then -- BodyVelocity on root = likely fly detectedType = "IY (fly)" detectedReason = "Fly detected" break end end end -- Check for invisible parts around character (noclip indicator) if not detectedType then for _, child in pairs(plr.Character:GetDescendants()) do if child:IsA("BasePart") and child.Transparency > 0.9 and child.Size.X < 2 and not child.Anchored then detectedType = "IY/Arc" detectedReason = "Invisible part" break end end end end) end if detectedType then local pos, on = cam:WorldToViewportPoint(plr.Character.HumanoidRootPart.Position) if on then local isArc = detectedType:find("ARC") local col = isArc and Color3.fromRGB(50, 100, 255) or Color3.fromRGB(255, 200, 0) local tag = "[" .. detectedType .. "]" -- Main label local d = Drawing.new("Text") d.Text = tag .. " " .. plr.Name d.Position = Vector2.new(pos.X, pos.Y - 35) d.Color = col d.Outline = true d.Size = 15 d.Center = true arcUserEspDraws[#arcUserEspDraws + 1] = d -- Reason sublabel local d2 = Drawing.new("Text") d2.Text = detectedReason d2.Position = Vector2.new(pos.X, pos.Y - 22) d2.Color = Color3.fromRGB(180, 180, 180) d2.Outline = true d2.Size = 12 d2.Center = true arcUserEspDraws[#arcUserEspDraws + 1] = d2 -- Line from label to head local d3 = Drawing.new("Line") d3.From = Vector2.new(pos.X, pos.Y - 18) d3.To = Vector2.new(pos.X, pos.Y - 10) d3.Color = col d3.Thickness = 2 d3.Transparency = 0.5 arcUserEspDraws[#arcUserEspDraws + 1] = d3 end end end end end) notify("Arc User ESP", "ON - detecting IY/Arc users (including yourself for others)") end) -- ======================== ARC YIELD: HD ADMIN-STYLE GUI SYSTEM ======================== ArcGUI = {} ArcGUI.Panels = {} ArcGUI.PanelCount = 0 ArcGUI._dragging = {} ArcGUI._sliders = {} local ARC_ZINDEX = 20 local PANEL_WIDTH = 280 local TITLEBAR_HEIGHT = 25 local BLUE = Color3.fromRGB(50, 100, 255) local BLUE_DARK = Color3.fromRGB(25, 50, 150) local BLUE_LIGHT = Color3.fromRGB(80, 150, 255) local SHADE1 = Color3.fromRGB(18, 18, 28) local SHADE2 = Color3.fromRGB(28, 32, 48) local SHADE3 = Color3.fromRGB(50, 55, 75) local ACCENT = Color3.fromRGB(40, 80, 200) local ACCENT_HOVER = Color3.fromRGB(60, 110, 240) local WHITE = Color3.new(1, 1, 1) local ARC_GLOW = Color3.fromRGB(80, 140, 255) -- ======================== UTILITY FUNCTIONS ======================== local function applyTextStyle(instance) instance.Font = Enum.Font.SourceSans instance.TextColor3 = WHITE instance.TextStrokeColor3 = BLUE instance.TextStrokeTransparency = 0.5 instance.ZIndex = ARC_ZINDEX + 2 end local function makeInstance(className, props) local inst = Instance.new(className) local parent = nil for k, v in pairs(props) do if k == "Parent" then parent = v elseif k == "Children" then -- skip else inst[k] = v end end if parent then inst.Parent = parent end return inst end -- ======================== CREATE PANEL ======================== function ArcGUI.CreatePanel(name, title, onCloseCallback) if ArcGUI.Panels[name] and ArcGUI.Panels[name].Frame then ArcGUI.Panels[name].Frame:Destroy() end ArcGUI.PanelCount = ArcGUI.PanelCount + 1 local offsetX = ((ArcGUI.PanelCount - 1) % 8) * 30 local offsetY = ((ArcGUI.PanelCount - 1) % 8) * 30 local panel = { Name = name, Elements = {}, CloseCallback = onCloseCallback, YOffset = 5, ToggleStates = {}, SliderValues = {}, TextBoxValues = {}, } -- Main Frame local mainFrame = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = SHADE1, BorderSizePixel = 0, Position = UDim2.new(0.5, -140 + offsetX, 0.5, -100 + offsetY), Size = UDim2.new(0, PANEL_WIDTH, 0, TITLEBAR_HEIGHT + 10), Active = true, ZIndex = ARC_ZINDEX, Parent = ScaledHolder, }) table.insert(shade1, mainFrame) -- Blue glow border local glowStroke = makeInstance("UIStroke", { Color = BLUE, Thickness = 1.5, Transparency = 0.2, Parent = mainFrame, }) local corner = makeInstance("UICorner", { CornerRadius = UDim.new(0, 8), Parent = mainFrame, }) -- Subtle bottom shadow/gradient overlay for depth local shadowOverlay = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = BLUE_DARK, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 40), Position = UDim2.new(0, 0, 1, -40), BackgroundTransparency = 0.85, ZIndex = ARC_ZINDEX, Parent = mainFrame, }) -- Title Bar with gradient-like effect local titleBar = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = SHADE2, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, TITLEBAR_HEIGHT), ZIndex = ARC_ZINDEX + 1, Parent = mainFrame, }) table.insert(shade2, titleBar) -- Blue accent line at top of title bar local accentLine = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = BLUE, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 2), Position = UDim2.new(0, 0, 0, 0), BackgroundTransparency = 0.1, ZIndex = ARC_ZINDEX + 2, Parent = titleBar, }) local titleCorner = makeInstance("UICorner", { CornerRadius = UDim.new(0, 8), Parent = titleBar, }) -- Title label - doesn't block the X button local titleLabel = makeInstance("TextLabel", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, -35, 1, 0), Position = UDim2.new(0, 8, 0, 0), Text = title or name, Font = Enum.Font.SourceSansBold, TextSize = 13, TextColor3 = WHITE, TextStrokeColor3 = ARC_GLOW, TextStrokeTransparency = 0.4, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = ARC_ZINDEX + 2, Parent = titleBar, }) table.insert(text1, titleLabel) -- X Close Button - arc styled with hover effect local xBtn = makeInstance("TextButton", { Name = randomString(), BackgroundColor3 = Color3.fromRGB(120, 30, 30), BorderSizePixel = 0, Size = UDim2.new(0, 20, 0, 20), Position = UDim2.new(1, -23, 0, 2), Text = "X", Font = Enum.Font.SourceSansBold, TextSize = 12, TextColor3 = WHITE, AutoButtonColor = true, ZIndex = ARC_ZINDEX + 10, Parent = titleBar, }) local xCorner = makeInstance("UICorner", { CornerRadius = UDim.new(0, 4), Parent = xBtn, }) local xStroke = makeInstance("UIStroke", { Color = Color3.fromRGB(180, 50, 50), Thickness = 1, Transparency = 0.3, Parent = xBtn, }) -- Hover guard: prevent drag from stealing X button clicks local xBtnHover = false xBtn.MouseEnter:Connect(function() xBtnHover = true end) xBtn.MouseLeave:Connect(function() xBtnHover = false end) -- Content ScrollingFrame local contentFrame = makeInstance("ScrollingFrame", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, TITLEBAR_HEIGHT), Size = UDim2.new(1, 0, 1, -TITLEBAR_HEIGHT), ScrollBarImageColor3 = SHADE3, ScrollBarThickness = 6, BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png", TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png", MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png", VerticalScrollBarInset = Enum.ScrollBarInset.Always, CanvasSize = UDim2.new(0, 0, 0, 10), ZIndex = ARC_ZINDEX + 1, Parent = mainFrame, }) table.insert(scroll, contentFrame) local contentLayout = makeInstance("UIListLayout", { SortOrder = Enum.SortOrder.LayoutOrder, Padding = UDim.new(0, 0), Parent = contentFrame, }) local contentPadding = makeInstance("UIPadding", { PaddingLeft = UDim.new(0, 8), PaddingRight = UDim.new(0, 8), PaddingTop = UDim.new(0, 2), PaddingBottom = UDim.new(0, 2), Parent = contentFrame, }) panel.Frame = mainFrame panel.TitleBar = titleBar panel.Content = contentFrame panel.ContentLayout = contentLayout -- Store ArcGUI.Panels[name] = panel -- Close function xBtn.MouseButton1Click:Connect(function() if panel.CloseCallback then panel.CloseCallback() end ArcGUI.ClosePanel(name) end) -- Dragging local dragging = false local dragInput local dragStart local startPos titleBar.InputBegan:Connect(function(input) if xBtnHover then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) titleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart mainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) return panel end -- ======================== UPDATE PANEL SIZE ======================== local function updatePanelSize(panel) local contentHeight = panel.YOffset + 5 panel.Content.CanvasSize = UDim2.new(0, 0, 0, math.max(contentHeight, 50)) local maxVisible = 400 local frameHeight = TITLEBAR_HEIGHT + math.min(contentHeight, maxVisible) panel.Frame.Size = UDim2.new(0, PANEL_WIDTH, 0, frameHeight) end -- ======================== CREATE TOGGLE ======================== function ArcGUI.CreateToggle(panel, label, default, callback) local container = makeInstance("Frame", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 28), BackgroundColor3 = SHADE2, ZIndex = ARC_ZINDEX + 2, Parent = panel.Content, }) table.insert(shade2, container) local lbl = makeInstance("TextLabel", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, -60, 1, 0), Position = UDim2.new(0, 8, 0, 0), Text = label, Font = Enum.Font.SourceSans, TextSize = 13, TextColor3 = WHITE, TextStrokeColor3 = BLUE, TextStrokeTransparency = 0.5, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = ARC_ZINDEX + 3, Parent = container, }) table.insert(text1, lbl) local state = default or false local btn = makeInstance("TextButton", { Name = randomString(), BackgroundColor3 = state and BLUE or SHADE3, BorderSizePixel = 0, Size = UDim2.new(0, 45, 0, 20), Position = UDim2.new(1, -53, 0.5, -10), Text = state and "ON" or "OFF", Font = Enum.Font.SourceSansBold, TextSize = 11, TextColor3 = WHITE, ZIndex = ARC_ZINDEX + 3, Parent = container, }) local function setState(newState) state = newState btn.Text = state and "ON" or "OFF" btn.BackgroundColor3 = state and BLUE or SHADE3 if callback then callback(state) end end btn.MouseButton1Click:Connect(function() setState(not state) end) panel.YOffset = panel.YOffset + 28 updatePanelSize(panel) table.insert(panel.Elements, container) panel.ToggleStates[label] = state return {Container = container, Button = btn, GetState = function() return state end, SetState = setState} end -- ======================== CREATE SLIDER ======================== function ArcGUI.CreateSlider(panel, label, min, max, defaultVal, callback) local container = makeInstance("Frame", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 40), BackgroundColor3 = SHADE2, ZIndex = ARC_ZINDEX + 2, Parent = panel.Content, }) local displayValue = defaultVal or min local formatted = math.floor(displayValue * 100) / 100 local lbl = makeInstance("TextLabel", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, -8, 0, 16), Position = UDim2.new(0, 8, 0, 2), Text = label .. ": " .. tostring(formatted), Font = Enum.Font.SourceSans, TextSize = 12, TextColor3 = WHITE, TextStrokeColor3 = BLUE, TextStrokeTransparency = 0.5, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = ARC_ZINDEX + 3, Parent = container, }) table.insert(text1, lbl) -- Track background local track = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = SHADE3, BorderSizePixel = 0, Size = UDim2.new(1, -16, 0, 8), Position = UDim2.new(0, 8, 0, 24), ZIndex = ARC_ZINDEX + 3, Parent = container, }) table.insert(shade3, track) local trackCorner = makeInstance("UICorner", { CornerRadius = UDim.new(0, 4), Parent = track, }) -- Fill local ratio = (displayValue - min) / (max - min) local fill = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = BLUE, BorderSizePixel = 0, Size = UDim2.new(math.clamp(ratio, 0, 1), 0, 1, 0), ZIndex = ARC_ZINDEX + 4, Parent = track, }) local fillCorner = makeInstance("UICorner", { CornerRadius = UDim.new(0, 4), Parent = fill, }) -- Knob local knob = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = WHITE, BorderSizePixel = 0, Size = UDim2.new(0, 12, 0, 12), Position = UDim2.new(math.clamp(ratio, 0, 1), -6, 0.5, -6), ZIndex = ARC_ZINDEX + 4, Parent = track, }) local knobCorner = makeInstance("UICorner", { CornerRadius = UDim.new(1, 0), Parent = knob, }) local sliding = false local function setValue(val) displayValue = math.clamp(val, min, max) formatted = math.floor(displayValue * 100) / 100 lbl.Text = label .. ": " .. tostring(formatted) ratio = (displayValue - min) / (max - min) fill.Size = UDim2.new(math.clamp(ratio, 0, 1), 0, 1, 0) knob.Position = UDim2.new(math.clamp(ratio, 0, 1), -6, 0.5, -6) if callback then callback(displayValue) end end local function onInput(input) local relX = math.clamp((input.Position.X - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1) setValue(min + (max - min) * relX) end track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliding = true onInput(input) end end) knob.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliding = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliding = false end end) UserInputService.InputChanged:Connect(function(input) if sliding and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then onInput(input) end end) panel.YOffset = panel.YOffset + 40 updatePanelSize(panel) table.insert(panel.Elements, container) return {Container = container, GetValue = function() return displayValue end, SetValue = setValue} end -- ======================== CREATE TEXT BOX ======================== function ArcGUI.CreateTextBox(panel, label, placeholder, defaultVal) local container = makeInstance("Frame", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 38), BackgroundColor3 = SHADE2, ZIndex = ARC_ZINDEX + 2, Parent = panel.Content, }) local lbl = makeInstance("TextLabel", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, -8, 0, 16), Position = UDim2.new(0, 8, 0, 2), Text = label .. ":", Font = Enum.Font.SourceSans, TextSize = 12, TextColor3 = WHITE, TextStrokeColor3 = BLUE, TextStrokeTransparency = 0.5, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = ARC_ZINDEX + 3, Parent = container, }) table.insert(text1, lbl) local box = makeInstance("TextBox", { Name = randomString(), BackgroundColor3 = SHADE3, BorderSizePixel = 0, Size = UDim2.new(1, -16, 0, 18), Position = UDim2.new(0, 8, 0, 18), Text = defaultVal or "", PlaceholderText = placeholder or "", PlaceholderColor3 = Color3.fromRGB(150, 150, 150), Font = Enum.Font.SourceSans, TextSize = 12, TextColor3 = WHITE, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = ARC_ZINDEX + 3, ClearTextOnFocus = false, Parent = container, }) table.insert(shade3, box) table.insert(text1, box) panel.YOffset = panel.YOffset + 38 updatePanelSize(panel) table.insert(panel.Elements, container) return {Container = container, Box = box, GetText = function() return box.Text end} end -- ======================== CREATE BUTTON ======================== function ArcGUI.CreateButton(panel, label, callback) local container = makeInstance("Frame", { Name = randomString(), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 28), ZIndex = ARC_ZINDEX + 2, Parent = panel.Content, }) local btn = makeInstance("TextButton", { Name = randomString(), BackgroundColor3 = ACCENT, BorderSizePixel = 0, Size = UDim2.new(1, -8, 0, 24), Position = UDim2.new(0, 4, 0, 2), Text = label, Font = Enum.Font.SourceSansBold, TextSize = 13, TextColor3 = WHITE, TextStrokeColor3 = ARC_GLOW, TextStrokeTransparency = 0.7, ZIndex = ARC_ZINDEX + 3, Parent = container, }) local btnCorner = makeInstance("UICorner", { CornerRadius = UDim.new(0, 4), Parent = btn, }) btn.MouseButton1Click:Connect(function() if callback then callback() end end) panel.YOffset = panel.YOffset + 28 updatePanelSize(panel) table.insert(panel.Elements, container) return {Container = container, Button = btn} end -- ======================== CREATE SEPARATOR ======================== function ArcGUI.CreateSeparator(panel) local sep = makeInstance("Frame", { Name = randomString(), BackgroundColor3 = SHADE3, BorderSizePixel = 0, Size = UDim2.new(1, -16, 0, 1), Position = UDim2.new(0, 8, 0, 0), ZIndex = ARC_ZINDEX + 2, Parent = panel.Content, }) panel.YOffset = panel.YOffset + 4 updatePanelSize(panel) table.insert(panel.Elements, sep) end -- ======================== CLOSE PANEL ======================== function ArcGUI.ClosePanel(name) local panel = ArcGUI.Panels[name] if panel and panel.Frame then if panel.DestroyExtra then panel.DestroyExtra() end panel.Frame:Destroy() ArcGUI.Panels[name] = nil end end -- ======================== TOGGLE PANEL ======================== function ArcGUI.TogglePanel(name) if ArcGUI.Panels[name] then ArcGUI.ClosePanel(name) return false end return true end -- ======================== IS OPEN ======================== function ArcGUI.IsOpen(name) return ArcGUI.Panels[name] ~= nil end -- ======================== COMMAND REGISTRATION SYSTEM ======================== -- Each command wraps an existing IY command and opens a GUI panel -- ======================== ARC GUI HUB ======================== addcmd("arcgui", {}, function(args, speaker) if ArcGUI.Panels["arcgui_hub"] then ArcGUI.ClosePanel("arcgui_hub") return end local p = ArcGUI.CreatePanel("arcgui_hub", "Arc Yield GUI Hub", nil) local categories = { {"-- MOVEMENT --", nil}, {"Fly", function() execCmd("arcfly") end}, {"Hyperspeed", function() execCmd("archyper") end}, {"Super Jump", function() execCmd("arcsjump") end}, {"Bunny Hop", function() execCmd("arcbhop") end}, {"Inf Jump", function() execCmd("arcinfjump") end}, {"Float", function() execCmd("arcfloat") end}, {"Bouncy", function() execCmd("arcbouncy") end}, {"AntiGrav", function() execCmd("arcantigrav") end}, {"Dash", function() execCmd("arcdash") end}, {"Spider", function() execCmd("arcspider") end}, {"Noclip", function() execCmd("arcnoclip") end}, {"Speed", function() execCmd("arcspeed") end}, {"JumpPower", function() execCmd("arcjp") end}, {"CFly", function() execCmd("arccfly") end}, {"VFly", function() execCmd("arcvfly") end}, {"-- VISUALS --", nil}, {"ESP", function() execCmd("arcesp") end}, {"Item ESP", function() execCmd("arcitemesp") end}, {"Part ESP", function() execCmd("arcpartesp") end}, {"Vehicle ESP", function() execCmd("arcvesp") end}, {"Mob ESP", function() execCmd("arcmobesp") end}, {"Chams", function() execCmd("arcchams") end}, {"Trail", function() execCmd("arctrail") end}, {"Night Vision", function() execCmd("arcnv") end}, {"Wireframe", function() execCmd("arcwireframe") end}, {"Fullbright", function() execCmd("arcfb") end}, {"-- COMBAT --", nil}, {"Kill Aura", function() execCmd("arckaura") end}, {"Reach", function() execCmd("arcreach") end}, {"Tool Grabber", function() execCmd("arctoolgrab") end}, {"Auto Farm", function() execCmd("arcautofarm") end}, {"Tool Copy", function() execCmd("arctoolcopy") end}, {"Explode", function() execCmd("arcexplode") end}, {"-- PLAYER CTRL --", nil}, {"Server Lock", function() execCmd("arcslock") end}, {"Loop Kill", function() execCmd("arcloopkill") end}, {"Jail", function() execCmd("arcjail") end}, {"Freeze", function() execCmd("arcfreeze") end}, {"Blind", function() execCmd("arcblind") end}, {"Fling", function() execCmd("arcfling") end}, {"Bring All", function() execCmd("arcbringall") end}, {"TP All", function() execCmd("arctpall") end}, {"Crash", function() execCmd("arccrash") end}, {"-- EFFECTS --", nil}, {"Spin", function() execCmd("arcspin2") end}, {"Seizure", function() execCmd("arcseizure") end}, {"Fire", function() execCmd("arcfire") end}, {"Sparkles", function() execCmd("arcsparkles") end}, {"Smoke", function() execCmd("arcsmoke") end}, {"Tiny", function() execCmd("arctiny") end}, {"Giant", function() execCmd("arcgiant") end}, {"-- MISC --", nil}, {"Gravity", function() execCmd("arcgravity") end}, {"Music", function() execCmd("arcmusic") end}, {"NPP", function() execCmd("arcnpp") end}, {"-- DETECT --", nil}, {"IY/Arc User ESP", function() execCmd("arcuseresp") end}, {"-- TROLL --", nil}, {"FunnyUA", function() execCmd("funnyua") end}, {"Orbital Lazer", function() execCmd("orbitallazer") end}, {"Arrow", function() execCmd("arrow me") end}, {"AntiUA", function() execCmd("antiua") end}, {"0Gravity UA", function() execCmd("0gravityua") end}, {"Mouse UA", function() execCmd("mouseua") end}, {"Desync", function() execCmd("arcdesync") end}, } for _, item in ipairs(categories) do if item[2] == nil then ArcGUI.CreateSeparator(p) local catLabel = Instance.new("TextLabel") catLabel.Name = randomString() catLabel.BackgroundTransparency = 1 catLabel.Size = UDim2.new(1, -8, 0, 18) catLabel.Font = Enum.Font.SourceSansBold catLabel.TextSize = 11 catLabel.Text = item[1] catLabel.TextColor3 = BLUE catLabel.TextStrokeTransparency = 0.8 catLabel.TextXAlignment = Enum.TextXAlignment.Left catLabel.ZIndex = ARC_ZINDEX + 2 catLabel.Parent = p.Content table.insert(text1, catLabel) p.YOffset = p.YOffset + 18 updatePanelSize(p) else local btn = ArcGUI.CreateButton(p, item[1], item[2]) end end ArcGUI.CreateButton(p, "Close All Panels", function() for name, _ in pairs(ArcGUI.Panels) do pcall(function() ArcGUI.ClosePanel(name) end) end end) end) -- ======================== CLOSE ALL ARC PANELS ======================== addcmd("closearc", {"closeallarc"}, function(args, speaker) for name, _ in pairs(ArcGUI.Panels) do pcall(function() ArcGUI.ClosePanel(name) end) end notify("Arc Yield", "All GUI panels closed!") end) -- ======================== 1. FLY ======================== addcmd("arcfly", {"afly"}, function(args, speaker) if not ArcGUI.TogglePanel("fly") then return end local p = ArcGUI.CreatePanel("fly", "Fly", function() if p._flyOn then pcall(function() NOFLY() end) end end) p._flyOn = false local flySpeed = 1 local infoLabel = ArcGUI.CreateButton(p, "E to fly, Ctrl/W/S to descend/ascend", function() end) infoLabel.Button.AutoButtonColor = false infoLabel.Button.BackgroundColor3 = SHADE3 infoLabel.Button.TextSize = 10 infoLabel.Button.TextWrapped = true local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._flyOn = state if state then pcall(function() sFLY() end) else pcall(function() NOFLY() end) end end) local slider = ArcGUI.CreateSlider(p, "Speed", 0.01, 50, 1, function(val) flySpeed = val iyflyspeed = val end) end) -- ======================== 2. HYPERSPEED ======================== addcmd("archyper", {"ahspeed"}, function(args, speaker) if not ArcGUI.TogglePanel("hyperspeed") then return end local p = ArcGUI.CreatePanel("hyperspeed", "Hyperspeed", function() if hyperSpeedConn then hyperSpeedConn:Disconnect() hyperSpeedConn = nil end end) p._hsOn = false local hsSpeed = 150 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._hsOn = state if state then local char = Players.LocalPlayer.Character if not char then return end local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = hsSpeed if hyperSpeedConn then hyperSpeedConn:Disconnect() end hyperSpeedConn = RunService.Heartbeat:Connect(function() if hum and hum.Parent then hum.WalkSpeed = hsSpeed end end) end else if hyperSpeedConn then hyperSpeedConn:Disconnect() hyperSpeedConn = nil end local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = 16 end end end end) local slider = ArcGUI.CreateSlider(p, "Speed", 10, 1000, 150, function(val) hsSpeed = val if p._hsOn then local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = val end end end end) end) -- ======================== 3. SUPERJUMP ======================== addcmd("arcsjump", {"asjump"}, function(args, speaker) if not ArcGUI.TogglePanel("superjump") then return end local p = ArcGUI.CreatePanel("superjump", "Super Jump", function() if superJumpConn then superJumpConn:Disconnect() superJumpConn = nil end end) p._sjOn = false local sjPower = 150 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._sjOn = state if state then if superJumpConn then superJumpConn:Disconnect() end superJumpConn = UserInputService.JumpRequest:Connect(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.JumpPower = sjPower end end end) else if superJumpConn then superJumpConn:Disconnect() superJumpConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Power", 10, 500, 150, function(val) sjPower = val end) end) -- ======================== 4. BHOP ======================== addcmd("arcbhop", {"abhop"}, function(args, speaker) if not ArcGUI.TogglePanel("bhop") then return end local p = ArcGUI.CreatePanel("bhop", "Bunny Hop", function() if bhopConn then bhopConn:Disconnect() bhopConn = nil end end) p._bhOn = false local bhHeight = 40 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._bhOn = state if state then if bhopConn then bhopConn:Disconnect() end bhopConn = RunService.RenderStepped:Connect(function() if Players.LocalPlayer.Character then local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then if hum.MoveDirection.Magnitude > 0 then hum.Jump = true hum.JumpPower = bhHeight end end end end) else if bhopConn then bhopConn:Disconnect() bhopConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Boost Height", 10, 100, 40, function(val) bhHeight = val end) end) -- ======================== 5. INFJUMP ======================== addcmd("arcinfjump", {"ainfjump"}, function(args, speaker) if not ArcGUI.TogglePanel("infjump") then return end local p = ArcGUI.CreatePanel("infjump", "Infinite Jump", function() if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil end end) p._ijOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._ijOn = state if state then if infJumpConn then infJumpConn:Disconnect() end infJumpConn = UserInputService.JumpRequest:Connect(function() pcall(function() Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Jump = true end) end) else if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil end end end) end) -- ======================== 6. FLOAT ======================== addcmd("arcfloat", {"afloat"}, function(args, speaker) if not ArcGUI.TogglePanel("float") then return end local p = ArcGUI.CreatePanel("float", "Float", function() if floatConn then floatConn:Disconnect() floatConn = nil end end) p._flOn = false local riseSpeed = 50 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._flOn = state if state then if floatConn then floatConn:Disconnect() end floatConn = RunService.Stepped:Connect(function() pcall(function() local hrp = Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.Velocity = Vector3.new(hrp.Velocity.X, riseSpeed, hrp.Velocity.Z) end end) end) else if floatConn then floatConn:Disconnect() floatConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Rise Speed", 0, 100, 50, function(val) riseSpeed = val end) end) -- ======================== 7. BOUNCY ======================== addcmd("arcbouncy", {"abouncy"}, function(args, speaker) if not ArcGUI.TogglePanel("bouncy") then return end local p = ArcGUI.CreatePanel("bouncy", "Bouncy", function() if bouncyConn then bouncyConn:Disconnect() bouncyConn = nil end end) p._boOn = false local bouncePower = 120 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._boOn = state if state then if bouncyConn then bouncyConn:Disconnect() end bouncyConn = RunService.Stepped:Connect(function() pcall(function() local hrp = Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp and hrp.Velocity.Y < 0 then hrp.Velocity = Vector3.new(hrp.Velocity.X, bouncePower, hrp.Velocity.Z) end end) end) else if bouncyConn then bouncyConn:Disconnect() bouncyConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Bounce Power", 20, 300, 120, function(val) bouncePower = val end) end) -- ======================== 8. ANTIGRAV ======================== addcmd("arcantigrav", {"aantigrav"}, function(args, speaker) if not ArcGUI.TogglePanel("antigrav") then return end local p = ArcGUI.CreatePanel("antigrav", "Anti Gravity", function() if antigravBF then antigravBF:Destroy() antigravBF = nil end end) p._agOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._agOn = state if state then pcall(function() local char = Players.LocalPlayer.Character if char then local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then antigravBF = Instance.new("BodyForce") antigravBF.Name = randomString() antigravBF.Force = Vector3.new(0, workspace.Gravity * hrp:GetMass(), 0) antigravBF.Parent = hrp end end end) else pcall(function() if antigravBF then antigravBF:Destroy() antigravBF = nil end end) end end) end) -- ======================== 9. DASH ======================== addcmd("arcdash", {"adash"}, function(args, speaker) if not ArcGUI.TogglePanel("dash") then return end local p = ArcGUI.CreatePanel("dash", "Dash", function() end) local dashPower = 300 local slider = ArcGUI.CreateSlider(p, "Power", 50, 1000, 300, function(val) dashPower = val end) local btn = ArcGUI.CreateButton(p, "DASH!", function() pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") local hrp = char:FindFirstChild("HumanoidRootPart") if hum and hrp and hum.MoveDirection.Magnitude > 0 then hrp.Velocity = hrp.Velocity + hum.MoveDirection * dashPower end end end) end) end) -- ======================== 10. SPIDER ======================== addcmd("arcspider", {"aspider"}, function(args, speaker) if not ArcGUI.TogglePanel("spider") then return end local p = ArcGUI.CreatePanel("spider", "Spider Climb", function() if spiderConn then spiderConn:Disconnect() spiderConn = nil end end) p._spOn = false local climbSpeed = 50 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._spOn = state if state then if spiderConn then spiderConn:Disconnect() end spiderConn = RunService.Stepped:Connect(function() pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") local hrp = char:FindFirstChild("HumanoidRootPart") if hum and hrp then if hum.MoveDirection.Magnitude > 0 then local ray = Ray.new(hrp.Position, hrp.CFrame.LookVector * 3) local part = workspace:FindPartOnRayWithWhitelist(ray, {workspace}) if part then hrp.Velocity = Vector3.new(hrp.Velocity.X, climbSpeed, hrp.Velocity.Z) end end end end end) end) else if spiderConn then spiderConn:Disconnect() spiderConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Climb Speed", 10, 200, 50, function(val) climbSpeed = val end) end) -- ======================== 11. NOCLIP ======================== addcmd("arcnoclip", {"anoclip"}, function(args, speaker) if not ArcGUI.TogglePanel("noclip") then return end local p = ArcGUI.CreatePanel("noclip", "Noclip", function() if p._ncConn then p._ncConn:Disconnect() p._ncConn = nil end end) p._ncOn = false p._ncConn = nil local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._ncOn = state if state then if p._ncConn then p._ncConn:Disconnect() end p._ncConn = RunService.Stepped:Connect(function() pcall(function() local char = Players.LocalPlayer.Character if char then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) end) else if p._ncConn then p._ncConn:Disconnect() p._ncConn = nil end pcall(function() local char = Players.LocalPlayer.Character if char then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end end) end end) end) -- ======================== 12. SPEED ======================== addcmd("arcspeed", {"aspeed"}, function(args, speaker) if not ArcGUI.TogglePanel("speed") then return end local p = ArcGUI.CreatePanel("speed", "WalkSpeed", function() pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = 16 end end end) end) local slider = ArcGUI.CreateSlider(p, "WalkSpeed", 1, 1000, 16, function(val) pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = val end end end) end) end) -- ======================== 13. JUMPPOWER ======================== addcmd("arcjp", {"ajumppower"}, function(args, speaker) if not ArcGUI.TogglePanel("jumppower") then return end local p = ArcGUI.CreatePanel("jumppower", "JumpPower", function() pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.JumpPower = 50 end end end) end) local slider = ArcGUI.CreateSlider(p, "JumpPower", 0, 500, 50, function(val) pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.JumpPower = val end end end) end) end) -- ======================== 14. CFRAMEFLY ======================== addcmd("arccfly", {"accfly"}, function(args, speaker) if not ArcGUI.TogglePanel("cframefly") then return end local p = ArcGUI.CreatePanel("cframefly", "CFrame Fly", function() if p._cfConn then p._cfConn:Disconnect() p._cfConn = nil end end) p._cfOn = false p._cfConn = nil local cfSpeed = 1 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._cfOn = state if state then if p._cfConn then p._cfConn:Disconnect() end p._cfConn = RunService.RenderStepped:Connect(function() pcall(function() local cam = workspace.CurrentCamera local hrp = Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if cam and hrp then local cf = cam.CFrame local moveDir = Vector3.new(0, 0, 0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + cf.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - cf.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - cf.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + cf.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0, 1, 0) end hrp.CFrame = hrp.CFrame + moveDir * cfSpeed end end) end) else if p._cfConn then p._cfConn:Disconnect() p._cfConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Speed", 1, 500, 1, function(val) cfSpeed = val end) end) -- ======================== 15. VFLY ======================== addcmd("arcvfly", {"avfly"}, function(args, speaker) if not ArcGUI.TogglePanel("vfly") then return end local p = ArcGUI.CreatePanel("vfly", "Vehicle Fly", function() if p._vfConn then p._vfConn:Disconnect() p._vfConn = nil end end) p._vfOn = false p._vfConn = nil local vfSpeed = 1 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._vfOn = state if state then pcall(function() local char = Players.LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then local bv = Instance.new("BodyVelocity") bv.Name = randomString() bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bv.Velocity = Vector3.new(0, 0, 0) bv.Parent = char:FindFirstChild("HumanoidRootPart") or char.PrimaryPart local bg = Instance.new("BodyGyro") bg.Name = randomString() bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bg.P = 9e4 bg.Parent = char:FindFirstChild("HumanoidRootPart") or char.PrimaryPart p._vfBV = bv p._vfBG = bg if p._vfConn then p._vfConn:Disconnect() end p._vfConn = RunService.RenderStepped:Connect(function() pcall(function() local cam = workspace.CurrentCamera if bv and bv.Parent and bg and bg.Parent then local moveDir = Vector3.new(0, 0, 0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0, 1, 0) end bv.Velocity = moveDir * vfSpeed bg.CFrame = cam.CFrame end end) end) end end end) else if p._vfConn then p._vfConn:Disconnect() p._vfConn = nil end pcall(function() if p._vfBV then p._vfBV:Destroy() p._vfBV = nil end if p._vfBG then p._vfBG:Destroy() p._vfBG = nil end end) end end) local slider = ArcGUI.CreateSlider(p, "Speed", 1, 500, 1, function(val) vfSpeed = val end) end) -- ======================== 16. ESP ======================== addcmd("arcesp", {"aesp"}, function(args, speaker) if not ArcGUI.TogglePanel("esp") then return end local p = ArcGUI.CreatePanel("esp", "ESP", function() execCmd("noesp") end) p._espOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._espOn = state if state then execCmd("esp") else execCmd("noesp") end end) local slider = ArcGUI.CreateSlider(p, "Transparency", 0, 1, 0.3, function(val) execCmd("esptransparency " .. tostring(val)) end) ArcGUI.CreateSeparator(p) local teamBtn = ArcGUI.CreateButton(p, "ESP Team Only", function() execCmd("espteam") end) end) -- ======================== 17. ITEM ESP ======================== addcmd("arcitemesp", {"aitemesp"}, function(args, speaker) if not ArcGUI.TogglePanel("itemesp") then return end local p = ArcGUI.CreatePanel("itemesp", "Item ESP", function() itemEspActive = false if itemEspConn then itemEspConn:Disconnect() itemEspConn = nil end if itemEspDraws then for _, d in pairs(itemEspDraws) do if d and d.Parent then d:Destroy() end end end end) p._ieOn = false local ieRange = 100 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._ieOn = state if state then itemEspActive = true execCmd("itemesp " .. tostring(ieRange)) else itemEspActive = false execCmd("noesp") end end) local slider = ArcGUI.CreateSlider(p, "Range", 10, 500, 100, function(val) ieRange = val end) end) -- ======================== 18. PART ESP ======================== addcmd("arcpartesp", {"apartesp"}, function(args, speaker) if not ArcGUI.TogglePanel("partesp") then return end local p = ArcGUI.CreatePanel("partesp", "Part ESP", function() partEspActive = false if partEspConn then partEspConn:Disconnect() partEspConn = nil end if partEspDraws then for _, d in pairs(partEspDraws) do if d and d.Parent then d:Destroy() end end end end) p._peOn = false local filterText = ArcGUI.CreateTextBox(p, "Filter", "Enter part name filter", "") local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._peOn = state if state then local ft = filterText:GetText() if ft and ft ~= "" then execCmd("partesp " .. ft) else execCmd("partesp") end else execCmd("unpartesp") end end) end) -- ======================== 19. VEHICLE ESP ======================== addcmd("arcvesp", {"avesp"}, function(args, speaker) if not ArcGUI.TogglePanel("vehicleesp") then return end local p = ArcGUI.CreatePanel("vehicleesp", "Vehicle ESP", function() vehicleEspActive = false if vehicleEspConn then vehicleEspConn:Disconnect() vehicleEspConn = nil end end) p._veOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._veOn = state if state then vehicleEspActive = true execCmd("vehicleesp") else vehicleEspActive = false end end) end) -- ======================== 20. MOB ESP ======================== addcmd("arcmobesp", {"amobesp"}, function(args, speaker) if not ArcGUI.TogglePanel("mobesp") then return end local p = ArcGUI.CreatePanel("mobesp", "Mob/NPC ESP", function() mobEspActive = false if mobEspConn then mobEspConn:Disconnect() mobEspConn = nil end if mobEspDraws then for _, d in pairs(mobEspDraws) do if d and d.Parent then d:Destroy() end end end end) p._meOn = false local meRange = 200 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._meOn = state if state then mobEspActive = true else mobEspActive = false end end) local slider = ArcGUI.CreateSlider(p, "Range", 10, 500, 200, function(val) meRange = val end) end) -- ======================== 21. CHAMS ======================== addcmd("arcchams", {"achams"}, function(args, speaker) if not ArcGUI.TogglePanel("chams") then return end local p = ArcGUI.CreatePanel("chams", "Chams", function() chamsActive = false if chamsConn then chamsConn:Disconnect() chamsConn = nil end if chamsHls then for _, hl in pairs(chamsHls) do if hl and hl.Parent then hl:Destroy() end end chamsHls = {} end execCmd("nochams") end) p._chOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._chOn = state if state then chamsActive = true execCmd("chams") else chamsActive = false execCmd("nochams") end end) local slider = ArcGUI.CreateSlider(p, "Fill Transparency", 0, 1, 0.5, function(val) end) end) -- ======================== 22. TRAIL ======================== addcmd("arctrail", {"atrail"}, function(args, speaker) if not ArcGUI.TogglePanel("trail") then return end local p = ArcGUI.CreatePanel("trail", "Trail", function() trailActive = false if trailConn then trailConn:Disconnect() trailConn = nil end if trailParts then for _, tp in pairs(trailParts) do if tp and tp.Parent then tp:Destroy() end end end execCmd("untrail") end) p._trOn = false local trColor = "#0066ff" local trLife = 2 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._trOn = state if state then trailActive = true execCmd("trail") else trailActive = false execCmd("untrail") end end) local colorBox = ArcGUI.CreateTextBox(p, "Color (Hex)", "#0066ff", "#0066ff") local slider = ArcGUI.CreateSlider(p, "Lifetime", 0.5, 5, 2, function(val) trLife = val end) end) -- ======================== 23. NIGHTVISION ======================== addcmd("arcnv", {"anv"}, function(args, speaker) if not ArcGUI.TogglePanel("nightvision") then return end local p = ArcGUI.CreatePanel("nightvision", "Night Vision", function() nightvisionActive = false if nightvisionCC then nightvisionCC:Destroy() nightvisionCC = nil end end) p._nvOn = false local nvBrightness = 0.3 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._nvOn = state if state then nightvisionActive = true if not nightvisionCC then nightvisionCC = Instance.new("ColorCorrectionEffect") nightvisionCC.Name = randomString() nightvisionCC.Brightness = nvBrightness nightvisionCC.Contrast = 0.2 nightvisionCC.Saturation = -0.2 nightvisionCC.Parent = Lighting end else nightvisionActive = false if nightvisionCC then nightvisionCC:Destroy() nightvisionCC = nil end end end) local slider = ArcGUI.CreateSlider(p, "Brightness", 0, 1, 0.3, function(val) nvBrightness = val if nightvisionCC then nightvisionCC.Brightness = val end end) end) -- ======================== 24. WIREFRAME ======================== addcmd("arcwireframe", {"awireframe"}, function(args, speaker) if not ArcGUI.TogglePanel("wireframe") then return end local p = ArcGUI.CreatePanel("wireframe", "Wireframe", function() wireframeActive = false if wireframeParts then for _, v in pairs(wireframeParts) do if v and v.Material ~= nil then v.Material = v:GetAttribute("OrigMat") or Enum.Material.Plastic v:RemoveAttribute("OrigMat") end end wireframeParts = {} end execCmd("unwireframe") end) p._wfOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._wfOn = state if state then wireframeActive = true execCmd("wireframe") else wireframeActive = false execCmd("unwireframe") end end) end) -- ======================== 25. FULLBRIGHT ======================== addcmd("arcfb", {"afb"}, function(args, speaker) if not ArcGUI.TogglePanel("fullbright") then return end local p = ArcGUI.CreatePanel("fullbright", "Fullbright", function() fullbrightActive = false if fullbrightOrig then Lighting.Ambient = fullbrightOrig.Ambient or Color3.fromRGB(0, 0, 0) Lighting.OutdoorAmbient = fullbrightOrig.OutdoorAmbient or Color3.fromRGB(0, 0, 0) Lighting.Brightness = fullbrightOrig.Brightness or 1 Lighting.GlobalShadows = true fullbrightOrig = {} end end) p._fbOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._fbOn = state if state then fullbrightActive = true execCmd("fullbright") else fullbrightActive = false end end) end) -- ======================== 26. KILLAURA ======================== addcmd("arckaura", {"akaura"}, function(args, speaker) if not ArcGUI.TogglePanel("killaura") then return end local p = ArcGUI.CreatePanel("killaura", "Kill Aura", function() if killAuraConn then killAuraConn:Disconnect() killAuraConn = nil end end) p._kaOn = false local kaRange = 25 local kaDamage = 5 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._kaOn = state if state then if killAuraConn then killAuraConn:Disconnect() end killAuraConn = RunService.RenderStepped:Connect(function() pcall(function() local char = Players.LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end for _, plr in pairs(Players:GetPlayers()) do if plr ~= Players.LocalPlayer and plr.Character then local eHrp = plr.Character:FindFirstChild("HumanoidRootPart") local eHum = plr.Character:FindFirstChildOfClass("Humanoid") if eHrp and eHum and (hrp.Position - eHrp.Position).Magnitude <= kaRange then eHum:TakeDamage(kaDamage) end end end end) end) else if killAuraConn then killAuraConn:Disconnect() killAuraConn = nil end end end) local rangeSlider = ArcGUI.CreateSlider(p, "Range", 5, 100, 25, function(val) kaRange = val end) local dmgSlider = ArcGUI.CreateSlider(p, "Damage", 1, 100, 5, function(val) kaDamage = val end) end) -- ======================== 27. REACH ======================== addcmd("arcreach", {"areach"}, function(args, speaker) if not ArcGUI.TogglePanel("reach") then return end local p = ArcGUI.CreatePanel("reach", "Reach", function() reachActive = false if reachOrig then pcall(function() local char = Players.LocalPlayer.Character if char then for _, tool in pairs(char:GetChildren()) do if tool:IsA("Tool") then local handle = tool:FindFirstChild("Handle") if handle and reachOrig[handle] then handle.Size = reachOrig[handle] end end end end end) reachOrig = {} end end) p._reOn = false local reachDist = 20 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._reOn = state if state then reachActive = true reachDist = reachDist else reachActive = false end end) local slider = ArcGUI.CreateSlider(p, "Distance", 5, 100, 20, function(val) reachDist = val end) end) -- ======================== 28. TOOLGRABBER ======================== addcmd("arctoolgrab", {"atoolgrab"}, function(args, speaker) if not ArcGUI.TogglePanel("toolgrabber") then return end local p = ArcGUI.CreatePanel("toolgrabber", "Tool Grabber", function() if toolGrabberConn then toolGrabberConn:Disconnect() toolGrabberConn = nil end end) p._tgOn = false local tgRange = 100 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._tgOn = state if state then if toolGrabberConn then toolGrabberConn:Disconnect() end toolGrabberConn = RunService.RenderStepped:Connect(function() pcall(function() local char = Players.LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end for _, item in pairs(workspace:GetChildren()) do if item:IsA("Tool") and (item.Handle.Position - hrp.Position).Magnitude <= tgRange then if item.Parent ~= char then firetouchinterest(item.Handle, hrp, 0) firetouchinterest(item.Handle, hrp, 1) end end end end) end) else if toolGrabberConn then toolGrabberConn:Disconnect() toolGrabberConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Range", 10, 300, 100, function(val) tgRange = val end) end) -- ======================== 29. AUTOFARM ======================== addcmd("arcautofarm", {"aautofarm"}, function(args, speaker) if not ArcGUI.TogglePanel("autofarm") then return end local p = ArcGUI.CreatePanel("autofarm", "Auto Farm/Collect", function() if autoFarmConn then autoFarmConn:Disconnect() autoFarmConn = nil end end) p._afOn = false local afRange = 50 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._afOn = state if state then if autoFarmConn then autoFarmConn:Disconnect() end autoFarmConn = RunService.RenderStepped:Connect(function() pcall(function() local char = Players.LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end for _, obj in pairs(workspace:GetDescendants()) do if (obj:IsA("BasePart") or obj:IsA("Model") or obj:IsA("Tool") or obj:IsA("CoinContainer") or obj:IsA("Collectible") or obj:IsA("Part")) and obj:IsDescendantOf(workspace) then local pos = obj:IsA("Model") and (obj.PrimaryPart and obj.PrimaryPart.Position) or obj.Position if pos and (pos - hrp.Position).Magnitude <= afRange then firetouchinterest(obj:IsA("Model") and obj.PrimaryPart or obj, hrp, 0) firetouchinterest(obj:IsA("Model") and obj.PrimaryPart or obj, hrp, 1) end end end end) end) else if autoFarmConn then autoFarmConn:Disconnect() autoFarmConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Range", 10, 200, 50, function(val) afRange = val end) end) -- ======================== 30. TOOLCOPY ======================== addcmd("arctoolcopy", {"atoolcopy"}, function(args, speaker) if not ArcGUI.TogglePanel("toolcopy") then return end local p = ArcGUI.CreatePanel("toolcopy", "Tool Copy", function() end) local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local btn = ArcGUI.CreateButton(p, "Copy Tools", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("toolcopy " .. plrName) else notify("Arc Yield", "Enter a player name first!") end end) end) -- ======================== 31. EXPLODE ======================== addcmd("arcexplode", {"aexplode"}, function(args, speaker) if not ArcGUI.TogglePanel("explode") then return end local p = ArcGUI.CreatePanel("explode", "Explode Player", function() end) local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local blastRadius = 20 local slider = ArcGUI.CreateSlider(p, "Blast Radius", 5, 100, 20, function(val) blastRadius = val end) local btn = ArcGUI.CreateButton(p, "EXPLODE!", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("explode " .. plrName) else notify("Arc Yield", "Enter a player name first!") end end) end) -- ======================== 32. SERVERLOCK ======================== addcmd("arcslock", {"aslock"}, function(args, speaker) if not ArcGUI.TogglePanel("serverlock") then return end local p = ArcGUI.CreatePanel("serverlock", "Server Lock", function() if serverLockConn then serverLockConn:Disconnect() serverLockConn = nil end end) p._slOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._slOn = state if state then if serverLockConn then serverLockConn:Disconnect() end serverLockConn = Players.PlayerAdded:Connect(function(player) player:Kick("\nServer is locked by Arc Yield") end) for _, plr in pairs(Players:GetPlayers()) do if plr ~= Players.LocalPlayer then pcall(function() plr:Kick("\nServer is locked by Arc Yield") end) end end else if serverLockConn then serverLockConn:Disconnect() serverLockConn = nil end end end) end) -- ======================== 33. LOOPKILL ======================== addcmd("arcloopkill", {"aloopkill"}, function(args, speaker) if not ArcGUI.TogglePanel("loopkill") then return end local p = ArcGUI.CreatePanel("loopkill", "Loop Kill", function() if loopKillConn then loopKillConn:Disconnect() loopKillConn = nil end loopKillList = {} end) p._lkOn = false local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local startBtn = ArcGUI.CreateButton(p, "Start Loop Kill", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then local target = FindPlayer(plrName, Players.LocalPlayer) if target then p._lkOn = true if loopKillConn then loopKillConn:Disconnect() end table.insert(loopKillList, target) loopKillConn = RunService.RenderStepped:Connect(function() pcall(function() if target.Character and target.Character:FindFirstChild("HumanoidRootPart") then local char = Players.LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then char:FindFirstChild("HumanoidRootPart").CFrame = target.Character.HumanoidRootPart.CFrame end pcall(function() target.Character:FindFirstChildOfClass("Humanoid").Health = 0 end) end end) end) notify("Arc Yield", "Loop killing " .. target.Name) else notify("Arc Yield", "Player not found!") end else notify("Arc Yield", "Enter a player name first!") end end) local stopBtn = ArcGUI.CreateButton(p, "Stop Loop Kill", function() p._lkOn = false if loopKillConn then loopKillConn:Disconnect() loopKillConn = nil end loopKillList = {} notify("Arc Yield", "Loop kill stopped") end) stopBtn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 34. JAIL ======================== addcmd("arcjail", {"ajail"}, function(args, speaker) if not ArcGUI.TogglePanel("jail") then return end local p = ArcGUI.CreatePanel("jail", "Jail", function() execCmd("unjail") end) local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local jailBtn = ArcGUI.CreateButton(p, "Jail", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("jail " .. plrName) else notify("Arc Yield", "Enter a player name first!") end end) local unjailBtn = ArcGUI.CreateButton(p, "Unjail", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("unjail " .. plrName) end end) unjailBtn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 35. FREEZE ======================== addcmd("arcfreeze", {"afreeze"}, function(args, speaker) if not ArcGUI.TogglePanel("freeze") then return end local p = ArcGUI.CreatePanel("freeze", "Freeze Player", function() execCmd("unfreeze") end) local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local freezeBtn = ArcGUI.CreateButton(p, "Freeze", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("freeze " .. plrName) else notify("Arc Yield", "Enter a player name first!") end end) local unfreezeBtn = ArcGUI.CreateButton(p, "Unfreeze", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("unfreeze " .. plrName) end end) unfreezeBtn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 36. BLIND ======================== addcmd("arcblind", {"ablind"}, function(args, speaker) if not ArcGUI.TogglePanel("blind") then return end local p = ArcGUI.CreatePanel("blind", "Blind Player", function() execCmd("unblind") end) local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local blindBtn = ArcGUI.CreateButton(p, "Blind", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("blind " .. plrName) else notify("Arc Yield", "Enter a player name first!") end end) local unblindBtn = ArcGUI.CreateButton(p, "Unblind", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("unblind " .. plrName) end end) unblindBtn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 37. FLING ======================== addcmd("arcfling", {"afling"}, function(args, speaker) if not ArcGUI.TogglePanel("fling") then return end local p = ArcGUI.CreatePanel("fling", "Fling Player", function() if p._flingActive then p._flingActive = false execCmd("unfling") end end) p._flingActive = false -- Contact-based fling toggle (like IY's fling - spin and fling anyone you touch) local toggle = ArcGUI.CreateToggle(p, "Contact Fling (touch players)", false, function(state) p._flingActive = state if state then execCmd("fling") notify("Arc Yield", "Contact fling ON - touch players to fling them!") else execCmd("unfling") notify("Arc Yield", "Contact fling OFF") end end) ArcGUI.CreateSeparator(p) -- Direct fling by partial name - uses teleport + physics spin like IY local nameInput = ArcGUI.CreateTextBox(p, "Player (partial name OK)", "Type few letters of name...", "") local flingPower = 500 local slider = ArcGUI.CreateSlider(p, "Power", 100, 2000, 500, function(val) flingPower = val end) local btn = ArcGUI.CreateButton(p, "FLING PLAYER", function() local plrName = nameInput:GetText() if not plrName or plrName == "" then notify("Arc Yield", "Type a player name first!") return end local found = getPlayersByName(plrName) if not found or #found == 0 then notify("Arc Yield", "Player not found: " .. plrName) return end for _, target in ipairs(found) do if target ~= Players.LocalPlayer and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then -- Save current position, teleport to target, fling via physics, teleport back local myChar = Players.LocalPlayer.Character if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then notify("Arc Yield", "Your character not found!") return end local myHRP = myChar.HumanoidRootPart local savedPos = myHRP.CFrame local targetPos = target.Character.HumanoidRootPart.CFrame -- Teleport next to target myHRP.CFrame = targetPos * CFrame.new(0, 0, 3) -- Start fling (physics-based spin, same as IY's fling command) task.spawn(function() execCmd("fling") task.wait(2) execCmd("unfling") -- Teleport back to saved position task.wait(0.3) if myHRP then myHRP.CFrame = savedPos end end) notify("Arc Yield", "Flinging " .. target.Name .. "!") end end end) btn.Button.BackgroundColor3 = ACCENT ArcGUI.CreateSeparator(p) local infoLabel = ArcGUI.CreateButton(p, "Tip: Contact fling = spin and touch players", function() end) infoLabel.Button.AutoButtonColor = false infoLabel.Button.BackgroundColor3 = SHADE2 infoLabel.Button.TextSize = 10 infoLabel.Button.TextWrapped = true end) -- ======================== 38. BRING ALL ======================== addcmd("arcbringall", {"abringall"}, function(args, speaker) if not ArcGUI.TogglePanel("bringall") then return end local p = ArcGUI.CreatePanel("bringall", "Bring All Players", function() end) local baRange = 5 local slider = ArcGUI.CreateSlider(p, "Offset Range", 1, 50, 5, function(val) baRange = val end) local btn = ArcGUI.CreateButton(p, "Bring All!", function() pcall(function() local char = Players.LocalPlayer.Character if not char then return end local myPos = char:FindFirstChild("HumanoidRootPart") and char.HumanoidRootPart.Position if not myPos then return end for _, plr in pairs(Players:GetPlayers()) do if plr ~= Players.LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local offset = Vector3.new(math.random(-baRange, baRange), 0, math.random(-baRange, baRange)) plr.Character.HumanoidRootPart.CFrame = CFrame.new(myPos + offset) end end notify("Arc Yield", "Brought all players!") end) end) end) -- ======================== 39. TP ALL ======================== addcmd("arctpall", {"atpall"}, function(args, speaker) if not ArcGUI.TogglePanel("tpall") then return end local p = ArcGUI.CreatePanel("tpall", "TP All Players", function() end) local taRange = 5 local slider = ArcGUI.CreateSlider(p, "Offset Range", 1, 50, 5, function(val) taRange = val end) local btn = ArcGUI.CreateButton(p, "TP All!", function() pcall(function() local char = Players.LocalPlayer.Character if not char then return end local myPos = char:FindFirstChild("HumanoidRootPart") and char.HumanoidRootPart.Position if not myPos then return end for _, plr in pairs(Players:GetPlayers()) do if plr ~= Players.LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local offset = Vector3.new(math.random(-taRange, taRange), 0, math.random(-taRange, taRange)) plr.Character.HumanoidRootPart.CFrame = CFrame.new(myPos + offset) end end notify("Arc Yield", "Teleported all players!") end) end) end) -- ======================== 40. CRASH PLAYER ======================== addcmd("arccrash", {"acrash"}, function(args, speaker) if not ArcGUI.TogglePanel("crashplayer") then return end local p = ArcGUI.CreatePanel("crashplayer", "Crash Player", function() end) local nameInput = ArcGUI.CreateTextBox(p, "Player Name", "Enter player name", "") local btn = ArcGUI.CreateButton(p, "CRASH", function() local plrName = nameInput:GetText() if plrName and plrName ~= "" then execCmd("crashplayer " .. plrName) else notify("Arc Yield", "Enter a player name first!") end end) btn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 41. SPIN2 ======================== addcmd("arcspin2", {"aspin2"}, function(args, speaker) if not ArcGUI.TogglePanel("spin2") then return end local p = ArcGUI.CreatePanel("spin2", "Spin 2", function() if spin2BAV then spin2BAV:Destroy() spin2BAV = nil end end) p._sp2On = false local sp2Speed = 50 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._sp2On = state if state then pcall(function() local char = Players.LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then spin2BAV = Instance.new("BodyAngularVelocity") spin2BAV.Name = randomString() spin2BAV.AngularVelocity = Vector3.new(0, sp2Speed, 0) spin2BAV.MaxTorque = Vector3.new(0, math.huge, 0) spin2BAV.Parent = char.HumanoidRootPart end end) else pcall(function() if spin2BAV then spin2BAV:Destroy() spin2BAV = nil end end) end end) local slider = ArcGUI.CreateSlider(p, "Speed", 5, 200, 50, function(val) sp2Speed = val if spin2BAV then spin2BAV.AngularVelocity = Vector3.new(0, val, 0) end end) end) -- ======================== 42. SEIZURE ======================== addcmd("arcseizure", {"aseizure"}, function(args, speaker) if not ArcGUI.TogglePanel("seizure") then return end local p = ArcGUI.CreatePanel("seizure", "Seizure", function() if seizureConn then seizureConn:Disconnect() seizureConn = nil end if seizureParts then for _, v in pairs(seizureParts) do if v and v.Parent then v:Destroy() end end seizureParts = {} end end) p._szOn = false local szIntensity = 5 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._szOn = state if state then if seizureConn then seizureConn:Disconnect() end seizureConn = RunService.RenderStepped:Connect(function() pcall(function() local char = Players.LocalPlayer.Character if not char then return end for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CFrame = part.CFrame * CFrame.Angles( math.rad(math.random(-szIntensity, szIntensity)), math.rad(math.random(-szIntensity, szIntensity)), math.rad(math.random(-szIntensity, szIntensity)) ) end end end) end) else if seizureConn then seizureConn:Disconnect() seizureConn = nil end end end) local slider = ArcGUI.CreateSlider(p, "Intensity", 1, 10, 5, function(val) szIntensity = val end) end) -- ======================== 43. FIRE ======================== addcmd("arcfire", {"afire"}, function(args, speaker) if not ArcGUI.TogglePanel("fire") then return end local p = ArcGUI.CreatePanel("fire", "Fire Effect", function() if fireObj then fireObj:Destroy() fireObj = nil end end) p._feOn = false local feColor = Color3.fromRGB(255, 100, 0) local feSize = 8 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._feOn = state if state then pcall(function() local char = Players.LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then if fireObj then fireObj:Destroy() end fireObj = Instance.new("Fire") fireObj.Name = randomString() fireObj.Color = feColor fireObj.Size = feSize fireObj.Parent = char.HumanoidRootPart end end) else pcall(function() if fireObj then fireObj:Destroy() fireObj = nil end end) end end) local colorBox = ArcGUI.CreateTextBox(p, "Color (Hex)", "#ff6400", "#ff6400") local slider = ArcGUI.CreateSlider(p, "Size", 1, 20, 8, function(val) feSize = val if fireObj then fireObj.Size = val end end) end) -- ======================== 44. SPARKLES ======================== addcmd("arcsparkles", {"asparkles"}, function(args, speaker) if not ArcGUI.TogglePanel("sparkles") then return end local p = ArcGUI.CreatePanel("sparkles", "Sparkles", function() if sparklesObj then sparklesObj:Destroy() sparklesObj = nil end end) p._spkOn = false local spkColor = Color3.fromRGB(255, 255, 0) local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._spkOn = state if state then pcall(function() local char = Players.LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then if sparklesObj then sparklesObj:Destroy() end sparklesObj = Instance.new("Sparkles") sparklesObj.Name = randomString() sparklesObj.SparkleColor = spkColor sparklesObj.Parent = char.HumanoidRootPart end end) else pcall(function() if sparklesObj then sparklesObj:Destroy() sparklesObj = nil end end) end end) local colorBox = ArcGUI.CreateTextBox(p, "Color (Hex)", "#ffff00", "#ffff00") end) -- ======================== 45. SMOKE ======================== addcmd("arcsmoke", {"asmoke"}, function(args, speaker) if not ArcGUI.TogglePanel("smoke") then return end local p = ArcGUI.CreatePanel("smoke", "Smoke Effect", function() if smokeObj then smokeObj:Destroy() smokeObj = nil end end) p._smOn = false local smOpacity = 0.5 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._smOn = state if state then pcall(function() local char = Players.LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then if smokeObj then smokeObj:Destroy() end smokeObj = Instance.new("Smoke") smokeObj.Name = randomString() smokeObj.Opacity = smOpacity smokeObj.Parent = char.HumanoidRootPart end end) else pcall(function() if smokeObj then smokeObj:Destroy() smokeObj = nil end end) end end) local colorBox = ArcGUI.CreateTextBox(p, "Color (Hex)", "#808080", "#808080") local slider = ArcGUI.CreateSlider(p, "Opacity", 0, 1, 0.5, function(val) smOpacity = val if smokeObj then smokeObj.Opacity = val end end) end) -- ======================== 46. TINY ======================== addcmd("arctiny", {"atinyscale"}, function(args, speaker) if not ArcGUI.TogglePanel("tiny") then return end local p = ArcGUI.CreatePanel("tiny", "Tiny", function() tinyActive = false if tinyScales then for _, bp in pairs(tinyScales) do if bp and bp.Parent then bp:Destroy() end end tinyScales = {} end end) p._tyOn = false local tyScale = 0.1 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._tyOn = state if state then tinyActive = true pcall(function() local char = Players.LocalPlayer.Character if not char then return end local humDesc = char:FindFirstChildOfClass("Humanoid") if humDesc then for _, v in pairs(tinyScales) do if v and v.Parent then v:Destroy() end end tinyScales = {} local scaleVal = tyScale local heads = {char:FindFirstChild("Head"), char:FindFirstChild("UpperTorso"), char:FindFirstChild("LowerTorso")} for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then local s = Instance.new("Vector3Value") s.Name = randomString() s.Value = part.Size s.Parent = part table.insert(tinyScales, s) part.Size = part.Size * scaleVal end end end end) else tinyActive = false pcall(function() local char = Players.LocalPlayer.Character if char and tinyScales then for _, s in pairs(tinyScales) do if s and s.Parent then s.Parent.Size = s.Value s:Destroy() end end tinyScales = {} end end) end end) local slider = ArcGUI.CreateSlider(p, "Scale", 0.05, 0.5, 0.1, function(val) tyScale = val end) end) -- ======================== 47. GRAVITY ======================== addcmd("arcgravity", {"agravity"}, function(args, speaker) if not ArcGUI.TogglePanel("gravity") then return end local p = ArcGUI.CreatePanel("gravity", "Gravity", function() workspace.Gravity = 196.2 end) local gravVal = 196.2 local slider = ArcGUI.CreateSlider(p, "Gravity", 0, 1000, 196.2, function(val) gravVal = val end) local setBtn = ArcGUI.CreateButton(p, "Set Gravity", function() workspace.Gravity = gravVal notify("Arc Yield", "Gravity set to " .. tostring(math.floor(gravVal * 100) / 100)) end) local resetBtn = ArcGUI.CreateButton(p, "Reset (196.2)", function() workspace.Gravity = 196.2 notify("Arc Yield", "Gravity reset to 196.2") end) resetBtn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 48. MUSIC ======================== addcmd("arcmusic", {"amusic"}, function(args, speaker) if not ArcGUI.TogglePanel("music") then return end local p = ArcGUI.CreatePanel("music", "Music Player", function() if musicSound then musicSound:Stop() musicSound:Destroy() musicSound = nil end end) local idInput = ArcGUI.CreateTextBox(p, "Asset ID", "Enter Roblox asset ID", "") local musicVol = 1 local slider = ArcGUI.CreateSlider(p, "Volume", 0, 3, 1, function(val) musicVol = val if musicSound then musicSound.Volume = val end end) local playBtn = ArcGUI.CreateButton(p, "Play", function() local assetId = idInput:GetText() if assetId and assetId ~= "" then if musicSound then musicSound:Stop() musicSound:Destroy() end musicSound = Instance.new("Sound") musicSound.Name = randomString() musicSound.SoundId = "rbxassetid://" .. assetId musicSound.Volume = musicVol musicSound.Looped = true musicSound.Parent = workspace musicSound:Play() notify("Arc Yield", "Playing music: " .. assetId) else notify("Arc Yield", "Enter an asset ID first!") end end) local stopBtn = ArcGUI.CreateButton(p, "Stop", function() if musicSound then musicSound:Stop() musicSound:Destroy() musicSound = nil notify("Arc Yield", "Music stopped") end end) stopBtn.Button.BackgroundColor3 = Color3.fromRGB(200, 50, 50) end) -- ======================== 49. NPP ======================== addcmd("arcnpp", {"anpp"}, function(args, speaker) if not ArcGUI.TogglePanel("npp") then return end local p = ArcGUI.CreatePanel("npp", "Nuke Parts (NPP)", function() nppActive = false if nppParts then for _, part in pairs(nppParts) do if part and part.Parent then part:Destroy() end end nppParts = {} end end) p._nppOn = false local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._nppOn = state if state then nppActive = true execCmd("npp") else nppActive = false end end) end) -- ======================== 50. GIANT ======================== addcmd("arcgiant", {"agiant"}, function(args, speaker) if not ArcGUI.TogglePanel("giant") then return end local p = ArcGUI.CreatePanel("giant", "Giant", function() giantActive = false if giantScales then for _, bp in pairs(giantScales) do if bp and bp.Parent then bp:Destroy() end end giantScales = {} end end) p._giOn = false local giScale = 5 local toggle = ArcGUI.CreateToggle(p, "Enabled", false, function(state) p._giOn = state if state then giantActive = true pcall(function() local char = Players.LocalPlayer.Character if not char then return end for _, v in pairs(giantScales) do if v and v.Parent then v:Destroy() end end giantScales = {} local scaleVal = giScale for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then local s = Instance.new("Vector3Value") s.Name = randomString() s.Value = part.Size s.Parent = part table.insert(giantScales, s) part.Size = part.Size * scaleVal end end end) else giantActive = false pcall(function() local char = Players.LocalPlayer.Character if char and giantScales then for _, s in pairs(giantScales) do if s and s.Parent then s.Parent.Size = s.Value s:Destroy() end end giantScales = {} end end) end end) local slider = ArcGUI.CreateSlider(p, "Scale", 2, 20, 5, function(val) giScale = val end) end) -- ======================== STARTUP SPLASH SCREEN ======================== spawn(function() if not PARENT then return end pcall(function() local TweenService = game:GetService('TweenService') local RunService = game:GetService('RunService') local overlay = Instance.new('Frame') overlay.Name = 'ArcSplashOverlay' overlay.Size = UDim2.new(1, 0, 1, 0) overlay.BackgroundColor3 = Color3.fromRGB(5, 12, 30) overlay.BorderSizePixel = 0 overlay.ZIndex = 999 overlay.Parent = PARENT local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, 0) corner.Parent = overlay -- Glow ring local glowRing = Instance.new('Frame') glowRing.Size = UDim2.new(0, 200, 0, 200) glowRing.Position = UDim2.new(0.5, -100, 0.45, -100) glowRing.BackgroundColor3 = Color3.fromRGB(50, 130, 255) glowRing.BackgroundTransparency = 0.85 glowRing.BorderSizePixel = 0 glowRing.ZIndex = 1000 glowRing.Parent = overlay local grC = Instance.new('UICorner') grC.CornerRadius = UDim.new(1, 0) grC.Parent = glowRing local grS = Instance.new('UIStroke') grS.Color = Color3.fromRGB(50, 130, 255) grS.Thickness = 2 grS.Transparency = 0.5 grS.Parent = glowRing -- Floating orbs local orbs = {} for i = 1, 6 do local orb = Instance.new('Frame') orb.Size = UDim2.new(0, 80 + i * 30, 0, 80 + i * 30) orb.Position = UDim2.new(0.5, -60, 0.45, -60) orb.BackgroundColor3 = Color3.fromRGB(50, 130, 255) orb.BackgroundTransparency = 0.85 orb.BorderSizePixel = 0 orb.ZIndex = 999 orb.Parent = overlay local oc = Instance.new('UICorner') oc.CornerRadius = UDim.new(1, 0) oc.Parent = orb table.insert(orbs, {frame = orb, phase = i * 0.5, speed = 0.8 + i * 0.3, radius = 60 + i * 40}) end local t = 0 local conn = RunService.Heartbeat:Connect(function(dt) if not overlay or not overlay.Parent then return end t = t + dt for _, o in ipairs(orbs) do local a = t * o.speed + o.phase local x = math.sin(a) * o.radius local y = math.cos(a * 0.7) * (o.radius * 0.6) o.frame.Position = UDim2.new(0.5, x - o.frame.Size.X.Offset / 2, 0.45, y - o.frame.Size.Y.Offset / 2) o.frame.Rotation = t * o.speed * 20 end local pulse = 1 + math.sin(t * 2) * 0.08 local rsz = 250 * pulse glowRing.Size = UDim2.new(0, rsz, 0, rsz) glowRing.Position = UDim2.new(0.5, -rsz / 2, 0.45, -rsz / 2) end) -- Main label local mainLabel = Instance.new('TextLabel') mainLabel.Size = UDim2.new(0, 600, 0, 80) mainLabel.Position = UDim2.new(0.5, -300, 0.45, -40) mainLabel.BackgroundTransparency = 1 mainLabel.Text = '' mainLabel.TextColor3 = Color3.fromRGB(255, 255, 255) mainLabel.Font = Enum.Font.GothamBold mainLabel.TextSize = 38 mainLabel.TextTransparency = 1 mainLabel.TextStrokeTransparency = 0.6 mainLabel.TextStrokeColor3 = Color3.fromRGB(50, 130, 255) mainLabel.ZIndex = 1001 mainLabel.Parent = overlay -- Sub label local subLabel = Instance.new('TextLabel') subLabel.Size = UDim2.new(0, 600, 0, 30) subLabel.Position = UDim2.new(0.5, -300, 0.45, 30) subLabel.BackgroundTransparency = 1 subLabel.Text = '' subLabel.TextColor3 = Color3.fromRGB(160, 185, 220) subLabel.Font = Enum.Font.Gotham subLabel.TextSize = 16 subLabel.TextTransparency = 1 subLabel.ZIndex = 1001 subLabel.Parent = overlay -- Credits local creditsLabel = Instance.new('TextLabel') creditsLabel.Size = UDim2.new(0, 700, 0, 25) creditsLabel.Position = UDim2.new(0.5, -350, 0.45, 100) creditsLabel.BackgroundTransparency = 1 creditsLabel.Text = 'check bobjs for scriptblox, and bobjsco for github - for updates and more scripts' creditsLabel.TextColor3 = Color3.fromRGB(80, 150, 255) creditsLabel.Font = Enum.Font.GothamMedium creditsLabel.TextSize = 13 creditsLabel.TextTransparency = 1 creditsLabel.ZIndex = 1001 creditsLabel.Parent = overlay wait(0.3) -- Phase 1: Made by @Hamster_Gamer14 mainLabel.Text = 'Made by @Hamster_Gamer14' local tw1 = TweenService:Create(mainLabel, TweenInfo.new(0.8, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0}) tw1:Play() local tw1b = TweenService:Create(subLabel, TweenInfo.new(0.6, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0.3}) tw1b:Play() wait(0.5) subLabel.Text = 'Premium experience of hacking, all for free!' local tw1c = TweenService:Create(subLabel, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0.3}) tw1c:Play() -- Credits slide in local tw1d = TweenService:Create(creditsLabel, TweenInfo.new(0.8, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0.15}) tw1d:Play() wait(3.0) -- Phase 2: Arc Yield TweenService:Create(mainLabel, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() TweenService:Create(subLabel, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() TweenService:Create(creditsLabel, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() wait(0.5) mainLabel.Size = UDim2.new(0, 600, 0, 100) mainLabel.TextSize = 52 mainLabel.Text = 'Arc Yield' mainLabel.TextTransparency = 1 glowRing.BackgroundTransparency = 0.7 TweenService:Create(glowRing, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {BackgroundTransparency = 0.7}):Play() local tw2 = TweenService:Create(mainLabel, TweenInfo.new(0.7, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {TextTransparency = 0}) tw2:Play() subLabel.Text = 'Made by @Hamster_Gamer14' subLabel.Position = UDim2.new(0.5, -300, 0.45, 55) subLabel.TextSize = 15 local tw2b = TweenService:Create(subLabel, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0.35}) tw2b:Play() -- Credits back creditsLabel.TextTransparency = 1 local tw2c = TweenService:Create(creditsLabel, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0.15}) tw2c:Play() wait(2.0) -- Phase 3: Fade out TweenService:Create(mainLabel, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() TweenService:Create(subLabel, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() TweenService:Create(creditsLabel, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() TweenService:Create(glowRing, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {BackgroundTransparency = 1}):Play() for _, o in ipairs(orbs) do TweenService:Create(o.frame, TweenInfo.new(0.4), {BackgroundTransparency = 1}):Play() end TweenService:Create(overlay, TweenInfo.new(0.5, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {BackgroundTransparency = 1}):Play() wait(0.6) if conn then conn:Disconnect() end pcall(function() overlay:Destroy() end) end) end) -- ======================== TAS (TOOL-ASSISTED SPEEDRUN) ======================== -- Frame-by-frame movement recorder with savestates, rewind, and playback -- F = forward 1 frame, R = rewind 1 frame, CapsLock = pause/unpause -- GUI with timer, frame count, savestates, Start Play, Stop Recording, Save, Load tasActive = false tasPaused = true tasGUI = nil tasConnections = {} tasSavestates = {} tasPlayerInfo = {} tasTimeStart = 0 tasTimePaused = 0 tasTimePauseHolder = 0 tasViewingTAS = false do local function tasFormatTime(tv) local m = math.floor(tv / 60) local s = math.floor(tv % 60) local ms = math.floor((tv * 1000) % 1000) local msStr = tostring(ms) local sStr = tostring(s) while #msStr < 3 do msStr = '0' .. msStr end while #sStr < 2 do sStr = '0' .. sStr end return m .. ':' .. sStr .. '.' .. msStr end local function tasGetCFrame() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return LocalPlayer.Character.HumanoidRootPart.CFrame end return CFrame.new() end local function tasGetVelocity() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return LocalPlayer.Character.HumanoidRootPart.Velocity end return Vector3.new() end local function tasGetCameraCFrame() return workspace.CurrentCamera.CFrame end local function tasCaptureFrame() return { CFrame = tasGetCFrame(), CameraCFrame = tasGetCameraCFrame(), Velocity = tasGetVelocity(), Time = tick() - tasTimeStart - tasTimePaused, } end local function tasSetState(infoState) if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end local RootPart = LocalPlayer.Character.HumanoidRootPart pcall(function() RootPart.CFrame = infoState.CFrame RootPart.Velocity = infoState.Velocity workspace.CurrentCamera.CFrame = infoState.CameraCFrame end) end local function tasUpdateGUI() if not tasGUI then return end local frameCountLbl = tasGUI:FindFirstChild("MainFrame"):FindFirstChild("FrameCount") local saveCountLbl = tasGUI:FindFirstChild("MainFrame"):FindFirstChild("SaveCount") local timeLbl = tasGUI:FindFirstChild("MainFrame"):FindFirstChild("TimeLabel") local pauseLbl = tasGUI:FindFirstChild("MainFrame"):FindFirstChild("PauseLabel") if frameCountLbl then frameCountLbl.Text = "Frames: " .. #tasPlayerInfo end if saveCountLbl then saveCountLbl.Text = "Savestates: " .. #tasSavestates end if timeLbl then local elapsed = tick() - tasTimeStart - tasTimePaused timeLbl.Text = tasFormatTime(elapsed) end if pauseLbl then if tasPaused then pauseLbl.Text = "PAUSED" pauseLbl.TextColor3 = Color3.fromRGB(255, 255, 0) timeLbl.TextColor3 = Color3.fromRGB(255, 255, 0) else pauseLbl.Text = "RECORDING" pauseLbl.TextColor3 = Color3.fromRGB(0, 255, 100) timeLbl.TextColor3 = Color3.fromRGB(255, 255, 255) end end end local function tasPauseToggle() tasPaused = not tasPaused if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.Anchored = tasPaused end if tasPaused then tasTimePauseHolder = tick() else if tasTimePauseHolder then tasTimePaused = tasTimePaused + (tick() - tasTimePauseHolder) tasTimePauseHolder = nil end end tasUpdateGUI() end local function tasGoFrameForward() if tasPaused then tasPauseToggle() RunService.Heartbeat:Wait() RunService.Heartbeat:Wait() tasPauseToggle() end end local function tasGoFrameBack() local TargetFrame = nil if #tasPlayerInfo > 1 then TargetFrame = tasPlayerInfo[#tasPlayerInfo - 1] tasPlayerInfo[#tasPlayerInfo] = nil elseif #tasSavestates > 0 and #tasSavestates[#tasSavestates] > 1 then TargetFrame = tasSavestates[#tasSavestates][#tasSavestates[#tasSavestates] - 1] tasSavestates[#tasSavestates][#tasSavestates[#tasSavestates]] = nil end if TargetFrame then if not tasPaused then tasPauseToggle() end tasTimePauseHolder = tick() tasTimeStart = tick() - TargetFrame.Time tasTimePaused = 0 tasSetState(TargetFrame) tasUpdateGUI() end end local function tasAddSavestate() table.insert(tasSavestates, tasPlayerInfo) tasPlayerInfo = {} notify('TAS', 'Savestate added (#' .. #tasSavestates .. ')') tasUpdateGUI() end local function tasLoadSavestate() if #tasSavestates > 0 and #tasSavestates[#tasSavestates] > 0 then local lastFrame = tasSavestates[#tasSavestates][#tasSavestates[#tasSavestates]] tasPlayerInfo = {} tasPaused = true tasTimePauseHolder = tick() tasTimeStart = tick() - lastFrame.Time tasTimePaused = 0 if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.Anchored = true end tasSetState(lastFrame) tasUpdateGUI() notify('TAS', 'Loaded savestate #' .. #tasSavestates) end end local function tasRemoveSavestate() if #tasSavestates > 0 then table.remove(tasSavestates) notify('TAS', 'Removed savestate. ' .. #tasSavestates .. ' remaining') tasUpdateGUI() end end local function tasPrepareData() local FullTAS = {} for i = 1, #tasSavestates do for j = 1, #tasSavestates[i] do local Frame = tasSavestates[i][j] local cfX, cfY, cfZ, cfR00, cfR01, cfR02, cfR10, cfR11, cfR12, cfR20, cfR21, cfR22 = Frame.CFrame:GetComponents() local camX, camY, camZ, camR00, camR01, camR02, camR10, camR11, camR12, camR20, camR21, camR22 = Frame.CameraCFrame:GetComponents() table.insert(FullTAS, { CCFrame = {cfX, cfY, cfZ, cfR00, cfR01, cfR02, cfR10, cfR11, cfR12, cfR20, cfR21, cfR22}, CCameraCFrame = {camX, camY, camZ, camR00, camR01, camR02, camR10, camR11, camR12, camR20, camR21, camR22}, VVelocity = {Frame.Velocity.X, Frame.Velocity.Y, Frame.Velocity.Z}, time = Frame.Time, }) end end return FullTAS end local function tasSaveRun() local FullTAS = tasPrepareData() if #FullTAS == 0 then notify('TAS', 'No data to save') return end local GameName = "TAS" pcall(function() GameName = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name GameName = GameName:gsub("[^%w%s]", ""):gsub("%s+", "_") end) local FileName = GameName .. "_TAS.json" local FilePath = "TAS_Recorder/" .. FileName local EncodedData = HttpService:JSONEncode(FullTAS) if writefile then pcall(function() if isfolder and not isfolder("TAS_Recorder") then makefolder("TAS_Recorder") end writefile(FilePath, EncodedData) notify('TAS', 'Saved to ' .. FilePath) end) else notify('TAS', 'File saving not supported') end end local function tasViewPlayback(TAS) if tasViewingTAS or #TAS == 0 then return end tasViewingTAS = true notify('TAS', 'Playing back TAS...') local Character = LocalPlayer.Character if not Character or not Character:FindFirstChild("HumanoidRootPart") then notify('TAS', 'Character not found') tasViewingTAS = false return end local RootPart = Character.HumanoidRootPart RootPart.Anchored = false local StartTime = tick() local CurrentFrameIndex = 1 if tasPaused then tasPauseToggle() end local PlaybackConn = RunService.Heartbeat:Connect(function() local Elapsed = tick() - StartTime local TargetFrame = nil while CurrentFrameIndex <= #TAS and TAS[CurrentFrameIndex].time <= Elapsed do TargetFrame = TAS[CurrentFrameIndex] CurrentFrameIndex = CurrentFrameIndex + 1 end if TargetFrame then local cf = TargetFrame.CCFrame local cam = TargetFrame.CCameraCFrame pcall(function() RootPart.CFrame = CFrame.new(cf[1], cf[2], cf[3], cf[4], cf[5], cf[6], cf[7], cf[8], cf[9], cf[10], cf[11], cf[12]) RootPart.Velocity = Vector3.new(TargetFrame.VVelocity[1], TargetFrame.VVelocity[2], TargetFrame.VVelocity[3]) workspace.CurrentCamera.CFrame = CFrame.new(cam[1], cam[2], cam[3], cam[4], cam[5], cam[6], cam[7], cam[8], cam[9], cam[10], cam[11], cam[12]) end) end if CurrentFrameIndex > #TAS then PlaybackConn:Disconnect() RootPart.Anchored = false tasViewingTAS = false tasPaused = true tasTimePauseHolder = tick() tasUpdateGUI() notify('TAS', 'Playback finished') end end) table.insert(tasConnections, PlaybackConn) end local function tasBuildGUI() if tasGUI then pcall(function() tasGUI:Destroy() end) end tasGUI = Instance.new("ScreenGui") tasGUI.Name = "TASRecorderGUI" tasGUI.ResetOnSpawn = false pcall(function() tasGUI.Parent = game:GetService("CoreGui") end) local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Parent = tasGUI MainFrame.Size = UDim2.new(0, 260, 0, 220) MainFrame.Position = UDim2.new(0, 10, 0.5, -110) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BackgroundTransparency = 0.1 MainFrame.BorderColor3 = Color3.fromRGB(200, 50, 50) MainFrame.BorderSizePixel = 2 MainFrame.Active = true MainFrame.Draggable = true local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Parent = MainFrame Title.Size = UDim2.new(1, 0, 0, 25) Title.BackgroundColor3 = Color3.fromRGB(200, 40, 40) Title.BorderSizePixel = 0 Title.Text = "TAS RECORDER" Title.TextColor3 = Color3.new(1, 1, 1) Title.Font = Enum.Font.SourceSansBold Title.TextSize = 16 local PauseLabel = Instance.new("TextLabel") PauseLabel.Name = "PauseLabel" PauseLabel.Parent = MainFrame PauseLabel.Size = UDim2.new(1, -10, 0, 18) PauseLabel.Position = UDim2.new(0, 5, 0, 28) PauseLabel.BackgroundTransparency = 1 PauseLabel.Text = "PAUSED" PauseLabel.TextColor3 = Color3.fromRGB(255, 255, 0) PauseLabel.Font = Enum.Font.SourceSansBold PauseLabel.TextSize = 14 PauseLabel.TextXAlignment = Enum.TextXAlignment.Left local TimeLabel = Instance.new("TextLabel") TimeLabel.Name = "TimeLabel" TimeLabel.Parent = MainFrame TimeLabel.Size = UDim2.new(1, -10, 0, 22) TimeLabel.Position = UDim2.new(0, 5, 0, 46) TimeLabel.BackgroundTransparency = 1 TimeLabel.Text = "0:00.000" TimeLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TimeLabel.Font = Enum.Font.Code TimeLabel.TextSize = 18 TimeLabel.TextXAlignment = Enum.TextXAlignment.Left local FrameCount = Instance.new("TextLabel") FrameCount.Name = "FrameCount" FrameCount.Parent = MainFrame FrameCount.Size = UDim2.new(1, -10, 0, 15) FrameCount.Position = UDim2.new(0, 5, 0, 70) FrameCount.BackgroundTransparency = 1 FrameCount.Text = "Frames: 0" FrameCount.TextColor3 = Color3.fromRGB(200, 200, 200) FrameCount.Font = Enum.Font.SourceSans FrameCount.TextSize = 13 FrameCount.TextXAlignment = Enum.TextXAlignment.Left local SaveCount = Instance.new("TextLabel") SaveCount.Name = "SaveCount" SaveCount.Parent = MainFrame SaveCount.Size = UDim2.new(1, -10, 0, 15) SaveCount.Position = UDim2.new(0, 5, 0, 85) SaveCount.BackgroundTransparency = 1 SaveCount.Text = "Savestates: 0" SaveCount.TextColor3 = Color3.fromRGB(200, 200, 200) SaveCount.Font = Enum.Font.SourceSans SaveCount.TextSize = 13 SaveCount.TextXAlignment = Enum.TextXAlignment.Left -- Buttons local btnY = 105 local btnH = 20 local btnGap = 3 local function makeButton(name, text, yPos) local btn = Instance.new("TextButton") btn.Name = name btn.Parent = MainFrame btn.Size = UDim2.new(0.48, -5, 0, btnH) btn.Position = UDim2.new(0, 5, 0, yPos) btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btn.BorderSizePixel = 0 btn.Text = text btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.SourceSansBold btn.TextSize = 12 return btn end local function makeButtonRight(name, text, yPos) local btn = makeButton(name, text, yPos) btn.Position = UDim2.new(0.52, 0, 0, yPos) return btn end -- Row 1: Start Play / Stop Recording local btnPlay = makeButton("PlayBtn", "Start Play", btnY) local btnStop = makeButtonRight("StopBtn", "Stop Rec", btnY) -- Row 2: Save State / Load State local btnSave = makeButton("SaveBtn", "Save State", btnY + btnH + btnGap) local btnLoad = makeButtonRight("LoadBtn", "Load State", btnY + btnH + btnGap) -- Row 3: Remove State / Save File local btnRemove = makeButton("RemoveBtn", "Remove State", btnY + (btnH + btnGap) * 2) local btnFile = makeButtonRight("FileBtn", "Save File", btnY + (btnH + btnGap) * 2) -- Row 4: Playback / View TAS local btnPlayback = makeButton("PlaybackBtn", "View TAS", btnY + (btnH + btnGap) * 3) local btnRewind = makeButtonRight("RewindBtn", "Full Rewind", btnY + (btnH + btnGap) * 3) -- Keybind info local InfoLabel = Instance.new("TextLabel") InfoLabel.Name = "InfoLabel" InfoLabel.Parent = MainFrame InfoLabel.Size = UDim2.new(1, -10, 0, 14) InfoLabel.Position = UDim2.new(0, 5, 0.92, 0) InfoLabel.BackgroundTransparency = 1 InfoLabel.Text = "F=Forward R=Rewind CapsLock=Pause 1=Save 2=Load 3=Remove" InfoLabel.TextColor3 = Color3.fromRGB(140, 140, 140) InfoLabel.Font = Enum.Font.SourceSans InfoLabel.TextSize = 10 InfoLabel.TextWrapped = true InfoLabel.TextXAlignment = Enum.TextXAlignment.Left -- Button handlers btnPlay.MouseButton1Click:Connect(function() if tasPaused then tasPauseToggle() end end) btnStop.MouseButton1Click:Connect(function() if not tasPaused then tasPauseToggle() end end) btnSave.MouseButton1Click:Connect(function() tasAddSavestate() end) btnLoad.MouseButton1Click:Connect(function() tasLoadSavestate() end) btnRemove.MouseButton1Click:Connect(function() tasRemoveSavestate() end) btnFile.MouseButton1Click:Connect(function() tasSaveRun() end) btnPlayback.MouseButton1Click:Connect(function() local data = tasPrepareData() if #data > 0 then tasViewPlayback(data) else notify('TAS', 'No data to play back') end end) btnRewind.MouseButton1Click:Connect(function() -- Full rewind: remove all frames, go to start if #tasPlayerInfo > 0 then local firstFrame = tasPlayerInfo[1] tasPlayerInfo = {} if not tasPaused then tasPauseToggle() end tasTimePauseHolder = tick() tasTimeStart = tick() - firstFrame.Time tasTimePaused = 0 tasSetState(firstFrame) tasUpdateGUI() notify('TAS', 'Rewound to start') end end) -- Hover effects for _, child in pairs(MainFrame:GetChildren()) do if child:IsA("TextButton") then child.MouseEnter:Connect(function() child.BackgroundColor3 = Color3.fromRGB(90, 90, 90) end) child.MouseLeave:Connect(function() child.BackgroundColor3 = Color3.fromRGB(60, 60, 60) end) end end end local tasFrameFwdHeld = false local tasFrameBackHeld = false addcmd('tas', {}, function(args, speaker) if tasActive then execCmd('untas') return end local char = speaker.Character if not char or not getRoot(char) then notify('TAS', 'Character not found') return end tasActive = true tasPaused = true tasSavestates = {} tasPlayerInfo = {} tasTimePaused = 0 tasTimeStart = tick() tasTimePauseHolder = tick() tasViewingTAS = false -- Initial savestate at current position table.insert(tasSavestates, {tasCaptureFrame()}) -- Anchor player (paused by default) local root = getRoot(char) if root then root.Anchored = true end tasBuildGUI() tasUpdateGUI() -- Main recording loop local mainConn = RunService.Heartbeat:Connect(function(dt) if not tasActive then return end if not tasPaused then table.insert(tasPlayerInfo, tasCaptureFrame()) tasUpdateGUI() end end) table.insert(tasConnections, mainConn) -- Keybind handler local keyConn = UserInputService.InputBegan:Connect(function(Input, Typing) if Typing then return end if not tasActive then return end local KC = Input.KeyCode if KC == Enum.KeyCode.CapsLock then tasPauseToggle() elseif KC == Enum.KeyCode.F then tasFrameFwdHeld = true task.spawn(function() tasGoFrameForward() while task.wait(0.05) and tasFrameFwdHeld and tasActive do tasGoFrameForward() end end) elseif KC == Enum.KeyCode.R then tasFrameBackHeld = true task.spawn(function() tasGoFrameBack() while task.wait(0.05) and tasFrameBackHeld and tasActive do tasGoFrameBack() end end) elseif KC == Enum.KeyCode.One then tasAddSavestate() elseif KC == Enum.KeyCode.Two then tasLoadSavestate() elseif KC == Enum.KeyCode.Three then tasRemoveSavestate() end end) table.insert(tasConnections, keyConn) -- Key release handler (stop held frame advance/rewind) local keyEndConn = UserInputService.InputEnded:Connect(function(Input, Typing) if Typing then return end local KC = Input.KeyCode if KC == Enum.KeyCode.F then tasFrameFwdHeld = false elseif KC == Enum.KeyCode.R then tasFrameBackHeld = false end end) table.insert(tasConnections, keyEndConn) -- Death handler local hum = char:FindFirstChildWhichIsA('Humanoid') if hum then local diedConn = hum.Died:Connect(function() task.wait(0.1) if not tasPaused then tasPauseToggle() end notify('TAS', 'Died. Waiting for respawn...') LocalPlayer.CharacterAdded:Wait() task.wait(1) tasLoadSavestate() end) table.insert(tasConnections, diedConn) end notify('TAS', 'Active! F=forward, R=rewind, CapsLock=pause, 1=save, 2=load') end) addcmd('untas', {'notas'}, function(args, speaker) tasActive = false tasPaused = true tasViewingTAS = false tasFrameFwdHeld = false tasFrameBackHeld = false for _, conn in pairs(tasConnections) do pcall(function() conn:Disconnect() end) end tasConnections = {} if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.Anchored = false end if tasGUI then pcall(function() tasGUI:Destroy() end) tasGUI = nil end tasSavestates = {} tasPlayerInfo = {} notify('TAS', 'Stopped') end) end -- TAS section -- ======================== GUI COMMAND - RAYFIELD-STYLE ======================== -- Persistent state for toggle tracking ArcCmdGUI = ArcCmdGUI or {} ArcCmdGUI.Open = false ArcCmdGUI.Frame = nil ArcCmdGUI.Gui = nil ArcCmdGUI.ToggleStates = ArcCmdGUI.ToggleStates or {} ArcCmdGUI.KConn = nil addcmd("gui", {"commands", "cmdlist"}, function(args, speaker) if ArcCmdGUI.Open then ArcCmdGUI._close() return end ArcCmdGUI._open() end) -- ==================== THEME COLORS (Rayfield) ==================== local _C = { Background = Color3.fromRGB(25, 28, 40), Sidebar = Color3.fromRGB(35, 38, 52), Content = Color3.fromRGB(28, 32, 46), Accent = Color3.fromRGB(0, 150, 255), AccentDark = Color3.fromRGB(0, 100, 180), AccentHover = Color3.fromRGB(50, 180, 255), TextPrimary = Color3.fromRGB(220, 222, 230), TextSecondary= Color3.fromRGB(150, 152, 160), TextDim = Color3.fromRGB(100, 102, 110), ToggleOn = Color3.fromRGB(0, 150, 255), ToggleOff = Color3.fromRGB(60, 63, 75), SliderTrack = Color3.fromRGB(50, 53, 65), InputBg = Color3.fromRGB(40, 43, 55), SectionHead = Color3.fromRGB(35, 38, 52), Border = Color3.fromRGB(55, 58, 70), CloseRed = Color3.fromRGB(180, 50, 50), Shine = Color3.fromRGB(255, 255, 255), } local _CR = 10 local _CR_E = 6 local _ANIM = 0.25 -- Glass elements tracked for animated reflections local _glassElements = {} -- ==================== UTILITY FUNCTIONS ==================== local function _tw(inst, props, dur, style, dir) local ok, tw = pcall(function() local info = TweenInfo.new(dur or _ANIM, style or Enum.EasingStyle.Quart, dir or Enum.EasingDirection.Out) local t = TweenService:Create(inst, info, props) t:Play() return t end) return ok and tw or nil end local function _glassShine(parent, cr) cr = cr or _CR_E -- Top highlight shine (static) local shine = Instance.new('Frame') shine.Name = 'GlassShine' shine.Size = UDim2.new(1, -4, 0.35, 0) shine.Position = UDim2.new(0, 2, 0, 2) shine.BackgroundColor3 = _C.Shine shine.BackgroundTransparency = 0.92 shine.BorderSizePixel = 0 shine.ZIndex = 2 shine.ClipsDescendants = true local sCr = Instance.new('UICorner') sCr.CornerRadius = UDim.new(0, math.max(cr - 1, 1)) sCr.Parent = shine local grad = Instance.new('UIGradient') grad.Color = ColorSequence.new(_C.Shine) grad.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.82), NumberSequenceKeypoint.new(0.4, 0.94), NumberSequenceKeypoint.new(1, 1), }) grad.Rotation = 90 grad.Parent = shine shine.Parent = parent -- Diagonal moving reflection (GlassShine2) local shine2 = Instance.new('Frame') shine2.Name = 'GlassShine2' shine2.Size = UDim2.new(0.6, 0, 1, 0) shine2.Position = UDim2.new(0, 0, 0, 0) shine2.BackgroundColor3 = _C.Shine shine2.BackgroundTransparency = 0.95 shine2.BorderSizePixel = 0 shine2.ZIndex = 3 shine2.ClipsDescendants = true local s2Cr = Instance.new('UICorner') s2Cr.CornerRadius = UDim.new(0, math.max(cr - 1, 1)) s2Cr.Parent = shine2 local grad2 = Instance.new('UIGradient') grad2.Color = ColorSequence.new(_C.Shine) grad2.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.9), NumberSequenceKeypoint.new(0.5, 0.97), NumberSequenceKeypoint.new(1, 1), }) grad2.Rotation = 45 grad2.Parent = shine2 shine2.Parent = parent -- Glossy bottom highlight (GlassGloss) local gloss = Instance.new('Frame') gloss.Name = 'GlassGloss' gloss.Size = UDim2.new(1, -4, 0.2, 0) gloss.Position = UDim2.new(0, 2, 1, -20) gloss.BackgroundColor3 = Color3.fromRGB(180, 220, 255) gloss.BackgroundTransparency = 0.93 gloss.BorderSizePixel = 0 gloss.ZIndex = 2 gloss.ClipsDescendants = true local gCr = Instance.new('UICorner') gCr.CornerRadius = UDim.new(0, math.max(cr - 2, 2)) gCr.Parent = gloss local gGrad = Instance.new('UIGradient') gGrad.Color = ColorSequence.new(Color3.fromRGB(255, 255, 255)) gGrad.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 1.0), NumberSequenceKeypoint.new(0.3, 0.92), NumberSequenceKeypoint.new(1, 0.98), }) gGrad.Rotation = 0 gGrad.Parent = gloss local gStroke = Instance.new('UIStroke') gStroke.Color = Color3.fromRGB(80, 160, 255) gStroke.Thickness = 0.5 gStroke.Transparency = 0.8 gStroke.Parent = gloss gloss.Parent = parent table.insert(_glassElements, parent) return shine end local function _getPlayerList() local players = {} local lp = Players.LocalPlayer pcall(function() for _, p in ipairs(Players:GetPlayers()) do if p ~= lp then table.insert(players, p.Name) end end end) table.sort(players) return players end -- ==================== OPEN GUI ==================== function ArcCmdGUI._open() if ArcCmdGUI.Open then return end -- If GUI was already created (just hidden), show it again if ArcCmdGUI.Gui and ArcCmdGUI.Frame then local frame = ArcCmdGUI.Frame frame.Visible = true frame.BackgroundTransparency = 1 frame.Size = UDim2.new(0, 612, 0, 468) _tw(frame, { BackgroundTransparency = 0, Size = UDim2.new(0, 680, 0, 520), }, 0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out) ArcCmdGUI.Open = true return end -- Create ScreenGui (first time only) local gui = Instance.new('ScreenGui') gui.Name = 'ArcCmdGUI' gui.ResetOnSpawn = false gui.DisplayOrder = 998 gui.IgnoreGuiInset = true gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = PARENT ArcCmdGUI.Gui = gui local _W = 680 local _H = 520 -- ==================== MAIN FRAME ==================== local frame = Instance.new('Frame') frame.Name = 'MainWindow' frame.Size = UDim2.new(0, _W, 0, _H) frame.Position = UDim2.new(0.5, -_W / 2, 0.5, -_H / 2) frame.BackgroundColor3 = _C.Background frame.BackgroundTransparency = 0 frame.BorderSizePixel = 0 frame.ClipsDescendants = true frame.ZIndex = 60 frame.Parent = gui local corner = Instance.new('UICorner') corner.CornerRadius = UDim.new(0, _CR) corner.Parent = frame local stroke = Instance.new('UIStroke') stroke.Color = _C.Border stroke.Thickness = 1 stroke.Transparency = 0.2 stroke.Parent = frame _glassShine(frame, _CR) -- ==================== HEADER BAR (42px) ==================== local header = Instance.new('Frame') header.Name = 'Header' header.Size = UDim2.new(1, 0, 0, 42) header.BackgroundColor3 = Color3.fromRGB(255, 255, 255) header.BackgroundTransparency = 0.96 header.BorderSizePixel = 0 header.ZIndex = 65 header.Parent = frame -- Header bottom separator local headerLine = Instance.new('Frame') headerLine.Size = UDim2.new(1, 0, 0, 1) headerLine.Position = UDim2.new(0, 0, 1, 0) headerLine.BackgroundColor3 = _C.Border headerLine.BackgroundTransparency = 0.35 headerLine.BorderSizePixel = 0 headerLine.ZIndex = 66 headerLine.Parent = header -- Title text local titleTxt = Instance.new('TextLabel') titleTxt.Size = UDim2.new(1, -90, 1, 0) titleTxt.Position = UDim2.new(0, 14, 0, 0) titleTxt.BackgroundTransparency = 1 titleTxt.Text = 'Arc Yield' titleTxt.TextColor3 = _C.TextPrimary titleTxt.TextXAlignment = Enum.TextXAlignment.Left titleTxt.Font = Enum.Font.GothamBold titleTxt.TextSize = 17 titleTxt.ZIndex = 67 titleTxt.Parent = header -- Gear icon label (right side) local gearLabel = Instance.new('TextLabel') gearLabel.Size = UDim2.new(0, 30, 0, 28) gearLabel.Position = UDim2.new(1, -68, 0, 7) gearLabel.BackgroundTransparency = 1 gearLabel.Text = string.char(226, 154, 153) gearLabel.TextColor3 = _C.TextDim gearLabel.Font = Enum.Font.Gotham gearLabel.TextSize = 16 gearLabel.ZIndex = 67 gearLabel.Parent = header -- Close button local closeBtn = Instance.new('TextButton') closeBtn.Size = UDim2.new(0, 28, 0, 28) closeBtn.Position = UDim2.new(1, -36, 0, 7) closeBtn.BackgroundColor3 = _C.CloseRed closeBtn.BackgroundTransparency = 0.5 closeBtn.BorderSizePixel = 0 closeBtn.Text = string.char(226, 156, 149) closeBtn.TextColor3 = Color3.fromRGB(255, 200, 200) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 14 closeBtn.ZIndex = 67 closeBtn.AutoButtonColor = false closeBtn.Parent = header local clC = Instance.new('UICorner') clC.CornerRadius = UDim.new(0, _CR_E) clC.Parent = closeBtn closeBtn.MouseEnter:Connect(function() _tw(closeBtn, {BackgroundTransparency = 0.15}, 0.15) end) closeBtn.MouseLeave:Connect(function() _tw(closeBtn, {BackgroundTransparency = 0.5}, 0.2) end) closeBtn.MouseButton1Click:Connect(function() ArcCmdGUI._close() end) -- ==================== SIDEBAR (180px wide) ==================== local sidebar = Instance.new('Frame') sidebar.Name = 'Sidebar' sidebar.Size = UDim2.new(0, 180, 1, -42) sidebar.Position = UDim2.new(0, 0, 0, 42) sidebar.BackgroundColor3 = _C.Sidebar sidebar.BorderSizePixel = 0 sidebar.ZIndex = 61 sidebar.Parent = frame -- Sidebar right border local sidebarLine = Instance.new('Frame') sidebarLine.Size = UDim2.new(0, 1, 1, 0) sidebarLine.Position = UDim2.new(1, 0, 0, 0) sidebarLine.BackgroundColor3 = _C.Border sidebarLine.BackgroundTransparency = 0.3 sidebarLine.BorderSizePixel = 0 sidebarLine.ZIndex = 62 sidebarLine.Parent = sidebar -- Sidebar scrolling frame local sidebarScroll = Instance.new('ScrollingFrame') sidebarScroll.Size = UDim2.new(1, 0, 1, 0) sidebarScroll.BackgroundTransparency = 1 sidebarScroll.BorderSizePixel = 0 sidebarScroll.ScrollBarThickness = 3 sidebarScroll.ScrollBarImageColor3 = _C.Accent sidebarScroll.ScrollBarImageTransparency = 0.6 sidebarScroll.CanvasSize = UDim2.new(0, 0, 0, 0) sidebarScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y sidebarScroll.ZIndex = 63 sidebarScroll.Parent = sidebar local sidebarLayout = Instance.new('UIListLayout') sidebarLayout.SortOrder = Enum.SortOrder.LayoutOrder sidebarLayout.Padding = UDim.new(0, 2) sidebarLayout.Parent = sidebarScroll local sidebarPad = Instance.new('UIPadding') sidebarPad.PaddingTop = UDim.new(0, 6) sidebarPad.PaddingBottom = UDim.new(0, 6) sidebarPad.Parent = sidebarScroll -- ==================== CONTENT AREA ==================== local contentArea = Instance.new('Frame') contentArea.Name = 'ContentArea' contentArea.Size = UDim2.new(1, -180, 1, -42) contentArea.Position = UDim2.new(0, 180, 0, 42) contentArea.BackgroundColor3 = _C.Content contentArea.BorderSizePixel = 0 contentArea.ClipsDescendants = true contentArea.ZIndex = 61 contentArea.Parent = frame ArcCmdGUI.Frame = frame ArcCmdGUI.Sidebar = sidebar -- ==================== TAB SYSTEM ==================== local tabs = {} local activeTab = nil local function showTab(name) for tN, tD in pairs(tabs) do if tN == name then tD.content.Visible = true activeTab = tN _tw(tD.btn, {BackgroundColor3 = Color3.fromRGB(40, 45, 62)}, 0.2) _tw(tD.btnLabel, {TextColor3 = Color3.fromRGB(240, 242, 250)}, 0.15) tD.indicator.Visible = true else tD.content.Visible = false _tw(tD.btn, {BackgroundColor3 = Color3.fromRGB(255, 255, 255)}, 0.2) _tw(tD.btnLabel, {TextColor3 = _C.TextSecondary}, 0.15) tD.indicator.Visible = false end end end local function makeTab(name) -- Sidebar tab button (~36px tall) local btn = Instance.new('TextButton') btn.Name = 'TabBtn_' .. name btn.Size = UDim2.new(1, 0, 0, 36) btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) btn.BackgroundTransparency = 0.97 btn.BorderSizePixel = 0 btn.Text = '' btn.LayoutOrder = #tabs + 1 btn.ZIndex = 64 btn.AutoButtonColor = false btn.Parent = sidebarScroll -- Accent indicator bar on left edge (3px wide) local indicator = Instance.new('Frame') indicator.Name = 'Indicator' indicator.Size = UDim2.new(0, 3, 0.65, 0) indicator.Position = UDim2.new(0, 0, 0.175, 0) indicator.BackgroundColor3 = _C.Accent indicator.BorderSizePixel = 0 indicator.ZIndex = 66 indicator.Visible = false indicator.Parent = btn -- Tab icon character local iconLbl = Instance.new('TextLabel') iconLbl.Size = UDim2.new(0, 20, 1, 0) iconLbl.Position = UDim2.new(0, 10, 0, 0) iconLbl.BackgroundTransparency = 1 iconLbl.Text = string.char(226, 150, 184) iconLbl.TextColor3 = _C.Accent iconLbl.Font = Enum.Font.Gotham iconLbl.TextSize = 12 iconLbl.TextXAlignment = Enum.TextXAlignment.Left iconLbl.ZIndex = 65 iconLbl.Parent = btn -- Tab label text local btnLabel = Instance.new('TextLabel') btnLabel.Size = UDim2.new(1, -36, 1, 0) btnLabel.Position = UDim2.new(0, 30, 0, 0) btnLabel.BackgroundTransparency = 1 btnLabel.Text = name btnLabel.TextColor3 = _C.TextSecondary btnLabel.TextXAlignment = Enum.TextXAlignment.Left btnLabel.Font = Enum.Font.GothamBold btnLabel.TextSize = 13 btnLabel.ZIndex = 65 btnLabel.Parent = btn btn.MouseEnter:Connect(function() if activeTab ~= name then _tw(btn, {BackgroundColor3 = Color3.fromRGB(22, 30, 50)}, 0.15) end end) btn.MouseLeave:Connect(function() if activeTab ~= name then _tw(btn, {BackgroundColor3 = Color3.fromRGB(255, 255, 255)}, 0.2) end end) -- Tab content scrolling frame local content = Instance.new('ScrollingFrame') content.Name = 'Tab_' .. name content.Size = UDim2.new(1, 0, 1, 0) content.BackgroundTransparency = 1 content.BorderSizePixel = 0 content.ScrollBarThickness = 4 content.ScrollBarImageColor3 = _C.Accent content.ScrollBarImageTransparency = 0.5 content.CanvasSize = UDim2.new(0, 0, 0, 0) content.AutomaticCanvasSize = Enum.AutomaticSize.Y content.Visible = false content.ZIndex = 61 content.Parent = contentArea local cLayout = Instance.new('UIListLayout') cLayout.SortOrder = Enum.SortOrder.LayoutOrder cLayout.Padding = UDim.new(0, 4) cLayout.Parent = content local cPad = Instance.new('UIPadding') cPad.PaddingTop = UDim.new(0, 8) cPad.PaddingBottom = UDim.new(0, 50) cPad.PaddingLeft = UDim.new(0, 10) cPad.PaddingRight = UDim.new(0, 10) cPad.Parent = content tabs[name] = {btn = btn, btnLabel = btnLabel, indicator = indicator, content = content} btn.MouseButton1Click:Connect(function() showTab(name) end) return content end -- ==================== ELEMENT BUILDERS ==================== -- ===== SECTION TITLE ===== local function addSectionTitle(parent, text, count) local t = Instance.new('Frame') t.Size = UDim2.new(1, 0, 0, 26) t.BackgroundColor3 = _C.SectionHead t.BackgroundTransparency = 0 t.BorderSizePixel = 0 t.LayoutOrder = 9998 t.ZIndex = 62 t.Parent = parent local tC = Instance.new('UICorner') tC.CornerRadius = UDim.new(0, _CR_E) tC.Parent = t local lbl = Instance.new('TextLabel') lbl.Size = UDim2.new(1, -16, 1, 0) lbl.Position = UDim2.new(0, 10, 0, 0) lbl.BackgroundTransparency = 1 lbl.Text = text .. ' (' .. tostring(count or 0) .. ')' lbl.TextColor3 = _C.AccentHover lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.GothamBold lbl.TextSize = 12 lbl.ZIndex = 63 lbl.Parent = t return t end -- ===== SPACER ===== local function addSpacer(parent, h, order) local sp = Instance.new('Frame') sp.Size = UDim2.new(1, 0, 0, h or 6) sp.BackgroundTransparency = 1 sp.LayoutOrder = order or 9999 sp.ZIndex = 60 sp.Parent = parent end -- ===== TOGGLE SWITCH ===== local function addToggle(parent, label, default, onCmd, offCmd, order) local key = onCmd ArcCmdGUI.ToggleStates[key] = ArcCmdGUI.ToggleStates[key] or default local container = Instance.new('Frame') container.Size = UDim2.new(1, 0, 0, 32) container.BackgroundColor3 = _C.Content container.BackgroundTransparency = 0 container.BorderSizePixel = 0 container.LayoutOrder = order or 999 container.ZIndex = 62 container.Parent = parent local cC = Instance.new('UICorner') cC.CornerRadius = UDim.new(0, _CR_E) cC.Parent = container -- Subtle separator line local bLine = Instance.new('Frame') bLine.Size = UDim2.new(1, -20, 0, 1) bLine.Position = UDim2.new(0, 10, 1, -1) bLine.BackgroundColor3 = _C.Border bLine.BackgroundTransparency = 0.75 bLine.BorderSizePixel = 0 bLine.ZIndex = 63 bLine.Parent = container local lbl = Instance.new('TextLabel') lbl.Size = UDim2.new(1, -60, 1, 0) lbl.Position = UDim2.new(0, 12, 0, 0) lbl.BackgroundTransparency = 1 lbl.Text = label lbl.TextColor3 = _C.TextPrimary lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.Gotham lbl.TextSize = 13 lbl.ZIndex = 63 lbl.Parent = container -- Toggle track (rectangular, rounded ends) local track = Instance.new('Frame') track.Size = UDim2.new(0, 40, 0, 20) track.Position = UDim2.new(1, -48, 0.5, -10) track.BackgroundColor3 = _C.ToggleOff track.BorderSizePixel = 0 track.ZIndex = 64 track.Parent = container local tCr = Instance.new('UICorner') tCr.CornerRadius = UDim.new(1, 0) tCr.Parent = track -- Knob local knob = Instance.new('Frame') knob.Size = UDim2.new(0, 16, 0, 16) knob.Position = UDim2.new(0, 2, 0.5, -8) knob.BackgroundColor3 = Color3.fromRGB(160, 170, 185) knob.BorderSizePixel = 0 knob.ZIndex = 65 knob.Parent = track local kCr = Instance.new('UICorner') kCr.CornerRadius = UDim.new(1, 0) kCr.Parent = knob local function applyState(isOn, animate) ArcCmdGUI.ToggleStates[key] = isOn if isOn then if animate then _tw(track, {BackgroundColor3 = _C.ToggleOn}, 0.2) _tw(knob, {Position = UDim2.new(1, -18, 0.5, -8), BackgroundColor3 = Color3.fromRGB(255, 255, 255)}, 0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out) else track.BackgroundColor3 = _C.ToggleOn knob.Position = UDim2.new(1, -18, 0.5, -8) knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255) end else if animate then _tw(track, {BackgroundColor3 = _C.ToggleOff}, 0.2) _tw(knob, {Position = UDim2.new(0, 2, 0.5, -8), BackgroundColor3 = Color3.fromRGB(160, 170, 185)}, 0.2, Enum.EasingStyle.Back, Enum.EasingDirection.Out) else track.BackgroundColor3 = _C.ToggleOff knob.Position = UDim2.new(0, 2, 0.5, -8) knob.BackgroundColor3 = Color3.fromRGB(160, 170, 185) end end end applyState(ArcCmdGUI.ToggleStates[key], false) -- Invisible click catcher local clickBtn = Instance.new('TextButton') clickBtn.Size = UDim2.new(1, 0, 1, 0) clickBtn.BackgroundTransparency = 1 clickBtn.Text = '' clickBtn.ZIndex = 66 clickBtn.Parent = container clickBtn.MouseButton1Click:Connect(function() local newState = not ArcCmdGUI.ToggleStates[key] applyState(newState, true) if newState then pcall(function() execCmd(onCmd) end) else pcall(function() execCmd(offCmd) end) end end) return container end -- ===== BUTTON ===== local function addButton(parent, label, cmd, order) local container = Instance.new('TextButton') container.Size = UDim2.new(1, 0, 0, 30) container.BackgroundColor3 = _C.AccentDark container.BackgroundTransparency = 0.15 container.BorderSizePixel = 0 container.Text = '' container.LayoutOrder = order or 999 container.ZIndex = 62 container.AutoButtonColor = false container.Parent = parent local cC = Instance.new('UICorner') cC.CornerRadius = UDim.new(0, _CR_E) cC.Parent = container local lbl = Instance.new('TextLabel') lbl.Size = UDim2.new(1, -16, 1, 0) lbl.Position = UDim2.new(0, 12, 0, 0) lbl.BackgroundTransparency = 1 lbl.Text = label lbl.TextColor3 = _C.TextSecondary lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.GothamBold lbl.TextSize = 12 lbl.ZIndex = 63 lbl.Parent = container container.MouseEnter:Connect(function() _tw(container, {BackgroundColor3 = _C.Accent, BackgroundTransparency = 0.25}, 0.15) _tw(lbl, {TextColor3 = _C.TextPrimary}, 0.15) end) container.MouseLeave:Connect(function() _tw(container, {BackgroundColor3 = _C.AccentDark, BackgroundTransparency = 0.15}, 0.2) _tw(lbl, {TextColor3 = _C.TextSecondary}, 0.2) end) container.MouseButton1Click:Connect(function() _tw(container, {BackgroundColor3 = _C.AccentDark, BackgroundTransparency = 0}, 0.08) wait(0.1) _tw(container, {BackgroundColor3 = _C.AccentDark, BackgroundTransparency = 0.15}, 0.2) pcall(function() execCmd(cmd) end) end) return container end -- ===== SLIDER ===== local function addSlider(parent, label, min, max, default, cmd, order) local container = Instance.new('Frame') container.Size = UDim2.new(1, 0, 0, 50) container.BackgroundColor3 = _C.Content container.BackgroundTransparency = 0 container.BorderSizePixel = 0 container.LayoutOrder = order or 999 container.ZIndex = 62 container.Parent = parent local cC = Instance.new('UICorner') cC.CornerRadius = UDim.new(0, _CR_E) cC.Parent = container local lbl = Instance.new('TextLabel') lbl.Size = UDim2.new(1, -16, 0, 22) lbl.Position = UDim2.new(0, 12, 0, 4) lbl.BackgroundTransparency = 1 lbl.Text = label .. ': ' .. tostring(default or min) lbl.TextColor3 = _C.TextPrimary lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.GothamBold lbl.TextSize = 11 lbl.ZIndex = 63 lbl.Parent = container -- Track (6px tall, rounded) local track = Instance.new('Frame') track.Size = UDim2.new(1, -24, 0, 6) track.Position = UDim2.new(0, 12, 1, -18) track.BackgroundColor3 = _C.SliderTrack track.BorderSizePixel = 0 track.ZIndex = 64 track.Parent = container local tCr = Instance.new('UICorner') tCr.CornerRadius = UDim.new(1, 0) tCr.Parent = track -- Fill bar (cyan accent) local pct = (default - min) / (max - min) if pct < 0 then pct = 0 end if pct > 1 then pct = 1 end local fill = Instance.new('Frame') fill.Size = UDim2.new(pct, 0, 1, 0) fill.BackgroundColor3 = _C.Accent fill.BorderSizePixel = 0 fill.ZIndex = 65 fill.Parent = track local fCr = Instance.new('UICorner') fCr.CornerRadius = UDim.new(1, 0) fCr.Parent = fill -- Thumb (14px white circle with accent border stroke) local thumb = Instance.new('Frame') thumb.Size = UDim2.new(0, 14, 0, 14) thumb.Position = UDim2.new(pct, -7, 0.5, -7) thumb.BackgroundColor3 = Color3.fromRGB(255, 255, 255) thumb.BorderSizePixel = 0 thumb.ZIndex = 66 thumb.Parent = track local thCr = Instance.new('UICorner') thCr.CornerRadius = UDim.new(1, 0) thCr.Parent = thumb local thS = Instance.new('UIStroke') thS.Color = _C.Accent thS.Thickness = 2 thS.Parent = thumb local sliding = false local function updateSlider(xPos) local relX = math.clamp((xPos - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1) local val = min + (max - min) * relX local rounded = math.floor(val * 100 + 0.5) / 100 fill.Size = UDim2.new(relX, 0, 1, 0) thumb.Position = UDim2.new(relX, -7, 0.5, -7) lbl.Text = label .. ': ' .. tostring(rounded) pcall(function() execCmd(cmd .. " " .. tostring(rounded)) end) end track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliding = true updateSlider(input.Position.X) end end) track.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sliding = false end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if sliding then sliding = false end end end) UserInputService.InputChanged:Connect(function(input) if sliding then if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then updateSlider(input.Position.X) end end end) return container end -- ===== PLAYER DROPDOWN + EXECUTE ===== local function addPlayerDropdown(parent, label, cmd, order) local container = Instance.new('Frame') container.Size = UDim2.new(1, 0, 0, 56) container.BackgroundColor3 = _C.Content container.BackgroundTransparency = 0 container.BorderSizePixel = 0 container.LayoutOrder = order or 999 container.ZIndex = 62 container.Parent = parent local cC = Instance.new('UICorner') cC.CornerRadius = UDim.new(0, _CR_E) cC.Parent = container local lbl = Instance.new('TextLabel') lbl.Size = UDim2.new(1, -16, 0, 18) lbl.Position = UDim2.new(0, 10, 0, 2) lbl.BackgroundTransparency = 1 lbl.Text = label lbl.TextColor3 = _C.TextPrimary lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.GothamBold lbl.TextSize = 11 lbl.ZIndex = 63 lbl.Parent = container local selectedName = nil local dropOpen = false -- Dropdown button local dropBtn = Instance.new('TextButton') dropBtn.Size = UDim2.new(1, -88, 0, 26) dropBtn.Position = UDim2.new(0, 10, 0, 24) dropBtn.BackgroundColor3 = _C.InputBg dropBtn.BackgroundTransparency = 0 dropBtn.BorderSizePixel = 0 dropBtn.Text = 'Select Player...' dropBtn.TextColor3 = _C.TextDim dropBtn.TextXAlignment = Enum.TextXAlignment.Left dropBtn.Font = Enum.Font.Gotham dropBtn.TextSize = 12 dropBtn.TextTruncate = Enum.TextTruncate.AtEnd dropBtn.ZIndex = 65 dropBtn.AutoButtonColor = false dropBtn.Parent = container local dC = Instance.new('UICorner') dC.CornerRadius = UDim.new(0, _CR_E) dC.Parent = dropBtn local dS = Instance.new('UIStroke') dS.Color = _C.Border dS.Thickness = 0.8 dS.Transparency = 0.3 dS.Parent = dropBtn local dPad = Instance.new('UIPadding') dPad.PaddingLeft = UDim.new(0, 8) dPad.PaddingRight = UDim.new(0, 18) dPad.Parent = dropBtn -- Arrow icon local arrowLbl = Instance.new('TextLabel') arrowLbl.Size = UDim2.new(0, 14, 0, 14) arrowLbl.Position = UDim2.new(1, -16, 0.5, -7) arrowLbl.BackgroundTransparency = 1 arrowLbl.Text = string.char(226, 150, 190) arrowLbl.TextColor3 = _C.TextDim arrowLbl.Font = Enum.Font.Gotham arrowLbl.TextSize = 9 arrowLbl.ZIndex = 66 arrowLbl.Parent = dropBtn -- Dropdown list frame (hidden by default) local dropFrame = Instance.new('Frame') dropFrame.Size = UDim2.new(1, -88, 0, 0) dropFrame.Position = UDim2.new(0, 10, 1, -2) dropFrame.BackgroundColor3 = _C.Sidebar dropFrame.BorderSizePixel = 0 dropFrame.ClipsDescendants = true dropFrame.Visible = false dropFrame.ZIndex = 70 dropFrame.Parent = container local dfC = Instance.new('UICorner') dfC.CornerRadius = UDim.new(0, _CR_E) dfC.Parent = dropFrame local dfS = Instance.new('UIStroke') dfS.Color = _C.Border dfS.Thickness = 1 dfS.Transparency = 0.2 dfS.Parent = dropFrame local dropScroll = Instance.new('ScrollingFrame') dropScroll.Size = UDim2.new(1, 0, 1, 0) dropScroll.BackgroundTransparency = 1 dropScroll.BorderSizePixel = 0 dropScroll.ScrollBarThickness = 3 dropScroll.ScrollBarImageColor3 = _C.Accent dropScroll.ScrollBarImageTransparency = 0.5 dropScroll.CanvasSize = UDim2.new(0, 0, 0, 0) dropScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y dropScroll.ZIndex = 71 dropScroll.Parent = dropFrame local dropLayout = Instance.new('UIListLayout') dropLayout.SortOrder = Enum.SortOrder.LayoutOrder dropLayout.Padding = UDim.new(0, 1) dropLayout.Parent = dropScroll local function populatePlayers() for _, c in ipairs(dropScroll:GetChildren()) do if c:IsA('TextButton') or c:IsA('TextLabel') then c:Destroy() end end local playerList = _getPlayerList() for i, pName in ipairs(playerList) do local opt = Instance.new('TextButton') opt.Size = UDim2.new(1, 0, 0, 24) opt.BackgroundColor3 = Color3.fromRGB(255, 255, 255) opt.BackgroundTransparency = 0.97 opt.BorderSizePixel = 0 opt.Text = pName opt.TextColor3 = _C.TextPrimary opt.TextXAlignment = Enum.TextXAlignment.Left opt.Font = Enum.Font.Gotham opt.TextSize = 12 opt.LayoutOrder = i opt.ZIndex = 72 opt.AutoButtonColor = false opt.Parent = dropScroll local oP = Instance.new('UIPadding') oP.PaddingLeft = UDim.new(0, 8) oP.Parent = opt opt.MouseEnter:Connect(function() opt.BackgroundColor3 = _C.AccentDark _tw(opt, {BackgroundTransparency = 0.85}, 0.1) end) opt.MouseLeave:Connect(function() opt.BackgroundColor3 = Color3.fromRGB(255, 255, 255) _tw(opt, {BackgroundTransparency = 0.97}, 0.1) end) opt.MouseButton1Click:Connect(function() selectedName = pName dropBtn.Text = pName dropBtn.TextColor3 = _C.TextPrimary dropFrame.Visible = false dropOpen = false arrowLbl.Text = string.char(226, 150, 190) dropFrame.Size = UDim2.new(1, -88, 0, 0) end) end if #playerList == 0 then local noPl = Instance.new('TextLabel') noPl.Size = UDim2.new(1, 0, 0, 24) noPl.BackgroundTransparency = 1 noPl.Text = 'No other players' noPl.TextColor3 = _C.TextDim noPl.Font = Enum.Font.Gotham noPl.TextSize = 11 noPl.ZIndex = 72 noPl.Parent = dropScroll end end local function toggleDropdown() dropOpen = not dropOpen if dropOpen then populatePlayers() local playerList = _getPlayerList() local maxH = math.min(#playerList, 6) * 25 + 4 if maxH < 28 then maxH = 28 end dropFrame.Size = UDim2.new(1, -88, 0, 0) dropFrame.Visible = true _tw(dropFrame, {Size = UDim2.new(1, -88, 0, maxH)}, 0.15) arrowLbl.Text = string.char(226, 150, 180) else _tw(dropFrame, {Size = UDim2.new(1, -88, 0, 0)}, 0.12) wait(0.13) dropFrame.Visible = false arrowLbl.Text = string.char(226, 150, 190) end end dropBtn.MouseButton1Click:Connect(toggleDropdown) -- Execute button local execBtn = Instance.new('TextButton') execBtn.Size = UDim2.new(0, 68, 0, 26) execBtn.Position = UDim2.new(1, -78, 0, 24) execBtn.BackgroundColor3 = _C.Accent execBtn.BackgroundTransparency = 0.2 execBtn.BorderSizePixel = 0 execBtn.Text = 'Execute' execBtn.TextColor3 = _C.TextPrimary execBtn.Font = Enum.Font.GothamBold execBtn.TextSize = 11 execBtn.ZIndex = 65 execBtn.AutoButtonColor = false execBtn.Parent = container local eC = Instance.new('UICorner') eC.CornerRadius = UDim.new(0, _CR_E) eC.Parent = execBtn execBtn.MouseEnter:Connect(function() _tw(execBtn, {BackgroundTransparency = 0}, 0.12) end) execBtn.MouseLeave:Connect(function() _tw(execBtn, {BackgroundTransparency = 0.2}, 0.15) end) execBtn.MouseButton1Click:Connect(function() if selectedName then pcall(function() execCmd(cmd .. " " .. selectedName) end) end if dropOpen then dropOpen = false _tw(dropFrame, {Size = UDim2.new(1, -88, 0, 0)}, 0.12) wait(0.13) dropFrame.Visible = false arrowLbl.Text = string.char(226, 150, 190) end end) return container end -- ===== ID TEXTBOX + EXECUTE ===== local function addIdInput(parent, label, placeholder, cmd, order) local container = Instance.new('Frame') container.Size = UDim2.new(1, 0, 0, 54) container.BackgroundColor3 = _C.Content container.BackgroundTransparency = 0 container.BorderSizePixel = 0 container.LayoutOrder = order or 999 container.ZIndex = 62 container.Parent = parent local cC = Instance.new('UICorner') cC.CornerRadius = UDim.new(0, _CR_E) cC.Parent = container local lbl = Instance.new('TextLabel') lbl.Size = UDim2.new(1, -16, 0, 18) lbl.Position = UDim2.new(0, 10, 0, 2) lbl.BackgroundTransparency = 1 lbl.Text = label lbl.TextColor3 = _C.TextPrimary lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Font = Enum.Font.GothamBold lbl.TextSize = 11 lbl.ZIndex = 63 lbl.Parent = container local inputBox = Instance.new('TextBox') inputBox.Size = UDim2.new(1, -88, 0, 26) inputBox.Position = UDim2.new(0, 10, 0, 24) inputBox.BackgroundColor3 = _C.InputBg inputBox.BackgroundTransparency = 0 inputBox.BorderSizePixel = 0 inputBox.Text = '' inputBox.PlaceholderText = placeholder or 'Enter ID...' inputBox.PlaceholderColor3 = _C.TextDim inputBox.TextColor3 = _C.TextPrimary inputBox.Font = Enum.Font.Gotham inputBox.TextSize = 12 inputBox.TextXAlignment = Enum.TextXAlignment.Left inputBox.ZIndex = 64 inputBox.ClearTextOnFocus = false inputBox.Parent = container local iC = Instance.new('UICorner') iC.CornerRadius = UDim.new(0, _CR_E) iC.Parent = inputBox local iS = Instance.new('UIStroke') iS.Color = _C.Border iS.Thickness = 0.8 iS.Transparency = 0.3 iS.Parent = inputBox local inputPad = Instance.new('UIPadding') inputPad.PaddingLeft = UDim.new(0, 8) inputPad.Parent = inputBox -- Submit button ("Go") local submitBtn = Instance.new('TextButton') submitBtn.Size = UDim2.new(0, 68, 0, 26) submitBtn.Position = UDim2.new(1, -78, 0, 24) submitBtn.BackgroundColor3 = _C.Accent submitBtn.BackgroundTransparency = 0.2 submitBtn.BorderSizePixel = 0 submitBtn.Text = 'Go' submitBtn.TextColor3 = _C.TextPrimary submitBtn.Font = Enum.Font.GothamBold submitBtn.TextSize = 12 submitBtn.ZIndex = 65 submitBtn.AutoButtonColor = false submitBtn.Parent = container local sC = Instance.new('UICorner') sC.CornerRadius = UDim.new(0, _CR_E) sC.Parent = submitBtn submitBtn.MouseEnter:Connect(function() _tw(submitBtn, {BackgroundTransparency = 0}, 0.12) end) submitBtn.MouseLeave:Connect(function() _tw(submitBtn, {BackgroundTransparency = 0.2}, 0.15) end) local function doExec() if inputBox.Text ~= '' then pcall(function() execCmd(cmd .. " " .. inputBox.Text) end) end end submitBtn.MouseButton1Click:Connect(doExec) inputBox.FocusLost:Connect(function(enterPressed) if enterPressed then doExec() end end) return container end -- ==================== DRAGGING ==================== local dragging = false local dragStart = Vector3.new(0, 0, 0) local startPos = UDim2.new(0, 0, 0, 0) header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position end end) header.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging then if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end end) -- ==================== K-KEY TOGGLE ==================== if ArcCmdGUI.KConn then pcall(function() ArcCmdGUI.KConn:Disconnect() end) ArcCmdGUI.KConn = nil end ArcCmdGUI.KConn = UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.K then if ArcCmdGUI.Open then ArcCmdGUI._close() else ArcCmdGUI._open() end end end) -- ==================== BUILD ALL TABS & COMMANDS ==================== -- ===== TAB: Movement ===== local tMov = makeTab('Movement') local movIdx = 0 local function movOrder() movIdx = movIdx + 1 return movIdx end addSectionTitle(tMov, 'Fly', 7) addToggle(tMov, 'Fly', false, 'fly', 'unfly', movOrder()) addToggle(tMov, 'Vehicle Fly', false, 'vfly', 'unvfly', movOrder()) addToggle(tMov, 'CFrame Fly', false, 'cframefly', 'uncframefly', movOrder()) addToggle(tMov, 'QE Fly', false, 'qefly', 'unfly', movOrder()) addSlider(tMov, 'Fly Speed', 1, 500, 80, 'flyspeed', movOrder()) addSlider(tMov, 'Vehicle Fly Speed', 1, 500, 80, 'vflyspeed', movOrder()) addSlider(tMov, 'CFrame Fly Speed', 1, 500, 80, 'cframeflyspeed', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Walk & Run', 4) addSlider(tMov, 'Walk Speed', 1, 500, 16, 'speed', movOrder()) addSlider(tMov, 'Rotate Speed', 1, 100, 10, 'rotatespeed', movOrder()) addSlider(tMov, 'Jump Power', 1, 500, 50, 'jpower', movOrder()) addSlider(tMov, 'Hip Height', 0, 20, 2, 'hipheight', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Noclip & Swim', 5) addToggle(tMov, 'Noclip', false, 'noclip', 'clip', movOrder()) addToggle(tMov, 'Half Clip', false, 'nocliph', 'clip', movOrder()) addToggle(tMov, 'Swim', false, 'swim', 'unswim', movOrder()) addToggle(tMov, 'Float Platform', false, 'float', 'unfloat', movOrder()) addToggle(tMov, 'Wall Walk', false, 'wallwalk', 'unwallwalk', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Teleport', 6) addPlayerDropdown(tMov, 'Go To Player', 'goto', movOrder()) addPlayerDropdown(tMov, 'Smooth GoTo', 'tweengoto', movOrder()) addPlayerDropdown(tMov, 'Vehicle GoTo', 'vehiclegoto', movOrder()) addPlayerDropdown(tMov, 'Pulse TP Player', 'pulsetp', movOrder()) addSlider(tMov, 'Tween Speed', 1, 300, 50, 'tweenspeed', movOrder()) addSlider(tMov, 'Gravity', 0, 500, 196.2, 'gravity', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Pathfind & Follow', 4) addPlayerDropdown(tMov, 'Walk To Player', 'walkto', movOrder()) addPlayerDropdown(tMov, 'Pathfind Walk To', 'pathfindwalkto', movOrder()) addPlayerDropdown(tMov, 'Pathfind Fly To', 'pathfindflyto', movOrder()) addButton(tMov, 'Stop Pathfind Fly', 'unpathfindfly', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Vehicle', 3) addToggle(tMov, 'Vehicle Noclip', false, 'vehiclenoclip', 'vehicleclip', movOrder()) addToggle(tMov, 'Ctrl+Click TP', false, 'ctrlclicktp', 'unctrlclicktp', movOrder()) addButton(tMov, 'Client Bring', 'cbring', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Waypoints', 5) addIdInput(tMov, 'Save Waypoint', 'Waypoint name...', 'setwaypoint', movOrder()) addButton(tMov, 'Go To Waypoint', 'waypoint', movOrder()) addButton(tMov, 'Tween To Waypoint', 'tweenwaypoint', movOrder()) addButton(tMov, 'Show Waypoints', 'showwaypoints', movOrder()) addButton(tMov, 'Hide Waypoints', 'hidewaypoints', movOrder()) addButton(tMov, 'Clear Waypoints', 'clearwaypoints', movOrder()) addSpacer(tMov, 4, movOrder()) addSectionTitle(tMov, 'Arc Movement', 14) addToggle(tMov, 'Arc Fly', false, 'arcfly', 'unarcfly', movOrder()) addToggle(tMov, 'Arc CFrame Fly', false, 'arccfly', 'unarccfly', movOrder()) addToggle(tMov, 'Arc Vehicle Fly', false, 'arcvfly', 'unarcvfly', movOrder()) addToggle(tMov, 'Arc Noclip', false, 'arcnoclip', 'unarcnoclip', movOrder()) addToggle(tMov, 'Arc Super Jump', false, 'arcsjump', 'unarcsjump', movOrder()) addToggle(tMov, 'Arc Infinite Jump', false, 'arcinfjump', 'unarcinfjump', movOrder()) addToggle(tMov, 'Arc Bunny Hop', false, 'arcbhop', 'unarcbhop', movOrder()) addToggle(tMov, 'Arc Float', false, 'arcfloat', 'unarcfloat', movOrder()) addToggle(tMov, 'Arc Bouncy', false, 'arcbouncy', 'unarcbouncy', movOrder()) addToggle(tMov, 'Arc Anti Gravity', false, 'arcantigrav', 'unarcantigrav', movOrder()) addToggle(tMov, 'Arc Dash', false, 'arcdash', 'unarcdash', movOrder()) addToggle(tMov, 'Arc Spider Climb', false, 'arcspider', 'unarcspider', movOrder()) addSlider(tMov, 'Arc Speed', 1, 500, 16, 'arcspeed', movOrder()) addSlider(tMov, 'Arc Hyper Speed', 1, 1000, 100, 'archyper', movOrder()) addSlider(tMov, 'Arc Jump Power', 1, 500, 50, 'arcjp', movOrder()) -- ===== TAB: Combat ===== local tCom = makeTab('Combat') local comIdx = 0 local function comOrder() comIdx = comIdx + 1 return comIdx end addSectionTitle(tCom, 'Attack', 5) addPlayerDropdown(tCom, 'Fling Player', 'fling', comOrder()) addPlayerDropdown(tCom, 'Fly Fling', 'flyfling', comOrder()) addPlayerDropdown(tCom, 'Walk Fling', 'walkfling', comOrder()) addPlayerDropdown(tCom, 'Loop Kill', 'loopkill', comOrder()) addPlayerDropdown(tCom, 'Handle Kill', 'handlekill', comOrder()) addSpacer(tCom, 4, comOrder()) addSectionTitle(tCom, 'Toggle Combat', 5) addToggle(tCom, 'Kill Aura', false, 'killaura', 'unkillaura', comOrder()) addToggle(tCom, 'Anti Fling', false, 'antifling', 'unantifling', comOrder()) addToggle(tCom, 'Loop Bring', false, 'loopbring', 'unloopbring', comOrder()) addToggle(tCom, 'Bring All', false, 'bringall', 'unbringall', comOrder()) addToggle(tCom, 'TP All', false, 'tpall', 'untpall', comOrder()) addSpacer(tCom, 4, comOrder()) addSectionTitle(tCom, 'Status Effects', 8) addPlayerDropdown(tCom, 'Freeze', 'freeze', comOrder()) addPlayerDropdown(tCom, 'Thaw', 'thaw', comOrder()) addPlayerDropdown(tCom, 'Jail', 'jail', comOrder()) addPlayerDropdown(tCom, 'Blind', 'blind', comOrder()) addPlayerDropdown(tCom, 'Spin', 'spin2', comOrder()) addPlayerDropdown(tCom, 'Seizure', 'seizure', comOrder()) addPlayerDropdown(tCom, 'Trip', 'trip', comOrder()) addPlayerDropdown(tCom, 'Punish', 'punish', comOrder()) addSpacer(tCom, 4, comOrder()) addSectionTitle(tCom, 'Arc Combat', 10) addToggle(tCom, 'Arc Kill Aura', false, 'arckaura', 'unarckaura', comOrder()) addPlayerDropdown(tCom, 'Arc Fling', 'arcfling', comOrder()) addPlayerDropdown(tCom, 'Arc Loop Kill', 'arcloopkill', comOrder()) addPlayerDropdown(tCom, 'Arc Jail', 'arcjail', comOrder()) addPlayerDropdown(tCom, 'Arc Freeze', 'arcfreeze', comOrder()) addPlayerDropdown(tCom, 'Arc Blind', 'arcblind', comOrder()) addPlayerDropdown(tCom, 'Arc Crash', 'arccrash', comOrder()) addPlayerDropdown(tCom, 'Arc Spin', 'arcspin2', comOrder()) addButton(tCom, 'Arc Bring All', 'arcbringall', comOrder()) addButton(tCom, 'Arc TP All', 'arctpall', comOrder()) addButton(tCom, 'Arc Server Lock', 'arcslock', comOrder()) addSlider(tCom, 'Arc Reach', 1, 100, 3, 'arcreach', comOrder()) addButton(tCom, 'Arc Explode', 'arcexplode', comOrder()) -- ===== TAB: Character ===== local tChar = makeTab('Character') local chrIdx = 0 local function chrOrder() chrIdx = chrIdx + 1 return chrIdx end addSectionTitle(tChar, 'God & Defence', 2) addToggle(tChar, 'God Mode', false, 'god', 'ungod', chrOrder()) addToggle(tChar, 'Invisible', false, 'invisible', 'visible', chrOrder()) addSpacer(tChar, 4, chrOrder()) addSectionTitle(tChar, 'Body Control', 5) addToggle(tChar, 'Strengthen', false, 'strengthen', 'unweaken', chrOrder()) addToggle(tChar, 'Weaken', false, 'weaken', 'unweaken', chrOrder()) addButton(tChar, 'Break Velocity', 'breakvelocity', chrOrder()) addButton(tChar, 'Refresh', 'refresh', chrOrder()) addButton(tChar, 'Reset', 'reset', chrOrder()) addSpacer(tChar, 4, chrOrder()) addSectionTitle(tChar, 'Scale & Size', 3) addSlider(tChar, 'Scale', 0.1, 10, 1, 'scale', chrOrder()) addPlayerDropdown(tChar, 'Tiny', 'tiny', chrOrder()) addPlayerDropdown(tChar, 'Giant', 'giant', chrOrder()) addPlayerDropdown(tChar, 'Arc Tiny', 'arctiny', chrOrder()) addPlayerDropdown(tChar, 'Arc Giant', 'arcgiant', chrOrder()) addSpacer(tChar, 4, chrOrder()) addSectionTitle(tChar, 'Animation & Pose', 10) addToggle(tChar, 'Dance', false, 'dance', 'undance', chrOrder()) addToggle(tChar, 'Freeze Anims', false, 'freezeanims', 'unfreezeanims', chrOrder()) addToggle(tChar, 'Ghost', false, 'ghost', 'unghost', chrOrder()) addPlayerDropdown(tChar, 'Head Throw', 'headthrow', chrOrder()) addPlayerDropdown(tChar, 'Spin', 'spin', chrOrder()) addButton(tChar, 'Unspin', 'unspin', chrOrder()) addButton(tChar, 'Sit', 'sit', chrOrder()) addPlayerDropdown(tChar, 'Bang', 'bang', chrOrder()) addPlayerDropdown(tChar, 'Spasm', 'spasm', chrOrder()) addPlayerDropdown(tChar, 'LOL Animation', 'lolanim', chrOrder()) addSpacer(tChar, 4, chrOrder()) addSectionTitle(tChar, 'Respawn', 3) addButton(tChar, 'Respawn', 'respawn', chrOrder()) addButton(tChar, 'Suicide', 'suicide', chrOrder()) addButton(tChar, 'Sit Walk', 'sitwalk', chrOrder()) addSlider(tChar, 'Arc Gravity', 0, 500, 196.2, 'arcgravity', chrOrder()) -- ===== TAB: Visuals ===== local tVis = makeTab('Visuals') local visIdx = 0 local function visOrder() visIdx = visIdx + 1 return visIdx end addSectionTitle(tVis, 'ESP', 7) addToggle(tVis, 'ESP', false, 'esp', 'noesp', visOrder()) addToggle(tVis, 'Team ESP', false, 'espteam', 'noesp', visOrder()) addToggle(tVis, 'Part ESP', false, 'partesp', 'unpartesp', visOrder()) addToggle(tVis, 'Smart ESP', false, 'smartesp', 'unsmartesp', visOrder()) addSlider(tVis, 'ESP Transparency', 0, 1, 0.3, 'esptransparency', visOrder()) addToggle(tVis, 'Locate', false, 'locate', 'nolocate', visOrder()) addSpacer(tVis, 4, visOrder()) addSectionTitle(tVis, 'Chams & Effects', 6) addToggle(tVis, 'Chams', false, 'chams', 'nochams', visOrder()) addToggle(tVis, 'Xray', false, 'xray', 'unxray', visOrder()) addToggle(tVis, 'Fullbright', false, 'fullbright', 'nofullbright', visOrder()) addToggle(tVis, 'Night Vision', false, 'nightvision', 'unnightvision', visOrder()) addToggle(tVis, 'Wireframe', false, 'wireframe', 'unwireframe', visOrder()) addToggle(tVis, 'No Fog', false, 'nofog', 'refog', visOrder()) addSpacer(tVis, 4, visOrder()) addSectionTitle(tVis, 'Camera', 6) addSlider(tVis, 'FOV', 1, 120, 70, 'fov', visOrder()) addButton(tVis, 'Free Camera', 'freecam', visOrder()) addButton(tVis, 'Stop Free Cam', 'unfreecam', visOrder()) addSlider(tVis, 'Free Cam Speed', 1, 500, 50, 'freecamspeed', visOrder()) addToggle(tVis, 'Shift Lock', false, 'enableshiftlock', 'disableshiftlock', visOrder()) addButton(tVis, 'Fix Camera', 'fixcam', visOrder()) addSpacer(tVis, 4, visOrder()) addSectionTitle(tVis, 'Arc Visuals', 14) addToggle(tVis, 'Arc ESP', false, 'arcesp', 'unarcesp', visOrder()) addToggle(tVis, 'Arc Item ESP', false, 'arcitemesp', 'unarcitemesp', visOrder()) addToggle(tVis, 'Arc Part ESP', false, 'arcpartesp', 'unarcpartesp', visOrder()) addToggle(tVis, 'Arc Vehicle ESP', false, 'arcvesp', 'unarcvesp', visOrder()) addToggle(tVis, 'Arc Mob ESP', false, 'arcmobesp', 'unarcmobesp', visOrder()) addToggle(tVis, 'Arc Chams', false, 'arcchams', 'unarcchams', visOrder()) addToggle(tVis, 'Arc Trail', false, 'arctrail', 'unarctrail', visOrder()) addToggle(tVis, 'Arc Night Vision', false, 'arcnv', 'unarcnv', visOrder()) addToggle(tVis, 'Arc Wireframe', false, 'arcwireframe', 'unarcwireframe', visOrder()) addToggle(tVis, 'Arc Fullbright', false, 'arcfb', 'unarcfb', visOrder()) addToggle(tVis, 'Arc User ESP', false, 'arcuseresp', 'unarcuseresp', visOrder()) addToggle(tVis, 'No Render', false, 'norender', 'render', visOrder()) addToggle(tVis, 'Crosshair', false, 'crosshair', 'nocrosshair', visOrder()) addToggle(tVis, '2022 Materials', false, '2022materials', 'un2022materials', visOrder()) -- ===== TAB: Unanchored ===== local tUA = makeTab('Unanchored') local uaIdx = 0 local function uaOrder() uaIdx = uaIdx + 1 return uaIdx end addSectionTitle(tUA, 'Unanchored Gadgets', 14) addToggle(tUA, 'Cannon', false, 'cannon', 'uncannon', uaOrder()) addToggle(tUA, 'Trowel', false, 'trowel', 'untrowel', uaOrder()) addToggle(tUA, 'Magnet', false, 'magnet', 'unmagnet', uaOrder()) addToggle(tUA, 'Helicopter', false, 'helicopter', 'unhelicopter', uaOrder()) addToggle(tUA, 'Jumper', false, 'jumper', 'unjumper', uaOrder()) addToggle(tUA, 'Black Hole', false, 'blackhole', 'unblackhole', uaOrder()) addToggle(tUA, 'Minigun', false, 'minigun', 'unminigun', uaOrder()) addToggle(tUA, 'Hoverboard', false, 'hoverboard', 'unhoverboard', uaOrder()) addToggle(tUA, 'Arrow', false, 'arrow', 'unarrow', uaOrder()) addToggle(tUA, 'Server Lift', false, 'slift', 'unslift', uaOrder()) addToggle(tUA, 'Orbit UA', false, 'orbitua', 'unorbitua', uaOrder()) addToggle(tUA, 'Mouse UA', false, 'mouseua', 'unmouseua', uaOrder()) addToggle(tUA, 'Funny UA', false, 'funnyua', 'unfunnyua', uaOrder()) addToggle(tUA, 'Fling Aura', false, 'aura', 'unaura', uaOrder()) addToggle(tUA, 'Orbital Lazer', false, 'orbitallazer', 'unorbitallazer', uaOrder()) addSpacer(tUA, 4, uaOrder()) addSectionTitle(tUA, 'Unanchored Control', 7) addButton(tUA, 'TP Unanchored', 'tpunanchored', uaOrder()) addToggle(tUA, 'Freeze Unanchored', false, 'freezeunanchored', 'thawunanchored', uaOrder()) addToggle(tUA, 'Cage UA', false, 'cageua', 'uncageua', uaOrder()) addToggle(tUA, 'Anti UA', false, 'antiua', 'unantiua', uaOrder()) addToggle(tUA, 'Zero Gravity UA', false, '0gravityua', 'un0gravityua', uaOrder()) addButton(tUA, 'Own All Parts', 'ownparts', uaOrder()) addButton(tUA, 'Claim All', 'claimall', uaOrder()) addSpacer(tUA, 4, uaOrder()) addSectionTitle(tUA, 'Unanchored Combat', 4) addToggle(tUA, 'Fling UA', false, 'flingua', 'unflingua', uaOrder()) addButton(tUA, 'Tumble', 'tumble', uaOrder()) addButton(tUA, 'Dropkick', 'dropkick', uaOrder()) addButton(tUA, 'Power Walk Fling', 'pwalkfling', uaOrder()) addSpacer(tUA, 4, uaOrder()) addSectionTitle(tUA, 'Desync', 3) addToggle(tUA, 'Desync', false, 'desync', 'undesync', uaOrder()) addToggle(tUA, 'Arc Desync', false, 'arcdesync', 'unarcdesync', uaOrder()) addButton(tUA, 'Teleport Back', 'desync tpback', uaOrder()) -- ===== TAB: Server ===== local tSrv = makeTab('Server') local srvIdx = 0 local function srvOrder() srvIdx = srvIdx + 1 return srvIdx end addSectionTitle(tSrv, 'Server', 6) addButton(tSrv, 'Server Info', 'serverinfo', srvOrder()) addButton(tSrv, 'Server Hop', 'serverhop', srvOrder()) addButton(tSrv, 'Rejoin', 'rejoin', srvOrder()) addButton(tSrv, 'Game TP', 'gametp', srvOrder()) addButton(tSrv, 'Get Job ID', 'jobid', srvOrder()) addButton(tSrv, 'Exit', 'exit', srvOrder()) addSpacer(tSrv, 4, srvOrder()) addSectionTitle(tSrv, 'Protection', 7) addToggle(tSrv, 'Anti AFK', false, 'antiafk', 'unantiafk', srvOrder()) addToggle(tSrv, 'Anti Lag', false, 'antilag', 'unantilag', srvOrder()) addToggle(tSrv, 'Auto Rejoin', false, 'autorejoin', 'unautorejoin', srvOrder()) addToggle(tSrv, 'Client Anti Kick', false, 'clientantikick', 'unclientantikick', srvOrder()) addToggle(tSrv, 'Client Anti TP', false, 'clientantiteleport', 'unclientantiteleport', srvOrder()) addToggle(tSrv, 'Allow Rejoin', false, 'allowrejoin', 'unallowrejoin', srvOrder()) addButton(tSrv, 'Cancel Teleport', 'cancelteleport', srvOrder()) addSpacer(tSrv, 4, srvOrder()) addSectionTitle(tSrv, 'Performance', 3) addSlider(tSrv, 'FPS Cap', 1, 999, 60, 'setfpscap', srvOrder()) addSlider(tSrv, 'Volume', 0, 1, 0.5, 'volume', srvOrder()) addSlider(tSrv, 'Replication Lag', 0, 500, 0, 'replicationlag', srvOrder()) -- ===== TAB: Tools ===== local tTool = makeTab('Tools') local toolIdx = 0 local function toolOrder() toolIdx = toolIdx + 1 return toolIdx end addSectionTitle(tTool, 'Tools', 8) addButton(tTool, 'Get All Tools', 'tools', toolOrder()) addButton(tTool, 'Remove Tools', 'notools', toolOrder()) addButton(tTool, 'Copy Tools', 'copytools', toolOrder()) addButton(tTool, 'Drop All Tools', 'droptools', toolOrder()) addButton(tTool, 'Equip All', 'equiptools', toolOrder()) addButton(tTool, 'Building Tools', 'btools', toolOrder()) addButton(tTool, 'F3X Tools', 'f3x', toolOrder()) addButton(tTool, 'Touch Interests', 'touchinterests', toolOrder()) addSpacer(tTool, 4, toolOrder()) addSectionTitle(tTool, 'Arc Tools', 5) addToggle(tTool, 'Arc Tool Grab', false, 'arctoolgrab', 'unarctoolgrab', toolOrder()) addButton(tTool, 'Arc Tool Copy', 'arctoolcopy', toolOrder()) addToggle(tTool, 'Arc Auto Farm', false, 'arcautofarm', 'unarcautofarm', toolOrder()) addToggle(tTool, 'Arc No Prompts', false, 'arcnpp', 'unarcnpp', toolOrder()) addButton(tTool, 'Delete Held Tool', 'deleteselectedtool', toolOrder()) addSpacer(tTool, 4, toolOrder()) addSectionTitle(tTool, 'Tool Fun', 8) addButton(tTool, 'Spaz Tools', 'spaztools', toolOrder()) addButton(tTool, 'Spin Tools', 'toolspin', toolOrder()) addButton(tTool, 'Throw Tools', 'toolthrow', toolOrder()) addButton(tTool, 'Scatter Tools', 'toolscatter', toolOrder()) addButton(tTool, 'Snake Tools', 'toolsnake', toolOrder()) addButton(tTool, 'Bounce Tools', 'toolbounce', toolOrder()) addButton(tTool, 'Sort Tools', 'toolsort', toolOrder()) addButton(tTool, 'Orbit Tools', 'orbitttools', toolOrder()) -- ===== TAB: World ===== local tWorld = makeTab('World') local wIdx = 0 local function wOrder() wIdx = wIdx + 1 return wIdx end addSectionTitle(tWorld, 'Lighting', 6) addSlider(tWorld, 'Time', 0, 24, 14, 'time', wOrder()) addButton(tWorld, 'Day', 'day', wOrder()) addButton(tWorld, 'Night', 'night', wOrder()) addSlider(tWorld, 'Brightness', 0, 10, 2, 'brightness', wOrder()) addSlider(tWorld, 'Ambient', 0, 255, 128, 'ambient', wOrder()) addButton(tWorld, 'Restore Lighting', 'restorelighting', wOrder()) addSpacer(tWorld, 4, wOrder()) addSectionTitle(tWorld, 'World Actions', 4) addButton(tWorld, 'Remove Terrain', 'removeterrain', wOrder()) addButton(tWorld, 'Delete Invisible Parts', 'deleteinvisparts', wOrder()) addButton(tWorld, 'Unlock Workspace', 'unlockws', wOrder()) addButton(tWorld, 'Lock Workspace', 'lockws', wOrder()) -- ===== TAB: Effects ===== local tFx = makeTab('Effects') local fxIdx = 0 local function fxOrder() fxIdx = fxIdx + 1 return fxIdx end addSectionTitle(tFx, 'Client Effects', 8) addToggle(tFx, 'Trail', false, 'trail', 'untrail', fxOrder()) addToggle(tFx, 'Particle Aura', false, 'particleaura', 'unparticleaura', fxOrder()) addToggle(tFx, 'Glow', false, 'glow', 'unglow', fxOrder()) addToggle(tFx, 'Highlight', false, 'highlight', 'unhighlight', fxOrder()) addToggle(tFx, 'Pulse', false, 'pulse', 'unpulse', fxOrder()) addToggle(tFx, 'Crown', false, 'crown', 'uncrown', fxOrder()) addToggle(tFx, 'Halo', false, 'halo', 'unhalo', fxOrder()) addToggle(tFx, 'Wings', false, 'wings', 'unwings', fxOrder()) addSpacer(tFx, 4, fxOrder()) addSectionTitle(tFx, 'Arc Effects', 4) addToggle(tFx, 'Arc Spin', false, 'arcspin2', 'unarcspin2', fxOrder()) addToggle(tFx, 'Arc Seizure', false, 'arcseizure', 'unarcseizure', fxOrder()) addToggle(tFx, 'Arc Fire', false, 'arcfire', 'unarcfire', fxOrder()) addToggle(tFx, 'Arc Sparkles', false, 'arcsparkles', 'unarcsparkles', fxOrder()) addToggle(tFx, 'Arc Smoke', false, 'arcsmoke', 'unarcsmoke', fxOrder()) addSpacer(tFx, 4, fxOrder()) addSectionTitle(tFx, 'Server-Side Effects', 16) addIdInput(tFx, 'SS Hat', 'Hat ID...', 'sshat', fxOrder()) addIdInput(tFx, 'SS Cape', 'Cape ID...', 'sscape', fxOrder()) addIdInput(tFx, 'SS Wings', 'Wing ID...', 'sswing', fxOrder()) addIdInput(tFx, 'SS Music', 'Music ID...', 'ssmusic', fxOrder()) addIdInput(tFx, 'SS Message', 'Message...', 'ssmsg', fxOrder()) addButton(tFx, 'SS Ring', 'ssring', fxOrder()) addButton(tFx, 'SS Light', 'sslight', fxOrder()) addButton(tFx, 'SS Particles', 'ssparticles', fxOrder()) addButton(tFx, 'SS Crosshair', 'sscrosshair', fxOrder()) addButton(tFx, 'SS Arrow', 'ssarrow', fxOrder()) addButton(tFx, 'SS Orb', 'ssorb', fxOrder()) addButton(tFx, 'SS Floating', 'ssfloating', fxOrder()) addButton(tFx, 'SS Aura', 'ssaura', fxOrder()) addButton(tFx, 'SS Crown', 'sscrown', fxOrder()) addButton(tFx, 'SS Trail', 'sstrail', fxOrder()) addButton(tFx, 'SS Halo', 'sshalo', fxOrder()) addButton(tFx, 'Cleanup SS', 'cleanupss', fxOrder()) -- ===== TAB: Chat ===== local tChat = makeTab('Chat') local chatIdx = 0 local function chatOrder() chatIdx = chatIdx + 1 return chatIdx end addSectionTitle(tChat, 'Chat', 5) addIdInput(tChat, 'Chat Message', 'Message...', 'chat', chatOrder()) addIdInput(tChat, 'Whisper To Player', 'Player;Message...', 'whisper', chatOrder()) addToggle(tChat, 'Spam Chat', false, 'spam', 'nospam', chatOrder()) addSlider(tChat, 'Spam Speed', 0.1, 5, 1, 'spamspeed', chatOrder()) addToggle(tChat, 'PM Spam', false, 'pmspam', 'nopmspam', chatOrder()) addSpacer(tChat, 4, chatOrder()) addSectionTitle(tChat, 'Voice', 3) addToggle(tChat, 'Mute Boombox', false, 'muteboombox', 'unmuteboombox', chatOrder()) addPlayerDropdown(tChat, 'Mute VC Player', 'mutevc', chatOrder()) addPlayerDropdown(tChat, 'Unmute VC Player', 'unmutevc', chatOrder()) addSpacer(tChat, 4, chatOrder()) addSectionTitle(tChat, 'Info', 3) addPlayerDropdown(tChat, 'Chat Age', 'chatage', chatOrder()) addPlayerDropdown(tChat, 'Chat Join Date', 'chatjoindate', chatOrder()) addPlayerDropdown(tChat, 'Headsit', 'headsit', chatOrder()) -- ===== TAB: Fun ===== local tFun = makeTab('Fun') local funIdx = 0 local function funOrder() funIdx = funIdx + 1 return funIdx end addSectionTitle(tFun, 'Animations', 5) addIdInput(tFun, 'Play Animation', 'Animation ID...', 'animation', funOrder()) addIdInput(tFun, 'Play Emote', 'Emote name...', 'emote', funOrder()) addToggle(tFun, 'Loop Animation', false, 'loopanimation', 'unloopanimation', funOrder()) addSlider(tFun, 'Anim Speed', 0.1, 5, 1, 'animspeed', funOrder()) addButton(tFun, 'Stop Animations', 'stopanimations', funOrder()) addSpacer(tFun, 4, funOrder()) addSectionTitle(tFun, 'Music & Sound', 2) addIdInput(tFun, 'Play Music', 'Music ID...', 'music', funOrder()) addIdInput(tFun, 'Arc Music', 'Music ID...', 'arcmusic', funOrder()) addSpacer(tFun, 4, funOrder()) addSectionTitle(tFun, 'Auto & Misc', 6) addToggle(tFun, 'Auto Clicker', false, 'autoclick', 'unautoclick', funOrder()) addIdInput(tFun, 'Name Spoof', 'New name...', 'namespoof', funOrder()) addPlayerDropdown(tFun, 'Scare', 'scare', funOrder()) addPlayerDropdown(tFun, 'Click Delete', 'clickdelete', funOrder()) addButton(tFun, 'Remove Ads', 'removeads', funOrder()) addButton(tFun, 'Steal Fly', 'stealfly', funOrder()) -- ===== TAB: Settings ===== local tSet = makeTab('Settings') local setIdx = 0 local function setOrder() setIdx = setIdx + 1 return setIdx end addSectionTitle(tSet, 'GUI & Panels', 8) addButton(tSet, 'Open Console', 'console', setOrder()) addButton(tSet, 'Remote Spy', 'remotespy', setOrder()) addButton(tSet, 'Explorer (DEX)', 'explorer', setOrder()) addButton(tSet, 'Executor', 'executor', setOrder()) addButton(tSet, 'Audio Logger', 'audiologger', setOrder()) addButton(tSet, 'Open Logs', 'logs', setOrder()) addButton(tSet, 'Chat Logs', 'chatlogs', setOrder()) addButton(tSet, 'Join Logs', 'joinlogs', setOrder()) addSpacer(tSet, 4, setOrder()) addSectionTitle(tSet, 'Command System', 5) addButton(tSet, 'Break All Loops', 'breakloops', setOrder()) addIdInput(tSet, 'Add Alias', 'alias;cmd...', 'addalias', setOrder()) addIdInput(tSet, 'Remove Alias', 'alias...', 'removealias', setOrder()) addButton(tSet, 'Clear Aliases', 'clraliases', setOrder()) addButton(tSet, 'Hide Arc Yield', 'hideiy', setOrder()) addSpacer(tSet, 4, setOrder()) addSectionTitle(tSet, 'Player Info', 6) addButton(tSet, 'Copy Name', 'copyname', setOrder()) addButton(tSet, 'Copy User ID', 'copyid', setOrder()) addButton(tSet, 'Copy Place ID', 'copyplaceid', setOrder()) addButton(tSet, 'Copy Game ID', 'copygameid', setOrder()) addButton(tSet, 'Account Age', 'age', setOrder()) addButton(tSet, 'Join Date', 'joindate', setOrder()) addSpacer(tSet, 4, setOrder()) addSectionTitle(tSet, 'Display', 5) addToggle(tSet, 'FPS Counter', false, 'fps', 'nofps', setOrder()) addToggle(tSet, 'Coordinates', false, 'coords', 'nocoords', setOrder()) addToggle(tSet, 'Speedometer', false, 'speedometer', 'nospeedometer', setOrder()) addToggle(tSet, 'Ping Counter', false, 'ping', 'noping', setOrder()) addToggle(tSet, 'Watermark', false, 'showwatermark', 'hidewatermark', setOrder()) addToggle(tSet, 'No Prompts', false, 'noprompts', 'showprompts', setOrder()) -- ==================== OPEN ANIMATION ==================== showTab('Movement') frame.BackgroundTransparency = 1 local smallSz = UDim2.new(0, _W * 0.9, 0, _H * 0.9) frame.Size = smallSz frame.Visible = true _tw(frame, { BackgroundTransparency = 0, Size = UDim2.new(0, _W, 0, _H), }, 0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out) ArcCmdGUI.Open = true -- ==================== ANIMATED REFLECTIONS ==================== if not ArcCmdGUI._reflectionConn then local _refT = 0 ArcCmdGUI._reflectionConn = RunService.Heartbeat:Connect(function(dt) if not ArcCmdGUI.Open then return end _refT = _refT + dt for _, el in ipairs(_glassElements) do if el and el.Parent then local shine2 = el:FindFirstChild('GlassShine2') if shine2 then local sweep = math.sin(_refT * 0.4) * 0.5 shine2.Position = UDim2.new(sweep, 0, 0, 0) shine2.BackgroundTransparency = 0.93 + math.sin(_refT * 0.6) * 0.03 end local gloss = el:FindFirstChild('GlassGloss') if gloss then gloss.BackgroundTransparency = 0.91 + math.sin(_refT * 0.8 + 1.5) * 0.04 end end end end) end end -- ==================== CLOSE GUI ==================== function ArcCmdGUI._close() if not ArcCmdGUI.Open then return end ArcCmdGUI.Open = false local frame = ArcCmdGUI.Frame if frame then local _W = frame.Size.X.Offset local _H = frame.Size.Y.Offset local smallSz = UDim2.new(0, _W * 0.9, 0, _H * 0.9) _tw(frame, { BackgroundTransparency = 1, Size = smallSz, }, 0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.In) wait(0.22) frame.Visible = false end -- Do NOT destroy the GUI or disconnect K-conn so pressing K reopens it end -- ======================== ARC YIELD GUI SYSTEM LOADED ======================== notify("Arc Yield", "GUI System loaded! Type 'gui' to open. Press K to toggle.") -- ============================================================================ -- NEON MOUSE CURSOR SYSTEM -- Custom neon cursor that replaces default mouse, morphs on hover -- ============================================================================ pcall(function() local Players = game:GetService('Players') local UserInputService = game:GetService('UserInputService') local RunService = game:GetService('RunService') local TweenService = game:GetService('TweenService') local LocalPlayer = Players.LocalPlayer local NeonCursor = { Enabled = false, CursorFrame = nil, CursorGlow = nil, CursorDot = nil, TrailParts = {}, Connection = nil, HoverConn = nil, _hoverTarget = nil, } function NeonCursor:Create() if self.CursorFrame then return end local sg = Instance.new('ScreenGui') sg.Name = 'NeonCursor_' .. math.random(1000, 9999) sg.ResetOnSpawn = false sg.DisplayOrder = 9999 sg.IgnoreGuiInset = true sg.ZIndexBehavior = Enum.ZIndexBehavior.Sibling sg.Parent = (get_hidden_gui and get_hidden_gui()) or game:GetService('CoreGui') -- Outer glow ring self.CursorGlow = Instance.new('Frame') self.CursorGlow.Name = 'CursorGlow' self.CursorGlow.Size = UDim2.new(0, 32, 0, 32) self.CursorGlow.BackgroundColor3 = Color3.fromRGB(40, 120, 255) self.CursorGlow.BackgroundTransparency = 0.5 self.CursorGlow.BorderSizePixel = 0 self.CursorGlow.ZIndex = 100 self.CursorGlow.Parent = sg local glowCorner = Instance.new('UICorner') glowCorner.CornerRadius = UDim.new(1, 0) glowCorner.Parent = self.CursorGlow -- Outer glow stroke local glowStroke = Instance.new('UIStroke') glowStroke.Color = Color3.fromRGB(60, 150, 255) glowStroke.Thickness = 2 glowStroke.Transparency = 0.3 glowStroke.Parent = self.CursorGlow -- Inner ring self.CursorFrame = Instance.new('Frame') self.CursorFrame.Name = 'NeonCursor' self.CursorFrame.Size = UDim2.new(0, 18, 0, 18) self.CursorFrame.BackgroundColor3 = Color3.fromRGB(20, 80, 220) self.CursorFrame.BackgroundTransparency = 0.3 self.CursorFrame.BorderSizePixel = 0 self.CursorFrame.ZIndex = 101 self.CursorFrame.Parent = sg local curCorner = Instance.new('UICorner') curCorner.CornerRadius = UDim.new(1, 0) curCorner.Parent = self.CursorFrame -- Inner stroke local innerStroke = Instance.new('UIStroke') innerStroke.Color = Color3.fromRGB(100, 180, 255) innerStroke.Thickness = 1.5 innerStroke.Transparency = 0.2 innerStroke.Parent = self.CursorFrame -- Center dot self.CursorDot = Instance.new('Frame') self.CursorDot.Name = 'CursorDot' self.CursorDot.Size = UDim2.new(0, 4, 0, 4) self.CursorDot.Position = UDim2.new(0.5, -2, 0.5, -2) self.CursorDot.BackgroundColor3 = Color3.fromRGB(200, 230, 255) self.CursorDot.BackgroundTransparency = 0.1 self.CursorDot.BorderSizePixel = 0 self.CursorDot.ZIndex = 102 self.CursorDot.Parent = self.CursorFrame local dotCorner = Instance.new('UICorner') dotCorner.CornerRadius = UDim.new(1, 0) dotCorner.Parent = self.CursorDot -- Crosshair lines for i = 1, 4 do local line = Instance.new('Frame') line.Name = 'CrossLine_' .. i line.BackgroundColor3 = Color3.fromRGB(80, 170, 255) line.BackgroundTransparency = 0.4 line.BorderSizePixel = 0 line.ZIndex = 101 line.Parent = self.CursorGlow local lCorner = Instance.new('UICorner') lCorner.CornerRadius = UDim.new(1, 0) lCorner.Parent = line if i == 1 then line.Size = UDim2.new(0, 1, 0, 8) line.Position = UDim2.new(0.5, -0.5, 0, -10) elseif i == 2 then line.Size = UDim2.new(0, 1, 0, 8) line.Position = UDim2.new(0.5, -0.5, 1, 2) elseif i == 3 then line.Size = UDim2.new(0, 8, 0, 1) line.Position = UDim2.new(0, -10, 0.5, -0.5) else line.Size = UDim2.new(0, 8, 0, 1) line.Position = UDim2.new(1, 2, 0.5, -0.5) end end self._gui = sg end function NeonCursor:SetMorphState(state) -- states: 'default', 'hover', 'press', 'link' if not self.CursorFrame then return end local twInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quart, Enum.EasingDirection.Out) if state == 'default' then TweenService:Create(self.CursorGlow, twInfo, { Size = UDim2.new(0, 32, 0, 32), BackgroundTransparency = 0.5, BackgroundColor3 = Color3.fromRGB(40, 120, 255), }):Play() TweenService:Create(self.CursorFrame, twInfo, { Size = UDim2.new(0, 18, 0, 18), BackgroundTransparency = 0.3, BackgroundColor3 = Color3.fromRGB(20, 80, 220), }):Play() elseif state == 'hover' then TweenService:Create(self.CursorGlow, twInfo, { Size = UDim2.new(0, 38, 0, 38), BackgroundTransparency = 0.35, BackgroundColor3 = Color3.fromRGB(60, 180, 255), }):Play() TweenService:Create(self.CursorFrame, twInfo, { Size = UDim2.new(0, 22, 0, 22), BackgroundTransparency = 0.15, BackgroundColor3 = Color3.fromRGB(30, 120, 255), }):Play() elseif state == 'press' then TweenService:Create(self.CursorGlow, twInfo, { Size = UDim2.new(0, 26, 0, 26), BackgroundTransparency = 0.25, BackgroundColor3 = Color3.fromRGB(100, 200, 255), }):Play() TweenService:Create(self.CursorFrame, twInfo, { Size = UDim2.new(0, 14, 0, 14), BackgroundTransparency = 0.1, BackgroundColor3 = Color3.fromRGB(60, 160, 255), }):Play() elseif state == 'link' then TweenService:Create(self.CursorGlow, twInfo, { Size = UDim2.new(0, 36, 0, 36), BackgroundTransparency = 0.4, BackgroundColor3 = Color3.fromRGB(40, 200, 120), }):Play() TweenService:Create(self.CursorFrame, twInfo, { Size = UDim2.new(0, 20, 0, 20), BackgroundTransparency = 0.2, BackgroundColor3 = Color3.fromRGB(20, 160, 80), }):Play() end end function NeonCursor:Enable() if self.Enabled then return end self:Create() self.Enabled = true -- Hide real cursor UserInputService.MouseIconEnabled = false -- Track mouse position self.Connection = RunService.RenderStepped:Connect(function() if not self.Enabled or not self.CursorFrame then return end local mouse = LocalPlayer:GetMouse() local pos = UserInputService:GetMouseLocation() local offset = 9 self.CursorGlow.Position = UDim2.new(0, pos.X - 16, 0, pos.Y - 16) self.CursorFrame.Position = UDim2.new(0, pos.X - offset, 0, pos.Y - offset) end) -- Morph on hover self.HoverConn = UserInputService.InputBegan:Connect(function(input) if not self.Enabled then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then self:SetMorphState('press') end end) UserInputService.InputEnded:Connect(function(input) if not self.Enabled then return end if input.UserInputType == Enum.UserInputType.MouseButton1 then self:SetMorphState('default') end end) -- Detect hover over GUI elements spawn(function() while self.Enabled do local hovering = false local mouse = LocalPlayer:GetMouse() local target = mouse.Target -- Check if hovering over GUI local hoveredGui = nil pcall(function() hoveredGui = game:GetService('GuiService'):GetGuiObjectsAtPosition( UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y ) end) if hoveredGui and #hoveredGui > 1 then local obj = hoveredGui[2] if obj then local isButton = (obj:IsA('TextButton') or obj:IsA('ImageButton')) local isInput = obj:IsA('TextBox') local isClickable = false pcall(function() if obj.Active then isClickable = true end end) if isButton then self:SetMorphState('hover') hovering = true elseif isInput then self:SetMorphState('link') hovering = true elseif isClickable then self:SetMorphState('hover') hovering = true end end end if not hovering then self:SetMorphState('default') end wait(0.15) end end) end function NeonCursor:Disable() if not self.Enabled then return end self.Enabled = false UserInputService.MouseIconEnabled = true if self.Connection then self.Connection:Disconnect() self.Connection = nil end if self.HoverConn then self.HoverConn:Disconnect() self.HoverConn = nil end if self._gui then pcall(function() self._gui:Destroy() end) self._gui = nil end self.CursorFrame = nil self.CursorGlow = nil self.CursorDot = nil end function NeonCursor:Toggle() if self.Enabled then self:Disable() else self:Enable() end return self.Enabled end -- Expose globally getgenv().NeonCursor = NeonCursor end) -- ============================================================================ -- CLIENT VISUAL EFFECTS SYSTEM -- Post-processing effects, particles, and shader-like enhancements -- ============================================================================ pcall(function() local Lighting = game:GetService('Lighting') local RunService = game:GetService('RunService') local Players = game:GetService('Players') local TweenService = game:GetService('TweenService') local LocalPlayer = Players.LocalPlayer local ClientFX = { Effects = {}, ParticlesEnabled = false, ParticleConn = nil, CharacterConn = nil, } function ClientFX:EnableBloom() if self.Effects.Bloom then return end local bloom = Instance.new('BloomEffect') bloom.Name = 'ArcYieldBloom' bloom.Intensity = 0.5 bloom.Size = 24 bloom.Threshold = 1.2 bloom.Parent = Lighting self.Effects.Bloom = bloom end function ClientFX:DisableBloom() if self.Effects.Bloom then self.Effects.Bloom:Destroy() self.Effects.Bloom = nil end end function ClientFX:EnableColorCorrection() if self.Effects.ColorCorrection then return end local cc = Instance.new('ColorCorrectionEffect') cc.Name = 'ArcYieldCC' cc.Brightness = 0.02 cc.Contrast = 0.05 cc.Saturation = 0.1 cc.TintColor = Color3.fromRGB(255, 248, 245) cc.Parent = Lighting self.Effects.ColorCorrection = cc end function ClientFX:DisableColorCorrection() if self.Effects.ColorCorrection then self.Effects.ColorCorrection:Destroy() self.Effects.ColorCorrection = nil end end function ClientFX:EnableSunRays() if self.Effects.SunRays then return end local sr = Instance.new('SunRaysEffect') sr.Name = 'ArcYieldSunRays' sr.Intensity = 0.03 sr.Spread = 0.6 sr.Parent = Lighting self.Effects.SunRays = sr end function ClientFX:DisableSunRays() if self.Effects.SunRays then self.Effects.SunRays:Destroy() self.Effects.SunRays = nil end end function ClientFX:EnableDepthOfField() if self.Effects.DOField then return end local dof = Instance.new('DepthOfFieldEffect') dof.Name = 'ArcYieldDOF' dof.FarIntensity = 0.05 dof.FocusDistance = 20 dof.InFocusRadius = 15 dof.NearIntensity = 0 dof.Parent = Lighting self.Effects.DOField = dof end function ClientFX:DisableDepthOfField() if self.Effects.DOField then self.Effects.DOField:Destroy() self.Effects.DOField = nil end end function ClientFX:EnableAll() self:EnableBloom() self:EnableColorCorrection() self:EnableSunRays() self:EnableParticles() end function ClientFX:DisableAll() self:DisableBloom() self:DisableColorCorrection() self:DisableSunRays() self:DisableDepthOfField() self:DisableParticles() end function ClientFX:EnableParticles() if self.ParticlesEnabled then return end self.ParticlesEnabled = true local function attachParticles(character) if not character then return end local hrp = character:FindFirstChild('HumanoidRootPart') if not hrp then return end -- Aura particles (floating around character) local aura = Instance.new('ParticleEmitter') aura.Name = 'ArcYieldAura' aura.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(40, 120, 255)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(80, 180, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(40, 100, 220)), }) aura.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.3), NumberSequenceKeypoint.new(0.5, 0.6), NumberSequenceKeypoint.new(1, 0), }) aura.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.8), NumberSequenceKeypoint.new(0.3, 0.5), NumberSequenceKeypoint.new(1, 1), }) aura.Lifetime = NumberRange.new(1.5, 3) aura.Rate = 15 aura.Speed = NumberRange.new(1, 3) aura.SpreadAngle = Vector2.new(180, 180) aura.RotSpeed = NumberRange.new(-60, 60) aura.LightEmission = 0.8 aura.LightInfluence = 0.3 aura.Parent = hrp -- Trail sparkles local trail = Instance.new('ParticleEmitter') trail.Name = 'ArcYieldTrail' trail.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 200, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(50, 130, 255)), }) trail.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.15), NumberSequenceKeypoint.new(0.5, 0.25), NumberSequenceKeypoint.new(1, 0), }) trail.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.6), NumberSequenceKeypoint.new(0.5, 0.8), NumberSequenceKeypoint.new(1, 1), }) trail.Lifetime = NumberRange.new(0.8, 1.5) trail.Rate = 8 trail.Speed = NumberRange.new(0.5, 1.5) trail.SpreadAngle = Vector2.new(30, 30) trail.LightEmission = 1 trail.LightInfluence = 0.2 trail.Parent = hrp end -- Attach to current character if LocalPlayer.Character then attachParticles(LocalPlayer.Character) end -- Watch for character spawns self.CharacterConn = LocalPlayer.CharacterAdded:Connect(function(char) wait(1) attachParticles(char) end) end function ClientFX:DisableParticles() if not self.ParticlesEnabled then return end self.ParticlesEnabled = false if self.CharacterConn then self.CharacterConn:Disconnect() self.CharacterConn = nil end -- Remove particles from current character pcall(function() if LocalPlayer.Character then local hrp = LocalPlayer.Character:FindFirstChild('HumanoidRootPart') if hrp then local aura = hrp:FindFirstChild('ArcYieldAura') if aura then aura:Destroy() end local trail = hrp:FindFirstChild('ArcYieldTrail') if trail then trail:Destroy() end end end end) end -- Expose globally getgenv().ClientFX = ClientFX end)