--[[ _,.----. ___ .' .' - \ .-._ .'=.'\ _,..---._ /==/ , ,-'/==/ \|==| /==/, - \ |==|- | .|==|,| / - |==| _ _\ |==|_ `-' \==| \/ , |==| .=. | |==| _ , |==|- , _ |==|,| | -| \==\. /==| _ /\ |==| '=' / `-.`.___.-'/==/ / / , /==|-, _`/ `--`./ `--``-.`.____.' 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://86847075545953", Aliases = {}, Waypoints = {}, Events = { ["AutoExecute"] = {}, ["Chatted"] = {}, ["CharacterAdded"] = {}, ["Died"] = {}, ["Damaged"] = {}, ["PlayerRemoved"] = {}, }, Theme = { Mode = "Dark", Transparency = 0, -- Frames: 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), -- Text: Title = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(160, 160, 170), -- Outlines: Shadow = Color3.fromRGB(0, 0, 0), Outline = Color3.fromRGB(45, 45, 60), -- Image: Icon = Color3.fromRGB(255, 255, 255), }, 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, }, } 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"), } local Vuln = { Keywords = { "destroy", "delete", "remove", "clear", "dispose" }, 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() 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 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 local ArgumentTable = { [1] = "Remove", [2] = { [1] = Part } } LocalPlayer.Backpack :FindFirstChild("Building Tools").SyncAPI.ServerEndpoint :InvokeServer(table.unpack(ArgumentTable)) else local Arguments = (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 Ignore:FireServer(table.unpack(Arguments)) end end end end, } local LocalPlayer = Services.Players.LocalPlayer local Character = LocalPlayer.Character local Backpack = LocalPlayer:WaitForChild("Backpack") local Humanoid = (Character and Character:FindFirstChildOfClass("Humanoid")) local Root = (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 Services.Insert:LoadLocalAsset(Settings.CustomUI) 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 i, v in next, Table do if i == Minimum or i > 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 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 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, Input) for Index, Value in next, Table do if Value == Input then return Value 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 i, Property in next, Properties or {} do Object[i] = Property end for i, 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 = 9e9 end OldSRadius = Connect(Services.Run.Heartbeat, function() local Success, Result = pcall(function() sethiddenproperty(LocalPlayer, "SimulationRadius", Radius); sethiddenproperty(LocalPlayer, "MaximumSimulationRadius", MaxRadius); end) if (not Success) then Output(Result); end end) end local AttachName = GenerateGUID(Services.Http) local Attach = function(Part, Target) 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", "Attachment", "BodyPosition", "BodyGyro", "BodyThrust", "BodyForce", "BodyAngularVelocity", "BodyVelocity", "RocketPropulsion" }); if Discover(Blacklisted, Object.ClassName) then Object:Destroy(); end end SetSRadius(9e9, 9e9) Part.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0, 0, 0) Part.CanCollide = false Part.Massless = true Part.Velocity = Vector3.zero local Attachment = Instance.new("Attachment") local Position = Instance.new("AlignPosition") local Orientation = Instance.new("AlignOrientation") local Attachment2 = Instance.new("Attachment") Attachment.Name = AttachName Position.Name = AttachName Orientation.Name = AttachName Attachment2.Name = AttachName Attachment.Parent = Part Attachment2.Parent = (Target or Root) Position.Parent = Part Position.Attachment0 = Attachment Position.Attachment1 = Attachment2 Position.Responsiveness = 200 Position.MaxForce = math.huge Position.MaxVelocity = math.huge Position.ReactionForceEnabled = false Position.ApplyAtCenterOfMass = true Orientation.Parent = Part Orientation.Attachment0 = Attachment Orientation.Attachment1 = Attachment2 Orientation.Responsiveness = 200 Orientation.MaxTorque = math.huge Orientation.MaxAngularVelocity = math.huge Orientation.ReactionTorqueEnabled = false Orientation.PrimaryAxisOnly = false Part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) Part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) return Attachment, Position, Orientation, Attachment2 end end local Bring = function(Part, Target) if (Part and Part:IsA("BasePart") and not Part.Anchored) then local ModelDescendant = Part:FindFirstAncestorOfClass("Model") local OldCollide = Part.CanCollide if (ModelDescendant) then if (Services.Players:GetPlayerFromCharacter(ModelDescendant)) then return end end for _, Object in next, Part:GetChildren() do local Blacklisted = ({ "Attachment", "AlignPosition", "AlignOrientation", "Attachment", "BodyPosition", "BodyGyro", "BodyThrust", "BodyForce", "BodyAngularVelocity", "BodyVelocity", "RocketPropulsion" }); if Discover(Blacklisted, Object.ClassName) then Object:Destroy(); end end SetSRadius(9e9, 9e9) Part.CustomPhysicalProperties = PhysicalProperties.new(0.0001, 0, 0, 0, 0) Part.CanCollide = false Part.Massless = true Part.Velocity = Vector3.zero local Attachment = Instance.new("Attachment"); local Position = Instance.new("AlignPosition"); local Torque = Instance.new("Torque"); local Attachment2 = Instance.new("Attachment"); Attachment.Parent = Part Position.Parent = Part Torque.Parent = Part Attachment2.Parent = (Target or Root) Position.Responsiveness = 200 Position.MaxForce = 9e9 Position.MaxVelocity = 9e9 Torque.Torque = Vector3.new(9e9, 9e9, 9e9) Position.Attachment0 = Attachment Position.Attachment1 = Attachment2 Position.Attachment1 = Attachment2 Position.Attachment0 = Attachment Part.AssemblyLinearVelocity = Vector3.new(0, 0, 0) Part.AssemblyAngularVelocity = Vector3.new(0, 0, 0) Delay(1, function() Destroy(Attachment); Destroy(Position); Destroy(Torque); Destroy(Attachment2); Part.CanCollide = OldCollide end) end 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 SetRig = function(Type) local Avatar = GetService("AvatarEditorService") Avatar:PromptSaveAvatar(Humanoid.HumanoidDescription, Enum.HumanoidRigType[Type]) CWait(Avatar.PromptSaveAvatarCompleted) Command.Parse(true, "respawn") 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 Numbered = tonumber(Input) if Numbered and (Numbered == (Minimum or Max) or (Numbered < Max) or (Numbered > Minimum)) then return Numbered 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 PHumanoid = GetHumanoid(Player) if PHumanoid and PHumanoid.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 PHumanoid = GetHumanoid(Player) if PHumanoid and not PHumanoid.Sit then Insert(Targets, Player) end end return Targets end, ["closest"] = function() local Targets = {} local ClosestDistance = 9e9 local ClosestPlayer 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 PHumanoid = GetHumanoid(Player) if PHumanoid and PHumanoid.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 PHumanoid = GetHumanoid(Player) if PHumanoid and PHumanoid.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) 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 Magnitude = _Root.Velocity.Magnitude local Direction = (_Humanoid and _Humanoid.MoveDirection) or Vector3.zero local Seat = (_Humanoid and _Humanoid.SeatPart); local PredictionOffset if (Magnitude < 5) 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 >= 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 return Flinged 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 ^ 4, }), 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 CommandBar.GroupTransparency = 1 -- :: 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 Object:Destroy(); end Cleaner.Objects[Name][Index] = nil end end end local Animate = { Set = function(Component, Title, Description) local Labels = Component.Frame local TLabel, DLabel = Labels.Title, Labels.Description if Title then TLabel.Text = Title else Destroy(TLabel) end if Description then DLabel.Text = Description else Destroy(DLabel) 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 function Update(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) }) --Window.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 = {} 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 Minimzied = 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 NewSize = Vector2.new(Size.X + Delta.X * Mode.X.X, Size.Y + Delta.Y * Mode.Y.Y) NewSize = Vector2.new( math.clamp(NewSize.X, Minimum.X, Maximum.X), math.clamp(NewSize.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) local NewPosition = UDim2.new( UIPos.X.Scale, UIPos.X.Offset + DeltaAnchorOffset.X * Mode.X.X, UIPos.Y.Scale, UIPos.Y.Offset + DeltaAnchorOffset.Y * Mode.Y.Y ) Window.Position = NewPosition 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(345, 418), false, true) end, } Library.Tabs[Config.Title].Open() Animate.Drag(Window) local SetShadow = function(Bool) Spawn(function() Shadow.Visible = true Tween(Shadow, 0.5, { BackgroundTransparency = Bool and 0.7 or 1 }); Wait(0.5) Shadow.Visible = 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 TLabel, DLabel = Labels.Title, Labels.Description if Title then TLabel.Text = Title else Destroy(TLabel) end if Description then DLabel.Text = Description else Destroy(DLabel) 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) Connect(Button.MouseButton1Click, function() Animations:SetTab(Config.Title) end) 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, }) end function Component:AddDropdown( Config: { Title: string, Description: string, Options: {}, Tab: Instance, Callback: any } ) local Dropdown = Clone(Components.Dropdown) local Background = Window.Background local Text = Dropdown.Holder.Main.Title Connect(Dropdown.MouseButton1Click, function() local Example = Clone(Features.DropdownExample) local Buttons = Example.Actions Tween(Background, 0.25, { BackgroundTransparency = 0.6 }) Example.Parent = Window Animate.Open(Example, 0) for Index, Button in next, Buttons:GetChildren() do if Button:IsA("TextButton") then Animations:Component(Button, true) Connect(Button.MouseButton1Click, function() Tween(Background, 0.25, { BackgroundTransparency = 1 }) Animate.Close(Example) Wait(0.25) Destroy(Example) 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 Tween(Background, 0.25, { BackgroundTransparency = 1 }) Animate.Close(Example) Wait(0.25) Destroy(Example) end) end end) Component:Set(Dropdown, Config.Title, Config.Description) Animations:Component(Dropdown) 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(Key, Focused) local InputType = Key.UserInputType if (not Finished and not Focused) then Finished = true Config.Callback(Key) SetKey(InputType, Key.KeyCode) end 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 Component:Set(ColorPicker, Config.Title, Config.Description) Animations:Component(ColorPicker) Current.BackgroundColor3 = Config.Default or Color3.fromRGB(255, 255, 255) 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, -23, 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, 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) local Scale = (Mouse.X - Slide.AbsolutePosition.X) / Slide.AbsoluteSize.X Scale = (Scale > 1 and 1) or (Scale < 0 and 0) or Scale if Number then Number = (Number > Config.MaxValue and Config.MaxValue) or (Number < 0 and 0) or Number end Value = SetNumber(Number or (Scale * Config.MaxValue)) Amount.Text = Value Fill.Size = UDim2.fromScale((Number and Number / Config.MaxValue) or Scale, 1) Config.Callback(Value) 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) 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 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 Minimzied = not Minimzied if Minimzied then Tween(Window, 0.25, { Size = UDim2.fromOffset(345, 60) }) else Tween(Window, 0.25, { Size = UDim2.fromOffset(345, 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(345, 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, 3) }) 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" }, ["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 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 (not Themed.Toggles[Name]) 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 S = (Table and Settings[Table]) or Settings S[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("[COMMAND 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] = false 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 Name, Type = Argument.Name, Argument.Type local ArgumentFrame = Clone(Button.Arguments.TemplateArg) 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 FoundFirst = true else Frame.BackgroundColor3 = Settings.Theme.Primary 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(Plr) if Plr == 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 -- :: 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 = "Unavailable", 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 = "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: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 Window:AddTab({ Title = "Create Keybind", Description = "Create a Keybind to use", Tab = "Keybinds", }) Window:AddTab({ Title = "Current Keybinds", Description = "List of active Keybinds", Tab = "Keybinds", }) -- : Create Keybind 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.KeyCode), "Enum.KeyCode.", Blank), Description = "Click this to remove the Keybind", Tab = "Current Keybinds", Callback = function(Button) Keybinds[Key] = nil Destroy(Button) end, }) end Window:AddSection({ Title = "Create", Tab = "Create Keybind" }) Window:AddButton({ Title = "Create Keybind", Description = "Create the Keybind!", Tab = "Create Keybind", 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:AddSection({ Title = "Settings", Tab = "Create Keybind" }) Window:AddKeybind({ Title = "Keybind Keybind", Description = "The keybind for the Keybind", Tab = "Create Keybind", 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 = "Create Keybind", 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 = "Create Keybind", Callback = function(Cmd) Keybind.End = Cmd end, }) Connect(Services.Input.InputBegan, function(Key) local Keybind = Keybinds[Key] if Keybind then if Keybind.Active then Command.Parse(true, Keybinds[Key].End) else Command.Parse(true, Keybinds[Key].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 Window:AddTab({ Title = "Create Event", Description = "Create a event to fire", Tab = "Events", }) Window:AddTab({ Title = "Current Events", Description = "List of active events", Tab = "Events", }) -- : Create event local SelectedEvent = "Unselected" local EventCommand 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 = "Current Events", Callback = function(Button) Settings.Events[EventName][SavedCommand] = nil Destroy(Button) SaveSettings() end, }) end end 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 = "Current 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:AddButton({ Title = "Create Event", Tab = "Create Event", Callback = AddEvent, }) Window:AddDropdown({ Title = "Select Event", Tab = "Create Event", 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 = "Create Event", Callback = function(Input) EventCommand = Input 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: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: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: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, 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", }) Window:AddSection({ Title = "Main", Tab = "Home" }) Window:AddToggle({ Title = "Enabled", Tab = "Home", Default = false, Callback = function(Toggle) ESPSettings.Enabled = Toggle end, }) Window:AddToggle({ Title = "Hide Teammates", Tab = "Home", Default = false, Callback = function(Toggle) ESPSettings.IgnoreTeammates = Toggle end, }) Window:AddSection({ Title = "Features", Tab = "Home" }) Window:AddToggle({ Title = "Boxes Enabled", Tab = "Home", Default = true, Callback = function(Toggle) ESPSettings.Boxes = Toggle end, }) Window:AddToggle({ Title = "Text Enabled", Tab = "Home", Default = true, Callback = function(Toggle) ESPSettings.Text = 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 = "Text Size", Tab = "Home", MaxValue = 25, Default = ESPSettings.TextSize, Callback = function(Amount) ESPSettings.TextSize = Amount 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 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 end local UpdatePosition = function() local Root = (Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")) if Root and not (ESPSettings.IgnoreTeammates and Player.Team == LocalPlayer.Team) and ESPSettings.Enabled then local Root = Player.Character.HumanoidRootPart local _, Visible = Camera:WorldToViewportPoint(Root.Position) local Coordinate = Root.CFrame local TeamColor = Player.TeamColor.Color for Index, DrawingLine in next, { Bottom, Top, Right, Left } do DrawingLine.Color = TeamColor DrawingLine.Thickness = ESPSettings.BoxThickness end Name.Color = TeamColor Name.Size = ESPSettings.TextSize Name.Center = true Name.Outline = true Name.OutlineColor = Color3.new(0, 0, 0) Name.Text = Player.Name 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) SetVisible(true) else SetVisible(false) end else SetVisible(false) end end Connect(Services.Run.RenderStepped, UpdatePosition) end Connect(Services.Players.PlayerAdded, Add) for Index, Player in next, Services.Players:GetPlayers() do if Player ~= LocalPlayer then Add(Player) end end end end, }) local AimbotSettings = { Enabled = false, Triggerbot = false, Part = "Head", Method = "Camera", RandomPart = 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 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 return ClosestPlayerPart end AimbotSettings.GetAutoPrediction = function() local DataPing = Services.Stats.Network.ServerStatsItem["Data Ping"]:GetValue() local Prediction = math.clamp(DataPing / 1000, 0, 1) * 1.285 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" }, 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", }) Window:AddToggle({ Title = "Enabled", Tab = "Home", Default = false, Callback = function(Boolean) AimbotSettings.Enabled = Boolean end, }) Window:AddDropdown({ Title = "Aimbot Method", Tab = "Home", Options = { ["First Person"] = "Camera", ["Third Person"] = "Third", ["Silent Aim"] = "Silent", }, Callback = function(Method) AimbotSettings.Method = Method if Method == "Silent" then EnableAimbot() if Check("Hook") then API:Notify({ Title = "Silent Aim", Description = "Enabled", Type = "Success", }) else API:Notify({ Title = "Silent Aim", 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 = false, Callback = function(Boolean) AimbotSettings.Triggerbot = Boolean end, }) Window:AddSection({ Title = "Checks", Tab = "Home" }) Window:AddToggle({ Title = "Alive Check", Tab = "Home", Default = true, Callback = function(Boolean) AimbotSettings.AliveCheck = Boolean end, }) Window:AddToggle({ Title = "Team Check", Tab = "Home", Default = false, Callback = function(Boolean) AimbotSettings.TeamCheck = Boolean end, }) Window:AddToggle({ Title = "NPCs Allowed", Tab = "Home", Default = false, Callback = function(Boolean) AimbotSettings.IncludeNpcs = Boolean end, }) Window:AddToggle({ Title = "Wall Check", Tab = "Home", Default = false, 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", 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", }, Callback = function(Part) AimbotSettings.Part = Part AimbotSettings.RandomPart = (Part == "Random") end, }) Spawn(function() Connect(Services.Run.RenderStepped, function() 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 Key == AimbotSettings.Key and AimbotSettings.Enabled and not Processed then local TargetPart = AimbotSettings.Closest() local Method = AimbotSettings.Method 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 end end) Connect(Services.Input.InputEnded, function(Key, Processed) if Key == AimbotSettings.Key and AimbotSettings.Enabled and not Processed then AimbotSettings.Held = false end end) Spawn(function() local Circle if Drawing and Drawing.new then Circle = Drawing.new("Circle") repeat Wait() local MouseLocation = (Services.Input:GetMouseLocation()) if AimbotSettings.Enabled then Circle.Radius = AimbotSettings.FOV.Radius Circle.Position = Vector2.new(MouseLocation.X, MouseLocation.Y) Circle.Visible = true else Circle.Visible = false end until not Circle end end) local Enabled = false EnableAimbot = function() if not Enabled and Check("Hook") then Enabled = true local OldNamecall OldNamecall = hookmetamethod(game, "__namecall", function(self, ...) local Method = getnamecallmethod() if not checkcaller() and string.find(string.lower(Method), "ray") and AimbotSettings.Enabled and AimbotSettings.Method == "Silent" then if Method == "FindPartOnRay" or Method == "FindPartOnRayWithIgnoreList" or Method == "FindPartOnRayWithWhitelist" then local ClosestRoot = AimbotSettings.Closest() 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, (ClosestRoot.Position - Origin).Unit * 500) end return OldNamecall(self, table.unpack(Args)) end elseif Method == "Raycast" then local ClosestRoot = AimbotSettings.Closest() if ClosestRoot then local Args = { ... } local Origin = Args[1] local Direction = Args[2] if Direction.Magnitude > 50 then Args[2] = (ClosestRoot.Position - Origin).Unit * 500 end return OldNamecall(self, table.unpack(Args)) end end end return OldNamecall(self, ...) end) end 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 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.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 Disguise, Username, Message = "Hello", "Roblox", "whats up" local Window = Library:CreateWindow({ Title = "Chat", }) local Send = function() local Character = " " Chat(Disguise .. Character:rep(125) .. Format("%s" .. ": %s", Username, Message)) end Window:AddButton({ Title = "Send", Tab = "Home", Callback = Send, }) Window:AddInput({ Title = "Disguise Text", Tab = "Home", Default = "Hello", Callback = function(Input) Disguise = Input end, }) Window:AddInput({ Title = "Player", Tab = "Home", Default = "Roblox", Callback = function(Input) Username = Input end, }) Window:AddInput({ Title = "Message", Tab = "Home", Default = "whats up", Callback = function(Input) Message = Input end, }) 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: " Window:AddParagraph({ Title = Concat(Aliases, " / "), Description = Description, Tab = "Home", }) end end end, }) Command.Add({ Aliases = { "httpspy", "http" }, Description = "Displays all HTTP requests from other scripts", Arguments = {}, Task = function() if not Check("Hook") 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(Func, Name) local Old = Func Old = hookfunction(Func, 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(game.HttpPost, "HttpPost Request") LogFunction(request, "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 = "Part Name", Tab = "Home", Callback = function(Input) if GSub(Input, " ", Blank) == Blank then Input = nil end Name = Input end, }) Window:AddInput({ Title = "Part Classname", 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 = { "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) local Arguments = nil Add("Loop", true) 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(GetModule("dex.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 Pos Connect(Humanoid.Died, function() if Get("AutoRespawn") then Pos = Humanoid.RootPart.CFrame end end) CWait(LocalPlayer.CharacterAdded) local Root = LocalPlayer.Character:WaitForChild("HumanoidRootPart") Root.CFrame = (Pos 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 "Fast Carts", "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 "Slow Carts", "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 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() local Allowed local Old Refresh("AntiCFrame", true) 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 TCharacter = GetCharacter(Target) local TRoot = GetRoot(Target) local THumanoid = GetHumanoid(Target) local Timer = tick() if TCharacter and (not TCharacter: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 = tonumber(Amount) or 16 Spoof(GetHumanoid(LocalPlayer), "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 = tonumber(Amount) or 16 Spoof(GetHumanoid(LocalPlayer), "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) 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" }, }, Task = function(Message) Add("Spam", true) repeat Wait(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(math.huge, 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://raw.githubusercontent.com/78n/SimpleSpy/main/SimpleSpySource.lua"))() 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 + 10, 0), Anchored = true, CanCollide = false, }) for Index, Part in next, GetClasses(workspace, "BasePart") do local Model = Part:FindFirstAncestorOfClass("Model") local isPlayer = (Model and Services.Players:GetPlayerFromCharacter(Model)) if (not Part.Anchored) and not isPlayer then Bring(Part, Target); 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() local Target = Mouse.Target Attach(Target) end) return "Part Attach", "Loaded successfully!" end, }) Command.Add({ Aliases = { "attachparts", "aparts" }, Description = "Attaches all unanchored parts to you", Arguments = {}, Task = function() for Index, Part in next, GetClasses(workspace, "BasePart") do Attach(Part) 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) 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, }) repeat Wait(1) for Index, Part in next, GetClasses(workspace, "BasePart") do Bring(Part, Blackhole) end until not Get("Blackhole") Destroy(Blackhole) end, }) Command.Add({ Aliases = { "unblackhole", "unbh" }, Description = "Disables the blackhole command", Arguments = {}, Task = function() Refresh("Blackhole", false) end, }) Command.Add({ Aliases = { "unattach" }, Description = "Detaches all previously attached parts", Arguments = {}, Task = function() for Index, Attachment in next, workspace:GetDescendants() do if Attachment.Name == AttachName then Destroy(Attachment) end end 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 Bring(Part, GetRoot(Target)) 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 N = SetNumber(Amount) SetSRadius(N, N) return "Simulation Radius", Format("Successfully set your simulation radius to %s", Amount) 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 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 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() if saveinstance then saveinstance() else return "Save Instance", "Your executor does not support save instance, missing function saveinstance()", 15 end end, }) Command.Add({ Aliases = { "climb" }, Description = "Allows you to climb while in air", Arguments = {}, Task = function() local oldPart = Get("ClimbPart") local Part = Create("TrussPart", { Transparency = 1, Size = Vector3.new(2, 10, 2), Parent = workspace, CanCollide = true, Name = GenerateGUID(Services.Http), }) Add("ClimbPart", Part) if oldPart then Destroy(oldPart) end while Part and Wait() do Part.CFrame = Root.CFrame * CFrame.new(0, 0, -1.5) end 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, 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 = Backpack:FindFirstChildOfClass("Tool") local Grabber 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 ~= LocalPlayer 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) 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) 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() local Old = Root.CFrame Refresh("SetSpawn", true) 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(src) local Success, Result = pcall(function() loadstring(src)() 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") 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) if Old then Destroy(Old) end while Part and Wait() do Part.CFrame = Root.CFrame + Vector3.new(0, -4, 0) end 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() local OldPosition = Root.CFrame Refresh("LoopDrop", true) 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, Character:GetChildren() do if Part:IsA("BasePart") then Part.Anchored = false end 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, "RemoteEvents") do Target:FireServer() Fired += 1 end for Index, Target in next, GetClasses(game, "UnreliableRemoteEvent") do Target:FireServer() Fired += 1 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 TRoot = GetRoot(Target) local S = (Amount and SetNumber(Amount, 5)) or 10 if TRoot and Target ~= LocalPlayer then TRoot.Size = Vector3.new(S, S, S) TRoot.Transparency = 0.8 TRoot.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 TRoot = GetRoot(Target) if TRoot then TRoot.Size = Vector3.new(2, 2, 1) TRoot.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 = { "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 = { "serverfreeze", "freezewalk" }, Description = "Freezes your character in the server, but not on your client, allowing to kill enemies without them seeing you", Arguments = {}, Task = function() local Root = GetRoot(LocalPlayer) local Character = GetCharacter(LocalPlayer) if GetHumanoid(LocalPlayer).RigType == Enum.HumanoidRigType.R6 then local Clone = Clone(Root); Destroy(Root); Clone.Parent = Character else Character.LowerTorso.Anchored = true Destroy(Character.LowerTorso.Root); end return "Freeze Walk", "Enabled" 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" }, }, Task = function(Input) Add("ClientBring", true) repeat Wait() for Index, Target in next, GetPlayer(Input) do local TRoot = GetRoot(Target) if TRoot then TRoot.CFrame = Root.CFrame * CFrame.new(0, 0, (Distance and -SetNumber(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() local Bound = LocalPlayer.PlayerScripts.PlayerModule.CameraModule.MouseLockController.BoundKeys Bound.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 = {} 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, 30, 70)); for Index, Part in next, Parts do if (Part:IsA("BasePart") and Part.Anchored and Part.CanCollide) then if (Part.Name ~= "Baseplate") then if (not Part:IsDescendantOf(Vehicle)) and (not Part:IsDescendantOf(Character)) then --if (Part.Position.Y - Position.Y) > (-(Size.Y / 2) + 0.5) then if (Part.Position.Y - (Part.Size.Y / 2)) > (Position.Y - (VehicleSize.Y / 2) - 0.75) then Part.CanCollide = false NoclipWalls[Part] = true --[[else local Highlight = Create("Highlight", { Parent = Part }) game.Debris:AddItem(Highlight, 1)]] end 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 = {} end, }) Command.Add({ Aliases = { "unvehiclenoclip", "unvehiclenc", "unvnc" }, Description = "Disables the VehicleNoclip command", Arguments = {}, Task = function() Refresh("VehicleNoclip", false); 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() for Index, Seat in next, GetClasses(workspace, "Seat") do Seat:Sit(Humanoid) break end end, }) Command.Add({ Aliases = { "vehicleseat", "vseat" }, Description = "Makes you sit in a Vehicle Seat", Arguments = {}, Task = function() for Index, Seat in next, GetClasses(workspace, "VehicleSeat") do Seat:Sit(Humanoid) break end 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); 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 COCOS POV ADMIn, 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 = { "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 and Disables 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 if FreecamEnabled then Freecam:StopFreecam() return "Freecam", "Disabled" else Freecam:EnableFreecam() return "Freecam", "Enabled" end 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() for Index = 1, 3 do Services.Players:Chat(Format("!clear")) 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.Parent = Character SelectedTool.GripPos = Vector3.new(0, -10000, 0) 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 = { "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 = { "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 = { "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 isPlayer = Services.Players:GetPlayerFromCharacter(Model) if isPlayer then Fling({ isPlayer }) 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) 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 do 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", }) end 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 Interface.Parent = nil 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() end Spawn(function() -- making opening button work Animate.Drag(Button, true) Connect(Button.MouseButton1Click, OpenCommandBar) if (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 ClearCommandBar = function(UI) if UI.Name == "KCoreUI" or UI.Name == "HDAdminGuis" or UI.Name == "Essentials Client" or UI.Name == "Cmdr" 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() -- since getroleingroup is slow we adding a spawn to make it faster 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 Drawing = loadstring(GetModule("drawing.lua"))() 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) do Cmd()._Cmd = { SetTheme = function(NewTheme) Settings.Theme = NewTheme SetTheme(); end } end API:Notify({ Title = "Welcome (NEW UPDATE)", Description = Format( "Loaded in %.2f seconds (Version %s)\nCommandBarPrefix: '%s'\nChat Prefix: '%s'", tick() - Speed, Settings.Version, Settings.Prefix, Settings.ChatPrefix ), 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