--[[ _,.----. ___ .' .' - \ .-._ .'=.'\ _,..---._ /==/ , ,-'/==/ \|==| /==/, - \ |==|- | .|==|,| / - |==| _ _\ |==|_ `-' \==| \/ , |==| .=. | |==| _ , |==|- , _ |==|,| | -| \==\. /==| _ /\ |==| '=' / `-.`.___.-'/==/ / / , /==|-, _`/ `--`./ `--``-.`.____.' Cmd v1.2 github.com/lxte/cmd ]] if (not game:IsLoaded()) then game.Loaded:Wait(); end local Cmd = (getgenv or function() return (_G) end) local Speed, Admins = (tick()), ({}); local Settings = ({ Prefix = (";"), ChatPrefix = ("!"), Seperator = (","), Version = ("1.2"), CustomUI = (Cmd().CustomUI or "rbxassetid://127095266446147"), Aliases = ({}), Waypoints = ({}), Events = ({ ["AutoExecute"] = ({}), ["Chatted"] = ({}), ["CharacterAdded"] = ({}), ["Died"] = ({}), ["Damaged"] = ({}), ["PlayerRemoved"] = ({}), }), Theme = ({ Mode = "Dark", Transparency = 0, -- Frames: Primary = Color3.fromRGB(18, 22, 30), Secondary = Color3.fromRGB(26, 30, 38), Actions = Color3.fromRGB(36, 40, 48), Component = Color3.fromRGB(26, 30, 38), Highlight = Color3.fromRGB(210, 140, 90), ScrollBar = Color3.fromRGB(12, 14, 18), -- Text: Title = Color3.fromRGB(235, 240, 250), Description = Color3.fromRGB(160, 165, 175), -- Outlines: Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(36, 40, 48), -- Image: Icon = Color3.fromRGB(235, 240, 250), }), Toggles = ({ FillCap = true, Developer = false, ClampWindowDrag = true, CommandBarOpenButtonShown = true, Notify = true, Popups = true, RemoveCommandBars = false, Recommendation = true, InternalUI = false, StaffNotifier = true, IgnoreSeated = true, UnsureVulnDetector = false, IgnoreVulnerabilityScans = false, }), Configs = ({}), UIScale = 1, }) local Connect = (game.Loaded.Connect); local CWait = (game.Loaded.Wait); local Clone = (game.Clone); local Destroy = (game.Destroy); local Changed = (game.GetPropertyChangedSignal); local GetService = function(Property) local Service = (game.GetService); local Reference = (cloneref or function(Reference) return Reference end) return Reference(Service(game, Property)); end local Services = { Players = GetService("Players"), Lighting = GetService("Lighting"), Core = GetService("CoreGui"), Teams = GetService("CoreGui"), Insert = GetService("InsertService"), Http = GetService("HttpService"), Run = GetService("RunService"), Input = GetService("UserInputService"), Tween = GetService("TweenService"), Teleport = GetService("TeleportService"), Chat = GetService("TextChatService"), Replicated = GetService("ReplicatedStorage"), Market = GetService("MarketplaceService"), Starter = GetService("StarterGui"), ContextActionService = GetService("ContextActionService"), Sound = GetService("SoundService"), AssetService = GetService("AssetService"), Stats = GetService("Stats"), GroupService = GetService("GroupService"), GuiService = GetService("GuiService"), VirtualUser = GetService("VirtualUser"), } local Vuln = ({ Keywords = ({ "destroy", "delete", "remove", "clear", "hide", "purge", "erase", "despawn", "disable", "dispose", "wipe", "explode" }), Abbreviated = ({ "del", "rm", "clr" }), Blocked = ({ "RemoveStat", "Clear" }), FoundRemotes = ({}), }) local UserPlatform do local Successful, Platform = pcall(function() return Services.Input:GetPlatform(); end) if (not Platform or not Successful) then Platform = Enum.Platform.IOS end UserPlatform = Platform end local Methods = { Get = function(URL) local Method = game.HttpGet return Method(game, URL); end, Parent = function(Child) local PlayerGui = (Services.Players.LocalPlayer.PlayerGui); xpcall(function() Child.Parent = (gethui and gethui()) or (Services.Core) or (PlayerGui); end, function() Child.Parent = PlayerGui end) end, Check = function() if (Settings.Toggles.IgnoreVulnerabilityScans) then return end local LocalPlayer = (Services.Players.LocalPlayer); local Backpack = LocalPlayer:WaitForChild("Backpack"); local Character = LocalPlayer.Character or CWait(LocalPlayer.CharacterAdded); if (Services.Replicated:FindFirstChild("DeleteCar")) then return true elseif (Character:FindFirstChild("HandlessSegway")) then return true elseif (Backpack:FindFirstChild("Building Tools")) then return true else for _, Descendant in next, game:GetDescendants() do if (Descendant:IsA("RemoteEvent") or Descendant:IsA("UnreliableRemoteEvent")) and (not table.find(Vuln.Blocked, Descendant.Name)) then local HasKeyword = false for _, Keyword in next, Vuln.Keywords do local Found = string.lower(Descendant.Name):find(Keyword); if Found then HasKeyword = true break end end if (not HasKeyword) then for _, Abbreviated in next, Vuln.Abbreviated do local Found = (string.sub(Descendant.Name, 1, #Abbreviated):lower() == Abbreviated:lower()); if Found then HasKeyword = true break end end end if (HasKeyword) then if (Descendant.Name == "DestroySegway" or Settings.Toggles.UnsureVulnDetector) then table.insert(Vuln.FoundRemotes, Descendant); end end end end if (#Vuln.FoundRemotes > 0) then return true end end end, Destroy = function(Part) local LocalPlayer = (Services.Players.LocalPlayer); if (Services.Replicated:FindFirstChild("DeleteCar")) then Services.Replicated.DeleteCar:FireServer(Part); elseif (Services.Replicated:FindFirstChild("GuiHandler")) then Services.Replicated.GuiHandler:FireServer(false, Part); elseif (LocalPlayer.Backpack:FindFirstChild("Building Tools")) then LocalPlayer.Backpack:FindFirstChild("Building Tools").SyncAPI.ServerEndpoint:InvokeServer("Remove", { [1] = Part }); else local PossibleArguments = ({ { Part }, { { Part } }, { Value = Part }, { Parts = { Part } }, { [1] = { [1] = Part } }, { Part = Part }, { Target = Part }, Part, (function() local Return = {} for Index = 1, 10 do Return[Index] = Part end return Return end)() }) for Remote, Ignore in next, Vuln.FoundRemotes do if (Ignore.Name == "DestroySegway") then Ignore:FireServer(Part, { Value = Part }) else pcall(function() for _, Arg in next, PossibleArguments do Ignore:FireServer(Arg); if (typeof(Arg) == "table") then Ignore:FireServer(table.unpack(Arg)); end end end) end end end end, } local LocalPlayer = (Services.Players.LocalPlayer); local Character = (LocalPlayer.Character); local Backpack: Backpack = LocalPlayer:WaitForChild("Backpack"); local Humanoid: Humanoid = (Character and Character:FindFirstChildOfClass("Humanoid")); local Root: Part = (Character and Character:FindFirstChild("HumanoidRootPart")); Connect(LocalPlayer.CharacterAdded, function(Char) Character = (Char); Humanoid = Character:WaitForChild("Humanoid"); Root = (Character:WaitForChild("HumanoidRootPart")); Backpack = (LocalPlayer.Backpack); end) local Lower, Split, Sub, GSub, Find, Match, Format, Blank = string.lower, string.split, string.sub, string.gsub, string.find, string.match, string.format, "" local Unpack, Insert, Discover, Concat, Remove, FullArgs = table.unpack, table.insert, table.find, table.concat, table.remove, {} local Spawn, Delay, Wait = task.spawn, task.delay, task.wait local JSONEncode, JSONDecode, GenerateGUID = Services.Http.JSONEncode, Services.Http.JSONDecode, Services.Http.GenerateGUID local Mouse, PlayerGui = LocalPlayer.GetMouse(LocalPlayer), LocalPlayer.PlayerGui local Camera = workspace.CurrentCamera local RespectFilteringEnabled = Services.Sound.RespectFilteringEnabled local GetModule = function(Name) return (Methods.Get(Format("https://raw.githubusercontent.com/lxte/modules/main/cmd/%s", Name))); end local Check = function(Type) if (Type == "File") then return (isfile and isfolder and writefile and readfile); elseif (Type == "Hook") then return (hookmetamethod or hookfunction); end end -- another check in case humanoid not found lmao if (not Character) or (not Humanoid) or (not Root) then Spawn(function() Character = (LocalPlayer.Character or CWait(LocalPlayer.CharacterAdded)); Humanoid = Character:WaitForChild("Humanoid"); Root = Character:WaitForChild("HumanoidRootPart"); end) end -- :: INSERT[UI] :: -- local UI = (Services.Run:IsStudio() and script.Parent) or (function() if (game.PlaceId == 138747514708608 and not identifyexecutor) then -- testing place return (script.Parent); end return Services.Insert:LoadLocalAsset(Settings.CustomUI) end)() local Assets = UI.Assets local Notification = UI.Frame local CommandBar = UI.Cmd.CommandBar local Tab = UI.Tab local Button = UI.OpenButton local Components = Assets.Components local Features = Assets.Features local Autofill = CommandBar.Autofill local Search = CommandBar.Search local BarShadow = CommandBar.Shadow local BarInner = CommandBar.Inner local Input = Search.TextBox local Recommend = Search.Recommend local Press = Search.Press Methods.Parent(UI); UI.Name = (GenerateGUID(Services.Http)); Tab.Name = (GenerateGUID(Services.Http)); -- :: FUNCTIONS :: -- local Output = function(...) if (Settings.Toggles.Developer) then warn(...); end end local UDimMultiply = function(UDim, Amount) local Values = ({ UDim.X.Scale * Amount, UDim.X.Offset * Amount, UDim.Y.Scale * Amount, UDim.Y.Offset * Amount, }) return UDim2.new(Unpack(Values)); end local Minimum = function(Table, Minimum) local New = ({}); if (Table) then for Index, Object in next, Table do if (Index >= Minimum) then Insert(New, v); end end end return (New) end local ConnectMessaged = function(Target: Player, Function: (string) -> ()) if (Target and Function and UI) then Connect(Services.Chat.MessageReceived, function(Message) local TextSource = (Message.TextSource); if (TextSource) then local Player = Services.Players:GetPlayerByUserId(TextSource.UserId); if (Player == Target) then Function(Message.Text); end end end) end end local StringToInstance = function(String) local Path = Split(String, "."); local Current = (game); if (Path[1] == "workspace") then Current = (workspace); end Remove(Path, 1); for Index, Child in next, Path do Current = Current[Child] end return Current end local Spoof = function(Instance, Property, Value) local Hook if (not Check("Hook")) then return end Hook = hookmetamethod(game, "__index", newcclosure(function(self, Key) if (self == Instance and Key == Property) then return Value end return Hook(self, Key); end)) end local Chat = function(Message) Services.Chat.TextChannels.RBXGeneral:SendAsync(Message); end local IsCorrectInput = function(Input: InputObject, Target: Enum.KeyCode | Enum.UserInputType) if (Input and Target) then local Name = Target.Name local KeyCode = Input.KeyCode.Name local InputType = Input.UserInputType.Name if (KeyCode == Name) or (InputType == Name) then return true else return false end else return false end end local Foreach = function(Table, Func, Loop) for Index, Value in next, Table do pcall(function() if (Loop and typeof(Value) == "table") then for Index2, Value2 in next, Value do Func(Index2, Value2); end else Func(Index, Value); end end) end end local FindTable = function(Table, Target) for Index, Input in next, Table do if (Input == Target) then return Input end end end local MultiSet = function(Object, Properties) for Index, Property in next, Properties do Object[Index] = Property end return Object end local Create = function(ClassName, Properties, Children) local Object = Instance.new(ClassName); for Property, Default in next, (Properties or {}) do Object[Property] = Default end for _, Children in next, (Children or {}) do Children.Parent = Object end return Object end local OldSRadius local SetSRadius = function(Radius, MaxRadius) if (OldSRadius) then OldSRadius:Disconnect(); end if (not MaxRadius) then MaxRadius = math.huge end OldSRadius = Connect(Services.Run.Heartbeat, function() local Success, Result = pcall(function() if (sethiddenproperty) then sethiddenproperty(LocalPlayer, "SimulationRadius", Radius); sethiddenproperty(LocalPlayer, "MaximumSimulationRadius", MaxRadius); end if (setsimulationradius) then setsimulationradius(Radius, MaxRadius); end end) if (not Success) then Output(Result); end end) end local Attached = ({}); local Attach = function(Part, Target, BringMode, NPCMode) if (Part and Part:IsA("BasePart") and not Part.Anchored) then local ModelDescendant = Part:FindFirstAncestorOfClass("Model"); if (ModelDescendant) then if (Services.Players:GetPlayerFromCharacter(ModelDescendant)) then return end end for _, Object in next, Part:GetChildren() do local Blacklisted = ({ "Attachment", "AlignPosition", "AlignOrientation", "BodyPosition", "BodyGyro", "BodyThrust", "BodyForce", "BodyAngularVelocity", "BodyVelocity", "RocketPropulsion" }); if (Discover(Blacklisted, Object.ClassName)) then Object:Destroy(); end end local Attachment = Instance.new("Attachment"); local Position = Instance.new("AlignPosition"); local Orientation = Instance.new("AlignOrientation"); local Attachment2 = Instance.new("Attachment"); local Torque = Instance.new("Torque"); local OldCollide = Part.CanCollide SetSRadius(math.huge, math.huge); Part.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0, 0, 0); Part.CanCollide = false Attachment.Parent = Part Attachment2.Parent = (Target or Root); Torque.Parent = Part Torque.Torque = Vector3.new(9e9, 9e9, 9e9); Torque.Attachment0 = Attachment Position.Parent = Part Position.Attachment0 = Attachment Position.Attachment1 = Attachment2 Position.Responsiveness = 200 Position.MaxForce = math.huge Position.MaxVelocity = math.huge Orientation.Parent = Part Orientation.Attachment0 = Attachment Orientation.Attachment1 = Attachment2 Orientation.Responsiveness = 200 Orientation.MaxTorque = math.huge Orientation.MaxAngularVelocity = math.huge for _, Object in next, ({ Attachment, Position, Torque, Attachment2, Orientation }) do Insert(Attached, Object); end Connect(Changed(Attachment2, "Parent"), function() Part.CanCollide = OldCollide end) if (BringMode) then Delay(1, function() Destroy(Orientation); Destroy(Position); Destroy(Torque); Destroy(Attachment); Destroy(Attachment2); end) end end end local RemoveAttachments = function() for _, Attachment in next, Attached do if (Attachment) then Destroy(Attachment); end end Attached = ({}); end local IsStaff = function(Player) local StaffRoles = ({ "owner", "admin", "staff", "mod", "founder", "manager", "dev", "president", "leader", "supervisor", "chairman", "supervising" }); local CurrentRole = Player:GetRoleInGroup(game.CreatorId); for Index, Role in next, StaffRoles do if (Lower(CurrentRole):find(Role)) then return true, CurrentRole end end end local Tween = function(Object, Speed, Properties, Info) local Info = (Info or {}); local Style, Direction = (Info.EasingStyle or Enum.EasingStyle.Sine), (Info.EasingDirection or Enum.EasingDirection.Out) return Services.Tween:Create(Object, TweenInfo.new(Speed, Style, Direction), Properties):Play(); end local GetClasses = function(Ancestor, Class, GetChildren) local Results = ({}); for Index, Descendant in next, (GetChildren and Ancestor:GetChildren()) or (Ancestor:GetDescendants()) do if (Descendant:IsA(Class)) then Insert(Results, Descendant); end end return Results end local SetNumber = function(Input, Minimum, Max) Minimum = (tonumber(Minimum) or -math.huge); Max = (tonumber(Max) or math.huge); if (Input) then local Selected = tonumber(Input); if (Selected) then return math.clamp(Selected, Minimum, Max); elseif (Lower(Input) == "inf") then return (Max); else return (0); end else return (0); end end local GetCharacter = function(Player) return (Player and Player.Character); end local GetRoot = function(Player) local Char = GetCharacter(Player); return (Char and Char:FindFirstChild("HumanoidRootPart")); end local GetHumanoid = function(Player) local Char = GetCharacter(Player); return (Char and Char:FindFirstChildOfClass("Humanoid")); end local PlayerArguments = { ["all"] = function() return (Services.Players:GetPlayers()); end, ["others"] = function() local Targets = ({}); Foreach(Services.Players:GetPlayers(), function(Index, Player) if (Player ~= LocalPlayer) then Insert(Targets, Player); end end) return Targets end, ["me"] = function() return ({ LocalPlayer }); end, ["random"] = function() local Amount = Services.Players:GetPlayers(); return ({ Amount[math.random(1, #Amount)] }) end, --[[["npc"] = function() local Targets = ({}) for Index, Model in next, GetClasses(workspace, "Model") do if Model:FindFirstChildOfClass("Humanoid") and not Services.Players:GetPlayerFromCharacter(Model) then Insert(Targets, Model) end end return Targets end,]] ["seated"] = function() local Targets = ({}); for Index, Player in next, GetClasses(Services.Players, "Player") do local PlayerHumanoid = GetHumanoid(Player); if (PlayerHumanoid and PlayerHumanoid.Sit) then Insert(Targets, Player); end end return Targets end, ["stood"] = function() local Targets = ({}); for Index, Player in next, GetClasses(Services.Players, "Player") do local PlayerHumanoid = GetHumanoid(Player); if (PlayerHumanoid and not PlayerHumanoid.Sit) then Insert(Targets, Player); end end return Targets end, ["closest"] = function() local Targets = ({}); local ClosestDistance, ClosestPlayer = (9e9), (nil); for Index, Player in next, GetClasses(Services.Players, "Player") do local Distance = Player:DistanceFromCharacter(Root.Position); if (Player ~= LocalPlayer) and (Distance < ClosestDistance) then ClosestDistance = Distance ClosestPlayer = Player end end return ({ ClosestPlayer }) end, ["farthest"] = function() local Targets = ({}); local FurthestDistance, FurthestPlayer = (0), (nil); for Index, Player in next, GetClasses(Services.Players, "Player") do local Distance = Player:DistanceFromCharacter(Root.Position); if (Player ~= LocalPlayer) and (Distance > FurthestDistance) then FurthestDistance = Distance FurthestPlayer = Player end end return ({ FurthestPlayer }) end, ["enemies"] = function() local Targets = ({}); for Index, Player in next, GetClasses(Services.Players, "Player") do if (Player.Team ~= LocalPlayer.Team) then Insert(Targets, Player); end end return Targets end, ["dead"] = function() local Targets = ({}); for Index, Player in next, GetClasses(Services.Players, "Player") do local PlayerHumanoid = GetHumanoid(Player); if (PlayerHumanoid and PlayerHumanoid.Health == 0) then Insert(Targets, Player); end end return Targets end, ["alive"] = function() local Targets = ({}); for Index, Player in next, GetClasses(Services.Players, "Player") do local PlayerHumanoid = GetHumanoid(Player); if (PlayerHumanoid and PlayerHumanoid.Health > 0) then Insert(Targets, Player); end end return Targets end, ["friends"] = function() local Targets = ({}); for Index, Player in next, GetClasses(Services.Players, "Player") do if (Player:IsFriendsWith(LocalPlayer.UserId)) and (LocalPlayer ~= Player) then Insert(Targets, Player); end end return Targets end, ["nonfriends"] = function() local Targets = ({}) for Index, Player in next, GetClasses(Services.Players, "Player") do if (not Player:IsFriendsWith(LocalPlayer.UserId)) and (LocalPlayer ~= Player) then Insert(Targets, Player) end end return Targets end, } local GetPlayer = function(Target) local Target = Lower(Target); local PlayerType = (PlayerArguments[Target]); if (PlayerType) then return PlayerType(); else local Specific = ({}); Foreach(Services.Players:GetPlayers(), function(Index, Player) local Name, Display = Lower(Player.Name), Lower(Player.DisplayName); if (Sub(Name, 1, #Target) == Target) then Insert(Specific, Player); elseif (Sub(Display, 1, #Target) == Target) then Insert(Specific, Player); end end) return Specific end end local GetTableLength = function(Table) local Length = (0); for _, Value in next, Table do Length += 1 end return Length end local Fling = function(Targets: { Player }, YAxis: number, Angle: number, Time: number) local Flinged = 0 local Flinging = true local OldPosition = Root.CFrame Spawn(function() local Movel = 0.1 repeat Wait() Velocity = Root.Velocity Root.Velocity = Velocity * 10000 + Vector3.new(0, 10000, 0); CWait(Services.Run.RenderStepped); Root.Velocity = Velocity CWait(Services.Run.Stepped); Root.Velocity = Velocity + Vector3.new(0, Movel, 0); Movel = (Movel * -1); until (not Flinging) end) for _, Player in next, Targets do local _Humanoid = GetHumanoid(Player); local _Root = GetRoot(Player); local Start = tick(); if (_Humanoid and _Root) then repeat Wait() local Success, Result = pcall(function() sethiddenproperty(Root, "PhysicsRepRootPart", _Root); end) local Magnitude = _Root.Velocity.Magnitude local Direction = (_Humanoid and _Humanoid.MoveDirection) or Vector3.zero local Seat = (_Humanoid and _Humanoid.SeatPart); local PredictionOffset if (Magnitude < 5 or Success) then PredictionOffset = Vector3.new(0, YAxis or math.random(-0.5, 0.4), 0); else PredictionOffset = Direction * (Magnitude / Random.new():NextNumber(0.7, 8)) - Vector3.new(0, YAxis or math.random(-1, 1), 0); end local TargetCFrame = CFrame.new(_Root.Position); local PredictedCFrame = TargetCFrame * CFrame.new(PredictionOffset); if (Seat and not Seat:IsA("VehicleSeat")) then break end if (Settings.Toggles.IgnoreSeated and Seat) then break end Humanoid.Sit = false Camera.CameraSubject = _Humanoid Root.CFrame = PredictedCFrame * CFrame.Angles(Angle or math.random(0, 360), 0, 0) until (tick() - Start >= (Time or 2)) or (_Root.Velocity.Magnitude > 200) or (not Root) or (not Root.Parent) or (not _Root) or (not _Root.Parent) if (not _Root or not _Root.Parent) or (_Root.Velocity.Magnitude > 200) then Flinged += 1 end end end Flinging = false Root.CFrame = OldPosition Camera.CameraSubject = Humanoid pcall(function() sethiddenproperty(Root, "PhysicsRepRootPart", nil); end) return Flinged end local HatFling = function(Targets: { Player }, Configuration: {}) local Configuration = (Configuration or {}); local Old = workspace.Gravity local OldCoordinate = Root.CFrame local Offsets = ({}); local Start = tick(); local Respawned = false local Hats = (function() local Return = ({}); for _, Accessory in next, GetClasses(Character, "Accessory", true) do if (Accessory:FindFirstChild("Handle")) then sethiddenproperty(Accessory, "BackendAccoutrementState", 3); Insert(Return, Accessory); end end return Return end)() if (#Targets == 0) and (not Configuration.Click) then return end task.spawn(function() local Pos = CFrame.new(Root.CFrame.X, -500, Root.CFrame.Z); local Animation = Humanoid.Animator:LoadAnimation(Create("Animation", { AnimationId = ({ [Enum.HumanoidRigType.R6] = "rbxassetid://180436148", [Enum.HumanoidRigType.R15] = "rbxassetid://507767968", })[Humanoid.RigType] })) workspace.Gravity = 0 workspace.FallenPartsDestroyHeight = 0/0 Animation.Priority = (Enum.AnimationPriority.Action); Animation.TimePosition = (0.1); Animation:Play(); Animation:AdjustWeight(5); for _ = 1, 50 do Root.CFrame = Pos Wait(); end end) task.delay(0.2, function() if (Configuration.PermDeath) then replicatesignal(LocalPlayer.Kill); end Humanoid.Health = 0 end) LocalPlayer.CharacterAdded:Once(function() Respawned = true LocalPlayer.Character:WaitForChild("HumanoidRootPart").CFrame = OldCoordinate end) if (Configuration.GiveHatsMode) then for _, Accessory in next, Hats do local Handle = Accessory:FindFirstChild("Handle"); if (Handle) then local Offset = Root.CFrame:ToObjectSpace(Handle.CFrame); Offsets[Accessory] = Offset end end Wait(0.15); end local Tries = 0 local Fling = function(NewTargets) repeat Wait() if (Configuration.MaximumTries) then Tries += 1 if (Tries == Configuration.MaximumTries) then break end end for _, Target in next, (NewTargets or Targets) do local _Root = GetRoot(Target); local _Humanoid = GetHumanoid(Target); local _Start = tick(); if (Respawned) then break end if (not Configuration.FlingDisabled) and (_Humanoid and _Humanoid.Sit) then continue end Camera.CameraSubject = _Root repeat Wait() for _, Hat in next, Hats do local Handle = Hat:FindFirstChild("Handle"); if (Handle and _Root and (Configuration.GiveHatsMode or Handle.CanCollide)) then sethiddenproperty(Handle, "PhysicsRepRootPart", _Root); if (Configuration.GiveHatsMode) then Handle.CFrame = (_Root.CFrame * Offsets[Hat]); else Handle.CFrame = _Root.CFrame end if (not Configuration.FlingDisabled) then Handle.Velocity = Vector3.new(1, 1, 1) * 9e9 Handle.RotVelocity = Vector3.new(1, 1, 1) * 9e9 else Handle.AssemblyLinearVelocity = Vector3.new(0, Random.new():NextNumber(50, 100), 0); Handle.AssemblyAngularVelocity = Vector3.zero end end end until (tick() - _Start >= (Configuration.GiveHatsMode and 100000 or 0.2)) or (Respawned) end until (Respawned) end if (Configuration.Click) then local Running = true local Thread = nil task.spawn(function() repeat Wait() if (not Running) then return end for _, Hat in next, Hats do local Handle = Hat:FindFirstChild("Handle"); if (Handle and (Configuration.GiveHatsMode or Handle.CanCollide)) then sethiddenproperty(Handle, "PhysicsRepRootPart", Root); Handle.CFrame = CFrame.new(OldCoordinate.X, 0, OldCoordinate.Z); Handle.Velocity = Vector3.new(1, 1, 1) * 9e9 Handle.RotVelocity = Vector3.new(1, 1, 1) * 9e9 end end until (Respawned) end) return { Click = function(User) if (Thread) then task.cancel(Thread); end Running = false Thread = task.spawn(function() Fling({ User }); Running = true end) end, } else Fling(); end Camera.CameraSubject = Humanoid workspace.Gravity = Old end local SetFly local ThumbstickMoved Spawn(function() local Movement = ({ forward = 0, backward = 0, right = 0, left = 0 }); local FlySpeed = 3 local DeadZone = 0.15 local DeadZoneNormalized = (1 - DeadZone); local Flying = false local TouchGui = PlayerGui:FindFirstChild("TouchGui"); local TouchFrame = TouchGui and TouchGui:FindFirstChild("TouchControlFrame"); local BodyVelocity, BodyGyro = Create("BodyVelocity", { MaxForce = Vector3.new(1, 1, 1) * 10 ^ 6, P = 10 ^ 6, }), Create("BodyGyro", { P = 10 ^ 6, MaxTorque = Vector3.new(1, 1, 1) * 10 ^ 6, }) local UpdateConnection local SetFlying = function(Bool) Flying = Bool local Target = Root if (Humanoid.SeatPart and Humanoid.SeatPart:IsA("VehicleSeat")) then Target = Humanoid.SeatPart end BodyGyro.Parent = (Flying and Target) or nil; BodyVelocity.Parent = (Flying and Target) or nil; BodyVelocity.Velocity = Vector3.new(); if (Flying and Target) then BodyGyro.CFrame = Target.CFrame end end local Modify = function(New) Movement = (New or Movement); end local MovementBind = function(Action, State, Object) if (State == Enum.UserInputState.Begin) then Movement[Action] = 1 elseif (State == Enum.UserInputState.End) then Movement[Action] = 0 end Modify(); return Enum.ContextActionResult.Pass end local Updated = function() if (Flying) then local Target = Root if (Humanoid.SeatPart and Humanoid.SeatPart:IsA("VehicleSeat")) then Target = Humanoid.SeatPart end if (Target) then local Position = workspace.CurrentCamera.CFrame local Direction = Position.rightVector * (Movement.right - Movement.left) + Position.lookVector * (Movement.forward - Movement.backward) if (Direction:Dot(Direction) > 0) then Direction = Direction.unit end BodyGyro.CFrame = Position BodyVelocity.Velocity = Direction * Humanoid.WalkSpeed * FlySpeed end end end Connect(Services.Input.TouchStarted, function(Touch, Processed) if (not Processed and TouchFrame) then local Position = Touch.Position local ClassicFrame = TouchFrame:FindFirstChild("ThumbstickFrame"); local DynamicFrame = TouchFrame:FindFirstChild("DynamicThumbstickFrame"); local StickFrame = (ClassicFrame and ClassicFrame.Visible and ClassicFrame) or (DynamicFrame and DynamicFrame.Visible and DynamicFrame) if (StickFrame) then local StickPosition = StickFrame.AbsolutePosition local StickSize = StickFrame.AbsoluteSize ThumbstickMoved = Position.X >= StickPosition.X and Position.X <= (StickPosition.X + StickSize.X) and Position.Y >= StickPosition.Y and Position.Y <= (StickPosition.Y + StickSize.Y) else ThumbstickMoved = false end end end) Connect(Services.Input.TouchEnded, function(Touch, Processed) if (ThumbstickMoved) then ThumbstickMoved = false Modify({ forward = 0, backward = 0, right = 0, left = 0 }); end end) Connect(Services.Input.TouchMoved, function(Touch, Processed) if (ThumbstickMoved) then local MoveDir = Humanoid.MoveDirection local Camera = workspace.CurrentCamera.CFrame local CameraRelative = Camera:VectorToObjectSpace(MoveDir) local LeftRight = CameraRelative.X local ForeBack = -CameraRelative.Z Movement.left = LeftRight < -DeadZone and math.min(1, (-LeftRight - DeadZone) / DeadZoneNormalized) or 0 Movement.right = LeftRight > DeadZone and math.min(1, (LeftRight - DeadZone) / DeadZoneNormalized) or 0 Movement.forward = ForeBack > DeadZone and math.min(1, (ForeBack - DeadZone) / DeadZoneNormalized) or 0 Movement.backward = ForeBack < -DeadZone and math.min(1, (-ForeBack - DeadZone) / DeadZoneNormalized) or 0 Modify(); end end) SetFly = function(Boolean, SpeedValue) FlySpeed = (SpeedValue or 1); SetFlying(Boolean); if (UpdateConnection) then UpdateConnection:Disconnect(); UpdateConnection = nil end if (Boolean) then UpdateConnection = Connect(Services.Run.RenderStepped, Updated); end end Services.ContextActionService:BindAction("forward", MovementBind, false, Enum.PlayerActions.CharacterForward); Services.ContextActionService:BindAction("backward", MovementBind, false, Enum.PlayerActions.CharacterBackward); Services.ContextActionService:BindAction("left", MovementBind, false, Enum.PlayerActions.CharacterLeft); Services.ContextActionService:BindAction("right", MovementBind, false, Enum.PlayerActions.CharacterRight); end) Tab.Visible = false CommandBar.Actions.Description.Text = Format("Version %s", Settings.Version); CommandBar.Visible = false -- :: LIBRARY[UI] :: -- local API = ({}); local Library = ({ Tabs = {} }); local Fill = ({}); local Globals = ({}); local Feature = ({}); local Cleaner = ({ Objects = {} }); local Type local Add = function(Global, Value) Globals[Global] = Value if (not Value and Cleaner.Objects[Global]) then Cleaner:Clean(Global); end end local Get = function(Global) return (Globals[Global]); end local Refresh = function(Global, NewValue) Add(Global, false); Wait(0.2); Add(Global, NewValue); end Cleaner.Check = function(Name) if (not Cleaner.Objects[Name]) then Cleaner.Objects[Name] = ({}); end end Cleaner.Add = function(self, Name, Object) Cleaner.Check(Name); Insert(Cleaner.Objects[Name], Object); end Cleaner.Clean = function(self, Name) if (Cleaner.Objects[Name]) then for Index, Object in next, Cleaner.Objects[Name] do local Type = typeof(Object); if (Type == "thread") then task.cancel(Object); elseif (Type == "RBXScriptConnection") then Object:Disconnect(); elseif (Type == "Instance") then if (Object.ClassName == "AnimationTrack") then Object:Stop(); end Object:Destroy(); end Cleaner.Objects[Name][Index] = nil end end end local Animate = ({ Set = function(Component, Title, Description) local Labels = (Component.Frame); local TitleLabel, DescriptionLabel = (Labels.Title), (Labels.Description); if (Title) then TitleLabel.Text = Title else Destroy(TitleLabel); end if (Description) then DescriptionLabel.Text = Description else Destroy(DescriptionLabel); end end, Open = function(Window, Transparency, Size, CheckVisible, Center, Amount) if (CheckVisible and not Window.Visible) or (not CheckVisible) then local Size = (Size or Window.Size); local NewSize = UDimMultiply(Size, Amount or 1.1); local Outline = Window:FindFirstChild("Shadow"); MultiSet(Outline, { Transparency = 1 }); MultiSet(Window, { Size = NewSize, GroupTransparency = 1, Visible = true, Position = (Center and UDim2.fromScale(0.5, 0.5)) or (Window.Position), }) Tween(Outline, 0.25, { Transparency = 0 }); Tween(Window, 0.25, { Size = Size, GroupTransparency = Transparency or 0, }) end end, Close = function(Window, Amount, Invisible) Spawn(function() local Size = (Window.Size); local NewSize = UDimMultiply(Size, Amount or 1.1); local Outline = Window:FindFirstChild("Shadow"); Tween(Outline, 0.25, { Transparency = 1 }); Tween(Window, 0.25, { Size = NewSize, GroupTransparency = 1, }) if (Invisible) then Wait(0.25); Window.Visible = false end end) end, Drag = function(Window, UseAlternative, AllowOffScreen) if (Window) then local Dragging local DragInput local Start local StartPosition if (not UseAlternative and Discover({ Enum.Platform.IOS, Enum.Platform.Android }, UserPlatform)) then AllowOffScreen = true end local Update = function(Input) local Delta = Input.Position - Start local Screen = UI.AbsoluteSize local Absolute = Window.AbsoluteSize local PosX, PosY if (AllowOffScreen or Settings.Toggles.ClampWindowDrag) then PosX = StartPosition.X.Offset + Delta.X PosY = StartPosition.Y.Offset + Delta.Y else PosX = math.clamp( StartPosition.X.Offset + Delta.X, -(Screen.X / 2) + (Absolute.X / 2), (Screen.X / 2) - (Absolute.X / 2) ) PosY = (function() if UseAlternative then return math.clamp(StartPosition.Y.Offset + Delta.Y, 0, Screen.Y - Absolute.Y) else return math.clamp( StartPosition.Y.Offset + Delta.Y, -(Screen.Y / 2) + (Absolute.Y / 2), (Screen.Y / 2) - (Absolute.Y / 2) ) end end)() end Tween(Window, 0.05, { Position = UDim2.new(StartPosition.X.Scale, PosX, StartPosition.Y.Scale, PosY) }) end Connect(Window.InputBegan, function(Input) if (Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch) and (not Type) then Dragging = true Start = Input.Position StartPosition = Window.Position Connect(Input.Changed, function() if (Input.UserInputState == Enum.UserInputState.End) then Dragging = false end end) end end) Connect(Window.InputChanged, function(Input) if (Input.UserInputType == Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch) and (not Type) then DragInput = Input end end) Connect(Services.Input.InputChanged, function(Input) if (Input == DragInput and Dragging) and (not Type) then Update(Input); end end) end end, }) local Color = function(Color, Factor, Mode) Mode = (Mode or Settings.Theme.Mode); if (Mode == "Light") then return Color3.fromRGB((Color.R * 255) - Factor, (Color.G * 255) - Factor, (Color.B * 255) - Factor); else return Color3.fromRGB((Color.R * 255) + Factor, (Color.G * 255) + Factor, (Color.B * 255) + Factor); end end function Library:CreateWindow(Config: { Title: string }) local Window = Clone(Tab); local Animations = ({}); local Component = ({ Self = Window }); local Actions = Window.Actions local Tabs = Window.Tabs local Topbar = Window.Topbar local Shadow = Window.ShadowBackground local TabName = Topbar.Title local WindowName = Topbar.Description local SearchBox = Topbar.SearchBox local Previous = ("Home"); local Current = ("Home"); local Maximized = false local Minimized = false local Minimum, Maximum = Vector2.new(204, 220), Vector2.new(9e9, 9e9); local List = ({ BottomLeft = ({ X = Vector2.new(-1, 0), Y = Vector2.new(0, 1) }), BottomRight = ({ X = Vector2.new(1, 0), Y = Vector2.new(0, 1) }), }) Spawn(function() local MousePos, Size, UIPos = nil, nil, nil if (Window and Window:FindFirstChild("Background")) then local Positions = Window:FindFirstChild("Background"); for Index, Types in next, Positions:GetChildren() do Connect(Types.InputBegan, function(Input) if (Input.UserInputType == Enum.UserInputType.MouseButton1) then Type = Types MousePos = Vector2.new(Mouse.X, Mouse.Y) Size = Window.AbsoluteSize UIPos = Window.Position Tween(Types.Icon, 0.25, { ImageTransparency = 0, Size = UDim2.fromOffset(15, 15), }) end end) Connect(Types.InputEnded, function(Input) if (Input.UserInputType == Enum.UserInputType.MouseButton1) then Type = nil Tween(Types.Icon, 0.25, { ImageTransparency = 0.85, Size = UDim2.fromOffset(12, 12), }) end end) end end local Resize = function(Delta) if (Type and MousePos and Size and UIPos) and (Window:FindFirstChild("Background")[Type.Name] == Type) then local Mode = (List[Type.Name]); local DeltaSize = Vector2.new(Size.X + Delta.X * Mode.X.X, Size.Y + Delta.Y * Mode.Y.Y); local NewSize = Vector2.new(math.clamp(DeltaSize.X, Minimum.X, Maximum.X), math.clamp(DeltaSize.Y, Minimum.Y, Maximum.Y)); local AnchorOffset = Vector2.new(Window.AnchorPoint.X * Size.X, Window.AnchorPoint.Y * Size.Y); local NewAnchorOffset = Vector2.new(Window.AnchorPoint.X * NewSize.X, Window.AnchorPoint.Y * NewSize.Y); local DeltaAnchorOffset = (NewAnchorOffset - AnchorOffset); Window.Size = UDim2.new(0, NewSize.X, 0, NewSize.Y) Window.Position = UDim2.new(UIPos.X.Scale, UIPos.X.Offset + DeltaAnchorOffset.X * Mode.X.X, UIPos.Y.Scale, UIPos.Y.Offset + DeltaAnchorOffset.Y * Mode.Y.Y) end end Connect(Mouse.Move, function() if (Type) then pcall(function() Resize(Vector2.new(Mouse.X, Mouse.Y) - MousePos); end) end end) end) WindowName.Text = (Config.Title); Window.Parent = (UI); Window.Name = (GenerateGUID(Services.Http)); Library.Tabs[Config.Title] = ({ Open = function() Animate.Open(Window, Settings.Theme.Transparency, UDim2.fromOffset(300, 418), false, true); end, }) Library.Tabs[Config.Title].Open(); Animate.Drag(Window); local SetShadow = function(Bool) Spawn(function() Shadow.Visible = true Shadow.Interactable = true Tween(Shadow, 0.25, { BackgroundTransparency = (Bool and 0.7 or 1); }); Wait(0.25) Shadow.Visible = Bool Shadow.Interactable = Bool end) end local UpdateIcon = function() if (Current == "Home") then Topbar.Back.ImageLabel.Image = ("rbxassetid://97330543812984"); else Topbar.Back.ImageLabel.Image = ("rbxassetid://119847346739313"); end end --> Animations function Animations:SetTab(Name) TabName.Text = Name Current = Name UpdateIcon(); for Index, Main in next, Tabs:GetChildren() do if (Main:IsA("CanvasGroup")) then local Opened, SameName = (Main.Value), (Main.Name == Name) local Scroll = (Main.ScrollingFrame); local Padding = (Scroll.UIPadding); if (SameName and not Opened.Value) then Opened.Value = true Main.Visible = true Tween(Main, 0.3, { GroupTransparency = 0 }); Tween(Padding, 0.3, { PaddingTop = UDim.new(0, 8) }); elseif (not SameName and Opened.Value) then Previous = Main.Name Opened.Value = false Tween(Main, 0.15, { GroupTransparency = 1 }); Tween(Padding, 0.15, { PaddingTop = UDim.new(0, 18) }); Delay(0.2, function() Main.Visible = false end) end end end end function Animations:Component(Button, Custom) local Size = Button.Size Connect(Button.InputBegan, function() if (Custom) then Tween(Button, 0.25, { Transparency = 0, Size = UDimMultiply(Size, 1.1) }); else Tween(Button, 0.25, { BackgroundColor3 = Color(Settings.Theme.Component, 5), Size = UDimMultiply(Size, 1.015) }); end end) Connect(Button.InputEnded, function() if (Custom) then Tween(Button, 0.25, { Transparency = 1, Size = Size }); else Tween(Button, 0.25, { BackgroundColor3 = Settings.Theme.Component, Size = Size }); end end) end --> Components function Component:Set(Component, Title, Description) local Labels = (Component.Frame); local TitleLabel, DescriptionLabel = (Labels.Title), (Labels.Description); if (Title) then TitleLabel.Text = Title else Destroy(TitleLabel); end if (Description) then DescriptionLabel.Text = Description else Destroy(DescriptionLabel); end end function Component:GetTab(Name) return (Tabs[Name].ScrollingFrame); end function Component:AddTab(Config: { Title: string, Description: string, Tab: string }) local Button = Clone(Components.Section); local Tab = Clone(Components.SectionExample); Animations:Component(Button); Component:Set(Button, Config.Title, Config.Description); MultiSet(Tab, { Parent = Tabs, Name = Config.Title }); MultiSet(Button, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) Connect(Button.MouseButton1Click, function() Animations:SetTab(Config.Title); end) end function Component:AddDropdown(Config: { Title: string, Description: string, Options: {}, Tab: Instance, Default: string?, Callback: any }) local Dropdown = Clone(Components.Dropdown); local Text = Dropdown.Holder.Main.Title Connect(Dropdown.MouseButton1Click, function() local Example = Clone(Features.DropdownExample); Animate.Open(Example, 0); Example.Parent = Window SetShadow(true); for Index, Button in next, Example.Actions:GetChildren() do local Type = Button.Name if (Button:IsA("GuiButton")) then Animations:Component(Button, true); Connect(Button.MouseButton1Click, function() if (Type == "Close") then Animate.Close(Example); SetShadow(false); Wait(0.25); Destroy(Example); end end) end end for Index, Option in next, Config.Options do local Button = Clone(Features.DropdownButtonExample); Animations:Component(Button); Component:Set(Button, Index); MultiSet(Button, { Parent = Example.ScrollingFrame, Visible = true }); Connect(Button.MouseButton1Click, function() Tween(Button, 0.25, { BackgroundColor3 = Settings.Theme.Component }); Config.Callback(Option, Dropdown); Text.Text = Index for Index, Others in next, Example:GetChildren() do if (Others:IsA("TextButton") and Others ~= Button) then Others.BackgroundColor3 = Settings.Theme.Component end end Animate.Close(Example); SetShadow(false); Wait(0.25); Destroy(Example); end) end end) Component:Set(Dropdown, Config.Title, Config.Description); Animations:Component(Dropdown); if (Config.Default) then Text.Text = Config.Default end MultiSet(Dropdown, { Name = Config.Title, Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) end function Component:AddButton(Config: { Title: string, Description: string, Tab: string, Callback: any }) local Button = Clone(Components.Button); Component:Set(Button, Config.Title, Config.Description); Animations:Component(Button); Connect(Button.MouseButton1Click, function() Config.Callback(Button); end) MultiSet(Button, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) end function Component:AddMultiActions(Config: { Title: string, Description: string, Tab: string, Direction: string, Callback: (string, TextButton) -> (), Actions: { string } }) local MultiActions = Clone(Components.MultiActions); local Holder = (MultiActions.Holder); Component:Set(MultiActions, Config.Title, Config.Description); Holder.UIListLayout.FillDirection = (Enum.FillDirection[Config.Direction or "Vertical"]); MultiSet(MultiActions, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) for _, Action in next, Config.Actions do local Button = Holder.ActionTemplate:Clone(); Button.Parent = Holder Button.Visible = true Button.Title.Text = Action Animations:Component(Button); Connect(Button.MouseButton1Click, function() Config.Callback(Action, MultiActions) end) end end function Component:AddInput(Config: { Title: string, Description: string, Tab: string, Default: string, Callback: any }) local Button = Clone(Components.Input); local Box = (Button.Main.TextBox); Box.Text = (Config.Default or Blank); Component:Set(Button, Config.Title, Config.Description); Animations:Component(Button); Connect(Button.MouseButton1Click, function() Box:CaptureFocus(); end) Connect(Box.FocusLost, function() Config.Callback(Box.Text); Box.PlaceholderText = (Box.Text); end) MultiSet(Button, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) end function Component:AddSection(Config: { Title: string, Tab: string }) local Section = Clone(Components.TabSection); Section.Title.Text = (Config.Title); MultiSet(Section, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) end function Component:AddParagraph(Config: { Title: string, Description: string, Tab: string }) local Paragraph = Clone(Components.Paragraph); Component:Set(Paragraph, Config.Title, Config.Description); MultiSet(Paragraph, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) return Paragraph end function Component:AddKeybind(Config: { Title: string, Description: string, Tab: string, Callback: any, Default: Enum.KeyCode }) local Dropdown = Clone(Components.Keybind); local Bind = (Dropdown.Holder.Main.Title); local Mouse = ({ Enum.UserInputType.MouseButton1, Enum.UserInputType.MouseButton2, Enum.UserInputType.MouseButton3 }); local Types = ({ Mouse = ("Enum.UserInputType.MouseButton"), Key = ("Enum.KeyCode."), }) local SetKey = function(InputType, KeyCode) if (Discover(Mouse, InputType)) then MultiSet(Bind, { Text = tostring(InputType):gsub(Types.Mouse, "MB"), }) elseif (InputType == Enum.UserInputType.Keyboard) then MultiSet(Bind, { Text = tostring(KeyCode):gsub(Types.Key, Blank), }) end end Animations:Component(Dropdown); Component:Set(Dropdown, Config.Title, Config.Description); Connect(Dropdown.MouseButton1Click, function() local Time = tick(); local Detect, Finished MultiSet(Bind, { Text = "press key" }); Detect = Connect(Services.Input.InputBegan, function(Input, Processed) if (Finished or Processed) then return end; Finished = true local InputType = Input.UserInputType if (InputType == Enum.UserInputType.Keyboard) then Config.Callback(Input.KeyCode); SetKey(Enum.UserInputType.Keyboard, Input.KeyCode); elseif (Discover(Mouse, InputType)) then Config.Callback(InputType); SetKey(InputType); end Detect:Disconnect(); end) end) MultiSet(Dropdown, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) if (Config.Default) then SetKey(Enum.UserInputType.Keyboard, Config.Default); else MultiSet(Bind, { Text = "none" }); end end function Component:AddColorPickerWindow(Callback: (Color3) -> (), H, S, V) local ColorPopup = Clone(Components.ColorPopup); ColorPopup.Parent = Window Animate.Open(ColorPopup, 0); SetShadow(true); local HueSatFrame = ColorPopup.HueSaturationFrame local ValueSlider = ColorPopup.ValueFrame local HueSatPointer = HueSatFrame.Pointer local ValuePointer = ValueSlider.Pointer local HexInput = ColorPopup.Hex local RgbInputs = ({ R = ColorPopup.RGB.R.Input, G = ColorPopup.RGB.G.Input, B = ColorPopup.RGB.B.Input }) local ColorPreview = ColorPopup.ColorDisplay local CloseButton = ColorPopup.Buttons.CloseColorPicker local DoneButton = ColorPopup.Buttons.Done local Hue = (H or 0); local Saturation = (S or 1); local Brightness = (V or 1); local UpdateColor = function() local FinalColor = Color3.fromHSV(Hue, Saturation, Brightness); local SliderColor = Color3.fromHSV(Hue, Saturation, 1); ColorPreview.BackgroundColor3 = FinalColor ValueSlider.BackgroundColor3 = SliderColor local R, G, B = (FinalColor.R * 255), (FinalColor.G * 255), (FinalColor.B * 255); HexInput.Text = string.format("#%02X%02X%02X", R, G, B); RgbInputs.R.Text = math.floor(R); RgbInputs.G.Text = math.floor(G); RgbInputs.B.Text = math.floor(B); HueSatPointer.Position = UDim2.new(Hue, 0, 1 - Saturation, 0) - UDim2.fromOffset(HueSatPointer.AbsoluteSize.X / 2, 0); ValuePointer.Position = UDim2.new(Brightness, 0, 0.5, 0) - UDim2.fromOffset(ValuePointer.AbsoluteSize.X / 2, 0); end local Handle = function(Element, Callback) Connect(Element.InputBegan, function(Input) if (Input.UserInputType == Enum.UserInputType.MouseButton1) then local Connection Connection = Connect(Services.Input.InputChanged, function(Change) if (Change.UserInputType == Enum.UserInputType.MouseMovement) then Callback(Change.Position); end end) Connect(Services.Input.InputEnded, function(End) if (End.UserInputType == Enum.UserInputType.MouseButton1) then Connection:Disconnect(); end end) end end) end Handle(HueSatFrame, function(MousePosition) local RelX = math.clamp((MousePosition.X - HueSatFrame.AbsolutePosition.X) / HueSatFrame.AbsoluteSize.X, 0, 1); local RelY = math.clamp((MousePosition.Y - HueSatFrame.AbsolutePosition.Y) / HueSatFrame.AbsoluteSize.Y, 0, 1); Hue = RelX Saturation = 1 - RelY UpdateColor(); end) Handle(ValueSlider, function(MousePosition) local RelX = math.clamp((MousePosition.X - ValueSlider.AbsolutePosition.X) / ValueSlider.AbsoluteSize.X, 0, 1); Brightness = RelX UpdateColor(); end) Connect(HexInput.FocusLost, function(EnterPressed) if (EnterPressed) then local Hex = HexInput.Text:gsub("#", ""); if (#Hex == 6) then local R = tonumber(Hex:sub(1, 2), 16); local G = tonumber(Hex:sub(3, 4), 16); local B = tonumber(Hex:sub(5, 6), 16); if (R and G and B) then local H, S, V = Color3.fromRGB(R, G, B):ToHSV(); Hue, Saturation, Brightness = H, S, V UpdateColor(); end end end end) for Key, Box in next, RgbInputs do Connect(Box.FocusLost, function(EnterPressed) if (EnterPressed) then local R = (tonumber(RgbInputs.R.Text) or 0); local G = (tonumber(RgbInputs.G.Text) or 0); local B = (tonumber(RgbInputs.B.Text) or 0); R = math.clamp(R, 0, 255); G = math.clamp(G, 0, 255); B = math.clamp(B, 0, 255); local H, S, V = Color3.fromRGB(R, G, B):ToHSV(); Hue, Saturation, Brightness = H, S, V UpdateColor(); end end) end Connect(CloseButton.MouseButton1Click, function() SetShadow(false); Animate.Close(ColorPopup, 0.9, true); Wait(0.5); Destroy(ColorPopup); end) Connect(DoneButton.MouseButton1Click, function() Callback(ColorPreview.BackgroundColor3); SetShadow(false); Animate.Close(ColorPopup, 0.9, true); Wait(0.5); Destroy(ColorPopup); end) UpdateColor(); end function Component:AddColorPicker(Config: { Title: string, Description: string, Tab: string, Default: Color3, Callback: (Color3) -> () }) local ColorPicker = Clone(Components.ColorPicker); local Current = ColorPicker.CurrentColor Current.BackgroundColor3 = (Config.Default or Color3.fromRGB(255, 255, 255)); Component:Set(ColorPicker, Config.Title, Config.Description); Animations:Component(ColorPicker); MultiSet(ColorPicker, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) Connect(ColorPicker.MouseButton1Click, function() Component:AddColorPickerWindow(function(Color) Current.BackgroundColor3 = (Color); Config.Callback(Color); end, Current.BackgroundColor3:ToHSV()); end) return ColorPicker end function Component:AddToggle(Config: { Title: string, Description: string, Tab: string, Default: boolean, Callback: any }) local Toggle = Clone(Components.Toggle); local On = Toggle.Value local Main = Toggle.Main local Circle = Main.ToggleLabel local Set = function(Value) if (Value) then Tween(Main, 0.2, { BackgroundColor3 = Settings.Theme.Highlight }); Tween(Circle, 0.2, { BackgroundColor3 = Color3.fromRGB(255, 255, 255), Position = UDim2.new(1, -25, 0.5, 0) }); else Tween(Main, 0.2, { BackgroundColor3 = Color(Settings.Theme.Component, 10) }); Tween(Circle, 0.2, { BackgroundColor3 = Color(Settings.Theme.Component, 15), Position = UDim2.new(0, 3, 0.5, 0) }); end On.Value = Value end Set(Config.Default); Animations:Component(Toggle); Component:Set(Toggle, Config.Title, Config.Description); Connect(Toggle.MouseButton1Click, function() local Value = (not On.Value); Set(Value); Config.Callback(Value); end) MultiSet(Toggle, { Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) end function Component:AddSlider(Config: { Title: string, Description: string, Tab: string, MaxValue: number, Default: number, AllowDecimals: boolean, DecimalAmount: number, RunWhenHeldStopped: boolean, Callback: any, }) local Slider = Clone(Components.Slider); local Main = Slider.Slider local Amount = Main.Main.Input local Slide = Main.Slide local Fire = Slide.Fire local Fill = Slide.Highlight local Circle = Fill.Circle local Active = false local Value = 0 local SetNumber = function(Number) if (Config.AllowDecimals) then local Power = 10 ^ (Config.DecimalAmount or 2); Number = (math.floor(Number * Power + 0.5) / Power); else Number = math.round(Number); end return Number end local Update = function(Number, Text) local Scale = ((Mouse.X - Slide.AbsolutePosition.X) / Slide.AbsoluteSize.X); Scale = math.clamp(Scale, 0, 1); if (Number) then Number = math.clamp(Number, 0, Config.MaxValue); end Value = SetNumber(Number or (Scale * Config.MaxValue)); Fill.Size = UDim2.fromScale((Number and Number / Config.MaxValue) or Scale, 1); Amount.Text = (Value); if (Text or not Config.RunWhenHeldStopped) then Config.Callback(Value); end end local Activate = function() Active = true repeat Wait() Update(); until (not Active) end Fill.Size = UDim2.fromScale(Value, 1); Animations:Component(Slider); Update(Config.Default or 0); Component:Set(Slider, Config.Title, Config.Description); Connect(Amount.FocusLost, function() Update(tonumber(Amount.Text) or 0, true); end) Connect(Fire.MouseButton1Down, Activate) Connect(Services.Input.InputEnded, function(Input) if (Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch) then Active = false if (Config.RunWhenHeldStopped) then Config.Callback(Value); end end end) MultiSet(Slider, { Name = Config.Title, Parent = Tabs[Config.Tab].ScrollingFrame, Visible = true, }) end Animations:Component(Topbar.Back, true); Animations:Component(Topbar.Search, true); for Index, Button in next, Actions:GetChildren() do local Type = Button.Name if (Button:IsA("GuiButton")) then Animations:Component(Button, true); Connect(Button.MouseButton1Click, function() if (Type == "Close") then Animate.Close(Window); Wait(0.25); Window.Visible = false elseif (Type == "Minimize") then Minimized = (not Minimized) if (Minimized) then Tween(Window, 0.25, { Size = UDim2.fromOffset(300, 60) }); else Tween(Window, 0.25, { Size = UDim2.fromOffset(300, 394) }); end elseif (Type == "Maximize") then Maximized = (not Maximized) if (Maximized) then Tween(Window, 0.15, { Size = UDim2.fromScale(1, 1), Position = UDim2.fromScale(0.5, 0.5) }); else Tween(Window, 0.15, { Size = UDim2.fromOffset(300, 394), Position = UDim2.fromScale(0.5, 0.5) }); end end end) end end Animations:SetTab("Home"); Connect(Topbar.Back.MouseButton1Click, function() if (Topbar.Back.ImageLabel.Image == "rbxassetid://97330543812984") then Animate.Close(Window); Wait(0.25) Window.Visible = false end Animations:SetTab(Previous or "Home"); Previous = nil UpdateIcon(); end) local SearchEnabled = true local TweenTexts = function(Bool, Speed) local Transparency = ((Bool and 0) or 1) local Speed = (Speed or 0.1); Tween(TabName, Speed, { TextTransparency = Transparency }); Tween(WindowName, Speed, { TextTransparency = Transparency }); end Connect(Changed(SearchBox, "Text"), function() for Index, Button in next, Tabs[Current].ScrollingFrame:GetChildren() do if (Button:FindFirstChild("Frame")) then local Title = Button.Frame.Title Button.Visible = Lower(Title.Text):find(Lower(SearchBox.Text)); end end end) Connect(SearchBox.FocusLost, function() SearchEnabled = true SearchBox.Visible = false TweenTexts(true, 0.3); end) Connect(Topbar.Search.MouseButton1Click, function() SearchEnabled = (not SearchEnabled) SearchBox.Visible = (not SearchEnabled) TweenTexts(SearchEnabled); if (not SearchEnabled) then SearchBox:CaptureFocus(); end end) return Component end function API:Notify(Config: { Title: string, Description: string, Duration: number, Type: string }) Spawn(function() local Info = TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out); local SetShadow = function(Box, Boolean) Tween(Box.Shadow, 0, { Transparency = ((Boolean and 0) or 1) }); end if (Settings.Toggles.Notify) then local Notification = Clone(Features.Notification); local Box = (Notification.CanvasGroup); local Timer = Box.Timer local Interact = Box.Interact local None = Enum.AutomaticSize.None local Methods = { ["warn"] = ({ icon = "rbxassetid://18797417802", color = Color3.fromRGB(246, 233, 107) }), ["info"] = ({ icon = "rbxassetid://18754976792", color = Color3.fromRGB(110, 158, 246) }), ["success"] = ({ icon = "rbxassetid://18797434345", color = Color3.fromRGB(126, 246, 108) }), ["error"] = ({ icon = "rbxassetid://18797440055", color = Color3.fromRGB(246, 109, 104) }), } local Information = (Methods[Lower(Config.Type or "info")] or Methods.info); local Opposite = ((Settings.Theme.Mode == "Dark" and "Light") or "Dark"); Timer.BackgroundColor3 = (Information.color); Timer.Outline.Color = Color(Information.color, 25, Opposite); Box.Gradient.BackgroundColor3 = Information.color Box.Frame.Title.Notify.ImageColor3 = Information.color Box.Frame.Title.Notify.Image = Information.icon Notification.Parent = UI.Frame Animate.Set(Box, Config.Title, Config.Description) MultiSet(Box, { AutomaticSize = None, Size = UDim2.fromOffset(100, 10), Visible = true, GroupTransparency = 1, }) local Duration = (tonumber(Config.Duration) or 5) local Closed = false -- very sorry for the ugly code local Open, Close = function() SetShadow(Box, true); Tween(Notification, 0.4, { Size = UDim2.fromOffset(199, 70) }); Wait(0.1) Services.Tween:Create(Box, Info, { Size = UDim2.fromOffset(229, 70), GroupTransparency = Settings.Theme.Transparency, }):Play(); Wait(0.3) Box.AutomaticSize = Enum.AutomaticSize.Y end, function() if (not Closed) then Closed = true SetShadow(Box, false); Tween(Box, 0.3, { GroupTransparency = 1 }); Notification.AutomaticSize = (None); Tween(Notification, 0.35, { Size = UDim2.fromOffset(199, 0) }); Tween(Notification.UIPadding, 0.3, { PaddingLeft = UDim.new(0, 600) }); Wait(0.35); Destroy(Notification); end end Connect(Interact.MouseButton1Click, Close); Open(); Tween(Timer, Duration, { Size = UDim2.fromOffset(0, 4) }); Wait(Duration); Close(); end end) end local Themes = { Names = { ["Topbar"] = function(Label) if Label:IsA("Frame") then Label.BackgroundColor3 = Settings.Theme.Secondary end end, ["OpenButton"] = function(Label) if Label:IsA("TextButton") and Label.Parent == UI then Label.BackgroundColor3 = Settings.Theme.Primary Label.TextColor3 = Settings.Theme.Title end end, ["Actions"] = function(Label) if Label:IsA("Frame") then Label.BackgroundColor3 = Settings.Theme.Actions for Index, Button in next, Label:GetChildren() do if Button:IsA("TextButton") then Button.BackgroundColor3 = Color(Settings.Theme.Actions, 2) end end end end, ["Hex"] = function(Label) if Label:IsA("TextBox") then Label.BackgroundColor3 = Settings.Theme.Secondary Label.TextColor3 = Settings.Theme.Title end end, ["CloseColorPicker"] = function(Label) if Label:IsA("TextButton") then Label.BackgroundColor3 = Settings.Theme.Secondary Label.TextColor3 = Settings.Theme.Description end end, ["Main"] = function(Label) if Label:IsA("Frame") or Label:IsA("CanvasGroup") then if Label.Parent:FindFirstChild("Value") then local Toggle = Label.Parent.Value local Circle = Label:FindFirstChild("ToggleLabel") if not Toggle.Value then Circle.BackgroundColor3 = Color(Settings.Theme.Component, 15) Label.BackgroundColor3 = Color(Settings.Theme.Component, 10) else Label.BackgroundColor3 = Settings.Theme.Highlight end else Label.BackgroundColor3 = Color(Settings.Theme.Component, 10) end end end, ["Frame"] = function(Label) if Label:IsA("Frame") and Label:FindFirstChild("Title") then local Component = Label.Parent local Mode = Settings.Theme.Mode if Component.Name == "Paragraph" then Component.BackgroundColor3 = Color(Settings.Theme.Component, 2, "Light") else Component.BackgroundColor3 = Settings.Theme.Component end end end, ["Slide"] = function(Label) if Label:IsA("Frame") then Label.BackgroundColor3 = Color(Settings.Theme.Component, 10) end end, ["Point"] = function(Label) if Label:IsA("Frame") then Label.BackgroundColor3 = Color(Settings.Theme.Component, 15) end end, ["ActionTemplate"] = function(Label) if Label:IsA("TextButton") then Label.BackgroundColor3 = Color(Settings.Theme.Component, 5) end end, ["Press"] = function(Label) if Label:IsA("Frame") then Label.BackgroundColor3 = Color(Settings.Theme.Secondary, 5) end end, ["Back"] = function(Label) if Label:IsA("TextButton") then Label.BackgroundColor3 = Color(Settings.Theme.Secondary, 5) end end, ["Search"] = function(Label) if Label:IsA("TextButton") then Label.BackgroundColor3 = Color(Settings.Theme.Secondary, 5) elseif Label:IsA("Frame") then Label.BackgroundColor3 = Settings.Theme.Secondary end end, ["SearchBox"] = function(Label) if Label:IsA("TextBox") then Label.PlaceholderColor3 = Settings.Theme.Description Label.TextColor3 = Settings.Theme.Title end end, --> Tables ["R"] = { "Frame", "Secondary", "BackgroundColor3"}, ["G"] = { "Frame", "Secondary", "BackgroundColor3"}, ["B"] = { "Frame", "Secondary", "BackgroundColor3"}, ["ColorPopup"] = { "CanvasGroup", "Primary", "BackgroundColor3"}, ["ColorLine"] = { "Frame", "Outline", "BackgroundColor3" }, ["Title"] = { "TextLabel", "Title", "TextColor3" }, ["Description"] = { "TextLabel", "Description", "TextColor3" }, ["Line"] = { "Frame", "Highlight", "BackgroundColor3" }, ["AutofillButton"] = { "TextButton", "Secondary", "BackgroundColor3" }, ["UIStroke"] = { "UIStroke", "Outline", "Color" }, ["Shadow"] = { "UIStroke", "Shadow", "Color" }, ["Highlight"] = { "Frame", "Highlight", "BackgroundColor3" }, --["Circle"] = { "Frame", "Highlight", "BackgroundColor3" }, ["SectionCircle"] = { "Frame", "Title", "BackgroundColor3" }, ["SectionSeperator"] = { "Frame", "Description", "BackgroundColor3" }, ["Notification"] = { "CanvasGroup", "Primary", "BackgroundColor3", true }, ["DropdownExample"] = { "CanvasGroup", "Primary", "BackgroundColor3" }, }, Classes = { ["TextBox"] = function(Label) if Label.Name ~= "Recommend" then Label.TextColor3 = Settings.Theme.Title else Label.TextColor3 = Settings.Theme.Description end end, ["CanvasGroup"] = function(Label) if Label.Parent == UI then Label.BackgroundColor3 = Settings.Theme.Primary Label.GroupTransparency = Settings.Theme.Transparency end end, ["ImageLabel"] = function(Label) if Label.Image ~= "rbxassetid://6644618143" and Label.Name ~= "Notify" and Label.Name ~= "HueSaturationFrame" and Label.Name ~= "ValueFrame" and Label.Name ~= "ArgIcon" then Label.ImageColor3 = Settings.Theme.Icon end end, ["ScrollingFrame"] = function(Label) Label.ScrollBarImageColor3 = Settings.Theme.ScrollBar end, }, } local DefaultThemes = { ["Dark"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(25, 25, 25), Secondary = Color3.fromRGB(30, 30, 30), Actions = Color3.fromRGB(30, 33, 52), Component = Color3.fromRGB(30, 30, 30), Highlight = Color3.fromRGB(86, 159, 204), ScrollBar = Color3.fromRGB(39, 39, 39), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(52, 52, 52), Icon = Color3.fromRGB(255, 255, 255), }, ["Light"] = { Mode = "Light", Transparency = 0, Primary = Color3.fromRGB(255, 255, 255), Secondary = Color3.fromRGB(245, 245, 245), Actions = Color3.fromRGB(225, 232, 238), Component = Color3.fromRGB(245, 245, 245), Highlight = Color3.fromRGB(153, 155, 255), ScrollBar = Color3.fromRGB(150, 150, 150), Title = Color3.fromRGB(40, 40, 40), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(230, 230, 230), Icon = Color3.fromRGB(40, 40, 40), }, ["Dracula"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(40, 42, 54), Secondary = Color3.fromRGB(46, 48, 62), Actions = Color3.fromRGB(58, 61, 77), Component = Color3.fromRGB(43, 45, 59), Highlight = Color3.fromRGB(98, 114, 164), ScrollBar = Color3.fromRGB(23, 24, 31), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(51, 54, 68), Icon = Color3.fromRGB(255, 255, 255), }, ["Latte"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(45, 36, 36), Secondary = Color3.fromRGB(53, 42, 42), Actions = Color3.fromRGB(65, 52, 52), Component = Color3.fromRGB(53, 42, 42), Highlight = Color3.fromRGB(207, 101, 109), ScrollBar = Color3.fromRGB(23, 24, 31), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(65, 52, 52), Icon = Color3.fromRGB(255, 255, 255), }, ["Midnight"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(18, 22, 30), Secondary = Color3.fromRGB(26, 30, 38), Actions = Color3.fromRGB(36, 40, 48), Component = Color3.fromRGB(26, 30, 38), Highlight = Color3.fromRGB(210, 140, 90), ScrollBar = Color3.fromRGB(12, 14, 18), Title = Color3.fromRGB(235, 240, 250), Description = Color3.fromRGB(160, 165, 175), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(36, 40, 48), Icon = Color3.fromRGB(235, 240, 250), }, ["Pine"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(26, 32, 34), Secondary = Color3.fromRGB(34, 40, 42), Actions = Color3.fromRGB(44, 50, 52), Component = Color3.fromRGB(34, 40, 42), Highlight = Color3.fromRGB(120, 200, 160), ScrollBar = Color3.fromRGB(18, 22, 24), Title = Color3.fromRGB(230, 240, 240), Description = Color3.fromRGB(160, 170, 170), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(44, 50, 52), Icon = Color3.fromRGB(230, 240, 240), }, ["Warm Oasis"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(32, 26, 26), Secondary = Color3.fromRGB(40, 32, 32), Actions = Color3.fromRGB(50, 40, 40), Component = Color3.fromRGB(40, 32, 32), Highlight = Color3.fromRGB(205, 95, 105), ScrollBar = Color3.fromRGB(22, 20, 20), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 150, 150), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(50, 40, 40), Icon = Color3.fromRGB(255, 255, 255), }, ["Kyoto"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(27, 27, 38), Secondary = Color3.fromRGB(35, 35, 48), Actions = Color3.fromRGB(45, 45, 60), Component = Color3.fromRGB(35, 35, 48), Highlight = Color3.fromRGB(149, 101, 207), ScrollBar = Color3.fromRGB(22, 22, 30), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(160, 160, 170), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(45, 45, 60), Icon = Color3.fromRGB(255, 255, 255), }, ["Nord"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(41, 47, 56), Secondary = Color3.fromRGB(46, 52, 64), Actions = Color3.fromRGB(107, 135, 156), Component = Color3.fromRGB(46, 52, 64), Highlight = Color3.fromRGB(136, 192, 208), ScrollBar = Color3.fromRGB(51, 59, 70), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(200, 200, 200), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(59, 66, 82), Icon = Color3.fromRGB(255, 255, 255), }, ["Void"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(15, 15, 15), Secondary = Color3.fromRGB(20, 20, 20), Actions = Color3.fromRGB(12, 16, 22), Component = Color3.fromRGB(20, 20, 20), Highlight = Color3.fromRGB(84, 132, 164), ScrollBar = Color3.fromRGB(30, 30, 30), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(25, 25, 25), Icon = Color3.fromRGB(255, 255, 255), }, ["Discord"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(40, 43, 48), Secondary = Color3.fromRGB(54, 57, 62), Actions = Color3.fromRGB(62, 64, 68), Component = Color3.fromRGB(47, 50, 55), Highlight = Color3.fromRGB(114, 137, 218), ScrollBar = Color3.fromRGB(47, 51, 57), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(66, 69, 73), Icon = Color3.fromRGB(255, 255, 255), }, ["RC7"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(11, 47, 80), Secondary = Color3.fromRGB(20, 58, 96), Actions = Color3.fromRGB(20, 60, 94), Component = Color3.fromRGB(19, 54, 90), Highlight = Color3.fromRGB(89, 121, 180), ScrollBar = Color3.fromRGB(10, 45, 75), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(33, 72, 105), Icon = Color3.fromRGB(255, 255, 255), }, ["c00l 1337"] = { Mode = "Dark", Transparency = 0, Primary = Color3.fromRGB(0, 0, 0), Secondary = Color3.fromRGB(0, 0, 0), Actions = Color3.fromRGB(255, 0, 0), Component = Color3.fromRGB(10, 10, 10), Highlight = Color3.fromRGB(255, 0, 0), ScrollBar = Color3.fromRGB(20, 20, 20), Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(155, 155, 155), Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(255, 0, 0), Icon = Color3.fromRGB(255, 255, 255), }, } local ThemeButtons = ({}); local UpdateUIScale = function() local Scale = SetNumber(Settings.UIScale, 0.2, 2); for _, UIScale in next, GetClasses(UI, "UIScale") do UIScale.Scale = Scale end end local SetTheme = function(Table) Settings.Theme = Table or Settings.Theme CommandBar.BackgroundColor3 = Settings.Theme.Primary for Type, Button in next, ThemeButtons do local Color = Settings.Theme[Type] if (typeof(Color) == "Color3") then Button.CurrentColor.BackgroundColor3 = Color end end for Index, Descendant in next, UI:GetDescendants() do xpcall(function() local Name = Themes.Names[Descendant.Name] local Class = Themes.Classes[Descendant.ClassName] if Name then if typeof(Name) == "table" then local ClassName, NewColor, NewProperty, SetTransparency = unpack(Name) if ClassName == "any" or ClassName == Descendant.ClassName then Descendant[NewProperty] = Settings.Theme[NewColor] end if SetTransparency and Descendant:IsA("CanvasGroup") then Descendant.GroupTransparency = Settings.Theme.Transparency end elseif typeof(Name) == "function" then Name(Descendant) end elseif Class then Class(Descendant) end end, function(Result) Output("An error occured trying to load", Descendant, " error:", Result) end) end end -- :: IMPORTANT :: -- local EncodedSettings = function() local NewSettings = ({ Theme = {} }) for Index, Theme in next, Settings.Theme do if (typeof(Theme) == "Color3") then NewSettings.Theme[Index] = tostring(Theme); else NewSettings.Theme[Index] = tostring(Theme); end end for Index, Theme in next, Settings do if (Index ~= "Theme") then NewSettings[Index] = Theme end end return JSONEncode(Services.Http, NewSettings); end local GetSavedSettings = function() local OldToggles = (Settings.Toggles); local Themed = JSONDecode(Services.Http, (Check("File") and readfile("Cmd/Settings.json")) or EncodedSettings()); local Theming = ({ Theme = {} }); for Index, Theme in next, Themed.Theme do if (typeof(Theme) == "string" and Find(Theme, ",")) then local Clr = Color3.new(Unpack(Split(Theme, ","))); Theming.Theme[Index] = Color3.fromRGB(Clr.R * 255, Clr.G * 255, Clr.B * 255); elseif (Index == "Transparency") then Theming.Theme[Index] = tonumber(Theme); elseif (Index == "Mode") then Theming.Theme.Mode = tostring(Theme); end end for Index, Theme in next, Themed do if (Index ~= "Theme") then Theming[Index] = Theme end end for Type, Default in next, Settings do if (not Theming[Type]) then Theming[Type] = Default end end for Name, Value in next, OldToggles do if (Themed.Toggles[Name] == nil) then Themed.Toggles[Name] = Value end end return Theming end local SaveSettings = function() if (Check("File")) then writefile("Cmd/Settings.json", EncodedSettings()); end end local UpdateSettings = function(Data) if (Check("File")) then writefile("Cmd/Settings.json", (Data and JSONEncode(Services.Http, Data)) or EncodedSettings()); end end local SetSetting = function(Table, Config, Data) local Setting = (Table and Settings[Table]) or Settings Setting[Config] = Data UpdateSettings() end -- :: LIBRARY[CMD] :: -- local Command = ({}); local Commands = ({}); Command.Add = function(Information) local Aliases = Information.Aliases local Description = Information.Description local Arguments = Information.Arguments local Plugin = Information.Plugin local Task = Information.Task for Index, Value in next, Aliases do Index = Lower(Value); end Commands[Lower(Aliases[1])] = ({ Aliases, Description, Arguments, Plugin, Task }); end Command.Find = function(Input) for Index, Table in next, Commands do local Aliases = Table[1] local Found = FindTable(Aliases, Input); if (Found) then return Table end end end Command.Run = function(IgnoreNotifications, Name, Callbacks) Spawn(function() local Table = Command.Find(Name); if (Table and Name ~= Blank) then local Callback = Table[5] xpcall(function() local Title, Description, Duration, Type = Callback(Unpack(Callbacks)); if (Title and Description and not IgnoreNotifications) then API:Notify({ Title = Title, Description = Description, Type = "Info", Duration = Duration or 5, }) end end, function(Result) Output(Format("[CMD ERROR] : Error occured trying to run the command - %s\nERROR: %s\n%s", Name, Result, debug.traceback())) end) elseif (Name ~= Blank) then API:Notify({ Title = "Command not found!", Description = Format("%s is not a valid command", Name), Type = "Error", Duration = 5, }) end end) end Command.Parse = function(IgnoreNotifications, Input) local Name, ArgsString = GSub(Input, Settings.Prefix, Blank):match("^%s*([^%s]+)%s*(.*)$"); if (Name) then local Arguments = ({}); for Arg in ArgsString:gmatch("%s*([^" .. Settings.Seperator .. "]+)") do Insert(Arguments, Arg) end FullArgs = Arguments Command.Run(IgnoreNotifications, Lower(Name), Arguments); end end Command.Whitelist = function(Player) Admins[Player.UserId] = true ConnectMessaged(Player, function(Message) if (Find(Message, Settings.ChatPrefix)) then Command.Parse(false, Split(Message, Settings.ChatPrefix)[2]); end end) end Command.RemoveWhitelist = function(Player) Admins[Player.UserId] = nil end -- :: LIBRARY[AUTOFILL] :: -- Fill.Add = function(Table) local Aliases, Description, Arguments, Plugin, Callback = Unpack(Table); local Button = Clone(Autofill.Example); local Labels = (Button.Frame); local Arg = Concat(Aliases, " / "); local Data = ({ String = ({ Color = Color3.fromRGB(137, 171, 251), Icon = { Id = "rbxassetid://91745912881512" } }), Number = ({ Color = Color3.fromRGB(146, 251, 141), Icon = { Id = "rbxassetid://98705931627491" } }), Player = ({ Color = Color3.fromRGB(251, 135, 135), Icon = { Id = "rbxassetid://137385137210594" } }), }) for _, Argument in next, Arguments do local ArgumentFrame = Clone(Button.Arguments.TemplateArg); local Name, Type = Argument.Name, Argument.Type local ArgTitle = ArgumentFrame.ArgTitle local Icon = ArgumentFrame.ArgIcon local Info = Data[Type] local IconInfo = Info.Icon ArgTitle.Text = Name MultiSet(ArgumentFrame, { Parent = Button.Arguments, Visible = true, BackgroundTransparency = 0.1, BackgroundColor3 = Info.Color, }) Icon.Image = IconInfo.Id end Labels.Title.Text = Arg Labels.Description.Text = Description Delay(0.1, function() local ArgumentWidth = Button.Arguments.AbsoluteSize.X local ButtonWidth = Button.AbsoluteSize.X Button.Frame.Size = UDim2.new(0, ButtonWidth - ArgumentWidth - 5, 1, 0); end) MultiSet(Button, { Parent = Autofill, Visible = true, Name = "AutofillButton", }) end Fill.Recommend = function(Input) if (not Settings.Toggles.Recommendation) or (#Input == 0) then Recommend.Text = Blank return end local Lowered = Lower(Split(Input, " ")[1]) local Found = false --> Command Recommendation if #Split(Input, " ") == 1 then for Index, Table in Commands do for Index, Name in Table[1] do if (Find(Sub(Name, 1, #Lowered), Lower(Lowered)) or Name == Lowered) and not Found then Press.Title.Text = ("Tab"); Recommend.Text = GSub(Name, Lowered, Split(Input, " ")[1]); Found = true end end end end if #Split(Input, " ") > 1 and UI.Parent then local Command = Command.Find(Lowered); if (Command) then local Arguments = Command[3]; local New = Split(Input, " "); if (#Arguments > 0) then if (Arguments[#New - 1] and Arguments[#New - 1].Type == "Player") then local PlayerFound = false local Player = New[#New] --> Display Name Recommendation for Index, Plr in next, Services.Players:GetPlayers() do if (Find(Sub(Lower(Plr.DisplayName), 1, #Player), Lower(Player))) then local Name = Format(" %s", GSub(Lower(Plr.DisplayName), Lower(Player), Player)); Recommend.Text = Sub(Input, 1, #Input - #Player - 1) .. Name Found = true PlayerFound = true end end --> Username Recommendation if not PlayerFound then for Index, Plr in next, Services.Players:GetPlayers() do if (Find(Sub(Lower(Plr.Name), 1, #Player), Lower(Player))) then local Name = Format(" %s", GSub(Lower(Plr.Name), Lower(Player), Player)); Recommend.Text = Sub(Input, 1, #Input - #Player - 1) .. Name Found = true PlayerFound = true end end end --> Player Argument Recommendation if (not PlayerFound) then local GetPlayerArguments = ({ "all", "random", "others", "seated", "stood", "me", "closest", "farthest", "enemies", "dead", "alive", "friends", "nonfriends", }) for Index, Arg in next, GetPlayerArguments do if Find(Sub(Arg, 1, #Player), Lower(Player)) then local Name = Format(" %s", GSub(Lower(Arg), Lower(Player), Player)); Recommend.Text = Sub(Input, 1, #Input - #Player - 1) .. Name Found = true PlayerFound = true end end end end end end end if (not Found) then local Amount = (#Input); local Spaces = Split(Input, " "); local Arguments = Split(Input, Settings.Seperator); local Cmd, Args = (false), (false); local Check = (Sub(Input, Amount - 1) == Format("%s ", Settings.Seperator)); if (#Spaces >= 1) then if (Check) or (#Spaces == 2 and Sub(Input, Amount) == " ") then for Index, Table in Commands do for Index, Name in Table[1] do if (Lower(Name) == Lower(Spaces[1])) then Cmd = Name Args = Table[3] break end end end if (Cmd) then local Amount = ((#Spaces == 2 and 1) or #Arguments); local Argument = (Args[Amount]); if (Argument) then Recommend.Text = Format("%s%s", Input, Lower(Argument.Name)); Press.Title.Text = ("Enter"); Found = true end end end end end if (not Found) then Press.Title.Text = ("Enter"); Recommend.Text = (Blank); end end Fill.Search = function(Input) Spawn(function() local Lowered = GSub(Lower(Split(Input, " ")[1]), Settings.Prefix, Blank); local FoundFirst = false local Amount = 0 local Found = false if (#Split(Input, " ") == 1) then for Index, Table in Commands do for Index, Name in Table[1] do if (Find(Sub(Name, 1, #Lowered), Lower(Lowered)) or Name == Lowered) then Press.Title.Text = ("Tab"); Recommend.Text = GSub(Name, Lowered, Split(Input, " ")[1]); Found = true end end end end for Index, Frame in next, Autofill:GetChildren() do if (Frame.Name == "AutofillButton") then if (not Settings.Toggles.FillCap) or (Amount < 4) then local Commands = Frame.Frame.Title local FrameFound = false for Index, Name in Split(Commands.Text, " / ") do if (Find(Sub(Name, 1, #Lowered), Lower(Lowered)) or Name == Lowered) and (not FrameFound) then FrameFound = true Amount += 1 if (not FoundFirst) then Frame.BackgroundColor3 = Settings.Theme.Component Frame.BackgroundIgnore.Transparency = 0.9 Frame.GlowIgnore.Transparency = 0.95 FoundFirst = true else Frame.BackgroundColor3 = Settings.Theme.Primary Frame.BackgroundIgnore.Transparency = 1 Frame.GlowIgnore.Transparency = 1 end end end Frame.Visible = FrameFound else Frame.Visible = false end end end -- Resizing Command Bar local Sizes = ({ [1] = { Size = UDim2.new(1, -4, 0, 67) }, [2] = { Size = UDim2.new(1, -4, 0, 125) }, [3] = { Size = UDim2.new(1, -4, 0, 183) }, [4] = { Size = UDim2.new(1, -4, 0, 240) }, }); local Size = (Sizes[Amount] or Sizes[4]); Tween(Autofill, 0.25, { Size = Size.Size }); Tween(CommandBar, 0.25, { Position = Size.Position }); end) end --> :: FEATURE --> Waypoints function Feature:AddWaypoint(Name, CFrame) CFrame = tostring(CFrame) if (Name and CFrame) then Settings.Waypoints[Name] = (CFrame); SaveSettings(); API:Notify({ Title = "Waypoints", Description = "Added waypoint successfully!", Type = "Success", Duration = 10, }) else API:Notify({ Title = "Waypoints", Description = "Error adding waypoint, is one of the arguments missing?", Type = "Error", Duration = 15, }) end end --> Events function Feature:AddEvent(Event, Command) local Info = (Settings.Events[Event]); if (Info and not Info[Command]) then Info[Command] = (Command); SaveSettings(); API:Notify({ Title = "Events", Description = "Added event successfully", Type = "Success", Duration = 10, }) else API:Notify({ Title = "Events", Description = "Error adding an event, event doesn't exist or command already added in the event.", Type = "Error", Duration = 15, }) end end function Feature:ConnectEvent(Event, Connection, UseHumanoid, Check) local RunEvent = function(Event) Foreach(Settings.Events[Event] or (Output(Event) and {}), function(_, EventCommand) Command.Parse(false, EventCommand); end) end if (Event == "AutoExecute") then RunEvent(Event); elseif (Event == "PlayerRemoved") then Connect(Services.Players.PlayerRemoving, function(User) if (User == LocalPlayer) then RunEvent("PlayerRemoved"); end end) elseif (UseHumanoid and typeof(Event) == "string") then local CCharacter local CDetect = function(CHumanoid) if (Event == "Damaged") then Connect(Changed(CHumanoid, "Health"), function() if (not Check or (Check and Check(CHumanoid))) then RunEvent("Damaged"); end end) else Connect(CHumanoid[Event], function() if (not Check or (Check and Check(CHumanoid))) then RunEvent(Event); end end) end end CCharacter = (Character) or (LocalPlayer.Character) or (CWait(LocalPlayer.CharacterAdded)); CDetect(CCharacter:WaitForChild("Humanoid")); Connect(LocalPlayer.CharacterAdded, function(NewCharacter) CCharacter = (NewCharacter); CDetect(CCharacter:WaitForChild("Humanoid")); end) else Connect(Connection, function() RunEvent(Event); end) end end local SetRig = function(Type) local Avatar = GetService("AvatarEditorService"); Avatar:PromptSaveAvatar(Humanoid.HumanoidDescription, Enum.HumanoidRigType[Type]); CWait(Avatar.PromptSaveAvatarCompleted); Command.Parse(true, "respawn"); end -- :: COMMANDS :: -- Command.Add({ Aliases = { "settings" }, Description = "Opens the Settings Tab that includes options like Waypoints, Events, Themes, Toggles and MORE", Arguments = {}, Task = function() local Tab = Library.Tabs.Settings if (Tab) then Tab.Open() else local Keybinds = {} local Window = Library:CreateWindow({ Title = "Settings", }) Window:AddTab({ Title = "About", Description = "List of credits & information about Cmd", Tab = "Home", }) Window:AddTab({ Title = "Prefixes", Description = "Change the prefixes of Cmd", Tab = "Home", }) Window:AddTab({ Title = "Toggles", Description = "Toggle between different features", Tab = "Home", }) Window:AddTab({ Title = "Theme", Description = "Customize the look of Cmd", Tab = "Home", }) Window:AddTab({ Title = "Aliases", Description = "Custom names/aliases for commands", Tab = "Home", }) Window:AddTab({ Title = "Waypoints", Description = "Set up buttons for places to teleport to", Tab = "Home", }) Window:AddTab({ Title = "Keybinds", Description = "Set keybinds for running commands", Tab = "Home", }) Window:AddTab({ Title = "Events", Description = "Set commands that run during specific events", Tab = "Home", }) --> About Window:AddSection({ Title = "Prefixes", Tab = "About" }) Window:AddParagraph({ Title = "Prefix", Description = Format("Current prefix is '%s'", Settings.Prefix), Tab = "About", }) Window:AddParagraph({ Title = "Chat Prefix", Description = Format("Current chat prefix is '%s'", Settings.ChatPrefix), Tab = "About", }) Window:AddParagraph({ Title = "Seperator", Description = Format("Current argument seperator is '%s'", Settings.Seperator), Tab = "About", }) Window:AddSection({ Title = "Cmd", Tab = "About" }) Window:AddParagraph({ Title = "Version", Description = Format("Version %s", Settings.Version), Tab = "About", }) Window:AddParagraph({ Title = "Command Count", Description = Format("Currently Cmd has %d commands", GetTableLength(Commands)), Tab = "About", }) Window:AddParagraph({ Title = "Invite", Description = "https://discord.gg/pBDqEj4BSP", Tab = "About", }) --> Settings Window:AddInput({ Title = "Prefix", Description = "Prefix for the Command Bar", Tab = "Prefixes", Default = Settings.Prefix, Callback = function(Key) if #Key == 1 then Settings.Prefix = Key SaveSettings() else API:Notify({ Title = "Couldn't set prefix", Description = "Prefix character amount is bigger or smaller than 1", Type = "Error", Duration = 10, }) end end, }) Window:AddInput({ Title = "Chat Prefix", Description = "Prefix for using commands in chat", Tab = "Prefixes", Default = Settings.ChatPrefix, Callback = function(Key) if #Key == 1 then Settings.ChatPrefix = Key SaveSettings() else API:Notify({ Title = "Couldn't set prefix", Description = "Prefix character amount is bigger or smaller than 1", Type = "Error", Duration = 10, }) end end, }) --> Toggles Window:AddSection({ Title = "Command Bar", Tab = "Toggles" }) Window:AddToggle({ Title = "Recommendation", Description = "Toggle if Cmd should recommend commands", Tab = "Toggles", Default = Settings.Toggles.Recommendation, Callback = function(Toggle) Settings.Toggles.Recommendation = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Remove Admin Prompts", Description = "Removes other command bars that get in the way (Adonis, HD Admin, etc.)", Tab = "Toggles", Default = Settings.Toggles.RemoveCommandBars, Callback = function(Toggle) Settings.Toggles.RemoveCommandBars = Toggle SaveSettings() if Toggle then API:Notify({ Title = "Success", Description = "Now everytime you run Cmd other admin prompts wont interfere", Mode = "Success", Duration = 5, }) end end, }) Window:AddSection({ Title = "Autofill", Tab = "Toggles" }) Window:AddToggle({ Title = "Autofill Cap", Description = "If enabled autofill will only show 4 commands that match", Tab = "Toggles", Default = Settings.Toggles.FillCap, Callback = function(Toggle) Settings.Toggles.FillCap = Toggle SaveSettings() end, }) Window:AddSection({ Title = "Others", Tab = "Toggles" }) Window:AddToggle({ Title = "Developer Mode", Description = "Toggle to get more information about what's going on in console!", Tab = "Toggles", Default = Settings.Toggles.Developer, Callback = function(Toggle) Settings.Toggles.Developer = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Staff Notifier", Description = "Notifies all staff in the server and if a staff has joined your server", Tab = "Toggles", Default = Settings.Toggles.StaffNotifier, Callback = function(Toggle) Settings.Toggles.StaffNotifier = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Ignore Seated for Fling", Description = "If turned off, it will also fling players sitting in a vehicle", Tab = "Toggles", Default = Settings.Toggles.IgnoreSeated, Callback = function(Toggle) Settings.Toggles.IgnoreSeated = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Ignore Vulnerability Scans", Description = "Doesn't search for game vulnerabilities on startup, turning this off could cause lag on startup", Tab = "Toggles", Default = Settings.Toggles.IgnoreVulnerabilityScans, Callback = function(Toggle) Settings.Toggles.IgnoreVulnerabilityScans = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Unsure Vulnerability Detector", Description = "Searches for more vulnerable remotes in the game, but with risks of more false flags", Tab = "Toggles", Default = Settings.Toggles.UnsureVulnDetector, Callback = function(Toggle) Settings.Toggles.UnsureVulnDetector = Toggle SaveSettings() end, }) Window:AddSection({ Title = "UI", Tab = "Toggles" }) Window:AddToggle({ Title = "Internal UI", Description = "If enabled when pressing LeftAlt will show an Internal UI", Tab = "Toggles", Default = Settings.Toggles.InternalUI, Callback = function(Toggle) Settings.Toggles.InternalUI = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Notifications Enabled", Description = "Toggle between if notifications get sent", Tab = "Toggles", Default = Settings.Toggles.Notify, Callback = function(Toggle) Settings.Toggles.Notify = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Popups Enabled", Description = "If disabled will just accept popups automatically", Tab = "Toggles", Default = Settings.Toggles.Popups, Callback = function(Toggle) Settings.Toggles.Popups = Toggle SaveSettings() end, }) Window:AddToggle({ Title = "Allow Window From Leaving Screen", Description = "Toggle if Windows can be dragged off the screen", Tab = "Toggles", Default = Settings.Toggles.ClampWindowDrag, Callback = function(Toggle) if (not Discover({ Enum.Platform.IOS, Enum.Platform.Android }, UserPlatform)) then Settings.Toggles.ClampWindowDrag = Toggle end SaveSettings() end, }) Window:AddToggle({ Title = "Show Command Bar Opening Button", Description = "This will only work if you're on PC", Tab = "Toggles", Default = Settings.Toggles.CommandBarOpenButtonShown, Callback = function(Toggle) Settings.Toggles.CommandBarOpenButtonShown = Toggle if (not Discover({ Enum.Platform.IOS, Enum.Platform.Android }, UserPlatform)) then Button.Visible = Toggle end SaveSettings() end, }) --> Themes Window:AddSection({ Title = "Colors", Tab = "Theme" }) Window:AddTab({ Title = "Create Theme", Description = "Create your own custom theme", Tab = "Theme", }) Window:AddDropdown({ Title = "Default Themes", Tab = "Theme", Options = DefaultThemes, Callback = function(Theme) Theme.Transparency = Settings.Theme.Transparency SetTheme(Theme) SaveSettings() end, }) Window:AddSection({ Title = "Others", Tab = "Theme" }) Window:AddSlider({ Title = "UI Transparency", Tab = "Theme", MaxValue = 0.8, Default = Settings.Theme.Transparency, AllowDecimals = true, DecimalAmount = 2, Callback = function(Amount) Settings.Theme.Transparency = Amount SetTheme() end, }) Window:AddSlider({ Title = "UI Scale", Tab = "Theme", MaxValue = 2, Default = Settings.UIScale, AllowDecimals = true, DecimalAmount = 2, RunWhenHeldStopped = true, Callback = function(Amount) Wait(0.1); Settings.UIScale = Amount UpdateUIScale(); SaveSettings(); end, }) Window:AddDropdown({ Title = "UI Mode", Description = "IMPORTANT: Set this up correctly so it doesn't mess up with the UI hover effects", Tab = "Theme", Options = { ["Light Mode"] = "Light", ["Dark Mode"] = "Dark", }, Callback = function(Type) Settings.Theme.Mode = Type SetTheme() end, }) Window:AddButton({ Title = "Save Theme", Description = "Saves the theme you've created", Tab = "Theme", Callback = function() SaveSettings() API:Notify({ Title = "Success", Description = "Successfully saved your theme", Type = "Sucess", Duration = 5, }) end, }) for Theme, Default in next, Settings.Theme do if typeof(Default) == "Color3" then local Button = Window:AddColorPicker({ Title = Theme, Tab = "Create Theme", Default = Default, Callback = function(NewColor) Settings.Theme[Theme] = NewColor SetTheme() SaveSettings() end, }) ThemeButtons[Theme] = Button end end --> Keybinds local Keybind = { Begin = nil, End = nil, Key = nil } local CreateKeybind = function(Keybind) local Key, Begin, End = Keybind.Key, Keybind.Begin, Keybind.End Window:AddButton({ Title = GSub(tostring(Key), "Enum.KeyCode.", Blank), Description = "Click this to remove the Keybind", Tab = "Keybinds", Callback = function(Button) Keybinds[Key] = nil Destroy(Button) end, }) end Window:AddSection({ Title = "Create", Tab = "Keybinds" }) Window:AddButton({ Title = "Create Keybind", Description = "Create the Keybind!", Tab = "Keybinds", Callback = function() local Key, Begin, End = Keybind.Key, Keybind.Begin, Keybind.End if (not Keybinds[Key]) and (Begin and End and Key) then Keybinds[Keybind.Key] = { Begin = Begin, End = End, Key = Key, Active = false } CreateKeybind(Keybinds[Keybind.Key]) API:Notify({ Title = "Keybind", Description = "Created Keybind successfully!", Duration = 15, Type = "Success", }) else API:Notify({ Title = "Keybind", Description = "Unable to make Keybind since a Keybind with the same key exists or one of the arguments is missing", Duration = 15, Type = "Error", }) end end, }) Window:AddKeybind({ Title = "Keybind Keybind", Description = "The keybind to fire the bind", Tab = "Keybinds", Default = Keybind.Key, Callback = function(Key) Keybind.Key = Key end, }) Window:AddInput({ Title = "Keybind Begin Command", Description = "The command to run when you want the Keybind to begin", Tab = "Keybinds", Callback = function(Cmd) Keybind.Begin = Cmd end, }) Window:AddInput({ Title = "Keybind End Command", Description = "The command to run when you want to END the Keybind", Tab = "Keybinds", Callback = function(Cmd) Keybind.End = Cmd end, }) Window:AddSection({ Title = "Keybinds", Tab = "Keybinds" }) Connect(Services.Input.InputBegan, function(Key, Focused) if (Focused) then return end local Keybind = (Keybinds[Key.KeyCode] or Keybinds[Key.UserInputType]); if (Keybind) then if (Keybind.Active) then Command.Parse(true, Keybind.End); else Command.Parse(true, Keybind.Begin); end Keybind.Active = not Keybind.Active end end) --> Waypoints local AddWaypoint = function(Name, Position) Window:AddMultiActions({ Title = Name, Tab = "Waypoints", Actions = { "Teleport", "Remove" }, Direction = "Horizontal", Callback = function(Method, Button) local Waypoint = Settings.Waypoints[Name] if Method == "Teleport" then Root.CFrame = Position else Settings.Waypoints[Name] = nil Destroy(Button) SaveSettings() end end, }) end Window:AddSection({ Title = "Create", Tab = "Waypoints" }) Window:AddInput({ Title = "Make Waypoint (NAME)", Tab = "Waypoints", Callback = function(Name) local Position = Root.CFrame Feature:AddWaypoint(Name, Position) AddWaypoint(Name, Position) end, }) Window:AddSection({ Title = "Created Waypoints", Tab = "Waypoints" }) for WaypointName, SavedPosition in next, Settings.Waypoints do AddWaypoint(WaypointName, CFrame.new(Unpack(Split(SavedPosition, ",")))) end --> Events local SelectedEvent = "Unselected" local EventCommand local AddEvent = function() if Settings.Events[SelectedEvent] and EventCommand then local OldSelected = SelectedEvent local OldEvent = EventCommand Feature:AddEvent(OldSelected, OldEvent) Window:AddButton({ Title = Format("Event for %s", SelectedEvent), Description = Format("Click to delete the event\nCommand: %s", EventCommand), Tab = "Events", Callback = function(Button) Settings.Events[OldSelected][OldEvent] = nil Destroy(Button) SaveSettings() end, }) else API:Notify({ Title = "Events", Description = "Error saving event, is one of the arguments missing?", Type = "Error", Duration = 10, }) end end Window:AddSection({ Title = "Create", Tab = "Events" }) Window:AddButton({ Title = "Create Event", Tab = "Events", Callback = AddEvent, }) Window:AddDropdown({ Title = "Select Event", Tab = "Events", Options = { ["Auto Execute"] = "AutoExecute", ["Chatted"] = "Chatted", ["Respawned"] = "CharacterAdded", ["Died"] = "Died", ["Damaged"] = "Damaged", ["Upon Leaving"] = "PlayerRemoved", }, Callback = function(Event) SelectedEvent = Event end, }) Window:AddInput({ Title = "Event Command", Tab = "Events", Callback = function(Input) EventCommand = Input end, }) Window:AddSection({ Title = "Current Events", Tab = "Events" }) for EventName, SavedEvent in next, Settings.Events do for _, SavedCommand in next, SavedEvent do Window:AddButton({ Title = Format("Event for %s", EventName), Description = Format("Click to delete the event\nCommand: %s", SavedCommand), Tab = "Events", Callback = function(Button) Settings.Events[EventName][SavedCommand] = nil Destroy(Button) SaveSettings() end, }) end end --: Aliases local CommandName = "" local AliasName = "" if (not Settings.Aliases) then Settings.Aliases = {} end local AddAliasButton = function(AliasName, CommandName) Window:AddButton({ Title = Format("%s (%s)", AliasName, CommandName), Description = "Click to remove alias", Tab = "Aliases", Callback = function(Self) Settings.Aliases[AliasName] = nil SaveSettings(); Destroy(Self) API:Notify({ Title = AliasName, Description = "Removed alias", Type = "Success", Duration = 10, }) end, }) end Window:AddSection({ Title = "Add Aliases", Tab = "Aliases" }) Window:AddButton({ Title = "Create Alias", Tab = "Aliases", Callback = function() local Cmd = Command.Find(Lower(CommandName)) local AliasExists = Command.Find(Lower(AliasName)) if Cmd and not AliasExists then local Aliases = Cmd[1] Aliases[#Aliases + 1] = Lower(AliasName) Settings.Aliases[AliasName] = CommandName SaveSettings(); AddAliasButton(AliasName, CommandName) API:Notify({ Title = "Aliases", Description = "Alias has been created successfully", Type = "Success", Duration = 5, }) else API:Notify({ Title = "Aliases", Description = "Couldn't save alias because command not found or alias already exists", Type = "Error", Duration = 10, }) end end, }) Window:AddInput({ Title = "Command Name", Description = "The name for the command you are trying to make an alias for", Tab = "Aliases", Callback = function(Input) CommandName = Lower(Input) end, }) Window:AddInput({ Title = "Alias Name", Description = "The alias you want the command to have", Tab = "Aliases", Callback = function(Input) AliasName = Lower(Input) end, }) Window:AddSection({ Title = "Delete Aliases", Tab = "Aliases" }) for AliasName, CommandName in next, Settings.Aliases or {} do AddAliasButton(AliasName, CommandName); end end end, }) local ESPSettings = { Enabled = false, Boxes = true, Text = true, Tracers = false, ShowHealth = false, ShowDistance = false, ShowDisplay = false, ShowNames = true, TracerTransparency = 1, TracerThickness = 1, TextSize = 18, BoxThickness = 1, IgnoreTeammates = false, } Command.Add({ Aliases = { "esp" }, Description = "See other players through walls", Arguments = {}, Task = function() local Tab = Library.Tabs["Esp"] if (Tab) then Tab.Open() else local Window = Library:CreateWindow({ Title = "Esp", }) if (Settings.Configs.ESP) then for Option, Value in next, Settings.Configs.ESP do ESPSettings[Option] = Value end end Window:AddSection({ Title = "Main", Tab = "Home" }) Window:AddToggle({ Title = "Enabled", Tab = "Home", Default = ESPSettings.Enabled, Callback = function(Toggle) ESPSettings.Enabled = Toggle end, }) Window:AddToggle({ Title = "Hide Teammates", Tab = "Home", Default = ESPSettings.IgnoreTeammates, Callback = function(Toggle) ESPSettings.IgnoreTeammates = Toggle end, }) Window:AddSection({ Title = "Features", Tab = "Home" }) Window:AddToggle({ Title = "Boxes Enabled", Tab = "Home", Default = ESPSettings.Boxes, Callback = function(Toggle) ESPSettings.Boxes = Toggle end, }) Window:AddToggle({ Title = "Tracers Enabled", Tab = "Home", Default = ESPSettings.Tracers, Callback = function(Toggle) ESPSettings.Tracers = Toggle end, }) Window:AddToggle({ Title = "Text Enabled", Tab = "Home", Default = ESPSettings.Text, Callback = function(Toggle) ESPSettings.Text = Toggle end, }) Window:AddToggle({ Title = "Show Names", Tab = "Home", Default = ESPSettings.ShowNames, Callback = function(Toggle) ESPSettings.ShowNames = Toggle end, }) Window:AddToggle({ Title = "Display Name Shown", Tab = "Home", Default = ESPSettings.ShowDisplay, Callback = function(Toggle) ESPSettings.ShowDisplay = Toggle end, }) Window:AddToggle({ Title = "Health Shown", Tab = "Home", Default = ESPSettings.ShowHealth, Callback = function(Toggle) ESPSettings.ShowHealth = Toggle end, }) Window:AddToggle({ Title = "Distance Shown", Tab = "Home", Default = ESPSettings.ShowDistance, Callback = function(Toggle) ESPSettings.ShowDistance = Toggle end, }) Window:AddSection({ Title = "Customize", Tab = "Home" }) Window:AddSlider({ Title = "Box Thickness", Tab = "Home", MaxValue = 10, Default = ESPSettings.BoxThickness, Callback = function(Amount) ESPSettings.BoxThickness = Amount end, }) Window:AddSlider({ Title = "Tracer Transparency", Tab = "Home", MaxValue = 1, AllowDecimals = true, Default = ESPSettings.TracerTransparency, Callback = function(Amount) ESPSettings.TracerTransparency = Amount end, }) Window:AddSlider({ Title = "Tracer Thickness", Tab = "Home", MaxValue = 5, AllowDecimals = true, Default = ESPSettings.TracerThickness, Callback = function(Amount) ESPSettings.TracerThickness = Amount end, }) Window:AddSlider({ Title = "Text Size", Tab = "Home", MaxValue = 25, Default = ESPSettings.TextSize, Callback = function(Amount) ESPSettings.TextSize = Amount end, }) Window:AddSection({ Title = "Config", Tab = "Home" }) Window:AddButton({ Title = "Save Config", Description = "Whenever you run the ESP command, you will set the current settings as the default", Tab = "Home", Callback = function(Boolean) Settings.Configs.ESP = (function() local Return = ({}); for Config, Value in next, ESPSettings do if (typeof(Value) ~= "function") then Return[Config] = Value end end return Return end)() SaveSettings(); API:Notify({ Title = "ESP Config", Description = "Default config has been saved!", Type = "Success", }) end, }) local Add = function(Player) local Bottom = Drawing.new("Line"); local Top = Drawing.new("Line"); local Right = Drawing.new("Line"); local Left = Drawing.new("Line"); local Name = Drawing.new("Text"); local Tracer = Drawing.new("Line"); local SetVisible = function(Boolean) for Index, DrawingLine in next, { Bottom, Top, Right, Left } do if ESPSettings.Enabled and ESPSettings.Boxes then DrawingLine.Visible = Boolean else DrawingLine.Visible = false end end if ESPSettings.Enabled and ESPSettings.Text then Name.Visible = Boolean else Name.Visible = false end if ESPSettings.Enabled and ESPSettings.Tracers then Tracer.Visible = Boolean else Tracer.Visible = false end end local UpdatePosition = function() if (not UI.Parent) then return SetVisible(false); end local TargetRoot = (Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")); if TargetRoot and not (ESPSettings.IgnoreTeammates and Player.Team == LocalPlayer.Team) and ESPSettings.Enabled then local Humanoid = Player.Character:FindFirstChildOfClass("Humanoid"); local _, Visible = Camera:WorldToViewportPoint(TargetRoot.Position) local Coordinate = TargetRoot.CFrame local TeamColor = Player.TeamColor.Color local CurrentText = Player.Name local ShowDistance = ESPSettings.ShowDistance for Index, DrawingLine in next, { Bottom, Top, Right, Left, Tracer } do DrawingLine.Color = TeamColor if (DrawingLine ~= Tracer) then DrawingLine.Thickness = ESPSettings.BoxThickness end end Name.Color = TeamColor Name.Size = ESPSettings.TextSize Name.Center = true Name.Outline = true Name.OutlineColor = Color3.new(0, 0, 0) Name.Center = true if (Visible) then local Size = Vector3.new(2, 3, 0); local BL = Camera:WorldToViewportPoint((Coordinate * CFrame.new(-Size.X, -Size.Y, 0)).Position) local BR = Camera:WorldToViewportPoint((Coordinate * CFrame.new(Size.X, -Size.Y, 0)).Position) local TL = Camera:WorldToViewportPoint((Coordinate * CFrame.new(-Size.X, Size.Y, 0)).Position) local TR = Camera:WorldToViewportPoint((Coordinate * CFrame.new(Size.X, Size.Y, 0)).Position) Bottom.From = Vector2.new(BL.X, BL.Y) Bottom.To = Vector2.new(BR.X, BR.Y) Top.From = Vector2.new(TL.X, TL.Y) Top.To = Vector2.new(TR.X, TR.Y) Right.From = Vector2.new(TR.X, TR.Y) Right.To = Vector2.new(BR.X, BR.Y) Left.From = Vector2.new(TL.X, TL.Y) Left.To = Vector2.new(BL.X, BL.Y) Name.Position = Vector2.new((TL.X + TR.X) / 2, TL.Y - 20) if (not Root or not TargetRoot) then ShowDistance = false end if (ESPSettings.Tracers) then Tracer.To = Vector2.new((BL.X + BR.X) / 2, BL.Y); Tracer.Thickness = ESPSettings.TracerThickness Tracer.Transparency = ESPSettings.TracerTransparency end if (ESPSettings.ShowDisplay and Player.Name ~= Player.DisplayName) then CurrentText = Format("%s (@%s)", Player.DisplayName, CurrentText); end if (not ESPSettings.ShowNames) then CurrentText = (""); end if (ESPSettings.ShowNames and (ESPSettings.ShowHealth or ShowDistance)) then CurrentText ..= ("\n"); end if (ESPSettings.ShowHealth) then CurrentText ..= Format("[%s%%]", math.floor(Humanoid.Health)); end if (ShowDistance) then local Seperator = ((ESPSettings.ShowHealth and " | ") or ""); CurrentText ..= Seperator .. Format("[%s studs]", math.floor((TargetRoot.Position - Root.Position).Magnitude)); end Name.Text = CurrentText SetVisible(true); else SetVisible(false); end else SetVisible(false); end end Tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y); local Connection = Connect(Services.Run.RenderStepped, UpdatePosition); Connect(Changed(Player, "Parent"), function() if (Player.Parent == nil) then Connection:Disconnect(); for _, Object in next, ({ Bottom, Top, Right, Left, Name, Tracer }) do Object:Remove(); end end end) end Connect(Services.Players.PlayerAdded, Add); for Index, Player in next, Services.Players:GetPlayers() do if (Player ~= LocalPlayer) then task.spawn(Add, Player); end end end end, }) local AimbotSettings = ({ Enabled = false, Triggerbot = false, Part = "Head", Method = "Camera", RandomPart = false, Toggled = false, DotLockTarget = nil, Wallbang = false, AliveCheck = true, TeamCheck = false, WallCheck = false, IncludeNpcs = false, Held = false, Key = Enum.KeyCode.E, Prediction = 0, AutoPrediction = false, Target = nil, FOV = ({ Radius = 100, }), }) AimbotSettings.BehindWall = function(TargetCharacter) local VisibleWalls = {} local Walls = Camera.GetPartsObscuringTarget(Camera, { Character.Head.Position, TargetCharacter.Head.Position }, { Character, TargetCharacter }) for _, Wall in next, Walls do if Wall and Wall.IsA(Wall, "BasePart") and Wall.Transparency < 1 then Insert(VisibleWalls, Wall); end end return #VisibleWalls > 0 end AimbotSettings.Closest = function() local Fov_Size = AimbotSettings.FOV.Radius local MouseX, MouseY = Mouse.X, Mouse.Y local ClosestDistance = Fov_Size local ClosestPlayerPart local GetRange = function(Character) if (not Character) then return end local Humanoid = Character and Character.FindFirstChild(Character, "Humanoid"); local TargetPart = Character and Character.FindFirstChild(Character, AimbotSettings.Part); if (Humanoid and TargetPart) then local Coordinates, Visible = Camera.WorldToViewportPoint(Camera, TargetPart.Position); if not (AimbotSettings.WallCheck and AimbotSettings.BehindWall(Character)) and not (AimbotSettings.AliveCheck and Humanoid.Health <= 0) and Coordinates and Visible then local Distance = (Vector2.new(MouseX, MouseY) - Vector2.new(Coordinates.X, Coordinates.Y)).Magnitude if (Distance < Fov_Size) and (Distance < ClosestDistance) then ClosestDistance = Distance ClosestPlayerPart = TargetPart end end end end if (AimbotSettings.Toggled and AimbotSettings.Method == "DotLock" and AimbotSettings.DotLockTarget) then return AimbotSettings.DotLockTarget else for _, Player in next, Services.Players.GetPlayers(Services.Players) do if (Player ~= LocalPlayer) and not (AimbotSettings.TeamCheck and Player.Team == LocalPlayer.Team) then GetRange(Player and Player.Character); end end if (AimbotSettings.IncludeNpcs) then for Index, Model in next, GetClasses(workspace, "Model") do if (Model:FindFirstChildOfClass("Humanoid") and not Services.Players:GetPlayerFromCharacter(Model)) then GetRange(Model); end end end end return ClosestPlayerPart end AimbotSettings.GetAutoPrediction = function() local DataPing = Services.Stats.Network.ServerStatsItem["Data Ping"]:GetValue() local Prediction = math.clamp(DataPing / 1000, 0, 1) * 1.335 return Prediction end AimbotSettings.GetPrediction = function(Part) local Prediction = AimbotSettings.AutoPrediction and AimbotSettings.GetAutoPrediction() or AimbotSettings.Prediction local Horizontal = Vector3.new(Part.Velocity.X, 0, Part.Velocity.Z) if AimbotSettings.AutoPrediction then local Magnitude = Horizontal.Magnitude local Clamped = math.clamp(Magnitude / 75, 1, 2) Prediction *= Clamped end return (Horizontal * Prediction + Vector3.new(0, 0.1, 0)) end Command.Add({ Aliases = { "aimbot", "ab" }, Description = "Aimbot features built into Cmd", Arguments = {}, Task = function() local Tab = Library.Tabs.Aimbot if (Tab) then Tab.Open(); else local EnableAimbot local Window = Library:CreateWindow({ Title = "Aimbot", }) if (Settings.Configs.Aimbot) then for Option, Value in next, Settings.Configs.Aimbot do if (Option ~= "Key") then AimbotSettings[Option] = Value end end end Window:AddToggle({ Title = "Enabled", Tab = "Home", Default = AimbotSettings.Enabled, Callback = function(Boolean) AimbotSettings.Enabled = Boolean end, }) Window:AddDropdown({ Title = "Aimbot Method", Tab = "Home", Options = { ["First Person"] = "Camera", ["Third Person"] = "Third", ["Silent Aim"] = "Silent", ["Dot Lock"] = "DotLock" }, Default = AimbotSettings.Method, Callback = function(Method) AimbotSettings.Method = Method if (Method == "Silent" or Method == "DotLock") then EnableAimbot(); if (Check("Hook")) then API:Notify({ Title = Method, Description = "Enabled", Type = "Success", }) else API:Notify({ Title = Method, Description = "Executor does not support it.", Type = "Error", }) end end end, }) Window:AddKeybind({ Title = "Keybind", Tab = "Home", Default = AimbotSettings.Key, Callback = function(Key) AimbotSettings.Key = Key end, }) Window:AddToggle({ Title = "Trigger Bot Enabled", Tab = "Home", Default = AimbotSettings.Triggerbot, Callback = function(Boolean) AimbotSettings.Triggerbot = Boolean end, }) Window:AddToggle({ Title = "Wallbang Enabled", Tab = "Home", Default = AimbotSettings.Wallbang, Callback = function(Boolean) AimbotSettings.Wallbang = Boolean end, }) Window:AddSection({ Title = "Checks", Tab = "Home" }) Window:AddToggle({ Title = "Alive Check", Tab = "Home", Default = AimbotSettings.AliveCheck, Callback = function(Boolean) AimbotSettings.AliveCheck = Boolean end, }) Window:AddToggle({ Title = "Team Check", Tab = "Home", Default = AimbotSettings.TeamCheck, Callback = function(Boolean) AimbotSettings.TeamCheck = Boolean end, }) Window:AddToggle({ Title = "NPCs Allowed", Tab = "Home", Default = AimbotSettings.IncludeNpcs, Callback = function(Boolean) AimbotSettings.IncludeNpcs = Boolean end, }) Window:AddToggle({ Title = "Wall Check", Tab = "Home", Default = AimbotSettings.WallCheck, Callback = function(Boolean) AimbotSettings.WallCheck = Boolean end, }) Window:AddSection({ Title = "Sliders & Prediction", Tab = "Home" }) Window:AddToggle({ Title = "Auto Prediction", Description = "Will ignore your set prediction", Tab = "Home", Default = AimbotSettings.AutoPrediction, Callback = function(Boolean) AimbotSettings.AutoPrediction = Boolean end, }) Window:AddSlider({ Title = "Prediction", Tab = "Home", MaxValue = 1, AllowDecimals = true, Default = AimbotSettings.Prediction, Callback = function(Amount) AimbotSettings.Prediction = Amount end, }) Window:AddSlider({ Title = "FOV Size", Tab = "Home", MaxValue = 500, Default = AimbotSettings.FOV.Radius, Callback = function(Amount) AimbotSettings.FOV.Radius = Amount end, }) Window:AddDropdown({ Title = "Aim Part", Tab = "Home", Options = { ["Torso"] = "HumanoidRootPart", ["Head"] = "Head", ["Random"] = "Random", }, Default = (AimbotSettings.RandomPart and "Random") or AimbotSettings.Part, Callback = function(Part) AimbotSettings.Part = Part AimbotSettings.RandomPart = (Part == "Random") end, }) Window:AddSection({ Title = "Config", Tab = "Home" }) Window:AddButton({ Title = "Save Config", Description = "Whenever you run the Aimbot command, you will set the current settings as the default", Tab = "Home", Callback = function(Boolean) Settings.Configs.Aimbot = (function() local Return = ({}); for Config, Value in next, AimbotSettings do if (typeof(Value) ~= "function") then Return[Config] = Value end end return Return end)() SaveSettings(); API:Notify({ Title = "Aimbot Config", Description = "Default config has been saved!", Type = "Success", }) end, }) local AimingCoordinate local ClosestRoot local PredictedPosition local ScreenPosition, OnScreen Spawn(function() local Circle local Visualizer if (Drawing and Drawing.new) then Circle = Drawing.new("Circle"); Visualizer = Drawing.new("Circle"); Visualizer.Visible = false Visualizer.Thickness = 2 Visualizer.NumSides = 32 Visualizer.Radius = 5 Visualizer.Color = Color3.fromRGB(255, 0, 0) Visualizer.Transparency = 1 Visualizer.Filled = true end local Render; Render = Connect(Services.Run.RenderStepped, function() if (Drawing and Drawing.new) then if (AimingCoordinate and AimbotSettings.Enabled) then local Position = ((typeof(AimingCoordinate) == "CFrame" and AimingCoordinate.Position) or AimingCoordinate); local ScreenPos, OnScreen = Camera:WorldToViewportPoint(Position); if (OnScreen) then Visualizer.Position = Vector2.new(ScreenPos.X, ScreenPos.Y); Visualizer.Visible = true else Visualizer.Visible = false end else Visualizer.Visible = false end if (AimbotSettings.Enabled) then local MouseLocation = (Services.Input:GetMouseLocation()); Circle.Radius = AimbotSettings.FOV.Radius Circle.Position = Vector2.new(MouseLocation.X, MouseLocation.Y) Circle.Visible = true else Circle.Visible = false end if (AimbotSettings.Method == "DotLock" and AimbotSettings.Toggled) or (AimbotSettings.Method == "Silent") then ClosestRoot = AimbotSettings.Closest(); if (ClosestRoot) then PredictedPosition = ClosestRoot.Position + AimbotSettings.GetPrediction(ClosestRoot); ScreenPosition, OnScreen = Camera:WorldToViewportPoint(PredictedPosition); end elseif (AimbotSettings.Method == "DotLock" and not AimbotSettings.Toggled) then ClosestRoot = nil end end if (not UI.Parent) then Circle.Visible = false Visualizer.Visible = false return Render:Disconnect(); end if (AimbotSettings.RandomPart) then local Available = ({ "Head", "HumanoidRootPart" }); AimbotSettings.Part = Available[math.random(1, #Available)]; end if (AimbotSettings.Triggerbot) then local Target = (function() local Target = Mouse.Target local Character = Target and Target:FindFirstAncestorOfClass("Model"); local Player = Character and Services.Players:GetPlayerFromCharacter(Character); if (Player and Player ~= LocalPlayer) then return Player end end)() if (Target) and not (AimbotSettings.TeamCheck and Target.Team == LocalPlayer.Team) then mouse1click(); end end end) Connect(Services.Input.InputBegan, function(Key, Processed) if IsCorrectInput(Key, AimbotSettings.Key) and (AimbotSettings.Enabled) and (not Processed) then local Method = AimbotSettings.Method if (Method ~= "DotLock") then local TargetPart = AimbotSettings.Closest(); if (TargetPart) then AimbotSettings.Held = true repeat Wait() if (Method == "Camera" or Method == "Third") and TargetPart then local LookAt = TargetPart.CFrame + AimbotSettings.GetPrediction(TargetPart) if (TargetPart.Position.Y > -100) then Camera.CFrame = CFrame.lookAt(Camera.CFrame.Position, LookAt.Position) end if (Method == "Third") then Services.Input.MouseBehavior = Enum.MouseBehavior.LockCenter end end until (not AimbotSettings.Held or not TargetPart) end else AimbotSettings.Toggled = (not AimbotSettings.Toggled); if (AimbotSettings.Toggled) then local TargetPart = AimbotSettings.Closest(); repeat Wait() AimbotSettings.DotLockTarget = TargetPart if (TargetPart) then AimingCoordinate = TargetPart.CFrame + AimbotSettings.GetPrediction(TargetPart); end until (not AimbotSettings.Toggled or not TargetPart or not AimbotSettings.DotLockTarget or AimbotSettings.Method ~= "DotLock") AimingCoordinate = nil AimbotSettings.DotLockTarget = nil else AimingCoordinate = nil AimbotSettings.DotLockTarget = nil end end end end) Connect(Services.Input.InputEnded, function(Key, Processed) if IsCorrectInput(Key, AimbotSettings.Key) and (AimbotSettings.Enabled) and (not Processed) then AimbotSettings.Held = false end end) local Enabled = false EnableAimbot = function() if (not Enabled and Check("Hook")) then Enabled = true local OldNamecall OldNamecall = hookmetamethod(game, "__namecall", newcclosure(function(self, ...) local Method = getnamecallmethod(); if not checkcaller() and string.find(string.lower(Method), "ray") and AimbotSettings.Enabled and (AimbotSettings.Method == "Silent" or AimbotSettings.Method == "DotLock") then if Method == "FindPartOnRay" or Method == "FindPartOnRayWithIgnoreList" or Method == "FindPartOnRayWithWhitelist" then if (ClosestRoot) then local Args = { ... } local Origin = Args[1].Origin local Direction = Args[1].Direction if (Direction.Magnitude > 50) then Args[1] = Ray.new(Origin, (PredictedPosition - Origin).Unit * 500) end if (AimbotSettings.Wallbang) then return ClosestRoot, ClosestRoot.Position, Vector3.new(0, 1, 0), ClosestRoot.Material end return OldNamecall(self, table.unpack(Args)) end elseif Method == "Raycast" then if (ClosestRoot) then local Args = { ... } local Origin = Args[1] local Direction = Args[2] if (Direction.Magnitude > 50) then Args[2] = (PredictedPosition - Origin).Unit * 500 end if (AimbotSettings.Wallbang) then return ({ Instance = ClosestRoot, Position = ClosestRoot.Position, Normal = Vector3.new(0, 1, 0), Material = ClosestRoot.Material }) end return OldNamecall(self, table.unpack(Args)) end end end return OldNamecall(self, ...) end)) local OldIndex OldIndex = hookmetamethod(game, "__index", newcclosure(function(self, Index) if self == Mouse and not checkcaller() and rawget(AimbotSettings, "Enabled") and (rawget(AimbotSettings, "Method") == "Silent" or rawget(AimbotSettings, "Method") == "DotLock") then if (ClosestRoot) then if (Index == "Target" or Index == "target") then return ClosestRoot elseif (Index == "X" or Index == "x") then return ScreenPosition.X elseif (Index == "Y" or Index == "y") then return ScreenPosition.Y elseif (Index == "Hit" or Index == "hit") then return CFrame.new(PredictedPosition) elseif (Index == "UnitRay") then return Ray.new(Camera.CFrame.Position, (PredictedPosition - Camera.CFrame.Position).Unit); end end end return OldIndex(self, Index) end)) end end if (AimbotSettings.Method == "DotLock" or AimbotSettings.Method == "Silent") then EnableAimbot(); end end) end end, }) Command.Add({ Aliases = { "notify", "send" }, Description = "Sends a notification (mostly testing)", Arguments = { { Name = "Title", Type = "String" }, { Name = "Description", Type = "String" }, { Name = "Duration", Type = "Number" }, { Name = "Type", Type = "String" }, }, Task = function(Title, Description, Duration, Type) API:Notify({ Title = Title, Description = Description, Duration = SetNumber(Duration), Type = Type, }) end, }) Command.Add({ Aliases = { "servers" }, Description = "Displays a list of servers for the game you're in", Arguments = {}, Task = function() local Tab = Library.Tabs["Servers"] if (Tab) then Tab.Open() else local PlayerCount = nil local Refreshed = false local Window = Library:CreateWindow({ Title = "Servers", }) local LoadServers = function() local Servers = Methods.Get(Format("https://games.roblox.com/v1/games/%s/servers/Public?sortOrder=Desc&excludeFullGames=true&limit=100&cursor=", game.PlaceId)); local Found = false repeat Wait() local Decode = JSONDecode(Services.Http, Servers); for Index, Server in next, Decode.data do if (typeof(Server) == "table") and (not PlayerCount or Server.playing == PlayerCount) then Found = true Window:AddButton({ Title = Server.id, Description = Format("Playing: %s\nPing: %s", Server.playing, Server.ping), Tab = "Home", Callback = function() Services.Teleport:TeleportToPlaceInstance(game.PlaceId, Server.id, LocalPlayer) end, }) end end if (not Decode.nextPageCursor and not Found) then API:Notify({ Title = "Could not find server", Description = "Try a different player count!", Duration = 5, Type = "Error", }) Found = true end if (not Found) then Servers = Methods.Get(Format("https://games.roblox.com/v1/games/%s/servers/Public?sortOrder=Desc&excludeFullGames=true&limit=100&cursor=%s", tostring(game.PlaceId), Decode.nextPageCursor or "")); end until (Found or Refreshed) Refreshed = false end Window:AddSection({ Title = "Settings", Tab = "Home" }) Window:AddButton({ Title = "Refresh", Tab = "Home", Callback = function() for Index, Server in next, Window:GetTab("Home"):GetChildren() do if (Server:IsA("TextButton") and Server.Frame.Title.Text:find("-")) then Destroy(Server); end end LoadServers(); Refreshed = true end, }) Window:AddSlider({ Title = "Player Count", Description = "(Set to 0 if you want to show all servers)", Tab = "Home", MaxValue = Services.Players.MaxPlayers, Callback = function(Amount) if (Amount == 0) then PlayerCount = nil else PlayerCount = Amount end end, }) Window:AddSection({ Title = "Servers", Tab = "Home" }); LoadServers(); end end, }) Command.Add({ Aliases = { "chatlogs", "logs" }, Description = "Displays player messages", Arguments = {}, Task = function() local Tab = Library.Tabs["Chat Logs"] if (Tab) then Tab.Open(); else local LayoutOrder = 100000 local Messages = {} local Window = Library:CreateWindow({ Title = "Chat Logs", }) Window:AddSection({ Title = "Settings", Tab = "Home" }) Window:AddButton({ Title = "Clear Messages", Tab = "Home", Callback = function() LayoutOrder = 100000 for _, Message in next, Messages do Destroy(Message); end Messages = nil end, }) Window:AddSection({ Title = "Logs", Tab = "Home" }) local Detect = function(Player) ConnectMessaged(Player, function(Message) local Paragraph = Window:AddParagraph({ Title = Format("%s (@%s)", Player.DisplayName, Player.Name), Description = Message, Tab = "Home", }) LayoutOrder -= 1 Paragraph.Size = UDim2.new(1, -10, 0, 0); Paragraph.LayoutOrder = LayoutOrder Insert(Messages, Paragraph); end) end Connect(Services.Players.PlayerAdded, Detect); for _, Player in next, Services.Players:GetPlayers() do Detect(Player); end end end, }) Command.Add({ Aliases = { "gameinfo", "game", "info" }, Description = "Displays information about the game you're in (general info and subplaces)", Arguments = {}, Task = function() local Tab = Library.Tabs.Game if (Tab) then Tab.Open(); else local Window = Library:CreateWindow({ Title = "Game", }) -- Tabs Window:AddTab({ Title = "Regular Data", Description = "Shows game title, description, etc.", Tab = "Home", }) Window:AddTab({ Title = "Game's Subplaces", Description = "Shows all the other subplaces this game owns (hidden games)", Tab = "Home", }) -- Universe Id local UniverseData = Methods.Get(Format("https://apis.roblox.com/universes/v1/places/%d/universe", game.PlaceId)) local Decoded = UniverseData and JSONDecode(Services.Http, UniverseData) local UniverseId = Decoded and Decoded.universeId -- Regular Data local Data = Methods.Get(Format("https://games.roblox.com/v1/games?universeIds=%d", UniverseId)) local DecodedData = Data and JSONDecode(Services.Http, Data) for Name, Info in next, DecodedData.data[1] or {} do if (typeof(Info) == "table") then local String = (""); local Added = (0); for Name, Value in next, Info do if (typeof(Name) == "number") then Name = "" else Name ..= ": " end Added += 1 String ..= Format("%s%s%s", Name, tostring(Value), (Added == #Info and "") or "\n"); end Info = String end Info = tostring(Info) if (Info == "") then Info = ("empty (no information)"); end Window:AddParagraph({ Title = Name:sub(1, 1):upper() .. Name:sub(2), Description = Info, Tab = "Regular Data", }) end -- Subplaces local SubplacePages = Services.AssetService:GetGamePlacesAsync(); local Subplaces = ({}); repeat for _, Place in SubplacePages:GetCurrentPage() do Insert(Subplaces, Place) end if SubplacePages.IsFinished then break end SubplacePages:AdvanceToNextPageAsync() until (false) for _, Place in next, Subplaces do if (Place.PlaceId ~= game.PlaceId) then Window:AddButton({ Title = Place.Name, Description = Format("PlaceId: %d\nClick to join subplace", Place.PlaceId), Tab = "Game's Subplaces", Callback = function() Services.Teleport:Teleport(Place.PlaceId, LocalPlayer) end, }) end end end end, }) Command.Add({ Aliases = { "fakechat" }, Description = "Send a chat message impersonating another user", Arguments = {}, Task = function() local Tab = Library.Tabs.Chat if (Tab) then Tab.Open(); else local Username, Message = "Builderman", "Hello!" local Window = Library:CreateWindow({ Title = "Chat", }) Window:AddButton({ Title = "Send", Tab = "Home", Callback = function() Chat(Format("%s%s: %s", ("ã…¤"):rep(37), Username, Message)); end, }) Window:AddInput({ Title = "Player", Tab = "Home", Default = Username, Callback = function(Input) Username = Input end, }) Window:AddInput({ Title = "Message", Tab = "Home", Default = Message, Callback = function(Input) Message = Input end, }) end end, }) Command.Add({ Aliases = { "tutorial", "tut" }, Description = "A simple tutorial to showcase how Cmd works", Arguments = {}, Task = function() local Tab = Library.Tabs["Tutorial"] if (Tab) then Tab.Open() else local Window = Library:CreateWindow({ Title = "Tutorial", }) local Tutorial = Features.Tutorial:Clone(); Tutorial.Visible = true Tutorial.Parent = Window.Self.Tabs.Home.ScrollingFrame Tutorial.Invite.Text = "discord.gg/pBDqEj4BSP" end end, }) Command.Add({ Aliases = { "cmds", "commands" }, Description = "Displays all the commands Cmd has", Arguments = {}, Task = function() local Tab = Library.Tabs["Commands"] if (Tab) then Tab.Open() else local Window = Library:CreateWindow({ Title = "Commands", }) Window:AddSection({ Title = Format("Displaying %d commands", GetTableLength(Commands)), Tab = "Home" }) for Index, Command in next, Commands do local Aliases, Description, Arguments = Unpack(Command); local Args = "Arguments: " local Paragraph = Window:AddParagraph({ Title = Concat(Aliases, " / "), Description = Description, Tab = "Home", }) if (Discover(Aliases, "discord")) then Paragraph.LayoutOrder = 0 else Paragraph.LayoutOrder = 1 end end end end, }) Command.Add({ Aliases = { "httpspy", "http" }, Description = "Displays all HTTP requests from other scripts", Arguments = {}, Task = function() if (not hookfunction) then return "Http Spy", "Your executor doesn't support hooking, this command won't work." end local Tab = Library.Tabs["Http"] if (Tab) then Tab.Open() else local Window = Library:CreateWindow({ Title = "Http", }) local LogFunction = function(Original, Name) if (not Original or typeof(Original) ~= "function") then return end local Old; Old = hookfunction(Original, function(self, Url, ...) if (Name and Url) then Window:AddButton({ Title = Name, Description = Url, Tab = "Home", Callback = function() setclipboard(Url); API:Notify({ Title = "Http Spy", Description = "URL Copied", }) end, }) end return Old(self, Url, ...); end) end LogFunction(game.HttpGet, "HttpGet Request"); LogFunction(Services.Http.PostAsync, "HttpService Post"); LogFunction(Services.Http.GetAsync, "HttpService Get"); LogFunction(request, "Request"); LogFunction(game.HttpPost, "HttpPost Request"); return "Http Spy", "Enabled" end end, }) Command.Add({ Aliases = { "highlight", "hl" }, Description = "Highlight any object, from its Class (object type) to Name", Arguments = {}, Task = function() local Tab = Library.Tabs.Highlight if (Tab) then Tab.Open(); else local HighlightName = GenerateGUID(Services.Http); local Highlights = ({}); local SetParent = false local Name = nil local Class = nil local Window = Library:CreateWindow({ Title = "Highlight", }) local SetHighlight = function(Show) if Show then if (not Name and not Class) then API:Notify({ Title = "Highlighter", Description = "Unable to set highlight since class nor name have been set (Must have at least one set)", Type = "Error", Duration = 10, }) return end for Index, Part in next, workspace:GetDescendants() do if (not Name or (Lower(Part.Name) == Lower(Name))) then if (not Class or (Lower(Part.ClassName) == Lower(Class))) then if (not Highlights[Part]) then local NewHighlight = Instance.new("Highlight", (SetParent and Part.Parent) or Part); Highlights[Part] = NewHighlight end end end end else for Index, Highlight in next, Highlights do Destroy(Highlight); end Highlights = ({}); end end Window:AddSection({ Title = "Actions", Tab = "Home" }) Window:AddButton({ Title = "Add Highlight", Tab = "Home", Callback = function() SetHighlight(true); end, }) Window:AddButton({ Title = "Remove Highlights", Tab = "Home", Callback = function() SetHighlight(false); end, }) Window:AddSection({ Title = "Settings", Tab = "Home" }) Window:AddInput({ Title = "Object Name", Tab = "Home", Callback = function(Input) if (GSub(Input, " ", Blank) == Blank) then Input = nil end Name = Input end, }) Window:AddInput({ Title = "Object Class Name", Tab = "Home", Callback = function(Input) if (GSub(Input, " ", Blank) == Blank) then Input = nil end Class = Input end, }) Window:AddToggle({ Title = "Highlight Parent", Description = "Gives the highlight to the parent of the part, useful for classes like ProximityPrompts that aren't parts", Tab = "Home", Callback = function(Boolean) SetParent = Boolean end, }) end end, }) Command.Add({ Aliases = { "scripts" }, Description = "Searches scripts using Scriptblox", Arguments = {}, Task = function() local Tab = Library.Tabs.Scriptblox if (Tab) then Tab.Open() else local Window = Library:CreateWindow({ Title = "Scriptblox", }) local Search = function(Input) local Scripts = JSONDecode(Services.Http, Methods.Get(Format("https://scriptblox.com/api/script/search?q=%s&max=200&mode=free", Input))) for Index, Script in next, Scripts.result.scripts do local Game = Script.game.name local Type = Script.scriptType local Main = Script.script local Title = Script.title Window:AddButton({ Title = Title, Description = Format("%s (%s)", Game, string.upper(Type)), Tab = "Home", Callback = function() API:Notify({ Title = "Scriptblox", Description = Format("Running %s...", Title), }) loadstring(Main)(); end, }) end end Window:AddSection({ Title = "Search", Tab = "Home" }) Window:AddInput({ Title = "Search", Tab = "Home", Callback = function(Input) for Index, Script in next, Window:GetTab("Home"):GetChildren() do if Script:IsA("TextButton") and Script.Frame:FindFirstChild("Description") then Destroy(Script); end end Search(Input); end, }) Window:AddSection({ Title = "Results", Tab = "Home" }); Search("Universal"); end end, }) Command.Add({ Aliases = { "fov", "field" }, Description = "Changes your Field of View", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) Camera.FieldOfView = SetNumber(Amount, 0, 120); end, }) Command.Add({ Aliases = { "respawn", "re" }, Description = "Respawns your character and places you in the same spot", Arguments = {}, Task = function() local Position = Root.CFrame local Connection Humanoid.Health = 0 Connection = Connect(LocalPlayer.CharacterAdded, function(Char) Char:WaitForChild("HumanoidRootPart").CFrame = Position Connection:Disconnect(); end) end, }) Command.Add({ Aliases = { "setfflag", "setff" }, Description = "Set a fast flag", Arguments = { { Name = "Flag", Type = "String" }, { Name = "Value", Type = "String" }, }, Task = function(Flag, Value) if (Flag or Value) then local Method = (setfflag or function(Flag, Value) game:DefineFastFlag(Flag, Value); end) local Success, Result = pcall(function() Method(Flag, Value); end) if (Success) then return "Set Fast Flag", Format("Set %s's value to %s", Flag, Value); else return "Error occured setting fast flag", Result, 10 end end end, }) Command.Add({ Aliases = { "tpwalk", "walk" }, Description = "Change your walkspeed (more undetectable)", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Speed) Refresh("Walk", true); repeat Wait() if (Humanoid.MoveDirection.Magnitude > 0) then Character:TranslateBy(Humanoid.MoveDirection * SetNumber(Speed) * CWait(Services.Run.Heartbeat) * 10); end until (not Get("Walk") or not Character) end, }) Command.Add({ Aliases = { "untpwalk", "unwalk" }, Description = "Stops the tpwalk command", Arguments = {}, Task = function() Refresh("Walk", false); end, }) Command.Add({ Aliases = { "animation", "anim" }, Description = "Plays animation id", Arguments = { { Name = "Animation Id", Type = "String" }, { Name = "Speed", Type = "Number" }, }, Task = function(AnimationId, AnimationSpeed) Refresh("Animation", true); local Animation = Humanoid:FindFirstChildOfClass("Animator"):LoadAnimation(Create("Animation", { AnimationId = Format("rbxassetid://%s", AnimationId), })) Animation:Play(); Animation:AdjustSpeed(SetNumber(AnimationSpeed or 1)); Cleaner:Add("Animation", Animation); end, }) Command.Add({ Aliases = { "unanimation", "unanim" }, Description = "Stops the animation you're currently playing", Arguments = {}, Task = function() Refresh("Animation", false); end, }) Command.Add({ Aliases = { "emote" }, Description = "Plays emotes using the Emote IDs", Arguments = { { Name = "Emote Id", Type = "String" }, { Name = "Speed", Type = "Number" }, }, Task = function(EmoteId, EmoteSpeed) Refresh("Emote", true); local ID = (function() local Object = Services.Insert:LoadLocalAsset(Format("rbxassetid://%s", EmoteId)); if (Object) then return Object.AnimationId end end)() if (not ID) then return "Emote", "Couldn't find Emote Animation ID" end local EmoteTrack = Humanoid:FindFirstChildOfClass("Animator"):LoadAnimation(Create("Animation", { AnimationId = ID, })) EmoteTrack:Play(); EmoteTrack:AdjustSpeed(SetNumber(EmoteSpeed or 1)); Cleaner:Add("Emote", EmoteTrack); end, }) Command.Add({ Aliases = { "unemote" }, Description = "Undoes the Emote command", Arguments = {}, Task = function(EmoteId, EmoteSpeed) Refresh("Emote", false); end, }) Command.Add({ Aliases = { "discord", "joindiscord" }, Description = "Join the Discord - Command copies the link to your clipboard", Arguments = {}, Task = function(EmoteId, EmoteSpeed) if (setclipboard) then setclipboard("https://discord.gg/pBDqEj4BSP"); return "Cmd", "Set discord invite to clipboard (discord.gg/pBDqEj4BSP)" else return "Cmd", "Couldn't set to clipboard, join discord.gg/pBDqEj4BSP", 30 end end, }) Command.Add({ Aliases = { "f3x", "btools" }, Description = "Clientside building tools", Arguments = {}, Task = function() local System = (game:GetObjects("rbxassetid://6695644299")[1]); if (System) then loadstring(System.Source)(); end end, }) Command.Add({ Aliases = { "antifling", "antif" }, Description = "Stops people from flinging you", Arguments = {}, Task = function() Refresh("AntiFling", true); local AntiFling = function(Player) Spawn(function() if (Player ~= LocalPlayer) then local Properties = ({ CanCollide = false, Velocity = Vector3.zero, RotVelocity = Vector3.zero, AssemblyLinearVelocity = Vector3.zero, AssemblyAngularVelocity = Vector3.zero, }) local Character = Player.Character or Player.CharacterAdded:Wait(); local Init = function(BasePart) for Property, Default in next, Properties do Cleaner:Add("AntiFling", Connect(Changed(BasePart, Property), function() BasePart[Property] = Default end)) BasePart[Property] = Default end end for _, BasePart: BasePart in next, GetClasses(Character, "BasePart") do Init(BasePart); end Cleaner:Add("AntiFling", Connect(Character.DescendantAdded, function(BasePart) if (BasePart:IsA("BasePart")) then Init(BasePart); end end)) end end) end local AddPlayer = function(Target: Player) AntiFling(Target); Cleaner:Add("AntiFling", Connect(Target.CharacterAdded, function() AntiFling(Target); end)) end for _, Player in next, Services.Players:GetPlayers() do AddPlayer(Player); end Cleaner:Add("AntiFling", Connect(Services.Players.PlayerAdded, AddPlayer)); return "Anti Fling", "Enabled" end, }) Command.Add({ Aliases = { "unantifling", "unantif" }, Description = "Disables the AntiFling command", Arguments = {}, Task = function() Refresh("AntiFling", false); return "Anti Fling", "Disabled" end, }) Command.Add({ Aliases = { "clonetools", "ctools" }, Description = "Clones all tools a player has", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Target) for _, Player in next, GetPlayer(Target) do if (Player.Backpack) then for _, Tool in next, GetClasses(Player.Backpack, "Tool", true) do Tool:Clone().Parent = (LocalPlayer.Backpack); end end if (Player.Character) then for _, Tool in next, GetClasses(Player.Character, "Tool", true) do Tool:Clone().Parent = (LocalPlayer.Backpack); end end end return "Clone Tools", "Cloned player tools (if there were no tools added, the player doesn't have any tools)" end, }) Command.Add({ Aliases = { "hideguis", "hguis" }, Description = "Hides all GUIs on your screen", Arguments = {}, Task = function(Target) if (Get("HideGUIs")) then Command.Parse(true, "showguis"); end Refresh("HideGUIs", {}); for _, GUI in next, GetClasses(LocalPlayer.PlayerGui, "ScreenGui", true) do if (GUI.Enabled) then Insert(Get("HideGUIs"), GUI); GUI.Enabled = false end end end, }) Command.Add({ Aliases = { "showguis", "sguis" }, Description = "Undoes the HideGUIs command", Arguments = {}, Task = function(Target) for _, GUI in next, (Get("HideGUIs") or {}) do GUI.Enabled = true end Add("HideGUIs", nil); end, }) Command.Add({ Aliases = { "antibang", "abang" }, Description = "This DOESN'T automatically run - run this when someone is using the bang command on you", Arguments = {}, Task = function() local OldHeight = workspace.FallenPartsDestroyHeight local OldCoordinate = Root.CFrame workspace.FallenPartsDestroyHeight = 0/0 Root.CFrame = CFrame.new(0, -9e9, 0); Wait(1); Root.CFrame = OldCoordinate workspace.FallenPartsDestroyHeight = OldHeight end, }) Command.Add({ Aliases = { "creatorid", "cid" }, Description = "Makes the client think you're the game owner", Arguments = {}, Task = function() local CreatorId = (game.CreatorType == Enum.CreatorType.User and game.CreatorId) or (Services.GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id); local Username = Services.Players:GetNameFromUserIdAsync(CreatorId); LocalPlayer.UserId = (CreatorId or 1); LocalPlayer.Name = (Username or LocalPlayer.Name); return "Creator Id", "Set UserId to the CreatorId" end, }) Command.Add({ Aliases = { "invitelink", "invlink" }, Description = "Makes a invite link to join the server you're in", Arguments = {}, Task = function() local InviteLink = Format("roblox://placeId=%d&gameInstanceId=%s", game.PlaceId, game.JobId); setclipboard(InviteLink); return "Invite Link", Format("Invite Link copied to your clipboard (%s)", InviteLink); end, }) Command.Add({ Aliases = { "propertychanged", "changed" }, Description = "Fires a command whenever a property gets changed", Arguments = { { Name = "Object", Type = "String" }, { Name = "Property", Type = "String" }, { Name = "Command Name", Type = "String" }, { Name = "Arguments", Type = "String" }, }, Task = function(Parent, Property, CommandName, ...) local Arguments = ({ ... }); local Object = StringToInstance(Parent); Add("Changed", true); if (Parent and Property and CommandName) then Command.Run(true, CommandName, Arguments); Cleaner:Add("Changed", Connect(Changed(Object, Property), function() Command.Run(true, CommandName, Arguments); end)) API:Notify({ Title = "Property Changed", Description = Format("Listening to %s..", Property), Duration = 10, Info = "Success", }) else API:Notify({ Title = "Failed", Description = "One or more arguments missing when trying to run command", Duration = 5, Info = "Error", }) end end, }) Command.Add({ Aliases = { "unpropertychanged", "unchanged" }, Description = "Stops all previous property changed signals", Arguments = {}, Task = function() Refresh("Changed", false); end, }) Command.Add({ Aliases = { "loop" }, Description = "Repeatedly fire a command", Arguments = { { Name = "Optional Delay", Type = "Number" }, { Name = "Command Name", Type = "String" }, { Name = "Arguments", Type = "String" }, }, Task = function(Delay, Name, Argumemts) Add("Loop", true); local Arguments if (tonumber(Delay)) then Arguments = Minimum(FullArgs, 3); else Name, Delay, Arguments = (Delay), (0.05), (Minimum(FullArgs, 2)); end repeat Wait(Delay or 0) Command.Run(true, Name, Arguments); until (not Get("Loop")) end, }) Command.Add({ Aliases = { "unloop" }, Description = "Stops all the commands that are being repeated", Arguments = {}, Task = function() Refresh("Loop", false); return "Loop", "Every looped command has been disabled" end, }) Command.Add({ Aliases = { "repeat" }, Description = "Runs a command a repeated amount of times", Arguments = { { Name = "Repeat amount", Type = "Number" }, { Name = "Delay", Type = "Number" }, { Name = "Command Name", Type = "String" }, { Name = "Arguments", Type = "String" }, }, Task = function(RepeatAmount, Delay, Name, Arguments) if (tonumber(RepeatAmount) and tonumber(Delay)) then Arguments = Minimum(FullArgs, 4); elseif (tonumber(RepeatAmount) and not tonumber(Delay)) then Name, Delay, Arguments = Delay, 0, Minimum(FullArgs, 3); elseif (not tonumber(RepeatAmount) and not tonumber(Delay)) then Name, RepeatAmount, Delay, Arguments = RepeatAmount, 1, 0, Minimum(FullArgs, 2); elseif (RepeatAmount and Delay) then Name, RepeatAmount, Delay, Arguments = RepeatAmount, 1, 0, Minimum(FullArgs, 2); end local Amount = (tonumber(RepeatAmount) or 1); for Index = 1, Amount do Command.Run(true, Name, Arguments or {}); Wait(Delay or 0); end return Name, Format("Repeated %s times", Amount); end, }) Command.Add({ Aliases = { "tospawn", "ts" }, Description = "Teleports you to a SpawnPoint", Arguments = {}, Task = function() for Index, Point in next, GetClasses(workspace, "SpawnLocation") do Root.CFrame = Point.CFrame * CFrame.new(0, 5, 0); end end, }) Command.Add({ Aliases = { "god", "antikill" }, Description = "Disables every part in the game from detecting if you touched it", Arguments = {}, Task = function() for Index, BasePart in next, GetClasses(workspace, "BasePart") do BasePart.CanTouch = false end return "Anti Kill", "Anti kill has been enabled" end, }) Command.Add({ Aliases = { "ungod", "unantikill" }, Description = "Disables the god command", Arguments = {}, Task = function() for Index, BasePart in next, GetClasses(workspace, "BasePart") do BasePart.CanTouch = true end return "Anti Kill", "Anti kill has been disabled" end, }) Command.Add({ Aliases = { "dex", "explorer" }, Description = "Opens Dex Explorer - by Moon", Arguments = {}, Task = function() loadstring(game:HttpGet("https://github.com/AZYsGithub/DexPlusPlus/releases/latest/download/out.lua"))(); end, }) Command.Add({ Aliases = { "cameranoclip", "camnoclip", "cnc" }, Description = "Allows your camera to see through walls", Arguments = {}, Task = function() LocalPlayer.DevCameraOcclusionMode = Enum.DevCameraOcclusionMode.Invisicam end, }) Command.Add({ Aliases = { "uncameranoclip", "cameraclip", "camclip", "cc" }, Description = "Disables the camera noclip command", Arguments = {}, Task = function() LocalPlayer.DevCameraOcclusionMode = Enum.DevCameraOcclusionMode.Zoom end, }) Command.Add({ Aliases = { "firstperson", "fps", "1p", "3rd" }, Description = "Forces your character to go first-person", Arguments = {}, Task = function() LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson end, }) Command.Add({ Aliases = { "thirdperson", "tps", "3p", "1st" }, Description = "Forces your camera to be 3rd person", Arguments = {}, Task = function() LocalPlayer.CameraMode = Enum.CameraMode.Classic end, }) Command.Add({ Aliases = { "maxzoom", "maxz" }, Description = "Set the max amount your camera can zoom out", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) LocalPlayer.CameraMaxZoomDistance = SetNumber(Amount); return "Maximum Zoom", Format("Set maximum zoom to %s", Amount); end, }) Command.Add({ Aliases = { "minzoom", "minz" }, Description = "Set the min amount your camera can zoom in", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) LocalPlayer.CameraMinZoomDistance = SetNumber(Amount); return "Minimum Zoom", Format("Set minimum zoom to %s", Amount); end, }) Command.Add({ Aliases = { "autorespawn", "autore" }, Description = "Automatically teleports you back to your death location", Arguments = {}, Task = function() Add("AutoRespawn", true) local Teleport = function() Spawn(function() local Character = (LocalPlayer.Character); if (Character and Get("AutoRespawn")) then local Humanoid = Character:WaitForChild("Humanoid"); local Coordinate Connect(Humanoid.Died, function() if (Get("AutoRespawn")) then Coordinate = Humanoid.RootPart.CFrame end end); CWait(LocalPlayer.CharacterAdded); local Root = LocalPlayer.Character:WaitForChild("HumanoidRootPart"); Root.CFrame = (Coordinate or Root.CFrame) end end) end Teleport() Connect(LocalPlayer.CharacterAdded, Teleport) return "Auto Respawn", "Auto Respawn has been enabled" end, }) Command.Add({ Aliases = { "unautorespawn", "unautore" }, Description = "Disables the autorespawn command", Arguments = {}, Task = function() Refresh("AutoRespawn", false); return "Auto Respawn", "Auto Respawn has been disabled" end, }) Command.Add({ Aliases = { "fastcarts", "fastc" }, Description = "Increases cart speed, making them go forward", Arguments = {}, Task = function() Refresh("FastCarts", true); if (not fireclickdetector) then return "Unsupported Executor", "Your executor does not support this command, missing function - fireclickdetector()" end local Slow = function(Cart) if (Cart:IsA("Model")) then local Button = Cart:FindFirstChild("Up"); local ClickDetector = Button and Button:FindFirstChildOfClass("ClickDetector"); if (ClickDetector) then repeat Wait(0.1) task.spawn(fireclickdetector, ClickDetector); until (not Button) or (not ClickDetector) or (not Get("FastCarts")) end end end for _, Cart in next, GetClasses(workspace, "Model", false) do Spawn(Slow, Cart); end Cleaner:Add("FastCarts", Connect(workspace.DescendantAdded, function(Cart) Slow(Cart); end)) return "Fast Carts", "If you can't open the command bar, your executor is blocking it because of the click detectors" end, }) Command.Add({ Aliases = { "unfastcarts", "unfastc" }, Description = "Stops the FastCarts command", Arguments = {}, Task = function() Refresh("FastCarts", false); end, }) Command.Add({ Aliases = { "slowcarts", "slowc" }, Description = "Decreases cart speed, making them go backwards", Arguments = {}, Task = function() Refresh("SlowCarts", true); if (not fireclickdetector) then return "Unsupported Executor", "Your executor does not support this command, missing function - fireclickdetector()" end local Slow = function(Cart) if (Cart:IsA("Model")) then local Button = Cart:FindFirstChild("Down"); local ClickDetector = Button and Button:FindFirstChildOfClass("ClickDetector"); if (ClickDetector) then repeat Wait(0.1) task.spawn(fireclickdetector, ClickDetector); until (not Button) or (not ClickDetector) or (not Get("SlowCarts")) end end end for _, Cart in next, GetClasses(workspace, "Model", false) do Spawn(Slow, Cart); end Cleaner:Add("SlowCarts", Connect(workspace.DescendantAdded, function(Cart) Slow(Cart); end)) return "Slow Carts", "If you can't open the command bar, your executor is blocking it because of the click detectors" end, }) Command.Add({ Aliases = { "unslowcarts", "unslowc" }, Description = "Stops the SlowCarts command", Arguments = {}, Task = function() Refresh("SlowCarts", false); end, }) Command.Add({ Aliases = { "enablechat", "enablec", "ech" }, Description = "Enables the default chat UI", Arguments = {}, Task = function() Services.Starter:SetCoreGuiEnabled(2, true); end, }) Command.Add({ Aliases = { "enableinventory", "enableinv", "einv" }, Description = "Enables the default inventory UI", Arguments = {}, Task = function() Services.Starter:SetCoreGuiEnabled(2, true); end, }) Command.Add({ Aliases = { "disableinventory", "disableinv", "dinv" }, Description = "Disables the default inventory UI", Arguments = {}, Task = function() Services.Starter:SetCoreGuiEnabled(2, false); end, }) Command.Add({ Aliases = { "fullbright", "fb" }, Description = "Sets the game to full brightness", Arguments = {}, Task = function() local Lighting = Services.Lighting MultiSet(Lighting, { ClockTime = 12, Brightness = 1, GlobalShadows = false, FogEnd = 9e9, Ambient = Color3.fromRGB(255, 255, 255), }) Connect(Changed(Lighting, "ClockTime"), function() Lighting.ClockTime = 12 end) Connect(Changed(Lighting, "Brightness"), function() Lighting.Brightness = 1 end) Connect(Changed(Lighting, "GlobalShadows"), function() Lighting.GlobalShadows = false end) Connect(Changed(Lighting, "FogEnd"), function() Lighting.FogEnd = 9e9 end) return "Full Bright", "Full Bright has been enabled" end, }) Command.Add({ Aliases = { "fpsbooster", "fps" }, Description = "Lowers graphics for more FPS", Arguments = {}, Task = function() local SetInstance = function(Instance) if (Instance) then if (Instance:IsA("Texture") or Instance:IsA("Decal")) then Destroy(Instance); elseif (Instance:IsA("BasePart")) then Instance.Material = (Enum.Material.Plastic); Instance.Reflectance = (0); Instance.CastShadow = (false); elseif (Instance:IsA("ParticleEmitter") or Instance:IsA("Trail")) then Instance.Lifetime = NumberRange.new(0); elseif (Instance:IsA("Fire") or Instance:IsA("SpotLight") or Instance:IsA("Smoke") or Instance:IsA("Sparkles")) then Instance.Enabled = (false); end end end Connect(workspace.DescendantAdded, SetInstance); for Index, Instance in next, (workspace:GetDescendants()) do SetInstance(Instance); end return "FPS Booster", "Rejoin to undo the command" end, }) Command.Add({ Aliases = { "anticframeteleport", "actp" }, Description = "Prevents the game from teleporting your character", Arguments = {}, Task = function() Refresh("AntiCFrame", true); local Allowed, Old = (nil), (nil); Connect(Changed(Root, "CFrame"), function() if (Get("AntiCFrame")) then Allowed = true Root.CFrame = Old; Wait(); Allowed = false end end) API:Notify({ Title = "Anti Teleport", Description = "Anti CFrame Teleport has been enabled", }) repeat Wait() Old = (Root.CFrame); until (not Root) end, }) Command.Add({ Aliases = { "unanticframeteleport", "unactp" }, Description = "Disables the anticframeteleport command", Arguments = {}, Task = function() Add("AntiCFrame", false); return "Anti Teleport", "Anti CFrame Teleport has been disabled" end, }) Command.Add({ Aliases = { "swordkill", "skill" }, Description = "Kills your target using a sword", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Sword for Index, Target in next, GetPlayer(Input) do if (Target ~= LocalPlayer) then local TargetCharacter = GetCharacter(Target); local TRoot = GetRoot(Target); local THumanoid = GetHumanoid(Target); local Timer = tick(); if TargetCharacter and (not TargetCharacter:FindFirstChildOfClass("ForceField")) then for Index, Tool in next, GetClasses(Backpack, "Tool", true) do if (Find(Lower(Tool.Name), "sword")) then Sword = Tool end end repeat Wait() Sword.Parent = Character Sword:Activate(); if (firetouchinterest) then firetouchinterest(TRoot, Sword.Handle, 0); Wait(); firetouchinterest(TRoot, Sword.Handle, 1); else TRoot.CFrame = (Root.CFrame * CFrame.new(2, 0, -3)); end until (THumanoid.Health == 0) or (tick() - Timer >= 5) end end end Humanoid:UnequipTools(); return "Sword Kill", "Killed the target(s)" end, }) Command.Add({ Aliases = { "activatetool", "at" }, Description = "Activates a specific tool", Arguments = { { Name = "Tool", Type = "String" }, }, Task = function(Input) for Index, Tool in next, GetClasses(Backpack, "Tool", true) do if (Find(Lower(Tool.Name), Lower(Input))) then Tool.Parent = Character Tool:Activate(); Wait() Tool.Parent = Backpack end end end, }) Command.Add({ Aliases = { "activatetools", "ats" }, Description = "Activates every tool in your inventory", Arguments = {}, Task = function() for Index, Tool in next, GetClasses(Backpack, "Tool", true) do Tool.Parent = Character Tool:Activate(); Wait() Tool.Parent = Backpack end end, }) Command.Add({ Aliases = { "equiptools", "et" }, Description = "Equips every tool in your inventory", Arguments = { { Name = "Tool", Type = "String" }, }, Task = function(Input) for Index, Tool in next, GetClasses(Backpack, "Tool", true) do Tool.Parent = Character end end, }) Command.Add({ Aliases = { "deletetools", "dtools" }, Description = "Removes all tools in your inventory", Arguments = {}, Task = function() Backpack:ClearAllChildren(); return "Delete Tools", "Cleared all children" end, }) Command.Add({ Aliases = { "spoof" }, Description = "Spoof an instance's property", Arguments = { { Name = "Instance PATH", Type = "String" }, { Name = "Propery", Type = "String" }, { Name = "Value", Type = "String" }, }, Task = function(Parent, Property, Value) local Instance = StringToInstance(Parent); if (Value == "nil") then Value = nil elseif (Value == "false") then Value = false end if (Instance and Property and Value) then Spoof(Instance, Property, Value); API:Notify({ Title = "Spoofing", Description = Format("Spoofing %s and setting the value to %s", Property, tostring(Value)), Duration = 10, Info = "Success", }) else API:Notify({ Title = "Spoofing", Description = "One or more arguments missing when trying to spoof", Duration = 5, Info = "Error", }) end end, }) Command.Add({ Aliases = { "spoofwalkspeed", "spoofws", "sws" }, Description = "Spoofs your WalkSpeed", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) local Number = (SetNumber(Amount) or 16); Spoof(Humanoid, "WalkSpeed", Number); return "Walkspeed", Format("Spoofed to %d", Number); end, }) Command.Add({ Aliases = { "spoofjumppower", "spoofjp", "sjp" }, Description = "Spoofs your JumpPower", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) local Number = (SetNumber(Amount) or 16) Spoof(Humanoid, "JumpPower", Number); return "Jump Power", Format("Spoofed to %d", Number); end, }) Command.Add({ Aliases = { "invisible", "invis", "inv" }, Description = "Makes your character invisible", Arguments = {}, Task = function() local OriginalPlayer = Services.Lighting:FindFirstChild(LocalPlayer.Name); Character.Archivable = true if (not OriginalPlayer) then local Clone = Clone(Character); local Animate = (Clone.Animate); for Index, BodyPart in next, GetClasses(Clone, "BasePart", true) do BodyPart.Transparency = (0.7); end Root.CFrame = CFrame.new(1000, 1000, 1000); Wait(0.1) Root.Anchored = true Clone.Parent = Character.Parent Character.Parent = Services.Lighting LocalPlayer.Character = Clone Animate.Disabled = true Animate.Disabled = false Character = Clone Root = GetRoot(LocalPlayer); Humanoid = GetHumanoid(LocalPlayer); Camera.CameraSubject = Humanoid end end, }) Command.Add({ Aliases = { "visible", "vis" }, Description = "Makes your character visible (disables invisible)", Arguments = {}, Task = function() local OriginalPlayer = Services.Lighting:FindFirstChild(LocalPlayer.Name); if (OriginalPlayer) then local Invisible = LocalPlayer.Character local Parent = Invisible.Parent local Position = Root.CFrame LocalPlayer.Character = OriginalPlayer LocalPlayer.Character.Parent = Parent Character = OriginalPlayer Root = GetRoot(LocalPlayer); Humanoid = GetHumanoid(LocalPlayer); Wait(0.1); Root.Anchored = false Root.CFrame = Position Camera.CameraSubject = Humanoid Destroy(Invisible) end end, }) Command.Add({ Aliases = { "sit" }, Description = "Makes you sit", Arguments = {}, Task = function() Humanoid.Sit = true end, }) Command.Add({ Aliases = { "flood" }, Description = "Floods the chat with spam", Arguments = {}, Task = function() Refresh("Flood", true); repeat Wait(1) Chat(Format("%s", ("ã…¤"):rep(66))); until (not Get("Flood")) end, }) Command.Add({ Aliases = { "unflood" }, Description = "Stops the flood command", Arguments = {}, Task = function() Refresh("Flood", false); end, }) Command.Add({ Aliases = { "spam" }, Description = "Spams your selected message into the chat", Arguments = { { Name = "Message", Type = "String" }, { Name = "Cooldown", Type = "Number" }, }, Task = function(Message, Cooldown) Add("Spam", true); repeat Wait(SetNumber(Cooldown) or 0.3) Chat(Message); until (not Get("Spam")) end, }) Command.Add({ Aliases = { "unspam" }, Description = "Disables the spam command", Arguments = {}, Task = function() Refresh("Spam", false); return "Spam", "Stopped the spamming" end, }) Command.Add({ Aliases = { "sync" }, Description = "Plays every sound in-game in sync", Arguments = {}, Task = function() Refresh("Sync", true); if (RespectFilteringEnabled) then return "Sync", "Couldn't sync since RFE is turned on" else repeat Wait() for Index, Sound in next, GetClasses(game, "Sound") do Sound.Volume = 10 Sound:Play() end until (not Get("Sync")) end end, }) Command.Add({ Aliases = { "unsync" }, Description = "Disables the sync command", Arguments = {}, Task = function() Refresh("Sync", false); end, }) Command.Add({ Aliases = { "buff" }, Description = "Easier to move unanchored parts", Arguments = {}, Task = function() for Index, BodyPart in next, GetClasses(Character, "BasePart", true) do BodyPart.CustomPhysicalProperties = PhysicalProperties.new(100, 0.5, 0.5); end return "Buff", "Buff has been enabled" end, }) Command.Add({ Aliases = { "unbuff" }, Description = "Disables the buff command", Arguments = {}, Task = function() for Index, BodyPart in next, GetClasses(Character, "BasePart", true) do BodyPart.CustomPhysicalProperties = PhysicalProperties.new(1, 0.5, 0.5); end return "Buff", "Buff has been disabled" end, }) Command.Add({ Aliases = { "setunanchoredgravity", "sug" }, Description = "Sets the gravity for unanchored parts", Arguments = { { Name = "Amount", Type = "String" }, }, Task = function(Amount) local BodyForces = ({}); local Gravity = SetNumber(Amount); local Set = function(Part) local Model = Part:FindFirstAncestorOfClass("Model"); local Character = Model and Services.Players:GetPlayerFromCharacter(Model); if (Part and Part:IsA("BasePart") and not Part.Anchored and not Character) then Insert(BodyForces, Create("BodyForce", { Force = Part:GetMass() * Vector3.new(Gravity, workspace.Gravity, Gravity), Parent = Part, })) end end for _, BodyForce in next, (Get("SUG") or {}) do Destroy(BodyForce); end SetSRadius(9e9, 9e9); Connect(workspace.DescendantAdded, Set); for Index, Part in next, GetClasses(workspace, "BasePart") do Set(Part); end Refresh("SUG", BodyForces); return "Gravity", Format("Set unanchored gravity to %s", Amount) end, }) Command.Add({ Aliases = { "unsetunanchoredgravity", "unsug" }, Description = "Disables the SetUnanchoredGravity command", Arguments = {}, Task = function() for _, BodyForce in next, (Get("SUG") or {}) do Destroy(BodyForce); end return "Gravity", "Removed gravity for unanchored parts" end, }) Command.Add({ Aliases = { "remotespy", "rspy" }, Description = "UI for viewing fired remotes", Arguments = {}, Task = function(Amount) loadstring(game:HttpGet("https://github.com/notpoiu/cobalt/releases/latest/download/Cobalt.luau"))(); end, }) Command.Add({ Aliases = { "deleteparts", "delparts" }, Description = "Deletes every unanchored part you have network ownership over", Arguments = {}, Task = function() local Target = Create("Part", { CFrame = CFrame.new(0, workspace.FallenPartsDestroyHeight + 2, 0), Anchored = true, CanCollide = false, }) for Index, Part in next, GetClasses(workspace, "BasePart") do local Model = Part:FindFirstAncestorOfClass("Model"); local PlayerObject = (Model and Services.Players:GetPlayerFromCharacter(Model)); if (not Part.Anchored) and (not PlayerObject) then Attach(Part, Target, true); end end Destroy(Target); end, }) Command.Add({ Aliases = { "attachpart", "apart" }, Description = "Click an unanchored part to attach it", Arguments = {}, Task = function() Connect(Mouse.Button1Down, function() Attach(Mouse.Target); end) return "Part Attach", "Loaded successfully!" end, }) Command.Add({ Aliases = { "attachparts", "aparts", "attach" }, Description = "Attaches all unanchored parts to you", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Player) local Players = GetPlayer(Player or "me"); local Target = (Players[1] or LocalPlayer); for Index, Part in next, GetClasses(workspace, "BasePart") do Attach(Part, GetRoot(Target)); end return "Part Attach", "Attached to every part in game" end, }) Command.Add({ Aliases = { "controlnpc", "cnpc" }, Description = "Click an NPC to start controlling it", Arguments = {}, Task = function() Refresh("ControlNPC", true); Cleaner:Add("ControlNPC", Connect(Mouse.Button1Down, function() local Target = Mouse.Target local ModelDescendant = Target:FindFirstAncestorOfClass("Model") local HasHumanoid = (ModelDescendant and ModelDescendant:FindFirstChildOfClass("Humanoid")) if (ModelDescendant and HasHumanoid) and (not Services.Players:GetPlayerFromCharacter(ModelDescendant)) then local RootPart = (ModelDescendant:FindFirstChild("HumanoidRootPart") or ModelDescendant:FindFirstChild("Torso")); Attach(RootPart, nil, false, true); repeat Wait() for Index, BodyPart in next, GetClasses(ModelDescendant, "BasePart") do BodyPart.CanCollide = false end until (not Get("ControlNPC") or not ModelDescendant) end end)) return "NPC", "Control NPC has been enabled" end, }) Command.Add({ Aliases = { "uncontrolnpc", "uncnpc" }, Description = "Disables the ControlNPC command", Arguments = {}, Task = function() Refresh("ControlNPC", false); return "NPC", "Control NPC has been disabled" end, }) Command.Add({ Aliases = { "blackhole", "bh" }, Description = "Creates a black hole that grabs unanchored parts", Arguments = {}, Task = function() Refresh("Blackhole", true); local Blackhole = Create("Part", { Parent = workspace, Transparency = 0.5, CFrame = Root.CFrame, CanCollide = false, Anchored = true, }) for Index, Part in next, GetClasses(workspace, "BasePart") do Attach(Part, Blackhole); end Cleaner:Add("Blackhole", Blackhole); Cleaner:Add("Blackhole", Connect(workspace.DescendantAdded, function(Part) if (Part:IsA("BasePart")) then Attach(Part, Blackhole); end end)) end, }) Command.Add({ Aliases = { "unblackhole", "unbh" }, Description = "Disables the blackhole command", Arguments = {}, Task = function() Refresh("Blackhole", false); RemoveAttachments(); end, }) Command.Add({ Aliases = { "unattach" }, Description = "Detaches all previously attached parts", Arguments = {}, Task = function() RemoveAttachments(); return "Part Attach", "Unattached every part" end, }) Command.Add({ Aliases = { "bringunanchored", "bringua", "brua" }, Description = "Brings all unanchored parts to you or your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Player) local Players = GetPlayer(Player or "me"); local Target = (Players[1] or LocalPlayer); for _, Part in next, GetClasses(workspace, "BasePart") do if (not Part.Anchored) then Attach(Part, GetRoot(Target), true); end end return "Unanchored", "All possible parts have been brough" end, }) Command.Add({ Aliases = { "stand" }, Description = "Turns you into someone's stand", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Player) local Targets = GetPlayer(Player); Refresh("Stand", true); for _, Target in next, Targets do local Anim = Create("Animation", { AnimationId = "rbxassetid://3337994105" }); local Load = GetHumanoid(LocalPlayer):LoadAnimation(Anim); Camera.CameraSubject = GetHumanoid(Target); Load:Play(); Command.Parse(true, "airwalk"); repeat Wait() local Root = GetRoot(Target) if Root then GetRoot(LocalPlayer).CFrame = GetRoot(Target).CFrame * CFrame.new(2.2, 1.2, 2.3); else break end until (not Get("Stand") or not Target) Load:Stop(); Add("Stand", false); Command.Parse(true, "unairwalk"); Camera.CameraSubject = GetHumanoid(LocalPlayer); break end end, }) Command.Add({ Aliases = { "unstand" }, Description = "Disables the Stand command", Arguments = {}, Task = function() Add("Stand", false); end, }) Command.Add({ Aliases = { "killnpcs", "knpc" }, Description = "Kills all NPCs", Arguments = {}, Task = function() for Index, NPC in next, GetPlayer("NPC") do local Humanoid = NPC:FindFirstChildOfClass("Humanoid"); if (Humanoid) then Humanoid.Health = 0 end end return "NPC", "Killed all NPCs" end, }) Command.Add({ Aliases = { "flingnpcs", "fnpc" }, Description = "Flings all NPCs", Arguments = {}, Task = function() for Index, NPC in next, GetPlayer("NPC") do local Humanoid = NPC:FindFirstChildOfClass("Humanoid"); if (Humanoid) then Humanoid.HipHeight = 1024 end end return "NPC", "Flinged all NPCs" end, }) Command.Add({ Aliases = { "voidnpcs", "vnpc" }, Description = "Voids all NPCs", Arguments = {}, Task = function() for Index, NPC in next, GetPlayer("NPC") do local Humanoid = NPC:FindFirstChildOfClass("Humanoid"); if (Humanoid) then Humanoid.HipHeight = -1024 end end return "NPC", "Voided all NPCs" end, }) Command.Add({ Aliases = { "bringnpcs", "bnpc" }, Description = "Brings all NPCs", Arguments = {}, Task = function() for Index, NPC in next, GetPlayer("NPC") do local RootPart = (NPC:FindFirstChild("HumanoidRootPart") or NPC:FindFirstChild("Torso")); if (RootPart) then RootPart.CFrame = Root.CFrame end end return "NPC", "Brought all NPCs" end, }) Command.Add({ Aliases = { "follownpcs", "fonpc" }, Description = "Makes all NPCs follow you", Arguments = {}, Task = function() Refresh("FollowNPCs", true) repeat Wait(0.1) for Index, NPC in next, GetPlayer("NPC") do local Humanoid = NPC:FindFirstChildOfClass("Humanoid"); if (Humanoid) then Humanoid:MoveTo(Root.Position); end end until (not Get("FollowNPCs")) end, }) Command.Add({ Aliases = { "unfollownpcs", "unfonpc" }, Description = "Disables the FollowNPCs command", Arguments = {}, Task = function() Refresh("FollowNPCs", false); end, }) Command.Add({ Aliases = { "clickkillnpc", "cknpc" }, Description = "Click a NPC kill it", Arguments = {}, Task = function() Refresh("ClickKillNPC", true); Cleaner:Add("ClickKillNPC", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local Humanoid = (ModelDescendant and ModelDescendant:FindFirstChildOfClass("Humanoid")); if (ModelDescendant and Humanoid and (not Services.Players:GetPlayerFromCharacter(ModelDescendant))) then Humanoid.Health = 0 end end)) end, }) Command.Add({ Aliases = { "unclickkillnpc", "uncknpc" }, Description = "Stops the ClickKillNPC command", Arguments = {}, Task = function() Refresh("ClickKillNPC", false); end, }) Command.Add({ Aliases = { "clickflingnpc", "cfnpc" }, Description = "Click a NPC to fling it", Arguments = {}, Task = function() Refresh("ClickFlingNPC", true); Cleaner:Add("ClickFlingNPC", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local Humanoid = (ModelDescendant and ModelDescendant:FindFirstChildOfClass("Humanoid")); if (ModelDescendant and Humanoid and (not Services.Players:GetPlayerFromCharacter(ModelDescendant))) then Humanoid.HipHeight = 1024 end end)) end, }) Command.Add({ Aliases = { "unclickflingnpc", "uncfnpc" }, Description = "Stops the ClickFlingNPC command", Arguments = {}, Task = function() Refresh("ClickFlingNPC", false); end, }) Command.Add({ Aliases = { "clickvoidnpc", "cvnpc" }, Description = "Click a NPC to void it", Arguments = {}, Task = function() Refresh("ClickVoidNPC", true); Cleaner:Add("ClickVoidNPC", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local Humanoid = (ModelDescendant and ModelDescendant:FindFirstChildOfClass("Humanoid")); if (ModelDescendant and Humanoid and (not Services.Players:GetPlayerFromCharacter(ModelDescendant))) then Humanoid.HipHeight = -1024 end end)) end, }) Command.Add({ Aliases = { "unclickvoidnpc", "uncvnpc" }, Description = "Stops the ClickVoidNPC command", Arguments = {}, Task = function() Refresh("ClickVoidNPC", false); end, }) Command.Add({ Aliases = { "clickbringnpc", "cbnpc" }, Description = "Click a NPC to bring it to you", Arguments = {}, Task = function() Refresh("ClickBringNPC", true); Cleaner:Add("ClickBringNPC", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local Humanoid = (ModelDescendant and ModelDescendant:FindFirstChildOfClass("Humanoid")); if (ModelDescendant and Humanoid and (not Services.Players:GetPlayerFromCharacter(ModelDescendant))) then local Object = (Humanoid.RootPart or ModelDescendant:FindFirstChild("Torso")); Object.CFrame = Root.CFrame end end)) end, }) Command.Add({ Aliases = { "unclickbringnpc", "uncbnpc" }, Description = "Stops the ClickBringNPC command", Arguments = {}, Task = function() Refresh("ClickBringNPC", false); end, }) Command.Add({ Aliases = { "clickfollownpc", "cfonpc" }, Description = "Click a NPC to make it follow you", Arguments = {}, Task = function() Refresh("ClickFollowNPC", true); Cleaner:Add("ClickFollowNPC", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local Humanoid = (ModelDescendant and ModelDescendant:FindFirstChildOfClass("Humanoid")); if (ModelDescendant and Humanoid and (not Services.Players:GetPlayerFromCharacter(ModelDescendant))) then repeat Wait(0.1) Humanoid:MoveTo(Root.Position); until (not Get("ClickFollowNPC")) end end)) end, }) Command.Add({ Aliases = { "unclickfollownpc", "uncfonpc" }, Description = "Stops the ClickFollowNPC command", Arguments = {}, Task = function() Refresh("ClickFollowNPC", false); end, }) Command.Add({ Aliases = { "setsimulationradius", "setsimradius", "ssr" }, Description = "Useful for commands that require unanchored parts (set to a large number)", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) local Radius = SetNumber(Amount); SetSRadius(Radius, Radius); return "Simulation Radius", Format("Successfully set your simulation radius to %s", Amount) end, }) Command.Add({ Aliases = { "freeugc", "ugc" }, Description = "Tries to get UGC limiteds (use the 'Flex Your UGC Limiteds' game to find games)", Arguments = { { Name = "UGC ID", Type = "String" }, }, Task = function(ID) local Remotes = (0); local Target = ({ "RemoteEvent", "UnreliableRemoteEvent", "RemoteFunction" }); local Keywords = ({ "ugc", "item", "hat", "free", "claim", "complete", "grant", "reward", "receive", "purchase" }); for _, Remote in next, game:GetDescendants() do if (Discover(Target, Remote.ClassName)) then for _, Keyword in next, Keywords do if (string.find(Remote.Name:lower(), Keyword)) then local Arguments = ({ tostring(ID), tonumber(ID), { ID }, }) for _, Argument in next, Arguments do task.spawn(function() if (Remote:IsA("RemoteFunction")) then Remote:InvokeServer(Argument); else Remote:FireServer(Argument); end end) end Remotes += 1 end end end end return "Free UGC", Format("Fired %d possible UGC remotes", Remotes); end, }) Command.Add({ Aliases = { "freegamepasses", "freegp", "fgp" }, Description = "Pretends you own every gamepass and fires signals as if you bought them all (doesn't always work)", Arguments = {}, Task = function() local Products = Services.Market:GetDeveloperProductsAsync():GetCurrentPage(); local Gamepasses = (function() local Result = ({}); pcall(function() local Gamepasses = JSONDecode(Services.Http, game:HttpGet(Format("https://apis.roblox.com/game-passes/v1/universes/%s/game-passes?passView=Full&pageSize=100", tostring(game.GameId)))); for _, Gamepass in next, Gamepasses.gamePasses do Insert(Result, Gamepass.id); end end) return Result end)() local SignalsFired = 0 if Check("Hook") then Add("GamepassHook", hookfunction(Services.Market.UserOwnsGamePassAsync, function(...) return true end)) end for Index, Product in next, Products do for Type, ID in next, Product do if (Type == "ProductId") or (Type == "DeveloperProductId") then Services.Market:SignalPromptProductPurchaseFinished(LocalPlayer.UserId, ID, true); SignalsFired += 1 end end end for _, Gamepass in next, (Gamepasses or {}) do Services.Market:SignalPromptGamePassPurchaseFinished(LocalPlayer, Gamepass, true); end return "Gamepasses fired", Format("All gamepasses have been hooked as well as fired %s purchase signals", SignalsFired), 15 end, }) Command.Add({ Aliases = { "saveinstance", "savemap" }, Description = "Saves the current game as a file", Arguments = {}, Task = function() local SynSaveInstance = loadstring(game:HttpGet("https://raw.githubusercontent.com/luau/SynSaveInstance/main/saveinstance.luau", true), "saveinstance")(); SynSaveInstance({}); end, }) Command.Add({ Aliases = { "climb" }, Description = "Allows you to climb while in air", Arguments = {}, Task = function() local OldPart = Get("ClimbPart"); if (OldPart) then Destroy(OldPart); end local Part = Create("TrussPart", { Transparency = 1, Size = Vector3.new(2, 10, 2), Parent = workspace, CanCollide = true, Name = GenerateGUID(Services.Http), }) Add("ClimbPart", Part); repeat Wait() Part.CFrame = Root.CFrame * CFrame.new(0, 0, -1.5); until (not Part) end, }) Command.Add({ Aliases = { "unclimb" }, Description = "Disables the climb command", Arguments = {}, Task = function() Destroy(Get("ClimbPart")); end, }) Command.Add({ Aliases = { "setfpscap", "sfc" }, Description = "Sets the maximum FPS limit", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) if (setfpscap) then setfpscap(SetNumber(Amount)); return "FPS", Format("Set your FPS cap to %s", Amount); else return "Unsupported Executor", "Your executor does not support this command, missing function - setfpscap()" end end, }) Command.Add({ Aliases = { "unlockfps", "unlf" }, Description = "Unlocks the FPS limit (1000)", Arguments = {}, Task = function() if (setfpscap) then setfpscap(1000); return "FPS Cap", "Unlocked to 1000" else return "Unsupported Executor", "Your executor does not support this command, missing function - setfpscap()" end end, }) Command.Add({ Aliases = { "antikick" }, Description = "Prevents (client) scripts from kicking you", Arguments = {}, Task = function() Refresh("AntiKick", true); if (Check("Hook")) then for Index, Kick in next, ({ LocalPlayer.Kick, LocalPlayer.kick }) do local Call; Call = hookfunction(Kick, function(...) if (not Get("AntiKick")) then return Call(...); end end) end return "Anti Kick", "Anti Kick has been enabled" else return "Unsupported Executor", "Your executor does not support hooking" end end, }) Command.Add({ Aliases = { "unantikick" }, Description = "Disables AntiKick", Arguments = {}, Task = function() Refresh("AntiKick", false); return "Anti Kick", "Anti Kick has been disabled" end, }) Command.Add({ Aliases = { "antiteleport" }, Description = "Prevents you from getting teleported to other games", Arguments = {}, Task = function() Refresh("AntiTeleport", true); if (Check("Hook")) then for Index, Kick in next, ({ Services.Http.TeleportToPlaceInstance, Services.Http.TeleportToPrivateServer }) do local Call; Call = hookfunction(Kick, function(...) if (not Get("AntiTeleport")) then return Call(...); end end) end return "Anti Teleport", "Anti Teleport has been enabled" else return "Unsupported Executor", "Your executor does not support hooking" end end, }) Command.Add({ Aliases = { "unantiteleport" }, Description = "Disables AntiTeleport", Arguments = {}, Task = function() Refresh("AntiTeleport", false); return "Anti Teleport", "Anti Teleport has been disabled" end, }) Command.Add({ Aliases = { "grabber" }, Description = "Drops a tool and tracks who picks it up (for those using automatic tool grabbers)", Arguments = {}, Task = function() local Tool, Grabber = Backpack:FindFirstChildOfClass("Tool"), (nil); Tool.Parent = Character Tool.Parent = workspace; Wait(2) if (Tool and Tool.Parent ~= workspace) then if (Tool.Parent:IsA("Backpack") and Tool.Parent.Parent ~= LocalPlayer) then Grabber = (Tool.Parent.Parent.Name); elseif (Tool.Parent:IsA("Model") and Tool.Parent.Name ~= LocalPlayer.Name) then Grabber = (Tool.Parent.Name); end elseif (Tool.Parent == workspace) then Humanoid:EquipTool(Tool); end if (Grabber) then return "Grabber", Format("Grabber found, username - %s", Grabber); else return "Grabber", "Could not find grabber" end end, }) Command.Add({ Aliases = { "grabtools", "gt" }, Description = "Grabs all dropped tools", Arguments = {}, Task = function() for Index, Tool in next, GetClasses(workspace, "Tool") do Humanoid:EquipTool(Tool); end end, }) Command.Add({ Aliases = { "autograbtools", "agt" }, Description = "Automatically grabs tools", Arguments = {}, Task = function() Add("AutoGrab", true); for Index, Tool in next, GetClasses(workspace, "Tool") do Humanoid:EquipTool(Tool); end Connect(workspace.DescendantAdded, function(Tool) if (Tool:IsA("Tool") and Get("AutoGrab")) then Humanoid:EquipTool(Tool); Tool.Parent = Backpack end end) return "Auto", "Auto Grab Tools enabled" end, }) Command.Add({ Aliases = { "unautograbtools", "unagt" }, Description = "Disables the AutoGrabTools command", Arguments = {}, Task = function() Add("AutoGrab", false); return "Auto", "Auto Grab Tools disabled" end, }) Command.Add({ Aliases = { "grabdeletetools", "gdt" }, Description = "Deletes all dropped tools", Arguments = {}, Task = function() for Index, Tool in next, GetClasses(workspace, "Tool") do Humanoid:EquipTool(Tool); Wait(); Destroy(Tool); end end, }) Command.Add({ Aliases = { "autograbdeletetools", "agdt" }, Description = "Automatically deletes dropped tools", Arguments = {}, Task = function() Add("AutoGrabDelete", true); for Index, Tool in next, GetClasses(workspace, "Tool") do Humanoid:EquipTool(Tool); Wait(); Destroy(Tool); end Connect(workspace.DescendantAdded, function(Tool) if (Tool:IsA("Tool") and Get("AutoGrabDelete")) then Humanoid:EquipTool(Tool); Wait(); Destroy(Tool); end end) return "Auto", "Auto Grab Delete Tools enabled" end, }) Command.Add({ Aliases = { "unautograbdeletetools", "unagdt" }, Description = "Stops the AutoGrabDeleteTools command", Arguments = {}, Task = function() Add("AutoGrabDelete", false); return "Auto", "Auto Grab Delete Tools disabled" end, }) Command.Add({ Aliases = { "antisit" }, Description = "Disables sitting", Arguments = {}, Task = function() Humanoid:SetStateEnabled("Seated", false); Humanoid.Sit = (true); return "Anti Sit", "Anti Sit has been enabled" end, }) Command.Add({ Aliases = { "unantisit" }, Description = "Enables sitting", Arguments = {}, Task = function() Humanoid:SetStateEnabled("Seated", true); Humanoid.Sit = (false); return "Anti Sit", "Anti Sit has been disabled" end, }) Command.Add({ Aliases = { "setspawn", "ss" }, Description = "Sets your new spawn location", Arguments = {}, Task = function() Refresh("SetSpawn", true); local Old = (Root.CFrame); Detection = (Detection and Detection:Disconnect()) Detection = Connect(LocalPlayer.CharacterAdded, function(NewCharacter) if (Get("SetSpawn")) then NewCharacter:WaitForChild("HumanoidRootPart").CFrame = (Old); end end) return "Spawn", "Spawnpoint added" end, }) Command.Add({ Aliases = { "unsetspawn", "unss" }, Description = "Deletes the spawn location you've saved", Arguments = {}, Task = function() Refresh("SetSpawn", false); Detection = (Detection and Detection:Disconnect()); return "Spawn", "Spawnpoint has been deleted" end, }) Command.Add({ Aliases = { "loadstring", "ls" }, Description = "Runs whatever script you input", Arguments = { { Name = "Script", Type = "String" }, }, Task = function(Source) local Success, Result = pcall(function() loadstring(Source)(); end) if (Success) then return "Source", "Ran source without any errors" else return "Error occured running script", Result end end, }) Command.Add({ Aliases = { "url" }, Description = "Runs the script from the URL you input", Arguments = { { Name = "URL", Type = "String" }, }, Task = function(URL) local Success, Result = pcall(function() loadstring(Methods.Get(URL))(); end) if (Success) then return "Source", "Ran source without any errors" else return "Error occured running script", Result end end, }) Command.Add({ Aliases = { "fly" }, Description = "Enables your character to fly", Arguments = { { Name = "Speed", Type = "Number" }, }, Task = function(Amount) SetFly(true, tonumber(Amount) or 10); return "Fly", "Fly has been enabled" end, }) Command.Add({ Aliases = { "unfly" }, Description = "Disables the Fly command", Arguments = {}, Task = function() SetFly(false); return "Fly", "Fly has been disabled" end, }) Command.Add({ Aliases = { "r6" }, Description = "Shows a prompt changing your avatar to R6", Arguments = {}, Task = function() SetRig("R6"); end, }) Command.Add({ Aliases = { "r15" }, Description = "Shows a prompt changing your avatar to R15", Arguments = {}, Task = function() SetRig("R15"); end, }) Command.Add({ Aliases = { "walkspeed", "ws" }, Description = "Set your character's walkspeed (tpwalk recommended instead)", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) Humanoid.WalkSpeed = SetNumber(Amount); return "Walk speed", Format("Set walkspeed to %s", Amount); end, }) Command.Add({ Aliases = { "jumppower", "jp" }, Description = "Sets your jump power", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) Humanoid.JumpPower = SetNumber(Amount); Humanoid.UseJumpPower = (true); return "Jump Power", Format("Set jump power to %s", Amount); end, }) Command.Add({ Aliases = { "hipheight", "hh" }, Description = "Adjusts your character HipHeight", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) Humanoid.HipHeight = SetNumber(Amount); return "Hip Height", Format("Set hip height to %s", Amount); end, }) Command.Add({ Aliases = { "gravity" }, Description = "Adjusts the game's gravity (default: 196.2)", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) workspace.Gravity = SetNumber(Amount); return "Gravity", Format("Set gravity to %s", Amount); end, }) Command.Add({ Aliases = { "time" }, Description = "Set the Time of Day (0-24)", Arguments = { { Name = "Time", Type = "Number" }, }, Task = function(Time) Services.Lighting.ClockTime = SetNumber(Time); return "Time", Format("Set time to %s", Time); end, }) Command.Add({ Aliases = { "airwalk", "aw" }, Description = "Allows you to walk on air; jump to go up", Arguments = {}, Task = function() local Old = Get("AirPart"); if (Old) then Destroy(Old); end local Part = Create("Part", { Transparency = 1, Size = Vector3.new(7, 2, 3), Parent = workspace, CanCollide = true, Anchored = true, Name = GenerateGUID(Services.Http), }) Add("AirPart", Part); repeat Wait() Part.CFrame = Root.CFrame + Vector3.new(0, -4, 0); until (not Part) end, }) Command.Add({ Aliases = { "unairwalk", "unaw" }, Description = "Disables the airwalk command", Arguments = {}, Task = function() Destroy(Get("AirPart")); return "Air Walk", "Disabled air walk" end, }) Command.Add({ Aliases = { "show" }, Description = "Reveals all invisible parts in-game", Arguments = {}, Task = function() Refresh("Hidden", {}); for Index, Wall in next, GetClasses(workspace, "BasePart") do if (Wall.Transparency == 1) and (Wall.Name ~= "HumanoidRootPart") then Insert(Get("Hidden"), Wall); Wall.Transparency = (0); end end return "Show", "Showing all invisible walls, type unshow to hide them" end, }) Command.Add({ Aliases = { "hide" }, Description = "Disables the Show command", Arguments = {}, Task = function() for Index, Wall in next, Get("Hidden") do Wall.Transparency = 1 end return "Hide", "Hidden all previously shown walls" end, }) Command.Add({ Aliases = { "teamchange", "teamc" }, Description = "Touches any SpawnLocation that changes your team", Arguments = {}, Task = function() local OldPosition = (Root.CFrame); local FoundCheckpoints = (0); for Index, Point in next, GetClasses(workspace, "SpawnLocation") do if (Point.AllowTeamChangeOnTouch) then Root.CFrame = Point.CFrame FoundCheckpoints += 1; Wait(0.1) end end Root.CFrame = (OldPosition); return "Team Change", Format("Touched %s spawn locations with TeamChange enabled", FoundCheckpoints), 10 end, }) Command.Add({ Aliases = { "droptools", "dp" }, Description = "Drops all tools in your inventory", Arguments = {}, Task = function() for Index, Tool in next, GetClasses(Backpack, "Tool", true) do Tool.Parent = Character Tool.Parent = workspace end end, }) Command.Add({ Aliases = { "loopdroptools", "ldp" }, Description = "Repeatedly drops all tools in your inventory", Arguments = {}, Task = function() Refresh("LoopDrop", true); local OldPosition = (Root.CFrame); local Drop = function(Char) if (Get("LoopDrop")) then repeat Wait(); until (Root) for Index = 1, 5 do Root.CFrame = OldPosition; Wait(0.1); end for Index, Tool in next, GetClasses(Backpack, "Tool", true) do Tool.Parent = Character Tool.Parent = workspace end Humanoid.Health = 0 end end Drop(Character); Connect(LocalPlayer.CharacterAdded, Drop); end, }) Command.Add({ Aliases = { "unloopdroptools", "unldp" }, Description = "Disables the LoopDropTools command", Arguments = {}, Task = function() Refresh("LoopDrop", false); end, }) Command.Add({ Aliases = { "savetools", "st" }, Description = "Drops all your tools in the sky, type LoadTools to get them back", Arguments = {}, Task = function() local OldPosition = (Root.CFrame); Root.CFrame = CFrame.new(0, 9e9, 0); Wait(1) for Index, Tool in next, GetClasses(Backpack, "Tool", true) do if (Tool.CanBeDropped) then Tool.Parent = Character Tool.Parent = workspace end end Wait(0.5); Root.CFrame = OldPosition end, }) Command.Add({ Aliases = { "loadtools", "lt" }, Description = "Receives all the tools you've saved", Arguments = {}, Task = function() for Index, Tool in next, GetClasses(workspace, "Tool", true) do Humanoid:EquipTool(Tool); end end, }) Command.Add({ Aliases = { "spazz" }, Description = "Similiar to the spin command", Arguments = {}, Task = function() if (Spazz) then Destroy(Spazz); end Root.CFrame = Root.CFrame * CFrame.Angles(-0.3, 0, 0); Spazz = Create("BodyAngularVelocity", { P = 200000, AngularVelocity = Vector3.new(0, 15, 0), MaxTorque = Vector3.new(200000, 200000, 200000), Parent = Root, }) end, }) Command.Add({ Aliases = { "unspazz" }, Description = "Disables the Spazz command", Arguments = {}, Task = function() if (Spazz) then Destroy(Spazz); end end, }) Command.Add({ Aliases = { "lockmouse", "lm" }, Description = "Locks your Mouse in the center", Arguments = {}, Task = function() Refresh("MouseLock", true); repeat Wait() Services.Input.MouseBehavior = Enum.MouseBehavior.LockCenter until (not Get("MouseLock")) end, }) Command.Add({ Aliases = { "unlockmouse", "unlm" }, Description = "Makes your mouse unlocked, freely movable", Arguments = {}, Task = function() Refresh("MouseLock", false); Services.Input.MouseBehavior = Enum.MouseBehavior.Default end, }) Command.Add({ Aliases = { "spin" }, Description = "Spins your character", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) if (Spin) then Destroy(Spin); end Spin = Create("BodyAngularVelocity", { Parent = Root, MaxTorque = Vector3.new(0, 9e9, 0), AngularVelocity = Vector3.new(0, SetNumber(Amount), 0), }) end, }) Command.Add({ Aliases = { "unspin" }, Description = "Disables the Spin command", Arguments = {}, Task = function() Destroy(Spin); end, }) Command.Add({ Aliases = { "noclip", "nc" }, Description = "Allows your character to pass through walls", Arguments = {}, Task = function() Refresh("Noclip", true); API:Notify({ Title = "Noclip", Description = "Noclip has been enabled", }) repeat Wait() for Index, Part in next, GetClasses(Character, "BasePart", true) do Part.CanCollide = false end until (not Get("Noclip")) end, }) Command.Add({ Aliases = { "unnoclip", "clip", "c" }, Description = "Disables the Noclip command", Arguments = {}, Task = function() Refresh("Noclip", false); for Index, Part in next, GetClasses(Character, "BasePart", true) do Part.CanCollide = false end return "Noclip", "Noclip has been disabled" end, }) Command.Add({ Aliases = { "freeze", "fr" }, Description = "Freezes your character", Arguments = {}, Task = function() for Index, Part in next, GetClasses(Character, "BasePart", true) do Part.Anchored = true end end, }) Command.Add({ Aliases = { "unfreeze", "unfr" }, Description = "Disables the freeze command", Arguments = {}, Task = function() for Index, Part in next, GetClasses(Character, "BasePart", true) do Part.Anchored = false end end, }) Command.Add({ Aliases = { "animationspeed", "animspeed" }, Description = "Adjust your animation speed", Arguments = { { Name = "Speed", Type = "Number" }, }, Task = function(Amount) local Amount = SetNumber(Amount, 2, math.huge); Add("AnimationSpeed", true); API:Notify({ Title = "Animation Speed", Description = Format("Set animation speed to %s", Amount), }) repeat Wait() for Index, Track in next, Humanoid:GetPlayingAnimationTracks() do Track:AdjustSpeed(Amount); end until (not Get("AnimationSpeed")) end, }) Command.Add({ Aliases = { "unanimationspeed", "unanimspeed" }, Description = "Adjusts your animation speed to go back to normal", Arguments = { { Name = "Speed", Type = "Number" }, }, Task = function(Amount) Refresh("AnimationSpeed", false); for Index, Track in next, Humanoid:GetPlayingAnimationTracks() do Track:AdjustSpeed(Amount); end return "Animation Speed", "Set animation speed back to normal" end, }) Command.Add({ Aliases = { "freezeanimations", "fan" }, Description = "Freezes your animations", Arguments = {}, Task = function() Character.Animate.Disabled = true end, }) Command.Add({ Aliases = { "unfreezeanimations", "unfan" }, Description = "Disables the FreezeAnimations command", Arguments = {}, Task = function() Character.Animate.Disabled = false end, }) Command.Add({ Aliases = { "nodelay" }, Description = "Removes the delay from ProximityPrompts", Arguments = {}, Task = function() for Index, Proximity in next, GetClasses(workspace, "ProximityPrompt") do Proximity.HoldDuration = 0 end return "No Delay", "Proximity Prompt delay has been set to 0" end, }) Command.Add({ Aliases = { "firetouchinterests", "fti" }, Description = "Fires all TouchInterests", Arguments = {}, Task = function() local Fired = (0); if (not firetouchinterest) then return "Missing Function", "Executor does not support this command, missing function - firetouchinterest", 10 end for Index, Target in next, GetClasses(workspace, "TouchTransmitter") do firetouchinterest(Root, Target.Parent, 0); firetouchinterest(Root, Target.Parent, 1); Fired += 1 end return "Fired", Format("Fired %s touch interests", Fired) end, }) Command.Add({ Aliases = { "fireproximityprompts", "fpp" }, Description = "Fires all ProximityPrompts", Arguments = {}, Task = function() local Fired = (0); if (not fireproximityprompt) then return "Missing Function", "Executor does not support this command, missing function - fireproximityprompt", 10 end for Index, Target in next, GetClasses(workspace, "ProximityPrompt") do fireproximityprompt(Target, 0); Wait(); fireproximityprompt(Target, 1); Fired += 1 end return "Fired", Format("Fired %s proximity prompts", Fired) end, }) Command.Add({ Aliases = { "fireclickdetectors", "fcd" }, Description = "Fires all ClickDetectors", Arguments = {}, Task = function() local Fired = (0); if (not fireclickdetector) then return "Missing Function", "Executor does not support this command, missing function - fireclickdetector", 10 end for Index, Target in next, GetClasses(workspace, "ClickDetector") do fireclickdetector(Target); Fired += 1 end return "Fired", Format("Fired %s click detectors", Fired) end, }) Command.Add({ Aliases = { "fireremotes", "fre" }, Description = "Fires all Remotes", Arguments = {}, Task = function() local Fired = (0); for Index, Target in next, GetClasses(game, "RemoteEvent") do Target:FireServer(); Fired += 1 end for Index, Target in next, GetClasses(game, "UnreliableRemoteEvent") do Target:FireServer(); Fired += 1 end for Index, Target in next, GetClasses(game, "RemoteFunction") do Spawn(function() Fired += 1 Target:InvokeServer(); end) end return "Fired", Format("Fired %s remotes", Fired) end, }) Command.Add({ Aliases = { "showprompts" }, Description = "Starts showing purchase prompts", Arguments = {}, Task = function() MultiSet(Services.Core.PurchasePrompt, { Enabled = true, }) return "Prompts", "Showing purchase prompts" end, }) Command.Add({ Aliases = { "hideprompts" }, Description = "Hides all purchase prompts", Arguments = {}, Task = function() MultiSet(Services.Core.PurchasePrompt, { Enabled = false, }) return "Prompts", "Hiding purchase prompts" end, }) Command.Add({ Aliases = { "getplayer" }, Description = "Receives players (for testing)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Targets = GetPlayer(Input); return Format("Got %s players", #Targets), Input end, }) Command.Add({ Aliases = { "hitbox", "hb" }, Description = "Adjust the hitbox size for your target(s)", Arguments = { { Name = "Target", Type = "Player" }, { Name = "Amount", Type = "Number" }, }, Task = function(Input, Amount) Add("Hitbox", true); repeat Wait() for Index, Target in next, GetPlayer(Input) do local TargetRoot = GetRoot(Target); local Size = ((Amount and SetNumber(Amount, 5)) or 10); if (TargetRoot and Target ~= LocalPlayer) then TargetRoot.Size = Vector3.new(Size, Size, Size) TargetRoot.Transparency = 0.8 TargetRoot.CanCollide = false end end until (not Get("Hitbox")) end, }) Command.Add({ Aliases = { "unhitbox", "unhb" }, Description = "Disables the Hitbox command", Arguments = {}, Task = function() Refresh("Hitbox", false); for Index, Target in next, GetPlayer("all") do local TargetRoot = GetRoot(Target); if (TargetRoot) then TargetRoot.Size = Vector3.new(2, 2, 1); TargetRoot.Transparency = 1 end end end, }) Command.Add({ Aliases = { "rejoin", "rj" }, Description = "Rejoins the server", Arguments = {}, Task = function() Services.Teleport:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer); end, }) Command.Add({ Aliases = { "rejoinrespawn", "rjre" }, Description = "Rejoins the server and teleports you back to where you were standing", Arguments = {}, Task = function() if (not queueonteleport) then Services.Teleport:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer); return "Rejoin Respawn", "Doing regular rejoin because your executor doesn't support queueonteleport" end queueonteleport(`local Player = game.Players.LocalPlayer; local Character = Player.Character or Player.CharacterAdded:Wait(); Character:WaitForChild("HumanoidRootPart", 10).CFrame = CFrame.new({ tostring(Root.CFrame) })`); Services.Teleport:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer); return "Rejoining", "Please wait" end, }) Command.Add({ Aliases = { "infinitejump", "infjump" }, Description = "Allows you to jump in air", Arguments = {}, Task = function() local Old = Get("InfiniteJump"); Old = (Old and Old:Disconnect()); Add("InfiniteJump", Connect(Services.Input.InputBegan, function(Key, FocusedTextbox) if (Key.KeyCode == Enum.KeyCode.Space) and (not FocusedTextbox) then Humanoid:ChangeState("Jumping"); Wait(); Humanoid:ChangeState("Seated"); end end)) return "Infinite Jump", "Enabled" end, }) Command.Add({ Aliases = { "uninfinitejump", "uninfjump" }, Description = "Disables the InfiniteJump command", Arguments = {}, Task = function() local Old = Get("InfiniteJump"); Old = (Old and Old:Disconnect()); return "Infinite Jump", "Disabled" end, }) Command.Add({ Aliases = { "massplay" }, Description = "Plays every radio in your inventory", Arguments = { { Name = "Audio ID", Type = "String" }, }, Task = function(ID) for Index, Boombox in next, GetClasses(Backpack, "Tool", true) do local Name = Lower(Boombox.Name); if (Name == "radio" or Name == "boombox") and (Boombox:FindFirstChild("Remote")) then Boombox.Parent = Character Boombox.Remote:FireServer("PlaySong", ID); end end return "Mass Play", Format("Mass playing ID: %s", ID) end, }) Command.Add({ Aliases = { "getaudio", "ga" }, Description = "Gets the Audio ID of the song playing in your target's boombox", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Target) for Index, Boombox in next, GetClasses(GetPlayer(Target)[1].Character, "Tool", true) do local Name = Lower(Boombox.Name); if (Name == "radio" or Name == "boombox") and (Boombox:FindFirstChild("Handle")) then local AudioID = (Boombox.Handle:FindFirstChildOfClass("Sound").SoundId); return "Audio Logged", AudioID, 20 end end return "Audio Logger", "Audio not found" end, }) Command.Add({ Aliases = { "mute" }, Description = "Mutes the audio on your target's boombox (serversided)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) if (RespectFilteringEnabled) then return "Mute", "Couldn't mute since RespectFilteringEnabled is enabled" end for Index, Target in next, GetPlayer(Input) do local Character = GetCharacter(Target); if (Character) then for Index, Sound in next, GetClasses(Character, "Sound") do Sound.Playing = false end end end return "Mute", "Successfully muted the target(s)" end, }) Command.Add({ Aliases = { "glitch" }, Description = "Glitches your target's boombox (serversided)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Add("Glitch", true) if (RespectFilteringEnabled) then return "Glitch", "Couldn't glitch since RespectFilteringEnabled is enabled" end repeat Wait() for Index, Target in next, GetPlayer(Input) do local Character = GetCharacter(Target); if (Character) then for Index, Sound in next, GetClasses(Character, "Sound") do Sound.Playing = true; Wait(0.2); Sound.Playing = false end end end until (not Get("Glitch")) end, }) Command.Add({ Aliases = { "unglitch" }, Description = "Disables the glitch command", Arguments = {}, Task = function() Refresh("Glitch", false); return "Glitch", "Glitch has been disabled" end, }) Command.Add({ Aliases = { "noaudio" }, Description = "Mutes the game audio", Arguments = {}, Task = function() for Index, Audio in next, GetClasses(game, "Sound") do Audio.Playing = false end return "No Audio", "Muted the game" end, }) Command.Add({ Aliases = { "audio" }, Description = "Unmutes the game audio", Arguments = {}, Task = function() for Index, Audio in next, GetClasses(game, "Sound") do Audio.Playing = true end return "Audio", "Unmuted the game" end, }) Command.Add({ Aliases = { "checkrfe", "crfe" }, Description = "Checks if RespectFilteringEnabled is enabled, helpful on commands that require it like mute and glitch", Arguments = {}, Task = function() return "RFE", Format("RFE is set to %s", tostring(RespectFilteringEnabled)); end, }) Command.Add({ Aliases = { "clientbring", "cbring" }, Description = "Brings your target to you (clientsided)", Arguments = { { Name = "Target", Type = "Player" }, { Name = "Distance", Type = "Number" }, }, Task = function(Input, Distance) Add("ClientBring", true); repeat Wait() for Index, Target in next, GetPlayer(Input) do local TargetRoot = GetRoot(Target); if (TargetRoot) then TargetRoot.CFrame = Root.CFrame * CFrame.new(0, 0, -(tonumber(Distance or 3))); end end until (not Get("ClientBring")) end, }) Command.Add({ Aliases = { "unclientbring", "uncbring" }, Description = "Disables the ClientBring command", Arguments = {}, Task = function() Refresh("ClientBring", false); end, }) Command.Add({ Aliases = { "controllock", "ctrllock", "ctl" }, Description = "Changes the Shift Lock keybinds to use the Control keys", Arguments = {}, Task = function() LocalPlayer.PlayerScripts.PlayerModule.CameraModule.MouseLockController.BoundKeys.Value = ("LeftControl, RightControl"); return "Control Lock", "Set the shiftlock keybind to Control" end, }) Command.Add({ Aliases = { "goto", "to" }, Description = "Teleports you to your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Root.CFrame = (GetRoot(GetPlayer(Input)[1]).CFrame); end, }) Command.Add({ Aliases = { "tickgoto", "tgoto", "tto" }, Description = "Teleports you to your target for a specific amount of time", Arguments = { { Name = "Target", Type = "Player" }, { Name = "Seconds", Type = "Number" }, }, Task = function(Input, Time) local OldPosition = Root.CFrame Root.CFrame = (GetRoot(GetPlayer(Input)[1]).CFrame); Wait(SetNumber(Time)) Root.CFrame = OldPosition end, }) Command.Add({ Aliases = { "scare" }, Description = "Teleports you to the target for a second", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local OldPosition = Root.CFrame Root.CFrame = (GetRoot(GetPlayer(Input)[1]).CFrame); Wait(1) Root.CFrame = OldPosition end, }) Command.Add({ Aliases = { "vehiclegoto", "vgoto", "vto" }, Description = "Teleports your vehicle to your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Humanoid.SeatPart:FindFirstAncestorOfClass("Model"):PivotTo(GetRoot(GetPlayer(Input)[1]).CFrame); end, }) Command.Add({ Aliases = { "vehiclespeed", "vspeed", "vsp" }, Description = "Adjust your car's speed", Arguments = { { Name = "Amount", Type = "Number" }, }, Task = function(Amount) VehicleSpeed = (VehicleSpeed and VehicleSpeed:Disconnect()); VehicleSpeed = Connect(Services.Run.Stepped, function() local SeatPart = (Humanoid.SeatPart); if (SeatPart) then local Speed = (SetNumber(Amount) * SeatPart.Throttle); SeatPart:ApplyImpulse(SeatPart.CFrame.LookVector * Vector3.new(Speed, Speed, Speed)); end end) end, }) Command.Add({ Aliases = { "vehiclenoclip", "vehiclenc", "vnc" }, Description = "Makes your vehicle drivable through walls", Arguments = {}, Task = function() local NoclipWalls = {} local Result = nil local Holder = Create("Part", { Size = Vector3.new(200, 2, 200), Anchored = true, CanCollide = true, Transparency = 1, Parent = workspace, }) Refresh("VehicleNoclip", true); repeat Wait(0.1) local VehicleSeat = (Humanoid.SeatPart); local Vehicle = (VehicleSeat and VehicleSeat:FindFirstAncestorOfClass("Model")); for Wall, Bool in next, NoclipWalls do if (Wall and Wall.Parent) then Wall.CanCollide = true end end NoclipWalls = ({}); if (Vehicle) then local PrimaryPart = (Vehicle.PrimaryPart or VehicleSeat); local Position = (PrimaryPart.Position); local VehicleSize = Vehicle:GetExtentsSize(); local Parts = workspace:GetPartBoundsInBox(PrimaryPart.CFrame, Vector3.new(70, 70, 70)); if (not Result or not Result.Instance) then local Params = RaycastParams.new(); Params.FilterType = Enum.RaycastFilterType.Exclude Params.IgnoreWater = true Params.FilterDescendantsInstances = ({ Vehicle, Character, Holder, }) Result = workspace:Raycast(PrimaryPart.Position, Vector3.new(0, -500, 0), Params); end if (Result and Result.Instance) then Holder.CFrame = CFrame.new(PrimaryPart.Position.X, Result.Position.Y - 1.5, PrimaryPart.Position.Z) end for Index, Part in next, Parts do if (Part:IsA("BasePart") and Part.CanCollide) then if (Part.Name ~= "Baseplate") then if (not Part:IsDescendantOf(Vehicle)) and (not Part:IsDescendantOf(Character)) and (Part ~= Holder) then Part.CanCollide = false NoclipWalls[Part] = true end end end end end until (not Get("VehicleNoclip")) for Wall, Bool in next, NoclipWalls do if (Wall and Wall.Parent) then Wall.CanCollide = true end end NoclipWalls = ({}); Holder:Destroy(); end, }) Command.Add({ Aliases = { "unvehiclenoclip", "unvehiclenc", "unvnc", "vcl" }, Description = "Disables the VehicleNoclip command", Arguments = {}, Task = function() Refresh("VehicleNoclip", false); end, }) Command.Add({ Aliases = { "vehiclefling", "vfl" }, Description = "Fling using vehicles", Arguments = {}, Task = function() Refresh("VehicleFling", true); Spawn(function() local Velocity = Vector3.zero repeat Wait() local Seat = Humanoid.SeatPart if (Seat) then Velocity = Seat.Velocity Seat.Velocity = (Velocity * 10000) + Vector3.new(0, 10000, 0); CWait(Services.Run.RenderStepped); Seat.Velocity = Velocity end until (not Get("VehicleFling")) end) return "Vehicle Fling", "Vehicle Fling has been enabled" end, }) Command.Add({ Aliases = { "unvehiclefling", "unvfl" }, Description = "Disables the VehicleFling command", Arguments = {}, Task = function() Refresh("VehicleFling", false); end, }) Command.Add({ Aliases = { "vehicleflip", "vflip" }, Description = "Flips your vehicle over if it's stuck", Arguments = {}, Task = function() local Attach = Create("Attachment", { Axis = Vector3.new(0, 1, 0), Parent = Humanoid.SeatPart }) local Align = Create("AlignOrientation", { Attachment0 = Attach, AlignType = Enum.AlignType.PrimaryAxisParallel, RigidityEnabled = true, Enabled = true, Mode = Enum.OrientationAlignmentMode.OneAttachment, PrimaryAxis = Vector3.new(0, 1, 0), Parent = Humanoid.SeatPart, }) GetService("Debris"):AddItem(Align, 2); GetService("Debris"):AddItem(Attach, 2); end, }) Command.Add({ Aliases = { "unload", "destroy" }, Description = "Gets rid of Cmd", Arguments = {}, Task = function() AimbotSettings.Enabled = false ESPSettings.Enabled = false UI.Parent = nil for Name, Objects in next, Cleaner.Objects do Cleaner:Clean(Name); end for Global, Value in next, Globals do Globals[Global] = nil end end, }) Command.Add({ Aliases = { "joinjobid", "jjobid" }, Description = "Joins a server if you have the jobid", Arguments = { { Name = "JobId", Type = "String" }, { Name = "PlaceId (optional)", Type = "String" }, }, Task = function(JobId, PlaceId) if (JobId) then local Success, Result = pcall(function() Services.Teleport:TeleportToPlaceInstance(tonumber(PlaceId) or game.PlaceId, JobId, LocalPlayer); end) if (not Success) then return "Join JobId", "Error occurred trying to teleport, JobId might be wrong.", 5, "Error" else return "Join JobId", "Joining..." end else return "Join JobId", "Invalid, no jobid found" end end, }) Command.Add({ Aliases = { "antiafk", "afk" }, Description = "Prevents you from getting kicked if you're idle for 20+ minutes", Arguments = {}, Task = function() if (not getconnections) then return "Anti AFK", "Unsupported function - getconnections()", 5, "Error" end for _, Connection in next, getconnections(LocalPlayer.Idled) do Connection:Disable(); end return "Anti AFK", "Enabled" end, }) Command.Add({ Aliases = { "unantiafk", "unafk" }, Description = "Disables the AntiAFK Command", Arguments = {}, Task = function() if (not getconnections) then return "Anti AFK", "Unsupported function - getconnections()", 5, "Error" end for _, Connection in next, getconnections(LocalPlayer.Idled) do Connection:Enable(); end return "Anti AFK", "Disabled" end, }) Command.Add({ Aliases = { "dance" }, Description = "Does a random dance animation", Arguments = { { Name = "Dance Code", Type = "Number" }, }, Task = function(Code) local OldAnimationId = "rbxassetid://0" if (Get("DanceTrack")) then OldAnimationId = Get("DanceTrack").Animation.AnimationId Get("DanceTrack"):Stop(); end local Animations = ({ [Enum.HumanoidRigType.R6] = { "rbxassetid://137390720", "rbxassetid://28488254", "rbxassetid://27789359", "rbxassetid://52155014", "rbxassetid://90117804", "rbxassetid://91346439", "rbxassetid://99815141", "rbxassetid://33796059", "rbxassetid://45834924", "rbxassetid://248263260", "rbxassetid://101862746", "rbxassetid://161099825", "rbxassetid://429703734" }, [Enum.HumanoidRigType.R15] = { "rbxassetid://10370362157", "rbxassetid://12804157977", "rbxassetid://10714394082", "rbxassetid://10714168145", "rbxassetid://10714069471", "rbxassetid://10714345459", "rbxassetid://10714366910" }, }) local List = (function() local Return = ({}); for Index, Animation in next, Animations[Humanoid.RigType] do if (Animation ~= OldAnimationId) or (tonumber(Code)) then Insert(Return, Animation); end end return Return end)() local Index = tonumber(Code) or math.random(1, #List); local AnimationTrack = Humanoid.Animator:LoadAnimation(Create("Animation", { AnimationId = List[Index], })) AnimationTrack.Looped = true AnimationTrack:Play(); Add("DanceTrack", AnimationTrack); return "Dance", Format("Dancing with dance code %d", Index), 2 end, }) Command.Add({ Aliases = { "undance" }, Description = "Stops dancing", Arguments = {}, Task = function() if (Get("DanceTrack")) then Get("DanceTrack"):Stop(); end end, }) Command.Add({ Aliases = { "antiknockback", "antikb", "akb" }, Description = "Disables knockback, run ';antiknockback true' if it doesn't fully work", Arguments = { { Name = "Anchor (true/false)", Type = "String" }, }, Task = function(Anchor) local Properties = { BodyVelocity = { Velocity = Vector3.zero, velocity = Vector3.zero, MaxForce = Vector3.zero, maxForce = Vector3.zero, P = 0, }, BodyForce = { Force = Vector3.zero, force = Vector3.zero, }, BodyThrust = { Force = Vector3.zero, force = Vector3.zero, Location = Vector3.zero, location = Vector3.zero, }, BodyGyro = { CFrame = Root.CFrame, cframe = Root.CFrame, MaxTorque = Vector3.zero, maxTorque = Vector3.zero, P = 0, D = 0, }, BodyAngularVelocity = { AngularVelocity = Vector3.zero, angularvelocity = Vector3.zero, MaxTorque = Vector3.zero, maxTorque = Vector3.zero, P = 0, }, LinearVelocity = { MaxForce = 0, }, VectorForce = { Force = Vector3.zero, }, AlignPosition = { Position = Root.Position, MaxForce = Vector3.zero, Responsiveness = 0, }, AlignOrientation = { CFrame = Root.CFrame, MaxTorque = Vector3.zero, Responsiveness = 0, MaxAngularVelocity = 0, }, BodyPosition = { Position = Root.Position, position = Root.Position, MaxForce = Vector3.zero, maxForce = Vector3.zero, P = 0, D = 0, }, } Refresh("AntiKnockback", true); local SetupCharacter = function(Character) local Humanoid = Character:FindFirstChildOfClass("Humanoid"); local ListenProperty = function(Object, Property, Value) for _, Object in next, (Object and { Object }) or GetClasses(Character, "BasePart") do Object[Property] = Value Connect(Changed(Object, Property), function() Object[Property] = Value end) end end local Update = function(Object) local List = Properties[Object.ClassName] if (List) then if (Anchor and Anchor == "true") then Spawn(function() repeat Wait(); Root.Anchored = true until (not Object.Parent) or (not Get("AntiKnockback")) Root.Anchored = false end) end for Property, Default in next, List do ListenProperty(Object, Property, Default); end end end ListenProperty(nil, "AssemblyLinearVelocity", Vector3.zero); ListenProperty(nil, "Velocity", Vector3.zero); ListenProperty(nil, "AssemblyAngularVelocity", Vector3.zero); ListenProperty(nil, "RotVelocity", Vector3.zero); ListenProperty(Humanoid, "PlatformStand", false); for _, Object in next, Character:GetDescendants() do Update(Object); end Cleaner:Add("AntiKnockback", Connect(Character.DescendantAdded, function(Object) Update(Object); end)) end SetupCharacter(Character); Cleaner:Add("AntiKnockback", Connect(LocalPlayer.CharacterAdded, function(Character) SetupCharacter(Character); end)) return "Anti Knockback", "Enabled - THIS WILL BREAK FLY" end, }) Command.Add({ Aliases = { "unantiknockback", "unantikb", "unakb" }, Description = "Disables the AntiKnockback command", Arguments = {}, Task = function() Refresh("AntiKnockback", false); return "Anti Knockback", "Disabled" end, }) Command.Add({ Aliases = { "2016" }, Description = "Makes your Roblox CoreGui look like the 2016 CoreGui", Arguments = {}, Task = function() getgenv().Config2016 = ({ OldConsole = true, OldGraphics = true, OldPlayerList = true, OldBubbleChat = true, ReplaceAgeGroupMessage = true, HideVoiceChatButton = false, }) loadstring(game:HttpGet("https://raw.githubusercontent.com/lxte/projects/refs/heads/main/UI/Core2016/Source.luau"))(); end, }) Command.Add({ Aliases = { "bunnyhop", "bhop" }, Description = "Allows you to bunnyhop (move and spam jump to gain speed)", Arguments = {}, Task = function() Refresh("BunnyHop", true); local IsJumping = false local JumpCount = 0 local CurrentlyLanded = true local LastLanded = tick(); local BodyVelocity local StateConnection = function(State) if (State == Enum.HumanoidStateType.Jumping) then JumpCount += 1 CurrentlyLanded = false elseif (State == Enum.HumanoidStateType.Landed) then CurrentlyLanded = true LastLanded = tick(); end end local HumanoidConnected = Humanoid local RootConnected = Root local Connection = Connect(Humanoid.StateChanged, StateConnection); repeat Wait() local Animate = Character:FindFirstChild("Animate"); if (CurrentlyLanded) and (tick() - LastLanded > 0.1) then JumpCount = 0 end if (Animate) then Animate.Enabled = false end if (HumanoidConnected ~= Humanoid) or (RootConnected ~= Root) then Connection:Disconnect(); Connection = Connect(Humanoid.StateChanged, StateConnection); HumanoidConnected = Humanoid RootConnected = Root if (BodyVelocity) then Destroy(BodyVelocity); BodyVelocity = nil end end if (Humanoid) then for _, AnimationTrack in next, Humanoid:GetPlayingAnimationTracks() do if (AnimationTrack.IsPlaying) then AnimationTrack:Stop(); end end end if (not BodyVelocity) or (not BodyVelocity.Parent) then BodyVelocity = Instance.new("BodyVelocity", Root); end if (JumpCount > 2 and Root.Velocity.Magnitude >= 10) then local Velocity = Root.CFrame.LookVector * (JumpCount * 7) local Magnitude = Velocity.Magnitude if Magnitude < 16 then Velocity *= (16 / Magnitude); end BodyVelocity.Velocity = Velocity BodyVelocity.MaxForce = Vector3.new(2500, 0, 2500); else BodyVelocity.Velocity = Vector3.zero BodyVelocity.MaxForce = Vector3.zero end until (not Get("BunnyHop")) Connection:Disconnect(); if (BodyVelocity) then Destroy(BodyVelocity); end if (Character:FindFirstChild("Animate")) then Character:FindFirstChild("Animate").Enabled = true end end, }) Command.Add({ Aliases = { "unbunnyhop", "unbhop" }, Description = "Disables the BunnyHop command", Arguments = {}, Task = function() Refresh("BunnyHop", false); end, }) Command.Add({ Aliases = { "walksit", "wsit" }, Description = "Have the sit animation playing while walking", Arguments = {}, Task = function() Refresh("WalkSit", true); local SitAnimation = Create("Animation", { AnimationId = "rbxassetid://2506281703" }) local SitAnimTrack = Humanoid:LoadAnimation(SitAnimation); SitAnimTrack.Looped = true SitAnimTrack.Priority = Enum.AnimationPriority.Action repeat Wait(); for _, Track in next, Humanoid:GetPlayingAnimationTracks() do if (Track ~= SitAnimTrack and Track.Animation) then Track:Stop(); end end if (SitAnimTrack and not SitAnimTrack.IsPlaying) then SitAnimTrack:Play(); end until (not Get("WalkSit")) SitAnimTrack:Stop(); end, }) Command.Add({ Aliases = { "unwalksit", "unwsit" }, Description = "Disables the WalkSit command", Arguments = {}, Task = function() Refresh("WalkSit", false); end, }) Command.Add({ Aliases = { "unvehiclespeed", "unvspeed", "unvsp" }, Description = "Disables the VehicleSpeed command", Arguments = {}, Task = function() VehicleSpeed = (VehicleSpeed and VehicleSpeed:Disconnect()); end, }) Command.Add({ Aliases = { "seat" }, Description = "Makes you sit in a Normal seat", Arguments = {}, Task = function() local Seats = ({}); for Index, Seat in next, GetClasses(workspace, "Seat") do if (not Seat.Occupant) then table.insert(Seats, Seat); end end Seats[math.random(1, #Seats)]:Sit(Humanoid); end, }) Command.Add({ Aliases = { "vehicleseat", "vseat" }, Description = "Makes you sit in a Vehicle Seat", Arguments = {}, Task = function() local Seats = ({}); for Index, Seat in next, GetClasses(workspace, "VehicleSeat") do if (not Seat.Occupant) then table.insert(Seats, Seat); end end Seats[math.random(1, #Seats)]:Sit(Humanoid); end, }) Command.Add({ Aliases = { "reach" }, Description = "Set size for the tool you're holding (useful for melee weapons)", Arguments = { { Name = "Size", Type = "Number" }, }, Task = function(Size) local Length = (SetNumber(Size) or 10); local CharacterConnected local Connection Refresh("Reach", true); Humanoid:UnequipTools(); local Create = function() CharacterConnected = Character Connection = Connect(Character.ChildAdded, function(Tool) if (not Get("Reach")) then return Connection:Disconnect(); end if (Tool:IsA("Tool")) then local Handle = Tool:FindFirstChild("Handle"); if (Handle) then Create("Vector3Value", { Parent = Handle, Name = "_Size", Value = Handle.Size, }) Create("Highlight", { Parent = Handle, }) Handle.Size = Vector3.new(Length, Length, Length); Handle.Massless = true Handle.CanCollide = false Connect(Tool.Unequipped, function() local _Size = Handle and Handle:FindFirstChild("_Size"); if (_Size) then Handle.Size = _Size.Value Destroy(_Size); Destroy(Handle:FindFirstChild("Highlight")); end end) end end end) end Create(); repeat Wait(0.5) if (CharacterConnected ~= Character) then if (Connection) then Connection:Disconnect(); end Create(); end until (not Get("Reach")) if (Connection) then Connection:Disconnect(); end end, }) Command.Add({ Aliases = { "unreach" }, Description = "Disable reach", Arguments = {}, Task = function() Refresh("Reach", false); for _, Tool in next, GetClasses(Character, "Tool", true) do local Handle = Tool:FindFirstChild("Handle"); local _Size = Handle and Handle:FindFirstChild("_Size"); if (_Size) then Handle.Size = _Size.Value Destroy(_Size); Destroy(Handle:FindFirstChild("Highlight")); end end end, }) Command.Add({ Aliases = { "reach2" }, Description = "More undetectable reach + more realistic", Arguments = { { Name = "Size", Type = "Number" }, }, Task = function(Size) local Length = (SetNumber(Size) or 10); local Overlap = OverlapParams.new(); if (firetouchinterest) then Refresh("Reach2", true); repeat Wait(0.1) local TouchInterests = ({}); for _, Tool in next, GetClasses(Character, "Tool", true) do local TouchInterestList = GetClasses(Tool, "TouchTransmitter", false); if (TouchInterestList and #TouchInterestList > 0) then Foreach(TouchInterestList, function(_, TouchTransmitter) Insert(TouchInterests, TouchTransmitter); end) end end local Objects = workspace:GetPartBoundsInBox(Root.CFrame, Vector3.new(Length, Length, Length), Overlap); for _, Object in next, Objects do local Model = Object:FindFirstAncestorOfClass("Model"); local Humanoid = Model and Model:FindFirstChildOfClass("Humanoid"); if (Humanoid and Services.Players:GetPlayerFromCharacter(Model) ~= LocalPlayer and Humanoid.RootPart) then for _, Touch in next, TouchInterests do firetouchinterest(Touch.Parent, Humanoid.RootPart, 1) firetouchinterest(Touch.Parent, Humanoid.RootPart, 0) end end end until (not Get("Reach2")) else return "Reach2", "Your executor does not support this command, missing function: firetouchinterest" end end, }) Command.Add({ Aliases = { "unreach2" }, Description = "Disables the Reach2 Command", Arguments = {}, Task = function() Refresh("Reach2", false); end, }) Command.Add({ Aliases = { "admin", "whitelist", "wl" }, Description = "Allows your target to use Cmd's commands (using chat)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) for Index, Admin in next, GetPlayer(Input) do Command.Whitelist(Admin); Chat(Format('/w %s You are now whitelisted to Cmd, prefix is "%s"', Admin.Name, Settings.ChatPrefix)) end end, }) Command.Add({ Aliases = { "unadmin", "unwhitelist", "unwl" }, Description = "Removes your target's whitelist", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) for Index, Admin in next, GetPlayer(Input) do if (Admins[Admin.UserId]) then Command.RemoveWhitelist(Admin); Chat(Format("/w %s You are no longer an admin!", Admin.Name)); end end end, }) Command.Add({ Aliases = { "follow", "flw" }, Description = "Automatically follows your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Refresh("Follow", true); repeat Wait() Humanoid:MoveTo(GetRoot(GetPlayer(Input)[1]).Position); until (not Get("Follow")) end, }) Command.Add({ Aliases = { "unfollow", "unflw" }, Description = "Disables the Follow command", Arguments = {}, Task = function() Refresh("Follow", false); end, }) Command.Add({ Aliases = { "clicktp", "ctp" }, Description = "Click to teleport to your mouse position", Arguments = {}, Task = function() Refresh("ClickTP", true); Connect(Mouse.Button1Down, function() if (Get("ClickTP")) then Root.CFrame = (Mouse.Hit * CFrame.new(0, 3, 0)); end end) return "Click TP", "Click TP has been enabled" end, }) Command.Add({ Aliases = { "unclicktp", "unctp" }, Description = "Disables the ClickTp command", Arguments = {}, Task = function() Refresh("ClickTP", false); return "Click TP", "Click TP has been disabled" end, }) Command.Add({ Aliases = { "stare" }, Description = "Makes your character stare at your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Target = GetPlayer(Input)[1]; Refresh("Stare", true); repeat Wait() local TRoot = (GetRoot(Target).Position); Root.CFrame = CFrame.new(Root.Position, Vector3.new(TRoot.X, Root.Position.y, TRoot.Z)); until (not Get("Stare")) end, }) Command.Add({ Aliases = { "unstare" }, Description = "Disables the Stare command", Arguments = {}, Task = function() Refresh("Stare", false); end, }) Command.Add({ Aliases = { "antipause" }, Description = "Disables the gameplay paused screen", Arguments = {}, Task = function() Services.GuiService:SetGameplayPausedNotificationEnabled(false); end, }) Command.Add({ Aliases = { "unantipause" }, Description = "Shows the gameplay paused screen", Arguments = {}, Task = function() Services.GuiService:SetGameplayPausedNotificationEnabled(true); end, }) Command.Add({ Aliases = { "xray" }, Description = "Allows you to see through walls", Arguments = { { Name = "Transparency", Type = "Number" }, }, Task = function(Transparency) local Transparency = SetNumber(Transparency or 0.5, 0, 1); local Update = function(Part) local Character = Part:FindFirstAncestorOfClass("Model"); local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid"); if (not Humanoid) then Part.LocalTransparencyModifier = Transparency end end Refresh("XRay", true); for _, Part in next, GetClasses(workspace, "BasePart") do Update(Part); end Cleaner:Add("XRay", Connect(workspace.DescendantAdded, function(Part) if (Part:IsA("BasePart")) then Update(Part); end end)) end, }) Command.Add({ Aliases = { "unxray" }, Description = "Removes xray", Arguments = {}, Task = function() Refresh("XRay", false); for _, Part in next, GetClasses(workspace, "BasePart") do Part.LocalTransparencyModifier = 0 end end, }) Command.Add({ Aliases = { "lay" }, Description = "Makes you lay", Arguments = {}, Task = function() Humanoid.Sit = true Root.CFrame = (Root.CFrame * CFrame.Angles(1.5, 0, 0)); Wait(0.1) for Index, Track in next, Humanoid:GetPlayingAnimationTracks() do Track:Stop(); end end, }) Command.Add({ Aliases = { "autorejoin", "autorj", "arj" }, Description = "Automatically rejoins if you get KICKED", Arguments = {}, Task = function() Add("AutoRejoin", true); Connect(GetService("GuiService").ErrorMessageChanged, function() if (Get("AutoRejoin")) then Services.Teleport:TeleportToPlaceInstance(game.PlaceId, game.JobId); end end) return "Auto Rejoin", "Auto Rejoin enabled" end, }) Command.Add({ Aliases = { "unautorejoin", "unautorj", "unarj" }, Description = "Disables the AutoRejoin command", Arguments = {}, Task = function() Add("AutoRejoin", false); return "Auto Rejoin", "Auto Rejoin disabled" end, }) Command.Add({ Aliases = { "friend" }, Description = "Sends a connection (NOT friend anymore) request to your target(s)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Sent = (0); for Index, Target in next, GetPlayer(Input) do if (Target ~= LocalPlayer) then LocalPlayer:RequestFriendship(Target); Sent += 1 end end return "Friend", Format("Sent friend request to %s player(s)", Sent) end, }) Command.Add({ Aliases = { "listen", "spy" }, Description = "Listens to your target(s) voice chat conversation from any distance", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Targets = GetPlayer(Input); local Roots = ({}); for Index, Target in next, Targets do Roots[#Roots + 1] = GetRoot(Target); end Services.Sound:SetListener(Enum.ListenerType.ObjectPosition, Unpack(Roots)); return "Listen", Format("Listening to %s player(s)", #Roots) end, }) Command.Add({ Aliases = { "view", "spectate" }, Description = "Views your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Target = GetPlayer(Input)[1]; Refresh("View", true); repeat Wait() Camera.CameraSubject = GetHumanoid(Target) until (not Get("View")) end, }) Command.Add({ Aliases = { "unview", "unspectate" }, Description = "Disables the view command", Arguments = {}, Task = function() Refresh("View", false); Camera.CameraSubject = Humanoid end, }) Command.Add({ Aliases = { "freecam", "fc" }, Description = "Enables freecam", Arguments = {}, Task = function() if (not Freecam) then Freecam = ({}); local pi = math.pi local abs = math.abs local clamp = math.clamp local exp = math.exp local rad = math.rad local sign = math.sign local sqrt = math.sqrt local tan = math.tan Connect(Changed(workspace, "CurrentCamera"), function() local newCamera = workspace.CurrentCamera if newCamera then Camera = newCamera end end) local TOGGLE_INPUT_PRIORITY = Enum.ContextActionPriority.Low.Value local INPUT_PRIORITY = Enum.ContextActionPriority.High.Value local FREECAM_MACRO_KB = { Enum.KeyCode.LeftShift, Enum.KeyCode.P } local NAV_GAIN = Vector3.new(1, 1, 1) * 64 local PAN_GAIN = Vector2.new(0.75, 1) * 8 local FOV_GAIN = 300 local PITCH_LIMIT = rad(90) local VEL_STIFFNESS = 10 local PAN_STIFFNESS = 10 local FOV_STIFFNESS = 10 local 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 * pi local p0 = self.p local v0 = self.v local offset = goal - p0 local decay = 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 cameraFov = 0 local velSpring = Spring.new(VEL_STIFFNESS, Vector3.new()) local panSpring = Spring.new(PAN_STIFFNESS, Vector2.new()) local fovSpring = Spring.new(FOV_STIFFNESS, 0) local Input = {} do local thumbstickCurve do local K_CURVATURE = 2.0 local K_DEADZONE = 0.15 local function fCurve(x) return (exp(K_CURVATURE * x) - 1) / (exp(K_CURVATURE) - 1) end local function fDeadzone(x) return fCurve((x - K_DEADZONE) / (1 - K_DEADZONE)) end function thumbstickCurve(x) return sign(x) * clamp(fDeadzone(abs(x)), 0, 1) end end local gamepad = { ButtonX = 0, ButtonY = 0, DPadDown = 0, DPadUp = 0, ButtonL2 = 0, ButtonR2 = 0, Thumbstick1 = Vector2.new(), Thumbstick2 = Vector2.new(), } local keyboard = { W = 0, A = 0, S = 0, D = 0, E = 0, Q = 0, U = 0, H = 0, J = 0, K = 0, I = 0, Y = 0, Up = 0, Down = 0, LeftShift = 0, RightShift = 0, } local mouse = { Delta = Vector2.new(), MouseWheel = 0, } local NAV_GAMEPAD_SPEED = Vector3.new(1, 1, 1) local NAV_KEYBOARD_SPEED = Vector3.new(1, 1, 1) local PAN_MOUSE_SPEED = Vector2.new(1, 1) * (pi / 64) local PAN_GAMEPAD_SPEED = Vector2.new(1, 1) * (pi / 8) local FOV_WHEEL_SPEED = 1.0 local FOV_GAMEPAD_SPEED = 0.25 local NAV_ADJ_SPEED = 0.75 local NAV_SHIFT_MUL = 0.25 local navSpeed = 1 function Input.Vel(dt) navSpeed = clamp(navSpeed + dt * (keyboard.Up - keyboard.Down) * NAV_ADJ_SPEED, 0.01, 4) local kGamepad = Vector3.new( thumbstickCurve(gamepad.Thumbstick1.X), thumbstickCurve(gamepad.ButtonR2) - thumbstickCurve(gamepad.ButtonL2), thumbstickCurve(-gamepad.Thumbstick1.Y) ) * NAV_GAMEPAD_SPEED local kKeyboard = Vector3.new( keyboard.D - keyboard.A + keyboard.K - keyboard.H, keyboard.E - keyboard.Q + keyboard.I - keyboard.Y, keyboard.S - keyboard.W + keyboard.J - keyboard.U ) * NAV_KEYBOARD_SPEED local shift = Services.Input:IsKeyDown(Enum.KeyCode.LeftShift) or Services.Input:IsKeyDown(Enum.KeyCode.RightShift) return (kGamepad + kKeyboard) * (navSpeed * (shift and NAV_SHIFT_MUL or 1)) end function Input.Pan(dt) local kGamepad = Vector2.new( thumbstickCurve(gamepad.Thumbstick2.Y), thumbstickCurve(-gamepad.Thumbstick2.X) ) * PAN_GAMEPAD_SPEED local kMouse = mouse.Delta * PAN_MOUSE_SPEED mouse.Delta = Vector2.new() return kGamepad + kMouse end function Input.Fov(dt) local kGamepad = (gamepad.ButtonX - gamepad.ButtonY) * FOV_GAMEPAD_SPEED local kMouse = mouse.MouseWheel * FOV_WHEEL_SPEED mouse.MouseWheel = 0 return kGamepad + kMouse end do local function Keypress(action, state, input) keyboard[input.KeyCode.Name] = state == Enum.UserInputState.Begin and 1 or 0 return Enum.ContextActionResult.Sink end local function GpButton(action, state, input) gamepad[input.KeyCode.Name] = state == Enum.UserInputState.Begin and 1 or 0 return Enum.ContextActionResult.Sink end local function MousePan(action, state, input) local delta = input.Delta mouse.Delta = Vector2.new(-delta.y, -delta.x) return Enum.ContextActionResult.Sink end local function Thumb(action, state, input) gamepad[input.KeyCode.Name] = input.Position return Enum.ContextActionResult.Sink end local function Trigger(action, state, input) gamepad[input.KeyCode.Name] = input.Position.z return Enum.ContextActionResult.Sink end local function MouseWheel(action, state, input) mouse[input.UserInputType.Name] = -input.Position.z return Enum.ContextActionResult.Sink end local function Zero(t) for k, v in next, t do t[k] = v * 0 end end function Input.StartCapture() Services.ContextActionService:BindActionAtPriority( "FreecamKeyboard", Keypress, false, INPUT_PRIORITY, Enum.KeyCode.W, Enum.KeyCode.U, Enum.KeyCode.A, Enum.KeyCode.H, Enum.KeyCode.S, Enum.KeyCode.J, Enum.KeyCode.D, Enum.KeyCode.K, Enum.KeyCode.E, Enum.KeyCode.I, Enum.KeyCode.Q, Enum.KeyCode.Y, Enum.KeyCode.Up, Enum.KeyCode.Down ) Services.ContextActionService:BindActionAtPriority( "FreecamMousePan", MousePan, false, INPUT_PRIORITY, Enum.UserInputType.MouseMovement ) Services.ContextActionService:BindActionAtPriority( "FreecamMouseWheel", MouseWheel, false, INPUT_PRIORITY, Enum.UserInputType.MouseWheel ) Services.ContextActionService:BindActionAtPriority( "FreecamGamepadButton", GpButton, false, INPUT_PRIORITY, Enum.KeyCode.ButtonX, Enum.KeyCode.ButtonY ) Services.ContextActionService:BindActionAtPriority( "FreecamGamepadTrigger", Trigger, false, INPUT_PRIORITY, Enum.KeyCode.ButtonR2, Enum.KeyCode.ButtonL2 ) Services.ContextActionService:BindActionAtPriority( "FreecamGamepadThumbstick", Thumb, false, INPUT_PRIORITY, Enum.KeyCode.Thumbstick1, Enum.KeyCode.Thumbstick2 ) end function Input.StopCapture() navSpeed = 1 Zero(gamepad) Zero(keyboard) Zero(mouse) Services.ContextActionService:UnbindAction("FreecamKeyboard") Services.ContextActionService:UnbindAction("FreecamMousePan") Services.ContextActionService:UnbindAction("FreecamMouseWheel") Services.ContextActionService:UnbindAction("FreecamGamepadButton") Services.ContextActionService:UnbindAction("FreecamGamepadTrigger") Services.ContextActionService:UnbindAction("FreecamGamepadThumbstick") end end end local function GetFocusDistance(cameraFrame) local znear = 0.1 local viewport = Camera.ViewportSize local projy = 2 * 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 fov = fovSpring:Update(dt, Input.Fov(dt)) local zoomFactor = sqrt(tan(rad(70 / 2)) / tan(rad(cameraFov / 2))) cameraFov = clamp(cameraFov + fov * FOV_GAIN * (dt / zoomFactor), 1, 120) cameraRot = cameraRot + pan * PAN_GAIN * (dt / zoomFactor) cameraRot = Vector2.new(clamp(cameraRot.x, -PITCH_LIMIT, PITCH_LIMIT), cameraRot.y % (2 * pi)) local cameraCFrame = CFrame.new(cameraPos) * CFrame.fromOrientation(cameraRot.x, cameraRot.y, 0) * CFrame.new(vel * NAV_GAIN * dt) cameraPos = cameraCFrame.p Camera.CFrame = cameraCFrame Camera.Focus = cameraCFrame * CFrame.new(0, 0, -GetFocusDistance(cameraCFrame)) Camera.FieldOfView = cameraFov end local PlayerState = {} do local mouseBehavior local mouseIconEnabled local cameraType local cameraFocus local cameraCFrame local cameraFieldOfView local screenGuis = {} local coreGuis = { Backpack = true, Chat = true, Health = true, PlayerList = true, } local setCores = { BadgesNotificationsActive = true, PointsNotificationsActive = true, } function PlayerState.Push() cameraFieldOfView = Camera.FieldOfView Camera.FieldOfView = 70 cameraType = Camera.CameraType Camera.CameraType = Enum.CameraType.Custom cameraCFrame = Camera.CFrame cameraFocus = Camera.Focus mouseIconEnabled = Services.Input.MouseIconEnabled Services.Input.MouseIconEnabled = true mouseBehavior = Services.Input.MouseBehavior Services.Input.MouseBehavior = Enum.MouseBehavior.Default end function PlayerState.Pop() for name, isEnabled in next, coreGuis do Services.Starter:SetCoreGuiEnabled(Enum.CoreGuiType[name], isEnabled) end for name, isEnabled in next, setCores do Services.Starter:SetCore(name, isEnabled) end for _, gui in next, screenGuis do if gui.Parent then gui.Enabled = true end end Camera.FieldOfView = cameraFieldOfView cameraFieldOfView = nil Camera.CameraType = cameraType cameraType = nil Camera.CFrame = cameraCFrame cameraCFrame = nil Camera.Focus = cameraFocus cameraFocus = nil Services.Input.MouseIconEnabled = mouseIconEnabled mouseIconEnabled = nil Services.Input.MouseBehavior = mouseBehavior mouseBehavior = nil end end local function StartFreecam(Position) local cameraCFrame = Position or Camera.CFrame cameraRot = Vector2.new(cameraCFrame:toEulerAnglesYXZ()) cameraPos = cameraCFrame.p cameraFov = Camera.FieldOfView velSpring:Reset(Vector3.new()) panSpring:Reset(Vector2.new()) fovSpring:Reset(0) PlayerState.Push() Services.Run:BindToRenderStep("Freecam", Enum.RenderPriority.Camera.Value, StepFreecam) Input.StartCapture() end local function StopFreecam() Input.StopCapture() Services.Run:UnbindFromRenderStep("Freecam") PlayerState.Pop() end function Freecam:EnableFreecam(Position) if FreecamEnabled then -- check mostly for freecamto StopFreecam() end FreecamEnabled = true StartFreecam(Position) end function Freecam:StopFreecam() FreecamEnabled = false StopFreecam() end end Freecam:EnableFreecam() return "Freecam", "Enabled" end, }) Command.Add({ Aliases = { "unfreecam", "unfc" }, Description = "Disables freecam", Arguments = {}, Task = function() Freecam:StopFreecam(); end, }) Command.Add({ Aliases = { "freecamto", "fcto" }, Description = "Brings your FreeCam to your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Target) Freecam:EnableFreecam(GetRoot(GetPlayer(Target)[1]).CFrame); end, }) Command.Add({ Aliases = { "freecambring", "fcbr" }, Description = "Brings your character to the FreeCam camera position", Arguments = {}, Task = function() Root.CFrame = Camera.CFrame end, }) Command.Add({ Aliases = { "walkfling", "wf" }, Description = "Fling without spinning (less obvious)", Arguments = { { Name = "Distance", Type = "Number" }, }, Task = function(Distance) Refresh("Walkfling", true); Spawn(function() local Velocity = Root.Velocity repeat Wait() if (GetPlayer("closest")[1]:DistanceFromCharacter(Root.Position) <= (Distance and SetNumber(Distance, 0, 9e9) or 10)) then Velocity = Root.Velocity Root.Velocity = (Velocity * 10000) + Vector3.new(0, 10000, 0); CWait(Services.Run.RenderStepped); Root.Velocity = Velocity end until (not Get("Walkfling")) end) return "Walk Fling", "Walk Fling has been enabled" end, }) Command.Add({ Aliases = { "unwalkfling", "unwf" }, Description = "Disables the WalkFling command", Arguments = {}, Task = function() Refresh("Walkfling", false); return "Walk Fling", "Walk Fling has been disabled" end, }) Command.Add({ Aliases = { "resetfilter", "ref" }, Description = "Resets the chat filter if Roblox keeps tagging your messages", Arguments = {}, Task = function() local ToChat = ({ [1] = "!clear", [2] = "abcdefghijk", [3] = "!clear" }); for Index = 1, 3 do Services.Players:Chat(ToChat[Index]); end return "Filter", "Reset" end, }) Command.Add({ Aliases = { "split" }, Description = "Splits your message and resets the filter", Arguments = { { Name = "First Split", Type = "String" }, { Name = "Second Split", Type = "String" }, }, Task = function(First, Second) if (First and Second) then Command.Parse(true, "ref"); Wait(0.2); Chat(First); Command.Parse(true, "ref"); Wait(0.5); Chat(Second) else return "Split", "One or more arguments are missing" end end, }) Command.Add({ Aliases = { "toolfling", "toolf" }, Description = "Flings players using tools in your inventory", Arguments = {}, Task = function() local Tools = LocalPlayer.Backpack:GetChildren(); if (#Tools > 0) then local SelectedTool = (Tools[math.random(1, #Tools)]); SelectedTool.GripPos = Vector3.new(0, -10000, 0); SelectedTool.Parent = Character SelectedTool.Handle.Massless = true else return "Tool Fling", "No tool found" end return "Tool Fling", "Do not unequip the tool" end, }) Command.Add({ Aliases = { "fling" }, Description = "Flings your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Targets = GetPlayer(Input); if (#Targets == 0) then return "Fling", "No targets found" end local Successes = Fling(Targets); return "Fling", Format("Flinged (%s/%s) player(s) - NOT ACCURATE (can be higher)", Successes or 0, #Targets) end, }) Command.Add({ Aliases = { "fling2" }, Description = "Flings with a lesser cooldown", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Targets = GetPlayer(Input); if (#Targets == 0) then return "Fling", "No targets found" end local Successes = Fling(Targets, nil, nil, 0.4); return "Fling", "Flinged selected players" end, }) Command.Add({ Aliases = { "hatfling", "hf" }, Description = "Flings your targets using hats", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) if (not sethiddenproperty) then return "Unsupported Executor", "Your executor does not support this command, missing function - sethiddenproperty()" end local Targets = GetPlayer(Input); if (#Targets == 0) then return "Hat Fling", "No targets found" end HatFling(Targets); return "Hat Fling", "Flinged all targets" end, }) -- i remember seeing this on v3rm (the old one) so shoutout to whoever released this i got the idea from u Command.Add({ Aliases = { "toolball", "tball" }, Description = "Makes your tools have ball collisions (recommended to have a ton of tools for this)", Arguments = {}, Task = function() Humanoid:UnequipTools(); local Tools = (function() local Return = ({}); for _, Tool in next, GetClasses(Backpack, "Tool", true) do Humanoid:EquipTool(Tool); Insert(Return, Tool); end return Return end)() Humanoid:UnequipTools(); for Index, Tool in next, Tools do local Handle = Tool:FindFirstChild("Handle"); if (Handle) then Tool.Parent = Character Tool.Parent = Backpack Tool.Parent = Humanoid Tool.Parent = Character local Ball = Create("Part", { Size = Vector3.new(3, 3, 3), CFrame = Root.CFrame * CFrame.new(Index, 50, Index), Shape = Enum.PartType.Ball, Transparency = 0.8, Parent = workspace, }) Connect(Changed(Tool, "Parent"), function() Destroy(Ball); end) Spawn(function() repeat Wait() Handle.CFrame = Ball.CFrame Handle.AssemblyLinearVelocity = Vector3.new(0, Random.new():NextNumber(50, 100), 0); Handle.AssemblyAngularVelocity = Vector3.zero Handle.CanCollide = true until (not Ball) or (not Handle) end) end end end, }) --[[ testing prob not going to release this command change (old desync has been patched) Command.Add({ Aliases = { "desync" }, Description = "Turns on character desync (rejoins you to apply)", Arguments = {}, Task = function() Add("Desync", true); Add("DesyncCoordinate", Root.CFrame); Add("ClientPosition", Root.CFrame); Cleaner:Add("Desync", Connect(Services.Run.Heartbeat, function() Add("ClientPosition", Root.CFrame); Humanoid.Sit = false Root.CFrame = Get("DesyncCoordinate"); end)) if (not Get("DesyncBind")) then Add("DesyncBind", true); Services.Run:BindToRenderStep("", Enum.RenderPriority.First.Value, function() if (Get("Desync")) then Root.CFrame = Get("ClientPosition"); end end) end return "Desync", "Enabled" end, }) Command.Add({ Aliases = { "undesync" }, Description = "Turns off desync (rejoins you to apply)", Arguments = {}, Task = function() for _ = 1, 10 do Root.CFrame = (Get("ClientPosition") or Root.CFrame); Wait(); end Add("Desync", false); return "Desync", "Disabled" end, }) ]] Command.Add({ Aliases = { "underground", "ug" }, Description = "Makes your character underground on the server (use this for vc trolling)", Arguments = {}, Task = function() local Underground = Get("Underground"); Add("Underground", not Underground); if (not Underground) then local Highlight = Create("Highlight", { Parent = Character, }) Cleaner:Add("Underground", Highlight); Cleaner:Add("Underground", Connect(Services.Run.Heartbeat, function() local New = Root and Root.CFrame Add("UndergroundCurrent", New); Humanoid.Sit = false if (New) then New -= Vector3.new(0, 15, 0); Root.CFrame = New end end)) if (not Get("UndergroundBind")) then Add("UndergroundBind", true); Services.Run:BindToRenderStep("", Enum.RenderPriority.First.Value, function() local Current = Get("UndergroundCurrent"); if (Get("Underground") and Current) then Root.CFrame = Current end end) end return "Underground", "Your character is now underground for everyone else" else for _ = 1, 10 do Root.CFrame = (Get("UndergroundCurrent") or Root.CFrame); Wait(); end Add("UndergroundCurrent", nil); return "Underground", "Disabled, you're back to normal" end end, }) Command.Add({ Aliases = { "upsidedown", "ud" }, Description = "Makes your character upside down on people's screens", Arguments = {}, Task = function() local UpsideDown = Get("UpsideDown"); Add("UpsideDown", not UpsideDown); if (not UpsideDown) then local Highlight = Create("Highlight", { Parent = Character, FillColor = Color3.fromRGB(0, 0, 255), }) Cleaner:Add("UpsideDown", Highlight); Cleaner:Add("UpsideDown", Connect(Services.Run.Heartbeat, function() local New = Root and Root.CFrame Add("UpsideDownCurrent", New); Humanoid.Sit = false if (New) then New *= CFrame.Angles(math.pi, 0, 0); Root.CFrame = New end end)) if (not Get("UpsideDownBind")) then Add("UpsideDownBind", true); Services.Run:BindToRenderStep("", Enum.RenderPriority.First.Value, function() local Current = Get("UpsideDownCurrent"); if (Get("UpsideDown") and Current) then Root.CFrame = Current end end) end return "Upside Down", "Your character is now upside down for everyone else" else for _ = 1, 10 do Root.CFrame = (Get("UndergroundCurrent") or Root.CFrame); Wait(); end Add("UndergroundCurrent", nil); return "Upside Down", "Disabled, you're back to normal" end end, }) Command.Add({ Aliases = { "launch" }, Description = "Launches your target to the sky (basically fling but it makes them go up)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) local Targets = GetPlayer(Input); if (#Targets == 0) then return "Fling", "No targets found" end local Successes = Fling(Targets, 3, 0); return "Fling", Format("Successfully launched (%s/%s) player(s)", Successes or 0, #Targets) end, }) Command.Add({ Aliases = { "loophatfling", "lhf" }, Description = "Repeatedly flings your target using your hats", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Spawn(function() replicatesignal(LocalPlayer.ConnectDiedSignalBackend); Wait(Services.Players.RespawnTime + 0.1); HatFling(GetPlayer(Input), { PermDeath = true }); end) return "Loop Hat Fling", Format("Please wait %d seconds", Services.Players.RespawnTime), Services.Players.RespawnTime end, }) Command.Add({ Aliases = { "unloophatfling", "unlhf" }, Description = "Disables the LoopHatFling command", Arguments = {}, Task = function() replicatesignal(LocalPlayer.ConnectDiedSignalBackend); end, }) Command.Add({ Aliases = { "clickhatfling", "clickhf" }, Description = "Click on a player to fling them using hats", Arguments = {}, Task = function() Refresh("ClickHatFling", true); Command.Parse(true, "freecam"); Spawn(function() replicatesignal(LocalPlayer.ConnectDiedSignalBackend); Wait(Services.Players.RespawnTime + 0.1); local Fling = HatFling({}, { MaximumTries = 10, Click = true, PermDeath = true, }) Cleaner:Add("ClickHatFling", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local User = Services.Players:GetPlayerFromCharacter(ModelDescendant); if (User and User ~= LocalPlayer) then Fling.Click(User); end end)) end) return "Click Hat Fling", Format("Please wait %d seconds", Services.Players.RespawnTime), Services.Players.RespawnTime end, }) Command.Add({ Aliases = { "unclickhatfling", "unclickhf" }, Description = "Disables the ClickHatFling command", Arguments = {}, Task = function() Command.Parse(true, "unfreecam"); Refresh("ClickHatFling", false); replicatesignal(LocalPlayer.ConnectDiedSignalBackend); workspace.Gravity = 196.2 end, }) Command.Add({ Aliases = { "clickgivehats", "clickghats" }, Description = "Click on a player to give them your hats", Arguments = {}, Task = function() Refresh("ClickHatGive", true); Command.Parse(true, "freecam"); Spawn(function() replicatesignal(LocalPlayer.ConnectDiedSignalBackend); Wait(Services.Players.RespawnTime + 0.1); local GiveHats = HatFling({}, { Click = true, PermDeath = true, FlingDisabled = true, GiveHatsMode = true, }) Cleaner:Add("ClickHatGive", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local ModelDescendant = Target:FindFirstAncestorOfClass("Model"); local User = Services.Players:GetPlayerFromCharacter(ModelDescendant); if (User and User ~= LocalPlayer) then GiveHats.Click(User); end end)) end) return "Click Give Hats", Format("Please wait %d seconds", Services.Players.RespawnTime), Services.Players.RespawnTime end, }) Command.Add({ Aliases = { "unclickgivehats", "unclickghats" }, Description = "Disables the ClickGiveHats command", Arguments = {}, Task = function() Command.Parse(true, "unfreecam"); Refresh("ClickHatGive", false); replicatesignal(LocalPlayer.ConnectDiedSignalBackend); workspace.Gravity = 196.2 end, }) Command.Add({ Aliases = { "givehats", "ghats" }, Description = "Gives your hats to someone", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Spawn(function() replicatesignal(LocalPlayer.ConnectDiedSignalBackend); Wait(Services.Players.RespawnTime + 0.1); local Target = GetPlayer(Input)[1] if (Target) then HatFling({ Target }, { FlingDisabled = true, GiveHatsMode = true, PermDeath = true, }); end end) return "Give Hats", Format("Please wait %d seconds", Services.Players.RespawnTime), Services.Players.RespawnTime end, }) Command.Add({ Aliases = { "ungivehats", "takehats", "unghats", "thats" }, Description = "Disables the GiveHats command", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) replicatesignal(LocalPlayer.ConnectDiedSignalBackend); end, }) Command.Add({ Aliases = { "loopfling", "lf" }, Description = "Repeatedly flings your target", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Refresh("Fling", true); repeat Wait(); Fling(GetPlayer(Input)); until (not Get("Fling")) end, }) Command.Add({ Aliases = { "unloopfling", "unlf" }, Description = "Disables the LoopFling command", Arguments = {}, Task = function() Add("Fling", false); end, }) Command.Add({ Aliases = { "loopfling2", "lf2" }, Description = "Repeatedly flings your target (2nd method)", Arguments = { { Name = "Target", Type = "Player" }, }, Task = function(Input) Refresh("Fling2", true); repeat Wait(); Fling(GetPlayer(Input), nil, nil, 0.2); until (not Get("Fling2")) end, }) Command.Add({ Aliases = { "unloopfling2", "unlf2" }, Description = "Disables the LoopFling2 command", Arguments = {}, Task = function() Add("Fling2", false); end, }) Command.Add({ Aliases = { "clickfling", "cf" }, Description = "Flings the target you click on", Arguments = {}, Task = function() local Connection = Get("Clickfling") Connection = (Connection and Connection:Disconnect()) Add("Clickfling", Connect(Mouse.Button1Down, function() local Target = (Mouse.Target); local Model = Target:FindFirstAncestorOfClass("Model"); local PlayerObject = Services.Players:GetPlayerFromCharacter(Model); if (PlayerObject) then Fling({ PlayerObject }); end end)) return "Clickfling", "Enabled" end, }) Command.Add({ Aliases = { "unclickfling", "uncf" }, Description = "Disables the ClickFling command", Arguments = {}, Task = function() local Connection = Get("Clickfling"); Connection = (Connection and Connection:Disconnect()); return "Clickfling", "Disabled" end, }) -- :: SETUP :: -- if (Check("File")) then local LoadedPlugins = (0); for Index, Folder in next, ({ "Cmd", "Cmd/Logs", "Cmd/Plugins" }) do if (not isfolder(Folder)) then makefolder(Folder); if (Folder == "Cmd") then Command.Parse(true, "tutorial"); end end end Cmd().Build = ({ GetCharacter = GetCharacter, GetHumanoid = GetHumanoid, GetRoot = GetRoot, Chat = Chat, Library = Library, GetPlayer = GetPlayer, GlobalAdd = Add, GlobalGet = Get, GlobalRefresh = Refresh, Notify = function(Config) return API:Notify(Config) end, }) for Index, File in next, listfiles("Cmd/Plugins") do local Success, Plugin = pcall(function() LoadedPlugins += 1 return loadfile(File)(); end) if Success then for Index, PluginCommand in next, Plugin.Commands do Command.Add({ Aliases = (PluginCommand.Aliases or { "couldnt-get-aliases" }), Description = (PluginCommand.Description or "No description"), Arguments = (PluginCommand.Arguments or {}), Plugin = true, Task = PluginCommand.Callback or function() return "plugin command", "this plugin does not have a callback." end, }) end API:Notify({ Title = Plugin.Name, Description = Plugin.Description, Duration = 5, Type = "Info", }) else API:Notify({ Title = File, Description = Plugin, Duration = 15, Type = "Warn", }) end end end --> Autofill & Recommendation for Index, Command in next, Commands do Fill.Add(Command); end Connect(Changed(Input, "Text"), function() Fill.Search(Input.Text); Fill.Recommend(Input.Text); end) Connect(Services.Input.InputBegan, function(Key) if (Key.KeyCode == Enum.KeyCode.Tab) and (Press.Title.Text == "Tab") and (Services.Input:GetFocusedTextBox() == Input) then local Text = Recommend.Text Wait(); Input.Text = Text Input.CursorPosition = #Text + 1 end end) --> Command Bar local ChatDebounce = false local OpenCommandBar = function() local Transparency = Settings.Theme.Transparency local Padding = CommandBar.Parent:FindFirstChildOfClass("UIPadding"); Wait(); Input:CaptureFocus(); BarShadow.Transparency = 1 BarInner.Transparency = 1 Padding.PaddingTop = UDim.new(0, -5); MultiSet(CommandBar, { GroupTransparency = 1, Visible = true, Position = UDim2.new(0.5, 0, 0.5, -9), }) Tween(BarShadow, 0.2, { Transparency = 0.2 }); Tween(BarInner, 0.2, { Transparency = 0.9 }); Tween(Padding, 0.2, { PaddingTop = UDim.new(0, 0) }); Tween(CommandBar, 0.2, { GroupTransparency = (Transparency == 0) and 0.07 or Settings.Theme.Transparency, }, { EasingDirection = Enum.EasingDirection.In, EasingStyle = Enum.EasingStyle.Linear }); end ConnectMessaged(LocalPlayer, function(Message) if (not ChatDebounce and Find(Message, Settings.ChatPrefix)) then ChatDebounce = true Command.Parse(false, Split(Message, Settings.ChatPrefix)[2]); Wait() ChatDebounce = false end end) Connect(Mouse.KeyDown, function(Key) if (Lower(Key) == Lower(Settings.Prefix)) then OpenCommandBar(); end end) Connect(Input.FocusLost, function() local Padding = CommandBar.Parent:FindFirstChildOfClass("UIPadding"); Command.Parse(false, Input.Text); Tween(BarShadow, 0.2, { Transparency = 1 }); Tween(BarInner, 0.2, { Transparency = 1 }); Tween(Padding, 0.2, { PaddingTop = UDim.new(0, 5) }); Tween(CommandBar, 0.2, { GroupTransparency = 1, }, { EasingDirection = Enum.EasingDirection.In, EasingStyle = Enum.EasingStyle.Linear }); Wait(0.2); CommandBar.Visible = false end) do local Interface = Cmd().UI local API = Cmd().API if (Check("File") and not isfile("Cmd/Settings.json")) then SaveSettings(); end Settings = GetSavedSettings(); for AliasName, CommandName in next, (Settings.Aliases or {}) do local Cmd = Command.Find(Lower(CommandName)); if (Cmd and CommandName and AliasName) then local Aliases = Cmd[1]; Aliases[#Aliases + 1] = Lower(AliasName); end end if (Settings.Toggles.Developer) then if (Interface) then AimbotSettings.Enabled = false ESPSettings.Enabled = false Interface.Parent = nil end UI:GetPropertyChangedSignal("Parent"):Connect(function() if (not UI.Parent) then for Name, Objects in next, Cleaner.Objects do Cleaner:Clean(Name); end for Global, Value in next, Globals do Globals[Global] = nil end end end) else if (Interface and API) then UI.Parent = nil API:Notify({ Title = "Already loaded", Description = "If you would like to reload Cmd rejoin or enable Developer mode!", Duration = 5, Type = "Error", }) return end end SetTheme(); UpdateUIScale(); end Spawn(function() -- making opening button work Animate.Drag(Button, true); Connect(Button.MouseButton1Click, OpenCommandBar); if (not Discover({ Enum.Platform.IOS, Enum.Platform.Android }, UserPlatform)) then Button.Visible = Settings.Toggles.CommandBarOpenButtonShown end -- loading internal ui if (Settings.Toggles.InternalUI) then loadstring(GetModule("internal-ui.lua"))(); end -- remove other admin prompts if (Settings.Toggles.RemoveCommandBars) then local Targets = ({ "KCoreUI", "HDAdminGuis", "Essentials Client", "Cmdr", "FluxUILayerTopbar" }); local ClearCommandBar = function(UI) if (Discover(Targets, UI.Name)) then Destroy(UI); end end for _, UI in next, PlayerGui:GetChildren() do ClearCommandBar(UI); end Connect(PlayerGui.ChildAdded, function(UI) ClearCommandBar(UI); end) end -- staff notifier Connect(Services.Players.PlayerAdded, function(Player) local StaffMember, Role = IsStaff(Player); if (StaffMember and Settings.Toggles.StaffNotifier) then API:Notify({ Title = "Staff Member has joined", Description = Format("Name: %s (@%s)\nRole: %s", Player.DisplayName, Player.Name, Role), Duration = 10, Type = "Warn", }) end end) local Staff = ({}); local ToSearch = Services.Players:GetPlayers(); local Searched = (0); for Index, Player in next, ToSearch do Spawn(function() if (Player ~= LocalPlayer and IsStaff(Player) and UI.Parent and Settings.Toggles.StaffNotifier) then Insert(Staff, Player.Name) end Searched += 1 end) end repeat Wait(); until (Searched == #ToSearch) if (#Staff > 0) then API:Notify({ Title = "Staff Detected!", Description = Format("We have found %s staff member(s) in your game! (%s)", tostring(#Staff), Concat(Staff, " , ")), Duration = 20, Type = "Warn", }) end if (not Drawing and not Services.Run:IsStudio()) then pcall(function() Drawing = loadstring(GetModule("drawing.lua"))(); end) end end) Cmd().UI = UI Cmd().API = API Spawn(function() if (not Character) then repeat Wait(); until (Character and Humanoid) end local OldHealth = (Humanoid and Humanoid.Health); Feature:ConnectEvent("PlayerRemoved"); Feature:ConnectEvent("AutoExecute"); Feature:ConnectEvent("Chatted", LocalPlayer.Chatted); Feature:ConnectEvent("CharacterAdded", LocalPlayer.CharacterAdded); Feature:ConnectEvent("Died", nil, true); Feature:ConnectEvent("Damaged", nil, true, function(Humanoid) if (not OldHealth) or (Humanoid.Health <= OldHealth) then return true end OldHealth = (Humanoid.Health); end) end) API:Notify({ Title = "Welcome (NEW UPDATE)", Description = Format( "Loaded in %.2f seconds (Version %s)\nCommandBarPrefix: '%s'\nChat Prefix: '%s'\nJOIN: %s", tick() - Speed, Settings.Version, Settings.Prefix, Settings.ChatPrefix, "discord.gg/pBDqEj4BSP" ), Duration = 15, Type = "Info", }) if (Methods.Check()) then API:Notify({ Title = "Possible game vulnerability found!", Description = "This game has a possible vulnerability where you can delete Instances, run the command ;vuln and test if it works!", Duration = 15, Type = "Warning", }) Command.Add({ Aliases = { "vuln" }, Description = "Exploit the game's POTENTIAL vulnerabilities", Arguments = {}, Task = function() local Tab = Library.Tabs["Vulnerability"] if (Tab) then Tab.Open(); else local Window = Library:CreateWindow({ Title = "Vulnerability", }) Window:AddSection({ Title = "Player", Tab = "Home" }) Window:AddInput({ Title = "Kill", Description = "Kill your target", Tab = "Home", Callback = function(Input) local Players = GetPlayer(Input) for _, Player in next, Players do local Character = GetCharacter(Player) if Character then Methods.Destroy(Character:FindFirstChild("Head")) end end end, }) Window:AddInput({ Title = "Sink", Description = "Sinks your target to the ground", Tab = "Home", Callback = function(Input) local Players = GetPlayer(Input) for _, Player in next, Players do local Root = GetRoot(Player) if Root then Methods.Destroy(Root) end end end, }) Window:AddInput({ Title = "Bald", Description = "Makes your taget bald", Tab = "Home", Callback = function(Input) local Players = GetPlayer(Input) for _, Player in next, Players do local Character = GetCharacter(Player) if Character then for _, Accessory in next, GetClasses(Character, "Accessory") do Methods.Destroy(Accessory) end end end end, }) Window:AddInput({ Title = "Fat", Description = "Makes your target blocky (R6 Only)", Tab = "Home", Callback = function(Input) local Players = GetPlayer(Input) for _, Player in next, Players do local Character = GetCharacter(Player) if Character then for _, Accessory in next, GetClasses(Character, "CharacterMesh") do Methods.Destroy(Accessory) end end end end, }) Window:AddInput({ Title = "Naked", Description = "uhh", Tab = "Home", Callback = function(Input) local Players = GetPlayer(Input) local Classes = { "Shirt", "Pants", "ShirtGraphics" } for _, Player in next, Players do local Character = GetCharacter(Player) if Character then for _, Class in next, Classes do for _, Accessory in next, GetClasses(Character, Class) do Methods.Destroy(Accessory) end end end end end, }) Window:AddInput({ Title = "Punish", Description = "Punishes the player's character", Tab = "Home", Callback = function(Input) local Players = GetPlayer(Input) for _, Player in next, Players do local Character = GetCharacter(Player) if Character then Methods.Destroy(Character) end end end, }) Window:AddSection({ Title = "Game", Tab = "Home" }) Window:AddButton({ Title = "Clear Map", Description = "Removes Workspace", Tab = "Home", Callback = function() for _, Object in next, workspace:GetChildren() do Methods.Destroy(Object) end end, }) Window:AddButton({ Title = "Break Game", Description = "Breaks the game's scripts", Tab = "Home", Callback = function() for _, Object in next, GetClasses(game, "Script") do Methods.Destroy(Object) end end, }) Window:AddButton({ Title = "Building Tools", Description = "Breaks specific parts", Tab = "Home", Callback = function() local DestroyTool = Create("Tool", { Parent = Backpack, RequiresHandle = false, Name = "Delete", ToolTip = "Btools (Delete)", TextureId = "https://www.roblox.com/asset/?id=12223874", CanBeDropped = false, }) local BtoolsEquipped = false Connect(DestroyTool.Equipped, function() BtoolsEquipped = true end) Connect(DestroyTool.Unequipped, function() BtoolsEquipped = false end) Connect(DestroyTool.Activated, function() local Explosion = Create("Explosion", { Parent = workspace, BlastPressure = 0, BlastRadius = 0, DestroyJointRadiusPercent = 0, ExplosionType = Enum.ExplosionType.NoCraters, Position = Mouse.Target.Position, }) Methods.Destroy(Mouse.Target) end) end, }) end end, }) end