if getgenv().HavocSLR_Unload then pcall(getgenv().HavocSLR_Unload) end cloneref = cloneref or function(Object) return Object end local ExecutorName = "Unknown" pcall(function() ExecutorName = identifyexecutor and identifyexecutor() or "Unknown" end) local Menu = {} Menu.Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/hexanitok-hue/tuff/refs/heads/main/coolv2"))() local Library = Menu.Library if not Library then return end Library.Silent = false pcall(function() local Core = gethui and gethui() or game:GetService("CoreGui") local Stale = { ["Havoc | Player ESP"] = true, ["Havoc | Performance Saver Cover Screen"] = true, ["Havoc | Teleport Cover Screen : Anti Tamper Zone"] = true, } for _, Object in ipairs(Core:GetDescendants()) do if Object:IsA("ScreenGui") and Stale[Object.Name] then Object:Destroy() end end end) local Services = setmetatable({}, { __index = function(_, Name) return cloneref(game:GetService(Name)) end, }) local Players = Services.Players local LocalPlayer = Players.LocalPlayer local Workspace = Services.Workspace local ReplicatedStorage = Services.ReplicatedStorage local RunService = Services.RunService local UserInputService = Services.UserInputService local TweenService = Services.TweenService local GuiService = Services.GuiService local ProximityPromptService = Services.ProximityPromptService local MarketplaceService = Services.MarketplaceService local VirtualUser = Services.VirtualUser local VirtualInputManager = Services.VirtualInputManager local Lighting = Services.Lighting local PathfindingService = Services.PathfindingService local CurrentCamera = Workspace.CurrentCamera local Remotes = ReplicatedStorage:WaitForChild("Remotes") local Modules = ReplicatedStorage:WaitForChild("Modules") local Misc = ReplicatedStorage:WaitForChild("Misc") local BRAND = "Havoc" local function Character() if LocalPlayer.Character then return LocalPlayer.Character end LocalPlayer.CharacterAdded:Wait() return Character() end local function Backpack() return LocalPlayer:WaitForChild("Backpack") end local function Search_Game(Id) local Objects = game:GetObjects(Id) for Index = 1, #Objects do if Objects[Index]:IsA("Animation") then return Objects[Index].AnimationId end end return Id end local function GetItems(Name) local Table = {} if Character():FindFirstChild(Name) then table.insert(Table, Character():FindFirstChild(Name)) end for _, Object in pairs(Backpack():GetChildren()) do if Object.Name == Name then table.insert(Table, Object) end end return Table end local function GetCommaValue(Number) local Formatted = tostring(Number) while true do local Replaced Formatted, Replaced = string.gsub(Formatted, "^(-?%d+)(%d%d%d)", "%1,%2") if Replaced == 0 then break end end return Formatted end local function TableSwap(Table, Index_To_Value) local Result = {} for Index, Value in next, Table do if Index_To_Value then Result[Value] = Index else table.insert(Result, Index) end end return Result end local function Notify(Params) if type(Params) ~= "table" then return end Library:Notification({ Name = Params.Name or Params.Title or BRAND, Description = Params.Info or Params.Description or "", Duration = Params.LifeTime or Params.Duration or 5, --Icon = Params.Icon or "shield-alert", }) end local Notifications = { Notification = function(a, b) Notify(b or a) end, } getgenv().queue_on_teleport = queue_on_teleport or queueonteleport if not getgenv().fireproximityprompt then getgenv().fireproximityprompt = function(Prompt) local Original_HoldDuration = Prompt.HoldDuration local Original_RequiresLineOfSight = Prompt.RequiresLineOfSight Prompt.HoldDuration = 0 Prompt.RequiresLineOfSight = false Prompt:InputHoldBegin() task.wait(Original_HoldDuration + (2 / 60)) Prompt:InputHoldEnd() Prompt.HoldDuration = Original_HoldDuration Prompt.RequiresLineOfSight = Original_RequiresLineOfSight end end if not getgenv().replicatesignal then getgenv().replicatesignal = function(Signal, Replicator) firesignal(Signal, Replicator) end end fireproximityprompt = fireproximityprompt or getgenv().fireproximityprompt replicatesignal = replicatesignal or getgenv().replicatesignal local function FirePrompt(Prompt) if not Prompt then return end local Base_Position = nil if Prompt.Parent and Prompt.Parent:IsA("BasePart") then Base_Position = Prompt.Parent.Position elseif Prompt.Parent and Prompt.Parent:IsA("Attachment") and Prompt.Parent.Parent and Prompt.Parent.Parent:IsA("BasePart") then Base_Position = Prompt.Parent.WorldPosition end if Base_Position then local Char = LocalPlayer.Character if Char then local Humanoid = Char:FindFirstChild("Humanoid") local HRP = Char:FindFirstChild("HumanoidRootPart") if Humanoid and HRP then Humanoid:MoveTo(Base_Position) if CurrentCamera then pcall(function() CurrentCamera.CFrame = CFrame.lookAt(CurrentCamera.CFrame.Position, Base_Position) end) end local Timeout = tick() + 10 repeat task.wait(0.1) local Distance = (Base_Position - HRP.Position).Magnitude if CurrentCamera then pcall(function() CurrentCamera.CFrame = CFrame.lookAt(CurrentCamera.CFrame.Position, Base_Position) end) end if Distance < 8 then break end until tick() > Timeout Humanoid:MoveTo(Vector3.new(HRP.Position.X, HRP.Position.Y, HRP.Position.Z)) end end end task.wait(1) task.wait(math.random(30, 100) / 1000) local Success = false while not Success do pcall(function() if Prompt and Prompt:IsA("ProximityPrompt") then Prompt:InputHoldBegin() task.wait(Prompt.HoldDuration + 0.1) Prompt:InputHoldEnd() Success = true end end) if not Success then task.wait(1) end end end local function FirePromptFast(Prompt) if not Prompt then return end local Ok = pcall(function() Prompt:InputHoldBegin() task.wait(Prompt.HoldDuration + 0.05) Prompt:InputHoldEnd() end) if not Ok then FirePrompt(Prompt) end end local GetHui = gethui or function() return cloneref(game:GetService("CoreGui")) end local RuntimeConnections = {} local Spilled = {} local Fallback_Request_Code = nil local Anti_Tamper = { ["atr"] = false, } local Configuration local Hit_Effects = { ["Enable Hit Sounds"] = false, ["Hit Sound"] = "Neverlose", ["Hit Sound Volume"] = 5, ["Hit Sounds"] = { Hitmarker = "rbxassetid://160432334", ["Neverlose"] = "rbxassetid://8726881116", Gamesense = "rbxassetid://4817809188", Rust = "rbxassetid://1255040462", ["Minecraft"] = "rbxassetid://4018616850", ["CS:GO"] = "rbxassetid://6937353691", ["Call Of Duty"] = "rbxassetid://5952120301", }, ["Enable Hit Marker"] = false, ["Hit Marker Color"] = Color3.fromRGB(255, 255, 255), ["Hit Marker Duration"] = 1, ["Enable Hit Effects"] = false, ["Hit Effect Color"] = Color3.fromRGB(255, 255, 255), ["Hit Effect Style"] = nil, ["Hit Effect Life"] = 1, ["Hit Effect Styles"] = {}, ["Enable Damage Numbers"] = false, ["Damage Number Color"] = Color3.fromRGB(255, 255, 255), ["Damage Number Size"] = 20, ["Damage Number Duration"] = 1, ["Enable Hit Notifications"] = false, ["Hit Notification Duration"] = 5, ["_Remote"] = nil, ["Holder"] = nil, } do local Success, Objects = pcall(function() return game:GetObjects("rbxassetid://17192721766") end) if Success and type(Objects) == "table" and Objects[1] then local Holder = Objects[1] Holder.Name = "Havoc_EffectHolder" Holder.Anchored = true Holder.CanCollide = false Holder.CanQuery = false Holder.CanTouch = false Holder.Transparency = 1 Holder.Parent = GetHui() Hit_Effects.Holder = Holder for _, Child in ipairs(Holder:GetChildren()) do if Child:IsA("Attachment") then table.insert(Hit_Effects["Hit Effect Styles"], Child.Name) end end end end table.sort(Hit_Effects["Hit Effect Styles"]) local function Find_Style(Fragment) for _, Name in ipairs(Hit_Effects["Hit Effect Styles"]) do if string.find(string.lower(Name):gsub("%s", ""), Fragment, 1, true) then return Name end end end Hit_Effects["Hit Effect Style"] = Find_Style("shockwave") or Find_Style("shock") or Find_Style("impact") or Hit_Effects["Hit Effect Styles"][1] function Hit_Effects.PlaySound() local Now = os.clock() if Now - (Hit_Effects._LastSound or 0) < 0.05 then return end Hit_Effects._LastSound = Now local Name = Hit_Effects["Hit Sound"] local SoundId = Name and Hit_Effects["Hit Sounds"][Name] if not SoundId then return end local Sound = Instance.new("Sound") Sound.SoundId = SoundId Sound.Volume = Hit_Effects["Hit Sound Volume"] Sound.Looped = false Sound.Parent = CurrentCamera or Workspace Sound:Play() task.delay(3, function() pcall(function() Sound:Destroy() end) end) end function Hit_Effects.Marker(WorldPosition) if not Hit_Effects["Enable Hit Marker"] then return end if (Hit_Effects._ActiveMarkers or 0) >= 8 then return end Hit_Effects._ActiveMarkers = (Hit_Effects._ActiveMarkers or 0) + 1 local Bars = {} local Gap, BarLength, Thickness = 4, 10, 2 local Running = true local Duration = math.max(Hit_Effects["Hit Marker Duration"], 0.1) local Created = pcall(function() for Index = 1, 4 do local Line = Drawing.new("Line") Line.Thickness = Thickness Line.Color = Hit_Effects["Hit Marker Color"] Line.Transparency = 1 Line.Visible = true Bars[Index] = Line end end) if not Created then Hit_Effects._ActiveMarkers = math.max((Hit_Effects._ActiveMarkers or 1) - 1, 0) return end task.spawn(function() while Running do local Screen, OnScreen = CurrentCamera:WorldToViewportPoint(WorldPosition) if not OnScreen then for _, Bar in ipairs(Bars) do Bar.Visible = false end else local Center = Vector2.new(Screen.X, Screen.Y) for Index = 0, 3 do local Angle = math.rad(45 + Index * 90) local Direction = Vector2.new(math.cos(Angle), math.sin(Angle)) local Bar = Bars[Index + 1] Bar.From = Center + Direction * Gap Bar.To = Center + Direction * (Gap + BarLength) Bar.Visible = true end end RunService.RenderStepped:Wait() end for _, Bar in ipairs(Bars) do pcall(function() Bar:Remove() end) end Hit_Effects._ActiveMarkers = math.max((Hit_Effects._ActiveMarkers or 1) - 1, 0) end) task.spawn(function() task.wait(Duration) for Index = 10, 1, -1 do for _, Bar in ipairs(Bars) do pcall(function() Bar.Transparency = Index / 10 end) end task.wait(Duration / 10) end Running = false end) end function Hit_Effects.SpawnEffect(TargetCFrame) if not Hit_Effects["Enable Hit Effects"] then return end local Holder = Hit_Effects.Holder local Style = Hit_Effects["Hit Effect Style"] if not Holder or not Holder.Parent or not Style or not Holder:FindFirstChild(Style) then return end local Clone = nil local Ok = pcall(function() Clone = Holder:Clone() Clone.Name = "\0" Clone.Anchored = true Clone.CanCollide = false Clone.CanQuery = false Clone.CanTouch = false Clone.Transparency = 1 Clone.CFrame = TargetCFrame Clone.Parent = Workspace end) if not Ok or not Clone then return end local Attachment = Clone:FindFirstChild(Style) if Attachment then for _, Object in ipairs(Attachment:GetDescendants()) do if Object:IsA("ParticleEmitter") then pcall(function() Object.Color = ColorSequence.new(Hit_Effects["Hit Effect Color"]) Object:Emit(1) end) end end end task.delay(Hit_Effects["Hit Effect Life"], function() pcall(function() Clone:Destroy() end) end) end function Hit_Effects.DamageNumber(WorldPosition, Amount, IsHeadshot) if not Hit_Effects["Enable Damage Numbers"] then return end if not Amount or Amount <= 0 then return end if (Hit_Effects._ActiveNumbers or 0) >= 6 then return end Hit_Effects._ActiveNumbers = (Hit_Effects._ActiveNumbers or 0) + 1 local Text = nil local Created = pcall(function() Text = Drawing.new("Text") Text.Text = tostring(math.floor(Amount)) Text.Size = Hit_Effects["Damage Number Size"] + (IsHeadshot and 8 or 0) Text.Color = IsHeadshot and Color3.fromRGB(255, 220, 0) or Hit_Effects["Damage Number Color"] Text.Center = true Text.Outline = true Text.OutlineColor = Color3.fromRGB(0, 0, 0) Text.Visible = true end) if not Created or not Text then Hit_Effects._ActiveNumbers = math.max((Hit_Effects._ActiveNumbers or 1) - 1, 0) return end local Started = tick() local Duration = math.max(Hit_Effects["Damage Number Duration"], 0.1) local OffsetX = math.random(-20, 20) / 100 task.spawn(function() while tick() - Started < Duration do local Elapsed = tick() - Started local Progress = Elapsed / Duration local Screen, OnScreen = CurrentCamera:WorldToViewportPoint(WorldPosition) if not OnScreen then Text.Visible = false else Text.Visible = true Text.Position = Vector2.new(Screen.X + OffsetX * 100, Screen.Y - Elapsed * 40) Text.Transparency = Progress > 0.5 and math.clamp(1 - ((Progress - 0.5) * 4), 0, 1) or 1 end RunService.RenderStepped:Wait() end Text.Visible = false pcall(function() Text:Remove() end) Hit_Effects._ActiveNumbers = math.max((Hit_Effects._ActiveNumbers or 1) - 1, 0) end) end function Hit_Effects.ShowHitNotification(Victim, PartName, Damage, OldHealth, NewHealth) pcall(Notify, { Name = "Havoc | Hit Notification", Description = string.format( "You hit %s in the %s for %s damage!\nOld Health: %s\nNew Health: %s", tostring(Victim and Victim.Name or "?"), tostring(PartName), tostring(math.floor(Damage or 0)), tostring(math.floor(OldHealth or 0)), tostring(math.floor(NewHealth or 0)) ), LifeTime = Hit_Effects["Hit Notification Duration"], }) end function Hit_Effects.HitNotification(Victim, PartName, Damage, OldHealth, NewHealth) if not Hit_Effects["Enable Hit Notifications"] then return end Hit_Effects.ShowHitNotification(Victim, PartName, Damage, OldHealth, NewHealth) end function Hit_Effects.PreviewNotification() Hit_Effects.ShowHitNotification(LocalPlayer, "Head", 33, 100, 67) end function Hit_Effects.GetInflictRemote() local Cached = Hit_Effects._Remote if Cached and Cached.Parent then return Cached end local Framework = Modules:FindFirstChild("GunFramework") local Remotes = Framework and Framework:FindFirstChild("Remotes") if not Remotes then return nil end local Remote = nil for _, Child in ipairs(Remotes:GetChildren()) do if Child:IsA("RemoteEvent") and Child.Name:match("^%x+%-%x+%-%x+%-%x+%-%x+$") then Remote = Child break end end Hit_Effects._Remote = Remote return Remote end function Hit_Effects.OnHit(Part) if not Part or not Part.Parent then return end local Character_ = Part.Parent local Humanoid = Character_:FindFirstChildWhichIsA("Humanoid") if not Humanoid then return end local Victim = Players:GetPlayerFromCharacter(Character_) if Victim == LocalPlayer then return end local OldHealth = Humanoid.Health if OldHealth <= 0 then return end if Hit_Effects["Enable Hit Sounds"] then task.spawn(Hit_Effects.PlaySound) end Hit_Effects.Marker(Part.Position) Hit_Effects.SpawnEffect(Part.CFrame) if (Hit_Effects._PendingDamage or 0) >= 16 then return end Hit_Effects._PendingDamage = (Hit_Effects._PendingDamage or 0) + 1 task.spawn(function() local Ping = 0 pcall(function() Ping = LocalPlayer:GetNetworkPing() end) local Timeout = tick() + math.clamp(Ping * 6, 0.25, 1.5) repeat RunService.Heartbeat:Wait() until Humanoid.Health < OldHealth or not Humanoid.Parent or tick() > Timeout local NewHealth = Humanoid.Health local Damage = OldHealth - NewHealth Hit_Effects._PendingDamage = math.max((Hit_Effects._PendingDamage or 1) - 1, 0) if Damage > 0 then Hit_Effects.DamageNumber(Part.Position, Damage, Part.Name == "Head") Hit_Effects.HitNotification(Victim, Part.Name, Damage, OldHealth, NewHealth) end end) end function Hit_Effects.HandleNamecall(Self, Args) if typeof(Self) ~= "Instance" or not Self:IsA("RemoteEvent") then return end local Remote = Hit_Effects.GetInflictRemote() if not Remote or Self ~= Remote then return end local Target = Args[3] if typeof(Target) ~= "Instance" then return end if Target:IsA("Model") then Target = Target:FindFirstChild("HumanoidRootPart") or Target:FindFirstChild("UpperTorso") end if Target and Target:IsA("BasePart") and Target.Parent then Hit_Effects.OnHit(Target) end end pcall(Hit_Effects.GetInflictRemote) function Hit_Effects.Cleanup() if Hit_Effects.Holder then pcall(function() Hit_Effects.Holder:Destroy() end) Hit_Effects.Holder = nil end end local ViewRayParams = RaycastParams.new() ViewRayParams.FilterType = Enum.RaycastFilterType.Blacklist Configuration = { ["Expected Versions"] = { [71600459831333] = 20584, }, Delta_User = string.lower(ExecutorName):find("delta") ~= nil, Mobile_User = UserInputService.TouchEnabled, Owns_Extra_Duffle_Gamepass = (function() local Success, Result = pcall(function() return MarketplaceService:UserOwnsGamePassAsync(LocalPlayer.UserId, 982243165) end) return Success and Result or false end)(), ["Create Cover"] = function() local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Havoc | Cover" ScreenGui.ResetOnSpawn = false ScreenGui.Enabled = false return ScreenGui end, Locations = { ["Main Gun Store đŸ”Ģ"] = Vector3.new(649, 52, -396), ["Second Gun Store đŸ”Ģ"] = Vector3.new(26, 72, 602), ["Cleaning J*b đŸ§Ŋ"] = Vector3.new(281, 52, -185), ["Drip Store đŸ’Ļ"] = Vector3.new(304, 52, -75), ["Mask Seller 🎭"] = Vector3.new(179, 52, -50), ["Arcade đŸ•šī¸"] = Vector3.new(561, 52, -433), ["Delivery J*b 🚚"] = Vector3.new(518, 52, -387), ["Police Station 👮"] = Vector3.new(405, -84, -387), ["Jewelry Store 💎"] = Vector3.new(-2, 53, -248), ["Gym đŸ’Ē"] = Vector3.new(125, 53, -402), ["Spawn 🚩"] = Vector3.new(557, 52, -75), ["Clothing Store 👕"] = Vector3.new(625, 53, -72), ["Black Market 💹"] = Vector3.new(272, 52, -697), ["Pier 🌴"] = Vector3.new(825, 52, -965), ["Illegal Merchant ❓"] = Vector3.new(860, 52, -714), ["Tatoos âœ’ī¸"] = Vector3.new(908, 70, 595), ["Loot Buyer 💰"] = Vector3.new(269, 52, 303), ["Box J*b đŸ“Ļ"] = Vector3.new(181, 53, 279), ["Yacht â›´ī¸"] = Vector3.new(1001, 89, -1823), ["Chop Shop 🔧"] = Vector3.new(1089, 70, 569), ["Studio 🎤"] = Vector3.new(879, 53, -65), ["Mechanic đŸ› ī¸"] = Vector3.new(778, 53, -406), ["Gas Station â›Ŋ"] = Vector3.new(323, 52, 180), ["Ice Cream Store đŸĻ"] = Vector3.new(877, 52, -471), ["Supply Store đŸĒ"] = Vector3.new(1048, 52, -600), ["Greenhouse Farm 🧑‍🌾"] = Vector3.new(1041, 52, -385), ["Gun Buyer đŸ”Ģ"] = Vector3.new(1016, 52, -106), ["Car Dealer 🚗"] = Vector3.new(557, 52, 58), ["Oil Rig đŸ›ĸī¸"] = Vector3.new(-301, 82, -1686), ["Warehouse 🛖"] = Vector3.new(-118, 70, 371), ["Safe đŸ›Ąī¸"] = Vector3.new(557, 52, -75), ["Scooter 🛴"] = Vector3.new(525, 52, -184), }, Interiors = { ["Apartment One 🏨"] = Vector3.new(552, -41, -145), ["Apartment Two 🏨"] = Vector3.new(377, -41, -480), ["Apartment Three 🏨"] = Vector3.new(545, -60, 360), ["Apartment Four 🏨"] = Vector3.new(-22, -55, -364), ["Penthouse 🏨"] = Vector3.new(372, 137, 640), ["The Ice 🧊"] = Vector3.new(217, -85, 145), ["Bank 💰"] = Vector3.new(444, -49, 107), ["Museum đŸ–ŧī¸"] = Vector3.new(1386, 60, -97), ["Mansion đŸ˜ī¸"] = Vector3.new(1441, 55, 219), }, Exteriors = { ["Apartment One 🏨"] = Vector3.new(588, 52, -211), ["Apartment Two 🏨"] = Vector3.new(388, 52, -489), ["Apartment Three 🏨"] = Vector3.new(586, 52, 284), ["Apartment Four 🏨"] = Vector3.new(-21, 52, -414), ["Penthouse 🏨"] = Vector3.new(377, 70, 559), ["The Ice 🧊"] = Vector3.new(206, 52, 149), ["Bank 💰"] = Vector3.new(395, 53, 93), ["Museum đŸ–ŧī¸"] = Vector3.new(1391, 52, -183), ["Mansion đŸ˜ī¸"] = Vector3.new(1378, 55, 221), }, Target_Related = { ["Targetted Player"] = nil, ["FOV Circle Outline"] = nil, ["FOV Circle"] = nil, ["FOV Circle Fill"] = nil, ["Enable FOV"] = false, ["Draw FOV Circle"] = false, ["Fill FOV Circle"] = false, ["FOV Circle Radius"] = 250, ["FOV Circle Sides"] = 100, ["Highlight Cache"] = {}, ["Snapline Cache"] = {}, ["Highlight Target"] = false, ["Highlight Color"] = Color3.fromRGB(255, 0, 0), ["Highlight Transparency"] = 0.5, ["Draw Snapline"] = false, ["Snapline Thickness"] = 4, ["Select Player"] = true, ["Closest Player"] = false, ["Visible Check"] = false, ["Friend Check"] = false, ["Safezone Check"] = false, ["Health Check"] = false, ["Minimum Health"] = 0, ["Distance Check"] = false, ["Maximum Distance"] = 350, ["_Visible Check"] = function(Part, Bypass) if not Configuration.Target_Related["Visible Check"] and not Bypass then return true end local Origin = CurrentCamera.CFrame.Position local Position = Part.Position ViewRayParams.FilterDescendantsInstances = { LocalPlayer.Character, Part.Parent } return not Workspace:Raycast(Origin, Position - Origin, ViewRayParams) end, ["_Friend Check"] = function(Part, Bypass) if not Configuration.Target_Related["Friend Check"] and not Bypass then return true end local Player = Players:GetPlayerFromCharacter(Part.Parent) if Player and LocalPlayer:IsFriendsWith(Player.UserId) then return false end return true end, ["_Safezone Check"] = function(Part, Bypass) if not Configuration.Target_Related["Safezone Check"] and not Bypass then return true end local Parent = Part.Parent if Parent and Parent:FindFirstChild("SafeZoneShield") then return false end return true end, ["_Health Check"] = function(Part, Bypass) if not Configuration.Target_Related["Health Check"] and not Bypass then return true end local Humanoid = Part.Parent and Part.Parent:FindFirstChildOfClass("Humanoid") if Humanoid and Humanoid.Health <= Configuration.Target_Related["Minimum Health"] then return false end return true end, ["_Distance Check"] = function(Part, Bypass) if not Configuration.Target_Related["Distance Check"] and not Bypass then return true end local HRP = Part.Parent and Part.Parent:FindFirstChild("HumanoidRootPart") local MyHRP = Character():FindFirstChild("HumanoidRootPart") if HRP and MyHRP then if (MyHRP.Position - HRP.Position).Magnitude > Configuration.Target_Related["Maximum Distance"] then return false end end return true end, ["Find Target"] = function() if not Configuration.Target_Related["Select Player"] or not Configuration.Target_Related["Enable FOV"] then Configuration.Target_Related["Targetted Player"] = nil return end local Target = nil local Best = math.huge local function Valid(Part) if not Part then return false end local Screen, OnScreen = CurrentCamera:WorldToViewportPoint(Part.Position) local Distance = (Configuration.Target_Related["FOV Circle"].Position - Vector2.new(Screen.X, Screen.Y)).Magnitude local Checks = Configuration.Target_Related["_Visible Check"](Part) and Configuration.Target_Related["_Friend Check"](Part) and Configuration.Target_Related["_Safezone Check"](Part) and Configuration.Target_Related["_Health Check"](Part) and Configuration.Target_Related["_Distance Check"](Part) return Checks and OnScreen and Distance <= Configuration.Target_Related["FOV Circle"].Radius and not Part.Parent:FindFirstChildOfClass("Forcefield") end if Configuration.Target_Related["Targetted Player"] and not Configuration.Target_Related["Closest Player"] then local HRP = Configuration.Target_Related["Targetted Player"]:FindFirstChild("HumanoidRootPart") if HRP and Valid(HRP) then return Configuration.Target_Related["Targetted Player"] end end for _, Player in ipairs(Players:GetPlayers()) do if Player.Character and Player ~= LocalPlayer and Configuration.Player_Related.Data[Player.Name] ~= "Friendly" then local HRP = Player.Character:FindFirstChild("HumanoidRootPart") local MyHRP = Character():FindFirstChild("HumanoidRootPart") if HRP and MyHRP then local Ok = Valid(HRP) local Distance = (MyHRP.Position - HRP.Position).Magnitude if Ok and Distance < Best then Best = Distance Target = Player.Character end end if Configuration.Target_Related["Closest Player"] then continue elseif Target then break end end end Configuration.Target_Related["Targetted Player"] = Target return Target end, ["Create Highlight"] = function(Target) if Configuration.Target_Related["Highlight Cache"][Target] then return end local Highlight = Instance.new("Highlight") Configuration.Target_Related["Highlight Cache"][Target] = Highlight Highlight.Parent = GetHui() Highlight.Name = Target.Name Highlight.Adornee = Target Highlight.OutlineColor = Color3.fromRGB(0, 0, 0) Highlight.FillColor = Configuration.Target_Related["Highlight Color"] Highlight.OutlineTransparency = 1 Highlight.FillTransparency = 1 local OutlineTween = TweenService:Create(Highlight, TweenInfo.new(0.25), { OutlineTransparency = 0 }) local FillTween = TweenService:Create(Highlight, TweenInfo.new(0.5), { FillTransparency = Configuration.Target_Related["Highlight Transparency"] }) OutlineTween:Play() FillTween:Play() FillTween.Completed:Wait() local Connection Connection = RunService.RenderStepped:Connect(function() if Configuration.Target_Related["Targetted Player"] ~= Target or not Configuration.Target_Related["Highlight Target"] then local Out = TweenService:Create(Highlight, TweenInfo.new(0.25), { OutlineTransparency = 1 }) local Fill = TweenService:Create(Highlight, TweenInfo.new(0.25), { FillTransparency = 1 }) Out:Play() Fill:Play() Fill.Completed:Wait() task.wait(0.05) Highlight:Remove() Configuration.Target_Related["Highlight Cache"][Target] = nil Connection:Disconnect() return end Highlight.FillColor = Configuration.Target_Related["Highlight Color"] Highlight.FillTransparency = Configuration.Target_Related["Highlight Transparency"] end) table.insert(RuntimeConnections, Connection) end, ["Create Snapline"] = function(Part) if Configuration.Target_Related["Snapline Cache"][Part] then return end local Outline = Drawing.new("Line") local Main = Drawing.new("Line") Configuration.Target_Related["Snapline Cache"][Part] = { Outline, Main } Outline.Color = Color3.fromRGB(0, 0, 0) Main.Color = Color3.fromRGB(255, 255, 255) local Connection Connection = RunService.RenderStepped:Connect(function() if Configuration.Target_Related["Targetted Player"] ~= Part.Parent or not Configuration.Target_Related["Draw Snapline"] then Outline:Remove() Main:Remove() Configuration.Target_Related["Snapline Cache"][Part] = nil Connection:Disconnect() return end local Screen = CurrentCamera:WorldToViewportPoint(Part.Position) Outline.Thickness = Configuration.Target_Related["Snapline Thickness"] Main.Thickness = Configuration.Target_Related["Snapline Thickness"] / 2 Outline.From = Configuration.Target_Related["FOV Circle"].Position Main.From = Configuration.Target_Related["FOV Circle"].Position Outline.To = Vector2.new(Screen.X, Screen.Y) Main.To = Vector2.new(Screen.X, Screen.Y) Outline.Visible = Configuration.Target_Related["Draw Snapline"] Main.Visible = Configuration.Target_Related["Draw Snapline"] end) table.insert(RuntimeConnections, Connection) end, }, Aimbot_Related = { ["Silent Aim"] = false, ["Wallbang"] = false, ["Hit Chance"] = 100, ["Hit Parts"] = { "Head", "UpperTorso", "HumanoidRootPart" }, ["Aimlock"] = false, ["Aimlock Keybind"] = false, ["Aimlock Smoothness"] = 0.5, ["Hit Part"] = "Head", ["Enable Head Expanders"] = false, ["Head Size Multiplier"] = 1, ["Enable Head Transparency"] = false, ["Head Transparency"] = 0.5, ["Ignore Dead People"] = false, }, ["Hit Effects"] = Hit_Effects, Gun_Related = { ["No Bullet Drop"] = false, ["Automatic"] = false, ["Modify FireRate"] = false, ["Modify Spread"] = false, ["Modify Recoil"] = false, ["Instant Bullet"] = false, ["Instant Reload"] = false, ["Instant Equip"] = false, ["Maximum Range"] = false, ["No Jam"] = false, ["FireRate Percentage"] = 0.5, ["Spread Percentage"] = 0.5, ["Recoil Percentage"] = 0.5, ["Kill Aura"] = false, ["Max Range"] = 350, ["_MagSize"] = nil, ["_InflictRemote"] = nil, GetGun = function() if Character():FindFirstChild("Settings", true) then return Character():FindFirstChild("Settings", true).Parent end for _, Object in pairs(Backpack():GetChildren()) do if Object:FindFirstChild("Settings") then return Object end end end, GetGunModule = function() local Gun = Configuration.Gun_Related.GetGun() if not Gun then return end return require(Gun:FindFirstChild("Settings")) end, RefillMag = function() if not Configuration.Gun_Related["No Bullet Drop"] then return end local Gun = Configuration.Gun_Related.GetGun() local MagSize = Configuration.Gun_Related._MagSize if not Gun or not MagSize then return end if Gun:GetAttribute("Ammo_Client") ~= MagSize then Gun:SetAttribute("Ammo_Client", MagSize) end if Gun:GetAttribute("Ammo_Server") ~= MagSize then Gun:SetAttribute("Ammo_Server", MagSize) end Gun:SetAttribute("IsJammed", false) local LocalScript = Gun:FindFirstChildOfClass("LocalScript") if LocalScript then local Success, Env = pcall(getsenv, LocalScript) if Success and type(Env) == "table" and type(Env.Reload) == "function" then pcall(debug.setupvalue, Env.Reload, 1, MagSize) pcall(debug.setupvalue, Env.Reload, 3, MagSize) end end end, GetRequestCode = function() local function Get(Arg1, Arg2) if type(Arg1) ~= "function" then return end local Success, Result, Value = pcall(debug.getupvalue, Arg1, Arg2) if not Success then return elseif Value == nil then return Result else return Value end end local function FindString(Arg1) local Value = Get(Arg1, 8) if type(Value) ~= "string" or Value == "" then for Index = 1, 20 do local Entry = Get(Arg1, Index) if Entry ~= nil then if type(Entry) == "string" and 2 <= #Entry and #Entry <= 8 then return Entry end else break end end return else return Value end end local Init = Get(require(Modules.GunFramework.GunClient).Init, 8) if type(Init) ~= "table" or type(Init.Fire) ~= "function" then return end local Code = FindString(Init.Fire) if not Code then local Custom = getgenv().HavocStreetClipsFire if type(Custom) ~= "function" or Custom == Init.Fire then return Fallback_Request_Code end return FindString(Custom) end return Code end, GetInflictHash = function() local function Get(Arg1, Arg2) if type(Arg1) ~= "function" then return end local Success, Result, Value = pcall(debug.getupvalue, Arg1, Arg2) if Success then if Value == nil then return Result else return Value end end end local Client = require(Modules.GunFramework.GunClient) local Value = Get(Client.Init, 2) if type(Value) ~= "string" or not Value:find("-", 1, true) then for Index = 1, 30 do local Entry = Get(Client.Init, Index) if Entry == nil then break elseif type(Entry) == "string" and Entry:match("^%x+%-%x+%-%x+%-%x+%-%x+$") then return Entry end end return end return Value end, FireShootRemote = function(Part) local Gun = Configuration.Gun_Related.GetGun() if not Gun then return end local Fire = Modules:WaitForChild("GunFramework"):WaitForChild("Remotes"):WaitForChild("Fire") local HRP = Character():FindFirstChild("HumanoidRootPart") local Unit = (Part.Position - Gun.Handle.MuzzleAttachment.WorldCFrame.Position).Unit return Fire:FireServer(Configuration.Gun_Related.GetRequestCode(), HRP.Position, Unit) end, _ReloadState = {}, AutoReload = function(Gun) if not Gun then return false end local Now = os.clock() local State = Configuration.Gun_Related._ReloadState[Gun] if not State then State = { Left = nil, Until = 0 } Configuration.Gun_Related._ReloadState[Gun] = State end if Now < State.Until then return false end local MagSize = 17 local ReloadTime = 2 local AmmoType = nil local Settings = Gun:FindFirstChild("Settings") if Settings and Settings:IsA("ModuleScript") then local Ok, Module = pcall(require, Settings) if Ok and type(Module) == "table" then MagSize = tonumber(Module.Ammo) or MagSize ReloadTime = tonumber(Module.ReloadTime) or ReloadTime AmmoType = Module.AmmoType end end if State.Left == nil then local Server = Gun:GetAttribute("Ammo_Server") if type(Server) ~= "number" or not (0 <= Server) or not (Server <= MagSize) then State.Left = MagSize else State.Left = Server end end if State.Left > 0 then return true end local Capacity = Gun:GetAttribute("Capacity") local Bag = LocalPlayer:FindFirstChild("Backpack") local Ammo = type(AmmoType) == "string" and Bag and Bag:FindFirstChild(AmmoType .. " Ammo") if type(Capacity) == "number" and Capacity <= 0 and not Ammo then State.Until = Now + 1 return false end local Framework = Modules:FindFirstChild("GunFramework") local RemotesFolder = Framework and Framework:FindFirstChild("Remotes") local Reload = RemotesFolder and RemotesFolder:FindFirstChild("Reload") if Reload then pcall(function() Reload:FireServer(Gun) end) end State.Left = MagSize State.Until = Now + ReloadTime return false end, FireInflictTargetRemote = function(Part) local Gun = Configuration.Gun_Related.GetGun() if not Gun or not Part then return end if not Configuration.Gun_Related.AutoReload(Gun) then return end local Inflict = Configuration.Gun_Related._InflictRemote if not Inflict or not Inflict.Parent then Inflict = nil for _, Child in pairs(Modules:WaitForChild("GunFramework"):WaitForChild("Remotes"):GetChildren()) do if Child:IsA("RemoteEvent") and Child.Name:match("^%x%x%x%x%x%x%x%x%-") then Inflict = Child break end end Configuration.Gun_Related._InflictRemote = Inflict end local Handle = Gun:FindFirstChild("Handle") local Muzzle = Handle and Handle:FindFirstChild("MuzzleAttachment") if not Inflict or not Muzzle then return end local RequestCode = Configuration.Gun_Related.GetRequestCode() local GunId = Gun:GetAttribute("Id") local Hash = Configuration.Gun_Related.GetInflictHash() if type(RequestCode) ~= "string" or GunId == nil or type(Hash) ~= "string" then return end local Unit = (Part.Position - Muzzle.WorldPosition).Unit local MyHRP = Character() and Character():FindFirstChild("HumanoidRootPart") local Position = MyHRP and MyHRP.Position or Muzzle.WorldPosition Modules:WaitForChild("GunFramework"):WaitForChild("Remotes"):WaitForChild("Fire"):FireServer(RequestCode, Position, Unit) local State = Configuration.Gun_Related._ReloadState[Gun] if State and State.Left then State.Left = State.Left - 1 end Configuration.Gun_Related.RefillMag() return Inflict:FireServer(RequestCode, GunId, Part, Unit, nil, Hash, Workspace:GetServerTimeNow()) end, }, Local_Player_Related = { ["No Bullet Drop"] = false, ["Instant Interact"] = false, ["Infinite Stamina"] = false, ["Infinite Zoom"] = false, ["Respawn Where You Died"] = false, ["Hide Name"] = false, ["Bypass Locked Cars"] = false, ["Unkickable From Cars"] = false, ["Click To Teleport"] = false, ["Click To Teleport Keybind"] = false, ["Modify Jump Power"] = false, ["Jump Power"] = 50, ["Modify Walkspeed"] = false, ["Walkspeed Percentage"] = 0.5, ["Auto Mentos"] = false, ["Auto Mentos Keybind"] = false, ["Selected Safe Item"] = nil, ["Deposit Amount"] = 5000, ["Withdraw Amount"] = 5000, ["Bank Amount"] = 5000, ["Bank Action"] = "Deposit", ["Auto Deposit"] = false, ["Auto Withdraw"] = false, ["Auto Loot Dropped Money"] = false, ["Auto Loot Bags"] = false, ["Highlight Money"] = false, ["Highlight Money Color"] = Color3.fromRGB(0, 255, 0), ["Highlight Bags"] = false, ["Highlight Bags Color"] = Color3.fromRGB(0, 255, 0), ["Max Distance"] = 5000, ["_Max Distance"] = 5000, ["Selected Animation"] = nil, ["Animation Speed"] = 1, ["Playing Animation"] = nil, Animations = { ["Solar System"] = "92281817840531", ["Crawling"] = "76348568458914", ["Chinese Dancing"] = "100193638270362", ["Invisible"] = "130371895389423", Helicopter = "119431985170060", Planet = "85275763637868", ["Race Car"] = "121936817462716", Tank = "85076031433488", ["Obby Head"] = "122814100170962", ["No"] = "77206866044608", Wave = "105209959441169", Ghost = "75911227509248", ["Wolf"] = "114131394923812", Jamal = "71286446361487", ["Kawai"] = "118691207680367", ["Zamn"] = "112516309569252", Shake = "132367660388476", ["Cute Anime"] = "83496519050227", ["Tuff Emote"] = "85636872110453", ["I Want Money"] = "89114994401113", ["Kawai Sit"] = "113578589119917", ["Kawai Fly"] = "100848613923963", ["Zesty Backflip"] = "78243540508781", ["Zesty Laid Up"] = "75517713793873", }, ["Play Animation"] = function() if not Configuration.Local_Player_Related["Selected Animation"] then Notify({ Name = "Havoc | Animation Player", Info = "Choose an animation first.", LifeTime = 5 }) return end local Humanoid = Character():FindFirstChildOfClass("Humanoid") if not Humanoid then return end local Selected = Configuration.Local_Player_Related["Selected Animation"] local Asset = "rbxassetid://" .. Configuration.Local_Player_Related.Animations[Selected] Asset = Search_Game(Asset) if Configuration.Local_Player_Related["Playing Animation"] then Configuration.Local_Player_Related["Playing Animation"]:Stop() end local Animation = Instance.new("Animation") Animation.AnimationId = Asset local Track = Humanoid:LoadAnimation(Animation) Track.Priority = Enum.AnimationPriority.Action4 Track:Play() Track:AdjustSpeed(Configuration.Local_Player_Related["Animation Speed"]) Configuration.Local_Player_Related["Playing Animation"] = Track end, ["Stop Animation"] = function() if Configuration.Local_Player_Related["Playing Animation"] then Configuration.Local_Player_Related["Playing Animation"]:Stop() end end, ["Click To Teleport Debounce"] = false, ["_Click To Teleport"] = function() if not Configuration.Local_Player_Related["Click To Teleport"] or not Configuration.Local_Player_Related["Click To Teleport Keybind"] or Configuration.Local_Player_Related["Click To Teleport Debounce"] then return end local Mouse = LocalPlayer:GetMouse() local Humanoid = Character():FindFirstChild("Humanoid") local HRP = Character():FindFirstChild("HumanoidRootPart") if not Humanoid or not HRP then return end Configuration.Local_Player_Related["Click To Teleport Debounce"] = true local Position = Mouse.Hit.Position if Humanoid.Sit then Humanoid.Sit = false end if (HRP.Position - Position).Magnitude > 5000 then Configuration.Local_Player_Related["Click To Teleport Debounce"] = false return end local Target = CFrame.new(Position, HRP.Position) * CFrame.Angles(0, math.pi, 0) Configuration.Teleport_Related["Teleport Handler"](Target.Position) Configuration.Local_Player_Related["Click To Teleport Debounce"] = false end, ["Fetch Safe Items"] = function() local List = {} local Data = LocalPlayer:WaitForChild("Data") local Safe = Data:FindFirstChild("SafeItems") if Safe then for _, Child in pairs(Safe:GetChildren()) do table.insert(List, Child.Name) end end return List end, ["Safe Item"] = function(Grab) local Storage = Remotes:WaitForChild("Storage") if not Grab then local Tool = Character():FindFirstChildOfClass("Tool") if not Tool then Notify({ Name = "Havoc | Safe Storage", Info = "Hold out a tool first.", LifeTime = 5 }) return end local Name = Tool.Name Character():FindFirstChildOfClass("Humanoid"):UnequipTools() task.wait(0.25) Storage:FireServer("Deposit", Name) else if not Configuration.Local_Player_Related["Selected Safe Item"] then Notify({ Name = "Havoc | Safe Storage", Info = "Select an item first.", LifeTime = 5 }) return end local Data = LocalPlayer:WaitForChild("Data") if not Data.SafeItems:FindFirstChild(Configuration.Local_Player_Related["Selected Safe Item"]) then Notify({ Name = "Havoc | Safe Storage", Info = "Item not found.", LifeTime = 5 }) return end Storage:FireServer("Grab", Configuration.Local_Player_Related["Selected Safe Item"]) end end, ["Bank Transfer"] = function(Deposit) local ATM = Remotes:WaitForChild("ATM") if not Deposit then ATM:FireServer("Withdraw", Configuration.Local_Player_Related["Withdraw Amount"]) else ATM:FireServer("Deposit", Configuration.Local_Player_Related["Deposit Amount"]) end end, ["Create Highlight"] = function(Part, Key) local Highlight = Instance.new("Highlight") Highlight.Parent = GetHui() Highlight.Adornee = Part Highlight.OutlineTransparency = 0 Highlight.OutlineColor = Color3.fromRGB(0, 0, 0) Highlight.FillTransparency = 0.5 task.spawn(function() while Part and Part.Parent and Highlight.Parent do Highlight.Enabled = Configuration.Local_Player_Related[Key:gsub(" Color", "")] Highlight.FillColor = Configuration.Local_Player_Related[Key] task.wait(0.1) end Highlight:Destroy() end) end, }, Teleport_Related = { Teleporting = false, ["Teleport Place"] = nil, ["Selected Interior"] = nil, ["Selected Exterior"] = nil, ["Selected Apartment"] = nil, ["Selected Apartment Instance"] = nil, ["Selected ATM"] = nil, ["Selected ATM Instance"] = nil, ["Selected Waypoint"] = nil, ["Waypoint Name"] = nil, ["Selected Shirt"] = nil, ["Selected Pants"] = nil, ["Selected Gun"] = nil, ["Selected Mask"] = nil, ["Purchase Quantity"] = 1, ["Selected Ammo"] = nil, ["_Purchase Quantity"] = 1, ["Mentos Quantity"] = 1, ["Get Current Waypoints"] = function() if not isfolder("HavocWaypointsSLR") then makefolder("HavocWaypointsSLR") end local List = {} for _, Value in pairs(listfiles("HavocWaypointsSLR")) do table.insert(List, Value) end return List end, ["Create Waypoint"] = function() if not isfolder("HavocWaypointsSLR") then makefolder("HavocWaypointsSLR") end if not Configuration.Teleport_Related["Waypoint Name"] then Notify({ Name = "Havoc | Waypoints", Info = "Enter a waypoint name.", LifeTime = 5 }) return end local HRP = Character():FindFirstChild("HumanoidRootPart") writefile("HavocWaypointsSLR/" .. Configuration.Teleport_Related["Waypoint Name"], "return " .. string.format("Vector3.new(%s)", tostring(HRP.Position))) end, ["Delete Waypoint"] = function() if not Configuration.Teleport_Related["Selected Waypoint"] then Notify({ Name = "Havoc | Waypoints", Info = "Select a waypoint.", LifeTime = 5 }) return end local Path = "HavocWaypointsSLR/" .. Configuration.Teleport_Related["Selected Waypoint"] if isfile(Path) then delfile(Path) end end, ["Teleport To Waypoint"] = function() if not Configuration.Teleport_Related["Selected Waypoint"] then Notify({ Name = "Havoc | Waypoints", Info = "Select a waypoint.", LifeTime = 5 }) return end local Path = "HavocWaypointsSLR/" .. Configuration.Teleport_Related["Selected Waypoint"] if not isfile(Path) then Notify({ Name = "Havoc | Waypoints", Info = "Waypoint not found.", LifeTime = 5 }) return end local Position = loadfile(Path)() Configuration.Teleport_Related["Teleport Handler"](Position) end, ["Fetch Gun Store Items"] = function() local Map = Workspace:FindFirstChild("Map") local Store = Map and Map:FindFirstChild("GunStore") if not Store then return nil end local GWall = Store:FindFirstChild("GWall") local Wall = Store:FindFirstChild("Wall") if not GWall or not Wall then return nil end local Weapons = {} local Ammo = {} for _, Child in pairs(GWall:GetChildren()) do local Price = Child:FindFirstChild("Price") local Tool = Child:FindFirstChild("Tool") if Price and Tool then Ammo[Tool.Value] = Price.Value end end for _, Child in pairs(Wall:GetChildren()) do local Price = Child:FindFirstChild("Price") local Tool = Child:FindFirstChild("Tool") if Price and Tool then Weapons[Tool.Value] = Price.Value end end if next(Weapons) or next(Ammo) then return { Weapon = Weapons, Ammo = Ammo } end return nil end, ["Fetch Clothing Store Items"] = function() local Shirts = {} local Pants = {} local Clothing = Misc:WaitForChild("Clothing") for _, Child in pairs(Clothing:WaitForChild("SHIRTS"):GetChildren()) do Shirts[Child:FindFirstChildOfClass("StringValue").Value] = Child.Price.Value end for _, Child in pairs(Clothing:WaitForChild("PANTS"):GetChildren()) do Pants[Child:FindFirstChildOfClass("StringValue").Value] = Child.Price.Value end return { Shirts = Shirts, ["Pants"] = Pants } end, ["Fetch Mask Seller Items"] = function() local MaskUI = Misc:WaitForChild("MaskUI") local List = {} for _, Child in pairs(MaskUI:FindFirstChild("Main").ScrollingFrame:GetChildren()) do if Child:IsA("Frame") then local Text = Child.Item.Text local Price = Child.Price.Text:sub(2, 10) List[Text] = tonumber(Price) end end return List end, ["Gun Check Price"] = function(IsWeapon, Name, Table) if IsWeapon then return Table.Weapon[Name] end return Table.Ammo[Name] end, ["Clothe Check Price"] = function(IsShirt, Name, Table) if IsShirt then return Table["Shirts"][Name] end return Table["Pants"][Name] end, ["Mask Check Price"] = function(Name, Table) return Table[Name] end, ["Near Gun Store"] = function() local MyHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not MyHRP then return false end local Points = { Configuration.Locations["Main Gun Store đŸ”Ģ"], Configuration.Locations["Second Gun Store đŸ”Ģ"] } local Map = Workspace:FindFirstChild("Map") local Store = Map and Map:FindFirstChild("GunStore") if Store then local Ok, Pivot = pcall(function() return Store:GetPivot().Position end) if Ok and Pivot then table.insert(Points, Pivot) end end for _, Point in ipairs(Points) do if (MyHRP.Position - Point).Magnitude <= 90 then return true end end return false end, ["Near Merchant"] = function() local MyHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not MyHRP then return false end local Position = MyHRP.Position local Fixed = Configuration.Locations["Illegal Merchant ❓"] if Fixed and (Position - Fixed).Magnitude <= 120 then return true end local Map = Workspace:FindFirstChild("Map") if not Map then return false end for _, Descendant in ipairs(Map:GetDescendants()) do if (Descendant:IsA("Model") or Descendant:IsA("BasePart")) and string.find(string.lower(Descendant.Name), "merchant", 1, true) then local Root = nil if Descendant:IsA("BasePart") then Root = Descendant.Position else local Head = Descendant:FindFirstChild("HumanoidRootPart") or Descendant:FindFirstChild("Head") or Descendant:FindFirstChild("UpperTorso") or Descendant.PrimaryPart if not Head then local Ok, Pivot = pcall(function() return Descendant:GetPivot().Position end) if Ok then Root = Pivot end else Root = Head.Position end end if Root and (Position - Root).Magnitude <= 120 then return true end end end return false end, ["Ensure Nearby"] = function(Position, Is_Near) local HRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local Origin = HRP and HRP.Position if Is_Near() then return Origin, false end Configuration.Teleport_Related["Teleport Handler"](Position) local Deadline = tick() + 8 repeat task.wait(0.2) until Is_Near() or tick() > Deadline return Origin, true end, ["Purchase Gun"] = function(IsWeapon, Table) local Title = IsWeapon and "Havoc | Purchase Gun" or "Havoc | Purchase Ammo" local Near = Configuration.Teleport_Related["Near Gun Store"] local Store = Configuration.Locations["Main Gun Store đŸ”Ģ"] local HRP = Character():FindFirstChild("HumanoidRootPart") if HRP then for _, Point in ipairs({ Configuration.Locations["Main Gun Store đŸ”Ģ"], Configuration.Locations["Second Gun Store đŸ”Ģ"] }) do if (HRP.Position - Point).Magnitude < (HRP.Position - Store).Magnitude then Store = Point end end end local Origin, Moved = Configuration.Teleport_Related["Ensure Nearby"](Store, Near) local function Finish() if Moved and Origin then Configuration.Teleport_Related["Teleport Handler"](Origin) end end if not Near() then Notify({ Name = Title, Info = "Couldn't reach a gun store.", LifeTime = 5 }) Finish() return end task.wait(0.75) local Data = Table if not Data then local Deadline = tick() + 5 repeat task.wait(0.25) Data = Configuration.Teleport_Related["Fetch Gun Store Items"]() until Data or tick() > Deadline end if not Data then Notify({ Name = Title, Info = "Gun store items are still loading.", LifeTime = 5 }) Finish() return end local GunBuy = Remotes:WaitForChild("GunBuy") if IsWeapon then if not Configuration.Teleport_Related["Selected Gun"] then Notify({ Name = Title, Info = "Select a gun.", LifeTime = 5 }) Finish() return end for _ = 1, Configuration.Teleport_Related["Purchase Quantity"] do GunBuy:FireServer(Configuration.Teleport_Related["Selected Gun"], Configuration.Teleport_Related["Gun Check Price"](true, Configuration.Teleport_Related["Selected Gun"], Data)) task.wait(0.1) end else if not Configuration.Teleport_Related["Selected Ammo"] then Notify({ Name = Title, Info = "Select an ammo type.", LifeTime = 5 }) Finish() return end for _ = 1, Configuration.Teleport_Related["_Purchase Quantity"] do GunBuy:FireServer(Configuration.Teleport_Related["Selected Ammo"], Configuration.Teleport_Related["Gun Check Price"](false, Configuration.Teleport_Related["Selected Ammo"], Data)) task.wait(0.1) end end task.wait(0.5) Finish() end, ["Purchase Clothe"] = function(IsShirt) local BuyClothing = Remotes:WaitForChild("BuyClothing") local Name = nil local Clothing = Misc:WaitForChild("Clothing") local Store_Position = Configuration.Locations["Clothing Store 👕"] local function Near() local HRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") return HRP ~= nil and (HRP.Position - Store_Position).Magnitude <= 90 end local Origin, Moved = Configuration.Teleport_Related["Ensure Nearby"](Store_Position, Near) local function Finish() if Moved and Origin then Configuration.Teleport_Related["Teleport Handler"](Origin) end end task.wait(0.75) if IsShirt then if not Configuration.Teleport_Related["Selected Shirt"] then Notify({ Name = "Havoc | Purchase Shirt", Info = "Select a shirt.", LifeTime = 5 }) Finish() return end for _, Child in pairs(Clothing:WaitForChild("SHIRTS"):GetChildren()) do if Child:FindFirstChildOfClass("StringValue").Value == Configuration.Teleport_Related["Selected Shirt"] then Name = Child.Name break end end BuyClothing:FireServer(Name, "SHIRTS") else if not Configuration.Teleport_Related["Selected Pants"] then Notify({ Name = "Havoc | Purchase Pants", Info = "Select a pair of pants.", LifeTime = 5 }) Finish() return end for _, Child in pairs(Clothing:WaitForChild("PANTS"):GetChildren()) do if Child:FindFirstChildOfClass("StringValue").Value == Configuration.Teleport_Related["Selected Pants"] then Name = Child.Name break end end BuyClothing:FireServer(Name, "PANTS") end task.wait(0.5) Finish() end, ["Purchase Mask"] = function(Table) if not Configuration.Teleport_Related["Selected Mask"] then Notify({ Name = "Havoc | Purchase Mask", Info = "Select a mask.", LifeTime = 5 }) return end local Store_Position = Configuration.Locations["Mask Seller 🎭"] local function Near() local HRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") return HRP ~= nil and (HRP.Position - Store_Position).Magnitude <= 90 end local Origin, Moved = Configuration.Teleport_Related["Ensure Nearby"](Store_Position, Near) task.wait(0.75) Remotes:WaitForChild("Buy"):FireServer(Configuration.Teleport_Related["Selected Mask"], Table[Configuration.Teleport_Related["Selected Mask"]]) task.wait(0.5) if Moved and Origin then Configuration.Teleport_Related["Teleport Handler"](Origin) end end, ["Purchase Mentos"] = function() local Near = Configuration.Teleport_Related["Near Merchant"] local Origin, Moved = Configuration.Teleport_Related["Ensure Nearby"](Configuration.Locations["Illegal Merchant ❓"], Near) local function Finish() if Moved and Origin then Configuration.Teleport_Related["Teleport Handler"](Origin) end end if not Near() then Notify({ Name = "Havoc | Buy Mentos", Info = "Couldn't reach the merchant.", LifeTime = 5 }) Finish() return end task.wait(0.75) local Amount = math.floor(tonumber(Configuration.Teleport_Related["Mentos Quantity"]) or 1) if Amount < 1 then Amount = 1 end local Buy = Remotes:WaitForChild("Buy") for _ = 1, Amount do Buy:FireServer("MentosBag", 300) task.wait(0.08) end task.wait(0.5) Finish() end, ["Teleport To Selected Apartment"] = function() if not Configuration.Teleport_Related["Selected Apartment"] then Notify({ Name = "Havoc | Apartment", Info = "Select an apartment.", LifeTime = 5 }) return end local Door = nil local Number = tonumber((Configuration.Teleport_Related["Selected Apartment"]:gsub("Apartment ", ""):gsub("House ", ""))) local Map = Workspace:FindFirstChild("Map") local Doors = Map and Map:FindFirstChild("Doors") local Buy = Doors and Doors:FindFirstChild("Buy") if not Buy then return end for Key, Value in pairs(Buy:GetChildren()) do if Key == Number then Door = Value:FindFirstChild("Main") end end if Door then Configuration.Teleport_Related["Teleport Handler"](Door.Position - Door.CFrame.LookVector) else Notify({ Name = "Havoc | Apartment", Info = "Apartment door not found.", LifeTime = 5 }) end end, ["Fetch Apartments"] = function(Target_Name) local Available = {} local Map = Workspace:FindFirstChild("Map") local Doors = Map and Map:FindFirstChild("Doors") local Buy = Doors and Doors:FindFirstChild("Buy") if not Buy then return Target_Name and nil or Available end for Key, Value in pairs(Buy:GetChildren()) do if Value:FindFirstChild("HomeOwner") then local HomeOwner = Value.HomeOwner local Visible = HomeOwner.SurfaceGui.BOUGHT.Visible if not Visible then table.insert(Available, "Apartment " .. Key) else local Owner = (HomeOwner.SurfaceGui.Owner.Text:gsub("OWNER: ", "")) if Owner == Target_Name then return Value end end end end if Target_Name then return end return Available end, ["Fetch ATMs"] = function(Return_List) local List = {} local Best = math.huge local Closest = nil local HRP = Character():FindFirstChild("HumanoidRootPart") local Map = Workspace:FindFirstChild("Map") local ATMs = Map and Map:FindFirstChild("ATMs") if not ATMs then return end for _, Child in pairs(ATMs:GetChildren()) do table.insert(List, Child) if HRP then local Distance = (HRP.Position - Child.WorldPivot.Position).Magnitude if Distance < Best then Best = Distance Closest = Child end end end if Return_List then return List end return Closest end, ["Fetch Scooters"] = function(Return_List) local List = {} local Best = math.huge local Closest = nil local HRP = Character():FindFirstChild("HumanoidRootPart") local Map = Workspace:FindFirstChild("Map") local Scooters = Map and Map:FindFirstChild("Scooters") if not Scooters then return end for _, Child in pairs(Scooters:GetChildren()) do table.insert(List, Child) if HRP then local Distance = (HRP.Position - Child.WorldPivot.Position).Magnitude if Distance < Best then Best = Distance Closest = Child end end end if Return_List then return List end return Closest end, ["Instant Teleport"] = function(Position) task.wait() if Configuration.Teleport_Related.Teleporting then return false, "Another teleport is in progress!" end local Humanoid = Character():FindFirstChild("Humanoid") if not Humanoid then return false, "Character not found!" end repeat task.wait() until Humanoid:GetState() ~= Enum.HumanoidStateType.Dead if Humanoid.SeatPart and tostring(Humanoid.SeatPart) ~= "DriveSeat" then Humanoid.Sit = false task.wait(0.1) end if Humanoid.SeatPart and tostring(Humanoid.SeatPart) == "DriveSeat" then return false, "You're driving a vehicle, aborting teleport!" end repeat task.wait() until not Anti_Tamper.atr Configuration.Teleport_Related.Teleporting = true local Cover = Configuration["Create Cover"]("teleporting , please wait!") local Player = LocalPlayer local Gravity = Workspace.Gravity local States = Enum.HumanoidStateType:GetEnumItems() table.remove(States, table.find(States, Enum.HumanoidStateType.None)) Humanoid.Sit = true Workspace.Gravity = 0 task.wait(0.25) Humanoid:ChangeState(Enum.HumanoidStateType.Swimming) for _, State in pairs(States) do Player.Character:WaitForChild("Humanoid"):SetStateEnabled(State, false) end for _ = 1, 90 do Humanoid.Sit = false Humanoid:ChangeState(Enum.HumanoidStateType.Swimming) Character():PivotTo(CFrame.new(Position)) task.wait() end Humanoid:ChangeState(Enum.HumanoidStateType.Running) Workspace.Gravity = Gravity for _, State in pairs(States) do Player.Character:WaitForChild("Humanoid"):SetStateEnabled(State, true) end Configuration.Teleport_Related.Teleporting = false task.spawn(function() Anti_Tamper.atr = true task.wait(0.1) Anti_Tamper.atr = false end) Cover:Destroy() return true end, ["Vehicle Teleport"] = function(Position) task.wait() if Configuration.Teleport_Related.Teleporting then return false, "Another teleport is in progress!" end local Humanoid = Character():FindFirstChild("Humanoid") local Seat = Humanoid and Humanoid.SeatPart if tostring(Seat) == "DriveSeat" and Seat.Parent then LocalPlayer:RequestStreamAroundAsync(Position) Seat.Parent:PivotTo(CFrame.new(Position)) return true end return false, "You are not the driver of a vehicle, aborting teleport!" end, ["Teleport Steps"] = function(Position, Speed) task.wait() if Configuration.Teleport_Related.Teleporting then return false, "Another teleport is in progress!" end Configuration.Teleport_Related.Teleporting = true Speed = Speed or 16 local HRP = Character():FindFirstChild("HumanoidRootPart") local Humanoid = Character():FindFirstChild("Humanoid") local Path = PathfindingService:CreatePath({ AgentRadius = 1, AgentCanJump = true, WaypointSpacing = 2 }) Path:ComputeAsync(HRP.Position, Position) if Path.Status ~= Enum.PathStatus.Success then Configuration.Teleport_Related.Teleporting = false return false, "Path couldn't be generated, aborting teleport!" end local Waypoints = Path:GetWaypoints() local Cleanup = {} for Index, Waypoint in ipairs(Waypoints) do local Part = Instance.new("Part") Part.Parent = Workspace Part.Anchored = true Part.Name = "Havoc Teleport Step " .. Index Part.Position = Waypoint.Position Part.Size = Vector3.new(0.5, 0.5, 0.5) Part.CanCollide = false Part.CanQuery = false Part.Transparency = 0.6 table.insert(Cleanup, Part) local Highlight = Instance.new("Highlight") Highlight.Parent = Part Highlight.OutlineTransparency = 0 Highlight.FillTransparency = 0.75 Highlight.OutlineColor = Color3.fromRGB(0, 0, 0) Highlight.FillColor = Color3.fromRGB(255, 0, 0) table.insert(Cleanup, Highlight) end for Index, Waypoint in ipairs(Waypoints) do if Humanoid.Sit then Humanoid.Sit = false end Cleanup[Index * 2].FillTransparency = 0.25 Cleanup[Index * 2].FillColor = Color3.fromRGB(0, 255, 0) Character():PivotTo(CFrame.new(Waypoint.Position + Vector3.new(0, 1.5, 0))) task.wait(2 / Speed) end for _, Object in pairs(Cleanup) do Object:Destroy() end Configuration.Teleport_Related.Teleporting = false return true end, ["Respawn Teleport"] = function(Position) task.wait() if Configuration.Teleport_Related.Teleporting then return false, "Another teleport is in progress!" end if #Backpack():GetChildren() > 2 then return false, "Valuables detected, aborting teleport!" end local Humanoid = Character():FindFirstChild("Humanoid") if Humanoid and tostring(Humanoid.SeatPart) == "DriveSeat" then return false, "You're driving a vehicle, aborting teleport!" end if Humanoid and Humanoid.SeatPart then Humanoid.Sit = false task.wait(0.1) end local Tool = Character():FindFirstChildOfClass("Tool") if Tool and Tool.Name ~= "Fist" and Tool.Name ~= "Phone" then return false, "Valuables detected, aborting teleport!" end if Humanoid and Humanoid.Health < 20 then return false, "Your health is too low, aborting teleport!" end repeat task.wait() until not Anti_Tamper.atr Configuration.Teleport_Related.Teleporting = true local Cover = Configuration["Create Cover"]("teleporting , please wait!") local Respawned = false local ControllerRemote = Remotes:WaitForChild("ControllerRemote") local Connection = LocalPlayer.CharacterAdded:Connect(function() Respawned = true Connection:Disconnect() end) repeat ControllerRemote:FireServer("/respawn") task.wait(0.1) until Respawned task.wait(0.05) LocalPlayer:RequestStreamAroundAsync(Position) for _ = 1, 45 do Character():PivotTo(CFrame.new(Position)) task.wait() end Configuration.Teleport_Related.Teleporting = false task.spawn(function() Anti_Tamper.atr = true task.wait(0.1) Anti_Tamper.atr = false end) Cover:Destroy() return true end, ["Teleport Handler"] = function(Position) local Result, Reason = Configuration.Teleport_Related["Instant Teleport"](Position) if not Result then Notify({ Name = "Havoc | Instant Teleport", Info = Reason or "Failed.", LifeTime = 5 }) task.wait(0.25) Notify({ Name = "Havoc | Vehicle Teleport", Info = "Attempting vehicle teleport.", LifeTime = 5 }) local VehicleResult, VehicleReason = Configuration.Teleport_Related["Vehicle Teleport"](Position) Result = VehicleResult Reason = VehicleReason end if not Result then Notify({ Name = "Havoc | Teleport", Info = Reason or "Teleport failed.", LifeTime = 5 }) end end, ["Teleport To Selected ATM"] = function() local ATM = Configuration.Teleport_Related["Selected ATM Instance"] if not ATM or not ATM.Parent then Notify({ Name = "Havoc | Teleport", Info = "Select an ATM first.", LifeTime = 5 }) return end Configuration.Teleport_Related["Teleport Handler"](ATM.WorldPivot.Position + Vector3.new(0, 3, 0)) end, }, Material_Changer = { ["Selected Material"] = "ForceField", ["Selected Parts"] = { "Head", "UpperTorso", "HumanoidRootPart" }, ["Select All Parts"] = false, ["Target Color"] = Color3.fromRGB(255, 0, 0), ["Target Transparency"] = 0.5, ["Get Target"] = function() local Name = Configuration.Player_Related["Selected Player"] local Player = Name and Players:FindFirstChild(Name) return Player and Player.Character or nil end, ["Change Material"] = function() local Character = Configuration.Material_Changer["Get Target"]() if not Character then Notify({ Name = "Havoc | Material Changer", Info = "Select a player.", LifeTime = 5 }) return end for _, Object in pairs(Character:GetDescendants()) do if Object:IsA("BasePart") and Object.Name ~= "HumanoidRootPart" then if Configuration.Material_Changer["Select All Parts"] or table.find(Configuration.Material_Changer["Selected Parts"], Object.Name) then pcall(function() Object.Material = Enum.Material[Configuration.Material_Changer["Selected Material"]] end) end end end end, ["Change Color"] = function() local Character = Configuration.Material_Changer["Get Target"]() if not Character then Notify({ Name = "Havoc | Material Changer", Info = "Select a player.", LifeTime = 5 }) return end for _, Object in pairs(Character:GetDescendants()) do if Object:IsA("BasePart") and Object.Name ~= "HumanoidRootPart" then if Configuration.Material_Changer["Select All Parts"] or table.find(Configuration.Material_Changer["Selected Parts"], Object.Name) then pcall(function() Object.Color = Configuration.Material_Changer["Target Color"] end) end end end end, ["Change Transparency"] = function() local Character = Configuration.Material_Changer["Get Target"]() if not Character then Notify({ Name = "Havoc | Material Changer", Info = "Select a player.", LifeTime = 5 }) return end for _, Object in pairs(Character:GetDescendants()) do if Object:IsA("BasePart") and Object.Name ~= "HumanoidRootPart" then if Configuration.Material_Changer["Select All Parts"] or table.find(Configuration.Material_Changer["Selected Parts"], Object.Name) then pcall(function() Object.Transparency = Configuration.Material_Changer["Target Transparency"] end) end end end end, }, Player_Related = { Player_Dropdown = nil, Priority_Dropdown = nil, Data = {}, ["Selected Player"] = nil, ["Spectate Player"] = false, ["Spam Tweet"] = false, ["Spam Tweet Delay"] = 0.1, ["Spam Tweet Message"] = "Havoc on top!", ["Auto Send Money"] = false, ["Send Amount"] = 25000, ["Send Delay"] = 5, ["Inventory List Cache"] = {}, ["Search Type"] = "Selected Player", ["Search Keyword"] = "", ["Fetch Base Count"] = function() local List = {} for _, Player in pairs(Players:GetPlayers()) do table.insert(List, Player.Name) Configuration.Player_Related.Data[Player.Name] = "Neutral" end return List end, ["Kill Player"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Kill Player", Info = "Select a player first.", LifeTime = 5 }) return end local Name = Configuration.Player_Related["Selected Player"] local Player = Players:FindFirstChild(Name) if not Player or not Player.Character then Notify({ Name = "Havoc | Kill Player", Info = "Player not found.", LifeTime = 5 }) return end if Configuration.Player_Related.Data[Name] == "Friendly" then Notify({ Name = "Havoc | Kill Player", Info = "You can't kill a friendly.", LifeTime = 5 }) return end if Name == LocalPlayer.Name then Notify({ Name = "Havoc | Kill Player", Info = "You can't kill yourself.", LifeTime = 5 }) return end local Gun = Configuration.Gun_Related.GetGun() local Equipped = Gun ~= nil if not Gun then for _, Child in pairs(Backpack():GetChildren()) do if Child:FindFirstChild("Settings") then Gun = Child break end end end local MyHRP = Character():FindFirstChild("HumanoidRootPart") local TargetHRP = Player.Character:FindFirstChild("HumanoidRootPart") if not MyHRP or not TargetHRP then return end if not Gun then Notify({ Name = "Havoc | Kill Player", Info = "Gun not found.", LifeTime = 5 }) return end if Character():FindFirstChildOfClass("Forcefield") then Notify({ Name = "Havoc | Kill Player", Info = "You are protected.", LifeTime = 5 }) return end if Player.Character:FindFirstChildOfClass("Forcefield") then Notify({ Name = "Havoc | Kill Player", Info = "Target is protected.", LifeTime = 5 }) return end if not Configuration.Target_Related["_Safezone Check"](TargetHRP, true) then Notify({ Name = "Havoc | Kill Player", Info = "Target is in a safezone.", LifeTime = 5 }) return end if (MyHRP.Position - TargetHRP.Position).Magnitude > 350 then Notify({ Name = "Havoc | Kill Player", Info = "Target is further than 350 studs.", LifeTime = 5 }) return end if not Equipped then Character():FindFirstChildOfClass("Humanoid"):EquipTool(Gun) task.wait(0.1) end for _ = 1, 15 do Configuration.Gun_Related.FireInflictTargetRemote(Player.Character:FindFirstChild("Head")) task.wait() end if not Equipped then Character():FindFirstChildOfClass("Humanoid"):UnequipTools() end end, ["Teleport To Player"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Teleport To Player", Info = "Select a player.", LifeTime = 5 }) return end local Name = Configuration.Player_Related["Selected Player"] local Player = Players:FindFirstChild(Name) local HRP = Player and Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") if not HRP then Notify({ Name = "Havoc | Teleport To Player", Info = "Player not found.", LifeTime = 5 }) return end if Name == LocalPlayer.Name then Notify({ Name = "Havoc | Teleport To Player", Info = "You can't teleport to yourself.", LifeTime = 5 }) return end Configuration.Teleport_Related["Teleport Handler"](HRP.Position + Vector3.new(0, 1, 0)) end, ["Teleport To Player's Vehicle"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Player Vehicle", Info = "Select a player.", LifeTime = 5 }) return end local Vehicle = Workspace:FindFirstChild("Vehicles") and Workspace.Vehicles:FindFirstChild(Configuration.Player_Related["Selected Player"] .. "'s Car") if Vehicle and Vehicle:FindFirstChild("DriveSeat") then Configuration.Teleport_Related["Teleport Handler"](Vehicle.DriveSeat.Position) else Notify({ Name = "Havoc | Player Vehicle", Info = "Vehicle not found.", LifeTime = 5 }) end end, ["Teleport To Player's Apartment"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Player Apartment", Info = "Select a player.", LifeTime = 5 }) return end local Apartment = Configuration.Teleport_Related["Fetch Apartments"](Configuration.Player_Related["Selected Player"]) if not Apartment then Notify({ Name = "Havoc | Player Apartment", Info = "Apartment not found.", LifeTime = 5 }) return end Configuration.Teleport_Related["Teleport Handler"](Apartment.Main.Position - Apartment.Main.CFrame.LookVector) end, ["Steal Player's Vehicle"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Steal Vehicle", Info = "Select a player.", LifeTime = 5 }) return end local Vehicle = Workspace:FindFirstChild("Vehicles") and Workspace.Vehicles:FindFirstChild(Configuration.Player_Related["Selected Player"] .. "'s Car") local Seat = Vehicle and Vehicle:FindFirstChildOfClass("VehicleSeat") if not Seat then Notify({ Name = "Havoc | Steal Vehicle", Info = "Vehicle not found.", LifeTime = 5 }) return end Seat:Sit(Character():WaitForChild("Humanoid")) task.spawn(function() task.wait(0.5) local Humanoid = Character():FindFirstChild("Humanoid") if not Humanoid.SeatPart or Humanoid.SeatPart ~= Seat then Notify({ Name = "Havoc | Steal Vehicle", Info = "Seat is likely occupied.", LifeTime = 5 }) end end) end, ["Fling Player's Vehicle"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Fling Vehicle", Info = "Select a player.", LifeTime = 5 }) return end local Vehicle = Workspace:FindFirstChild("Vehicles") and Workspace.Vehicles:FindFirstChild(Configuration.Player_Related["Selected Player"] .. "'s Car") local Seat = Vehicle and Vehicle:FindFirstChildOfClass("VehicleSeat") if not Seat then Notify({ Name = "Havoc | Fling Vehicle", Info = "Vehicle not found.", LifeTime = 5 }) return end local Position = Character():FindFirstChild("HumanoidRootPart").Position Seat:Sit(Character():WaitForChild("Humanoid")) task.wait(0.5) local Humanoid = Character():FindFirstChild("Humanoid") if not Humanoid.SeatPart or Humanoid.SeatPart ~= Seat then Notify({ Name = "Havoc | Fling Vehicle", Info = "Seat is likely occupied.", LifeTime = 5 }) return end for Index = 1, 30 do Seat.AssemblyLinearVelocity = Vector3.new(0, Index * (Index * 15), 0) RunService.RenderStepped:Wait() end for Index = 1, 15 do Seat.AssemblyLinearVelocity = Vector3.new(0, -(Index * (Index * 20)), 0) RunService.RenderStepped:Wait() end task.wait(0.25) Humanoid.Sit = false task.wait(0.05) task.spawn(function() for _ = 1, 60 do for _, Descendant in pairs(Character():GetDescendants()) do pcall(function() Descendant.AssemblyLinearVelocity = Vector3.zero end) end task.wait() end end) Configuration.Teleport_Related["Teleport Handler"](Position) end, ["Send Cash"] = function() if not Configuration.Player_Related["Selected Player"] then Notify({ Name = "Havoc | Send Cash", Info = "Select a player.", LifeTime = 5 }) return end local Player = Players:FindFirstChild(Configuration.Player_Related["Selected Player"]) if not Player then Notify({ Name = "Havoc | Send Cash", Info = "Player not found.", LifeTime = 5 }) return end Remotes:WaitForChild("Phone"):FireServer("SendMoney", Player, Configuration.Player_Related["Send Amount"]) end, }, ["Autofarm/Money Related"] = { ["Autofarm Frosty J*b"] = false, ["Autofarm Box J*b"] = false, ["Autofarm Delivery J*b"] = false, ["Autofarm Cleaning J*b"] = false, ["Autofarm Robbing Cars"] = false, ["Autofarm Oil Rig"] = false, ["Auto Rob Bank"] = false, ["Auto Rob Jewelry Store"] = false, ["Auto Rob Yacht"] = false, ["Auto Rob Museum"] = false, ["Auto Claim Playtime Rewards"] = false, ["Anti Death"] = false, ["Anti Death Range"] = 50, ["Performance Saver"] = false, ["Performance Saver Color"] = Color3.fromRGB(0, 0, 0), ["Auto Trade Crypto"] = false, ["Selected Crypto Currency"] = "Dogecoin", ["Trade Amount"] = 1, ["Buy Threshold"] = 10, ["Sell Threshold"] = 25, ["Auto Train Strength"] = false, ["Auto Train Stamina"] = false, ["Bank Debounce"] = false, ["Yacht Debounce"] = false, ["Museum Debounce"] = false, ["Check Gun"] = function() if Character():FindFirstChild("Settings", true) then return end for _, Child in pairs(Backpack():GetChildren()) do if Child:FindFirstChild("Settings") then return end end Remotes:WaitForChild("GunBuy"):FireServer("Ruger", 800) task.wait(0.25) end, ["Check Ammo"] = function() local Equipped = Character():FindFirstChild("Settings", true) if Equipped and Equipped.Parent:GetAttribute("Ammo_Server") ~= 0 then return Equipped.Parent end for _, Child in pairs(Backpack():GetChildren()) do if not Child:FindFirstChild("Settings") or Child:GetAttribute("Ammo_Server") == 0 then if Child:FindFirstChild("Settings") then local Attribute = Child:GetAttribute("AmmoType") local Prices = { ["Pistol Ammo"] = 50, ["SMG Ammo"] = 100, ["Rifle Ammo"] = 100, ["Shotgun Ammo"] = 100, } Remotes:WaitForChild("GunBuy"):FireServer(Attribute .. " Ammo", Prices[Attribute .. " Ammo"]) task.wait(0.25) local AmmoTool = Backpack():FindFirstChild(Attribute .. " Ammo") if AmmoTool and not Character():FindFirstChild(Attribute .. " Ammo") then Character():FindFirstChild("Humanoid"):EquipTool(AmmoTool) end task.wait(0.25) local Held = Character():FindFirstChild(Attribute .. " Ammo") if Held then Held:Activate() end repeat task.wait() until LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("ReloadUI") local ReloadUI = LocalPlayer.PlayerGui.ReloadUI local Option = ReloadUI:FindFirstChild("Base") and ReloadUI.Base.ScrollingFrame:FindFirstChild(Child.Name) pcall(function() GuiService.SelectedObject = Option end) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Return, false, game) task.wait(0.05) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Return, false, game) task.wait(0.05) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.BackSlash, false, game) task.wait(0.05) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.BackSlash, false, game) return Child end else return Child end end end, ["Sell Loot"] = function(Items) Configuration.Teleport_Related["Instant Teleport"](Vector3.new(269, 53, 293)) local Handler = nil local Map = Workspace:FindFirstChild("Map") local Buyer = Map and Map:FindFirstChild("Misc") and Map.Misc:FindFirstChild("LootBuyer") local Torso = Buyer and Buyer:FindFirstChild("UpperTorso") Handler = Torso and Torso:FindFirstChild("Handler") task.wait(0.75) if not Handler then return end fireproximityprompt(Handler) task.wait(1.25) if Items and #Items > 0 then for _, Name in pairs(Items) do local Humanoid = Character():FindFirstChild("Humanoid") Humanoid:UnequipTools() task.wait(0.25) local Tool = Backpack():FindFirstChild(Name) if Tool then Humanoid:EquipTool(Tool) task.wait(0.25) fireproximityprompt(Handler) task.wait(1.25) end end end end, ["Rob Bank"] = function(Name) local Settings = Configuration["Autofarm/Money Related"] if not Settings[Name] or not Settings["Auto Rob Bank"] then return end local function Vault() return Workspace:FindFirstChild("Bank") and Workspace.Bank:FindFirstChild("Vault") end if not Vault() then Configuration.Teleport_Related["Teleport Handler"](Vector3.new(414, -49, 103)) repeat task.wait() until Vault() end local CurrentVault = Vault() if not CurrentVault:FindFirstChild("Plant") then Configuration.Teleport_Related["Teleport Handler"](Vector3.new(414, -49, 103)) repeat task.wait() until CurrentVault:FindFirstChild("Plant") end local Plant = CurrentVault:FindFirstChild("Plant") local Cooldown = Plant:FindFirstChild("Cooldown") local ProximityPrompt = Plant:FindFirstChild("ProximityPrompt") if #Players:GetPlayers() < 8 then return end if Settings["Bank Debounce"] then return end if Cooldown.Enabled then Settings["Bank Debounce"] = false return end local function Flags() return Settings[Name] and Settings["Auto Rob Bank"] end local function LockOpen() local Lock = Plant.Parent:FindFirstChild("Lock") local Part = Lock and Lock:FindFirstChild("Part") return Part and Part.Transparency == 1 end local function Loot() Configuration.Teleport_Related["Teleport Handler"](Vector3.new(359, -49, 100)) repeat task.wait() until LockOpen() local Extra = Configuration.Owns_Extra_Duffle_Gamepass and 10 or 5 local Chosen = 0 local Label = LocalPlayer:WaitForChild("PlayerGui").BankRobbery:FindFirstChild("Main").Filler:FindFirstChild("TextLabel") for _, Child in pairs(Plant.Parent:FindFirstChild("BankInteractions"):GetChildren()) do if not Flags() then return false end local Split = 0 for Index = 1, #Label.Text do if Label.Text:sub(Index, Index) == "/" then Split = Index end end local Count = tonumber(Label.Text:sub(1, Split - 1)) or 0 if Extra <= Count then break end if Child.Transparency ~= 1 then local Prompt = nil for _, Descendant in pairs(Child:GetDescendants()) do if Descendant:IsA("ProximityPrompt") then Prompt = Descendant break end end Character():PivotTo(CFrame.new(Child.Position + Vector3.new(0, 3, 0))) task.wait(0.25) if not Flags() then return false end if Prompt then fireproximityprompt(Prompt) Chosen = Chosen + 1 end task.wait(0.25) end end end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(414, -49, 103)) task.wait(2.5) if not Character():FindFirstChild("C4") and not Backpack():FindFirstChild("C4") and not LockOpen() then local Buy = Remotes:WaitForChild("Buy") task.wait(0.25) if not Flags() then return end repeat Buy:FireServer("C4", 2000) task.wait(0.25) until Character():FindFirstChild("C4") or Backpack():FindFirstChild("C4") end if not Flags() then return end task.wait(0.25) local C4 = Remotes:WaitForChild("C4") local function EquipC4() local Humanoid = Character():FindFirstChild("Humanoid") if not Character():FindFirstChild("C4") and Backpack():FindFirstChild("C4") then Humanoid:EquipTool(Backpack():FindFirstChild("C4")) task.wait(0.25) end end local function PlantC4() while true do if not Flags() then return false end local Dead = LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("Dead") if Dead and Dead.Respawning.Visible == true then break end for _ = 1, 2 do VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, nil) task.wait(0.5) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, nil) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.S, false, nil) task.wait(0.5) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.S, false, nil) end EquipC4() fireproximityprompt(ProximityPrompt) task.wait(2.5) EquipC4() C4:FireServer(Character():FindFirstChild("C4"), "COMPLETED", Plant) task.wait(0.5) break end if LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("Dead").Respawning.Visible == true then repeat task.wait() until LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("Dead").Respawning.Visible ~= true return Configuration["Autofarm/Money Related"]["Rob Bank"](Name) end return true end if not LockOpen() then if not PlantC4() then return end end task.wait(0.25) if not Flags() then return end local Decoy = Plant:FindFirstChild("Decoy") if Decoy and Decoy.Transparency ~= 1 then task.wait(0.25) if not Flags() then return end if Loot() == false then return end Settings["Sell Loot"]() Settings["Bank Debounce"] = true return true end if not Flags() then return end if Loot() == false then return end Settings["Sell Loot"]() Settings["Bank Debounce"] = true return true end, ["Rob Jewelry Store"] = function(Name) local Settings = Configuration["Autofarm/Money Related"] if not Settings[Name] or not Settings["Auto Rob Jewelry Store"] then return end if #Players:GetPlayers() < 10 then return end local Jewel = Workspace:FindFirstChild("Jewel") if not Jewel or not Jewel:GetAttribute("CanRob") then return end Settings["Check Gun"]() if not Settings[Name] or not Settings["Auto Rob Jewelry Store"] then return end task.wait(0.5) if not Character():FindFirstChild("DuffleBag") and not Backpack():FindFirstChild("DuffleBag") then local Buy = Remotes:WaitForChild("Buy") task.wait(0.25) if not Settings[Name] or not Settings["Auto Rob Jewelry Store"] then return end Buy:FireServer("DuffleBag", 500) end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(0, 53, -246)) local Holders = Jewel:FindFirstChild("holders") if not Settings[Name] or not Settings["Auto Rob Jewelry Store"] then return end for _ = 1, 2 do VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, nil) task.wait(1) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, nil) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.S, false, nil) task.wait(1) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.S, false, nil) end if not Character():FindFirstChild("Settings", true) then local Tool = Backpack():FindFirstChild("Settings", true) if Tool then pcall(function() Character():FindFirstChild("Humanoid"):EquipTool(Tool.Parent) end) end task.wait(0.25) end repeat task.wait() local Year = Jewel:FindFirstChild("Barrier").Size.Y until Year > 25.5 task.wait(5) Character():FindFirstChild("Humanoid"):UnequipTools() local Loot = {} local Count = 0 local Limit = Configuration.Owns_Extra_Duffle_Gamepass and 2 or 1 for _, Child in pairs(Holders:GetChildren()) do if not Settings[Name] or not Settings["Auto Rob Jewelry Store"] then return end if 2 * Limit <= Count then break end local Union = Child:FindFirstChildOfClass("UnionOperation") local Mesh = Child:FindFirstChildOfClass("MeshPart") if Union and Union:FindFirstChild("RobHighlight") and Mesh then local Prompt1 = Union:FindFirstChildOfClass("ProximityPrompt") local Prompt2 = Mesh:FindFirstChildOfClass("ProximityPrompt") Configuration.Teleport_Related["Teleport Steps"](Union.Position, 16) if Prompt1 then fireproximityprompt(Prompt1) end task.wait(1) if Prompt2 then fireproximityprompt(Prompt2) end task.wait(2.5) Count = Count + 1 table.insert(Loot, Mesh.Name) end end task.wait(7.5) Settings["Sell Loot"](Loot) return true end, ["Rob Yacht"] = function(Name) local Settings = Configuration["Autofarm/Money Related"] if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end if #Players:GetPlayers() < 8 then return end local YachtRobbery = Workspace:FindFirstChild("YachtRobbery") if not YachtRobbery then return end local NPCsFolder = YachtRobbery:FindFirstChild("NPCsFolder") local Jewelry = Misc:WaitForChild("Clothing"):WaitForChild("Jewelry") if #NPCsFolder:GetChildren() == 0 and YachtRobbery.Started.Value ~= true then local Remaining = YachtRobbery.Cooldown.Value - os.time() if Remaining > 0 then Settings["Yacht Debounce"] = false return end end if Settings["Yacht Debounce"] then return end Settings["Check Gun"]() if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end Settings["Check Ammo"]() task.wait(0.5) if not Character():FindFirstChild("DuffleBag") and not Backpack():FindFirstChild("DuffleBag") then local Buy = Remotes:WaitForChild("Buy") task.wait(0.25) if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end Buy:FireServer("DuffleBag", 500) end if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(993, 77, -1825)) local Rewards = YachtRobbery:FindFirstChild("Yacht"):WaitForChild("Rewards") task.wait(0.25) if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end if not Character():FindFirstChild("Settings", true) then local Tool = Backpack():FindFirstChild("Settings", true) if Tool then pcall(function() Character():FindFirstChild("Humanoid"):EquipTool(Tool.Parent) end) end task.wait(0.25) end task.wait(0.25) task.spawn(function() while #NPCsFolder:GetChildren() > 0 do if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, nil) task.wait(1) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, nil) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.S, false, nil) task.wait(1) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.S, false, nil) end end) local Barrier = YachtRobbery:FindFirstChild("Yacht"):WaitForChild("Barrier") for _, Child in pairs(NPCsFolder:GetChildren()) do if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end local Head = Child:FindFirstChild("Head") if Head then repeat if not Character():FindFirstChild("Settings", true) then local Tool = Backpack():FindFirstChild("Settings", true) if Tool then pcall(function() Character():FindFirstChild("Humanoid"):EquipTool(Tool.Parent) end) end task.wait(0.25) end Configuration.Gun_Related.FireInflictTargetRemote(Head) task.wait() until not Child:FindFirstChild("Humanoid") or Child:FindFirstChild("Humanoid").Health == 0 end end task.wait(0.25) Character():FindFirstChild("Humanoid"):UnequipTools() Character():PivotTo(CFrame.new(991, 77, -1824)) repeat task.wait() until Barrier.Size.Y < 0.25 task.wait(0.25) for _, Child in pairs(Rewards:GetChildren()) do if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end local Prompt = nil for _, Descendant in pairs(Child:GetDescendants()) do if Descendant:IsA("ProximityPrompt") then Prompt = Descendant break end end if Prompt and Prompt.Enabled then Character():PivotTo(CFrame.new(Child.WorldPivot.Position + Vector3.new(0, 2, 0))) task.wait(0.25) if not Settings[Name] or not Settings["Auto Rob Yacht"] then return end local Uses = tonumber((Prompt.ActionText:gsub("Uses: ", ""))) or 1 for _ = 1, Uses do fireproximityprompt(Prompt) task.wait(0.5) end task.wait(0.25) end end task.wait(0.25) local JewelryNames = {} for _, Child in pairs(Jewelry:GetChildren()) do table.insert(JewelryNames, Child:FindFirstChildOfClass("StringValue").Value) end local Loot = {} for _, Child in pairs(Backpack():GetChildren()) do if table.find(JewelryNames, Child.Name) then table.insert(Loot, Child.Name) end end task.wait(0.5) Settings["Yacht Debounce"] = true Settings["Sell Loot"](Loot) return true end, ["Rob Museum"] = function(Name) local Settings = Configuration["Autofarm/Money Related"] if not Settings[Name] or not Settings["Auto Rob Museum"] then return end if #Players:GetPlayers() < 2 then return end local Museum = Workspace:FindFirstChild("Museum") if not Museum then return end if Museum:GetAttribute("Robbing") ~= true then Settings["Museum Debounce"] = false return end if Settings["Museum Debounce"] then return end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(1412, 84, -118)) task.wait(0.25) local Extra = Configuration.Owns_Extra_Duffle_Gamepass and 10 or 5 local TextLabel = LocalPlayer:WaitForChild("PlayerGui").MuseumRobbery:FindFirstChild("Main").Filler:FindFirstChild("TextLabel") for _, Child in pairs(Museum:WaitForChild("Rewards"):GetChildren()) do if not Settings[Name] or not Settings["Auto Rob Museum"] then return end local Split = 0 for Index = 1, #TextLabel.Text do if TextLabel.Text:sub(Index, Index) == "/" then Split = Index end end local Count = tonumber(TextLabel.Text:sub(1, Split - 1)) or 0 if Extra <= Count then break end local Part = Child:FindFirstChild("Position") local Prompt = Part and Part:FindFirstChildOfClass("ProximityPrompt") if Prompt and Prompt.Enabled then Character():PivotTo(CFrame.new(Part.Position)) task.wait(0.1) if not Settings[Name] or not Settings["Auto Rob Museum"] then return end fireproximityprompt(Prompt) task.wait(0.25) end end Settings["Sell Loot"]() Settings["Museum Debounce"] = true end, ["Robbery Handler"] = function(Name) local Settings = Configuration["Autofarm/Money Related"] local Data = LocalPlayer:WaitForChild("Data") local Money = Data.Money local Bank = Data.Bank local ATM = Remotes:WaitForChild("ATM") local Robbed = 0 local function EnsureMoney() if Money.Value < 2000 then if 2000 - Money.Value > Bank.Value then Notify({ Name = "Havoc | Robbery Handler", Info = "You need at least $2,000 to rob places.", LifeTime = 5 }) return false end ATM:FireServer("Withdraw", 2000 - Money.Value) end return true end local HRP = Character():FindFirstChild("HumanoidRootPart") local Origin = HRP and HRP.Position or Vector3.zero if Settings["Auto Rob Bank"] then if not EnsureMoney() then return end if Settings["Rob Bank"](Name) then Robbed = Robbed + 1 task.wait(2) end end if Settings["Auto Rob Jewelry Store"] then if not EnsureMoney() then return end if Settings["Rob Jewelry Store"](Name) then Robbed = Robbed + 1 task.wait(2) end end if Settings["Auto Rob Yacht"] then if not EnsureMoney() then return end if Settings["Rob Yacht"](Name) then Robbed = Robbed + 1 task.wait(2) end end if Settings["Auto Rob Museum"] then if not EnsureMoney() then return end if Settings["Rob Museum"](Name) then Robbed = Robbed + 1 task.wait(2) end end if Robbed > 0 then Configuration.Teleport_Related["Teleport Handler"](Origin) end end, ["Frosty J*b"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Autofarm Frosty J*b"] then return end Settings["Robbery Handler"]("Autofarm Frosty J*b") local Job = Workspace.Map.Jobs.FrostyJob local NPCArea = Job.NPCArea local Versions = Job.Versions local Prompt = Job.Interact:FindFirstChild("ProximityPrompt") if Prompt.ObjectText == "Start Frosty Job" then if LocalPlayer:FindFirstChild("FoodJobEarned") then local Interact = Workspace.Map.Jobs.DeliveryJob["Delivery Man"]:FindFirstChild("UpperTorso"):FindFirstChild("Interact") Configuration.Teleport_Related["Teleport Handler"](Vector3.new(517, 52, -389)) task.wait(0.25) if Settings["Autofarm Frosty J*b"] then fireproximityprompt(Interact) task.wait(1.5) return Settings["Frosty J*b"]() end return end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(898, 52, -473)) if Settings["Autofarm Frosty J*b"] then fireproximityprompt(Prompt) task.wait(1) return Settings["Frosty J*b"]() end return end repeat task.wait() until NPCArea:FindFirstChild("NPC " .. LocalPlayer.Name) local NPC = NPCArea:WaitForChild("NPC " .. LocalPlayer.Name) local Color = NPC.ColorValue.Value local Target = nil if not Settings["Autofarm Frosty J*b"] then return end local HRP = Character():FindFirstChild("HumanoidRootPart") if (HRP.Position - Vector3.new(897, 52, -480)).Magnitude > 25 then Configuration.Teleport_Related["Teleport Handler"](Vector3.new(897, 52, -480)) else Configuration.Teleport_Related["Teleport Steps"](Vector3.new(897, 52, -480), 24) end for _, Child in pairs(Versions:GetChildren()) do if Child:FindFirstChild("MeshPart").Color == Color then Target = Child break end end if not Target then return Settings["Frosty J*b"]() end local MeshPrompt = Target:FindFirstChild("MeshPart").ProximityPrompt if not Settings["Autofarm Frosty J*b"] then return end fireproximityprompt(MeshPrompt) task.wait(0.25) Configuration.Teleport_Related["Teleport Steps"](Vector3.new(897, 52, -469), 24) task.wait(0.5) if Settings["Autofarm Frosty J*b"] then fireproximityprompt(NPC:FindFirstChildOfClass("ProximityPrompt")) task.wait(0.75) return Settings["Frosty J*b"]() end end, ["Box J*b"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Autofarm Box J*b"] then return end Settings["Robbery Handler"]("Autofarm Box J*b") if not Character():FindFirstChild("Box") and not Backpack():FindFirstChild("Box") then local Interact = Workspace.Map.Jobs.BoxJob.Take.Take:FindFirstChild("Interact") Configuration.Teleport_Related["Teleport Handler"](Vector3.new(203, 52, 340)) if Settings["Autofarm Box J*b"] then fireproximityprompt(Interact) task.wait(0.5) return Settings["Box J*b"]() end return end task.wait(0.5) if not Settings["Autofarm Box J*b"] then return end local Deliver = Workspace.Map.Jobs.BoxJob.Deliver.Deliver local Interact = Deliver:FindFirstChild("Interact") Configuration.Teleport_Related["Teleport Handler"](Deliver.Position + Vector3.new(3, 3, 3)) task.wait(2.5) if not Settings["Autofarm Box J*b"] then return end repeat if not Character():FindFirstChild("Box") then local Tool = Backpack():FindFirstChild("Box") if Tool then Character():FindFirstChild("Humanoid"):EquipTool(Tool) end task.wait(0.25) end fireproximityprompt(Interact) Character():PivotTo(Deliver.CFrame + Vector3.new(3, 3, 3)) task.wait(0.5) until not Character():FindFirstChild("Box") and not Backpack():FindFirstChild("Box") task.wait(2.5) if #Backpack():GetChildren() > 2 then task.wait(1.5) end return Settings["Box J*b"]() end, ["Delivery J*b"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Autofarm Delivery J*b"] then return end Settings["Robbery Handler"]("Autofarm Delivery J*b") local Interact = Workspace.Map.Jobs.DeliveryJob["Delivery Man"]:FindFirstChild("UpperTorso"):FindFirstChild("Interact") local Storage = Workspace.Storage if Interact.ObjectText == "End Delivery Job" then if not Character():FindFirstChild("DeliveryFood") and not Backpack():FindFirstChild("DeliveryFood") then local Bag = Workspace.Map.Jobs.DeliveryJob:WaitForChild("Bag") local BagPrompt = Bag:FindFirstChild("MeshPart").Interact local Distance = (Character():FindFirstChild("HumanoidRootPart").Position - Bag.WorldPivot.Position).Magnitude if Distance > 10 then Configuration.Teleport_Related["Teleport Handler"](Bag.WorldPivot.Position) end task.wait(0.25) if Settings["Autofarm Delivery J*b"] then fireproximityprompt(BagPrompt) task.wait(0.5) return Settings["Delivery J*b"]() end return end repeat task.wait() until Storage:FindFirstChild("NPC " .. LocalPlayer.Name) task.wait(0.5) local NPC = Storage:FindFirstChild("NPC " .. LocalPlayer.Name) local Prompt = NPC:FindFirstChild("Interact") Configuration.Teleport_Related["Teleport Handler"](NPC:FindFirstChild("UpperTorso").Position) task.wait(2) while true do if not Settings["Autofarm Delivery J*b"] then return end if not Character():FindFirstChild("DeliveryFood") then local Tool = Backpack():FindFirstChild("DeliveryFood") if Tool and Character():FindFirstChildOfClass("Humanoid") then Character():FindFirstChildOfClass("Humanoid"):EquipTool(Tool) end task.wait(0.25) end if not Settings["Autofarm Delivery J*b"] then return end Character():PivotTo(NPC:FindFirstChild("UpperTorso").Position) fireproximityprompt(Prompt) task.wait(0.25) if not Character():FindFirstChild("DeliveryFood") and not Backpack():FindFirstChild("DeliveryFood") then break end end task.wait(0.5) if #Backpack():GetChildren() > 2 then task.wait(3.5) end return Settings["Delivery J*b"]() end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(517, 52, -389)) task.wait(0.25) if Settings["Autofarm Delivery J*b"] then fireproximityprompt(Interact) task.wait(1.5) return Settings["Delivery J*b"]() end end, ["Cleaning J*b"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Autofarm Cleaning J*b"] then return end Settings["Robbery Handler"]("Autofarm Cleaning J*b") local Clean = Workspace.Map.Jobs.CleanNPC.Clean local HRP = Character():FindFirstChild("HumanoidRootPart") if (HRP.Position - Vector3.new(281, 52, -176)).Magnitude > 25 then Configuration.Teleport_Related["Teleport Handler"](Vector3.new(281, 52, -176)) end task.wait(0.25) for _, Child in pairs(Clean:GetChildren()) do if not Settings["Autofarm Cleaning J*b"] then return end local Prompt = Child:FindFirstChild("ProximityPrompt") if Child.Transparency == 0.25 and Prompt then Configuration.Teleport_Related["Teleport Steps"](Child.Position, 24) if Settings["Autofarm Cleaning J*b"] then fireproximityprompt(Prompt) task.wait(0.5) repeat task.wait() until not Character():FindFirstChild("Mop") task.wait(0.5) else return end end end task.wait(0.25) return Settings["Cleaning J*b"]() end, ["Robbing Cars"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Autofarm Robbing Cars"] then return end Settings["Robbery Handler"]("Autofarm Robbing Cars") local Cars = {} for _, Child in pairs(Workspace.Map.Interactions:GetChildren()) do if Child.Name == "Car Rob" then table.insert(Cars, Child) end end for _, Car in pairs(Cars) do if not Settings["Autofarm Robbing Cars"] then return end local Window = Car:FindFirstChild("Window") if Window then local Light = Window:FindFirstChild("Light") local SurfaceLight = Light and Light:FindFirstChild("SurfaceLight") local Handle = Window:FindFirstChild("H") local Prompt = Handle and Handle:FindFirstChild("ProximityPrompt") if SurfaceLight and Prompt and math.floor(Window.Transparency * 10) == 6 then Configuration.Teleport_Related["Teleport Handler"](Window.Position) task.wait(0.5) if not Settings["Autofarm Robbing Cars"] then return end for _ = 1, 5 do fireproximityprompt(Prompt) task.wait() end task.wait(2) if Settings["Autofarm Robbing Cars"] then fireproximityprompt(Prompt) task.wait(2.5) if SurfaceLight.Brightness ~= 0 then Configuration.Teleport_Related["Teleport Handler"](Vector3.new(671, 53, -418)) task.wait(57.5) end else return end end end end task.wait(0.25) return Settings["Robbing Cars"]() end, ["Oil Rig"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Autofarm Oil Rig"] then return end Settings["Robbery Handler"]("Autofarm Oil Rig") if not Settings["Autofarm Oil Rig"] then return end if LocalPlayer:WaitForChild("Data").Level.Value < 15 then Notify({ Name = "Havoc | Autofarm Oil Rig", Info = "You need at least level 15.", LifeTime = 5 }) return end local Died = false local Humanoid = Character():FindFirstChild("Humanoid") local DiedConnection = Humanoid.Died:Connect(function() Died = true end) local Data = LocalPlayer:WaitForChild("Data") if Data.Money.Value < 5000 then if 5000 - Data.Money.Value > Data.Bank.Value then Notify({ Name = "Havoc | Autofarm Oil Rig", Info = "You need at least $5,000 to start.", LifeTime = 5 }) DiedConnection:Disconnect() return end Remotes:WaitForChild("ATM"):FireServer("Withdraw", 5000 - Data.Money.Value) end if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end Configuration.Teleport_Related["Teleport Handler"](Vector3.new(-301, 82, -1679)) task.wait(1) local OilJob = Workspace:FindFirstChild("OilJob") if not OilJob then DiedConnection:Disconnect() return end local Pump = nil local PumpLabel = nil local function FindPump() for _, Child in pairs(OilJob:GetChildren()) do if Child.Name == "Pump" then local Label = Child:FindFirstChild("Primary"):FindFirstChild("BillboardGui").TextLabel if Label.Text == "AVAILABLE" then Pump = Child PumpLabel = Label break end end end end FindPump() if not Pump then repeat FindPump() task.wait(0.25) until Pump end if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end Configuration.Teleport_Related["Teleport Handler"](Pump:FindFirstChild("OilLever").Position) task.wait(1) if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end local LeverPrompt = Pump:FindFirstChild("OilLever"):FindFirstChild("Prompt") while true do if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end Character():PivotTo(CFrame.new(Pump:FindFirstChild("OilLever").Position)) fireproximityprompt(LeverPrompt) task.wait(1) if PumpLabel.Text == "IN USE" then break end end repeat task.wait() until PumpLabel.Text:match("COOLDOWN") if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end if not Died then local FillTable = OilJob:FindFirstChild("FillTable") local Prompt = FillTable:FindFirstChild("Primary").Prompt Configuration.Teleport_Related["Teleport Handler"](FillTable.Position) task.wait(0.5) while true do if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end fireproximityprompt(Prompt) task.wait(1) if not Prompt.Enabled then break end end task.wait(5.5) if not Settings["Autofarm Oil Rig"] then DiedConnection:Disconnect() return end Character():FindFirstChild("Humanoid"):UnequipTools() task.wait(0.25) local Loot = {} for _, Child in pairs(Backpack():GetChildren()) do if Child.Name:find("Oil") then table.insert(Loot, Child.Name) end end if not Died then Settings["Sell Loot"](Loot) end end DiedConnection:Disconnect() return Settings["Oil Rig"]() end, ["Train Strength"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Auto Train Strength"] then return end local Gym = Workspace:FindFirstChild("Gym") if not Gym then return end for _, Child in pairs(Gym:GetChildren()) do if not Settings["Auto Train Strength"] then return end if Child.Name == "Strength" then local Main = Child:FindFirstChild("Main") local Prompt = Main:FindFirstChildOfClass("ProximityPrompt") if Prompt.Enabled then Configuration.Teleport_Related["Teleport Handler"](Main.Position) task.wait(0.25) while true do if not Settings["Auto Train Strength"] then return end fireproximityprompt(Prompt) task.wait(0.25) if not Prompt.Enabled then break end end task.wait(0.25) repeat task.wait() until not Character():FindFirstChild("HumanoidRootPart").Anchored end end end task.wait(0.25) return Settings["Train Strength"]() end, ["Train Stamina"] = function() local Settings = Configuration["Autofarm/Money Related"] if not Settings["Auto Train Stamina"] then return end local Gym = Workspace:FindFirstChild("Gym") if not Gym then return end for _, Child in pairs(Gym:GetChildren()) do if not Settings["Auto Train Stamina"] then return end if Child.Name == "Stamina" then local Main = Child:FindFirstChild("Main") local Prompt = Main:FindFirstChildOfClass("ProximityPrompt") if Prompt.Enabled then Configuration.Teleport_Related["Teleport Handler"](Main.Position) task.wait(0.25) while true do if not Settings["Auto Train Stamina"] then return end fireproximityprompt(Prompt) task.wait(0.25) if not Prompt.Enabled then break end end task.wait(0.25) repeat task.wait() until not Character():FindFirstChild("HumanoidRootPart").Anchored end end end task.wait(0.25) return Settings["Train Stamina"]() end, }, Visuals_Related = { ["Full Bright"] = false, ["Disable Global Shadows"] = false, ["Change Clocktime"] = false, Clocktime = 12, ["Change Fog End"] = false, ["Fog End"] = 5000, ["Change Fog Start"] = false, ["Fog Start"] = 0, ["Change Saturation"] = false, ["Saturation Value"] = 0.5, ["Change Ambiency"] = false, ["Ambiency Color"] = Color3.fromRGB(255, 255, 255), ["Create Bullet Tracers"] = false, ["Rainbow Tracers"] = false, ["Bullet Tracer Textures"] = { ["Wavy"] = "rbxassetid://446111271", ["Lightning"] = "rbxassetid://7151778302", ["Pulsing"] = "rbxassetid://11226108137", ["DNA"] = "rbxassetid://6511613786", ["Laser"] = "rbxassetid://18654087326", ["Energy"] = "rbxassetid://13832105797", ["Strand"] = "rbxassetid://119094363918228", }, ["Bullet Tracer Style"] = "Wavy", ["Start Color"] = Color3.fromRGB(0, 255, 0), ["End Color"] = Color3.fromRGB(0, 255, 0), ["Tracer Lifetime"] = 5, ["Modify Field Of View"] = false, ["Field Of View"] = 90, ["Modify Vertical Resolution"] = false, ["Vertical Resolution"] = 1, ["Modify Horizontal Resolution"] = false, ["Horizontal Resolution"] = 1, ["Apply Rainbow Effect"] = function(Beam) task.spawn(function() while Beam and Beam.Parent do local Hue = tick() % 5 / 5 local NextHue = (Hue + 0.1) % 1 Beam.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromHSV(Hue, 1, 1)), ColorSequenceKeypoint.new(1, Color3.fromHSV(NextHue, 1, 1)), }) task.wait(0.05) end end) end, ["Create Bullet Tracer"] = function(Position) local Gun = Configuration.Gun_Related.GetGun() if not Gun or not Gun:FindFirstChild("Handle") or not Gun.Handle:FindFirstChild("GunMuzzlePoint") then return end local StartPart = Instance.new("Part") StartPart.Parent = Workspace StartPart.Transparency = 1 StartPart.Position = Gun.Handle.GunMuzzlePoint.WorldPosition StartPart.CanQuery = false StartPart.CanTouch = false StartPart.CanCollide = false StartPart.Anchored = true StartPart.Size = Vector3.new(0.001, 0.001, 0.001) local EndPart = Instance.new("Part") EndPart.Parent = Workspace EndPart.Transparency = 1 EndPart.Position = Position EndPart.CanQuery = false EndPart.CanTouch = false EndPart.CanCollide = false EndPart.Anchored = true EndPart.Size = Vector3.new(0.001, 0.001, 0.001) local A0 = Instance.new("Attachment", StartPart) local A1 = Instance.new("Attachment", EndPart) local Beam = Instance.new("Beam") Beam.Parent = Workspace Beam.Attachment0 = A0 Beam.Attachment1 = A1 Beam.FaceCamera = true Beam.LightEmission = 1 Beam.Texture = Configuration.Visuals_Related["Bullet Tracer Textures"][Configuration.Visuals_Related["Bullet Tracer Style"]] or Configuration.Visuals_Related["Bullet Tracer Textures"]["Wavy"] Beam.TextureLength = 12 Beam.TextureMode = Enum.TextureMode.Wrap Beam.TextureSpeed = 1 Beam.Width0 = 2 Beam.Width1 = 2 Beam.Brightness = 150 if Configuration.Visuals_Related["Rainbow Tracers"] then Configuration.Visuals_Related["Apply Rainbow Effect"](Beam) else Beam.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Configuration.Visuals_Related["Start Color"]), ColorSequenceKeypoint.new(1, Configuration.Visuals_Related["End Color"]), }) end task.wait(Configuration.Visuals_Related["Tracer Lifetime"]) for Index = 1, 50 do Beam.Transparency = NumberSequence.new(Index / 50) task.wait() end StartPart:Destroy() EndPart:Destroy() end, }, Vehicle_Related = { ["Selected Owned Vehicle"] = nil, ["Selected Purchaseable Vehicle"] = nil, ["Vehicle Fly"] = false, ["Vehicle Fly Speed"] = 5, ["Modify Vehicle Speed"] = false, ["Vehicle Speed Value"] = 0.005, ["Modify Vehicle Brakes"] = false, ["Vehicle Brake Value"] = 0.025, ["Infinite Fuel"] = false, ["Infinite Health"] = false, ["Selected Paint Color"] = "Bright red", ["Selected Tint Option"] = "Limo", ["Selected Underglow Color"] = "Bright red", ["Selected Wrap Option"] = "GreenWave", ["Selected Exhaust Option"] = "Off", ["Selected Rim Color"] = "Bright red", ["Base Colors"] = { "Black", "Bright blue", "Bright green", "Bright orange", "Bright red", "Bright yellow", "Cool yellow", "Dark Indigo", "Dark stone grey", "Earth green", "Hot pink", "Really black", "Royal purple", "Teal", "White", }, ["Wraps Table"] = { BlackCamo = 122375434351338, ["BlueCamo"] = 122963823745553, Blueish = 82113420487783, ["Carbon"] = 129427658134683, ["DarkBlue"] = 82895133356370, DarkPink = 115821245362730, ["GreenCamo"] = 73170831598550, ["GreenWave"] = 120600555425115, ["Greenish"] = 123816050976706, LightPink = 71065630216476, Pumpkins = 80452342629463, ["PurpleCamo"] = 83385955423626, ["PurpleCarbon"] = 85036704444872, ["Purpleish"] = 95359854768254, ["Red"] = 136610803895919, RedCamo = 129949329940591, ["RedSparkle"] = 100292874052467, ["Skeletons"] = 122382956380294, ["SmallSparkles"] = 95446627784183, ["Sparkles"] = 95446627784183, ["WhiteCamo"] = 132815138957579, ["WhiteCarbon"] = 95771645502810, XMAS = 95771645502810, XMAS2 = 11619324242571, ["XMAS3"] = 98516490498429, ["Yellow"] = 129906802798945, YellowCamo = 108633928318996, ["YellowCarbo"] = 120114688138884, }, ["Fetch Owned Vehicles"] = function() local Success, Result = pcall(function() return Remotes:WaitForChild("GetCarInfo"):InvokeServer() end) if not Success or type(Result) ~= "table" then return {} end return TableSwap(Result) end, ["Fetch Purchaseable Vehicles"] = function() local Cars = Misc:WaitForChild("Cars") local List = {} for _, Child in pairs(Cars:GetChildren()) do local Price = Child:GetAttribute("Price") if Price and Price > 1000 then table.insert(List, Child.Name) end end return List end, ["Check Vehicle Price"] = function(Name) local Cars = Misc:WaitForChild("Cars") local Car = Cars:FindFirstChild(Name) return Car and Car:GetAttribute("Price") end, ["Spawn Vehicle"] = function() if not Configuration.Vehicle_Related["Selected Owned Vehicle"] then Notify({ Name = "Havoc | Spawn Vehicle", Info = "Choose a vehicle.", LifeTime = 5 }) return end Remotes:WaitForChild("CarHandler"):FireServer("Spawn", Configuration.Vehicle_Related["Selected Owned Vehicle"]) task.wait(1) end, ["Purchase Vehicle"] = function() if not Configuration.Vehicle_Related["Selected Purchaseable Vehicle"] then Notify({ Name = "Havoc | Purchase Vehicle", Info = "Choose a vehicle.", LifeTime = 5 }) return end local Name = Configuration.Vehicle_Related["Selected Purchaseable Vehicle"] local Clean = Name:match("^(.-) %- %$") or Name:match("^(.-) %(") or Name Remotes:WaitForChild("CarHandler"):FireServer("Buy", Clean) end, ["Teleport To Vehicle"] = function() local Vehicle = Workspace:FindFirstChild("Vehicles") and Workspace.Vehicles:FindFirstChild(LocalPlayer.Name .. "'s Car") if Vehicle and Vehicle:FindFirstChild("DriveSeat") then Configuration.Teleport_Related["Teleport Handler"](Vehicle.DriveSeat.Position) else Notify({ Name = "Havoc | Teleport To Vehicle", Info = "Vehicle not found.", LifeTime = 5 }) end end, ["_Vehicle Fly"] = function() local ControlModule = require(LocalPlayer:WaitForChild("PlayerScripts").PlayerModule.ControlModule) local Control = { F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0 } local Last = { F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0 } local Down = nil local Up = nil if not Configuration.Vehicle_Related["Vehicle Fly"] then return end local Speed = 0 local function Make(Parent) local Gyro = Instance.new("BodyGyro") Gyro.Name = "\0" Gyro.P = 90000 Gyro.Parent = Parent Gyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9) Gyro.CFrame = Parent.CFrame local Velocity = Instance.new("BodyVelocity") Velocity.Name = "\0" Velocity.Parent = Parent Velocity.Velocity = Vector3.zero Velocity.MaxForce = Vector3.new(9e9, 9e9, 9e9) return Gyro, Velocity end local Root = Character():FindFirstChild("HumanoidRootPart") if not Root then return end local Gyro, Velocity = Make(Root) task.spawn(function() while true do if not Configuration.Vehicle_Related["Vehicle Fly"] then Gyro:Destroy() Velocity:Destroy() if Down then Down:Disconnect() end if Up then Up:Disconnect() end return end local Humanoid = Character():FindFirstChild("Humanoid") local HRP = Character():FindFirstChild("HumanoidRootPart") if not Humanoid or tostring(Humanoid.SeatPart) == "DriveSeat" then if HRP and not HRP:FindFirstChildOfClass("BodyGyro") then Gyro, Velocity = Make(HRP) end if not Configuration.Mobile_User then if Last.L + Last.R ~= 0 or Last.F + Last.B ~= 0 or Last.Q + Last.E ~= 0 then Speed = 50 elseif Speed ~= 0 then Speed = 0 end if Control.L + Control.R ~= 0 or Control.F + Control.B ~= 0 or Control.Q + Control.E ~= 0 then Velocity.Velocity = ((CurrentCamera.CFrame.LookVector * (Control.F + Control.B)) + ((CurrentCamera.CFrame * CFrame.new(Control.L + Control.R, (Control.F + Control.B + Control.Q + Control.E) * 0.2, 0).p) - CurrentCamera.CFrame.p)) * Speed Last = { F = Control.F, B = Control.B, L = Control.L, R = Control.R } elseif Speed ~= 0 then Velocity.Velocity = ((CurrentCamera.CFrame.LookVector * (Last.F + Last.B)) + ((CurrentCamera.CFrame * CFrame.new(Last.L + Last.R, (Last.F + Last.B + Last.Q + Last.E) * 0.2, 0).p) - CurrentCamera.CFrame.p)) * Speed else Velocity.Velocity = Vector3.zero end Gyro.CFrame = CurrentCamera.CFrame else local Direction = ControlModule:GetMoveVector() if Direction.X > 0 then Velocity.Velocity += CurrentCamera.CFrame.RightVector * (Direction.X * (Configuration.Vehicle_Related["Vehicle Fly Speed"] * 50)) end if Direction.X < 0 then Velocity.Velocity += CurrentCamera.CFrame.RightVector * (Direction.X * (Configuration.Vehicle_Related["Vehicle Fly Speed"] * 50)) end if Direction.Z > 0 then Velocity.Velocity -= CurrentCamera.CFrame.LookVector * (Direction.Z * (Configuration.Vehicle_Related["Vehicle Fly Speed"] * 50)) end if Direction.Z < 0 then Velocity.Velocity -= CurrentCamera.CFrame.LookVector * (Direction.Z * (Configuration.Vehicle_Related["Vehicle Fly Speed"] * 50)) end end task.wait() else break end end Gyro:Destroy() Velocity:Destroy() if Down then Down:Disconnect() end if Up then Up:Disconnect() end repeat task.wait() until tostring(Character():FindFirstChild("Humanoid").SeatPart) == "DriveSeat" return Configuration.Vehicle_Related["_Vehicle Fly"]() end) Down = UserInputService.InputBegan:Connect(function(Input, Processed) if Processed then return end if Input.KeyCode == Enum.KeyCode.W then Control.F = Configuration.Vehicle_Related["Vehicle Fly Speed"] elseif Input.KeyCode == Enum.KeyCode.S then Control.B = -Configuration.Vehicle_Related["Vehicle Fly Speed"] elseif Input.KeyCode == Enum.KeyCode.A then Control.L = -Configuration.Vehicle_Related["Vehicle Fly Speed"] elseif Input.KeyCode == Enum.KeyCode.D then Control.R = Configuration.Vehicle_Related["Vehicle Fly Speed"] elseif Input.KeyCode == Enum.KeyCode.E then Control.Q = Configuration.Vehicle_Related["Vehicle Fly Speed"] * 2 elseif Input.KeyCode == Enum.KeyCode.Q then Control.E = -Configuration.Vehicle_Related["Vehicle Fly Speed"] * 2 end pcall(function() CurrentCamera.CameraType = Enum.CameraType.Track end) end) Up = UserInputService.InputEnded:Connect(function(Input, Processed) if Processed then return end if Input.KeyCode == Enum.KeyCode.W then Control.F = 0 elseif Input.KeyCode == Enum.KeyCode.S then Control.B = 0 elseif Input.KeyCode == Enum.KeyCode.A then Control.L = 0 elseif Input.KeyCode == Enum.KeyCode.D then Control.R = 0 elseif Input.KeyCode == Enum.KeyCode.E then Control.Q = 0 elseif Input.KeyCode == Enum.KeyCode.Q then Control.E = 0 end end) end, ["Mobile Garage Purchase"] = function(Action) local Humanoid = Character():WaitForChild("Humanoid") local Seat = Humanoid.SeatPart local Vehicle = nil if Seat and Seat:IsA("VehicleSeat") then Vehicle = Seat.Parent end if not Vehicle then Vehicle = Workspace:FindFirstChild("Vehicles") and Workspace.Vehicles:FindFirstChild(LocalPlayer.Name .. "'s Car") end local CarHandler = Remotes:WaitForChild("CarHandler") local Value = nil if not Vehicle then Notify({ Name = "Havoc | Mobile Garage", Info = "Vehicle not found.", LifeTime = 5 }) return end if Vehicle:GetAttribute("CarType") == "Scooter" then Notify({ Name = "Havoc | Mobile Garage", Info = "A scooter isn't customizable.", LifeTime = 5 }) return end if Action == "Repair" then CarHandler:FireServer("Repair", Vehicle:GetAttribute("CarType")) return end if Action == "Fuel" then local Map = Workspace:FindFirstChild("Map") local Pumps = Map and Map:FindFirstChild("GasPumps") local Pump = Pumps and Pumps:FindFirstChild("GasPump") local Handler = Pump and Pump:FindFirstChild("Position") and Pump.Position.Handler if not Handler then Notify({ Name = "Havoc | Mobile Garage", Info = "Failed to find a gas pump.", LifeTime = 5 }) return end local SeatPart = Vehicle:FindFirstChildOfClass("VehicleSeat") local CFrameValue = SeatPart.CFrame Vehicle:PivotTo(Pump.WorldPivot) task.wait(0.25) fireproximityprompt(Handler) task.wait(0.25) Vehicle:PivotTo(CFrameValue) return end if Action == "BuyExtra" then Value = Configuration.Vehicle_Related["Selected Paint Color"] elseif Action == "BuyExtra2" then Value = Configuration.Vehicle_Related["Selected Underglow Color"] elseif Action == "BuyExtra3" then Value = Configuration.Vehicle_Related["Selected Tint Option"] elseif Action == "BuyExtra4" then Value = Configuration.Vehicle_Related["Wraps Table"][Configuration.Vehicle_Related["Selected Wrap Option"]] elseif Action == "BuyExtra5" then Value = Configuration.Vehicle_Related["Selected Exhaust Option"] elseif Action == "BuyRimColor" then Value = Configuration.Vehicle_Related["Selected Rim Color"] end if not Value then Notify({ Name = "Havoc | Mobile Garage", Info = "Choose an option first.", LifeTime = 5 }) return end CarHandler:FireServer(Action, Vehicle:GetAttribute("CarType"), Value) end, }, } --===================================================================== -- Runtime --===================================================================== getgenv().HavocSLR_Active = true local Running = true local Hooks = {} local function Closure(Function) if newcclosure then return newcclosure(Function) end return Function end local function GetUpvalue(Function, Index) if type(Function) ~= "function" then return nil end local Success, First, Second = pcall(debug.getupvalue, Function, Index) if not Success then return nil end if Second ~= nil then return Second end return First end local function AddHook(Target, Replacement) local Old = hookfunction(Target, Replacement) table.insert(Hooks, { Target = Target, Old = Old }) return Old end local Regular_Head_Size = Vector3.new(2, 1, 1) pcall(function() Regular_Head_Size = Character():WaitForChild("Head").Size end) local Initializer_Connections = {} local function Track(Connection) table.insert(Initializer_Connections, Connection) return Connection end local Initializer = {} Initializer.__Namecall = function() local Meta = getrawmetatable(game) local Old Old = AddHook(Meta.__namecall, Closure(function(Self, ...) local Method = getnamecallmethod() local Args = table.pack(...) if Method == "FireServer" and typeof(Self) == "Instance" then local Hit_Remote = Hit_Effects._Remote if Self == Hit_Remote or not Hit_Remote or not Hit_Remote.Parent then local Hit_Self = Self task.spawn(function() if setthreadidentity then pcall(setthreadidentity, 8) end pcall(Hit_Effects.HandleNamecall, Hit_Self, Args) end) end end if Method == "FireServer" and tostring(Self) == "Fire" then local A, B, C, D, E = Old(Self, ...) task.defer(Configuration.Gun_Related.RefillMag) return A, B, C, D, E end return Old(Self, ...) end)) end Initializer.FOV_Circle = function() Configuration.Target_Related["FOV Circle Outline"] = Drawing.new("Circle") Configuration.Target_Related["FOV Circle"] = Drawing.new("Circle") Configuration.Target_Related["FOV Circle Fill"] = Drawing.new("Circle") local Outline = Configuration.Target_Related["FOV Circle Outline"] local Main = Configuration.Target_Related["FOV Circle"] local Fill = Configuration.Target_Related["FOV Circle Fill"] Outline.Color = Color3.fromRGB(0, 0, 0) Main.Color = Color3.fromRGB(255, 255, 255) Fill.Color = Color3.fromRGB(255, 255, 255) Outline.Thickness = 3 Main.Thickness = 1.5 Fill.Thickness = 1.5 Outline.Filled = false Main.Filled = false Fill.Filled = true Outline.Transparency = 1 Main.Transparency = 1 Fill.Transparency = 0.25 Track(RunService.RenderStepped:Connect(function() if not Running then return end local Settings = Configuration.Target_Related local Visible = Settings["Draw FOV Circle"] if not Visible then if Outline.Visible then Outline.Visible = false Main.Visible = false Fill.Visible = false end return end local FillVisible = Settings["Fill FOV Circle"] local Position = Configuration.Mobile_User and Vector2.new(CurrentCamera.ViewportSize.X / 2, CurrentCamera.ViewportSize.Y / 2) or UserInputService:GetMouseLocation() local Radius = Settings["FOV Circle Radius"] local Sides = math.clamp(Settings["FOV Circle Sides"], 3, 100) Outline.Visible = true Main.Visible = true Fill.Visible = FillVisible Outline.Position = Position Main.Position = Position Fill.Position = Position Outline.Radius = Radius Main.Radius = Radius Fill.Radius = Radius Outline.NumSides = Sides Main.NumSides = Sides Fill.NumSides = Sides end)) end Initializer.Targetting = function() while Running and task.wait(0.05) do local Target = Configuration.Target_Related["Find Target"]() if Target then local HRP = Target:FindFirstChild("HumanoidRootPart") if HRP and Configuration.Target_Related["Draw Snapline"] then Configuration.Target_Related["Create Snapline"](HRP) end if Configuration.Target_Related["Highlight Target"] then Configuration.Target_Related["Create Highlight"](Target) end end end end Initializer.Spectate = function() local Spectating = false local Original_Subject = nil RunService:BindToRenderStep("Havoc | Spectate", Enum.RenderPriority.Camera.Value + 1, function() if not Running then return end local Name = Configuration.Player_Related["Spectate Player"] and Configuration.Player_Related["Selected Player"] if Name then local Target = Players:FindFirstChild(Name) local Character_ = Target and Target.Character local Humanoid = Character_ and Character_:FindFirstChildOfClass("Humanoid") if Humanoid then if not Spectating then Original_Subject = CurrentCamera.CameraSubject Spectating = true end if CurrentCamera.CameraSubject ~= Humanoid then CurrentCamera.CameraSubject = Humanoid end if CurrentCamera.CameraType ~= Enum.CameraType.Custom then CurrentCamera.CameraType = Enum.CameraType.Custom end return end end if Spectating then local Character_ = LocalPlayer.Character local Humanoid = Character_ and Character_:FindFirstChildOfClass("Humanoid") CurrentCamera.CameraSubject = Humanoid or Original_Subject Spectating = false end end) end Initializer.Silent_Aim = function() local Init = require(Modules.GunFramework.GunClient).Init local ClientTable = GetUpvalue(Init, 8) if type(ClientTable) ~= "table" or type(ClientTable.FireBullet) ~= "function" then return end local BulletParams = RaycastParams.new() BulletParams.FilterType = Enum.RaycastFilterType.Blacklist local Old Old = AddHook(ClientTable.FireBullet, Closure(function(...) local Args = table.pack(...) local function Trace(Direction) if typeof(Direction) ~= "Vector3" then return end local CollectionService = Services.CollectionService local Filter = { Character() } local Zones = Workspace:FindFirstChild("Zones") if Zones then table.insert(Filter, Zones) end local Storage = Workspace:FindFirstChild("Storage") if Storage then table.insert(Filter, Storage) end if Workspace.Map then local Background = Workspace.Map:FindFirstChild("Background") if Background then table.insert(Filter, Background) end end for _, Object in ipairs(CollectionService:GetTagged("IgnoreBullets")) do table.insert(Filter, Object) end BulletParams.FilterDescendantsInstances = Filter local Result = Workspace:Raycast(Args[2], Direction * 5000, BulletParams) if Configuration.Visuals_Related["Create Bullet Tracers"] then if Result then task.spawn(Configuration.Visuals_Related["Create Bullet Tracer"], Result.Position) else task.spawn(Configuration.Visuals_Related["Create Bullet Tracer"], LocalPlayer:GetMouse().Hit.Position) end end end local Target = Configuration.Target_Related["Targetted Player"] if Configuration.Aimbot_Related["Silent Aim"] and Target then if math.random(0, 100) > Configuration.Aimbot_Related["Hit Chance"] then return Old(...) end local Parts = Configuration.Aimbot_Related["Hit Parts"] local PartName = Parts[math.random(1, #Parts)] local Part = Target:FindFirstChild(PartName) local Origin = Args[2] if Part and typeof(Origin) == "Vector3" then Args[3] = (Part.Position - Origin).Unit Trace(Args[3]) local Visible = Configuration.Target_Related["_Visible Check"](Part, true) if Configuration.Aimbot_Related.Wallbang or Visible then Configuration.Gun_Related.FireInflictTargetRemote(Part) end return Old(table.unpack(Args, 1, Args.n)) end end Trace(Args[3]) return Old(...) end)) end Initializer.Aimlock = function() local Move = getgenv().mousemoverel or mousemoverel if not Move then return end Track(RunService.RenderStepped:Connect(function() if not Running then return end if not Configuration.Aimbot_Related["Aimlock Keybind"] or not Configuration.Aimbot_Related.Aimlock then return end local Target = Configuration.Target_Related["Targetted Player"] if not Target then return end local Part = Target:FindFirstChild(Configuration.Aimbot_Related["Hit Part"]) if not Part then return end local Mouse = UserInputService:GetMouseLocation() local Screen, OnScreen = CurrentCamera:WorldToViewportPoint(Part.Position) if not OnScreen then return end local Distance = (Mouse - Vector2.new(Screen.X, Screen.Y)).Magnitude local Smoothness = math.clamp(Configuration.Aimbot_Related["Aimlock Smoothness"] or 0.5, 0.01, 1) if Distance > 250 then Move((Screen.X - Mouse.X) * 0.5, (Screen.Y - Mouse.Y) * 0.5) else Move((Screen.X - Mouse.X) * Smoothness, (Screen.Y - Mouse.Y) * Smoothness) end end)) end Initializer.Head_Expanders = function() while Running and task.wait(0.1) do if not Configuration.Aimbot_Related["Enable Head Expanders"] and not Configuration.Aimbot_Related["Enable Head Transparency"] then continue end for _, Player in ipairs(Players:GetPlayers()) do if Player ~= LocalPlayer and Player.Character then local Head = Player.Character:FindFirstChild("Head") local Humanoid = Player.Character:FindFirstChildOfClass("Humanoid") if Head and Humanoid then local Friendly = Configuration.Player_Related.Data[Player.Name] == "Friendly" local Dead = Configuration.Aimbot_Related["Ignore Dead People"] and Humanoid.Health <= 0 local Allowed = not Friendly and not Dead if Configuration.Aimbot_Related["Enable Head Expanders"] and Allowed then Head.Size = Regular_Head_Size * Configuration.Aimbot_Related["Head Size Multiplier"] Head.Massless = true else Head.Size = Regular_Head_Size Head.Massless = false end if Configuration.Aimbot_Related["Enable Head Transparency"] and Allowed then Head.Transparency = Configuration.Aimbot_Related["Head Transparency"] else Head.Transparency = 0 end end end end end end Initializer.Gun_Modifications = function() local Init = require(Modules.GunFramework.GunClient).Init local ClientTable = GetUpvalue(Init, 8) local Fire = type(ClientTable) == "table" and ClientTable.Fire or nil if type(getgenv().HavocStreetClipsFire) == "function" then Fire = getgenv().HavocStreetClipsFire end local Cache = {} local JamActive = {} local LastGun = nil task.spawn(function() while Running do if Configuration.Gun_Related["No Bullet Drop"] then Configuration.Gun_Related.RefillMag() task.wait(0.15) else task.wait(0.5) end end end) while Running and task.wait(0.1) do local Gun = Configuration.Gun_Related.GetGun() if not Gun then continue end local Module = Configuration.Gun_Related.GetGunModule() if not Module then continue end pcall(function() Configuration.Gun_Related._MagSize = Module.Ammo or Module.AmmoPerMag or Module.MaxAmmo or Module.MagSize end) if LastGun ~= Gun then LastGun = Gun Gun:GetAttributeChangedSignal("Ammo_Client"):Connect(function() Configuration.Gun_Related.RefillMag() end) Gun:GetAttributeChangedSignal("Ammo_Server"):Connect(function() Configuration.Gun_Related.RefillMag() end) end if Configuration.Gun_Related["No Bullet Drop"] then Configuration.Gun_Related.RefillMag() else Gun:SetAttribute("Ammo_Client", Gun:GetAttribute("Ammo_Server")) end if not Cache[Gun] then Cache[Gun] = table.clone(Module) end pcall(function() if not Configuration.Gun_Related.Automatic then Module.IsAutomatic = Cache[Gun].IsAutomatic else Module.IsAutomatic = true end if Configuration.Gun_Related["Modify FireRate"] and Fire then pcall(debug.setupvalue, Fire, 1, function() return os.clock() - Random.new():NextNumber(1.25, 2.25) * ((1 - Configuration.Gun_Related["FireRate Percentage"]) / 5) end) elseif Fire then pcall(debug.setupvalue, Fire, 1, os.clock) end if not Configuration.Gun_Related["Modify Spread"] then Module.SpreadFactor = Cache[Gun].SpreadFactor else Module.SpreadFactor = Cache[Gun].SpreadFactor * Configuration.Gun_Related["Spread Percentage"] end if not Configuration.Gun_Related["Modify Recoil"] then Module.Recoil = Cache[Gun].Recoil Module.RecoilSpeed = Cache[Gun].RecoilSpeed else Module.Recoil = Cache[Gun].Recoil * Configuration.Gun_Related["Recoil Percentage"] Module.RecoilSpeed = Cache[Gun].RecoilSpeed * Configuration.Gun_Related["Recoil Percentage"] end if Configuration.Gun_Related["Instant Bullet"] then Module.BulletSpeed = 9e9 else Module.BulletSpeed = Cache[Gun].BulletSpeed end if Module.Animations and Module.Animations.Reload then if Configuration.Gun_Related["Instant Reload"] then Module.ReloadTime = 0 Module.Animations.Reload.Speed = 9e9 else Module.ReloadTime = Cache[Gun].ReloadTime Module.Animations.Reload.Speed = Cache[Gun].Animations.Reload.Speed end end if Module.Animations and Module.Animations.Equip then if Configuration.Gun_Related["Instant Equip"] then Module.EquipTime = 0 Module.Animations.Equip.Speed = 9e9 else Module.EquipTime = Cache[Gun].EquipTime Module.Animations.Equip.Speed = Cache[Gun].Animations.Equip.Speed end end if Configuration.Gun_Related["Maximum Range"] then Module.Range = 9e9 else Module.Range = Cache[Gun].Range end if Configuration.Gun_Related["No Jam"] and not JamActive[Gun] then JamActive[Gun] = true task.spawn(function() for _ = 1, 24 do if Gun.Parent then Gun:SetAttribute("IsJammed", false) end task.wait(0.05) end JamActive[Gun] = nil end) end end) end end Initializer.Kill_Aura = function() while Running and task.wait(0.05) do if not Configuration.Gun_Related["Kill Aura"] or not Configuration.Gun_Related.GetGun() then continue end local MyHRP = Character() and Character():FindFirstChild("HumanoidRootPart") if not MyHRP then continue end if not Configuration.Target_Related["_Safezone Check"](MyHRP, true) then continue end local Targets = {} for _, Player in ipairs(Players:GetPlayers()) do if Player.Character and Player ~= LocalPlayer and Configuration.Player_Related.Data[Player.Name] ~= "Friendly" then local Head = Player.Character:FindFirstChild("Head") local Humanoid = Player.Character:FindFirstChildOfClass("Humanoid") local HRP = Player.Character:FindFirstChild("HumanoidRootPart") if Head and Humanoid and HRP and Humanoid.Health > 0 and not Player.Character:FindFirstChildOfClass("ForceField") then local Distance = (HRP.Position - MyHRP.Position).Magnitude if Distance <= Configuration.Gun_Related["Max Range"] and Configuration.Target_Related["_Safezone Check"](HRP, true) then table.insert(Targets, { Head = Head, Distance = Distance, Priority = Configuration.Player_Related.Data[Player.Name] == "Priority", }) end end end end table.sort(Targets, function(A, B) if A.Priority ~= B.Priority then return A.Priority end return A.Distance < B.Distance end) for _, Data in ipairs(Targets) do pcall(Configuration.Gun_Related.FireInflictTargetRemote, Data.Head) end end end Initializer.Local_Player = function() local OriginalZoom = LocalPlayer.CameraMaxZoomDistance local ZoomSet = false local OriginalJump = 0 local JumpSet = false local DisplayName = LocalPlayer.DisplayName local NameSet = false local LastPrompt = nil local LastPromptTick = 0 local LastSeat = nil local LastSeatTick = 0 local ClickConnection = nil local function BindClick() if ClickConnection then pcall(function() ClickConnection:Disconnect() end) end ClickConnection = LocalPlayer:GetMouse().Button1Down:Connect(Configuration.Local_Player_Related["_Click To Teleport"]) Track(ClickConnection) end BindClick() Track(LocalPlayer.CharacterAdded:Connect(function() task.wait(0.25) BindClick() end)) local InteractBusy = false Track(ProximityPromptService.PromptButtonHoldBegan:Connect(function(Prompt, Player) LastPrompt = Prompt LastPromptTick = tick() if Configuration.Local_Player_Related["Instant Interact"] and Player == LocalPlayer and Prompt.HoldDuration ~= 0 and not InteractBusy then InteractBusy = true task.spawn(function() fireproximityprompt(Prompt) InteractBusy = false end) end end)) task.spawn(function() while Running do task.wait() local Humanoid = Character():FindFirstChild("Humanoid") if Humanoid and Humanoid.SeatPart then LastSeat = Humanoid.SeatPart LastSeatTick = tick() end end end) task.spawn(function() while Running and task.wait(0.1) do local Gui = LocalPlayer:WaitForChild("PlayerGui") local Dead = Gui:FindFirstChild("Dead") if not Dead then continue end repeat task.wait() until Dead.Respawning.Visible == true local HRP = Character():FindFirstChild("HumanoidRootPart") local Position = HRP and HRP.Position + Vector3.new(0, 2, 0) or Vector3.zero repeat task.wait() until Dead.Respawning.Visible ~= true if Configuration.Local_Player_Related["Respawn Where You Died"] then for _ = 1, 15 do local NewHRP = Character():FindFirstChild("HumanoidRootPart") if NewHRP then NewHRP.CFrame = CFrame.new(Position) end task.wait() end end end end) pcall(function() local NotifyRemote = Remotes:WaitForChild("Notify") for _, Connection in pairs(getconnections(NotifyRemote.OnClientEvent)) do local Callback = Connection.Function if Callback then AddHook(Callback, Closure(function(Message, ...) local Lower = tostring(Message):lower() if Configuration.Local_Player_Related["Bypass Locked Cars"] and (Lower:match("vehicle is locked") or Lower:match("car is locked") or Lower:match("isnt your scooter") or Lower:match("bike is locked")) then if LastPrompt and tick() - LastPromptTick < 1 then local Parent = LastPrompt.Parent if Parent and (Parent:IsA("Seat") or Parent:IsA("VehicleSeat")) then pcall(function() task.wait(0.1) Parent:Sit(Character():FindFirstChild("Humanoid")) end) end end end if Configuration.Local_Player_Related["Unkickable From Cars"] and Lower:match("kicked out of the car") then if LastSeat and tick() - LastSeatTick < 1 then pcall(function() local Count = 0 repeat LastSeat:Sit(Character():FindFirstChild("Humanoid")) Count += 1 task.wait(0.1) until Character():FindFirstChild("Humanoid").SeatPart or Count >= 15 end) end end return Callback(Message, ...) end)) break end end end) local StaminaTick = 0 Track(RunService.RenderStepped:Connect(function(Delta) if not Running then return end local Char = LocalPlayer.Character local Humanoid = Char and Char:FindFirstChildOfClass("Humanoid") if not Humanoid then return end local Settings = Configuration.Local_Player_Related if Settings["Infinite Zoom"] then if not ZoomSet then OriginalZoom = LocalPlayer.CameraMaxZoomDistance ZoomSet = true end LocalPlayer.CameraMaxZoomDistance = 9e9 elseif ZoomSet then LocalPlayer.CameraMaxZoomDistance = OriginalZoom ZoomSet = false end if Settings["Infinite Stamina"] then local Now = os.clock() if Now - StaminaTick >= 0.2 then StaminaTick = Now Char:SetAttribute("Stamina", 100) end end local Head = Char:FindFirstChild("Head") local Overhead = Head and Head:FindFirstChild("Overhead") local Username = Overhead and Overhead:FindFirstChild("Username") if Settings["Hide Name"] then if Username and Username.Text ~= "Havoc" then Username.Text = "Havoc" end NameSet = false elseif not NameSet then if Username then Username.Text = DisplayName end NameSet = true end if Settings["Modify Jump Power"] then if not JumpSet then OriginalJump = Humanoid.JumpPower JumpSet = true end local Jump = Settings["Jump Power"] if Humanoid.JumpPower ~= Jump then Humanoid.JumpPower = Jump end elseif JumpSet then Humanoid.JumpPower = OriginalJump JumpSet = false end if Settings["Modify Walkspeed"] and Humanoid.MoveDirection.Magnitude > 0 then Char:TranslateBy(Humanoid.MoveDirection * (Settings["Walkspeed Percentage"] * Humanoid.WalkSpeed * Delta / 2)) end local Anim = Settings["Playing Animation"] if Anim then pcall(Anim.AdjustSpeed, Anim, Settings["Animation Speed"]) end end)) end Initializer.Looting_Utilities = function() local Busy = false local function GetPosition(Object) if Object:IsA("BasePart") then return Object.Position end local Ok, Pivot = pcall(function() return Object:GetPivot().Position end) return Ok and Pivot or nil end local function LootPart(Part, Prompt, ReturnPosition) if Busy then repeat task.wait() until not Busy end Busy = true Configuration.Teleport_Related["Teleport Handler"](Part.Position + Vector3.new(0, 3, 0)) task.wait(0.1) for _ = 1, 5 do fireproximityprompt(Prompt) task.wait() end Configuration.Teleport_Related["Teleport Handler"](ReturnPosition) task.wait(3) Busy = false end local Storage = Workspace:FindFirstChild("Storage") if not Storage then return end Track(Storage.ChildAdded:Connect(function(Object) local MyHRP = Character():FindFirstChild("HumanoidRootPart") if not MyHRP then return end if Object.Name:find("'s Bag") then local Position = GetPosition(Object) if not Position then return end local Distance = (Position - MyHRP.Position).Magnitude if Distance > Configuration.Local_Player_Related["_Max Distance"] then return end if Configuration.Local_Player_Related["Highlight Bags"] then task.spawn(Configuration.Local_Player_Related["Create Highlight"], Object, "Highlight Bags Color") end if not Configuration.Local_Player_Related["Auto Loot Bags"] then return end local Prompt = Object:FindFirstChild("stealprompt") if Prompt then task.spawn(LootPart, Object, Prompt, MyHRP.Position) end elseif Object.Name == "Money" then local Position = GetPosition(Object) if not Position then return end local Distance = (Position - MyHRP.Position).Magnitude if Distance > Configuration.Local_Player_Related["Max Distance"] then return end if Configuration.Local_Player_Related["Highlight Money"] then task.spawn(Configuration.Local_Player_Related["Create Highlight"], Object, "Highlight Money Color") end if not Configuration.Local_Player_Related["Auto Loot Dropped Money"] then return end local Prompt = Object:FindFirstChild("Handler") if Prompt then task.spawn(LootPart, Object, Prompt, MyHRP.Position) end end end)) end Initializer.Player_Related = function() local function Refresh() local Dropdown = Configuration.Player_Related.Player_Dropdown if not Dropdown then return end local List = {} for _, Player in ipairs(Players:GetPlayers()) do table.insert(List, Player.Name) if not Configuration.Player_Related.Data[Player.Name] then Configuration.Player_Related.Data[Player.Name] = "Neutral" end end pcall(Dropdown.Refresh, Dropdown, List) end Track(Players.PlayerAdded:Connect(Refresh)) Track(Players.PlayerRemoving:Connect(Refresh)) task.spawn(function() while Running and not Configuration.Player_Related.Player_Dropdown do task.wait(0.25) end Refresh() end) end Initializer.Farming = function() Track(LocalPlayer.Idled:Connect(function() local Settings = Configuration["Autofarm/Money Related"] if Settings["Autofarm Frosty J*b"] or Settings["Autofarm Box J*b"] or Settings["Autofarm Delivery J*b"] or Settings["Autofarm Cleaning J*b"] or Settings["Autofarm Robbing Cars"] or Settings["Autofarm Oil Rig"] then VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end end)) task.spawn(function() local LastHit = tick() local Idle = true while Running do task.wait(0.1) local Settings = Configuration["Autofarm/Money Related"] local Farming = Settings["Autofarm Frosty J*b"] or Settings["Autofarm Box J*b"] or Settings["Autofarm Delivery J*b"] or Settings["Autofarm Cleaning J*b"] or Settings["Autofarm Robbing Cars"] or Settings["Autofarm Oil Rig"] if Farming and Settings["Anti Death"] then local Char = LocalPlayer.Character local MyHRP = Char and Char:FindFirstChild("HumanoidRootPart") local Backpack_ = LocalPlayer:FindFirstChild("Backpack") local HasGun = (Char and Char:FindFirstChild("Settings", true)) or (Backpack_ and Backpack_:FindFirstChild("Settings", true)) if MyHRP and HasGun then local MyPosition = MyHRP.Position local Range = Settings["Anti Death Range"] local Equipped = Char:FindFirstChild("Settings", true) for _, Player in ipairs(Players:GetPlayers()) do local Character_ = Player.Character if Character_ and Player ~= LocalPlayer and Configuration.Player_Related.Data[Player.Name] ~= "Friendly" then local Head = Character_:FindFirstChild("Head") local Humanoid = Character_:FindFirstChildOfClass("Humanoid") local HRP = Character_:FindFirstChild("HumanoidRootPart") if Head and Humanoid and HRP and Humanoid.Health > 0 and not Character_:FindFirstChildOfClass("ForceField") and (HRP.Position - MyPosition).Magnitude <= Range and Configuration.Target_Related["_Safezone Check"](HRP, true) and Configuration.Target_Related["_Safezone Check"](MyHRP, true) then if not Equipped then local Tool = Backpack_ and Backpack_:FindFirstChild("Settings", true) if Tool then pcall(function() Char:FindFirstChildOfClass("Humanoid"):EquipTool(Tool.Parent) end) end task.wait(0.25) Equipped = Char:FindFirstChild("Settings", true) end if Equipped then pcall(Configuration.Gun_Related.FireInflictTargetRemote, Head) Idle = false LastHit = tick() end break end end end if tick() - LastHit > 0.25 and Char:FindFirstChild("Settings", true) and not Idle then Char:FindFirstChildOfClass("Humanoid"):UnequipTools() Idle = true end end end end end) local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Havoc | Performance Saver Cover Screen" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.DisplayOrder = 16 ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global ScreenGui.Parent = GetHui() local Frame = Instance.new("Frame") Frame.Name = "Frame" Frame.Size = UDim2.fromScale(2, 2) Frame.Position = UDim2.fromOffset(0, 0) Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Frame.BackgroundTransparency = 0 Frame.BorderSizePixel = 0 Frame.Parent = ScreenGui local Capped = true task.spawn(function() while Running do pcall(function() local Settings = Configuration["Autofarm/Money Related"] if Settings["Performance Saver"] then if setfpscap then setfpscap(30) end Capped = false elseif not Capped then if setfpscap then setfpscap(9e9) end Capped = true end ScreenGui.Enabled = Settings["Performance Saver"] end) task.wait() end ScreenGui:Destroy() end) end Initializer.Playtime_Rewards = function() local ClaimReward = Remotes:WaitForChild("ClaimReward") local PlayerGui = LocalPlayer:FindFirstChildOfClass("PlayerGui") while Running and task.wait(0.5) do if Configuration["Autofarm/Money Related"]["Auto Claim Playtime Rewards"] then local Gui = PlayerGui or LocalPlayer:FindFirstChildOfClass("PlayerGui") local Main = Gui and Gui:FindFirstChild("Main") local Base = Main and Main:FindFirstChild("LeftBarUIs") and Main.LeftBarUIs:FindFirstChild("RewardsBase") local Holder = Base and Base:FindFirstChild("Base") for Index = 1, 8 do pcall(ClaimReward.FireServer, ClaimReward, tostring(Index), Holder and Holder:FindFirstChild(tostring(Index))) end end end end Initializer.Crypto_Trader = function() local Phone = Misc:WaitForChild("Phone") local PhoneRemote = Remotes:WaitForChild("Phone") local ATM = Remotes:WaitForChild("ATM") local Timer = Phone:FindFirstChild("CryptoTimer") local Prices = { Bitcoin = nil, Dogecoin = nil, Ethereum = nil } local Names = { Bitcoin = "Crypto", Dogecoin = "DOGE", Ethereum = "ETH" } local Holding = false local IgnoreBuy = false while Running and task.wait(0.25) do local Settings = Configuration["Autofarm/Money Related"] if not Settings["Auto Trade Crypto"] then continue end local Selected = Settings["Selected Crypto Currency"] local Value = Phone:FindFirstChild(Names[Selected]) if not Value or not Timer then task.wait(1) continue end Prices[Selected] = Value.Value while Settings["Auto Trade Crypto"] and Running do local Data = LocalPlayer:WaitForChild("Data") local Bank = Data.Bank local Money = Data.Money local Amount = Settings["Trade Amount"] if Bank.Value < Value.Value * Amount then Notify({ Name = "Havoc | Crypto", Info = "Not enough cash in the bank.", LifeTime = 10 }) repeat if Bank.Value < Value.Value * Amount and Value.Value * Amount <= Money.Value then ATM:FireServer("Deposit", Value.Value * Amount - Bank.Value) end task.wait(0.1) until Value.Value * Amount <= Bank.Value or not Settings["Auto Trade Crypto"] end if not Settings["Auto Trade Crypto"] then break end if Holding then while true do task.wait() if Timer.Value <= 2 or not Settings["Auto Trade Crypto"] then break end end if Settings["Auto Trade Crypto"] then task.wait(2) local Change = (Value.Value - Prices[Selected]) / Prices[Selected] * 100 task.wait(0.25) if Change <= -Settings["Buy Threshold"] then break end else break end end Holding = false if not IgnoreBuy then for _ = 1, Amount do PhoneRemote:FireServer(Value.Name, "Purchase", Value.Value) end end IgnoreBuy = false repeat task.wait() until Timer.Value <= 2 or not Settings["Auto Trade Crypto"] if not Settings["Auto Trade Crypto"] then break end task.wait(2) local Change = (Value.Value - Prices[Selected]) / Prices[Selected] * 100 if Change >= Settings["Sell Threshold"] then Holding = true Prices[Selected] = Value.Value for _ = 1, Amount do PhoneRemote:FireServer(Value.Name, "Sell", Value.Value) end else IgnoreBuy = true end task.wait(2) end end end Initializer.World_Visuals = function() local ColorCorrection = Lighting:FindFirstChildOfClass("ColorCorrectionEffect") local Atmosphere = Lighting:FindFirstChildOfClass("Atmosphere") local Original = { Brightness = Lighting.Brightness, OutdoorAmbient = Lighting.OutdoorAmbient, GlobalShadows = Lighting.GlobalShadows, FogEnd = Lighting.FogEnd, FogStart = Lighting.FogStart, ClockTime = Lighting.ClockTime, FieldOfView = CurrentCamera and CurrentCamera.FieldOfView or 70, TintColor = ColorCorrection and ColorCorrection.TintColor or Color3.fromRGB(255, 255, 255), Saturation = ColorCorrection and ColorCorrection.Saturation or 0, } getgenv().HavocSLR_WorldRestore = function() Lighting.Brightness = Original.Brightness Lighting.OutdoorAmbient = Original.OutdoorAmbient Lighting.GlobalShadows = Original.GlobalShadows Lighting.FogEnd = Original.FogEnd Lighting.FogStart = Original.FogStart Lighting.ClockTime = Original.ClockTime if ColorCorrection then ColorCorrection.TintColor = Original.TintColor ColorCorrection.Saturation = Original.Saturation end if Workspace.CurrentCamera then Workspace.CurrentCamera.FieldOfView = Original.FieldOfView end end local FullBrightSet = true local FogEndSet = true local FogStartSet = true local SaturationSet = true local TintSet = true local FOVSet = true local UpdateTick = 0 Track(RunService.RenderStepped:Connect(function() if not Running then return end UpdateTick += 1 if UpdateTick % 12 ~= 0 then return end local Settings = Configuration.Visuals_Related if Settings["Full Bright"] then Lighting.Brightness = 6 Lighting.ClockTime = 12 Lighting.FogEnd = 1e9 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) FullBrightSet = false elseif not FullBrightSet then Lighting.Brightness = Original.Brightness Lighting.FogEnd = Original.FogEnd Lighting.GlobalShadows = Original.GlobalShadows Lighting.OutdoorAmbient = Original.OutdoorAmbient FullBrightSet = true end Lighting.GlobalShadows = not Settings["Full Bright"] and not Settings["Disable Global Shadows"] and true or false if Settings["Change Clocktime"] then Lighting.ClockTime = Settings.Clocktime end if Settings["Change Fog End"] then Lighting.FogEnd = Settings["Fog End"] if Atmosphere then Atmosphere.Parent = nil end FogEndSet = false elseif not FogEndSet then Lighting.FogEnd = Original.FogEnd if Atmosphere then Atmosphere.Parent = Lighting end FogEndSet = true end if Settings["Change Fog Start"] then Lighting.FogStart = Settings["Fog Start"] if Atmosphere then Atmosphere.Parent = nil end FogStartSet = false elseif not FogStartSet then Lighting.FogStart = Original.FogStart if Atmosphere then Atmosphere.Parent = Lighting end FogStartSet = true end if ColorCorrection then if Settings["Change Ambiency"] then ColorCorrection.TintColor = Settings["Ambiency Color"] TintSet = false elseif not TintSet then ColorCorrection.TintColor = Original.TintColor TintSet = true end if Settings["Change Saturation"] then ColorCorrection.Saturation = Settings["Saturation Value"] SaturationSet = false elseif not SaturationSet then ColorCorrection.Saturation = Original.Saturation SaturationSet = true end end if Settings["Modify Field Of View"] then CurrentCamera.FieldOfView = Settings["Field Of View"] FOVSet = false elseif not FOVSet then CurrentCamera.FieldOfView = Original.FieldOfView FOVSet = true end end)) Track(RunService.RenderStepped:Connect(function() if not Running then return end local Settings = Configuration.Visuals_Related if Settings["Modify Vertical Resolution"] then CurrentCamera.CFrame = CurrentCamera.CFrame * CFrame.new(0, 0, 0, 1, 0, 0, 0, Settings["Vertical Resolution"], 0, 0, 0, 1) pcall(function() sethiddenproperty(CurrentCamera, "FieldOfViewMode", Enum.FieldOfViewMode.Vertical) end) end if Settings["Modify Horizontal Resolution"] then CurrentCamera.CFrame = CurrentCamera.CFrame * CFrame.new(0, 0, 0, Settings["Horizontal Resolution"], 0, 0, 0, 1, 0, 0, 0, 1) pcall(function() sethiddenproperty(CurrentCamera, "FieldOfViewMode", Enum.FieldOfViewMode.Horizontal) end) end end)) local OnRayHit = nil for _, Function in pairs(getgc(true)) do if typeof(Function) == "function" and debug.info(Function, "n") == "OnRayHit_Sub2" then local Values = debug.getupvalues(Function) if #Values == 4 and typeof(Values[3]) == "Instance" and Values[3]:IsA("Players") and typeof(Values[4]) == "table" then OnRayHit = Function break end end end if OnRayHit then local Old Old = AddHook(OnRayHit, Closure(function(...) local Position = select(2, ...) if Position and typeof(Position) == "Vector3" and Configuration.Visuals_Related["Create Bullet Tracers"] then task.spawn(Configuration.Visuals_Related["Create Bullet Tracer"], Position) end return Old(...) end)) end end Initializer.Vehicle_Modifications = function() task.spawn(function() while Running do if Configuration.Vehicle_Related["Modify Vehicle Speed"] and UserInputService:IsKeyDown(Enum.KeyCode.W) then local Humanoid = Character():FindFirstChild("Humanoid") local Seat = Humanoid and Humanoid.SeatPart if Seat and Seat:IsA("VehicleSeat") then local Factor = 1 + Configuration.Vehicle_Related["Vehicle Speed Value"] Seat.AssemblyLinearVelocity *= Vector3.new(Factor, 1, Factor) end end task.wait() end end) task.spawn(function() while Running do if Configuration.Vehicle_Related["Modify Vehicle Brakes"] and UserInputService:IsKeyDown(Enum.KeyCode.S) then local Humanoid = Character():FindFirstChild("Humanoid") local Seat = Humanoid and Humanoid.SeatPart if Seat and Seat:IsA("VehicleSeat") and Seat.AssemblyLinearVelocity.Magnitude > 0 then local Factor = 1 - Configuration.Vehicle_Related["Vehicle Brake Value"] Seat.AssemblyLinearVelocity *= Vector3.new(Factor, 1, Factor) end end task.wait() end end) task.spawn(function() local OriginalHealth = 100 local OriginalFuel = 10 local HealthSet = false local FuelSet = false Track(RunService.RenderStepped:Connect(function() if not Running then return end local Humanoid = Character():FindFirstChild("Humanoid") if Humanoid and Humanoid.SeatPart and Humanoid.SeatPart:IsA("VehicleSeat") then local Vehicle = Humanoid.SeatPart.Parent local Health = Vehicle:GetAttribute("Health") local Fuel = Vehicle:GetAttribute("Fuel") if Health ~= nil then if Configuration.Vehicle_Related["Infinite Health"] then Vehicle:SetAttribute("Health", math.huge) HealthSet = false else if not HealthSet then Vehicle:SetAttribute("Health", OriginalHealth) HealthSet = true end OriginalHealth = Health end end if Fuel ~= nil then if Configuration.Vehicle_Related["Infinite Fuel"] then Vehicle:SetAttribute("Fuel", math.huge) FuelSet = false else if not FuelSet then Vehicle:SetAttribute("Fuel", OriginalFuel) FuelSet = true end OriginalFuel = Fuel end end end end)) end) end Initializer.Anticheat_Bypass = function() if not hookfunction or not getrenv then return end local PlayerScripts = LocalPlayer:WaitForChild("PlayerScripts") local function FindScript() for _, Child in pairs(PlayerScripts:GetChildren()) do if #Child.Name >= 32 then return Child end end end local Weather = PlayerScripts:FindFirstChild("WeatherSystem") or FindScript() local ChangeSetting = Remotes:WaitForChild("ChangeSetting") if not Weather then Notify({ Name = "Havoc | Anticheat", Info = "Anticheat script not found, continuing.", LifeTime = 5 }) return end local Payload = nil local GotPayload = false pcall(function() for _, Connection in pairs(getconnections(ChangeSetting.OnClientEvent)) do local Callback = Connection.Function if Callback then AddHook(Callback, Closure(function(Value) Payload = Value GotPayload = true end)) break end end end) if not GotPayload then local Tries = 0 while not GotPayload and Tries < 100 do task.wait(0.1) Tries = Tries + 1 end end task.wait(0.25) if getrenv().task and getrenv().task.wait then local OldWait OldWait = AddHook(getrenv().task.wait, Closure(function(...) local Trace = debug.traceback() if Trace:find("Client67") then return OldWait(9e9) end return OldWait(...) end)) end task.spawn(function() while Running do task.wait(math.random(3, 5)) pcall(function() ChangeSetting:FireServer("SaveSettings", "Update", Payload) end) end end) end --===================================================================== -- Menu --===================================================================== local Window = Library:Window({ Name = "Havoc", Icon = "107459574562539", Accent = Color3.fromRGB(255, 0, 0), }) local Watermark = Library:Watermark({ Name = "Havoc", Icon = "107459574562539" }) Window:Center() local MainTab = Window:Tab({ Name = "Main", Icon = "rbxassetid://109841253338329" }) local LocalSub = MainTab:SubTab({ Name = "Local Options", Icon = "rbxassetid://111917761312899" }) local TeleportSub = MainTab:SubTab({ Name = "Teleport Options", Icon = "rbxassetid://82487420092874" }) local PlayerSub = MainTab:SubTab({ Name = "Player Options", Icon = "rbxassetid://85332511060401" }) local FarmSub = MainTab:SubTab({ Name = "Autofarm Options", Icon = "rbxassetid://74567340201672" }) local CombatTab = Window:Tab({ Name = "Combat", Icon = "rbxassetid://99199363807265" }) local SelectorSub = CombatTab:SubTab({ Name = "Target Selector Options", Icon = "rbxassetid://127093834620465" }) local AimbotSub = CombatTab:SubTab({ Name = "Aimbot Options", Icon = "rbxassetid://121091323240554" }) local GunSub = CombatTab:SubTab({ Name = "Rage Options", Icon = "rbxassetid://125396339381135" }) local VisualTab = Window:Tab({ Name = "Visuals", Icon = "rbxassetid://127234874352422" }) local PlayerVisuals = VisualTab:SubTab({ Name = "Extra Sensory Perception", Icon = "rbxassetid://109514269737059" }) local WorldSub = VisualTab:SubTab({ Name = "World Visuals", Icon = "rbxassetid://112945472486319" }) local VehicleTab = Window:Tab({ Name = "Vehicle", Icon = "car" }) local VehicleSub = VehicleTab:SubTab({ Name = "Vehicles", Icon = "car" }) local Settings = Window:Tab({ Name = "Settings", Icon = "settings" }) local ConfigTab = Settings:SubTab({ Name = "Config", Icon = "save" }) ConfigTab:ThemeConfig({}) do local Left = LocalSub:Section({ Name = "Local Player", Side = "Left" }) local Anim = LocalSub:Section({ Name = "Animations", Side = "Right" }) local Right = LocalSub:Section({ Name = "Bank", Side = "Right" }) Left:Toggle({ Name = "Instant Interact", Flag = "Main/Local/Instant Interact", Default = Configuration.Local_Player_Related["Instant Interact"], Callback = function(Value) Configuration.Local_Player_Related["Instant Interact"] = Value end, }) Left:Toggle({ Name = "Infinite Stamina", Flag = "Main/Local/Infinite Stamina", Default = Configuration.Local_Player_Related["Infinite Stamina"], Callback = function(Value) Configuration.Local_Player_Related["Infinite Stamina"] = Value end, }) Left:Toggle({ Name = "Infinite Zoom", Flag = "Main/Local/Infinite Zoom", Default = Configuration.Local_Player_Related["Infinite Zoom"], Callback = function(Value) Configuration.Local_Player_Related["Infinite Zoom"] = Value end, }) Left:Toggle({ Name = "Respawn Where You Died", Flag = "Main/Local/Respawn Where You Died", Default = Configuration.Local_Player_Related["Respawn Where You Died"], Callback = function(Value) Configuration.Local_Player_Related["Respawn Where You Died"] = Value end, }) Left:Toggle({ Name = "Hide Name", Flag = "Main/Local/Hide Name", Default = Configuration.Local_Player_Related["Hide Name"], Callback = function(Value) Configuration.Local_Player_Related["Hide Name"] = Value end, }) Left:Toggle({ Name = "Bypass Locked Cars", Flag = "Main/Local/Bypass Locked Cars", Default = Configuration.Local_Player_Related["Bypass Locked Cars"], Callback = function(Value) Configuration.Local_Player_Related["Bypass Locked Cars"] = Value end, }) Left:Toggle({ Name = "Unkickable From Cars", Flag = "Main/Local/Unkickable", Default = Configuration.Local_Player_Related["Unkickable From Cars"], Callback = function(Value) Configuration.Local_Player_Related["Unkickable From Cars"] = Value end, }) Left:Toggle({ Name = "Click To Teleport", Flag = "Main/Local/Click To Teleport", Default = Configuration.Local_Player_Related["Click To Teleport"], Callback = function(Value) Configuration.Local_Player_Related["Click To Teleport"] = Value end, }) local ClickKey = Left:Keybind({ Name = "Click To Teleport Keybind", Flag = "Main/Local/Click Teleport Key", Default = Enum.KeyCode.LeftAlt, }) Track(UserInputService.InputBegan:Connect(function(Input, Processed) if Processed then return end local Key = ClickKey:Get() if Key and Input.KeyCode == Key then Configuration.Local_Player_Related["Click To Teleport Keybind"] = true end end)) Track(UserInputService.InputEnded:Connect(function(Input) local Key = ClickKey:Get() if Key and Input.KeyCode == Key then Configuration.Local_Player_Related["Click To Teleport Keybind"] = false end end)) Left:Toggle({ Name = "Modify Jump Power", Flag = "Main/Local/Modify Jump Power", Default = Configuration.Local_Player_Related["Modify Jump Power"], Callback = function(Value) Configuration.Local_Player_Related["Modify Jump Power"] = Value end, }) Left:Slider({ Name = "Jump Power", Flag = "Main/Local/Jump Power", Min = 0, Max = 75, Decimals = 1, Default = Configuration.Local_Player_Related["Jump Power"], Callback = function(Value) Configuration.Local_Player_Related["Jump Power"] = Value end, }) Left:Toggle({ Name = "Modify Walkspeed", Flag = "Main/Local/Modify Walkspeed", Default = Configuration.Local_Player_Related["Modify Walkspeed"], Callback = function(Value) Configuration.Local_Player_Related["Modify Walkspeed"] = Value end, }) Left:Slider({ Name = "Walkspeed Percentage", Flag = "Main/Local/Walkspeed", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Local_Player_Related["Walkspeed Percentage"] * 100, Suffix = "%", Callback = function(Value) Configuration.Local_Player_Related["Walkspeed Percentage"] = Value / 100 end, }) local Bank_Amount = 5000 local Bank_Action = "Deposit" Right:Textbox({ Name = "Money Amount", Flag = "Main/Bank/Amount", Placeholder = "Enter Money Amount", Default = "5000", Callback = function(Value) local Number = tonumber((Value:gsub("%D", ""))) if Number then Bank_Amount = Number Configuration.Local_Player_Related["Bank Amount"] = Number end end, }) Right:Dropdown({ Name = "Select Bank Action", Flag = "Main/Bank/Action", Options = { "Deposit", "Withdraw" }, Default = "Deposit", Callback = function(Value) if Value then Bank_Action = Value Configuration.Local_Player_Related["Bank Action"] = Value end end, }) local function Bank_Fire(Action, Amount) Remotes:WaitForChild("ATM"):FireServer(Action, Amount) end Right:Button({ Name = "Apply Selected Bank Action", Callback = function() if Bank_Amount <= 0 then return end Bank_Fire(Bank_Action, Bank_Amount) end, }) local function Auto_Bank(Action) return function(Value) Configuration.Local_Player_Related["Auto " .. Action] = Value if not Value then return end task.spawn(function() while Running and Configuration.Local_Player_Related["Auto " .. Action] and Bank_Amount > 0 do pcall(Bank_Fire, Action, Bank_Amount) task.wait(0.1) end end) end end Right:Toggle({ Name = "Auto Deposit", Flag = "Main/Bank/Auto Deposit", Default = Configuration.Local_Player_Related["Auto Deposit"], Callback = Auto_Bank("Deposit"), }) Right:Toggle({ Name = "Auto Withdraw", Flag = "Main/Bank/Auto Withdraw", Default = Configuration.Local_Player_Related["Auto Withdraw"], Callback = Auto_Bank("Withdraw"), }) Anim:Dropdown({ Name = "Animation", Flag = "Main/Anim/Selected", Options = TableSwap(Configuration.Local_Player_Related.Animations), Default = Configuration.Local_Player_Related["Selected Animation"], Callback = function(Value) if Value then Configuration.Local_Player_Related["Selected Animation"] = Value end end, }) Anim:Slider({ Name = "Animation Speed", Flag = "Main/Anim/Speed", Min = 1, Max = 10, Decimals = 1, Default = Configuration.Local_Player_Related["Animation Speed"], Suffix = "x", Callback = function(Value) Configuration.Local_Player_Related["Animation Speed"] = Value end, }) Anim:Button({ Name = "Play Animation", Callback = Configuration.Local_Player_Related["Play Animation"], }) Anim:Button({ Name = "Stop Animation", Callback = Configuration.Local_Player_Related["Stop Animation"], }) end do local Left = TeleportSub:Section({ Name = "Teleports", Side = "Left" }) local Server = TeleportSub:Section({ Name = "Server", Side = "Left" }) local Buy = TeleportSub:Section({ Name = "Purchasing", Side = "Right" }) local Location_List = {} for Name in pairs(Configuration.Locations) do table.insert(Location_List, Name) end for Name in pairs(Configuration.Exteriors) do table.insert(Location_List, Name) end table.sort(Location_List) Left:Dropdown({ Name = "Location", Flag = "Main/Teleport/Location", Options = Location_List, Default = nil, Callback = function(Value) Configuration.Teleport_Related["Teleport Place"] = Value end, }) Left:Button({ Name = "Teleport To Location", Callback = function() local Name = Configuration.Teleport_Related["Teleport Place"] if not Name then Notify({ Name = "Havoc | Teleport", Info = "Select a location.", LifeTime = 5 }) return end if Name == "Scooter 🛴" then local Scooter = Configuration.Teleport_Related["Fetch Scooters"]() if not Scooter then Notify({ Name = "Havoc | Teleport", Info = "No scooter found.", LifeTime = 5 }) return end Configuration.Teleport_Related["Teleport Handler"](Scooter.WorldPivot.Position + Vector3.new(0, 2, 0)) return end local Position = Configuration.Locations[Name] or Configuration.Exteriors[Name] if Position then Configuration.Teleport_Related["Teleport Handler"](Position) end end, }) local ATM_Map = {} local function Refresh_ATM_Table() ATM_Map = {} local List = {} local ATMs = Configuration.Teleport_Related["Fetch ATMs"](true) or {} for Index, ATM in ipairs(ATMs) do local Display = string.format("ATM #%d", Index) table.insert(List, Display) ATM_Map[Display] = ATM end return List end local ATMs = Left:Dropdown({ Name = "Available ATMs", Flag = "Main/Teleport/ATMs", Options = Refresh_ATM_Table(), Default = nil, Callback = function(Value) if Value then Configuration.Teleport_Related["Selected ATM"] = Value Configuration.Teleport_Related["Selected ATM Instance"] = ATM_Map[Value] end end, }) Left:Button({ Name = "Teleport To Selected ATM", Callback = Configuration.Teleport_Related["Teleport To Selected ATM"], }) local Apartments = Left:Dropdown({ Name = "Available Apartments", Flag = "Main/Teleport/Apartments", Options = Configuration.Teleport_Related["Fetch Apartments"]() or {}, Default = nil, Callback = function(Value) Configuration.Teleport_Related["Selected Apartment"] = Value end, }) Left:Button({ Name = "Teleport To Selected Apartment", Callback = function() Configuration.Teleport_Related["Teleport To Selected Apartment"]() end, }) Server:Button({ Name = "Rejoin Server", Callback = function() Services.TeleportService:Teleport(game.PlaceId) end, }) --Server:Label({ Name = "Instant teleport is the default method." }) local GunData = nil local WeaponDropdown = nil local AmmoDropdown = nil local function Price_List(Table) local List = {} for Name, Price in pairs(Table) do table.insert(List, string.format("%s - $%s", Name, GetCommaValue(Price))) end table.sort(List) return List end WeaponDropdown = Buy:Dropdown({ Name = "Select Weapon", Flag = "Main/Teleport/Weapon", Options = {}, Default = nil, Callback = function(Value) if Value then Configuration.Teleport_Related["Selected Gun"] = Value:match("^(.-) %- %$") or Value end end, }) AmmoDropdown = Buy:Dropdown({ Name = "Select Ammo", Flag = "Main/Teleport/Ammo", Options = {}, Default = nil, Callback = function(Value) if Value then Configuration.Teleport_Related["Selected Ammo"] = Value:match("^(.-) %- %$") or Value end end, }) local Purchaseable = {} pcall(function() for _, Name in ipairs(Configuration.Vehicle_Related["Fetch Purchaseable Vehicles"]()) do local Price = Configuration.Vehicle_Related["Check Vehicle Price"](Name) or 0 table.insert(Purchaseable, string.format("%s - $%s", Name, GetCommaValue(Price))) end end) Buy:Dropdown({ Name = "Purchase Vehicles", Flag = "Vehicle/Purchase", Options = Purchaseable, Default = nil, Callback = function(Value) Configuration.Vehicle_Related["Selected Purchaseable Vehicle"] = Value end, }) local ClothingOk, Clothing = pcall(function() return Configuration.Teleport_Related["Fetch Clothing Store Items"]() end) if not ClothingOk or type(Clothing) ~= "table" then Clothing = { Shirts = {}, Pants = {} } end local MaskOk, Masks = pcall(function() return Configuration.Teleport_Related["Fetch Mask Seller Items"]() end) if not MaskOk or type(Masks) ~= "table" then Masks = {} end local Clothing_Options = {} for Name in pairs(Clothing.Shirts) do table.insert(Clothing_Options, Name .. " - Shirt") end for Name in pairs(Clothing.Pants) do table.insert(Clothing_Options, Name .. " - Pants") end for Name in pairs(Masks) do table.insert(Clothing_Options, Name .. " - Mask") end table.sort(Clothing_Options) Buy:Dropdown({ Name = "Select Clothing", Flag = "Main/Teleport/Clothing", Options = Clothing_Options, Default = nil, Callback = function(Value) Configuration.Teleport_Related["Selected Clothing"] = Value end, }) Buy:Slider({ Name = "Weapon Purchase Amount", Flag = "Main/Teleport/Weapon Qty", Min = 1, Max = 10, Decimals = 1, Default = Configuration.Teleport_Related["Purchase Quantity"], Callback = function(Value) Configuration.Teleport_Related["Purchase Quantity"] = Value end, }) Buy:Slider({ Name = "Ammo Purchase Amount", Flag = "Main/Teleport/Ammo Qty", Min = 1, Max = 10, Decimals = 1, Default = Configuration.Teleport_Related["_Purchase Quantity"], Callback = function(Value) Configuration.Teleport_Related["_Purchase Quantity"] = Value end, }) Buy:Button({ Name = "Purchase Weapon", Callback = function() Configuration.Teleport_Related["Purchase Gun"](true, GunData) end, }) Buy:Button({ Name = "Purchase Ammo", Callback = function() Configuration.Teleport_Related["Purchase Gun"](false, GunData) end, }) Buy:Button({ Name = "Purchase Vehicle", Callback = Configuration.Vehicle_Related["Purchase Vehicle"], }) Buy:Button({ Name = "Purchase Clothing", Callback = function() local Value = Configuration.Teleport_Related["Selected Clothing"] if not Value then Notify({ Name = "Havoc | Purchase Clothing", Info = "Select an item first.", LifeTime = 5 }) return end local Base, Kind = Value:match("^(.-) %- (%a+)$") if not Base or not Kind then return end if Kind == "Shirt" then Configuration.Teleport_Related["Selected Shirt"] = Base Configuration.Teleport_Related["Purchase Clothe"](true) elseif Kind == "Pants" then Configuration.Teleport_Related["Selected Pants"] = Base Configuration.Teleport_Related["Purchase Clothe"](false) elseif Kind == "Mask" then Configuration.Teleport_Related["Selected Mask"] = Base Configuration.Teleport_Related["Purchase Mask"](Masks) end end, }) local Way = TeleportSub:Section({ Name = "Waypoints", Side = "Right" }) local WaypointDropdown = Way:Dropdown({ Name = "Waypoints", Flag = "Main/Teleport/Waypoint", Options = Configuration.Teleport_Related["Get Current Waypoints"](), Default = nil, Callback = function(Value) Configuration.Teleport_Related["Selected Waypoint"] = Value end, }) Way:Textbox({ Name = "Waypoint Name", Flag = "Main/Teleport/Waypoint Name", Placeholder = "Waypoint Name", Default = "", Callback = function(Value) Configuration.Teleport_Related["Waypoint Name"] = Value end, }) local function RefreshWaypoints() WaypointDropdown:Refresh(Configuration.Teleport_Related["Get Current Waypoints"]()) end Way:Button({ Name = "Refresh Waypoints", Callback = RefreshWaypoints, }) Way:Button({ Name = "Create Waypoint", Callback = function() Configuration.Teleport_Related["Create Waypoint"]() RefreshWaypoints() end, }) Way:Button({ Name = "Delete Waypoint", Callback = function() Configuration.Teleport_Related["Delete Waypoint"]() RefreshWaypoints() end, }) Way:Button({ Name = "Teleport To Waypoint", Callback = Configuration.Teleport_Related["Teleport To Waypoint"], }) task.spawn(function() while Running do if Configuration.Teleport_Related["Near Gun Store"]() then local Data = Configuration.Teleport_Related["Fetch Gun Store Items"]() if Data then GunData = Data pcall(function() WeaponDropdown:Refresh(Price_List(Data.Weapon)) AmmoDropdown:Refresh(Price_List(Data.Ammo)) end) end end task.wait(1) end end) task.spawn(function() while Running do task.wait(2.5) pcall(function() Apartments:Refresh(Configuration.Teleport_Related["Fetch Apartments"]() or {}) ATMs:Refresh(Refresh_ATM_Table()) if Configuration.Teleport_Related["Selected ATM"] and not ATM_Map[Configuration.Teleport_Related["Selected ATM"]] then Configuration.Teleport_Related["Selected ATM Instance"] = nil end end) end end) end do local Left = PlayerSub:Section({ Name = "Selected Player", Side = "Left" }) local Inv = PlayerSub:Section({ Name = "Inventory Searcher", Side = "Left" }) local Info = PlayerSub:Section({ Name = "Selected Player Info", Side = "Right" }) local Material = PlayerSub:Section({ Name = "Material Changer", Side = "Right" }) local Money = PlayerSub:Section({ Name = "Money Sender", Side = "Right" }) local PriorityDropdown = nil local PlayerDropdown = Left:Dropdown({ Name = "Players", Flag = "Main/Player/Selected", Options = (function() local List = {} for _, Player in ipairs(Players:GetPlayers()) do table.insert(List, Player.Name) end return List end)(), Default = nil, Callback = function(Value) Configuration.Player_Related["Selected Player"] = Value if PriorityDropdown and Value then PriorityDropdown:Set(Configuration.Player_Related.Data[Value] or "Neutral") end end, }) Configuration.Player_Related.Player_Dropdown = PlayerDropdown PriorityDropdown = Left:Dropdown({ Name = "Priority Type", Flag = "Main/Player/Priority", Options = { "Priority", "Neutral", "Friendly" }, Default = "Neutral", Callback = function(Value) local Name = Configuration.Player_Related["Selected Player"] if Name and Value then Configuration.Player_Related.Data[Name] = Value end end, }) Left:Toggle({ Name = "Spectate Player", Flag = "Main/Player/Spectate", Default = Configuration.Player_Related["Spectate Player"], Callback = function(Value) Configuration.Player_Related["Spectate Player"] = Value end, }) Left:Button({ Name = "Teleport To Player", Callback = Configuration.Player_Related["Teleport To Player"], }) Left:Button({ Name = "Kill Player - Hold Gun", Callback = Configuration.Player_Related["Kill Player"], }) Left:Button({ Name = "Steal Player's Vehicle", Callback = Configuration.Player_Related["Steal Player's Vehicle"], }) Left:Button({ Name = "Fling Player's Vehicle", Callback = Configuration.Player_Related["Fling Player's Vehicle"], }) Left:Button({ Name = "Teleport To Player's Vehicle", Callback = Configuration.Player_Related["Teleport To Player's Vehicle"], }) Left:Button({ Name = "Teleport To Player's Apartment", Callback = Configuration.Player_Related["Teleport To Player's Apartment"], }) local Label_Cache = {} local function Fetch_Inventory() local Keyword = Configuration.Player_Related["Search Keyword"] or "" local Results = {} local function Scan(Player) local Bag = Player:FindFirstChild("Backpack") if not Bag then return end for _, Tool in ipairs(Bag:GetChildren()) do if #Keyword < 3 or string.find(string.lower(Tool.Name), string.lower(Keyword), 1, true) then if Configuration.Player_Related["Search Type"] == "All Players" then table.insert(Results, string.format("%s (@%s)", Tool.Name, Player.Name)) else table.insert(Results, Tool.Name) end end end end if Configuration.Player_Related["Search Type"] == "Selected Player" then local Player = Players:FindFirstChild(Configuration.Player_Related["Selected Player"] or "") if Player then Scan(Player) end else for _, Player in ipairs(Players:GetPlayers()) do Scan(Player) end end return Results end local function Refresh() repeat task.wait() until #Label_Cache >= 750 for _, Label in next, Label_Cache do Label:Set("") end local Items = Fetch_Inventory() if Items then for Index, Item in next, Items do if not Label_Cache[Index] then break end Label_Cache[Index]:Set(Item) end end end Inv:Dropdown({ Name = "Searching Mode", Flag = "Main/Player/Searching Mode", Options = { "Selected Player", "All Players" }, Default = Configuration.Player_Related["Search Type"], Callback = function(Value) if Value then Configuration.Player_Related["Search Type"] = Value task.spawn(Refresh) end end, }) Inv:Textbox({ Name = "Search Key Word", Flag = "Main/Player/Keyword", Placeholder = "", Default = Configuration.Player_Related["Search Keyword"], Callback = function(Value) Configuration.Player_Related["Search Keyword"] = Value task.spawn(Refresh) end, }) Inv:Button({ Name = "Refresh List", Callback = Refresh, }) Inv:Label({ Name = "Items:", }) for Index = 1, 750 do local New_Label = Inv:Label({ Name = "", }) table.insert(Label_Cache, New_Label) end local SendSlider = Money:Slider({ Name = "Send Amount", Flag = "Main/Player/Send Amount", Min = 1, Max = 25000, Decimals = 1, Default = Configuration.Player_Related["Send Amount"], Callback = function(Value) Configuration.Player_Related["Send Amount"] = Value end, }) Money:Textbox({ Name = "Send Amount", Flag = "Main/Player/Send Amount Text", Default = "10000", Callback = function(Value) local Number = tonumber((Value:gsub("%D", ""))) if Number then SendSlider:Set(Number) end end, }) Money:Button({ Name = "Send Money", Callback = Configuration.Player_Related["Send Cash"], }) Material:Dropdown({ Name = "Materials", Flag = "Main/Player/Materials", Options = (function() local Table = {} for _, Item in pairs(Enum.Material:GetEnumItems()) do table.insert(Table, (tostring(Item):gsub("Enum.Material.", ""))) end table.sort(Table) return Table end)(), Default = Configuration.Material_Changer["Selected Material"], Callback = function(Value) if Value then Configuration.Material_Changer["Selected Material"] = Value end end, }) Material:Dropdown({ Name = "Parts", Flag = "Main/Player/Material Parts", Options = { "Head", "UpperTorso", "LeftUpperArm", "LeftLowerArm", "RightUpperArm", "RightLowerArm", "LowerTorso", "HumanoidRootPart", "LeftUpperLeg", "LeftLowerLeg", "RightUpperLeg", "RightLowerLeg", "LeftFoot", "RightFoot", }, Multi = true, Default = Configuration.Material_Changer["Selected Parts"], Callback = function(Value) if Value then Configuration.Material_Changer["Selected Parts"] = Value end end, }) Material:Toggle({ Name = "Select All Parts", Flag = "Main/Player/Material All", Default = Configuration.Material_Changer["Select All Parts"], Callback = function(Value) Configuration.Material_Changer["Select All Parts"] = Value end, }) Material:Label({ Name = "Target Color" }) Material:Colorpicker({ Name = "Target Color", Flag = "Main/Player/Material Color", Transparency = 0, Default = Configuration.Material_Changer["Target Color"], Callback = function(Value) Configuration.Material_Changer["Target Color"] = Value end, }) Material:Slider({ Name = "Target Transparency", Flag = "Main/Player/Material Transparency", Suffix = "%", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Material_Changer["Target Transparency"] * 100, Callback = function(Value) Configuration.Material_Changer["Target Transparency"] = Value / 100 end, }) Material:Button({ Name = "Change Material", Callback = Configuration.Material_Changer["Change Material"], }) Material:Button({ Name = "Change Color", Callback = Configuration.Material_Changer["Change Color"], }) Material:Button({ Name = "Change Transparency", Callback = Configuration.Material_Changer["Change Transparency"], }) local HealthLabel = Info:Label({ Name = "Health: N/A" }) local DistanceLabel = Info:Label({ Name = "Distance: N/A" }) local VehicleLabel = Info:Label({ Name = "Vehicle: N/A" }) local ApartmentLabel = Info:Label({ Name = "Apartment: N/A" }) local Info_Ticks = 0 task.spawn(function() while Running do local Name = Configuration.Player_Related["Selected Player"] local Player = Name and Players:FindFirstChild(Name) local Char = Player and Player.Character local Humanoid = Char and Char:FindFirstChildOfClass("Humanoid") local HRP = Char and Char:FindFirstChild("HumanoidRootPart") local MyHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if Humanoid then HealthLabel:Set(string.format("Health: %d / %d", math.floor(Humanoid.Health), math.floor(Humanoid.MaxHealth))) else HealthLabel:Set("Health: N/A") end if HRP and MyHRP then DistanceLabel:Set("Distance: " .. math.floor((MyHRP.Position - HRP.Position).Magnitude) .. " studs") else DistanceLabel:Set("Distance: N/A") end Info_Ticks = Info_Ticks + 1 if Info_Ticks % 8 == 0 then local Vehicles = Workspace:FindFirstChild("Vehicles") local Vehicle = Vehicles and Player and Vehicles:FindFirstChild(Player.Name .. "'s Car") local Apartment = Player and Configuration.Teleport_Related["Fetch Apartments"](Player.Name) VehicleLabel:Set("Vehicle: " .. (Vehicle and "Yes" or "No")) ApartmentLabel:Set("Apartment: " .. (Apartment and "Yes" or "No")) end task.wait(0.25) end end) end do local FarmSettings = Configuration["Autofarm/Money Related"] local JobThreads = {} local function RunJob(Key, Function) if JobThreads[Key] then return end JobThreads[Key] = true task.spawn(function() pcall(Function) JobThreads[Key] = nil end) end local function JobToggle(Section, Name, Key, Function, Flag) Section:Toggle({ Name = Name, Flag = Flag, Default = FarmSettings[Key], Callback = function(Value) FarmSettings[Key] = Value if Value then RunJob(Key, Function) end end, }) end local Jobs = FarmSub:Section({ Name = "Jobs", Side = "Left" }) local Robbery = FarmSub:Section({ Name = "Robbery & Utility", Side = "Left" }) local Crypto = FarmSub:Section({ Name = "Crypto", Side = "Right" }) local Training = FarmSub:Section({ Name = "Training", Side = "Right" }) JobToggle(Jobs, "Autofarm Frosty Job", "Autofarm Frosty J*b", FarmSettings["Frosty J*b"], "Autofarm/Frosty") JobToggle(Jobs, "Autofarm Box Job", "Autofarm Box J*b", FarmSettings["Box J*b"], "Autofarm/Box") JobToggle(Jobs, "Autofarm Delivery Job", "Autofarm Delivery J*b", FarmSettings["Delivery J*b"], "Autofarm/Delivery") JobToggle(Jobs, "Autofarm Cleaning Job", "Autofarm Cleaning J*b", FarmSettings["Cleaning J*b"], "Autofarm/Cleaning") JobToggle(Jobs, "Autofarm Robbing Cars", "Autofarm Robbing Cars", FarmSettings["Robbing Cars"], "Autofarm/Cars") JobToggle(Jobs, "Autofarm Oil Rig", "Autofarm Oil Rig", FarmSettings["Oil Rig"], "Autofarm/Oil") Robbery:Toggle({ Name = "Auto Rob Bank", Flag = "Autofarm/Rob Bank", Default = FarmSettings["Auto Rob Bank"], Callback = function(Value) FarmSettings["Auto Rob Bank"] = Value end, }) Robbery:Toggle({ Name = "Auto Rob Jewelry Store", Flag = "Autofarm/Rob Jewelry", Default = FarmSettings["Auto Rob Jewelry Store"], Callback = function(Value) FarmSettings["Auto Rob Jewelry Store"] = Value end, }) Robbery:Toggle({ Name = "Auto Rob Yacht", Flag = "Autofarm/Rob Yacht", Default = FarmSettings["Auto Rob Yacht"], Callback = function(Value) FarmSettings["Auto Rob Yacht"] = Value end, }) Robbery:Toggle({ Name = "Auto Rob Museum", Flag = "Autofarm/Rob Museum", Default = FarmSettings["Auto Rob Museum"], Callback = function(Value) FarmSettings["Auto Rob Museum"] = Value end, }) Robbery:Toggle({ Name = "Auto Claim Playtime Rewards", Flag = "Autofarm/Playtime", Default = FarmSettings["Auto Claim Playtime Rewards"], Callback = function(Value) FarmSettings["Auto Claim Playtime Rewards"] = Value end, }) Robbery:Toggle({ Name = "Performance Saver", Flag = "Autofarm/Performance", Default = FarmSettings["Performance Saver"], Callback = function(Value) FarmSettings["Performance Saver"] = Value end, }):Colorpicker({ Name = "Performance Saver Color", Flag = "Autofarm/Performance Color", Default = FarmSettings["Performance Saver Color"], Callback = function(Color) FarmSettings["Performance Saver Color"] = Color end, }) Robbery:Toggle({ Name = "Anti Death - Requires Gun", Flag = "Autofarm/Anti Death", Default = FarmSettings["Anti Death"], Callback = function(Value) FarmSettings["Anti Death"] = Value end, }) Robbery:Slider({ Name = "Anti Death Range", Flag = "Autofarm/Anti Death Range", Min = 0, Max = 150, Decimals = 1, Default = FarmSettings["Anti Death Range"], Suffix = " studs", Callback = function(Value) FarmSettings["Anti Death Range"] = Value end, }) Crypto:Toggle({ Name = "Auto Trade Crypto", Flag = "Autofarm/Crypto", Default = FarmSettings["Auto Trade Crypto"], Callback = function(Value) FarmSettings["Auto Trade Crypto"] = Value end, }) Crypto:Dropdown({ Name = "Currency", Flag = "Autofarm/Crypto Currency", Options = { "Bitcoin", "Dogecoin", "Ethereum" }, Default = FarmSettings["Selected Crypto Currency"], Callback = function(Value) if Value then FarmSettings["Selected Crypto Currency"] = Value end end, }) Crypto:Slider({ Name = "Trade Amount", Flag = "Autofarm/Crypto Amount", Min = 1, Max = 20, Decimals = 1, Default = FarmSettings["Trade Amount"], Callback = function(Value) FarmSettings["Trade Amount"] = Value end, }) Crypto:Slider({ Name = "Buy Threshold", Flag = "Autofarm/Crypto Buy", Min = 0, Max = 50, Decimals = 1, Default = FarmSettings["Buy Threshold"], Suffix = "%", Callback = function(Value) FarmSettings["Buy Threshold"] = Value end, }) Crypto:Slider({ Name = "Sell Threshold", Flag = "Autofarm/Crypto Sell", Min = 0, Max = 100, Decimals = 1, Default = FarmSettings["Sell Threshold"], Suffix = "%", Callback = function(Value) FarmSettings["Sell Threshold"] = Value end, }) Training:Toggle({ Name = "Auto Train Strength", Flag = "Autofarm/Strength", Default = FarmSettings["Auto Train Strength"], Callback = function(Value) FarmSettings["Auto Train Strength"] = Value if Value then RunJob("Auto Train Strength", FarmSettings["Train Strength"]) end end, }) Training:Toggle({ Name = "Auto Train Stamina", Flag = "Autofarm/Stamina", Default = FarmSettings["Auto Train Stamina"], Callback = function(Value) FarmSettings["Auto Train Stamina"] = Value if Value then RunJob("Auto Train Stamina", FarmSettings["Train Stamina"]) end end, }) end do local FOV = SelectorSub:Section({ Name = "Field Of View", Side = "Left" }) local Target = SelectorSub:Section({ Name = "Target Highlight", Side = "Left" }) local Checks = SelectorSub:Section({ Name = "Target Checks", Side = "Right" }) FOV:Toggle({ Name = "Enable Field Of View", Flag = "Combat/Target Selector Options/Left_Side/Enable Field Of View", Default = Configuration.Target_Related["Enable FOV"], Callback = function(Value) Configuration.Target_Related["Enable FOV"] = Value end, }) FOV:Toggle({ Name = "Draw Field Of View", Flag = "Combat/Target Selector Options/Left_Side/Draw Field Of View", Default = Configuration.Target_Related["Draw FOV Circle"], Callback = function(Value) Configuration.Target_Related["Draw FOV Circle"] = Value end, }) FOV:Toggle({ Name = "Fill Field Of View", Flag = "Combat/Target Selector Options/Left_Side/Fill Field Of View", Default = Configuration.Target_Related["Fill FOV Circle"], Callback = function(Value) Configuration.Target_Related["Fill FOV Circle"] = Value end, }) FOV:Slider({ Name = "Field Of View Radius", Flag = "Combat/Target Selector Options/Left_Side/Field Of View Radius", Suffix = "px", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Target_Related["FOV Circle Radius"] / 10, Callback = function(Value) Configuration.Target_Related["FOV Circle Radius"] = Value * 10 end, }) FOV:Slider({ Name = "Field Of View NumSides", Flag = "Combat/Target Selector Options/Left_Side/Field Of View NumSides", Suffix = "px", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Target_Related["FOV Circle Sides"], Callback = function(Value) Configuration.Target_Related["FOV Circle Sides"] = Value end, }) Target:Toggle({ Name = "Highlight Target", Flag = "Combat/Selector/Highlight", Default = Configuration.Target_Related["Highlight Target"], Callback = function(Value) Configuration.Target_Related["Highlight Target"] = Value end, }):Colorpicker({ Name = "Highlight Color", Flag = "Combat/Selector/Highlight Color", Default = Configuration.Target_Related["Highlight Color"], Callback = function(Color) Configuration.Target_Related["Highlight Color"] = Color end, }) Target:Slider({ Name = "Highlight Transparency", Flag = "Combat/Selector/Highlight Transparency", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Target_Related["Highlight Transparency"] * 100, Suffix = "%", Callback = function(Value) Configuration.Target_Related["Highlight Transparency"] = Value / 100 end, }) Target:Toggle({ Name = "Draw Snapline", Flag = "Combat/Selector/Snapline", Default = Configuration.Target_Related["Draw Snapline"], Callback = function(Value) Configuration.Target_Related["Draw Snapline"] = Value end, }) Target:Slider({ Name = "Snapline Thickness", Flag = "Combat/Selector/Snapline Thickness", Min = 1, Max = 8, Decimals = 1, Default = Configuration.Target_Related["Snapline Thickness"], Callback = function(Value) Configuration.Target_Related["Snapline Thickness"] = Value end, }) Checks:Toggle({ Name = "Select Player", Flag = "Combat/Selector/Select Player", Default = Configuration.Target_Related["Select Player"], Callback = function(Value) Configuration.Target_Related["Select Player"] = Value end, }) Checks:Toggle({ Name = "Closest Player", Flag = "Combat/Selector/Closest", Default = Configuration.Target_Related["Closest Player"], Callback = function(Value) Configuration.Target_Related["Closest Player"] = Value end, }) Checks:Toggle({ Name = "Health Check", Flag = "Combat/Selector/Health", Default = Configuration.Target_Related["Health Check"], Callback = function(Value) Configuration.Target_Related["Health Check"] = Value end, }) Checks:Slider({ Name = "Minimum Health", Flag = "Combat/Selector/Min Health", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Target_Related["Minimum Health"], Callback = function(Value) Configuration.Target_Related["Minimum Health"] = Value end, }) Checks:Toggle({ Name = "Friend Check", Flag = "Combat/Selector/Friend", Default = Configuration.Target_Related["Friend Check"], Callback = function(Value) Configuration.Target_Related["Friend Check"] = Value end, }) Checks:Toggle({ Name = "Safezone Check", Flag = "Combat/Selector/Safezone", Default = Configuration.Target_Related["Safezone Check"], Callback = function(Value) Configuration.Target_Related["Safezone Check"] = Value end, }) Checks:Toggle({ Name = "Visible Check", Flag = "Combat/Selector/Visible", Default = Configuration.Target_Related["Visible Check"], Callback = function(Value) Configuration.Target_Related["Visible Check"] = Value end, }) Checks:Toggle({ Name = "Distance Check", Flag = "Combat/Selector/Distance", Default = Configuration.Target_Related["Distance Check"], Callback = function(Value) Configuration.Target_Related["Distance Check"] = Value end, }) Checks:Slider({ Name = "Maximum Distance", Flag = "Combat/Selector/Max Distance", Min = 1, Max = 350, Decimals = 1, Default = Configuration.Target_Related["Maximum Distance"], Callback = function(Value) Configuration.Target_Related["Maximum Distance"] = Value end, }) end do local HE = Configuration["Hit Effects"] local Silent = AimbotSub:Section({ Name = "Silent Aim", Side = "Left" }) local EffectsSection = AimbotSub:Section({ Name = "Hit Effects", Side = "Left" }) local Aimlock = AimbotSub:Section({ Name = "Aimlock", Side = "Right" }) local Heads = AimbotSub:Section({ Name = "Head Expanders", Side = "Right" }) Silent:Toggle({ Name = "Silent Aim", Flag = "Combat/Aimbot/Silent", Default = Configuration.Aimbot_Related["Silent Aim"], Callback = function(Value) Configuration.Aimbot_Related["Silent Aim"] = Value end, }) Silent:Toggle({ Name = "Wall Bang", Flag = "Combat/Aimbot/Wallbang", Default = Configuration.Aimbot_Related["Wallbang"], Callback = function(Value) Configuration.Aimbot_Related["Wallbang"] = Value end, }) Silent:Slider({ Name = "Hit Chance", Flag = "Combat/Aimbot/Hit Chance", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Aimbot_Related["Hit Chance"], Suffix = "%", Callback = function(Value) Configuration.Aimbot_Related["Hit Chance"] = Value end, }) Silent:Dropdown({ Name = "Hit Parts", Flag = "Combat/Aimbot/Hit Parts", Options = { "Head", "UpperTorso", "LeftUpperArm", "LeftLowerArm", "RightUpperArm", "RightLowerArm", "LowerTorso", "HumanoidRootPart", "LeftUpperLeg", "LeftLowerLeg", "RightUpperLeg", "RightLowerLeg", "LeftFoot", "RightFoot", }, Multi = true, Default = Configuration.Aimbot_Related["Hit Parts"], Callback = function(Value) if Value and #Value > 0 then Configuration.Aimbot_Related["Hit Parts"] = Value end end, }) EffectsSection:Toggle({ Name = "Enable Hit Marker", Flag = "Enable_Hit_Marker", Default = HE["Enable Hit Marker"], Callback = function(Value) HE["Enable Hit Marker"] = Value end, }) EffectsSection:Colorpicker({ Name = "Hit Marker Color", Flag = "Hit_Marker_Color", Transparency = 0, Default = HE["Hit Marker Color"], Callback = function(Value) HE["Hit Marker Color"] = Value end, }) EffectsSection:Slider({ Name = "Modify Hit Marker Duration", Flag = "Hit_Marker_Duration", Suffix = "s", Min = 1, Max = 10, Decimals = 1, Default = HE["Hit Marker Duration"], Callback = function(Value) HE["Hit Marker Duration"] = Value end, }) EffectsSection:Toggle({ Name = "Enable Hit Effects", Flag = "Enable_Hit_Effects", Default = HE["Enable Hit Effects"], Callback = function(Value) HE["Enable Hit Effects"] = Value end, }) EffectsSection:Dropdown({ Name = "Hit Effect Style", Flag = "Hit_Effect_Style", Options = HE["Hit Effect Styles"], Placeholder = "None Selected", Default = HE["Hit Effect Style"], Callback = function(Value) if Value then HE["Hit Effect Style"] = Value end end, }) EffectsSection:Colorpicker({ Name = "Hit Effect Color", Flag = "Hit_Effect_Color", Transparency = 0, Default = HE["Hit Effect Color"], Callback = function(Value) HE["Hit Effect Color"] = Value end, }) EffectsSection:Slider({ Name = "Hit Effect Life", Flag = "Hit_Effect_Life", Suffix = "s", Min = 0.1, Max = 5, Decimals = 0.1, Default = HE["Hit Effect Life"], Callback = function(Value) HE["Hit Effect Life"] = Value end, }) EffectsSection:Toggle({ Name = "Enable Hit Sounds", Flag = "Combat/Aimbot Options/Left_Side/Enable Hit Sounds", Default = HE["Enable Hit Sounds"], Callback = function(Value) HE["Enable Hit Sounds"] = Value end, }) EffectsSection:Slider({ Name = "Hit Sound Volume", Flag = "Combat/Aimbot Options/Left_Side/Hit Sound Volume", Suffix = "db", Min = 1, Max = 10, Decimals = 1, Default = HE["Hit Sound Volume"], Callback = function(Value) HE["Hit Sound Volume"] = Value end, }) EffectsSection:Dropdown({ Name = "Hit Sound", Flag = "Combat/Aimbot Options/Left_Side/Hit Sound", Options = TableSwap(HE["Hit Sounds"], false), Multi = false, Default = HE["Hit Sound"], Callback = function(Value) if Value then HE["Hit Sound"] = Value end end, }) EffectsSection:Toggle({ Name = "Enable Damage Numbers", Flag = "Combat/Aimbot Options/Left_Side/Enable Damage Numbers", Default = HE["Enable Damage Numbers"], Callback = function(Value) HE["Enable Damage Numbers"] = Value end, }):Colorpicker({ Name = "Damage Number Color", Flag = "Combat/Aimbot Options/Left_Side/Damage Number Color", Transparency = 0, Default = HE["Damage Number Color"], Callback = function(Value) HE["Damage Number Color"] = Value end, }) EffectsSection:Slider({ Name = "Damage Number Size", Flag = "Combat/Aimbot Options/Left_Side/Damage Number Size", Min = 10, Max = 48, Decimals = 1, Default = HE["Damage Number Size"], Callback = function(Value) HE["Damage Number Size"] = Value end, }) EffectsSection:Slider({ Name = "Damage Number Duration", Flag = "Combat/Aimbot Options/Left_Side/Damage Number Duration", Suffix = "s", Min = 0.5, Max = 5, Decimals = 0.1, Default = HE["Damage Number Duration"], Callback = function(Value) HE["Damage Number Duration"] = Value end, }) EffectsSection:Toggle({ Name = "Enable Hit Notifications", Flag = "Combat/Aimbot Options/Left_Side/Enable Hit Notifications", Default = HE["Enable Hit Notifications"], Callback = function(Value) HE["Enable Hit Notifications"] = Value end, }) EffectsSection:Slider({ Name = "Hit Notification Duration", Flag = "Combat/Aimbot Options/Left_Side/Hit Notification Duration", Suffix = "s", Min = 1, Max = 10, Decimals = 1, Default = HE["Hit Notification Duration"], Callback = function(Value) HE["Hit Notification Duration"] = Value end, }) EffectsSection:Button({ Name = "Preview Hit Sound", Callback = Hit_Effects.PlaySound, }) EffectsSection:Button({ Name = "Preview Hit Notification", Callback = Hit_Effects.PreviewNotification, }) Aimlock:Toggle({ Name = "Aimlock", Flag = "Combat/Aimbot/Aimlock", Default = Configuration.Aimbot_Related["Aimlock"], Callback = function(Value) Configuration.Aimbot_Related["Aimlock"] = Value end, }) local AimKey = Aimlock:Keybind({ Name = "Aimlock Keybind", Flag = "Combat/Aimbot/Aimlock Key", Default = Enum.KeyCode.E, }) Track(UserInputService.InputBegan:Connect(function(Input, Processed) if Processed then return end local Key = AimKey:Get() if Key and Input.KeyCode == Key then Configuration.Aimbot_Related["Aimlock Keybind"] = true end end)) Track(UserInputService.InputEnded:Connect(function(Input) local Key = AimKey:Get() if Key and Input.KeyCode == Key then Configuration.Aimbot_Related["Aimlock Keybind"] = false end end)) Aimlock:Slider({ Name = "Aimlock Smoothness", Flag = "Combat/Aimbot/Smoothness", Suffix = "%", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Aimbot_Related["Aimlock Smoothness"] * 100, Callback = function(Value) Configuration.Aimbot_Related["Aimlock Smoothness"] = Value / 100 end, }) Aimlock:Dropdown({ Name = "Hit Part", Flag = "Combat/Aimbot/Hit Part", Options = { "Head", "UpperTorso", "LeftUpperArm", "LeftLowerArm", "RightUpperArm", "RightLowerArm", "LowerTorso", "HumanoidRootPart", "LeftUpperLeg", "LeftLowerLeg", "RightUpperLeg", "RightLowerLeg", "LeftFoot", "RightFoot", }, Default = Configuration.Aimbot_Related["Hit Part"], Callback = function(Value) if Value then Configuration.Aimbot_Related["Hit Part"] = Value end end, }) Heads:Toggle({ Name = "Enable Head Expanders", Flag = "Combat/Aimbot/Head Expander", Default = Configuration.Aimbot_Related["Enable Head Expanders"], Callback = function(Value) Configuration.Aimbot_Related["Enable Head Expanders"] = Value end, }) Heads:Slider({ Name = "Head Size Multiplier", Flag = "Combat/Aimbot/Head Size", Min = 1, Max = 10, Decimals = 1, Default = Configuration.Aimbot_Related["Head Size Multiplier"], Callback = function(Value) Configuration.Aimbot_Related["Head Size Multiplier"] = Value end, }) Heads:Toggle({ Name = "Enable Head Transparency", Flag = "Combat/Aimbot/Head Transparency", Default = Configuration.Aimbot_Related["Enable Head Transparency"], Callback = function(Value) Configuration.Aimbot_Related["Enable Head Transparency"] = Value end, }) Heads:Slider({ Name = "Head Transparency", Flag = "Combat/Aimbot/Head Transparency Value", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Aimbot_Related["Head Transparency"] * 100, Suffix = "%", Callback = function(Value) Configuration.Aimbot_Related["Head Transparency"] = Value / 100 end, }) Heads:Toggle({ Name = "Ignore Dead People", Flag = "Combat/Aimbot/Ignore Dead", Default = Configuration.Aimbot_Related["Ignore Dead People"], Callback = function(Value) Configuration.Aimbot_Related["Ignore Dead People"] = Value end, }) end do local Mods = GunSub:Section({ Name = "Weapon Modifications", Side = "Left" }) local Values = GunSub:Section({ Name = "Modification Values", Side = "Right" }) local Aura = GunSub:Section({ Name = "Kill Aura", Side = "Right" }) --Mods:Toggle({ -- Name = "No Bullet Drop (Infinite Ammo)", -- Flag = "Combat/Gun/No Drop", -- Default = Configuration.Gun_Related["No Bullet Drop"], -- Callback = function(Value) -- Configuration.Gun_Related["No Bullet Drop"] = Value -- end, --}) Mods:Toggle({ Name = "Infinite Range", Flag = "Combat/Gun/Max Range", Default = Configuration.Gun_Related["Maximum Range"], Callback = function(Value) Configuration.Gun_Related["Maximum Range"] = Value end, }) Mods:Toggle({ Name = "Instant Bullet", Flag = "Combat/Gun/Instant Bullet", Default = Configuration.Gun_Related["Instant Bullet"], Callback = function(Value) Configuration.Gun_Related["Instant Bullet"] = Value end, }) Mods:Toggle({ Name = "Instant Reload", Flag = "Combat/Gun/Instant Reload", Default = Configuration.Gun_Related["Instant Reload"], Callback = function(Value) Configuration.Gun_Related["Instant Reload"] = Value end, }) Mods:Toggle({ Name = "Instant Equip", Flag = "Combat/Gun/Instant Equip", Default = Configuration.Gun_Related["Instant Equip"], Callback = function(Value) Configuration.Gun_Related["Instant Equip"] = Value end, }) Mods:Toggle({ Name = "Fully Automatic", Flag = "Combat/Gun/Automatic", Default = Configuration.Gun_Related["Automatic"], Callback = function(Value) Configuration.Gun_Related["Automatic"] = Value end, }) Mods:Toggle({ Name = "Modify Fire Rate", Flag = "Combat/Gun/Fire Rate", Default = Configuration.Gun_Related["Modify FireRate"], Callback = function(Value) Configuration.Gun_Related["Modify FireRate"] = Value end, }) Mods:Toggle({ Name = "Modify Spread", Flag = "Combat/Gun/Spread", Default = Configuration.Gun_Related["Modify Spread"], Callback = function(Value) Configuration.Gun_Related["Modify Spread"] = Value end, }) Mods:Toggle({ Name = "Modify Recoil", Flag = "Combat/Gun/Recoil", Default = Configuration.Gun_Related["Modify Recoil"], Callback = function(Value) Configuration.Gun_Related["Modify Recoil"] = Value end, }) Mods:Toggle({ Name = "No Jam", Flag = "Combat/Gun/No Jam", Default = Configuration.Gun_Related["No Jam"], Callback = function(Value) Configuration.Gun_Related["No Jam"] = Value end, }) Values:Slider({ Name = "Fire Rate Percentage", Flag = "Combat/Gun/Fire %", Min = 5, Max = 100, Decimals = 1, Default = Configuration.Gun_Related["FireRate Percentage"] * 100, Suffix = "%", Callback = function(Value) Configuration.Gun_Related["FireRate Percentage"] = Value / 100 end, }) Values:Slider({ Name = "Spread Percentage", Flag = "Combat/Gun/Spread %", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Gun_Related["Spread Percentage"] * 100, Suffix = "%", Callback = function(Value) Configuration.Gun_Related["Spread Percentage"] = Value / 100 end, }) Values:Slider({ Name = "Recoil Percentage", Flag = "Combat/Gun/Recoil %", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Gun_Related["Recoil Percentage"] * 100, Suffix = "%", Callback = function(Value) Configuration.Gun_Related["Recoil Percentage"] = Value / 100 end, }) Aura:Toggle({ Name = "Kill Aura - Hold Gun", Flag = "Combat/Gun/Kill Aura", Default = Configuration.Gun_Related["Kill Aura"], Callback = function(Value) Configuration.Gun_Related["Kill Aura"] = Value end, }) Aura:Slider({ Name = "Kill Aura Range", Flag = "Combat/Gun/Aura Range", Min = 0, Max = 350, Decimals = 1, Default = Configuration.Gun_Related["Max Range"], Suffix = " studs", Callback = function(Value) Configuration.Gun_Related["Max Range"] = Value end, }) end do --// Player Visuals local ESPTab = PlayerVisuals local LPH_NO_VIRTUALIZE = getgenv().LPH_NO_VIRTUALIZE or function(Function) return Function end local Player = ESPTab:Section({ Name = "Player ESP", Side = "Left" }) local PlayerSettings = ESPTab:Section({ Name = "Player ESP Settings", Side = "Right" }) getgenv().Config = { Box = { Enable = false, Type = 'Full', Font = 'ProggyClean', Color = Color3.fromRGB(255, 255, 255), Filled = { Enable = false, Color = Color3.fromRGB(255, 255, 255), Opacity = 0.3, } }, Text = { Enable = false, Name = { Enable = true, Color = Color3.fromRGB(255, 255, 255); }, Studs = { Enable = true, Color = Color3.fromRGB(255, 255, 255); }, Tool = { Enable = true, Color = Color3.fromRGB(255, 255, 255); }, }, Bars = { Enable = false, Health = { Enable = true, Lerp = true; Color1 = Color3.fromRGB(0, 255, 0); Color2 = Color3.fromRGB(255, 255, 0), Color3 = Color3.fromRGB(255, 0, 0) }, Armor = { Enable = false, Lerp = true; Color1 = Color3.fromRGB(0, 0, 255); Color2 = Color3.fromRGB(135, 206, 235), Color3 = Color3.fromRGB(1, 0, 0) } } } local Config = getgenv().Config local gui_inset = game:GetService("GuiService"):GetGuiInset() local utility, connections, cache = {}, {}, {}; local PlayerCount = 0; utility.funcs = utility.funcs or {}; local HAVOC_FONT = Font.fromEnum(Enum.Font.GothamMedium) utility.funcs.make_text = function(p) local d = Instance.new("TextLabel") d.Parent = p d.Size = UDim2.new(0, 260, 0, 16) d.AnchorPoint = Vector2.new(0.5, 0.5) d.Position = UDim2.new(0, 0, 0, 0) d.BackgroundTransparency = 1 d.TextXAlignment = Enum.TextXAlignment.Center d.TextYAlignment = Enum.TextYAlignment.Center d.TextColor3 = Color3.fromRGB(255,255,255) d.TextStrokeTransparency = 0 d.TextScaled = false d.TextSize = 13 d.TextStrokeColor3 = Color3.fromRGB(0,0,0) d.FontFace = HAVOC_FONT d.Visible = false return d end local function make_bar(Parent, Settings) local outline = Instance.new("Frame") outline.BackgroundColor3 = Color3.new(0, 0, 0) outline.BorderSizePixel = 0 outline.BackgroundTransparency = 0.2 outline.Name = "Outline" outline.Visible = false outline.Parent = Parent local fill = Instance.new("Frame") fill.BackgroundTransparency = 0 fill.BorderSizePixel = 0 fill.Name = "Fill" fill.Parent = outline local gradient = Instance.new("UIGradient", fill) gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Settings.Color1), ColorSequenceKeypoint.new(0.5, Settings.Color2), ColorSequenceKeypoint.new(1, Settings.Color3) }) gradient.Rotation = 90 return { Outline = outline, Frame = fill, Gradient = gradient } end utility.funcs.render = LPH_NO_VIRTUALIZE(function(player) if not player or player == LocalPlayer then return end if cache[player] then return end local Gui = Instance.new("ScreenGui") Gui.Name = player.Name .. "_HavocESP" Gui.ResetOnSpawn = false Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling Gui.DisplayOrder = 9999 Gui.Parent = GetHui() local Filled = Instance.new("Frame") Filled.Name = "Filled" Filled.BackgroundColor3 = Config.Box.Filled.Color Filled.BackgroundTransparency = Config.Box.Filled.Opacity Filled.BorderSizePixel = 0 Filled.Visible = false Filled.Parent = Gui PlayerCount += 1 cache[player] = { Gui = Gui, Box = { Full = { Square = Drawing.new("Square"), Inline = Drawing.new("Square"), Outline = Drawing.new("Square"), Filled = Filled, } }, Text = { Name = utility.funcs.make_text(Gui), Studs = utility.funcs.make_text(Gui), Tool = utility.funcs.make_text(Gui), }, Bars = { Health = make_bar(Gui, Config.Bars.Health), Armor = make_bar(Gui, Config.Bars.Armor), }, LastHealth = 1, LastArmor = 1, } end) utility.funcs.clear_esp = LPH_NO_VIRTUALIZE(function(player) local Player_Cache = cache[player] if not Player_Cache then return end if Player_Cache.Box and Player_Cache.Box.Full then Player_Cache.Box.Full.Square.Visible = false Player_Cache.Box.Full.Outline.Visible = false Player_Cache.Box.Full.Inline.Visible = false if Player_Cache.Box.Full.Filled then Player_Cache.Box.Full.Filled.Visible = false end end if Player_Cache.Text then for _, Label in pairs(Player_Cache.Text) do Label.Visible = false end end if Player_Cache.Bars then for _, Bar in pairs(Player_Cache.Bars) do Bar.Outline.Visible = false Bar.Frame.Visible = false end end end) utility.funcs.destroy_esp = LPH_NO_VIRTUALIZE(function(player) local Player_Cache = cache[player] if not Player_Cache then return end pcall(function() Player_Cache.Box.Full.Square:Remove() Player_Cache.Box.Full.Inline:Remove() Player_Cache.Box.Full.Outline:Remove() end) if Player_Cache.Gui then pcall(function() Player_Cache.Gui:Destroy() end) end if cache[player] then PlayerCount -= 1 end cache[player] = nil end) local function passes_checks(character, rootPart, humanoid, distance) local Checks = Config.TargetChecks if not Checks then return true end if Checks.HealthCheck and humanoid.Health <= 0 then return false end if Checks.FriendCheck then local Owner = Players:GetPlayerFromCharacter(character) if Owner and LocalPlayer:IsFriendsWith(Owner.UserId) then return false end end if Checks.SafezoneCheck and character:FindFirstChild("SafeZoneShield") then return false end if Checks.DistanceCheck then local Maximum = Configuration.Target_Related["Maximum Distance"] or 500 if distance > Maximum then return false end end if Checks.VisibleCheck then local Camera = workspace.CurrentCamera local Params = RaycastParams.new() Params.FilterType = Enum.RaycastFilterType.Blacklist Params.FilterDescendantsInstances = { character, LocalPlayer.Character } if Camera and workspace:Raycast(Camera.CFrame.Position, rootPart.Position - Camera.CFrame.Position, Params) then return false end end return true end utility.funcs.update = LPH_NO_VIRTUALIZE(function(player) local playerCache = cache[player] if not player or not playerCache then return end if not playerCache.Box or not playerCache.Box.Full then return end local character = player.Character local humanoid = character and character:FindFirstChildWhichIsA("Humanoid") local rootPart = character and character:FindFirstChild("HumanoidRootPart") if not character or not rootPart or not humanoid or humanoid.Health <= 0 then utility.funcs.clear_esp(player) return end local Camera = workspace.CurrentCamera if not Camera then return end local CameraPosition = Camera.CFrame.Position local ToTarget = rootPart.Position - CameraPosition local distance = ToTarget.Magnitude if distance > 2000 or distance < 0.1 then utility.funcs.clear_esp(player) return end if Camera.CFrame.LookVector:Dot(ToTarget.Unit) < 0.1 then utility.funcs.clear_esp(player) return end local hrp2D, onScreen = Camera:WorldToViewportPoint(rootPart.Position) if not onScreen or hrp2D.Z <= 0 then utility.funcs.clear_esp(player) return end if not passes_checks(character, rootPart, humanoid, distance) then utility.funcs.clear_esp(player) return end local PixelsPerStud = Camera.ViewportSize.Y / (2 * distance * math.tan(math.rad(Camera.FieldOfView) * 0.5)) local size = Vector2.new(math.floor(PixelsPerStud * 3), math.floor(PixelsPerStud * 6.4)) local position = Vector2.new(math.floor(hrp2D.X - PixelsPerStud * 1.5), math.floor(hrp2D.Y - PixelsPerStud * 3)) if size.X < 1 or size.Y < 1 then utility.funcs.clear_esp(player) return end if Config.Box.Enable then local fullBox = playerCache.Box.Full local square, outline, inline, filled = fullBox.Square, fullBox.Outline, fullBox.Inline, fullBox.Filled square.Visible = true square.Position = position square.Size = size square.Color = Config.Box.Color square.Thickness = 0.5 square.Filled = false outline.Visible = true outline.Position = position - Vector2.new(1, 1) outline.Size = size + Vector2.new(2, 2) outline.Color = Color3.new(0, 0, 0) outline.Thickness = 1 outline.Filled = false inline.Visible = true inline.Position = position + Vector2.new(1, 1) inline.Size = size - Vector2.new(2, 2) inline.Color = Color3.new(0, 0, 0) inline.Thickness = 1 inline.Filled = false if Config.Box.Filled.Enable and filled then filled.Position = UDim2.new(0, position.X, 0, position.Y - gui_inset.Y) filled.Size = UDim2.new(0, size.X, 0, size.Y) filled.BackgroundColor3 = Config.Box.Filled.Color filled.BackgroundTransparency = Config.Box.Filled.Opacity filled.Visible = true elseif filled then filled.Visible = false end else local fullBox = playerCache.Box.Full if fullBox then fullBox.Square.Visible = false fullBox.Outline.Visible = false fullBox.Inline.Visible = false if fullBox.Filled then fullBox.Filled.Visible = false end end end local bar_height = size.Y local bar_width = 3 local base_x = position.X local y = position.Y - gui_inset.Y if Config.Bars.Enable and Config.Bars.Health.Enable and humanoid then local targetHealth = math.clamp(humanoid.Health / math.max(humanoid.MaxHealth, 1), 0, 1) if Config.Bars.Health.Lerp then playerCache.LastHealth = playerCache.LastHealth + (targetHealth - playerCache.LastHealth) * 0.05 targetHealth = playerCache.LastHealth else playerCache.LastHealth = targetHealth end local x = base_x - (bar_width + 4) local outline = playerCache.Bars.Health.Outline local fill = playerCache.Bars.Health.Frame outline.Visible = true outline.Position = UDim2.new(0, x - 1, 0, y - 1) outline.Size = UDim2.new(0, bar_width + 2, 0, bar_height + 1.1) outline.BackgroundTransparency = 0.2 fill.Visible = true fill.Position = UDim2.new(0, 1, 0, (1 - targetHealth) * bar_height + 1) fill.Size = UDim2.new(0, bar_width, 0, targetHealth * bar_height) else playerCache.Bars.Health.Outline.Visible = false playerCache.Bars.Health.Frame.Visible = false end if Config.Text.Enable then local nameLabel = playerCache.Text.Name local toolLabel = playerCache.Text.Tool local studsLabel = playerCache.Text.Studs local textOffset = 15 local baseX = position.X + (size.X / 2) local baseY = position.Y - gui_inset.Y nameLabel.Visible = Config.Text.Name.Enable if Config.Text.Name.Enable then nameLabel.Text = player.Name nameLabel.TextColor3 = Config.Text.Name.Color nameLabel.Position = UDim2.new(0, baseX, 0, baseY - textOffset + 6) end toolLabel.Visible = Config.Text.Tool.Enable if Config.Text.Tool.Enable then local tool = character:FindFirstChildOfClass("Tool") toolLabel.Text = tool and tool.Name or "none" toolLabel.TextColor3 = Config.Text.Tool.Color toolLabel.Position = UDim2.new(0, baseX, 0, baseY + size.Y + 15) end studsLabel.Visible = Config.Text.Studs.Enable if Config.Text.Studs.Enable then studsLabel.Text = math.floor(distance * 0.28) .. "m" studsLabel.TextColor3 = Config.Text.Studs.Color studsLabel.Position = UDim2.new(0, baseX, 0, baseY + size.Y + 5) end else playerCache.Text.Name.Visible = false playerCache.Text.Tool.Visible = false playerCache.Text.Studs.Visible = false end if Config.Bars.Enable and Config.Bars.Armor.Enable then local bodyEffects = playerCache.BodyEffects if not bodyEffects or bodyEffects.Parent ~= character then bodyEffects = character:FindFirstChild("BodyEffects") playerCache.BodyEffects = bodyEffects end local values = bodyEffects and bodyEffects:FindFirstChild("Armor") local targetArmor = values and math.clamp(values.Value / 130, 0, 1) or 0 if Config.Bars.Armor.Lerp then playerCache.LastArmor = playerCache.LastArmor + (targetArmor - playerCache.LastArmor) * 0.05 targetArmor = playerCache.LastArmor else playerCache.LastArmor = targetArmor end local x = base_x - (bar_width * 2 + 6 + 2) local outline = playerCache.Bars.Armor.Outline local fill = playerCache.Bars.Armor.Frame outline.Visible = true outline.Position = UDim2.new(0, x - 1, 0, y - 1) outline.Size = UDim2.new(0, bar_width + 2, 0, bar_height + 1.1) outline.BackgroundTransparency = 0.2 fill.Visible = true fill.Position = UDim2.new(0, 1, 0, (1 - targetArmor) * bar_height + 1) fill.Size = UDim2.new(0, bar_width, 0, targetArmor * bar_height) else playerCache.Bars.Armor.Outline.Visible = false playerCache.Bars.Armor.Frame.Visible = false end end) for _, player in ipairs(Players:GetPlayers()) do utility.funcs.render(player) end connections.render = connections.render or {} table.insert(connections.render, Players.PlayerAdded:Connect(function(player) utility.funcs.render(player) end)) table.insert(connections.render, Players.PlayerRemoving:Connect(function(player) utility.funcs.destroy_esp(player) end)) local Cleared = false local FrameCounter = 0 connections.main = connections.main or {} connections.main.RenderStepped = RunService.Heartbeat:Connect(function() if not Config.Box.Enable and not Config.Text.Enable and not Config.Bars.Enable then if not Cleared then for player in pairs(cache) do utility.funcs.clear_esp(player) end Cleared = true end return end Cleared = false FrameCounter += 1 if PlayerCount > 10 and FrameCounter % 2 ~= 0 then return end for player in pairs(cache) do pcall(utility.funcs.update, player) end end) local function UnloadESP() for _, Connection in ipairs(connections.render) do pcall(function() Connection:Disconnect() end) end pcall(function() connections.main.RenderStepped:Disconnect() end) for player in pairs(cache) do utility.funcs.destroy_esp(player) end end getgenv().HavocSLR_ESP = { Unload = UnloadESP, Cache = cache, } getgenv().ESP = getgenv().HavocSLR_ESP local BoxSection = ESPTab:Section({ Name = "Box", Side = "Left" }) BoxSection:Toggle({ Name = "Box Enabled", Flag = "Visuals/ESP/Box/Enable", Default = Config.Box.Enable, Callback = function(val) Config.Box.Enable = val end }) BoxSection:Colorpicker({ Name = "Box Color", Flag = "Visuals/ESP/Box/Color", Transparency = 0, Default = Config.Box.Color, Callback = function(val) Config.Box.Color = val end }) local FilledSection = ESPTab:Section({ Name = "Filled Box", Side = "Left" }) FilledSection:Toggle({ Name = "Filled Enabled", Flag = "Visuals/ESP/Filled/Enable", Default = Config.Box.Filled.Enable, Callback = function(val) Config.Box.Filled.Enable = val end }) FilledSection:Colorpicker({ Name = "Fill Color", Flag = "Visuals/ESP/Filled/Color", Transparency = 0, Default = Config.Box.Filled.Color, Callback = function(val) Config.Box.Filled.Color = val end }) FilledSection:Slider({ Name = "Fill Opacity", Flag = "Visuals/ESP/Filled/Opacity", Suffix = "%", Min = 0, Max = 100, Decimals = 1, Default = (1 - Config.Box.Filled.Opacity) * 100, Callback = function(val) Config.Box.Filled.Opacity = 1 - (val / 100) end }) local SettingsSection = ESPTab:Section({ Name = "Settings", Side = "Left" }) SettingsSection:Toggle({ Name = "Health Check", Flag = "Visuals/ESP/Settings/HealthCheck", Default = false, Callback = function(val) Config.TargetChecks = Config.TargetChecks or {} Config.TargetChecks.HealthCheck = val end }) SettingsSection:Toggle({ Name = "Friend Check", Flag = "Visuals/ESP/Settings/FriendCheck", Default = false, Callback = function(val) Config.TargetChecks = Config.TargetChecks or {} Config.TargetChecks.FriendCheck = val end }) SettingsSection:Toggle({ Name = "Safezone Check", Flag = "Visuals/ESP/Settings/SafezoneCheck", Default = false, Callback = function(val) Config.TargetChecks = Config.TargetChecks or {} Config.TargetChecks.SafezoneCheck = val end }) SettingsSection:Toggle({ Name = "Visible Check", Flag = "Visuals/ESP/Settings/VisibleCheck", Default = false, Callback = function(val) Config.TargetChecks = Config.TargetChecks or {} Config.TargetChecks.VisibleCheck = val end }) SettingsSection:Toggle({ Name = "Distance Check", Flag = "Visuals/ESP/Settings/DistanceCheck", Default = false, Callback = function(val) Config.TargetChecks = Config.TargetChecks or {} Config.TargetChecks.DistanceCheck = val end }) local TextSection = ESPTab:Section({ Name = "Text", Side = "Right" }) TextSection:Toggle({ Name = "Text Enabled", Flag = "Visuals/ESP/Text/Enable", Default = Config.Text.Enable, Callback = function(val) Config.Text.Enable = val end }) TextSection:Toggle({ Name = "Show Name", Flag = "Visuals/ESP/Text/Name/Enable", Default = Config.Text.Name.Enable, Callback = function(val) Config.Text.Name.Enable = val end }) TextSection:Colorpicker({ Name = "Name Color", Flag = "Visuals/ESP/Text/Name/Color", Transparency = 0, Default = Config.Text.Name.Color, Callback = function(val) Config.Text.Name.Color = val end }) TextSection:Toggle({ Name = "Show Studs", Flag = "Visuals/ESP/Text/Studs/Enable", Default = Config.Text.Studs.Enable, Callback = function(val) Config.Text.Studs.Enable = val end }) TextSection:Colorpicker({ Name = "Studs Color", Flag = "Visuals/ESP/Text/Studs/Color", Transparency = 0, Default = Config.Text.Studs.Color, Callback = function(val) Config.Text.Studs.Color = val end }) TextSection:Toggle({ Name = "Show Tool", Flag = "Visuals/ESP/Text/Tool/Enable", Default = Config.Text.Tool.Enable, Callback = function(val) Config.Text.Tool.Enable = val end }) TextSection:Colorpicker({ Name = "Tool Color", Flag = "Visuals/ESP/Text/Tool/Color", Transparency = 0, Default = Config.Text.Tool.Color, Callback = function(val) Config.Text.Tool.Color = val end }) local BarsSection = ESPTab:Section({ Name = "Bars", Side = "Right" }) BarsSection:Toggle({ Name = "Bars Enabled", Flag = "Visuals/ESP/Bars/Enable", Default = Config.Bars.Enable, Callback = function(val) Config.Bars.Enable = val end }) BarsSection:Toggle({ Name = "Health Bar", Flag = "Visuals/ESP/Bars/Health/Enable", Default = Config.Bars.Health.Enable, Callback = function(val) Config.Bars.Health.Enable = val end }) BarsSection:Toggle({ Name = "Health Lerp", Flag = "Visuals/ESP/Bars/Health/Lerp", Default = Config.Bars.Health.Lerp, Callback = function(val) Config.Bars.Health.Lerp = val end }) BarsSection:Colorpicker({ Name = "Health Color1", Flag = "Visuals/ESP/Bars/Health/C1", Transparency = 0, Default = Config.Bars.Health.Color1, Callback = function(val) Config.Bars.Health.Color1 = val end }) BarsSection:Colorpicker({ Name = "Health Color2", Flag = "Visuals/ESP/Bars/Health/C2", Transparency = 0, Default = Config.Bars.Health.Color2, Callback = function(val) Config.Bars.Health.Color2 = val end }) BarsSection:Colorpicker({ Name = "Health Color3", Flag = "Visuals/ESP/Bars/Health/C3", Transparency = 0, Default = Config.Bars.Health.Color3, Callback = function(val) Config.Bars.Health.Color3 = val end }) end do local Left = WorldSub:Section({ Name = "Lighting", Side = "Left" }) local Tracers = WorldSub:Section({ Name = "Bullet Tracers", Side = "Right" }) local Camera = WorldSub:Section({ Name = "Camera", Side = "Right" }) Left:Toggle({ Name = "Full Bright", Flag = "Visuals/World/Full Bright", Default = Configuration.Visuals_Related["Full Bright"], Callback = function(Value) Configuration.Visuals_Related["Full Bright"] = Value end, }) Left:Toggle({ Name = "Disable Global Shadows", Flag = "Visuals/World/Shadows", Default = Configuration.Visuals_Related["Disable Global Shadows"], Callback = function(Value) Configuration.Visuals_Related["Disable Global Shadows"] = Value end, }) Left:Toggle({ Name = "Change Clocktime", Flag = "Visuals/World/Clock", Default = Configuration.Visuals_Related["Change Clocktime"], Callback = function(Value) Configuration.Visuals_Related["Change Clocktime"] = Value end, }) Left:Slider({ Name = "Clocktime", Flag = "Visuals/World/Clocktime", Min = 1, Max = 24, Decimals = 1, Default = Configuration.Visuals_Related.Clocktime, Callback = function(Value) Configuration.Visuals_Related.Clocktime = Value end, }) Left:Toggle({ Name = "Change Fog End", Flag = "Visuals/World/Fog End", Default = Configuration.Visuals_Related["Change Fog End"], Callback = function(Value) Configuration.Visuals_Related["Change Fog End"] = Value end, }) Left:Slider({ Name = "Fog End", Flag = "Visuals/World/Fog End Value", Min = 0, Max = 5000, Decimals = 1, Default = Configuration.Visuals_Related["Fog End"], Callback = function(Value) Configuration.Visuals_Related["Fog End"] = Value end, }) Left:Toggle({ Name = "Change Fog Start", Flag = "Visuals/World/Fog Start", Default = Configuration.Visuals_Related["Change Fog Start"], Callback = function(Value) Configuration.Visuals_Related["Change Fog Start"] = Value end, }) Left:Slider({ Name = "Fog Start", Flag = "Visuals/World/Fog Start Value", Min = 0, Max = 1000, Decimals = 1, Default = Configuration.Visuals_Related["Fog Start"], Callback = function(Value) Configuration.Visuals_Related["Fog Start"] = Value end, }) Left:Toggle({ Name = "Change Saturation", Flag = "Visuals/World/Saturation", Default = Configuration.Visuals_Related["Change Saturation"], Callback = function(Value) Configuration.Visuals_Related["Change Saturation"] = Value end, }) Left:Slider({ Name = "Saturation Value", Flag = "Visuals/World/Saturation Value", Min = 0, Max = 100, Decimals = 1, Default = Configuration.Visuals_Related["Saturation Value"] * 100, Suffix = "%", Callback = function(Value) Configuration.Visuals_Related["Saturation Value"] = Value / 100 end, }) Left:Toggle({ Name = "Change Ambiency", Flag = "Visuals/World/Ambiency", Default = Configuration.Visuals_Related["Change Ambiency"], Callback = function(Value) Configuration.Visuals_Related["Change Ambiency"] = Value end, }):Colorpicker({ Name = "Ambiency Color", Flag = "Visuals/World/Ambiency Color", Default = Configuration.Visuals_Related["Ambiency Color"], Callback = function(Color) Configuration.Visuals_Related["Ambiency Color"] = Color end, }) Tracers:Toggle({ Name = "Create Bullet Tracers", Flag = "Visuals/World/Tracers", Default = Configuration.Visuals_Related["Create Bullet Tracers"], Callback = function(Value) Configuration.Visuals_Related["Create Bullet Tracers"] = Value end, }) Tracers:Toggle({ Name = "Rainbow Tracers", Flag = "Visuals/World/Rainbow", Default = Configuration.Visuals_Related["Rainbow Tracers"], Callback = function(Value) Configuration.Visuals_Related["Rainbow Tracers"] = Value end, }) Tracers:Dropdown({ Name = "Tracer Style", Flag = "Visuals/World/Tracer Style", Options = TableSwap(Configuration.Visuals_Related["Bullet Tracer Textures"]), Default = Configuration.Visuals_Related["Bullet Tracer Style"], Callback = function(Value) if Value then Configuration.Visuals_Related["Bullet Tracer Style"] = Value end end, }) Tracers:Colorpicker({ Name = "Start Color", Flag = "Visuals/World/Start Color", Default = Configuration.Visuals_Related["Start Color"], Callback = function(Color) Configuration.Visuals_Related["Start Color"] = Color end, }) Tracers:Colorpicker({ Name = "End Color", Flag = "Visuals/World/End Color", Default = Configuration.Visuals_Related["End Color"], Callback = function(Color) Configuration.Visuals_Related["End Color"] = Color end, }) Tracers:Slider({ Name = "Tracer Lifetime", Flag = "Visuals/World/Tracer Lifetime", Min = 1, Max = 10, Decimals = 1, Default = Configuration.Visuals_Related["Tracer Lifetime"], Suffix = "s", Callback = function(Value) Configuration.Visuals_Related["Tracer Lifetime"] = Value end, }) Camera:Toggle({ Name = "Modify Field Of View", Flag = "Visuals/World/FOV", Default = Configuration.Visuals_Related["Modify Field Of View"], Callback = function(Value) Configuration.Visuals_Related["Modify Field Of View"] = Value end, }) Camera:Slider({ Name = "Field Of View", Flag = "Visuals/World/FOV Value", Min = 70, Max = 120, Decimals = 1, Default = Configuration.Visuals_Related["Field Of View"], Callback = function(Value) Configuration.Visuals_Related["Field Of View"] = Value end, }) Camera:Toggle({ Name = "Modify Vertical Resolution", Flag = "Visuals/World/Vertical Res", Default = Configuration.Visuals_Related["Modify Vertical Resolution"], Callback = function(Value) Configuration.Visuals_Related["Modify Vertical Resolution"] = Value end, }) Camera:Slider({ Name = "Vertical Resolution", Flag = "Visuals/World/Vertical Value", Min = 0, Max = 120, Decimals = 1, Default = Configuration.Visuals_Related["Vertical Resolution"] * 100, Suffix = "%", Callback = function(Value) Configuration.Visuals_Related["Vertical Resolution"] = Value / 100 end, }) Camera:Toggle({ Name = "Modify Horizontal Resolution", Flag = "Visuals/World/Horizontal Res", Default = Configuration.Visuals_Related["Modify Horizontal Resolution"], Callback = function(Value) Configuration.Visuals_Related["Modify Horizontal Resolution"] = Value end, }) Camera:Slider({ Name = "Horizontal Resolution", Flag = "Visuals/World/Horizontal Value", Min = 0, Max = 120, Decimals = 1, Default = Configuration.Visuals_Related["Horizontal Resolution"] * 100, Suffix = "%", Callback = function(Value) Configuration.Visuals_Related["Horizontal Resolution"] = Value / 100 end, }) end local CleanedUp = false local BaseUnload = Library.Unload local function Cleanup() if CleanedUp then return end CleanedUp = true Running = false getgenv().HavocSLR_Active = false getgenv().HavocSLR_Unload = nil pcall(function() if setfpscap then setfpscap(9e9) end end) pcall(RunService.UnbindFromRenderStep, "Havoc | Spectate") for _, Connection in ipairs(Initializer_Connections) do pcall(function() Connection:Disconnect() end) end for _, Connection in ipairs(RuntimeConnections) do if Connection then pcall(function() Connection:Disconnect() end) end end if getgenv().HavocSLR_ESP then getgenv().HavocSLR_ESP:Unload() end pcall(Hit_Effects.Cleanup) pcall(function() if getgenv().HavocSLR_WorldRestore then getgenv().HavocSLR_WorldRestore() end end) for _, Entry in ipairs(Hooks) do pcall(function() restorefunction(Entry.Target) end) pcall(function() restorefunction(Entry.Old) end) end pcall(function() for _, Key in ipairs({ "FOV Circle Outline", "FOV Circle", "FOV Circle Fill" }) do local DrawingObject = Configuration.Target_Related[Key] if DrawingObject then DrawingObject:Remove() end end end) pcall(function() if BaseUnload then BaseUnload(Library) end end) end function Library:Unload() Cleanup() end do local Owned = VehicleSub:Section({ Name = "Owned Vehicles", Side = "Left" }) local Purchase = VehicleSub:Section({ Name = "Purchase Vehicle", Side = "Left" }) local Mods = VehicleSub:Section({ Name = "Modifications", Side = "Left" }) local Garage = VehicleSub:Section({ Name = "Mobile Garage", Side = "Right" }) local OwnedDropdown = Owned:Dropdown({ Name = "Owned Vehicles", Flag = "Vehicle/Owned", Options = Configuration.Vehicle_Related["Fetch Owned Vehicles"](), Default = nil, Callback = function(Value) Configuration.Vehicle_Related["Selected Owned Vehicle"] = Value end, }) Owned:Button({ Name = "Refresh Owned Vehicles", Callback = function() OwnedDropdown:Refresh(Configuration.Vehicle_Related["Fetch Owned Vehicles"]()) end, }) Owned:Button({ Name = "Spawn Vehicle", Callback = Configuration.Vehicle_Related["Spawn Vehicle"], }) Owned:Button({ Name = "Teleport To Vehicle", Callback = Configuration.Vehicle_Related["Teleport To Vehicle"], }) Mods:Toggle({ Name = "Modify Vehicle Speed", Flag = "Vehicle/Speed", Default = Configuration.Vehicle_Related["Modify Vehicle Speed"], Callback = function(Value) Configuration.Vehicle_Related["Modify Vehicle Speed"] = Value end, }) Mods:Slider({ Name = "Vehicle Speed Value", Flag = "Vehicle/Speed Value", Min = 1, Max = 50, Decimals = 1, Default = Configuration.Vehicle_Related["Vehicle Speed Value"] * 1000, Callback = function(Value) Configuration.Vehicle_Related["Vehicle Speed Value"] = Value / 1000 end, }) Mods:Toggle({ Name = "Modify Vehicle Brakes", Flag = "Vehicle/Brakes", Default = Configuration.Vehicle_Related["Modify Vehicle Brakes"], Callback = function(Value) Configuration.Vehicle_Related["Modify Vehicle Brakes"] = Value end, }) Mods:Slider({ Name = "Vehicle Brake Value", Flag = "Vehicle/Brake Value", Min = 1, Max = 250, Decimals = 1, Default = Configuration.Vehicle_Related["Vehicle Brake Value"] * 1000, Callback = function(Value) Configuration.Vehicle_Related["Vehicle Brake Value"] = Value / 1000 end, }) Mods:Toggle({ Name = "Vehicle Fly", Flag = "Vehicle/Fly", Default = Configuration.Vehicle_Related["Vehicle Fly"], Callback = function(Value) Configuration.Vehicle_Related["Vehicle Fly"] = Value if Value then task.spawn(Configuration.Vehicle_Related["_Vehicle Fly"]) end end, }) Mods:Slider({ Name = "Vehicle Fly Speed", Flag = "Vehicle/Fly Speed", Min = 1, Max = 250, Decimals = 1, Default = Configuration.Vehicle_Related["Vehicle Fly Speed"] * 10, Callback = function(Value) Configuration.Vehicle_Related["Vehicle Fly Speed"] = Value / 10 end, }) Mods:Toggle({ Name = "Infinite Fuel", Flag = "Vehicle/Fuel", Default = Configuration.Vehicle_Related["Infinite Fuel"], Callback = function(Value) Configuration.Vehicle_Related["Infinite Fuel"] = Value end, }) Mods:Toggle({ Name = "Infinite Health", Flag = "Vehicle/Health", Default = Configuration.Vehicle_Related["Infinite Health"], Callback = function(Value) Configuration.Vehicle_Related["Infinite Health"] = Value end, }) Garage:Dropdown({ Name = "Paint Color", Flag = "Vehicle/Paint", Options = Configuration.Vehicle_Related["Base Colors"], Default = Configuration.Vehicle_Related["Selected Paint Color"], Callback = function(Value) Configuration.Vehicle_Related["Selected Paint Color"] = Value end, }) Garage:Button({ Name = "Apply Paint Color", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("BuyExtra") end, }) Garage:Dropdown({ Name = "Tint", Flag = "Vehicle/Tint", Options = { "Limo", "None", "Light Smoke", "Medium Smoke", "Dark Smoke" }, Default = Configuration.Vehicle_Related["Selected Tint Option"], Callback = function(Value) Configuration.Vehicle_Related["Selected Tint Option"] = Value end, }) Garage:Button({ Name = "Apply Tint", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("BuyExtra3") end, }) Garage:Dropdown({ Name = "Underglow", Flag = "Vehicle/Underglow", Options = Configuration.Vehicle_Related["Base Colors"], Default = Configuration.Vehicle_Related["Selected Underglow Color"], Callback = function(Value) Configuration.Vehicle_Related["Selected Underglow Color"] = Value end, }) Garage:Button({ Name = "Apply Underglow", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("BuyExtra2") end, }) Garage:Dropdown({ Name = "Wrap", Flag = "Vehicle/Wrap", Options = TableSwap(Configuration.Vehicle_Related["Wraps Table"]), Default = Configuration.Vehicle_Related["Selected Wrap Option"], Callback = function(Value) Configuration.Vehicle_Related["Selected Wrap Option"] = Value end, }) Garage:Button({ Name = "Apply Wrap", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("BuyExtra4") end, }) Garage:Dropdown({ Name = "Exhaust", Flag = "Vehicle/Exhaust", Options = { "Off", "On" }, Default = Configuration.Vehicle_Related["Selected Exhaust Option"], Callback = function(Value) Configuration.Vehicle_Related["Selected Exhaust Option"] = Value end, }) Garage:Button({ Name = "Apply Exhaust", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("BuyExtra5") end, }) Garage:Dropdown({ Name = "Rim Color", Flag = "Vehicle/Rim", Options = Configuration.Vehicle_Related["Base Colors"], Default = Configuration.Vehicle_Related["Selected Rim Color"], Callback = function(Value) Configuration.Vehicle_Related["Selected Rim Color"] = Value end, }) Garage:Button({ Name = "Apply Rim Color", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("BuyRimColor") end, }) Garage:Button({ Name = "Repair Vehicle", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("Repair") end, }) Garage:Button({ Name = "Refill Fuel", Callback = function() Configuration.Vehicle_Related["Mobile Garage Purchase"]("Fuel") end, }) end do local MenuSection = SettingsSub:Section({ Name = "Menu", Side = "Left" }) MenuSection:Toggle({ Name = "Watermark", Flag = "Settings/Watermark", Default = true, Callback = function(Value) if Watermark then Watermark:SetVisible(Value) end end, }) MenuSection:Button({ Name = "Unload Havoc", Callback = function() Cleanup() end, }) MenuSection:Button({ Name = "Rejoin Server", Callback = function() Services.TeleportService:Teleport(game.PlaceId) end, }) local ConfigSub = SettingsTab:SubTab({ Name = "Config", Icon = "save" }) ConfigSub:ThemeConfig({}) end getgenv().HavocSLR = { Config = Configuration, ESP = getgenv().HavocSLR_ESP, AntiTamper = Anti_Tamper, Unload = Cleanup, } getgenv().HavocSLR_Unload = Cleanup local InitializerOrder = { "Anticheat_Bypass", "__Namecall", "FOV_Circle", "Targetting", "Spectate", "Silent_Aim", "Aimlock", "Head_Expanders", "Gun_Modifications", "Kill_Aura", "Local_Player", "Looting_Utilities", "Player_Related", "Farming", "Playtime_Rewards", "Crypto_Trader", "World_Visuals", "Vehicle_Modifications", } for _, Name in ipairs(InitializerOrder) do local Function = Initializer[Name] if Function then task.spawn(function() pcall(Function) end) task.wait() end end