local Library = loadstring(game:HttpGet('https://raw.githubusercontent.com/lelo0002/hai../refs/heads/main/roxylinoria.lua'))() local ThemeManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/lelo0002/hai../refs/heads/main/theme.lua'))() local SaveManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/mstudio45/LinoriaLib/main/addons/SaveManager.lua'))() local Options = Library.Options local Toggles = Library.Toggles local L = {} local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local Camera = workspace.CurrentCamera local PlayersFolder = workspace:WaitForChild("Players") local HudGui = PlayerGui:WaitForChild("HudScreenGui") local Hud = HudGui.Main.DisplayStatus local player = LocalPlayer L.HideSleevesEnabled = false L.AimbotEnabled = false L.AimbotPredDropEnabled = false L.StickyAim = false L.WallCheck = false L.CachedTarget = nil L.NextTargetUpdate = 0 L.MaxAimDistance = 500 L.CurrentFont = 2 L.SnapLineMethod = "Gun Barrel" L.GunBarrel = nil L.FovPositionMethod = "Mouse" L.HasKnife = false L.StartTime = tick() L.AntiAimEnabled = false L.AntiAimYawEnabled = false L.AntiAimYawAngle = 0 L.AntiAimYawWaveRate = 1 L.AntiAimYawWaveDegree = 0 L.AntiAimYawType = "Custom" L.AntiAimPitchEnabled = false L.AntiAimPitchAngle = 0 L.AntiAimPitchWaveRate = 0 L.AntiAimPitchType = "Custom" L.AntiAimSpinBotEnabled = false L.AntiAimSpinBotType = "Custom" L.AntiAimSpinBotDegreeRate = 0 L.AntiAimSpinBotWaveRate = 0 L.InstantAim = false L.InstantEquip = false local FontMap = { ["UI"] = 0, ["System"] = 1, ["Plex"] = 2, ["Monospace"] = 3 } local SafeFonts = {0, 1, 2, 3} L.NameCache = setmetatable({}, {__mode = "k"}) L.EntryCache = setmetatable({}, {__mode = "k"}) L.VisualHealth = setmetatable({}, {__mode = "k"}) L.HealthCache = L.HealthCache or setmetatable({}, {__mode = "k"}) L.FadeCache = setmetatable({}, {__mode = "k"}) L.HealthTextFadeCache = setmetatable({}, {__mode = "k"}) L.FadeTime = 0.15 L.AimbotType = "Closest To Mouse" L.Smoothness = 0.1 L.HideArmsEnabled = false L.ArmTransparencyOriginals = setmetatable({}, {__mode = "k"}) L.AimVelocity = 1200 L.TEAM = { PHANTOMS = Color3.fromRGB(155,182,255), GHOSTS = Color3.fromRGB(231,183,88) } L.BODY_COLOR = { PHANTOMS = Color3.fromRGB(54,75,90), GHOSTS = Color3.fromRGB(89,69,56) } L.SnapEnabled = false L.ShowFOV = false L.FOVRadius = 120 L.FOVColor = Color3.fromRGB(255,255,255) L.AimKey = Enum.UserInputType.MouseButton2 L.HoldingKey = false L.LockedTarget = nil L.TARGET_UPDATE_RATE = 0.08 L.MESH_IDS = { Head = "128240072851827", Torso = "130888355860552" } L.OriginalClockTime = Lighting.ClockTime L.CustomClockTimeEnabled = false L.CustomClockTimeValue = 12 L.SelectedAimPart = "Head" L.TARGET_MESH_ID = L.MESH_IDS[L.SelectedAimPart] L.CurrentHumanoid = nil L.DynamicFOVEnabled = false L.DynamicFOVMultiplier = 1.85 L.DynamicFOVSpeedIn = 0.05 L.UnlockAll = false L.UnlockCamos = false L.UnlockKnives = false L.UnlockAttachments = false L.RealWeapons = {Assault = {}, Scout = {}, Support = {}, Recon = {}} L.FakeWeapons = {Assault = {}, Scout = {}, Support = {}, Recon = {}} L.DynamicFOVSpeedOut = 0.05 L.SelectedSleeveTexture = "rbxassetid://2163189692" L.OriginalOffsets = {} L.ViewmodelOffsetCFrame = CFrame.identity function L:UpdateViewmodelOffset() self.ViewmodelOffsetCFrame = CFrame.new(self.ViewmodelOffsetX or 0, self.ViewmodelOffsetY or 0, -(self.ViewmodelOffsetZ or 0)) end L.ViewmodelOffsetEnabled = false L.ViewmodelOffsetRemoveOnAim = false L.ViewmodelOffsetX = 0 L.ViewmodelOffsetY = 0 L.ViewmodelOffsetZ = 0 local SleeveTextureIds = { Default = "rbxassetid://2163189692", Beach = "rbxassetid://7582881674", Camo = "rbxassetid://819001409" } L.ChamsType = "Highlight" L.ChamsBehavior = "AlwaysOnTop" L.CurrentFOVRadius = L.FOVRadius L.KillConnection = nil L.LastLockedModel = nil L.KillNotifyEnabled = false L.SilentHeadshotChance = 100 L.RayParams = RaycastParams.new() L.RayParams.FilterType = Enum.RaycastFilterType.Exclude L.RayParams.IgnoreWater = true L.TARGET_WALKSPEED = 16 L.WalkSpeedEnabled = false L.newSpawnCache = { walkSpeed = 16, lastUpdate = nil, lastUpdateTime = 0, latency = 0, currentAddition = 0, updateDebt = 0 } L.MasterEnabled = false L.HighlightEnabled = false L.WeaponMasterEnabled = false L.ArmHighlights = setmetatable({}, {__mode = "k"}) L.ArmsMaterialEnabled = false L.ArmsMaterialColor = Color3.fromRGB(84,132,171) L.ArmsMaterialEnum = Enum.Material.ForceField L.SelectedArmForcefieldTexture = "Honeycomb" L.ArmOriginals = setmetatable({}, {__mode = "k"}) L.MaterialMap = { ForceField = Enum.Material.ForceField, Neon = Enum.Material.Neon, SmoothPlastic = Enum.Material.SmoothPlastic, Glass = Enum.Material.Glass, Metal = Enum.Material.Metal } L.FillColor = Color3.fromRGB(84,132,171) L.OutlineColor = Color3.fromRGB(255,255,255) L.HighlightFillTransparency = 0.4 L.WeaponHighlights = setmetatable({}, {__mode = "k"}) L.WeaponHighlightEnabled = false L.WeaponMaterialEnabled = false L.WeaponMaterialColor = Color3.fromRGB(84,132,171) L.WeaponMaterialEnum = Enum.Material.ForceField L.SelectedWeaponForcefieldTexture = "Honeycomb" L.WeaponMaterialOriginals = setmetatable({}, {__mode = "k"}) L.HideGunEnabled = false L.HideGunOriginals = setmetatable({}, {__mode = "k"}) L.HealthESPEnabled = false L.HealthTextEnabled = false L.HealthTextColor = Color3.fromRGB(255, 255, 255) L.HealthHighColor = Color3.fromRGB(0,255,0) L.HealthLowColor = Color3.fromRGB(255,0,0) L.HealthGradientEnabled = false L.WeaponMaterialMap = { ForceField = Enum.Material.ForceField, Neon = Enum.Material.Neon, SmoothPlastic = Enum.Material.SmoothPlastic, Glass = Enum.Material.Glass, Metal = Enum.Material.Metal } L.WeaponFillColor = Color3.fromRGB(84,132,171) L.WeaponOutlineColor = Color3.fromRGB(255,255,255) L.WeaponFillTransparency = 0.4 L.OriginalValues = { Ambient = Lighting.Ambient } L.CAmbientColor = Color3.fromRGB(84,132,171) L.ChamsEnabled = false L.ViewModelEnabled = false L.Offset = Vector3.zero L.Roots = {} L.BaseCF = setmetatable({}, {__mode = "k"}) L.LastScan = 0 L.ScanInterval = 0.25 L.ChamsColor = Color3.fromRGB(84,132,171) L.ChamsTransparency = 0.5 L.ChamsShrinkDefault = 1.2 L.DistanceESPEnabled = false L.DistanceMax = 750 L.DistanceTextColor = Color3.fromRGB(255,255,255) L.WeaponTextColor = Color3.fromRGB(255,255,255) L.DistanceDrawings = {} L.WeaponDrawings = {} L.DistanceTorsoCache = setmetatable({}, {__mode = "k"}) L.DistanceTeamTick = 0 L.ActiveChams = setmetatable({}, {__mode = "k"}) L.ChamsLastTeamCheck = 0 L.NameESPEnabled = false L.SkyboxEnabled = false L.SelectedSky = "ElegantMorning" L.Skyboxes = { Space = { Bk = "rbxassetid://159454299", Dn = "rbxassetid://159454296", Ft = "rbxassetid://159454293", Lf = "rbxassetid://159454286", Rt = "rbxassetid://159454300", Up = "rbxassetid://159454288" }, Dark = { Bk = "rbxassetid://12064107", Dn = "rbxassetid://12064152", Ft = "rbxassetid://12064121", Lf = "rbxassetid://12063984", Rt = "rbxassetid://12064115", Up = "rbxassetid://12064131" }, Pink = { Bk = "rbxassetid://11427769401", Dn = "rbxassetid://11427770685", Ft = "rbxassetid://11427769401", Lf = "rbxassetid://11427769401", Rt = "rbxassetid://11427769401", Up = "rbxassetid://11427771954" }, PurpleNebula = { Bk = "rbxassetid://129876530632297", Dn = "rbxassetid://108406529909981", Ft = "rbxassetid://104400530594543", Lf = "rbxassetid://73372229972523", Rt = "rbxassetid://87408857415924", Up = "rbxassetid://137817405681365" }, Red = { Bk = "rbxassetid://401664839", Dn = "rbxassetid://401664862", Ft = "rbxassetid://401664960", Lf = "rbxassetid://401664881", Rt = "rbxassetid://401664901", Up = "rbxassetid://401664936" }, White = { Bk = "rbxassetid://6213159304", Dn = "rbxassetid://6213218651", Ft = "rbxassetid://6213159304", Lf = "rbxassetid://6213159304", Rt = "rbxassetid://6213159304", Up = "rbxassetid://6213176544" }, Cartoon1 = { Bk = "rbxassetid://15114954171", Dn = "rbxassetid://15114958869", Ft = "rbxassetid://15114963740", Lf = "rbxassetid://15114957947", Rt = "rbxassetid://15114955238", Up = "rbxassetid://15114948718" }, Cartoon2 = { Bk = "rbxassetid://6295671271", Dn = "rbxassetid://6295671382", Ft = "rbxassetid://6295671136", Lf = "rbxassetid://6295670996", Rt = "rbxassetid://6295671509", Up = "rbxassetid://6295671667" }, PurpleClouds = { Bk = "rbxassetid://151165214", Dn = "rbxassetid://151165197", Ft = "rbxassetid://151165224", Lf = "rbxassetid://151165191", Rt = "rbxassetid://151165206", Up = "rbxassetid://151165227" }, CloudySkies = { Bk = "rbxassetid://151165214", Dn = "rbxassetid://151165197", Ft = "rbxassetid://151165224", Lf = "rbxassetid://151165191", Rt = "rbxassetid://151165206", Up = "rbxassetid://151165227" }, PurpleAndBlue = { Bk = "rbxassetid://149397692", Dn = "rbxassetid://149397686", Ft = "rbxassetid://149397697", Lf = "rbxassetid://149397684", Rt = "rbxassetid://149397688", Up = "rbxassetid://149397702" }, VividSkies = { Bk = "rbxassetid://271042516", Dn = "rbxassetid://271077243", Ft = "rbxassetid://271042556", Lf = "rbxassetid://271042310", Rt = "rbxassetid://271042467", Up = "rbxassetid://271077958" }, Twighlight = { Bk = "rbxassetid://264908339", Dn = "rbxassetid://264907909", Ft = "rbxassetid://264909420", Lf = "rbxassetid://264909758", Rt = "rbxassetid://264908886", Up = "rbxassetid://264907379" }, Vaporwave = { Bk = "rbxassetid://1417494030", Dn = "rbxassetid://1417494146", Ft = "rbxassetid://1417494253", Lf = "rbxassetid://1417494402", Rt = "rbxassetid://1417494499", Up = "rbxassetid://1417494643" }, Clouds = { Bk = "rbxassetid://570557514", Dn = "rbxassetid://570557775", Ft = "rbxassetid://570557559", Lf = "rbxassetid://570557620", Rt = "rbxassetid://570557672", Up = "rbxassetid://570557727" }, NightSky = { Bk = "rbxassetid://12064107", Dn = "rbxassetid://12064152", Ft = "rbxassetid://12064121", Lf = "rbxassetid://12063984", Rt = "rbxassetid://12064115", Up = "rbxassetid://12064131" }, SettingSun = { Bk = "rbxassetid://626460377", Dn = "rbxassetid://626460216", Ft = "rbxassetid://626460513", Lf = "rbxassetid://626473032", Rt = "rbxassetid://626458639", Up = "rbxassetid://626460625" }, FadeBlue = { Bk = "rbxassetid://153695414", Dn = "rbxassetid://153695352", Ft = "rbxassetid://153695452", Lf = "rbxassetid://153695320", Rt = "rbxassetid://153695383", Up = "rbxassetid://153695471" }, ElegantMorning = { Bk = "rbxassetid://153767241", Dn = "rbxassetid://153767216", Ft = "rbxassetid://153767266", Lf = "rbxassetid://153767200", Rt = "rbxassetid://153767231", Up = "rbxassetid://153767288" }, Neptune = { Bk = "rbxassetid://218955819", Dn = "rbxassetid://218953419", Ft = "rbxassetid://218954524", Lf = "rbxassetid://218958493", Rt = "rbxassetid://218957134", Up = "rbxassetid://218950090" }, Redshift = { Bk = "rbxassetid://401664839", Dn = "rbxassetid://401664862", Ft = "rbxassetid://401664960", Lf = "rbxassetid://401664881", Rt = "rbxassetid://401664901", Up = "rbxassetid://401664936" }, AestheticNight = { Bk = "rbxassetid://1045964490", Dn = "rbxassetid://1045964368", Ft = "rbxassetid://1045964655", Lf = "rbxassetid://1045964655", Rt = "rbxassetid://1045964655", } } L.ForceFieldTextures = { ["Off"] = "rbxassetid://0", ["Web"] = "rbxassetid://301464986", ["Webbed"] = "rbxassetid://2179243880", ["Scanning"] = "rbxassetid://5843010904", ["Pixelated"] = "rbxassetid://140652787", ["Swirl"] = "rbxassetid://8133639623", ["Checkerboard"] = "rbxassetid://5790215150", ["Christmas"] = "rbxassetid://6853532738", ["Player"] = "rbxassetid://4494641460", ["Shield"] = "rbxassetid://361073795", ["Dots"] = "rbxassetid://5830615971", ["Bubbles"] = "rbxassetid://1461576423", ["Matrix"] = "rbxassetid://10713189068", ["Honeycomb"] = "rbxassetid://179898251", ["Groove"] = "rbxassetid://10785404176", ["Cloud"] = "rbxassetid://5176277457", ["Sky"] = "rbxassetid://1494603972", ["Smudge"] = "rbxassetid://6096634060", ["Scrapes"] = "rbxassetid://6248583558", ["Galaxy"] = "rbxassetid://1120738433", ["Galaxies"] = "rbxassetid://5101923607", ["Stars"] = "rbxassetid://598201818", ["Rainbow"] = "rbxassetid://10037165803", ["Wires"] = "rbxassetid://14127933", ["Camo"] = "rbxassetid://3280937154", ["Hexagon"] = "rbxassetid://6175083785", ["Particles"] = "rbxassetid://1133822388", ["Triangular"] = "rbxassetid://4504368932", ["Wall"] = "rbxassetid://4271279" } L.NameDrawings = {} L.NameHeadCache = setmetatable({}, {__mode = "k"}) L.NoJumpCooldownEnabled = false L.HoldingJump = false L.NoFallDamageEnabled = false L.movementCache = {time = {}, position = setmetatable({}, {__mode = "k"})} L.BoxESPEnabled = false L.BoxDrawings = {} L.BoxOutlineDrawings = {} L.HealthDrawings = {} L.HealthOutlineDrawings = {} L.HealthTextDrawings = {} L.BoxColor = Color3.fromRGB(255,255,255) L.BoxThickness = 0.5 L.BoxOutlineThickness = 3 L.BoxMaxDistance = L.DistanceMax L.GunshotOverride = false L.SelectedSound = "Minecraft experience" L.SoundVolume = 1 L.SoundBackup = setmetatable({}, {__mode = "k"}) L.ValidSoundIds = {} L.SoundMap = { ["Minecraft experience"] = "rbxassetid://7151570575", Neverlose = "rbxassetid://8726881116", Gamesense = "rbxassetid://4817809188", One = "rbxassetid://7380502345", Bell = "rbxassetid://6534947240", Rust = "rbxassetid://1255040462", TF2 = "rbxassetid://2868331684", Slime = "rbxassetid://6916371803", ["Among Us"] = "rbxassetid://5700183626", Minecraft = "rbxassetid://4018616850", ["CS:GO"] = "rbxassetid://6937353691", Saber = "rbxassetid://8415678813", Baimware = "rbxassetid://3124331820", Osu = "rbxassetid://7149255551", ["TF2 Critical"] = "rbxassetid://296102734", Bat = "rbxassetid://3333907347", ["Call of Duty"] = "rbxassetid://5952120301", Bubble = "rbxassetid://6534947588", Pick = "rbxassetid://1347140027", Pop = "rbxassetid://198598793", Bruh = "rbxassetid://4275842574", ["[Bamboo]"] = "rbxassetid://3769434519", Crowbar = "rbxassetid://546410481", Weeb = "rbxassetid://6442965016", Beep = "rbxassetid://8177256015", Bambi = "rbxassetid://8437203821", Stone = "rbxassetid://3581383408", ["Old Fatality"] = "rbxassetid://6607142036", Click = "rbxassetid://8053704437", Ding = "rbxassetid://7149516994", Snow = "rbxassetid://6455527632", Laser = "rbxassetid://7837461331", Mario = "rbxassetid://2815207981", Steve = "rbxassetid://4965083997", Snowdrake = "rbxassetid://7834724809", Default = "rbxassetid://4581728529" } L.HitSoundSelected = "rbxassetid://8726881116" L.HitSoundVolume = 1 L.HitSoundOverride = false L.HitSoundBackup = setmetatable({}, {__mode = "k"}) L.HitSoundMap = { ["Minecraft experience"] = "rbxassetid://7151570575", Neverlose = "rbxassetid://8726881116", Gamesense = "rbxassetid://4817809188", One = "rbxassetid://7380502345", Bell = "rbxassetid://6534947240", Rust = "rbxassetid://1255040462", TF2 = "rbxassetid://2868331684", Slime = "rbxassetid://6916371803", ["Among Us"] = "rbxassetid://5700183626", Minecraft = "rbxassetid://4018616850", ["CS:GO"] = "rbxassetid://6937353691", Saber = "rbxassetid://8415678813", Baimware = "rbxassetid://3124331820", Osu = "rbxassetid://7149255551", ["TF2 Critical"] = "rbxassetid://296102734", Bat = "rbxassetid://3333907347", ["Call of Duty"] = "rbxassetid://5952120301", Bubble = "rbxassetid://6534947588", Pick = "rbxassetid://1347140027", Pop = "rbxassetid://198598793", Bruh = "rbxassetid://4275842574", ["[Bamboo]"] = "rbxassetid://3769434519", Crowbar = "rbxassetid://546410481", Weeb = "rbxassetid://6442965016", Beep = "rbxassetid://8177256015", Bambi = "rbxassetid://8437203821", Stone = "rbxassetid://3581383408", ["Old Fatality"] = "rbxassetid://6607142036", Click = "rbxassetid://8053704437", Ding = "rbxassetid://7149516994", Snow = "rbxassetid://6455527632", Laser = "rbxassetid://7837461331", Mario = "rbxassetid://2815207981", Steve = "rbxassetid://4965083997", Snowdrake = "rbxassetid://7834724809", Default = "rbxassetid://4581728529" } L.KillSoundSelected = "rbxassetid://4817809188" L.KillSoundVolume = 1 L.KillSoundOverride = false L.KillSoundBackup = setmetatable({}, {__mode = "k"}) L.KillSoundMap = { ["Minecraft experience"] = "rbxassetid://7151570575", Neverlose = "rbxassetid://8726881116", Gamesense = "rbxassetid://4817809188", One = "rbxassetid://7380502345", Bell = "rbxassetid://6534947240", Rust = "rbxassetid://1255040462", TF2 = "rbxassetid://2868331684", Slime = "rbxassetid://6916371803", ["Among Us"] = "rbxassetid://5700183626", Minecraft = "rbxassetid://4018616850", ["CS:GO"] = "rbxassetid://6937353691", Saber = "rbxassetid://8415678813", Baimware = "rbxassetid://3124331820", Osu = "rbxassetid://7149255551", ["TF2 Critical"] = "rbxassetid://296102734", Bat = "rbxassetid://3333907347", ["Call of Duty"] = "rbxassetid://5952120301", Bubble = "rbxassetid://6534947588", Pick = "rbxassetid://1347140027", Pop = "rbxassetid://198598793", Bruh = "rbxassetid://4275842574", ["[Bamboo]"] = "rbxassetid://3769434519", Crowbar = "rbxassetid://546410481", Weeb = "rbxassetid://6442965016", Beep = "rbxassetid://8177256015", Bambi = "rbxassetid://8437203821", Stone = "rbxassetid://3581383408", ["Old Fatality"] = "rbxassetid://6607142036", Click = "rbxassetid://8053704437", Ding = "rbxassetid://7149516994", Snow = "rbxassetid://6455527632", Laser = "rbxassetid://7837461331", Mario = "rbxassetid://2815207981", Steve = "rbxassetid://4965083997", Snowdrake = "rbxassetid://7834724809", Default = "rbxassetid://4581728529" } if not L.HitSoundSelected then L.HitSoundSelected = "rbxassetid://8726881116" end if not L.KillSoundSelected then L.KillSoundSelected = "rbxassetid://4817809188" end local WeaponRoots = { ReplicatedStorage.Content.ProductionContent.WeaponDatabase["TWO HAND BLUNT"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase, ReplicatedStorage.Content.ProductionContent.WeaponDatabase["ASSAULT RIFLE"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase["BATTLE RIFLE"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase.CARBINE, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.DMR, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.FRAGMENTATION, ReplicatedStorage.Content.ProductionContent.WeaponDatabase["HIGH EXPLOSIVE"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase.IMPACT, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.LMG, ReplicatedStorage.Content.ProductionContent.WeaponDatabase["MACHINE PISTOLS"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase["ONE HAND BLADE"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase["ONE HAND BLUNT"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase.OTHER, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.PDW, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.PISTOLS, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.REVOLVERS, ReplicatedStorage.Content.ProductionContent.WeaponDatabase.SHOTGUN, ReplicatedStorage.Content.ProductionContent.WeaponDatabase["SNIPER RIFLE"], ReplicatedStorage.Content.ProductionContent.WeaponDatabase["TWO HAND BLADE"] } L.CrosshairTop = true L.CrosshairRight = true L.CrosshairBottom = true L.CrosshairLeft = true local STYLE_SIDES = { ["1"] = {Top=true, Right=true, Bottom=true, Left=true}, ["2"] = {Top=true, Right=false, Bottom=true, Left=false}, ["3"] = {Top=true, Right=true, Bottom=true, Left=false} } L.CrosshairEnabled = false L.CrosshairColor = Color3.fromRGB(255,255,255) L.CrosshairSpin = false L.CrosshairSize = 25 L.CrosshairSpinSpeed = 25 L.CrosshairThickness = 2 L.CrosshairGap = 6 L.CrosshairSides = {Top=true, Bottom=true, Left=true, Right=true} L.CrosshairPositionMode = "Center Of Screen" L.SilentEnabled = false L.SilentHolding = false L.SilentSticky = false L.SilentWallCheck = false L.SilentHitChance = 50 L.SilentPriority = "Closest To Mouse" L.SilentShowFOV = false L.SilentDynamicFOV = false L.SilentFOVRadius = 120 L.SilentCurrentFOV = 120 L.SilentFOVColor = Color3.fromRGB(255,255,255) L.SilentSnapEnabled = false L.SilentSnapColor = Color3.fromRGB(255,255,255) L.SilentSnapOriginMethod = "Gun Barrel" L.SilentFOVOriginMethod = "Gun Barrel" L.SilentLockedPart = nil L.SilentMaxAimDistance = 500 L.SilentOriginalCF = nil L.SilentHeartbeat = nil L.SILENT_MESH_IDS = { Head = "128240072851827", Torso = "130888355860552" } L.SilentAimPart = "Head" L.SILENT_TARGET_MESH = L.SILENT_MESH_IDS[L.SilentAimPart] local function ClearAll() for _, h in pairs(L.ArmHighlights) do pcall(function() h:Destroy() end) end table.clear(L.ArmHighlights) end local function SetSleeveSlotsTransparency(value) for _, obj in ipairs(Camera:GetChildren()) do if obj:IsA("Model") then local sleeves = obj:FindFirstChild("Sleeves", true) if sleeves and sleeves:IsA("MeshPart") then if sleeves.Transparency ~= value then sleeves.Transparency = value end for _, tex in ipairs(sleeves:GetChildren()) do if tex:IsA("Texture") and tex.Name == "Slot1" and tex.Transparency ~= value then tex.Transparency = value end end end end end end local function CreateHighlight(part) if L.ArmHighlights[part] or not L.HighlightEnabled then return end if not part:IsA("MeshPart") or part.Name ~= "SkinTone" then return end local h = Instance.new("Highlight") h.Adornee = part h.FillColor = L.FillColor h.OutlineColor = L.OutlineColor h.FillTransparency = L.HighlightFillTransparency h.OutlineTransparency = 0 h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop h.Parent = part L.ArmHighlights[part] = h end local function getArmModels() local arms = {} for _, obj in ipairs(Camera:GetChildren()) do if obj:IsA("Model") then if obj:FindFirstChild("SkinTone", true) then table.insert(arms, obj) end end end return arms end local function applyArmMaterial() local texture = L.ForceFieldTextures[L.SelectedArmForcefieldTexture or "Off"] for _, model in ipairs(getArmModels()) do for _, part in ipairs(model:GetDescendants()) do if part:IsA("MeshPart") then if not L.ArmOriginals[part] then L.ArmOriginals[part] = { Material = part.Material, Color = part.Color, TextureId = part.TextureID } end if part.Material ~= L.ArmsMaterialEnum then part.Material = L.ArmsMaterialEnum end if part.Color ~= L.ArmsMaterialColor then part.Color = L.ArmsMaterialColor end local targetTex = (L.ArmsMaterialEnum == Enum.Material.ForceField) and texture or "" if part.TextureID ~= targetTex then part.TextureID = targetTex end elseif part:IsA("SpecialMesh") then if not L.ArmOriginals[part] then L.ArmOriginals[part] = { TextureId = part.TextureId } end local targetTex = (L.ArmsMaterialEnum == Enum.Material.ForceField) and texture or "" if part.TextureId ~= targetTex then part.TextureId = targetTex end end end end end local function restoreArmMaterial() for part, data in pairs(L.ArmOriginals) do if part and (part:IsDescendantOf(Camera) or part:IsDescendantOf(workspace)) then if part:IsA("BasePart") then part.Material = data.Material part.Color = data.Color if part:IsA("MeshPart") then part.TextureID = data.TextureId end elseif part:IsA("SpecialMesh") then part.TextureId = data.TextureId end end end table.clear(L.ArmOriginals) end local function applyHideArms() for _, model in ipairs(getArmModels()) do for _, part in ipairs(model:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "Sleeves" then if not L.ArmTransparencyOriginals[part] and part.Transparency < 0.9 then L.ArmTransparencyOriginals[part] = { Trans = part.Transparency, LTrans = part.LocalTransparencyModifier } end if part.Transparency ~= 1 then part.Transparency = 1 end if part.LocalTransparencyModifier ~= 1 then part.LocalTransparencyModifier = 1 end end end end end local function restoreHideArms() for part, data in pairs(L.ArmTransparencyOriginals) do if part and (part:IsDescendantOf(Camera) or part:IsDescendantOf(workspace)) then if type(data) == "table" then part.Transparency = data.Trans part.LocalTransparencyModifier = data.LTrans else part.Transparency = data end end end table.clear(L.ArmTransparencyOriginals) end RunService.Heartbeat:Connect(function() if not L.MasterEnabled and not L.ThirdPersonHideChar then if next(L.ArmOriginals) then restoreArmMaterial() end if next(L.ArmTransparencyOriginals) then restoreHideArms() end SetSleeveSlotsTransparency(0) for part, h in pairs(L.ArmHighlights) do pcall(function() h:Destroy() end) L.ArmHighlights[part] = nil end return end if L.ArmsMaterialEnabled or L.ThirdPersonHideChar then applyArmMaterial() else restoreArmMaterial() end if L.HideSleevesEnabled or L.ThirdPersonHideChar then SetSleeveSlotsTransparency(1) else SetSleeveSlotsTransparency(0) end if L.HideArmsEnabled or L.ThirdPersonHideChar then applyHideArms() elseif next(L.ArmTransparencyOriginals) then restoreHideArms() end for part, h in pairs(L.ArmHighlights) do if not part or not part:IsDescendantOf(Camera) or not L.HighlightEnabled then pcall(function() h:Destroy() end) L.ArmHighlights[part] = nil end end if L.HighlightEnabled then for _, obj in ipairs(Camera:GetDescendants()) do if obj:IsA("MeshPart") and obj.Name == "SkinTone" then CreateHighlight(obj) end end end end) local function modelHasSleeves(model) return model:FindFirstChild("Sleeves", true) ~= nil end local function getWeaponModel() for _, model in ipairs(Camera:GetChildren()) do if model:IsA("Model") and not modelHasSleeves(model) then return model end end return nil end local function clearWeaponHighlights() for _, h in pairs(L.WeaponHighlights) do pcall(function() h:Destroy() end) end table.clear(L.WeaponHighlights) end local function applyWeaponHighlight(model) if not model or L.WeaponHighlights[model] or not L.WeaponHighlightEnabled then return end local h = Instance.new("Highlight") h.Adornee = model h.FillColor = L.WeaponFillColor h.OutlineColor = L.WeaponOutlineColor h.FillTransparency = L.WeaponFillTransparency h.OutlineTransparency = 0 h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop h.Parent = model L.WeaponHighlights[model] = h end RunService.Heartbeat:Connect(function() if not L.WeaponMasterEnabled then return end local weaponModel = getWeaponModel() for model, h in pairs(L.WeaponHighlights) do if not model or not model:IsDescendantOf(Camera) or not L.WeaponHighlightEnabled or model ~= weaponModel then pcall(function() h:Destroy() end) L.WeaponHighlights[model] = nil end end if not L.WeaponHighlightEnabled then return end if weaponModel then applyWeaponHighlight(weaponModel) end end) local function applyWeaponMaterial(model) if not model then return end local texture = L.ForceFieldTextures[L.SelectedWeaponForcefieldTexture or "Off"] for _, part in ipairs(model:GetDescendants()) do if part:IsA("MeshPart") then if not L.WeaponMaterialOriginals[part] then L.WeaponMaterialOriginals[part] = { Material = part.Material, Color = part.Color, TextureId = part.TextureID } end if part.Material ~= L.WeaponMaterialEnum then part.Material = L.WeaponMaterialEnum end if part.Color ~= L.WeaponMaterialColor then part.Color = L.WeaponMaterialColor end local targetTex = (L.WeaponMaterialEnum == Enum.Material.ForceField) and texture or "" if part.TextureID ~= targetTex then part.TextureID = targetTex end elseif part:IsA("BasePart") then if not L.WeaponMaterialOriginals[part] then L.WeaponMaterialOriginals[part] = { Material = part.Material, Color = part.Color } end if part.Material ~= L.WeaponMaterialEnum then part.Material = L.WeaponMaterialEnum end if part.Color ~= L.WeaponMaterialColor then part.Color = L.WeaponMaterialColor end elseif part:IsA("SpecialMesh") then if not L.WeaponMaterialOriginals[part] then L.WeaponMaterialOriginals[part] = { TextureId = part.TextureId } end local targetTex = (L.WeaponMaterialEnum == Enum.Material.ForceField) and texture or "" if part.TextureId ~= targetTex then part.TextureId = targetTex end end end end local function restoreWeaponMaterial() for part, data in pairs(L.WeaponMaterialOriginals) do if part and (part:IsDescendantOf(Camera) or part:IsDescendantOf(workspace)) then if part:IsA("BasePart") then part.Material = data.Material part.Color = data.Color if part:IsA("MeshPart") then part.TextureID = data.TextureId end elseif part:IsA("SpecialMesh") then part.TextureId = data.TextureId end end end table.clear(L.WeaponMaterialOriginals) end local function applyHideGun(model) if not model then return end for _, part in ipairs(model:GetDescendants()) do if part:IsA("BasePart") or part:IsA("Decal") or part:IsA("Texture") then if not L.HideGunOriginals[part] and part.Transparency < 0.9 then L.HideGunOriginals[part] = { Trans = part.Transparency, LTrans = part:IsA("BasePart") and part.LocalTransparencyModifier or nil } end if part.Transparency ~= 1 then part.Transparency = 1 end if part:IsA("BasePart") and part.LocalTransparencyModifier ~= 1 then part.LocalTransparencyModifier = 1 end end end end local function restoreHideGun() for part, data in pairs(L.HideGunOriginals) do if part and part:IsDescendantOf(Camera) then if type(data) == "table" then part.Transparency = data.Trans if part:IsA("BasePart") and data.LTrans then part.LocalTransparencyModifier = data.LTrans end else part.Transparency = data end end end table.clear(L.HideGunOriginals) end RunService.Heartbeat:Connect(function() if L.WeaponMasterEnabled then local weaponModel = getWeaponModel() if weaponModel then if L.WeaponMaterialEnabled then applyWeaponMaterial(weaponModel) end end end if not L.WeaponMasterEnabled or not L.WeaponMaterialEnabled then if next(L.WeaponMaterialOriginals) then restoreWeaponMaterial() end end if not L.WeaponMasterEnabled or not L.HideGunEnabled then if next(L.HideGunOriginals) then restoreHideGun() end end end) RunService.RenderStepped:Connect(function() if L.WeaponMasterEnabled and L.HideGunEnabled then local weaponModel = getWeaponModel() if weaponModel then applyHideGun(weaponModel) end end end) local SnapOutline = Drawing.new("Line") SnapOutline.Thickness = 3 SnapOutline.Color = Color3.new(0, 0, 0) SnapOutline.Transparency = 1 SnapOutline.Visible = false local SnapLine = Drawing.new("Line") SnapLine.Thickness = 1 SnapLine.Color = Color3.fromRGB(255, 255, 255) SnapLine.Transparency = 1 SnapLine.Visible = false local FOVOutline = Drawing.new("Circle") FOVOutline.Filled = false FOVOutline.Thickness = 3 FOVOutline.Color = Color3.new(0,0,0) FOVOutline.Transparency = 1 FOVOutline.Visible = false local FOVCircle = Drawing.new("Circle") FOVCircle.Filled = false FOVCircle.Thickness = 1 FOVCircle.Color = L.FOVColor FOVCircle.Transparency = 1 FOVCircle.Visible = false L.FOVFill = Drawing.new("Circle") L.FOVFill.Filled = true L.FOVFill.Thickness = 0 L.FOVFill.Color = Color3.fromRGB(83,132,171) L.FOVFill.Transparency = 0.5 L.FOVFill.Visible = false local function isOnScreen(part) local screenPos, onScreen = Camera:WorldToViewportPoint(part.Position) return onScreen end local function isVisible(part) if not L.WallCheck then return true end if not part or not part:IsA("BasePart") or not part:IsDescendantOf(workspace) then return false end if not isOnScreen(part) then return false end local origin = Camera.CFrame.Position local targetPos = part.Position local direction = targetPos - origin local distance = direction.Magnitude direction = direction.Unit * (distance + 0.5) local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = { LocalPlayer.Character, Camera } params.IgnoreWater = true local result = workspace:Raycast(origin, direction, params) if not result then return true end if result.Instance:IsDescendantOf(part.Parent) then return true end local tolerance = part.Size.Magnitude * 0.75 if (result.Position - targetPos).Magnitude <= tolerance then return true end return false end local LocalTeam = nil local validPatternSleeves = nil local function getLocalTeam() if validPatternSleeves and validPatternSleeves:IsDescendantOf(Camera) then local tex = validPatternSleeves:FindFirstChild("Slot1") if tex and tex:IsA("Texture") then local c = tex.Color3 if c == L.TEAM.PHANTOMS then return "PHANTOMS" elseif c == L.TEAM.GHOSTS then return "GHOSTS" end end end for _, obj in ipairs(Camera:GetDescendants()) do if obj:IsA("MeshPart") and obj.Name == "Sleeves" then validPatternSleeves = obj for _, tex in ipairs(obj:GetChildren()) do if tex:IsA("Texture") and tex.Name == "Slot1" then local c = tex.Color3 if c == L.TEAM.PHANTOMS then return "PHANTOMS" elseif c == L.TEAM.GHOSTS then return "GHOSTS" end end end end end return nil end local function isEnemy(part) if not LocalTeam then return false end if not part or not part:IsDescendantOf(workspace) then return false end local pparent = part.Parent local torso for _, p in ipairs(pparent:GetChildren()) do if p:IsA("MeshPart") and p.MeshId and p.MeshId:find(L.MESH_IDS.Torso) then torso = p break end end if not torso then return false end local torsoColor = torso.Color if LocalTeam == "PHANTOMS" then return torsoColor == L.BODY_COLOR.GHOSTS elseif LocalTeam == "GHOSTS" then return torsoColor == L.BODY_COLOR.PHANTOMS end return false end local function checkEnemyByModel(model) local torso = L.DistanceTorsoCache and L.DistanceTorsoCache[model] if torso == false then return false end if not torso or not torso:IsDescendantOf(model) then for _,v in ipairs(model:GetDescendants()) do if v:IsA("MeshPart") and v.MeshId and v.MeshId:find(L.MESH_IDS.Torso) then torso = v if L.DistanceTorsoCache then L.DistanceTorsoCache[model] = v end break end end end if not torso then if L.DistanceTorsoCache then L.DistanceTorsoCache[model] = false end return false end if not LocalTeam then return true end local c = torso.Color if LocalTeam == "PHANTOMS" then return c == L.BODY_COLOR.GHOSTS elseif LocalTeam == "GHOSTS" then return c == L.BODY_COLOR.PHANTOMS end return false end L.AimPartCache = L.AimPartCache or setmetatable({}, {__mode = "k"}) local function getCachedTargetPart(model) local c = L.AimPartCache[model] if c == false then return nil end if c and c:IsDescendantOf(model) and c.MeshId:find(L.TARGET_MESH_ID) then return c end for _, v in ipairs(model:GetDescendants()) do if v:IsA("MeshPart") and v.MeshId and v.MeshId:find(L.TARGET_MESH_ID) then L.AimPartCache[model] = v return v end end L.AimPartCache[model] = false return nil end local function getTargetParts() local t = {} for model, _ in pairs(L.NameDrawings or {}) do if checkEnemyByModel(model) then local part = getCachedTargetPart(model) if part then t[#t+1] = part end end end return t end local function getClosestTarget() local camPos = Camera.CFrame.Position local origin if L.FovPositionMethod == "Gun Barrel" then if L.HasKnife or not L.GunBarrel or not L.GunBarrel:IsDescendantOf(Camera) then return nil end local forwardOffset = 7.5 local worldPos = L.GunBarrel.Position + (L.GunBarrel.CFrame.LookVector * forwardOffset) local v, onScreen = Camera:WorldToViewportPoint(worldPos) if not onScreen then return nil end origin = Vector2.new(v.X, v.Y) else origin = UserInputService:GetMouseLocation() end local closest = nil local shortest = math.huge for _, part in ipairs(getTargetParts()) do if part and part:IsDescendantOf(workspace) then local worldDist = (camPos - part.Position).Magnitude if worldDist <= L.MaxAimDistance then local pos, onScreen = Camera:WorldToViewportPoint(part.Position) if onScreen and isVisible(part) then local screenDist = (Vector2.new(pos.X, pos.Y) - origin).Magnitude if screenDist <= L.FOVRadius then if L.AimbotType == "Closest To You" then if worldDist < shortest then shortest = worldDist closest = part end else if screenDist < shortest then shortest = screenDist closest = part end end end end end end end return closest end UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == L.AimKey or input.UserInputType == L.AimKey then L.HoldingKey = true end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == L.AimKey or input.UserInputType == L.AimKey then L.HoldingKey = false L.LockedTarget = nil L.LastLockedModel = nil if L.KillConnection then L.KillConnection:Disconnect() L.KillConnection = nil end end end) RunService.Heartbeat:Connect(function() local newTeam = getLocalTeam() if newTeam and LocalTeam ~= newTeam then table.clear(L.EnemyCache) table.clear(L.EntryCache or {}) LocalTeam = newTeam end end) local insert = table.insert local ipairs = ipairs local pairs = pairs local clock = os.clock L.ActiveChams = L.ActiveChams and setmetatable(L.ActiveChams, {__mode = "k"}) or setmetatable({}, {__mode = "k"}) L.ChamsTicks = L.ChamsTicks and setmetatable(L.ChamsTicks, {__mode = "k"}) or setmetatable({}, {__mode = "k"}) L.CachedOnScreen = L.CachedOnScreen and setmetatable(L.CachedOnScreen, {__mode = "k"}) or setmetatable({}, {__mode = "k"}) L.EnemyCache = L.EnemyCache and setmetatable(L.EnemyCache, {__mode = "k"}) or setmetatable({}, {__mode = "k"}) L.StreamingHold = L.StreamingHold and setmetatable(L.StreamingHold, {__mode = "k"}) or setmetatable({}, {__mode = "k"}) local STREAM_HOLD_TIME = 0.35 local function getTorso(model) local c=L.DistanceTorsoCache[model] if c == false then return nil end if c and c:IsDescendantOf(model) then return c end for _,v in ipairs(model:GetDescendants()) do if v:IsA("MeshPart") and v.MeshId and v.MeshId:find(L.MESH_IDS.Torso) then L.DistanceTorsoCache[model]=v return v end end L.DistanceTorsoCache[model]=false return nil end local function clearChams(model) local boxes = L.ActiveChams[model] if not boxes then return end for i = 1, #boxes do local b = boxes[i] if b and b.Parent then b:Destroy() end end L.ActiveChams[model] = nil L.ChamsTicks[model] = nil L.CachedOnScreen[model] = nil end local function isValidModel(model) return model:IsA("Model") and model:FindFirstChildWhichIsA("BasePart", true) end local function isEnemyModel(model) local cached = L.EnemyCache[model] if cached ~= nil then return cached end if not LocalTeam then return false end local isEnm = checkEnemyByModel(model) L.EnemyCache[model] = isEnm return isEnm end local function createBox(model, part, shrink) local boxes = L.ActiveChams[model] if not boxes then boxes = {} L.ActiveChams[model] = boxes end for i = 1, #boxes do local b = boxes[i] if b.Adornee == part then return b end end local box = Instance.new("BoxHandleAdornment") box.Adornee = part box.AlwaysOnTop = (L.ChamsBehavior == "AlwaysOnTop") box.ZIndex = box.AlwaysOnTop and 10 or 0 box.Size = part.Size / shrink box.Color3 = L.ChamsColor box.Transparency = L.ChamsTransparency box.Parent = part insert(boxes, box) return box end local ValidLimbs = { "head", "torso", "arm", "leg", "hand", "foot" } local function isValidLimb(part) if not part or not part:IsA("MeshPart") then return false end local n = string.lower(part.Name) for _, limb in ipairs(ValidLimbs) do if string.find(n, limb) then return true end end return false end local function applyChams(model) clearChams(model) local boxes = {} L.ActiveChams[model] = boxes local color = L.ChamsColor if L.ChamsType == "Highlight" then local hl = Instance.new("Highlight") hl.Adornee = model hl.FillColor = color hl.OutlineColor = color hl.FillTransparency = L.ChamsTransparency hl.OutlineTransparency = L.ChamsTransparency hl.DepthMode = (L.ChamsBehavior == "AlwaysOnTop") and Enum.HighlightDepthMode.AlwaysOnTop or Enum.HighlightDepthMode.Occluded hl.Parent = L.CoreGui local success = pcall(function() hl.Parent = L.CoreGui end) if not success then hl.Parent = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui") end insert(boxes, hl) else local shrink = (L.ChamsBehavior == "Occluded") and (L.ChamsShrinkDefault / 1.2) or L.ChamsShrinkDefault for _, part in ipairs(model:GetDescendants()) do if isValidLimb(part) then local box = createBox(model, part, shrink) box.Color3 = color end end end end local function updateAllChams() local color = L.ChamsColor local trans = L.ChamsTransparency local shrink = (L.ChamsBehavior == "Occluded") and (L.ChamsShrinkDefault / 1.2) or L.ChamsShrinkDefault local alwaysOnTop = (L.ChamsBehavior == "AlwaysOnTop") local zIndex = alwaysOnTop and 10 or 0 local depthMode = alwaysOnTop and Enum.HighlightDepthMode.AlwaysOnTop or Enum.HighlightDepthMode.Occluded for model, boxes in pairs(L.ActiveChams) do for i = 1, #boxes do local b = boxes[i] if b then if b:IsA("Highlight") then b.FillColor = color b.OutlineColor = color b.FillTransparency = trans b.OutlineTransparency = trans b.DepthMode = depthMode else b.Color3 = color b.Transparency = trans b.AlwaysOnTop = alwaysOnTop b.ZIndex = zIndex if b.Adornee then b.Size = b.Adornee.Size / shrink end end end end end end L.ChamsHooked = L.ChamsHooked and setmetatable(L.ChamsHooked, {__mode = "k"}) or setmetatable({}, {__mode = "k"}) local function hookModelRealtime(model) if not isValidModel(model) then return end if L.ChamsHooked[model] then return end local conns = {} L.ChamsHooked[model] = conns local function refresh() L.EnemyCache[model] = nil if L.ChamsEnabled and isEnemyModel(model) then applyChams(model) else clearChams(model) end end refresh() table.insert(conns, model.DescendantAdded:Connect(function(d) if not L.ChamsEnabled or not isEnemyModel(model) then return end if L.ChamsType == "Highlight" then return end if not isValidLimb(d) then return end local shrink = (L.ChamsBehavior == "Occluded") and (L.ChamsShrinkDefault / 1.2) or L.ChamsShrinkDefault local box = createBox(model, d, shrink) box.Color3 = L.ChamsColor box.Transparency = L.ChamsTransparency box.AlwaysOnTop = (L.ChamsBehavior == "AlwaysOnTop") box.ZIndex = box.AlwaysOnTop and 10 or 0 end)) table.insert(conns, model.DescendantRemoving:Connect(function(d) if L.ChamsType == "Highlight" then return end if not d:IsA("BasePart") then return end local boxes = L.ActiveChams[model] if boxes then for i = #boxes, 1, -1 do local b = boxes[i] if not b or b.Adornee == d or not b.Parent then if b then b:Destroy() end table.remove(boxes, i) end end end end)) table.insert(conns, model.AncestryChanged:Connect(function() L.StreamingHold[model] = nil refresh() end)) end local function processChams(model) if not model or not isValidModel(model) then return end L.EnemyCache[model] = nil hookModelRealtime(model) if L.ChamsEnabled and isEnemyModel(model) then applyChams(model) end end local function hookChamsFolder(folder) if not folder then return end for _, model in ipairs(folder:GetChildren()) do processChams(model) end folder.ChildAdded:Connect(function(m) if not m then return end processChams(m) end) folder.ChildRemoved:Connect(function(m) if not m then return end clearChams(m) L.EnemyCache[m] = nil if L.ChamsHooked[m] and type(L.ChamsHooked[m]) == "table" then for _, conn in ipairs(L.ChamsHooked[m]) do conn:Disconnect() end end L.ChamsHooked[m] = nil end) end for _, folder in ipairs(PlayersFolder:GetChildren()) do if folder and folder:IsA("Folder") then hookChamsFolder(folder) end end PlayersFolder.ChildAdded:Connect(function(folder) if folder and folder:IsA("Folder") then hookChamsFolder(folder) end end) local function createDistance(model) if L.DistanceDrawings[model] then return end local d=Drawing.new("Text") d.Center=true d.Outline=true d.Size=13 if table.find(SafeFonts, L.CurrentFont) then d.Font = L.CurrentFont end d.Color=L.DistanceTextColor d.Visible=false L.DistanceDrawings[model]=d end local function createWeapon(model) if L.WeaponDrawings[model] then return end local d=Drawing.new("Text") d.Center=true d.Outline=true d.Size=13 if table.find(SafeFonts, L.CurrentFont) then d.Font = L.CurrentFont end d.Color=L.WeaponTextColor d.Visible=false L.WeaponDrawings[model]=d end local function removeDistance(model) if L.DistanceDrawings[model] then L.DistanceDrawings[model]:Remove() L.DistanceDrawings[model]=nil end if L.WeaponDrawings[model] then L.WeaponDrawings[model]:Remove() L.WeaponDrawings[model]=nil end L.DistanceTorsoCache[model]=nil end local function hookDistanceModel(model) if not model:IsA("Model") then return end createDistance(model) createWeapon(model) for _,c in ipairs(model:GetChildren()) do if c:IsA("Model") then createDistance(c) createWeapon(c) end end end for _,folder in ipairs(PlayersFolder:GetChildren()) do if folder:IsA("Folder") then for _,model in ipairs(folder:GetChildren()) do hookDistanceModel(model) end folder.ChildAdded:Connect(hookDistanceModel) folder.ChildRemoved:Connect(removeDistance) end end PlayersFolder.ChildAdded:Connect(function(folder) if folder:IsA("Folder") then folder.ChildAdded:Connect(hookDistanceModel) folder.ChildRemoved:Connect(removeDistance) end end) local function getNameHead(model) local c = L.NameHeadCache[model] if c == false then return nil end if c and c:IsDescendantOf(model) then return c end for _, v in ipairs(model:GetDescendants()) do if v:IsA("MeshPart") and v.MeshId and v.MeshId:find(L.MESH_IDS.Head) then L.NameHeadCache[model] = v return v end end L.NameHeadCache[model] = false return nil end local function getPlayerName(model) local cached = L.NameCache[model] if cached ~= nil then return cached == false and nil or cached end for _, v in ipairs(model:GetDescendants()) do if v:IsA("TextLabel") and v.Name == "PlayerTag" then L.NameCache[model] = v.Text return v.Text end end L.NameCache[model] = false return nil end local function createName(model) if L.NameDrawings[model] then return end local t = Drawing.new("Text") t.Center = true t.Outline = true t.Size = 13 if table.find(SafeFonts, L.CurrentFont) then t.Font = L.CurrentFont end t.Color = L.NameTextColor or Color3.new(1,1,1) t.Visible = false L.NameDrawings[model] = t end local function removeName(model) if L.NameDrawings[model] then L.NameDrawings[model]:Remove() L.NameDrawings[model] = nil end L.NameHeadCache[model] = nil end local function hookNameModel(model) if not model:IsA("Model") then return end createName(model) for _, c in ipairs(model:GetChildren()) do if c:IsA("Model") then createName(c) end end end for _, folder in ipairs(PlayersFolder:GetChildren()) do if folder:IsA("Folder") then for _, model in ipairs(folder:GetChildren()) do hookNameModel(model) end folder.ChildAdded:Connect(hookNameModel) folder.ChildRemoved:Connect(removeName) end end PlayersFolder.ChildAdded:Connect(function(folder) if folder:IsA("Folder") then folder.ChildAdded:Connect(hookNameModel) folder.ChildRemoved:Connect(removeName) end end) local FOVCachedTarget = nil local FOVNextTargetUpdate = 0 RunService.RenderStepped:Connect(function(dt) local mousePos = UserInputService:GetMouseLocation() local baseFOV = L.FOVRadius local targetFOV = baseFOV if L.DynamicFOVEnabled and L.HoldingKey then targetFOV = baseFOV * L.DynamicFOVMultiplier end local speed = (targetFOV > L.CurrentFOVRadius) and L.DynamicFOVSpeedIn or L.DynamicFOVSpeedOut L.CurrentFOVRadius = L.CurrentFOVRadius + (targetFOV - L.CurrentFOVRadius) * speed local fovOrigin local validFovOrigin = false if L.FovPositionMethod == "Gun Barrel" then if not L.HasKnife and L.GunBarrel and L.GunBarrel:IsDescendantOf(Camera) then local forwardOffset = 7.5 local worldPos = L.GunBarrel.Position + (L.GunBarrel.CFrame.LookVector * forwardOffset) local v, onScreen = Camera:WorldToViewportPoint(worldPos) if onScreen then fovOrigin = Vector2.new(v.X, v.Y) validFovOrigin = true end end if not validFovOrigin and not L.HasKnife then if L.LastGunBarrelTime and (os.clock() - L.LastGunBarrelTime) < 1 then else fovOrigin = mousePos validFovOrigin = true end end else fovOrigin = mousePos validFovOrigin = true end if L.FOVLockOnTarget and L.AimbotEnabled then local now = os.clock() if L.LockedTarget and L.LockedTarget:IsDescendantOf(workspace) then FOVCachedTarget = L.LockedTarget FOVNextTargetUpdate = now + L.TARGET_UPDATE_RATE elseif now >= FOVNextTargetUpdate then FOVCachedTarget = getClosestTarget() FOVNextTargetUpdate = now + L.TARGET_UPDATE_RATE end if FOVCachedTarget and FOVCachedTarget:IsDescendantOf(workspace) then local pos, onScreen = Camera:WorldToViewportPoint(FOVCachedTarget.Position) if onScreen then local targetPos = Vector2.new(pos.X, pos.Y) if not L.FOVCurrentOrigin then L.FOVCurrentOrigin = fovOrigin end L.FOVCurrentOrigin = L.FOVCurrentOrigin:Lerp(targetPos, math.clamp(dt * 22.5, 0, 1)) fovOrigin = L.FOVCurrentOrigin validFovOrigin = true else if L.FOVCurrentOrigin and (L.FOVCurrentOrigin - fovOrigin).Magnitude > 1 then L.FOVCurrentOrigin = L.FOVCurrentOrigin:Lerp(fovOrigin, math.clamp(dt*22.5,0,1)) fovOrigin = L.FOVCurrentOrigin else L.FOVCurrentOrigin = nil end end else if L.FOVCurrentOrigin and (L.FOVCurrentOrigin - fovOrigin).Magnitude > 1 then L.FOVCurrentOrigin = L.FOVCurrentOrigin:Lerp(fovOrigin, math.clamp(dt*22.5,0,1)) fovOrigin = L.FOVCurrentOrigin else L.FOVCurrentOrigin = nil end end else if L.FOVCurrentOrigin and (L.FOVCurrentOrigin - fovOrigin).Magnitude > 1 then L.FOVCurrentOrigin = L.FOVCurrentOrigin:Lerp(fovOrigin, math.clamp(dt*22.5,0,1)) fovOrigin = L.FOVCurrentOrigin else L.FOVCurrentOrigin = nil end end FOVCircle.Visible = validFovOrigin and L.ShowFOV FOVOutline.Visible = validFovOrigin and L.ShowFOV L.FOVFill.Visible = validFovOrigin and L.ShowFOV if validFovOrigin then FOVCircle.Position = fovOrigin FOVOutline.Position = fovOrigin L.FOVFill.Position = fovOrigin FOVCircle.Radius = L.CurrentFOVRadius FOVOutline.Radius = L.CurrentFOVRadius L.FOVFill.Radius = L.CurrentFOVRadius FOVCircle.Color = L.FOVColor if Options["L.FOVFillColor"] then L.FOVFill.Color = L.FOVFillColor or Color3.fromRGB(83,132,171) L.FOVFill.Transparency = 1 - Options["L.FOVFillColor"].Transparency end end if not L.AimbotEnabled or not L.HoldingKey or not validFovOrigin then L.LockedTarget = nil return end local now = os.clock() if L.StickyAim then if not L.LockedTarget or not L.LockedTarget:IsDescendantOf(workspace) then if now >= L.NextTargetUpdate then L.LockedTarget = getClosestTarget() L.CachedTarget = L.LockedTarget L.NextTargetUpdate = now + L.TARGET_UPDATE_RATE else L.LockedTarget = L.CachedTarget end end else if now >= L.NextTargetUpdate then L.LockedTarget = getClosestTarget() L.CachedTarget = L.LockedTarget L.NextTargetUpdate = now + L.TARGET_UPDATE_RATE else L.LockedTarget = L.CachedTarget end end if L.LockedTarget then local targetPos3D = L.LockedTarget.Position if (L.AimbotPredDropEnabled or L.AimbotPredictionEnabled) and L.activeWeaponInterface and L.publicSettings then local activeController = L.activeWeaponInterface.getActiveWeaponController and L.activeWeaponInterface.getActiveWeaponController() local activeWeapon = activeController and activeController:getActiveWeapon() if activeWeapon then local targetVelocity = Vector3.zero if L.AimbotPredictionEnabled and L.movementCache then local player local targetModel = L.LockedTarget for _=1, 4 do if targetModel and targetModel:IsA("Model") and targetModel:FindFirstChild("PlayerTag", true) then break end if targetModel then targetModel = targetModel.Parent end end if targetModel then local targetName = getPlayerName(targetModel) if targetName then for _, p in pairs(Players:GetPlayers()) do if p.Name == targetName or p.DisplayName == targetName then player = p break end end end end if player and L.movementCache.position[player] and L.movementCache.position[player][15] and L.movementCache.time[15] then targetVelocity = (L.movementCache.position[player][15] - L.movementCache.position[player][1]) / (L.movementCache.time[15] - L.movementCache.time[1]) end end local speed = activeWeapon._weaponData.bulletspeed or 10000 local accel = L.AimbotPredDropEnabled and (L.publicSettings.bulletAcceleration or Vector3.new(0, -workspace.Gravity, 0)) or Vector3.zero local origin = Camera.CFrame.Position local velocity, time = L.complexTrajectory(origin, accel, targetPos3D, speed, targetVelocity) if time and time > 0 then if L.AimbotPredictionEnabled then targetPos3D = targetPos3D + (targetVelocity * time) end if L.AimbotPredDropEnabled then targetPos3D = targetPos3D - (0.5 * accel * time * time) end end end end local pos = Camera:WorldToViewportPoint(targetPos3D) local targetPos = Vector2.new(pos.X, pos.Y) local diff = targetPos - mousePos local dist = diff.Magnitude if dist > 0 then local maxStep = L.AimVelocity * dt local move if dist <= maxStep then move = diff else move = diff.Unit * maxStep end mousemoverel(move.X, move.Y) end end end) local OriginalSky = Lighting:FindFirstChild("OriginalSkyBackup") if not OriginalSky then local current = Lighting:FindFirstChildOfClass("Sky") if current then OriginalSky = current:Clone() OriginalSky.Name = "OriginalSkyBackup" OriginalSky.Parent = Lighting end end local function ApplySky(name) local data = L.Skyboxes[name] if not data then return end local sky = Lighting:FindFirstChildOfClass("Sky") if sky then sky:Destroy() end sky = Instance.new("Sky") sky.SkyboxBk = data.Bk sky.SkyboxDn = data.Dn sky.SkyboxFt = data.Ft sky.SkyboxLf = data.Lf sky.SkyboxRt = data.Rt sky.SkyboxUp = data.Up sky.Parent = Lighting end local function RestoreSky() local sky = Lighting:FindFirstChildOfClass("Sky") if sky then sky:Destroy() end if OriginalSky then OriginalSky:Clone().Parent = Lighting end end if L.SkyboxEnabled then ApplySky(L.SelectedSky) else RestoreSky() end local aimbotSnapAlpha = 0 local aimbotSnapWasDrawing = false RunService.RenderStepped:Connect(function(dt) if not L.SnapEnabled then SnapLine.Visible = false SnapOutline.Visible = false aimbotSnapWasDrawing = false return end local now = os.clock() if L.LockedTarget then L.CachedTarget = L.LockedTarget elseif now >= L.NextTargetUpdate then L.CachedTarget = getClosestTarget() L.NextTargetUpdate = now + L.TARGET_UPDATE_RATE end local target = L.CachedTarget if not target or not target:IsDescendantOf(workspace) then SnapLine.Visible = false SnapOutline.Visible = false aimbotSnapWasDrawing = false return end local pos, onScreen = Camera:WorldToViewportPoint(target.Position) if not onScreen then SnapLine.Visible = false SnapOutline.Visible = false aimbotSnapWasDrawing = false return end local origin if L.SnapLineMethod == "Gun Barrel" then if L.HasKnife or not L.GunBarrel or not L.GunBarrel:IsDescendantOf(Camera) then SnapLine.Visible = false SnapOutline.Visible = false aimbotSnapWasDrawing = false return end local v, onscreen = Camera:WorldToViewportPoint(L.GunBarrel.Position) if not onscreen then SnapLine.Visible = false SnapOutline.Visible = false aimbotSnapWasDrawing = false return end origin = Vector2.new(v.X, v.Y) else origin = UserInputService:GetMouseLocation() end local targetPos = Vector2.new(pos.X, pos.Y) if not aimbotSnapWasDrawing then aimbotSnapAlpha = 0 end aimbotSnapWasDrawing = true aimbotSnapAlpha = math.clamp(aimbotSnapAlpha + (dt / 0.1), 0, 1) SnapOutline.From = origin SnapOutline.To = targetPos SnapOutline.Transparency = aimbotSnapAlpha SnapOutline.Visible = true SnapLine.From = origin SnapLine.To = targetPos SnapLine.Transparency = aimbotSnapAlpha SnapLine.Visible = true end) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.Space then L.HoldingJump = true end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == Enum.KeyCode.Space then L.HoldingJump = false local char = L.charInterface and L.charInterface.getCharacterObject() local hum = char and char._humanoid if hum then hum.Jump = false end end end) RunService.Heartbeat:Connect(function() if not L.NoJumpCooldownEnabled or not L.HoldingJump then return end local char = L.charInterface and L.charInterface.getCharacterObject() local hum = char and char._humanoid if hum and hum.Health > 0 then hum.Jump = true end end) local function collect() table.clear(L.Roots) table.clear(L.BaseCF) for _, model in ipairs(Camera:GetChildren()) do if model:IsA("Model") then local root = model.PrimaryPart or model:FindFirstChildWhichIsA("BasePart") if root then model.PrimaryPart = root L.Roots[#L.Roots + 1] = root L.BaseCF[root] = root.CFrame end end end end RunService:BindToRenderStep( "ViewModelUpdater", Enum.RenderPriority.Last.Value, function(dt) if not L.ViewModelEnabled then return end L.LastScan += dt if L.LastScan >= L.ScanInterval then L.LastScan = 0 collect() end for _, root in ipairs(L.Roots) do local base = L.BaseCF[root] if root and base then root.CFrame = Camera.CFrame * CFrame.new(L.Offset) * (Camera.CFrame:Inverse() * base) end end end ) local function reset() for root, cf in pairs(L.BaseCF) do if root and root:IsDescendantOf(Camera) then root.CFrame = cf end end end local function createBox1(model) if L.BoxDrawings[model] then return end local outline = Drawing.new("Square") outline.Color = Color3.new(0, 0, 0) outline.Thickness = L.BoxOutlineThickness or 3 outline.Filled = false outline.Visible = false local box = Drawing.new("Square") box.Color = L.BoxColor box.Thickness = L.BoxThickness or 1 box.Filled = false box.Visible = false L.BoxFillDrawings = L.BoxFillDrawings or {} L.BoxFillDrawings[model] = Drawing.new("Square") L.BoxFillDrawings[model].Color = L.BoxFillColor or Color3.fromRGB(84, 132, 171) L.BoxFillDrawings[model].Thickness = 0 L.BoxFillDrawings[model].Filled = true L.BoxFillDrawings[model].Visible = false L.BoxOutlineDrawings[model] = outline L.BoxDrawings[model] = box end local function removeBox(model) if L.BoxDrawings[model] then L.BoxDrawings[model]:Remove() L.BoxDrawings[model] = nil end if L.BoxOutlineDrawings[model] then L.BoxOutlineDrawings[model]:Remove() L.BoxOutlineDrawings[model] = nil end if L.BoxFillDrawings and L.BoxFillDrawings[model] then L.BoxFillDrawings[model]:Remove() L.BoxFillDrawings[model] = nil end end local function hookBoxModel(model) if not model:IsA("Model") then return end createBox1(model) for _, c in ipairs(model:GetChildren()) do if c:IsA("Model") then createBox1(c) end end end for _, folder in ipairs(PlayersFolder:GetChildren()) do if folder:IsA("Folder") then for _, model in ipairs(folder:GetChildren()) do hookBoxModel(model) end folder.ChildAdded:Connect(hookBoxModel) folder.ChildRemoved:Connect(removeBox) end end PlayersFolder.ChildAdded:Connect(function(folder) if folder:IsA("Folder") then folder.ChildAdded:Connect(hookBoxModel) folder.ChildRemoved:Connect(removeBox) end end) for _, root in ipairs(WeaponRoots) do for _, obj in ipairs(root:GetDescendants()) do if obj:IsA("ModuleScript") then local ok, data = pcall(require, obj) if ok and type(data) == "table" and type(data.firesoundid) == "string" then L.ValidSoundIds[data.firesoundid] = true end end end end local function applySound(s) if not s:IsA("Sound") then return end if not L.ValidSoundIds[s.SoundId] then return end if not L.SoundBackup[s] then L.SoundBackup[s] = { Id = s.SoundId, Volume = s.Volume } end local id = L.SoundMap[L.SelectedSound] if id and s.SoundId ~= id then s.SoundId = id end s.Volume = L.SoundVolume end local function restoreSound(s) local old = L.SoundBackup[s] if old then s.SoundId = old.Id s.Volume = old.Volume L.SoundBackup[s] = nil end end local function scan(m) for _, v in ipairs(m:GetDescendants()) do if v:IsA("Sound") then if L.GunshotOverride then applySound(v) else restoreSound(v) end end end end RunService.RenderStepped:Connect(function() local cam = Camera if not cam then return end for _, obj in ipairs(cam:GetChildren()) do if obj:IsA("Model") then scan(obj) end end end) L.CoreGui = game:GetService("CoreGui") L.MiniUI = Instance.new("ScreenGui") L.MiniUI.Name = "MiniLibUI" L.MiniUI.ZIndexBehavior = Enum.ZIndexBehavior.Global L.MiniUI.ResetOnSpawn = false L.MiniUI.DisplayOrder = 999999999 L.MiniUI.Enabled = false L.ProtectGui = protectgui or (syn and syn.protect_gui) or function() end pcall(L.ProtectGui, L.MiniUI) L.Success = pcall(function() L.MiniUI.Parent = L.CoreGui end) if not L.Success then L.MiniUI.Parent = LocalPlayer:WaitForChild("PlayerGui") end L.MiniMainColor = Color3.fromRGB(22, 22, 22) L.MiniBackgroundColor = Color3.fromRGB(19, 19, 19) L.MiniAccentColor = Color3.fromRGB(131, 146, 255) L.MiniOutlineColor = Color3.fromRGB(30, 30, 30) L.MiniBlackColor = Color3.new(0, 0, 0) L.MiniOuterBorder = Instance.new("Frame") L.MiniOuterBorder.Name = "OuterBorder" L.MiniOuterBorder.BackgroundColor3 = L.MiniBlackColor L.MiniOuterBorder.BorderColor3 = L.MiniBlackColor L.MiniOuterBorder.BorderSizePixel = 0 L.MiniOuterBorder.Position = UDim2.new(0.5, -45, 0.5, 40) L.MiniOuterBorder.Size = UDim2.new(0, 66, 0, 26) L.MiniOuterBorder.Parent = L.MiniUI L.MiniDragButton = Instance.new("TextButton") L.MiniDragButton.Name = "DragButton" L.MiniDragButton.Size = UDim2.new(1, 40, 1, 40) L.MiniDragButton.Position = UDim2.new(0, -20, 0, -20) L.MiniDragButton.BackgroundTransparency = 1 L.MiniDragButton.Text = "" L.MiniDragButton.ZIndex = 10 L.MiniDragButton.Parent = L.MiniOuterBorder L.MiniDragButton.Active = true L.MiniMainOutline = Instance.new("Frame") L.MiniMainOutline.Name = "MainOutline" L.MiniMainOutline.BackgroundColor3 = L.MiniOutlineColor L.MiniMainOutline.BorderSizePixel = 0 L.MiniMainOutline.Position = UDim2.new(0, 1, 0, 1) L.MiniMainOutline.Size = UDim2.new(1, -2, 1, -2) L.MiniMainOutline.Parent = L.MiniOuterBorder L.MiniInnerBorder = Instance.new("Frame") L.MiniInnerBorder.Name = "InnerBorder" L.MiniInnerBorder.BackgroundColor3 = L.MiniBlackColor L.MiniInnerBorder.BorderSizePixel = 0 L.MiniInnerBorder.Position = UDim2.new(0, 1, 0, 1) L.MiniInnerBorder.Size = UDim2.new(1, -2, 1, -2) L.MiniInnerBorder.Parent = L.MiniMainOutline L.MiniBackground = Instance.new("Frame") L.MiniBackground.Name = "Background" L.MiniBackground.BackgroundColor3 = L.MiniBackgroundColor L.MiniBackground.BorderSizePixel = 0 L.MiniBackground.Position = UDim2.new(0, 1, 0, 1) L.MiniBackground.Size = UDim2.new(1, -2, 1, -2) L.MiniBackground.Parent = L.MiniInnerBorder L.MiniAccentLine = Instance.new("Frame") L.MiniAccentLine.Name = "AccentLine" L.MiniAccentLine.BackgroundColor3 = Library.AccentColor L.MiniAccentLine.BorderSizePixel = 0 L.MiniAccentLine.Position = UDim2.new(0, 0, 0, 0) L.MiniAccentLine.Size = UDim2.new(1, 0, 0, 1) L.MiniAccentLine.Parent = L.MiniBackground L.AmmoLabel = Instance.new("TextLabel") L.AmmoLabel.Name = "ValueLabel" L.AmmoLabel.BackgroundTransparency = 1 L.AmmoLabel.Position = UDim2.new(0, 0, 0, 0) L.AmmoLabel.Size = UDim2.new(1, 0, 1, 0) L.AmmoLabel.Font = Enum.Font.BuilderSans L.AmmoLabel.Text = "0/0" L.AmmoLabel.LineHeight = 1.1 L.AmmoLabel.TextColor3 = Color3.fromRGB(255, 255, 255) L.AmmoLabel.TextSize = 15 L.AmmoLabel.TextStrokeTransparency = 0 L.AmmoLabel.Parent = L.MiniBackground L.MiniUIPadding = Instance.new("UIPadding") L.MiniUIPadding.Parent = L.AmmoLabel L.MiniUITextSizeConstraint = Instance.new("UITextSizeConstraint") L.MiniUITextSizeConstraint.MaxTextSize = 17 L.MiniUITextSizeConstraint.MinTextSize = 14 L.MiniUITextSizeConstraint.Parent = L.AmmoLabel L.MiniDragButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then L.MiniDragging = true L.MiniDragStart = input.Position L.MiniStartPos = L.MiniOuterBorder.Position end end) L.MiniDragButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if L.MiniDragging then local delta = input.Position - L.MiniDragStart L.MiniOuterBorder.Position = UDim2.new(L.MiniStartPos.X.Scale, L.MiniStartPos.X.Offset + delta.X, L.MiniStartPos.Y.Scale, L.MiniStartPos.Y.Offset + delta.Y) end end end) L.MiniDragButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then L.MiniDragging = false end end) L.HealthDrawings = L.HealthDrawings or {} L.HealthOutlineDrawings = L.HealthOutlineDrawings or {} L.HealthTextDrawings = L.HealthTextDrawings or {} local BAR_WIDTH = 2 local OUTLINE_WIDTH = 4 local function createHealth(model) if L.HealthDrawings[model] then return end local outline = Drawing.new("Square") outline.Color = Color3.new(0, 0, 0) outline.Thickness = 1 outline.Filled = true outline.ZIndex = 10 outline.Visible = false local segments = {} for i = 1, 80 do local bar = Drawing.new("Square") bar.Thickness = 0 bar.Filled = true bar.ZIndex = 11 bar.Visible = false segments[i] = bar end local hText = Drawing.new("Text") hText.Size = 13 hText.Outline = true hText.Center = true hText.ZIndex = 12 if table.find(SafeFonts, L.CurrentFont) then hText.Font = L.CurrentFont end hText.Visible = false L.HealthOutlineDrawings[model] = outline L.HealthDrawings[model] = segments L.HealthTextDrawings[model] = hText end local function removeHealth(model) if L.HealthDrawings[model] then for _, bar in ipairs(L.HealthDrawings[model]) do bar:Remove() end L.HealthDrawings[model] = nil end if L.HealthOutlineDrawings[model] then L.HealthOutlineDrawings[model]:Remove() L.HealthOutlineDrawings[model] = nil end if L.HealthTextDrawings[model] then L.HealthTextDrawings[model]:Remove() L.HealthTextDrawings[model] = nil end end L.HealthCache = L.HealthCache or {} local function getEntryByModel(model) local cached = L.EntryCache[model] if cached ~= nil then return cached end if not L.SilentRE then return nil end local foundEntry = nil local name = model.Name local player = game:GetService("Players"):FindFirstChild(name) if player then foundEntry = L.SilentRE.getEntry(player) end if not foundEntry then local foundName = getPlayerName(model) if foundName then local foundPlayer = game:GetService("Players"):FindFirstChild(foundName) if foundPlayer then foundEntry = L.SilentRE.getEntry(foundPlayer) end end end if not foundEntry then L.SilentRE.operateOnAllEntries(function(plr, entry) if foundEntry then return end local tp = entry.getThirdPersonObject and entry:getThirdPersonObject() if tp and tp.getCharacterModel and tp:getCharacterModel() == model then foundEntry = entry end end) end if L.SilentRE then local res = foundEntry or false L.EntryCache[model] = res end return foundEntry end local function getHealthScale(model) local entry = getEntryByModel(model) if entry and entry.getHealth then local h = entry:getHealth() if type(h) == "number" then return math.clamp(h / 100, 0, 1) end end local ch = L.HealthCache[model] if ch == false then return 1 end if ch and ch:IsDescendantOf(model) then local scale = ch.Size.X.Scale if scale ~= scale then return 1 end return math.clamp(scale, 0, 1) end for _, d in ipairs(model:GetDescendants()) do if d:IsA("Frame") and d.Name == "Percent" then local health = d:FindFirstAncestor("Health") if health then local tag = health:FindFirstAncestor("PlayerTag") if tag and tag:FindFirstAncestor("NameTagGui") then L.HealthCache[model] = d local scale = d.Size.X.Scale if scale ~= scale then return 1 end return math.clamp(scale, 0, 1) end end end end L.HealthCache[model] = false return 1 end local function hookHealthModel(model) if not model:IsA("Model") then return end createHealth(model) for _, c in ipairs(model:GetChildren()) do if c:IsA("Model") then createHealth(c) end end end for _, folder in ipairs(PlayersFolder:GetChildren()) do if folder:IsA("Folder") then for _, model in ipairs(folder:GetChildren()) do hookHealthModel(model) end folder.ChildAdded:Connect(hookHealthModel) folder.ChildRemoved:Connect(removeHealth) end end PlayersFolder.ChildAdded:Connect(function(folder) if folder:IsA("Folder") then folder.ChildAdded:Connect(hookHealthModel) folder.ChildRemoved:Connect(removeHealth) end end) local lastESPUpdate = 0 RunService.RenderStepped:Connect(function(dt) for m, d in pairs(L.DistanceDrawings) do if not m.Parent then d:Remove() L.DistanceDrawings[m]=nil if L.WeaponDrawings[m] then L.WeaponDrawings[m]:Remove() L.WeaponDrawings[m]=nil end end end for m, d in pairs(L.NameDrawings) do if not m.Parent then d:Remove() L.NameDrawings[m]=nil end end for m, box in pairs(L.BoxDrawings) do if not m.Parent then box:Remove() L.BoxDrawings[m]=nil if L.BoxOutlineDrawings[m] then L.BoxOutlineDrawings[m]:Remove() L.BoxOutlineDrawings[m]=nil end if L.BoxFillDrawings and L.BoxFillDrawings[m] then L.BoxFillDrawings[m]:Remove() L.BoxFillDrawings[m]=nil end end end for m, arr in pairs(L.HealthDrawings) do if not m.Parent then for _,l in ipairs(arr) do l:Remove() end L.HealthDrawings[m]=nil if L.HealthOutlineDrawings[m] then L.HealthOutlineDrawings[m]:Remove() L.HealthOutlineDrawings[m]=nil end if L.HealthTextDrawings[m] then L.HealthTextDrawings[m]:Remove() L.HealthTextDrawings[m]=nil end end end local now = os.clock() local distEnabled = L.DistanceESPEnabled local weaponEnabled = L.WeaponESPEnabled local nameEnabled = L.NameESPEnabled local boxEnabled = L.BoxESPEnabled local healthEnabled = L.HealthESPEnabled local chamsEnabled = L.ChamsEnabled if now - lastESPUpdate < 1/120 then return end lastESPUpdate = now for _, t in pairs(L.DistanceDrawings) do if not distEnabled then t.Visible = false end end for _, t in pairs(L.WeaponDrawings) do if not weaponEnabled then t.Visible = false end end for _, t in pairs(L.NameDrawings) do if not nameEnabled then t.Visible = false end end for _, b in pairs(L.BoxDrawings) do if not boxEnabled then b.Visible = false end end for _, o in pairs(L.BoxOutlineDrawings) do if not boxEnabled then o.Visible = false end end if L.BoxFillDrawings then for _, f in pairs(L.BoxFillDrawings) do if not (L.BoxFillEnabled and boxEnabled) then f.Visible = false end end end for _, hTable in pairs(L.HealthDrawings) do if not healthEnabled then for i = 1, 80 do hTable[i].Visible = false end end end for _, o in pairs(L.HealthOutlineDrawings) do if not healthEnabled then o.Visible = false end end if not (distEnabled or weaponEnabled or nameEnabled or boxEnabled or healthEnabled or chamsEnabled) then return end local camPos = Camera.CFrame.Position local maxDist = L.DistanceMax or 750 for model, _ in pairs(L.DistanceDrawings) do local textName = L.NameDrawings[model] local textWeapon = L.WeaponDrawings[model] local textDist = L.DistanceDrawings[model] local boxes = L.BoxDrawings[model] local outlines = L.BoxOutlineDrawings[model] local healthBar = L.HealthDrawings[model] local healthOutline = L.HealthOutlineDrawings[model] local healthText = L.HealthTextDrawings[model] local shouldShow = true local torso, dist, topPos, bottomPos, topVis, bottomVis, topWorld, bottomWorld, nameWorld if not model:IsDescendantOf(PlayersFolder) then shouldShow = false end if shouldShow then torso = getTorso(model) if not torso or not checkEnemyByModel(model) then shouldShow = false end end if shouldShow then dist = (camPos - torso.Position).Magnitude if dist > maxDist or not isOnScreen(torso) then shouldShow = false end end if shouldShow then topWorld = torso.Position + Vector3.new(0, 3, 0) bottomWorld = torso.Position - Vector3.new(0, 3.5, 0) nameWorld = torso.Position + Vector3.new(0, 3.5, 0) topPos, topVis = Camera:WorldToViewportPoint(topWorld) bottomPos, bottomVis = Camera:WorldToViewportPoint(bottomWorld) if not topVis or not bottomVis then shouldShow = false end end if not shouldShow then L.FadeCache[model] = nil if textName then textName.Visible = false end if textWeapon then textWeapon.Visible = false end if textDist then textDist.Visible = false end if boxes then boxes.Visible = false end if outlines then outlines.Visible = false end if L.BoxFillDrawings and L.BoxFillDrawings[model] then L.BoxFillDrawings[model].Visible = false end if healthBar then for i = 1, 80 do healthBar[i].Visible = false end end if healthOutline then healthOutline.Visible = false end if healthText then healthText.Visible = false L.HealthTextFadeCache[model] = nil end local activeChams = L.ActiveChams[model] if activeChams then for i = 1, #activeChams do local b = activeChams[i] if b:IsA("Highlight") then b.Enabled = false b.FillTransparency = 1 b.OutlineTransparency = 1 else b.Visible = false b.Transparency = 1 end end end continue end local startTime = L.FadeCache[model] if not startTime then startTime = now L.FadeCache[model] = startTime end local fadeAlpha = math.clamp((now - startTime) / L.FadeTime, 0, 1) local height = math.floor(math.abs(topPos.Y - bottomPos.Y)) local width = math.floor(height * 0.55) local x = math.floor(topPos.X - width / 2) local y = math.floor(topPos.Y) local function applyFontCase(txt) if not txt then return txt end local case = L.FontCase or Options.FontCaseDropdown and Options.FontCaseDropdown.Value or "Normal" if case == "Lowercase" then return string.lower(txt) elseif case == "Uppercase" then return string.upper(txt) elseif case == "Normal" then return (string.lower(txt):gsub("^%l", string.upper):gsub("[%s%p]%l", string.upper)) end return txt end if textName and nameEnabled then local name = getPlayerName(model) if name then textName.Position = Vector2.new(x + width / 2, y - 15) textName.Text = applyFontCase(name) textName.Transparency = fadeAlpha textName.Visible = true else textName.Visible = false end elseif textName then textName.Visible = false end if textWeapon and weaponEnabled then local weaponName = "Unknown" if L.SilentRE then local targetName = getPlayerName(model) for _, player in pairs(Players:GetPlayers()) do if targetName and (player.Name == targetName or player.DisplayName == targetName) then local entry = L.SilentRE.getEntry(player) if entry then local pWeaponObj = entry:getWeaponObject() if pWeaponObj and pWeaponObj.weaponName then weaponName = pWeaponObj.weaponName end end break end end end textWeapon.Position = Vector2.new(x + width / 2, y + height) textWeapon.Text = applyFontCase(weaponName) textWeapon.Color = L.WeaponTextColor textWeapon.Transparency = fadeAlpha textWeapon.Visible = true elseif textWeapon then textWeapon.Visible = false end if textDist and distEnabled then textDist.Position = Vector2.new(x + width / 2, y + height + (weaponEnabled and 13 or 0)) textDist.Text = math.floor(dist).."s" textDist.Color = L.DistanceTextColor textDist.Transparency = fadeAlpha textDist.Visible = true elseif textDist then textDist.Visible = false end if boxes and outlines and boxEnabled then boxes.Visible = true outlines.Visible = true boxes.Color = L.BoxColor outlines.Color = Color3.new(0,0,0) boxes.Transparency = fadeAlpha outlines.Transparency = fadeAlpha local tl = Vector2.new(x, y) local sz = Vector2.new(width, height) boxes.Size = sz boxes.Position = tl outlines.Size = sz outlines.Position = tl if L.BoxFillDrawings and L.BoxFillDrawings[model] and L.BoxFillEnabled then L.BoxFillDrawings[model].Visible = true L.BoxFillDrawings[model].Color = L.BoxFillColor or Color3.fromRGB(84, 132, 171) L.fillTrans = 0.5 if Options and Options["BoxFillColorPicker"] then L.fillTrans = Options["BoxFillColorPicker"].Transparency end L.BoxFillDrawings[model].Transparency = (1 - L.fillTrans) * fadeAlpha L.BoxFillDrawings[model].Size = sz L.BoxFillDrawings[model].Position = tl elseif L.BoxFillDrawings and L.BoxFillDrawings[model] then L.BoxFillDrawings[model].Visible = false end elseif boxes then boxes.Visible = false outlines.Visible = false if L.BoxFillDrawings and L.BoxFillDrawings[model] then L.BoxFillDrawings[model].Visible = false end end if healthBar and healthOutline and healthEnabled then local healthScale = getHealthScale(model) local visualScale = L.VisualHealth[model] if not visualScale then visualScale = healthScale L.VisualHealth[model] = visualScale end visualScale = visualScale + (healthScale - visualScale) * math.clamp(dt * 10, 0, 1) L.VisualHealth[model] = visualScale local barX = math.floor(x - 5) local barY = math.floor(y) healthOutline.Size = Vector2.new(OUTLINE_WIDTH, math.floor(height) + 2) healthOutline.Position = Vector2.new(barX - 1, barY - 1) healthOutline.Transparency = fadeAlpha healthOutline.Visible = true if L.HealthGradientEnabled then local segmentCount = 80 local segmentHeight = height / segmentCount local totalFillHeight = height * visualScale for i = 1, segmentCount do local segment = healthBar[i] if segment then local sP = (i - 1) / (segmentCount - 1) if L.HealthGradientRotationEnabled then sP = (math.sin(i / 15 + tick() * (L.HealthGradientRotationSpeed or 4)) + 1) / 2 end local sBottomOffset = (i - 1) * segmentHeight if sBottomOffset < totalFillHeight then local sFillHeight = math.min(segmentHeight, totalFillHeight - sBottomOffset) local sTopPos = math.floor(barY + height - sBottomOffset - sFillHeight) local sBottomPos = math.floor(barY + height - sBottomOffset) segment.Size = Vector2.new(BAR_WIDTH, sBottomPos - sTopPos) segment.Position = Vector2.new(barX, sTopPos) segment.Color = L.HealthLowColor:Lerp(L.HealthHighColor, sP) segment.Transparency = fadeAlpha segment.Visible = true else segment.Visible = false end end end else local barHeight = math.ceil(height * visualScale) local barYPos = math.floor(barY + (height - barHeight)) if healthBar[1] then healthBar[1].Size = Vector2.new(BAR_WIDTH, barHeight) healthBar[1].Position = Vector2.new(barX, barYPos) healthBar[1].Color = L.HealthLowColor:Lerp(L.HealthHighColor, visualScale) healthBar[1].Transparency = fadeAlpha healthBar[1].Visible = true end for i = 2, 80 do if healthBar[i] then healthBar[i].Visible = false end end end local hText = L.HealthTextDrawings[model] if hText then local fadeProgress = L.HealthTextFadeCache[model] or 0 if L.HealthTextEnabled and healthScale < 1 then fadeProgress = math.min(fadeProgress + (dt / 0.15), 1) else fadeProgress = math.max(fadeProgress - (dt / 0.15), 0) end L.HealthTextFadeCache[model] = fadeProgress if fadeProgress > 0 then local textY = barY + height - (height * visualScale) hText.Text = tostring(math.floor(healthScale * 100)) hText.Position = Vector2.new(barX - 10, textY - 8) hText.Size = 13 hText.Color = L.HealthTextColor hText.Transparency = fadeProgress * fadeAlpha hText.Visible = true else hText.Visible = false end end elseif healthBar then for i = 1, 80 do healthBar[i].Visible = false end healthOutline.Visible = false local hText = L.HealthTextDrawings[model] if hText then hText.Visible = false end end if chamsEnabled then local activeChams = L.ActiveChams[model] if activeChams then local chamsBaseTrans = L.ChamsTransparency or 0.5 local chamsFadeAlpha = 1 - (fadeAlpha * (1 - chamsBaseTrans)) for i = 1, #activeChams do local b = activeChams[i] if b:IsA("Highlight") then b.FillTransparency = chamsFadeAlpha b.OutlineTransparency = chamsFadeAlpha b.Enabled = true else b.Transparency = chamsFadeAlpha b.Visible = true end end end else local activeChams = L.ActiveChams[model] if activeChams then for i = 1, #activeChams do local b = activeChams[i] if b:IsA("Highlight") then b.Enabled = false else b.Visible = false end end end end end end) local function applyFontSafe(drawing, font) if table.find(SafeFonts, font) then drawing.Font = font end end local function updateAllFonts(fontId) L.CurrentFont = fontId for _, d in pairs(L.DistanceDrawings) do applyFontSafe(d, fontId) end for _, d in pairs(L.NameDrawings) do applyFontSafe(d, fontId) end for _, d in pairs(L.WeaponDrawings) do applyFontSafe(d, fontId) end for _, d in pairs(L.HealthTextDrawings) do applyFontSafe(d, fontId) end end local BARREL_MESH_ID = "12272787618" local nextGunCheck = 0 RunService.Heartbeat:Connect(function() local now = os.clock() if now >= nextGunCheck then local knifeFound = false for _, m in ipairs(Camera:GetChildren()) do if m:IsA("Model") and m:FindFirstChild("Trigger", true) then knifeFound = true break end end L.HasKnife = knifeFound end if L.SnapLineMethod ~= "Gun Barrel" and L.FovPositionMethod ~= "Gun Barrel" and L.SilentSnapOriginMethod ~= "Gun Barrel" and L.SilentFOVOriginMethod ~= "Gun Barrel" and L.CrosshairPositionMode ~= "Gun Barrel" then L.GunBarrel = nil return end if L.GunBarrel and L.GunBarrel:IsDescendantOf(Camera) then L.LastGunBarrelTime = now return end if now >= nextGunCheck then nextGunCheck = now + 0.25 local found = nil for _, obj in ipairs(Camera:GetDescendants()) do if obj:IsA("SpecialMesh") and obj.MeshId:find(BARREL_MESH_ID) then local p = obj.Parent if p and p:IsA("BasePart") then found = p L.LastGunBarrelTime = now break end end end L.GunBarrel = found end end) local lines = {} for i = 1, 4 do lines[i] = Drawing.new("Line") lines[i].Thickness = 2 lines[i].Color = L.CrosshairColor lines[i].ZIndex = 2 lines[i].Visible = false end local outlines = {} for i = 1, 4 do outlines[i] = Drawing.new("Line") outlines[i].Thickness = 4 outlines[i].Color = Color3.new(0,0,0) outlines[i].ZIndex = 1 outlines[i].Visible = false end local flapLines = {} for i = 1, 4 do flapLines[i] = Drawing.new("Line") flapLines[i].Thickness = 2 flapLines[i].Color = L.CrosshairColor flapLines[i].ZIndex = 2 flapLines[i].Visible = false end local flapOutlines = {} for i = 1, 4 do flapOutlines[i] = Drawing.new("Line") flapOutlines[i].Thickness = 4 flapOutlines[i].Color = Color3.new(0,0,0) flapOutlines[i].ZIndex = 1 flapOutlines[i].Visible = false end local starLines = {} local starOutlines = {} for i = 1, 6 do starLines[i] = Drawing.new("Line") starLines[i].Thickness = 2 starLines[i].Color = Color3.fromRGB(255,255,255) starLines[i].ZIndex = 2 starLines[i].Visible = false starOutlines[i] = Drawing.new("Line") starOutlines[i].Thickness = 4 starOutlines[i].Color = Color3.new(0,0,0) starOutlines[i].ZIndex = 1 starOutlines[i].Visible = false end local dot = Drawing.new("Circle") dot.Filled = true dot.Thickness = 1 dot.Color = L.CrosshairColor dot.ZIndex = 2 dot.Visible = false local dotOutline = Drawing.new("Circle") dotOutline.Filled = true dotOutline.Thickness = 1 dotOutline.Color = Color3.new(0,0,0) dotOutline.ZIndex = 1 dotOutline.Visible = false local angle = 0 local SIDE_ORDER = {"Top","Right","Bottom","Left"} local ANGLES = {0,90,180,270} local cachedTarget = nil local nextTargetUpdate = 0 local function getDefaultCrosshairCenter(camera) if L.CrosshairPositionMode == "Center Of Screen" then local size = camera.ViewportSize return Vector2.new(size.X/2, size.Y/2) elseif L.CrosshairPositionMode == "Gun Barrel" then if L.HasKnife or not L.GunBarrel or not L.GunBarrel:IsDescendantOf(Camera) then return nil end local forwardOffset = 7.5 local worldPos = L.GunBarrel.Position + (L.GunBarrel.CFrame.LookVector * forwardOffset) local v, onScreen = camera:WorldToViewportPoint(worldPos) if not onScreen then return nil end return Vector2.new(v.X, v.Y) else local mousePos = UserInputService:GetMouseLocation() return Vector2.new(mousePos.X, mousePos.Y) end end local function getCrosshairCenter(dt) local camera = Workspace.CurrentCamera if not camera then return Vector2.new(0,0) end if L.CrosshairLockOnTarget then local now = os.clock() local activeTarget = nil if L.SilentEnabled then if now >= (L.CrosshairSilentNextUpdate or 0) then local _, _, tPart = L:GetSilentClosestTarget() L.CrosshairSilentCachedTarget = tPart L.CrosshairSilentNextUpdate = now + L.TARGET_UPDATE_RATE end activeTarget = L.CrosshairSilentCachedTarget elseif L.AimbotEnabled then if L.LockedTarget and L.LockedTarget:IsDescendantOf(workspace) then cachedTarget = L.LockedTarget nextTargetUpdate = now + L.TARGET_UPDATE_RATE activeTarget = cachedTarget elseif now >= nextTargetUpdate then cachedTarget = getClosestTarget() nextTargetUpdate = now + L.TARGET_UPDATE_RATE activeTarget = cachedTarget else activeTarget = cachedTarget end end if activeTarget and activeTarget:IsDescendantOf(workspace) then local pos, onScreen = camera:WorldToViewportPoint(activeTarget.Position) if onScreen then local targetPos = Vector2.new(pos.X, pos.Y) if not L.CrosshairCurrentOrigin then L.CrosshairCurrentOrigin = targetPos else L.CrosshairCurrentOrigin = L.CrosshairCurrentOrigin:Lerp(targetPos, math.clamp(dt * 35, 0, 1)) end return L.CrosshairCurrentOrigin end end end local fallback = getDefaultCrosshairCenter(camera) local origin = fallback or Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y/2) if L.CrosshairCurrentOrigin and (L.CrosshairCurrentOrigin - origin).Magnitude > 1 then L.CrosshairCurrentOrigin = L.CrosshairCurrentOrigin:Lerp(origin, math.clamp(dt * 35, 0, 1)) else L.CrosshairCurrentOrigin = nil end return L.CrosshairCurrentOrigin or origin end RunService.RenderStepped:Connect(function(dt) if not L.CrosshairEnabled then for i = 1,4 do lines[i].Visible = false outlines[i].Visible = false flapLines[i].Visible = false flapOutlines[i].Visible = false end for i = 1,6 do starLines[i].Visible = false starOutlines[i].Visible = false end if dot then dot.Visible = false end if dotOutline then dotOutline.Visible = false end return end local center = getCrosshairCenter(dt) if L.CrosshairSpin then angle = (angle + dt * L.CrosshairSpinSpeed) % 360 else angle = 0 end local size = L.CrosshairSize local gap = L.CrosshairGap local thickness = L.CrosshairThickness local sides = STYLE_SIDES[L.CrosshairStyle] or STYLE_SIDES["1"] if L.CrosshairStyle == "4" then for i = 1,4 do lines[i].Visible = false outlines[i].Visible = false flapLines[i].Visible = false flapOutlines[i].Visible = false end for i = 1,6 do starLines[i].Visible = false starOutlines[i].Visible = false end local dotRadius = math.max(1, math.floor(thickness * 1.5)) dot.Radius = dotRadius dot.Position = center dot.Color = L.CrosshairColor dot.Visible = true dotOutline.Radius = dotRadius + 1 dotOutline.Position = center dotOutline.Visible = true return elseif L.CrosshairStyle == "6" then dot.Visible = false dotOutline.Visible = false for i = 1,4 do lines[i].Visible = false outlines[i].Visible = false flapLines[i].Visible = false flapOutlines[i].Visible = false end local R = size local triAngles = { {90, 210, 330}, {270, 30, 150}, } local lineIdx = 1 for _, tri in ipairs(triAngles) do local verts = {} for j = 1, 3 do local rad = math.rad(angle + tri[j]) verts[j] = center + Vector2.new(math.cos(rad), -math.sin(rad)) * R end for j = 1, 3 do local a = verts[j] local b = verts[(j % 3) + 1] starLines[lineIdx].From = a starLines[lineIdx].To = b starLines[lineIdx].Thickness = thickness starLines[lineIdx].Color = L.CrosshairColor starLines[lineIdx].Visible = true starOutlines[lineIdx].From = a starOutlines[lineIdx].To = b starOutlines[lineIdx].Thickness = thickness + 2 starOutlines[lineIdx].Visible = true lineIdx = lineIdx + 1 end end return else dot.Visible = false dotOutline.Visible = false for i = 1,6 do starLines[i].Visible = false starOutlines[i].Visible = false end end for i = 1,4 do lines[i].Thickness = thickness outlines[i].Thickness = thickness + 2 flapLines[i].Thickness = thickness flapOutlines[i].Thickness = thickness + 2 local sideName = SIDE_ORDER[i] if sides[sideName] then local rad = math.rad(angle + ANGLES[i]) local dir = Vector2.new(math.cos(rad), math.sin(rad)) local from = center + dir * gap local to = center + dir * (gap + size) if L.CrosshairStyle == "5" then local perp = Vector2.new(-dir.Y, dir.X) local offset = math.max(2, size) from = center to = center + dir * (gap + size) flapLines[i].From = to flapLines[i].To = to + perp * offset flapLines[i].Color = L.CrosshairColor flapLines[i].Visible = true flapOutlines[i].From = to flapOutlines[i].To = to + perp * offset flapOutlines[i].Visible = true else flapLines[i].Visible = false flapOutlines[i].Visible = false end lines[i].From = from lines[i].To = to lines[i].Color = L.CrosshairColor lines[i].Visible = true outlines[i].From = from outlines[i].To = to outlines[i].Visible = true else lines[i].Visible = false outlines[i].Visible = false flapLines[i].Visible = false flapOutlines[i].Visible = false end end end) local SilentSnapOutline = Drawing.new("Line") SilentSnapOutline.Thickness = 3 SilentSnapOutline.Color = Color3.new(0,0,0) SilentSnapOutline.Transparency = 1 SilentSnapOutline.Visible = false local SilentSnapLine = Drawing.new("Line") SilentSnapLine.Thickness = 1 SilentSnapLine.Color = Color3.fromRGB(255,255,255) SilentSnapLine.Transparency = 1 SilentSnapLine.Visible = false local SilentFOVOutline = Drawing.new("Circle") SilentFOVOutline.Filled = false SilentFOVOutline.Thickness = 3 SilentFOVOutline.Color = Color3.new(0,0,0) SilentFOVOutline.Transparency = 1 SilentFOVOutline.Visible = false local SilentFOVCircle = Drawing.new("Circle") SilentFOVCircle.Filled = false SilentFOVCircle.Thickness = 1 SilentFOVCircle.Color = L.SilentFOVColor SilentFOVCircle.Transparency = 1 SilentFOVCircle.Visible = false L.SilentFOVFill = Drawing.new("Circle") L.SilentFOVFill.Filled = true L.SilentFOVFill.Thickness = 0 L.SilentFOVFill.Color = Color3.fromRGB(83, 132, 171) L.SilentFOVFill.Transparency = 0.5 L.SilentFOVFill.Visible = false local SilentLocalTeam = nil function L:ResolveBarrelMotor() if self.GunBarrelMotor or not self.GunBarrel then return end for _, d in ipairs(self.GunBarrel:GetDescendants()) do if d:IsA("Motor6D") then self.GunBarrelMotor = d self.GunBarrelMotorOriginal = d.Transform return end end for _, d in ipairs(self.GunBarrel:GetDescendants()) do if d:IsA("Weld") then self.GunBarrelMotor = d self.GunBarrelMotorOriginal = d.C0 return end end end local function GetSilentScreenOrigin() if L.SilentFOVOriginMethod == "Gun Barrel" then if L.HasKnife then return nil, false, nil end if L.GunBarrel and L.GunBarrel:IsDescendantOf(Camera) then local p = L.GunBarrel.Position + (L.GunBarrel.CFrame.LookVector * 7.5) local v, onScreen = Camera:WorldToViewportPoint(p) if onScreen then return Vector2.new(v.X, v.Y), true, p end end if L.LastGunBarrelTime and (os.clock() - L.LastGunBarrelTime) < 1 then return nil, false, nil end local m = UserInputService:GetMouseLocation() return m, true, nil end local m = UserInputService:GetMouseLocation() return m, true, L.GunBarrel and L.GunBarrel.Position or nil end local function SilentGetLocalTeam() return LocalTeam or getLocalTeam() end local function SilentIsEnemy(part) return isEnemy(part) end local function SilentIsVisible(part) if not L.SilentWallCheck then return true end local origin = Camera.CFrame.Position local dir = part.Position - origin local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude local filter = {LocalPlayer.Character, Camera} local weapon = workspace.CurrentCamera:FindFirstChildWhichIsA("Model") if weapon then table.insert(filter, weapon) end params.FilterDescendantsInstances = filter params.IgnoreWater = true local result = workspace:Raycast(origin, dir, params) return not result or result.Instance:IsDescendantOf(part.Parent) end L.SilentAimPartCache = L.SilentAimPartCache or setmetatable({}, {__mode = "k"}) local function getCachedSilentTargetPart(model) local targetMesh = L.SILENT_TARGET_MESH or L.MESH_IDS["Head"] local c = L.SilentAimPartCache[model] if c == false then return nil end if c and c:IsDescendantOf(model) and c.MeshId:find(targetMesh) then return c end for _, v in ipairs(model:GetDescendants()) do if v:IsA("MeshPart") and v.MeshId and v.MeshId:find(targetMesh) then L.SilentAimPartCache[model] = v return v end end L.SilentAimPartCache[model] = false return nil end local function SilentGetTargetParts() local t = {} for model, _ in pairs(L.NameDrawings or {}) do if checkEnemyByModel(model) then local p = getCachedSilentTargetPart(model) if p then t[#t+1] = p end end end return t end function L:GetSilentClosestTarget(overridePart) local camPos = Camera.CFrame.Position local origin if L.SilentFOVOriginMethod == "Gun Barrel" then if L.HasKnife or not L.GunBarrel or not L.GunBarrel:IsDescendantOf(Camera) then return nil end local forwardOffset = 7.5 local worldPos = L.GunBarrel.Position + (L.GunBarrel.CFrame.LookVector * forwardOffset) local v, onScreen = Camera:WorldToViewportPoint(worldPos) if not onScreen then return nil end origin = Vector2.new(v.X, v.Y) else origin = UserInputService:GetMouseLocation() end local distance = math.huge if L.SilentPriority == "Closest To Mouse" then distance = L.SilentCurrentFOV or math.huge end local position, closestEntry, closestPart local partName = overridePart or L.SilentAimPart or "Head" if not L.SilentRE then return nil end local physicsignore = {workspace.Terrain, Camera, workspace:FindFirstChild("Ignore"), workspace:FindFirstChild("Players")} local raycastparameters = RaycastParams.new() raycastparameters.IgnoreWater = true raycastparameters.FilterDescendantsInstances = physicsignore raycastparameters.FilterType = Enum.RaycastFilterType.Exclude L.SilentRE.operateOnAllEntries(function(player, entry) local character = entry._thirdPersonObject and entry._thirdPersonObject._characterModelHash if character and entry._isEnemy then local targetPart = character[partName] if targetPart then local target = targetPart.Position local isVisible = true if L.SilentWallCheck then local result = workspace:Raycast(camPos, target - camPos, raycastparameters) if result then isVisible = false end end if isVisible then local screenPosition, onscreen = Camera:WorldToViewportPoint(target) local currentDist = math.huge if L.SilentPriority == "Closest To You" then currentDist = (camPos - target).Magnitude else currentDist = (Vector2.new(screenPosition.X, screenPosition.Y) - origin).Magnitude end if screenPosition.Z > 0 and currentDist < distance then closestPart = targetPart position = target distance = currentDist closestEntry = entry end end end end end) return position, closestEntry, closestPart end L.solve = function(v44, v45, v46, v47, v48) if not v44 then return elseif v44 > -1.0E-10 and v44 < 1.0E-10 then return L.solve(v45, v46, v47, v48) else if v48 then local v49 = -v45 / (4 * v44) local v50 = (v46 + v49 * (3 * v45 + 6 * v44 * v49)) / v44 local v51 = (v47 + v49 * (2 * v46 + v49 * (3 * v45 + 4 * v44 * v49))) / v44 local v52 = (v48 + v49 * (v47 + v49 * (v46 + v49 * (v45 + v44 * v49)))) / v44 if v51 > -1.0E-10 and v51 < 1.0E-10 then local v53, v54 = L.solve(1, v50, v52) if not v54 or v54 < 0 then return else local v55 = math.sqrt(v53) local v56 = math.sqrt(v54) return v49 - v56, v49 - v55, v49 + v55, v49 + v56 end else local v57, _, v59 = L.solve(1, 2 * v50, v50 * v50 - 4 * v52, -v51 * v51) local v60 = v59 or v57 local v61 = math.sqrt(v60) local v62, v63 = L.solve(1, v61, (v60 + v50 - v51 / v61) / 2) local v64, v65 = L.solve(1, -v61, (v60 + v50 + v51 / v61) / 2) if v62 and v64 then return v49 + v62, v49 + v63, v49 + v64, v49 + v65 elseif v62 then return v49 + v62, v49 + v63 elseif v64 then return v49 + v64, v49 + v65 end end elseif v47 then local v66 = -v45 / (3 * v44); local v67 = -(v46 + v66 * (2 * v45 + 3 * v44 * v66)) / (3 * v44) local v68 = -(v47 + v66 * (v46 + v66 * (v45 + v44 * v66))) / (2 * v44) local v69 = v68 * v68 - v67 * v67 * v67 local v70 = math.sqrt((math.abs(v69))) if v69 > 0 then local v71 = v68 + v70 local v72 = v68 - v70 v71 = v71 < 0 and -(-v71) ^ 0.3333333333333333 or v71 ^ 0.3333333333333333 local v73 = v72 < 0 and -(-v72) ^ 0.3333333333333333 or v72 ^ 0.3333333333333333 return v66 + v71 + v73 else local v74 = math.atan2(v70, v68) / 3 local v75 = 2 * math.sqrt(v67) return v66 - v75 * math.sin(v74 + 0.5235987755982988), v66 + v75 * math.sin(v74 - 0.5235987755982988), v66 + v75 * math.cos(v74) end; elseif v46 then local v76 = -v45 / (2 * v44) local v77 = v76 * v76 - v46 / v44 if v77 < 0 then return else local v78 = math.sqrt(v77) return v76 - v78, v76 + v78 end elseif v45 then return -v45 / v44 end return end end L.complexTrajectory = function(o, a, t, s, e) if not o or not t then return end local ld = t - o a = -a e = e or Vector3.zero local r1, r2, r3, r4 = L.solve( a:Dot(a) * 0.25, a:Dot(e), a:Dot(ld) + e:Dot(e) - s^2, ld:Dot(e) * 2, ld:Dot(ld) ) local x = (r1 and r1>0 and r1) or (r2 and r2>0 and r2) or (r3 and r3>0 and r3) or r4 if not x then return end local v = (ld + e*x + 0.5*a*x^2) / x return v, x end L.trajectory = function(o, a, t, s) if not o or not t then return end local f = -a local ld = t - o local a_dot = f:Dot(f) local b = 4 * ld:Dot(ld) local k = (4 * (f:Dot(ld) + s * s)) / (2 * a_dot) local v = (k * k - b / a_dot) ^ 0.5 local t1, t0 = k - v, k + v t1 = t1 < 0 and t0 or t1; t1 = t1 ^ 0.5 return f * t1 / 2 + ld / t1, t1 end UserInputService.InputBegan:Connect(function(input,gpe) if not gpe and input.UserInputType == Enum.UserInputType.MouseButton2 then L.SilentHolding = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton2 then L.SilentHolding = false end end) RunService.RenderStepped:Connect(function(dt) local now = os.clock() local base = L.SilentFOVRadius local targetFOV = base if L.SilentDynamicFOV and L.SilentHolding then targetFOV = base * (L.DynamicFOVMultiplier or 1.85) end local speed = (targetFOV > L.SilentCurrentFOV) and (L.DynamicFOVSpeedIn or 0.05) or (L.DynamicFOVSpeedOut or 0.05) L.SilentCurrentFOV = L.SilentCurrentFOV + (targetFOV - L.SilentCurrentFOV) * speed local origin, valid = GetSilentScreenOrigin() if not L.SilentFOVNextTargetUpdate then L.SilentFOVNextTargetUpdate = 0 end if L.SilentFOVLockOnTarget and L.SilentEnabled then if L.SilentHolding and L.SilentCachedTarget and L.SilentCachedTarget:IsDescendantOf(workspace) then L.SilentFOVCachedTarget = L.SilentCachedTarget L.SilentFOVNextTargetUpdate = now + L.TARGET_UPDATE_RATE elseif now >= L.SilentFOVNextTargetUpdate then local tPos, tEntry, tPart = L:GetSilentClosestTarget() L.SilentFOVCachedTarget = tPart L.SilentFOVNextTargetUpdate = now + L.TARGET_UPDATE_RATE end if L.SilentFOVCachedTarget and typeof(L.SilentFOVCachedTarget) == "Instance" and L.SilentFOVCachedTarget:IsDescendantOf(workspace) then local pos, onScreen = Camera:WorldToViewportPoint(L.SilentFOVCachedTarget.Position) if onScreen then origin = Vector2.new(pos.X, pos.Y) valid = true end end end if valid then if L.SilentFOVLockOnTarget and L.SilentEnabled and L.SilentFOVCachedTarget and typeof(L.SilentFOVCachedTarget) == "Instance" and L.SilentFOVCachedTarget:IsDescendantOf(workspace) then if not L.SilentFOVCurrentOrigin then L.SilentFOVCurrentOrigin = origin else L.SilentFOVCurrentOrigin = L.SilentFOVCurrentOrigin:Lerp(origin, math.clamp(dt * 22.5, 0, 1)) end origin = L.SilentFOVCurrentOrigin else if L.SilentFOVCurrentOrigin and (L.SilentFOVCurrentOrigin - origin).Magnitude > 1 then L.SilentFOVCurrentOrigin = L.SilentFOVCurrentOrigin:Lerp(origin, math.clamp(dt * 22.5, 0, 1)) origin = L.SilentFOVCurrentOrigin else L.SilentFOVCurrentOrigin = nil end end SilentFOVCircle.Visible = L.SilentShowFOV SilentFOVOutline.Visible = L.SilentShowFOV L.SilentFOVFill.Visible = L.SilentShowFOV SilentFOVCircle.Position = origin SilentFOVOutline.Position = origin L.SilentFOVFill.Position = origin SilentFOVCircle.Radius = L.SilentCurrentFOV SilentFOVOutline.Radius = L.SilentCurrentFOV L.SilentFOVFill.Radius = L.SilentCurrentFOV SilentFOVCircle.Color = L.SilentFOVColor if Options["SilentL.FOVFillColor"] then L.SilentFOVFill.Color = L.SilentFOVFillColor or Color3.fromRGB(83,132,171) L.SilentFOVFill.Transparency = 1 - Options["SilentL.FOVFillColor"].Transparency end else L.SilentFOVCurrentOrigin = nil SilentFOVCircle.Visible = false SilentFOVOutline.Visible = false L.SilentFOVFill.Visible = false end local snapOrigin local snapValid = false if L.SilentSnapOriginMethod == "Gun Barrel" then if not L.HasKnife and L.GunBarrel and L.GunBarrel:IsDescendantOf(Camera) then local v, onScreen = Camera:WorldToViewportPoint(L.GunBarrel.Position) if onScreen then snapOrigin = Vector2.new(v.X, v.Y) snapValid = true end end else snapOrigin = UserInputService:GetMouseLocation() snapValid = true end local snapTarget = nil if L.SilentSnapEnabled and snapValid then if not L.SilentNextTargetUpdate then L.SilentNextTargetUpdate = 0 end if now >= L.SilentNextTargetUpdate then local tPos, tEntry, tPart = L:GetSilentClosestTarget() snapTarget = tPart L.SilentCachedTarget = snapTarget L.SilentNextTargetUpdate = now + L.TARGET_UPDATE_RATE else snapTarget = L.SilentCachedTarget end if snapTarget and typeof(snapTarget) == "Instance" and snapTarget:IsDescendantOf(workspace) then local pos, onScreen = Camera:WorldToViewportPoint(snapTarget.Position) if onScreen then local dist = origin and (Vector2.new(pos.X, pos.Y) - origin).Magnitude or math.huge if L.SilentHolding or dist <= (L.SilentCurrentFOV * 1.5) then if not L.SilentSnapWasDrawing then L.SilentSnapAlpha = 0 end L.SilentSnapWasDrawing = true L.SilentSnapAlpha = math.clamp((L.SilentSnapAlpha or 0) + (dt / 0.1), 0, 1) SilentSnapLine.Visible = true SilentSnapOutline.Visible = true SilentSnapLine.From = snapOrigin SilentSnapLine.To = Vector2.new(pos.X,pos.Y) SilentSnapOutline.From = snapOrigin SilentSnapOutline.To = Vector2.new(pos.X,pos.Y) SilentSnapLine.Transparency = L.SilentSnapAlpha SilentSnapOutline.Transparency = L.SilentSnapAlpha else SilentSnapLine.Visible = false SilentSnapOutline.Visible = false L.SilentSnapWasDrawing = false end else SilentSnapLine.Visible = false SilentSnapOutline.Visible = false L.SilentSnapWasDrawing = false end else SilentSnapLine.Visible = false SilentSnapOutline.Visible = false L.SilentSnapWasDrawing = false end else SilentSnapLine.Visible = false SilentSnapOutline.Visible = false L.SilentSnapWasDrawing = false end end) local function applyHitSound(s) if not s:IsA("Sound") then return end if s.Name ~= "hitmarker" then return end if not L.HitSoundBackup[s] then L.HitSoundBackup[s] = {Id=s.SoundId,Volume=s.Volume} end local id = L.HitSoundMap[L.HitSoundSelected] if id and s.SoundId ~= id then s.SoundId = id end s.Volume = L.HitSoundVolume end local function restoreHitSound(s) local old = L.HitSoundBackup[s] if old then s.SoundId = old.Id s.Volume = old.Volume L.HitSoundBackup[s] = nil end end local function applyKillSound(s) if not s:IsA("Sound") then return end if s.Name ~= "killshot" and s.Name ~= "headshotkill" then return end if not L.KillSoundBackup[s] then L.KillSoundBackup[s] = {Id=s.SoundId,Volume=s.Volume} end local id = L.KillSoundMap[L.KillSoundSelected] if id and s.SoundId ~= id then s.SoundId = id end s.Volume = L.KillSoundVolume end local function restoreKillSound(s) local old = L.KillSoundBackup[s] if old then s.SoundId = old.Id s.Volume = old.Volume L.KillSoundBackup[s] = nil end end local CachedSlots = {} local OriginalColors = {} local function CacheSleeves() table.clear(CachedSlots) table.clear(OriginalColors) for _, obj in ipairs(Camera:GetDescendants()) do if obj:IsA("MeshPart") and obj.Name == "Sleeves" then for _, tex in ipairs(obj:GetChildren()) do if tex:IsA("Texture") and tex.Name == "Slot1" then table.insert(CachedSlots, tex) OriginalColors[tex] = tex.Color3 end end end end end local function Apply() if #CachedSlots == 0 then CacheSleeves() end local texId if L.MasterEnabled then texId = SleeveTextureIds[L.SelectedSleeveTexture or "Default"] else texId = SleeveTextureIds.Default end if not texId then warn("sleeves arent found.. WTF!!") return end for _, tex in ipairs(CachedSlots) do if tex:IsDescendantOf(Camera) then tex.Texture = texId if L.MasterEnabled and L.SleeveColor then tex.Color3 = L.SleeveColor else tex.Color3 = OriginalColors[tex] or tex.Color3 end end end end Camera.DescendantAdded:Connect(function(obj) if obj:IsA("Texture") and obj.Name == "Slot1" then if obj.Parent and obj.Parent:IsA("MeshPart") and obj.Parent.Name == "Sleeves" then table.insert(CachedSlots, obj) OriginalColors[obj] = obj.Color3 Apply() end end end) local lastState = L.MasterEnabled game:GetService("RunService").Stepped:Connect(function() if L.MasterEnabled ~= lastState then lastState = L.MasterEnabled Apply() end end) local Window = Library:CreateWindow({ Title = " $$ roxy.win $$", Center = true, AutoShow = true, MenuFadeTime = 0.1, Resizable = true, ShowCustomCursor = false, NotifySide = "Bottom", Size = UDim2.new(0, 800, 0, 600) }) for _, v in ipairs(Window.Holder:GetDescendants()) do if v:IsA("TextLabel") and v.Text:find("roxy.win") then v.RichText = true break end end local Tabs = { A = Window:AddTab("Legitbot"), B2 = Window:AddTab("Ragebot"), B = Window:AddTab("Visuals"), C = Window:AddTab("Misc"), ["UI Settings"] = Window:AddTab("Configs") } local Aimbot = Tabs.A:AddLeftGroupbox("Aimbot") local Silent = Tabs.A:AddRightGroupbox("Silent") local LOCALP = Tabs.A:AddLeftGroupbox("Local") local GunMods = Tabs.A:AddRightGroupbox("Gun Mods") GunMods:AddToggle("NoRecoil", { Text = "No Recoil", Default = false, Tooltip = "Removes weapon recoil", Callback = function(v) L.NoRecoil = v end }) GunMods:AddToggle("NoSpread", { Text = "No Spread", Default = false, Tooltip = "Removes weapon spread/bullet deviation", Callback = function(v) L.NoSpread = v end }) GunMods:AddToggle("NoCameraSway", { Text = "No Camera Sway", Default = false, Tooltip = "Removes camera sway while aiming", Callback = function(v) L.NoCameraSway = v end }) GunMods:AddToggle("NoCameraBob", { Text = "No Camera Bob", Default = false, Tooltip = "Removes camera bobbing while moving", Callback = function(v) L.NoCameraBob = v end }) GunMods:AddToggle("NoWalkSway", { Text = "No Walk Sway", Default = false, Tooltip = "Removes weapon sway caused by walking", Callback = function(v) L.NoWalkSway = v end }) GunMods:AddToggle("NoGunSway", { Text = "No Gun Sway", Default = false, Tooltip = "Removes weapon sway completely", Callback = function(v) L.NoGunSway = v end }) GunMods:AddToggle("InstantReload", { Text = "Instant Reload", Default = false, Tooltip = "Reloads your weapon instantly", Callback = function(v) L.InstantReload = v end }) GunMods:AddToggle("InstantAim", { Text = "Instant Aim", Default = false, Tooltip = "Makes aiming down sights instantaneous", Callback = function(v) L.InstantAim = v end }) GunMods:AddToggle("InstantEquip", { Text = "Instant Equip", Default = false, Tooltip = "Makes weapon switching instantaneous", Callback = function(v) L.InstantEquip = v end }) local ESP1 = Tabs.B:AddLeftGroupbox("Enemy") local ESP2 = Tabs.B:AddRightTabbox() local ESP4 = Tabs.B:AddLeftGroupbox("Crosshair") local AimbotToggle = Aimbot:AddToggle("ToggleAimbot", { Text = "Toggle Aimbot", Default = false, Callback = function(v) L.AimbotEnabled = v end }) AimbotToggle:AddKeyPicker("AimbotToggleKeybind", { Default = "MB2", Mode = "Hold", SyncToggleState = false, Text = "Aimbot", Callback = function() end, ChangedCallback = function(New) L.AimKey = New end }) Aimbot:AddToggle("AimbotStickyAimToggle", { Text = "Sticky Aim", Default = false, Callback = function(v) L.StickyAim = v end }) Aimbot:AddToggle("WallCheckToggle", { Text = "Wall Check", Default = false, Callback = function(v) L.WallCheck = v end }) Aimbot:AddToggle("AimbotPredDropToggle", { Text = "Calculate Bullet Drop", Default = false, Callback = function(v) L.AimbotPredDropEnabled = v end }) Aimbot:AddToggle("AimbotPredictionToggle", { Text = "Calculate Prediction", Default = false, Callback = function(v) L.AimbotPredictionEnabled = v end }) Aimbot:AddSlider("SmoothnessSlider", { Text = "Smoothness", Default = 1.2, Min = 0.3, Max = 5, Rounding = 1, Compact = true, Callback = function(v) L.AimVelocity = v * 1000 end }) Aimbot:AddSlider("MaxDistanceB", { Text = "Max Distance", Default = 500, Min = 1, Max = 1000, Rounding = 0, Compact = true, Suffix = "stds", Callback = function(v) L.MaxAimDistance = v end }) Aimbot:AddDropdown('AimbotPartSelection', { Values = { 'Head', 'Torso' }, Default = 1, Multi = false, Text = 'Aimbot Bone', Callback = function(Value) L.SelectedAimPart = Value L.TARGET_MESH_ID = L.MESH_IDS[Value] end }) Aimbot:AddDropdown('AimbotTypeDropdown', { Values = { 'Closest To Mouse', 'Closest To You' }, Default = 1, Multi = false, Text = 'Target Priority', Callback = function(Value) L.AimbotType = Value end }) Aimbot:AddDivider() local SnapLine1 = Aimbot:AddToggle("SnapLineToggle", { Text = "Snap Line", Default = false, Callback = function(v) L.SnapEnabled = v if not v then SnapLine.Visible = false SnapOutline.Visible = false end end }) SnapLine1:AddColorPicker("SnapLineColor", { Default = Color3.fromRGB(255, 255, 255), Title = "Line Color", Callback = function(v) SnapLine.Color = v end }) local FOVToggle = Aimbot:AddToggle("ToggleFOV", { Text = "Show FOV", Default = false, Callback = function(v) L.ShowFOV = v end }) Aimbot:AddToggle("DynamicFOVToggle", { Text = "Dynamic FOV", Default = false, Callback = function(v) L.DynamicFOVEnabled = v end }) Aimbot:AddToggle("FOVLockOnTarget", { Text = "Lock On Target", Tooltip = "Locks FOV on aimbot target", Default = false, Callback = function(v) L.FOVLockOnTarget = v end }) FOVToggle:AddColorPicker("L.FOVColor", { Default = Color3.fromRGB(255, 255, 255), Title = "FOV Color", Callback = function(v) L.FOVColor = v end }) FOVToggle:AddColorPicker("L.FOVFillColor", { Default = Color3.fromRGB(83, 132, 171), Title = "FOV Fill Color", Transparency = 0.5, Callback = function(v) L.FOVFillColor = v end }) Aimbot:AddSlider("FOVSize1", { Text = "Size", Default = 120, Min = 0, Max = 500, Rounding = 0, Suffix = "px", Compact = true, Callback = function(v) L.FOVRadius = v end }) Aimbot:AddDropdown('SnapLineMethod', { Values = { 'Gun Barrel', 'Mouse' }, Default = 1, Multi = false, Text = 'Snap From', Callback = function(v) L.SnapLineMethod = v end }) Aimbot:AddDropdown('FovPositionMethod', { Values = { 'Gun Barrel', 'Mouse' }, Default = 2, Multi = false, Text = 'Fov Position', Callback = function(v) L.FovPositionMethod = v end }) LOCALP:AddToggle("WALKSPEEDLOCK", { Text = "Walkspeed Modifier", Default = false, Compact = true, Callback = function(value) L.WalkSpeedEnabled = value local char = L.charInterface and L.charInterface.getCharacterObject() if char then char:setBaseWalkSpeed(value and L.TARGET_WALKSPEED or (L.newSpawnCache.walkSpeed or 16)) end end }):AddKeyPicker("WalkSpeedKeybind", { Default = "None", SyncToggleState = true, Mode = "Toggle", Text = "Walkspeed", NoUI = false }) LOCALP:AddToggle("NOJUMPCOOLDOWN", { Text = "No Jump Cooldown", Default = false, Callback = function(value) L.NoJumpCooldownEnabled = value if not value then local char = L.charInterface and L.charInterface.getCharacterObject() local hum = char and char._humanoid if hum then hum.Jump = false end end end }) LOCALP:AddToggle("NOFALLDAMAGE", { Text = "No Fall Damage", Default = false, Callback = function(value) L.NoFallDamageEnabled = value end }) LOCALP:AddSlider("WALKSPEEDSLIDER", { Text = "WalkSpeed", Default = 16, Min = 5, Max = 250, Rounding = 0, Compact = false, Callback = function(Value) L.TARGET_WALKSPEED = Value local char = L.charInterface and L.charInterface.getCharacterObject() if L.WalkSpeedEnabled and char then char:setBaseWalkSpeed(Value) end end }) local ESP2TAB = ESP2:AddTab('Arm') ESP2TAB:AddToggle('ArmVisualsToggle', { Text = 'Toggle Arm Visuals', Default = false, Tooltip = nil, Callback = function(Value) L.MasterEnabled = Value if not Value then ClearAll() restoreArmMaterial() restoreHideArms() SetSleeveSlotsTransparency(0) end end }) local ArmsHighlight = ESP2TAB:AddToggle('ArmHighlighToggle', { Text = 'Arm Highlight', Default = false, Tooltip = nil, Callback = function(Value) L.HighlightEnabled = Value if not Value then ClearAll() end end }) ArmsHighlight:AddColorPicker("ArmFillCP", { Default = Color3.fromRGB(84,132,171), Title = "Fill Color", Transparency = nil, Callback = function(value) L.FillColor = value for _, h in pairs(L.ArmHighlights) do h.FillColor = value end end }) ArmsHighlight:AddColorPicker("ArmHighlightCP", { Default = Color3.fromRGB(255, 255, 255), Title = "Highlight Color", Transparency = nil, Callback = function(value) L.OutlineColor = value for _, h in pairs(L.ArmHighlights) do h.OutlineColor = value end end }) ESP2TAB:AddSlider('HighlightTransparency', { Text = 'Transparency', Default = L.HighlightFillTransparency, Min = 0, Max = 1, Rounding = 1, Compact = true, Callback = function(Value) L.HighlightFillTransparency = Value for _, h in pairs(L.ArmHighlights) do h.FillTransparency = Value end end }) local ArmsMaterial = ESP2TAB:AddToggle('ArmsMaterialToggle', { Text = 'Arm Material', Default = false, Callback = function(Value) L.ArmsMaterialEnabled = Value if not Value then restoreArmMaterial() end end }) ArmsMaterial:AddColorPicker("ArmMaterialCP", { Default = Color3.fromRGB(84,132,171), Title = "Material Color", Callback = function(value) L.ArmsMaterialColor = value end }) ESP2TAB:AddToggle('HideArmsToggle', { Text = 'Hide Arms', Default = false, Callback = function(Value) L.HideArmsEnabled = Value if not Value then restoreHideArms() end end }) ESP2TAB:AddToggle('HideSleevesToggle', { Text = 'Hide Sleeves', Default = false, Callback = function(Value) L.HideSleevesEnabled = Value if Value and L.MasterEnabled then SetSleeveSlotsTransparency(1) else SetSleeveSlotsTransparency(0) end end }) ESP2TAB:AddDropdown('ArmMaterialDropdown', { Values = { 'ForceField', 'Neon', 'SmoothPlastic', 'Glass', 'Metal' }, Default = 1, Multi = false, Text = 'Material Selection', Callback = function(Value) L.ArmsMaterialEnum = L.MaterialMap[Value] or Enum.Material.ForceField end }) ESP2TAB:AddDropdown('ArmForceFieldTextureDropdown', { Values = (function() local keys = {} for k, _ in pairs(L.ForceFieldTextures) do table.insert(keys, k) end table.sort(keys) return keys end)(), Default = "Honeycomb", Multi = false, Text = 'ForceField Texture', Callback = function(Value) L.SelectedArmForcefieldTexture = Value end }) ESP2TAB:AddDropdown('SleeveTextureDropdown', { Values = {'Default','Beach','Camo'}, Default = 1, Multi = false, Text = 'Sleeves Texture', Callback = function(Value) L.SelectedSleeveTexture = Value Apply() end }) ESP2TAB:AddLabel('Sleeves Color'):AddColorPicker('SleeveColorP', { Default = Color3.new(1, 1, 1), Title = 'Sleeve Color', Transparency = nil, Callback = function(Value) L.SleeveColor = Value if L.MasterEnabled then Apply() end end }) local ESP2TAB1 = ESP2:AddTab('Weapon') ESP2TAB1:AddToggle('WeaponVisualsToggle', { Text = 'Toggle Weapon Visuals', Default = false, Tooltip = nil, Callback = function(Value) L.WeaponMasterEnabled = Value if not Value then clearWeaponHighlights() restoreWeaponMaterial() end end }) local WeaponHighlightT = ESP2TAB1:AddToggle('WeaponHighlightToggle', { Text = 'Weapon Highlight', Default = false, Tooltip = nil, Callback = function(Value) L.WeaponHighlightEnabled = Value if not Value then clearWeaponHighlights() end end }) WeaponHighlightT:AddColorPicker("WeaponFillCP", { Default = L.WeaponFillColor, Title = "Fill Color", Transparency = nil, Callback = function(value) L.WeaponFillColor = value for _, h in pairs(L.WeaponHighlights) do h.FillColor = value end end }) WeaponHighlightT:AddColorPicker("WeaponHighlightCP", { Default = L.WeaponOutlineColor, Title = "Highlight Color", Transparency = nil, Callback = function(value) L.WeaponOutlineColor = value for _, h in pairs(L.WeaponHighlights) do h.OutlineColor = value end end }) ESP2TAB1:AddSlider('WeaponHighlightTransparency', { Text = 'Transparency', Default = L.WeaponFillTransparency, Min = 0, Max = 1, Rounding = 1, Compact = true, Callback = function(Value) L.WeaponFillTransparency = Value for _, h in pairs(L.WeaponHighlights) do h.FillTransparency = Value end end }) local WeaponMaterial = ESP2TAB1:AddToggle('WeaponMaterialToggle', { Text = 'Weapon Material', Default = false, Callback = function(Value) L.WeaponMaterialEnabled = Value if not Value or not L.WeaponMasterEnabled then restoreWeaponMaterial() end end }) WeaponMaterial:AddColorPicker("WeaponMaterialCP", { Default = Color3.fromRGB(84,132,171), Title = "Material Color", Callback = function(value) L.WeaponMaterialColor = value end }) ESP2TAB1:AddToggle('HideGunToggle', { Text = 'Hide Gun', Default = false, Callback = function(Value) L.HideGunEnabled = Value if not Value or not L.WeaponMasterEnabled then if type(restoreHideGun) == "function" then restoreHideGun() end end end }) ESP2TAB1:AddDropdown('WeaponMaterialDropdown', { Values = { 'ForceField', 'Neon', 'SmoothPlastic', 'Glass', 'Metal' }, Default = 1, Multi = false, Text = 'Material Selection', Callback = function(Value) L.WeaponMaterialEnum = L.WeaponMaterialMap[Value] or Enum.Material.ForceField end }) ESP2TAB1:AddDropdown('WeaponForceFieldTextureDropdown', { Values = (function() local keys = {} for k, _ in pairs(L.ForceFieldTextures) do table.insert(keys, k) end table.sort(keys) return keys end)(), Default = "Honeycomb", Multi = false, Text = 'ForceField Texture', Callback = function(Value) L.SelectedWeaponForcefieldTexture = Value end }) ESP2TAB1:AddDivider() ESP2TAB1:AddToggle('ViewmodelOffsetToggle', { Text = 'Offset Changer', Default = false, Callback = function(v) L.ViewmodelOffsetEnabled = v end }) ESP2TAB1:AddToggle('ViewmodelOffsetRemoveOnAim', { Text = 'Remove On Aim', Default = false, Callback = function(v) L.ViewmodelOffsetRemoveOnAim = v end }) ESP2TAB1:AddSlider('ViewmodelOffsetX', { Text = 'Offset X', Default = 0, Min = -5, Max = 5, Rounding = 1, Compact = true, Callback = function(v) L.ViewmodelOffsetX = v L:UpdateViewmodelOffset() end }) ESP2TAB1:AddSlider('ViewmodelOffsetY', { Text = 'Offset Y', Default = 0, Min = -5, Max = 5, Rounding = 1, Compact = true, Callback = function(v) L.ViewmodelOffsetY = v L:UpdateViewmodelOffset() end }) ESP2TAB1:AddSlider('ViewmodelOffsetZ', { Text = 'Offset Z', Default = 0, Min = -5, Max = 5, Rounding = 1, Compact = true, Callback = function(v) L.ViewmodelOffsetZ = v L:UpdateViewmodelOffset() end }) local CHAMSESP1 = ESP1:AddToggle('ChamsESP', { Text = 'Player Chams', Default = false, Callback = function(v) L.ChamsEnabled = v if L.ChamsEnabled then for _, folder in ipairs(PlayersFolder:GetChildren()) do if folder:IsA("Folder") then for _, model in ipairs(folder:GetChildren()) do processChams(model) for _, child in ipairs(model:GetChildren()) do if isValidModel(child) then processChams(child) end end end end end else for model in pairs(L.ActiveChams) do clearChams(model) end end end }) CHAMSESP1:AddColorPicker("ChamsESPCP", { Default = Color3.fromRGB(84,132,171), Title = "Chams Color", Callback = function(v) L.ChamsColor = v updateAllChams() end }) local NAMEVISUALS = ESP1:AddToggle('ShowPlayerTags', { Text = 'Player Name', Default = false, Callback = function(state) L.NameESPEnabled = state end }) NAMEVISUALS:AddColorPicker('NameTagColor', { Default = Color3.fromRGB(255, 255, 255), Title = 'Name Text Color', Transparency = 0, Callback = function(color) L.NameTextColor = color for _, text in pairs(L.NameDrawings) do text.Color = color end end }) local BOXVISUALS = ESP1:AddToggle("BoxESP", { Text = "Player Box", Default = false, Callback = function(state) L.BoxESPEnabled = state end }) BOXVISUALS:AddColorPicker("BoxESPColor", { Default = Color3.fromRGB(255, 255, 255), Title = "Box Color", Transparency = 0, Callback = function(color) L.BoxColor = color for _, box in pairs(L.BoxDrawings) do box.Color = color end end }) L.BoxFillDepBox = ESP1:AddDependencyBox() L.BoxFillDepBox:AddToggle("BoxFillToggle", { Text = "Box Fill", Default = false, Callback = function(state) L.BoxFillEnabled = state end }):AddColorPicker("BoxFillColorPicker", { Default = Color3.fromRGB(84, 132, 171), Title = "Box Fill Color", Transparency = 0.5, Callback = function(color) L.BoxFillColor = color end }) L.BoxFillDepBox:SetupDependencies({ { BOXVISUALS, true } }) local HEALTHVISUALS = ESP1:AddToggle("HealthESP", { Text = "Player Health", Default = false, Callback = function(state) L.HealthESPEnabled = state end }) HEALTHVISUALS:AddColorPicker("HealthESPHigh", { Default = Color3.fromRGB(0, 255, 0), Title = "Health Color ( High )", Transparency = nil, Callback = function(color) L.HealthHighColor = color end }) HEALTHVISUALS:AddColorPicker("HealthESPLow", { Default = Color3.fromRGB(255, 0, 0), Title = "Health Color ( Low )", Transparency = nil, Callback = function(color) L.HealthLowColor = color end }) local HealthDepBox = ESP1:AddDependencyBox() local HealthTextToggle = HealthDepBox:AddToggle("HealthTextToggle", { Text = "Player Health Text", Default = false, Callback = function(state) L.HealthTextEnabled = state end }) HealthTextToggle:AddColorPicker("HealthTextColor", { Default = Color3.fromRGB(255, 255, 255), Title = "Health Text Color", Callback = function(color) L.HealthTextColor = color end }) HealthDepBox:AddToggle("HealthGradientToggle", { Text = "Gradient Color", Default = false, Callback = function(state) L.HealthGradientEnabled = state end }) HealthDepBox:SetupDependencies({ { HEALTHVISUALS, true } }) HealthDepBox = ESP1:AddDependencyBox() HealthDepBox:AddToggle("HealthGradientRotationToggle", { Text = "Gradient Rotation", Default = false, Callback = function(v) L.HealthGradientRotationEnabled = v end }) HealthDepBox:SetupDependencies({ { Toggles.HealthGradientToggle, true } }) HealthDepBox = ESP1:AddDependencyBox() HealthDepBox:AddSlider("HealthGradientRotationSpeed", { Text = "Gradient Rotation Speed", Default = 1, Min = 0.1, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.HealthGradientRotationSpeed = v end }) HealthDepBox:SetupDependencies({ { Toggles.HealthGradientRotationToggle, true } }) local CHAMSESP2 = ESP1:AddToggle('DistanceESP', { Text = 'Player Distance', Default = false, Callback = function(v) L.DistanceESPEnabled = v end }) CHAMSESP2:AddColorPicker("DistanceESPCP", { Default = Color3.fromRGB(255, 255, 255), Title = "Text Color", Callback = function(v) L.DistanceTextColor = v end }) local CHAMSESP3 = ESP1:AddToggle('WeaponESP', { Text = 'Player Weapon', Default = false, Callback = function(v) L.WeaponESPEnabled = v end }) CHAMSESP3:AddColorPicker("WeaponESPCP", { Default = Color3.fromRGB(255, 255, 255), Title = "Text Color", Callback = function(v) L.WeaponTextColor = v end }) ESP1:AddSlider("ChamsTransparencySlider", { Text = "Chams Transparency", Default = L.ChamsTransparency or 0.5, Min = 0, Max = 1, Rounding = 2, Compact = true, Callback = function(v) L.ChamsTransparency = v updateAllChams() end }) ESP1:AddDropdown('FontTypeDropdown', { Values = { 'UI', 'System', 'Plex', 'Monospace' }, Default = 3, Multi = false, Text = 'Font Type', Callback = function(Value) local fontId = FontMap[Value] if fontId ~= nil then updateAllFonts(fontId) end end }) ESP1:AddDropdown('FontCaseDropdown', { Values = { 'Normal', 'Lowercase', 'Uppercase' }, Default = 1, Multi = false, Text = 'Font Case', Callback = function(Value) L.FontCase = Value end }) local TabBox2 = Tabs.B:AddRightTabbox() local WorldTab = TabBox2:AddTab('World') local CAmbientToggle = WorldTab:AddToggle('CustomAmbienToggle', { Text = 'Custom Ambient', Default = false, Callback = function(enabled) L.CustomAmbientEnabled = enabled if enabled then Lighting.Ambient = L.CAmbientColor task.spawn(function() while L.CustomAmbientEnabled and not Library.Unloaded do if Lighting.Ambient ~= L.CAmbientColor then Lighting.Ambient = L.CAmbientColor end task.wait() end end) else Lighting.Ambient = Color3.fromRGB(150, 150, 150) end end }) CAmbientToggle:AddColorPicker('CAmbientCP1', { Default = L.CAmbientColor, Title = 'Ambient Color', Callback = function(color) L.CAmbientColor = color if L.CustomAmbientEnabled then Lighting.Ambient = L.CAmbientColor end end }) WorldTab:AddToggle('CustomSkyboxToggle', { Text = 'Custom Skybox', Default = false, Tooltip = "If skyboxes arent showing toggle custom clocktime", Callback = function(enabled) L.SkyboxEnabled = enabled if L.SkyboxEnabled then ApplySky(L.SelectedSky) else RestoreSky() end end }) WorldTab:AddToggle('CustomClockTimeToggle', { Text = 'Custom ClockTime', Default = false, Callback = function(enabled) L.CustomClockTimeEnabled = enabled if enabled then L.OriginalClockTime = Lighting.ClockTime Lighting.ClockTime = L.CustomClockTimeValue else Lighting.ClockTime = L.OriginalClockTime end end }) WorldTab:AddSlider("CustomClockTimeSlider", { Text = "ClockTime", Default = 12, Min = 0, Max = 24, Rounding = 0, Compact = true, Callback = function(v) L.CustomClockTimeValue = v if L.CustomClockTimeEnabled then Lighting.ClockTime = v end end }) WorldTab:AddDropdown('SkyboxSelectionDropdown', { Values = (function() local skyKeys = {} for k, _ in pairs(L.Skyboxes) do table.insert(skyKeys, k) end table.sort(skyKeys) return skyKeys end)(), Default = "ElegantMorning", Multi = false, Text = 'Skybox Selection', Callback = function(value) L.SelectedSky = value if L.SkyboxEnabled then ApplySky(L.SelectedSky) end end }) WorldTab:AddDivider() WorldTab:AddToggle('BloomToggle', { Text = 'Bloom', Default = false, Callback = function(enabled) L.BloomEnabled = enabled if enabled then if not Lighting:FindFirstChild("RoxyBloom") then Instance.new("BloomEffect", Lighting).Name = "RoxyBloom" end if not Lighting:FindFirstChild("RoxyBloomCC") then Instance.new("ColorCorrectionEffect", Lighting).Name = "RoxyBloomCC" end Lighting.RoxyBloom.Enabled = true Lighting.RoxyBloomCC.Enabled = true Lighting.RoxyBloom.Intensity = L.BloomIntensity or 1 Lighting.RoxyBloom.Size = L.BloomSize or 24 Lighting.RoxyBloom.Threshold = L.BloomThreshold or 2 Lighting.RoxyBloomCC.TintColor = L.BloomColor or Color3.fromRGB(255, 255, 255) else if Lighting:FindFirstChild("RoxyBloom") then Lighting.RoxyBloom.Enabled = false end if Lighting:FindFirstChild("RoxyBloomCC") then Lighting.RoxyBloomCC.Enabled = false end end end }):AddColorPicker('BloomColorCP', { Default = Color3.fromRGB(255, 255, 255), Title = 'Bloom Color', Callback = function(color) L.BloomColor = color if L.BloomEnabled and Lighting:FindFirstChild("RoxyBloomCC") then Lighting.RoxyBloomCC.TintColor = color end end }) WorldTab:AddSlider("BloomSizeSlider", { Text = "Bloom Size", Default = 24, Min = 0, Max = 56, Rounding = 0, Compact = true, Callback = function(v) L.BloomSize = v if L.BloomEnabled and Lighting:FindFirstChild("RoxyBloom") then Lighting.RoxyBloom.Size = v end end }) WorldTab:AddSlider("BloomThresholdSlider", { Text = "Bloom Threshold", Default = 2, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.BloomThreshold = v if L.BloomEnabled and Lighting:FindFirstChild("RoxyBloom") then Lighting.RoxyBloom.Threshold = v end end }) WorldTab:AddSlider("BloomIntensitySlider", { Text = "Bloom Intensity", Default = 1, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.BloomIntensity = v if L.BloomEnabled and Lighting:FindFirstChild("RoxyBloom") then Lighting.RoxyBloom.Intensity = v end end }) WorldTab:AddDivider() local CameraTab = TabBox2:AddTab('Camera') CameraTab:AddToggle("ThirdPersonEnabled", { Text = "Toggle Third Person", Default = false, Callback = function(v) L.ThirdPersonEnabled = v if L.ThirdPerson then if L.ThirdPerson.Active ~= v then L.ThirdPerson:Activate() end end end }):AddKeyPicker("ThirdPersonKeybind", { Default = "None", SyncToggleState = true, Mode = "Toggle", Text = "Third Person", NoUI = false }) CameraTab:AddToggle("ThirdPersonHideChar", { Text = "Hide Character", Default = false, Callback = function(v) L.ThirdPersonHideChar = v end }) CameraTab:AddSlider("ThirdPersonDistance", { Text = "Third person distance", Default = 7, Min = 0, Max = 20, Rounding = 1, Callback = function(v) L.ThirdPersonDistance = v end }) CameraTab:AddSlider("ThirdPersonReplicationDelay", { Text = "Character Replication Delay", Default = 0, Min = 0, Max = 0.75, Rounding = 2, Callback = function(v) L.ThirdPersonReplicationDelay = v end }) CameraTab:AddToggle("ToggleCharacterVisuals", { Text = "Toggle Character Visuals", Default = false, Callback = function(v) L.ToggleCharacterVisuals = v end }):AddColorPicker("ThirdPersonChamsColor", { Default = Color3.fromRGB(83,132,171), Title = "Third Person Chams Color", Callback = function(v) L.ThirdPersonChamsColor = v end }) CameraTab:AddDropdown("CharacterMaterial", { Values = { "Glass", "Neon", "ForceField", "Wood" }, Default = "ForceField", Multi = false, Text = "Character Material", Callback = function(v) L.CharacterMaterial = v end }) CameraTab:AddDropdown("ForceFieldTexture", { Values = (function() local keys = {} for k, _ in pairs(L.ForceFieldTextures) do table.insert(keys, k) end table.sort(keys) return keys end)(), Default = "Honeycomb", Multi = false, Text = "ForceField Texture", Callback = function(v) L.SelectedForceFieldTexture = v end }) local TabBox = Tabs.B:AddRightTabbox() local ExtraTab = TabBox:AddTab('Extra') local extracount = ExtraTab:AddToggle('AmmoCountToggle', { Text = 'Ammo Count', Default = false, Callback = function(v) L.MiniUI.Enabled = v end }) local BulletTab = TabBox:AddTab('Bullets') local BulletToggle = BulletTab:AddToggle('BulletTracersToggle', { Text = 'Bullet Tracers', Default = false, Callback = function(v) L.BulletTracersEnabled = v end }) L.BulletTracerLink = true BulletTab:AddToggle('BulletTracerLink', { Text = 'Origin Link Connection', Default = true, Tooltip = 'Visually connects your physical Torso to the scanned offset firing position for ragebot', Callback = function(v) L.BulletTracerLink = v end }) BulletToggle:AddColorPicker("TracerColor", { Default = Color3.fromRGB(83,132,171), Title = "Tracer Color", Callback = function(v) L.TracerColor = v end }) BulletTab:AddSlider("TracerSize", { Text = "Size", Default = 0.1, Min = 0.05, Max = 3, Rounding = 2, Compact = true, Suffix = " Studs", Callback = function(v) L.TracerSize = v end }) BulletTab:AddSlider("TracerAnimationSpeed", { Text = "Animation Speed", Default = 3, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.TracerAnimationSpeed = v end }) BulletTab:AddSlider("TracerDuration", { Text = "Duration", Default = 3.5, Min = 0.1, Max = 3.5, Rounding = 1, Compact = true, Suffix = "s", Callback = function(v) L.TracerDuration = v end }) BulletTab:AddDropdown('TracerStyle', { Values = { '1', '2', '3', '4', '5', '6' }, Default = '1', Multi = false, Text = 'Tracer Style', Callback = function(v) L.TracerStyle = v end }) L.CrosshairLockOnTarget = false L.CrosshairEnabled = false L.CrosshairColor = Color3.fromRGB(255,255,255) L.CrosshairSpin = false L.CrosshairSize = 20 L.CrosshairSpinSpeed = 150 L.CrosshairThickness = 1 L.CrosshairGap = 2 L.CrosshairSides = {Top=true,Bottom=true,Left=true,Right=true} L.CrosshairPositionMode = "Center Of Screen" ESP4:AddToggle('CrosshairToggle1',{ Text='Toggle Crosshair', Default=L.CrosshairEnabled, Callback=function(v) L.CrosshairEnabled=v end }):AddColorPicker("CrosshairMainColor",{ Default=L.CrosshairColor, Title="Crosshair Color", Callback=function(v) L.CrosshairColor=v end }) ESP4:AddToggle('CrosshairSpinToggle',{ Text='Spin', Default=L.CrosshairSpin, Callback=function(v) L.CrosshairSpin=v end }) ESP4:AddToggle('CrosshairLockOnTarget',{ Text='Lock On Target', Tooltip="Locks Crosshair On Aimbot/Silent Target", Default=false, Callback=function(v) L.CrosshairLockOnTarget = v end }) ESP4:AddToggle('CrosshairRemoveIGCH',{ Text='No Crosshair', Tooltip="Hides in-game crosshair", Default=false, Callback=function(v) local crosshairs = player.PlayerGui.HudScreenGui.Main.DisplayCrosshairs local parts = { crosshairs.Up, crosshairs.Center, crosshairs.Down, crosshairs.Left, crosshairs.Right, } for _, part in ipairs(parts) do if part then part.Visible = not v end end end }) ESP4:AddSlider("CrossHairSizeSlider",{ Text="Crosshair Size", Default=L.CrosshairSize, Min=2, Max=100, Rounding=0, Compact=true, Callback=function(v) L.CrosshairSize=v end }) ESP4:AddSlider("CrosshairSpinSpeed",{ Text="Spin Speed", Default=L.CrosshairSpinSpeed, Min=1, Max=200, Rounding=0, Compact=true, Callback=function(v) L.CrosshairSpinSpeed=v end }) ESP4:AddSlider("CrosshairThickness",{ Text="Crosshair Thickness", Default=L.CrosshairThickness, Min=1, Max=10, Rounding=1, Compact=true, Callback=function(v) L.CrosshairThickness=v end }) ESP4:AddSlider("CrosshairGap",{ Text="Crosshair Gap", Default=L.CrosshairGap, Min=0, Max=50, Rounding=0, Compact=true, Callback=function(v) L.CrosshairGap=v end }) ESP4:AddDropdown('CrosshairStyles',{ Values={'1','2','3','4','5','6'}, Default='1', Multi=false, Text='Crosshair Style', Callback=function(v) L.CrosshairStyle=v end }) ESP4:AddDropdown('CrosshairScreenPosition',{ Values={'Center Of Screen','Gun Barrel'}, Default="Center Of Screen", Multi=false, Text='Crosshair Position', Callback=function(v) L.CrosshairPositionMode=v end }) local SilentToggle = Silent:AddToggle("ToggleSilent",{ Text="Toggle Silent", Default=false, Risky = false, Tooltip = nil, Callback=function(v) L.SilentEnabled=v if not v then L.SilentHolding=false end end }) SilentToggle:AddKeyPicker("AimbotToggleKeybind",{ Default="None", Mode="Hold", SyncToggleState=false, Text="Silent Aim", Callback=function() L.SilentHolding=true end, ChangedCallback=function() L.SilentHolding=false end }) Silent:AddToggle("SilentStickyAimToggle",{ Text="Sticky Aim", Default=false, Callback=function(v) L.SilentSticky=v end }) Silent:AddToggle("SilentWallCheckToggle",{ Text="Wall Check", Default=false, Callback=function(v) L.SilentWallCheck=v end }) Silent:AddSlider("SilentRedirectChanceSlider",{ Text="Hit Chance", Default=50, Min=1, Max=100, Rounding=0, Compact=true, Suffix="%", Callback=function(v) L.SilentHitChance=v end }) Silent:AddSlider("SilentHeadshotChance",{ Text="Headshot Chance", Default=100, Min=0, Max=100, Rounding=0, Compact=true, Suffix="%", Callback=function(v) L.SilentHeadshotChance=v end }) Silent:AddSlider("SilentMaxDistanceB",{ Text="Max Distance", Default=500, Min=1, Max=1000, Rounding=0, Compact=true, Suffix="stds", Callback=function(v) L.SilentMaxDistance=v end }) Silent:AddDropdown("SilentTypeDropdown",{ Values={"Closest To Mouse","Closest To You"}, Default=1, Multi=false, Text="Target Priority", Callback=function(v) L.SilentPriority=v end }) Silent:AddDivider() local SnapLine2 = Silent:AddToggle("SilentSnapLineToggle",{ Text="Snap Line", Default=false, Callback=function(v) L.SilentSnapEnabled=v end }) SnapLine2:AddColorPicker("SilentSnapLineColor",{ Default=Color3.fromRGB(255,255,255), Title="Line Color", Callback=function(v) L.SilentSnapColor=v end }) local SilentFovToggle = Silent:AddToggle("SilentToggleFOV",{ Text="Show FOV", Default=false, Callback=function(v) L.SilentShowFOV=v end }) Silent:AddToggle("SilentDynamicFOVToggle",{ Text="Dynamic FOV", Default=false, Callback=function(v) L.SilentDynamicFOV=v end }) Silent:AddToggle("SilentFOVLockOnTarget",{ Text="Lock On Target", Tooltip="Locks FOV On Silent Target", Default=false, Callback=function(v) L.SilentFOVLockOnTarget=v end }) SilentFovToggle:AddColorPicker("SilentL.FOVColor",{ Default=Color3.fromRGB(255,255,255), Title="FOV Color", Callback=function(v) L.SilentFOVColor=v end }) SilentFovToggle:AddColorPicker("SilentL.FOVFillColor",{ Default=Color3.fromRGB(83,132,171), Title="FOV Fill Color", Transparency=0.5, Callback=function(v) L.SilentFOVFillColor=v end }) Silent:AddSlider("SilentFOVSize1",{ Text="Size", Default=120, Min=0, Max=500, Rounding=0, Suffix="px", Compact=true, Callback=function(v) L.SilentFOVRadius=v end }) Silent:AddDropdown("SilentSnapLineMethod",{ Values={"Gun Barrel","Mouse"}, Default=1, Multi=false, Text="Snap From", Callback=function(v) L.SilentSnapOriginMethod=v end }) Silent:AddDropdown("SilentFovPositionMethod",{ Values={"Gun Barrel","Mouse"}, Default=1, Multi=false, Text="Fov Position", Callback=function(v) L.SilentFOVOriginMethod=v end }) local Rage = Tabs.B2:AddLeftGroupbox("Rage") Rage:AddToggle("RageBotAutoShoot",{ Text="Auto Shoot", Tooltip="Automatically shoots valid targets", Default=false, Callback=function(v) L.RageBotAutoShoot = v end }):AddKeyPicker("RageBotAutoShootKeybind", { Default = "None", SyncToggleState = true, Mode = "Toggle", Text = "Auto Shoot", NoUI = false }) Rage:AddToggle("RageBotFirePosScan",{ Text="Fire Position Scanning", Tooltip="Scans fire positions around corners for valid shots", Default=false, Callback=function(v) L.RageBotFirePosScan = v end }) Rage:AddSlider("RageBotFirePosOffset",{ Text="Fire Position Offset", Default=9, Min=1, Max=15.9, Rounding=1, Suffix=" Studs", Compact=true, Callback=function(v) L.RageBotFirePosOffset = v end }) Rage:AddSlider("RageBotFirePosCount", { Text = "Scanning Count", Default = 5, Min = 1, Max = 16, Rounding = 0, Compact = true, Callback = function(v) L.RageBotFirePosCount = v end }) Rage:AddDropdown("RageBotFirePosMethod", { Values = { "Cardinal", "Spinning Cardinal", "Random" }, Default = 3, Multi = false, Text = "Scanning Method", Callback = function(v) L.RageBotFirePosMethod = v end }) Rage:AddToggle("RageBotHitPosScan",{ Text="Hit Position Scanning", Tooltip="Scans the outer edges of the enemy hitbox for valid hits", Default=false, Callback=function(v) L.RageBotHitPosScan = v end }) Rage:AddSlider("RageBotHitPosOffset",{ Text="Hit Position Offset", Default=6, Min=1, Max=10, Rounding=1, Suffix=" Studs", Compact=true, Callback=function(v) L.RageBotHitPosOffset = v end }) Rage:AddSlider("RageBotHitPosCount", { Text = "Scanning Count", Default = 5, Min = 1, Max = 16, Rounding = 0, Compact = true, Callback = function(v) L.RageBotHitPosCount = v end }) Rage:AddDropdown("RageBotHitPosMethod", { Values = { "Cardinal", "Spinning Cardinal", "Random" }, Default = 3, Multi = false, Text = "Scanning Method", Callback = function(v) L.RageBotHitPosMethod = v end }) Rage:AddToggle("CollatScanningEnabled", { Text = "Collat Scanning", Default = false, Callback = function(v) L.CollatScanningEnabled = v end }) Rage:AddSlider("CollatScanningRadius", { Text = "Collat Scanning Radius", Default = 1, Min = 0.1, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.CollatScanningRadius = v end }) local AntiA = Tabs.B2:AddRightGroupbox("Anti Aim") AntiA:AddToggle("AntiAimEnabled", { Text = "Toggle Anti Aim", Default = false, Callback = function(v) L.AntiAimEnabled = v end }):AddKeyPicker("AntiAimKeybind", { Default = "None", SyncToggleState = true, Mode = "Toggle", Text = "Anti Aim", NoUI = false }) AntiA:AddToggle("AntiAimYawEnabled", { Text = "Yaw", Default = false, Callback = function(v) L.AntiAimYawEnabled = v end }) AntiA:AddSlider("AntiAimYawAngle", { Text = "Yaw Angle", Min = -180, Max = 180, Default = 0, Rounding = 0, Compact = true, Callback = function(v) L.AntiAimYawAngle = v end }) AntiA:AddSlider("AntiAimYawWaveRate", { Text = "Yaw Wave Rate", Min = 1, Max = 10, Default = 1, Rounding = 1, Compact = true, Callback = function(v) L.AntiAimYawWaveRate = v end }) AntiA:AddSlider("AntiAimYawWaveDegree", { Text = "Yaw Wave Degree", Min = 0, Max = 360, Default = 0, Rounding = 0, Compact = true, Callback = function(v) L.AntiAimYawWaveDegree = v end }) AntiA:AddDropdown("AntiAimYawType", { Text = "Yaw Type", Values = {"Custom", "Wave"}, Default = "Custom", Callback = function(v) L.AntiAimYawType = v end }) AntiA:AddToggle("AntiAimPitchEnabled", { Text = "Pitch", Default = false, Callback = function(v) L.AntiAimPitchEnabled = v end }) AntiA:AddSlider("AntiAimPitchAngle", { Text = "Pitch Angle", Min = -90, Max = 90, Default = 0, Rounding = 0, Compact = true, Callback = function(v) L.AntiAimPitchAngle = v end }) AntiA:AddSlider("AntiAimPitchWaveRate", { Text = "Pitch Wave Rate", Min = 0, Max = 10, Default = 0, Rounding = 1, Compact = true, Callback = function(v) L.AntiAimPitchWaveRate = v end }) AntiA:AddDropdown("AntiAimPitchType", { Text = "Pitch Type", Values = {"Custom", "Wave"}, Default = "Custom", Callback = function(v) L.AntiAimPitchType = v end }) AntiA:AddToggle("AntiAimSpinBotEnabled", { Text = "Spin Bot", Default = false, Callback = function(v) L.AntiAimSpinBotEnabled = v end }) AntiA:AddSlider("AntiAimSpinBotDegreeRate", { Text = "Spin Bot Degree Rate", Min = -1800, Max = 1800, Default = 0, Rounding = 0, Compact = true, Callback = function(v) L.AntiAimSpinBotDegreeRate = v end }) AntiA:AddSlider("AntiAimSpinBotWaveRate", { Text = "Spin Bot Wave Rate", Min = 0, Max = 10, Default = 0, Rounding = 0, Compact = true, Callback = function(v) L.AntiAimSpinBotWaveRate = v end }) AntiA:AddDropdown("AntiAimSpinBotType", { Text = "Spin Type", Values = {"Custom", "Wave"}, Default = "Custom", Callback = function(v) L.AntiAimSpinBotType = v end }) AntiA:AddDivider() AntiA:AddToggle("FakeLagEnabled", { Text = "Fake Lag", Default = false, Callback = function(v) L.FakeLagEnabled = v end }) AntiA:AddSlider("FakeLagRefreshDistance", { Text = "Update Distance", Min = 0, Max = 3, Default = 3, Rounding = 1, Compact = true, Callback = function(v) L.FakeLagRefreshDistance = v end }) AntiA:AddSlider("FakeLagRefreshRate", { Text = "Update Interval", Min = 0, Max = 1.2, Default = 0.5, Rounding = 2, Compact = true, Callback = function(v) L.FakeLagRefreshRate = v end }) AntiA:AddToggle("FakePositionEnabled", { Text = "Fake Position", Default = false, Callback = function(v) L.FakePositionEnabled = v end }) AntiA:AddSlider("FakePositionRadius", { Text = "Fake Position Radius", Min = 0.1, Max = 8.5, Default = 1, Rounding = 1, Compact = true, Callback = function(v) L.FakePositionRadius = v end }) AntiA:AddSlider("FakePositionInterval", { Text = "Fake Position Interval", Min = 1, Max = 75, Default = 10, Rounding = 0, Compact = true, Callback = function(v) L.FakePositionInterval = v end }) L.UnlocksGroup = Tabs.C:AddLeftGroupbox("Unlocks") L.UnlockAllButton = L.UnlocksGroup:AddButton({ Text = 'Unlock All', Func = function() if L.TriggerUnlockAll then L.TriggerUnlockAll() end end, DoubleClick = true, Tooltip = 'Unlocks all weapons, knifes & attachments' }) L.UnlockAllButton:AddButton({ Text = 'Unlock All Camos', Func = function() if L.TriggerUnlockCamos then L.TriggerUnlockCamos() end end, DoubleClick = true, Tooltip = 'Unlocks all camos for every weapon.' }) local Notifications = Tabs.C:AddLeftGroupbox("Notifications") Notifications:AddToggle("NotifyOnSpectator", { Text = "Notify On Spectator", Default = false }) Notifications:AddToggle("NotifyOnKillToggle", { Text = "Notify On Kill", Default = false, Callback = function(v) L.NotifyOnKill = v end }) Notifications:AddDropdown("NotifyOnKillOptions", { Values = {"Name", "Distance", "Hitpart"}, Default = 1, Multi = true, Text = "Options", Callback = function(v) L.NotifyOnKillOptions = v end }) local SoundGroup = Tabs.C:AddRightGroupbox("Sound") SoundGroup:AddToggle('GunShotSound', { Text = 'Gunshot Sound Override', Default = false, Callback = function(v) L.GunshotOverride = v end }) SoundGroup:AddDropdown('GunShotSoundIds', { Values = { 'Minecraft experience', 'Neverlose', 'Gamesense', 'One', 'Bell', 'Rust', 'TF2', 'Slime', 'Among Us', 'Minecraft', 'CS:GO', 'Saber', 'Baimware', 'Osu', 'TF2 Critical', 'Bat', 'Call of Duty', 'Bubble', 'Pick', 'Pop', 'Bruh', '[Bamboo]', 'Crowbar', 'Weeb', 'Beep', 'Bambi', 'Stone', 'Old Fatality', 'Click', 'Ding', 'Snow', 'Laser', 'Mario', 'Steve', 'Snowdrake', 'Default' }, Default = "", Multi = false, Text = 'Sound Selection', Callback = function(v) L.SelectedSound = v end }) SoundGroup:AddSlider("SoundVolumeSlider", { Text = "Volume", Default = 1, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.SoundVolume = v end }) SoundGroup:AddToggle('HitSoundShot', { Text = 'Hit Sound Override', Default = false, Callback = function(v) L.HitSoundOverride = v local playerGui = game:GetService("Players").LocalPlayer.PlayerGui for _, root in ipairs(playerGui:GetChildren()) do for _, s in ipairs(root:GetDescendants()) do if s:IsA("Sound") and s.Name=="hitmarker" then if v then applyHitSound(s) else restoreHitSound(s) end end end end end }) SoundGroup:AddDropdown('HitSoundShotDropdown', { Values = { "Minecraft experience","Neverlose","Gamesense","One","Bell","Rust","TF2","Slime","Among Us","Minecraft","CS:GO","Saber","Baimware","Osu","TF2 Critical","Bat","Call of Duty","Bubble","Pick","Pop","Bruh","[Bamboo]","Crowbar","Weeb","Beep","Bambi","Stone","Old Fatality","Click","Ding","Snow","Laser","Mario","Steve","Snowdrake","Default" }, Default = L.HitSoundSelected, Multi = false, Text = 'Sound Selection', Callback = function(v) L.HitSoundSelected = v if L.HitSoundOverride then local playerGui = game:GetService("Players").LocalPlayer.PlayerGui for _, root in ipairs(playerGui:GetChildren()) do for _, s in ipairs(root:GetDescendants()) do if s:IsA("Sound") and s.Name=="hitmarker" then applyHitSound(s) end end end end end }) SoundGroup:AddSlider("HitSoundVolumeSlider", { Text = "Volume", Default = 1, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.HitSoundVolume = v if L.HitSoundOverride then local playerGui = game:GetService("Players").LocalPlayer.PlayerGui for _, root in ipairs(playerGui:GetChildren()) do for _, s in ipairs(root:GetDescendants()) do if s:IsA("Sound") and s.Name=="hitmarker" then applyHitSound(s) end end end end end }) SoundGroup:AddToggle('KillSoundShot', { Text = 'Kill Sound Override', Default = false, Callback = function(v) L.KillSoundOverride = v local playerGui = game:GetService("Players").LocalPlayer.PlayerGui for _, root in ipairs(playerGui:GetChildren()) do for _, s in ipairs(root:GetDescendants()) do if s:IsA("Sound") and (s.Name=="killshot" or s.Name=="headshotkill") then if v then applyKillSound(s) else restoreKillSound(s) end end end end end }) SoundGroup:AddDropdown('KillSoundShotDropdown', { Values = { "Minecraft experience","Neverlose","Gamesense","One","Bell","Rust","TF2","Slime","Among Us","Minecraft","CS:GO","Saber","Baimware","Osu","TF2 Critical","Bat","Call of Duty","Bubble","Pick","Pop","Bruh","[Bamboo]","Crowbar","Weeb","Beep","Bambi","Stone","Old Fatality","Click","Ding","Snow","Laser","Mario","Steve","Snowdrake","Default" }, Default = L.KillSoundSelected or "Default", Multi = false, Text = 'Sound Selection', Callback = function(v) L.KillSoundSelected = v if L.KillSoundOverride then local playerGui = game:GetService("Players").LocalPlayer.PlayerGui for _, root in ipairs(playerGui:GetChildren()) do for _, s in ipairs(root:GetDescendants()) do if s:IsA("Sound") and (s.Name=="killshot" or s.Name=="headshotkill") then applyKillSound(s) end end end end end }) SoundGroup:AddSlider("KillSoundVolumeSlider", { Text = "Volume", Default = 1, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(v) L.KillSoundVolume = v if L.KillSoundOverride then local playerGui = game:GetService("Players").LocalPlayer.PlayerGui for _, root in ipairs(playerGui:GetChildren()) do for _, s in ipairs(root:GetDescendants()) do if s:IsA("Sound") and (s.Name=="killshot" or s.Name=="headshotkill") then applyKillSound(s) end end end end end }) game:GetService("Players").LocalPlayer.PlayerGui.DescendantAdded:Connect(function(c) if c:IsA("Sound") then if c.Name=="hitmarker" and L.HitSoundOverride then applyHitSound(c) elseif (c.Name=="killshot" or c.Name=="headshotkill") and L.KillSoundOverride then applyKillSound(c) end end end) game:GetService("Players").LocalPlayer.PlayerGui.HudScreenGui.Main.DisplayNotifications.ChildAdded:Connect(function(child) if child.Name == "DisplayBigAward" and Toggles.NotifyOnSpectator.Value then local enemy = child:WaitForChild("TextEnemy", 1) if enemy then local isAward = false local conns = {} local function chk(txt) local t = string.lower(txt) if string.find(t, "secured") or string.find(t, "picked") or string.find(t, "friend") then isAward = true end end local function hk(v) if v:IsA("TextLabel") and v ~= enemy then chk(v.Text) table.insert(conns, v:GetPropertyChangedSignal("Text"):Connect(function() chk(v.Text) end)) end end for _, v in ipairs(child:GetDescendants()) do hk(v) end table.insert(conns, child.DescendantAdded:Connect(hk)) local name = enemy.Text if name == "" then local start = tick() repeat task.wait() name = enemy.Text until name ~= "" or tick() - start > 1 end if not isAward then local ew = tick() repeat task.wait() until isAward or tick() - ew > 0.25 end for _, c in ipairs(conns) do c:Disconnect() end if isAward then return end if name ~= "" then Library:Notify(name .. " Is Now Spectating", 3) task.delay(3, function() Library:Notify(name .. " Is No Longer Spectating", 3) end) end end end end) task.spawn(function() local killfeedContainer = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"):WaitForChild("HudScreenGui"):WaitForChild("Main"):WaitForChild("DisplayKillfeed"):WaitForChild("Container") killfeedContainer.ChildAdded:Connect(function(child) if not L.NotifyOnKill then return end if child.Name ~= "DisplayKillfeedLine" then return end task.spawn(function() local textKillfeed = child:WaitForChild("TextKillfeed", 0.5) if not textKillfeed then return end local t = tick() repeat task.wait() until textKillfeed.Text ~= "Label" and textKillfeed.Text ~= "" or tick() - t > 0.5 local textDistance = textKillfeed:FindFirstChild("TextDistance") local killer, victim for v in textKillfeed.Text:gmatch(">([^<]+)") do if not killer then killer = v end victim = v end if killer ~= game:GetService("Players").LocalPlayer.Name then return end if killer == victim then return end local opts = L.NotifyOnKillOptions or {} local msg = "Killed" if opts["Name"] and victim then msg = msg .. " " .. victim else if opts["Distance"] and not opts["Hitpart"] then msg = msg .. " player" else msg = msg .. " Player" end end if opts["Distance"] and textDistance then local distStr = textDistance.Text:match("([%d%.]+)") or "0" msg = msg .. " from " .. distStr .. " studs away" end if opts["Hitpart"] then local imgHead = child:FindFirstChild("ImageHeadshot") local isHead = imgHead and imgHead.Visible msg = msg .. " [" .. (isHead and "Head" or "Body") .. "]" end Library:Notify(msg, 3) end) end) end) local Ts = game:GetService("TweenService") local fadeInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local isMiniAmmoVisible = false RunService.RenderStepped:Connect(function() if not extracount.Value then L.MiniUI.Enabled=false isMiniAmmoVisible=false for _, v in ipairs(L.MiniOuterBorder:GetDescendants()) do if v:IsA("Frame") then v.BackgroundTransparency = 1 end if v:IsA("TextLabel") then v.TextTransparency = 1; v.TextStrokeTransparency = 1 end end L.MiniOuterBorder.BackgroundTransparency = 1 return end local magText = Hud.TextMagCount.Text local spareText = Hud.TextSpareCount.Text local currentAmmo = tonumber(magText) or 0 local spareAmmo = tonumber(spareText) or 0 local isHudVisible = false if Hud.TextMagCount and Hud.TextMagCount.Visible and Hud.TextMagCount.Parent and Hud.TextMagCount.Parent.Visible then isHudVisible = true end local hasAmmo = (currentAmmo ~= 0 or spareAmmo ~= 0) if hasAmmo and isHudVisible then L.AmmoLabel.Text = currentAmmo .. " / " .. spareAmmo L.MiniAccentLine.BackgroundColor3 = Library.AccentColor if not isMiniAmmoVisible then isMiniAmmoVisible = true L.MiniUI.Enabled = true Ts:Create(L.MiniOuterBorder, fadeInfo, {BackgroundTransparency = 0}):Play() for _, v in ipairs(L.MiniOuterBorder:GetDescendants()) do if v:IsA("Frame") then if v.Name ~= "Background" then Ts:Create(v, fadeInfo, {BackgroundTransparency = 0}):Play() else Ts:Create(v, fadeInfo, {BackgroundTransparency = 0}):Play() end elseif v:IsA("TextLabel") then Ts:Create(v, fadeInfo, {TextTransparency = 0, TextStrokeTransparency = 0}):Play() end end end else if isMiniAmmoVisible then isMiniAmmoVisible = false Ts:Create(L.MiniOuterBorder, fadeInfo, {BackgroundTransparency = 1}):Play() for _, v in ipairs(L.MiniOuterBorder:GetDescendants()) do if v:IsA("Frame") then Ts:Create(v, fadeInfo, {BackgroundTransparency = 1}):Play() elseif v:IsA("TextLabel") then Ts:Create(v, fadeInfo, {TextTransparency = 1, TextStrokeTransparency = 1}):Play() end end end end end) pcall(function() workspace.StreamingEnabled=false end) Library:SetWatermarkVisibility(true) local FrameTimer=tick() local FrameCounter=0 local FPS=60 local GetPing=(function() return math.floor(game:GetService('Stats').Network.ServerStatsItem['Data Ping']:GetValue()) end) local CanDoPing=pcall(function() return GetPing() end) local WatermarkConnection=RunService.RenderStepped:Connect(function() FrameCounter+=1 if (tick()-FrameTimer)>=1 then FPS=FrameCounter FrameTimer=tick() FrameCounter=0 end if CanDoPing then Library:SetWatermark(('roxy.win / dev | %d fps | %d ms'):format(math.floor(FPS),GetPing())) else Library:SetWatermark(('roxy.win | %d fps'):format(math.floor(FPS))) end end) Library:OnUnload(function() L.AimbotEnabled = false L.ShowFOV = false L.ChamsEnabled = false L.BoxESPEnabled = false L.CrosshairEnabled = false L.GunshotOverride = false L.KillSoundOverride = false L.HitSoundOverride = false L.SkyboxEnabled = false L.NameESPEnabled = false L.DistanceESPEnabled = false L.WeaponESPEnabled = false L.ViewModelEnabled = false L.WeaponMasterEnabled = false L.HealthESPEnabled = false L.SnapEnabled = false L.KillNotifyEnabled = false L.WalkSpeedEnabled = false L.MasterEnabled = false L.HighlightEnabled = false L.SilentEnabled = false Lighting.Ambient = L.OriginalValues.Ambient if L.OriginalClockTime then Lighting.ClockTime = L.OriginalClockTime end local sky = Lighting:FindFirstChildOfClass("Sky") if sky then sky:Destroy() end local origSky = Lighting:FindFirstChild("OriginalSkyBackup") if origSky then origSky:Clone().Parent = Lighting end local hum = findHumanoid() if hum then hum.WalkSpeed = 16 end restoreHideArms() restoreArmMaterial() restoreWeaponMaterial() SetSleeveSlotsTransparency(0) for s, old in pairs(L.HitSoundBackup) do if s and s:IsDescendantOf(game) then s.SoundId = old.Id s.Volume = old.Volume end end for s, old in pairs(L.KillSoundBackup) do if s and s:IsDescendantOf(game) then s.SoundId = old.Id s.Volume = old.Volume end end for s, old in pairs(L.SoundBackup) do if s and s:IsDescendantOf(game) then s.SoundId = old.Id s.Volume = old.Volume end end if L.MiniUI then L.MiniUI:Destroy() end for _,h in pairs(L.ArmHighlights) do pcall(function() h:Destroy() end) end for _,h in pairs(L.WeaponHighlights) do pcall(function() h:Destroy() end) end for m,_ in pairs(L.ActiveChams) do clearChams(m) end pcall(function() for _,v in pairs(L.DistanceDrawings) do v:Remove() end for _,v in pairs(L.WeaponDrawings) do v:Remove() end for _,v in pairs(L.NameDrawings) do v:Remove() end for _, boxes in pairs(L.BoxDrawings) do for _, l in ipairs(boxes) do l:Remove() end end for _, outlines in pairs(L.BoxOutlineDrawings) do for _, l in ipairs(outlines) do l:Remove() end end for _,v in pairs(L.HealthDrawings) do v:Remove() end for _,v in pairs(L.HealthOutlineDrawings) do v:Remove() end for i=1,4 do lines[i]:Remove() outlines[i]:Remove() flapLines[i]:Remove() flapOutlines[i]:Remove() end for i=1,6 do starLines[i]:Remove() starOutlines[i]:Remove() end if dot then dot:Remove() end if dotOutline then dotOutline:Remove() end if SnapLine then SnapLine:Remove() end if SnapOutline then SnapOutline:Remove() end if FOVCircle then FOVCircle:Remove() end if FOVOutline then FOVOutline:Remove() end if SilentSnapLine then SilentSnapLine:Remove() end if SilentSnapOutline then SilentSnapOutline:Remove() end if SilentFOVCircle then SilentFOVCircle:Remove() end if SilentFOVOutline then SilentFOVOutline:Remove() end end) WatermarkConnection:Disconnect() Library.Unloaded = true end) local MenuGroup=Tabs['UI Settings']:AddLeftGroupbox('Menu') MenuGroup:AddToggle("KeybindMenuOpen",{ Default=Library.KeybindFrame.Visible, Text="Open Keybind Menu", Callback=function(v) Library.KeybindFrame.Visible=v end }) MenuGroup:AddToggle("ShowCustomCursor",{ Text="Custom Cursor", Default=false, Callback=function(v) Library.ShowCustomCursor=v end }) MenuGroup:AddToggle("HideLogo",{ Text="Hide Logo", Default=false, Callback=function(v) Library.HideImages=v if Library.BackgroundImage then Library.BackgroundImage.Visible = not v end end }) MenuGroup:AddDivider() MenuGroup:AddLabel("Menu bind"):AddKeyPicker("MenuKeybind",{Default="RightShift",NoUI=true,Text="Menu keybind"}) MenuGroup:AddButton("Unload",function() Library:Unload() end) MenuGroup:AddDropdown("NotificationPosition", { Values = {"Left", "Right", "Bottom"}, Default = "Bottom", Multi = false, Text = "Notification Position", Callback = function(v) Library.NotifySide = v end }) local text="you're a customer.." local label=MenuGroup:AddLabel("") label.RichText=true task.spawn(function() while true do local color = string.format("rgb(%d,%d,%d)", Library.AccentColor.R * 255, Library.AccentColor.G * 255, Library.AccentColor.B * 255) for i=1,#text do label:SetText(''..text:sub(1,i)..'') task.wait(0.05) end task.wait(0.3) for i=#text-1,0,-1 do label:SetText(''..text:sub(1,i)..'') task.wait(0.05) end task.wait(0.1) end end) local baseTitle = " " local current = "roxy.win" local flickerChar = "$$" task.spawn(function() local visible = true while true do local accent = Library.AccentColor local color = visible and "FFFFFF" or string.format("%02X%02X%02X", accent.R * 255, accent.G * 255, accent.B * 255) local left = '$$' local right = '$$' Window:SetWindowTitle(baseTitle .. left .. " " .. current .. " " .. right) visible = not visible task.wait(0.5) end end) Library.ToggleKeybind=Options.MenuKeybind ThemeManager:SetLibrary(Library) SaveManager:SetLibrary(Library) SaveManager:IgnoreThemeSettings() SaveManager:SetIgnoreIndexes({'MenuKeybind'}) ThemeManager:SetFolder('Roxy.win') SaveManager:SetFolder('Roxy.win/Phantom-Forces') SaveManager:SetSubFolder('specific-place') SaveManager:BuildConfigSection(Tabs['UI Settings']) ThemeManager:ApplyToTab(Tabs['UI Settings']) SaveManager:LoadAutoloadConfig() task.spawn(function() local requirefunc = getrenv().shared.require local modules = setmetatable({}, { __index = function(_, Property) return requirefunc(Property) end }) local network = modules.NetworkClient local cframeLib = modules.CFrameLib local recoil = modules.RecoilSprings local cameraObject = modules.MainCameraObject local firearmObject = modules.FirearmObject local contentInterface = modules.ContentInterface local charInterface = modules.CharacterInterface local weaponInterface = modules.WeaponControllerInterface local bulletObject = modules.BulletObject local publicSettings = modules.PublicSettings local replicationInterface = modules.ReplicationInterface local screenCull = modules.ScreenCull local thirdPersonObject = modules.ThirdPersonObject local bulletCheck = modules.BulletCheck local effects = modules.Effects local charObject = modules.CharacterObject local audioSystem = modules.AudioSystem local crosshairsInterface = modules.HudCrosshairsInterface local replicationObject = modules.ReplicationObject local activeLoadoutUtils = modules.ActiveLoadoutUtils local playerDataClientInterface = modules.PlayerDataClientInterface L.Storage = {} L.TriggerUnlockAll = function() L.UnlockAll, L.UnlockKnives, L.UnlockAttachments = true, true, true local pData = modules.PlayerDataClientInterface.getPlayerData() if pData then pData.unlockAll = true local cData = modules.PlayerDataUtils.getClassData(pData) if cData then for _, cl in ipairs({"Assault", "Scout", "Support", "Recon"}) do local pri = cData[cl].Primary.Name local sec = cData[cl].Secondary.Name L.FakeWeapons[cl] = {pri, sec} L.RealWeapons[cl] = {pri, sec} end end end end L.TriggerUnlockCamos = function() L.UnlockCamos = true if not L.camoDatabase then for _, v in ipairs(getgc(true)) do if type(v) == "table" and rawget(v, "Mentha Spicata") and rawget(v, "Dove blue") then L.camoDatabase = v break end end end if L.camoDatabase then local pData = modules.PlayerDataClientInterface.getPlayerData() if pData then for cName, cData in pairs(L.camoDatabase) do if cData.Case then modules.PlayerDataUtils.getCasePacketData(pData, cData.Case, true).Skins[cName] = {ALL = true} end end end end end local ThirdPerson = { Active = false; ThirdPersonObject = nil } do local newReplicationObject = replicationObject.new; local FakePlayer = Instance.new('Player'); FakePlayer.Name = LocalPlayer.Name; debug.setupvalue(newReplicationObject, 3, FakePlayer); L.ThirdPersonEnabled = false L.ThirdPersonDistance = 7 L.ThirdPersonMode = 'Interpolation' L.ThirdPersonReplicationDelay = 0 function ThirdPerson:Init() if self.Initializing then return end self.Initializing = true local oldFakePlayer = debug.getupvalue(newReplicationObject, 3); debug.setupvalue(newReplicationObject, 3, FakePlayer); local Entry for i = 1, 10 do Entry = replicationInterface.getEntry(LocalPlayer) if Entry then break end if not replicationInterface.getEntry(LocalPlayer) then replicationInterface.addEntry(LocalPlayer) end task.wait(0.1) end if not Entry then warn("roxy.win / failed to get local player entry for third person") self.Initializing = false return end local Loadout = self:GetLoadout(); Entry:spawn(Vector3.zero, Loadout); debug.setupvalue(newReplicationObject, 3, oldFakePlayer); local SmoothReplicator = Entry._smoothReplication; local setCharacterRender = Entry._thirdPersonObject.setCharacterRender Entry._thirdPersonObject.setCharacterRender = function(self, Visible) if L.ThirdPersonEnabled then Visible = not L.ThirdPersonHideChar; end return setCharacterRender(self, Visible); end; if self.Active then Entry._thirdPersonObject:setCharacterRender(not L.ThirdPersonHideChar) end local PositionSpring = Entry._posspring; local AngleSpring = Entry._lookangles; if self.Replication then self.Replication:Disconnect() end local ThirdPersonReplication = RunService.Stepped:Connect(function() local CharacterObject = charInterface.getCharacterObject() if not CharacterObject then return end; local ThirdPersonObject = Entry:getThirdPersonObject(); if not ThirdPersonObject then return end; rawset(self, 'ThirdPersonObject', ThirdPersonObject); Entry:step(true, 3); local Stance = CharacterObject:getMovementMode(); ThirdPersonObject:setStance(self.Active and Stance:lower() or 'prone'); if (not charInterface.isAlive()) and ThirdPersonObject._characterModel then pcall(function() ThirdPersonObject._characterModel:PivotTo(CFrame.new(0, -500, 0)) end) return end local Position, Angles = L.Storage.Repupdate, L.Storage.LookAngles; if Position and Angles then Position = Position + (not self.Active and Vector3.new(0, -250, 0) or Vector3.zero); local function processReplication() setidentity(2); SmoothReplicator:receive(os.clock(), tick(), { breakcount = 0; position = Position; velocity = Vector3.zero; angles = Angles; t = tick(); }, true); Entry:step(3, true); setidentity(8); end; if L.ThirdPersonReplicationDelay and L.ThirdPersonReplicationDelay ~= 0 then task.delay(L.ThirdPersonReplicationDelay, processReplication); else processReplication(); end; end; end); ThirdPerson.Replication = ThirdPersonReplication; self.Initializing = false self.Initialized = true end; local CharacterObjectDespawn = charInterface.despawn; function charInterface.despawn() setidentity(8) if ThirdPerson.Replication and ThirdPerson.ThirdPersonObject then if ThirdPerson.ThirdPersonObject._characterModel then pcall(function() ThirdPerson.ThirdPersonObject._characterModel:PivotTo(CFrame.new(0, -500, 0)) end) end ThirdPerson.Replication:Disconnect(); ThirdPerson.ThirdPersonObject._replicationObject:despawn(); ThirdPerson.Replication = nil; ThirdPerson.ThirdPersonObject = nil; end; setidentity(2); return CharacterObjectDespawn(); end; function ThirdPerson:GetLoadout() return activeLoadoutUtils.getActiveLoadoutData(playerDataClientInterface.getPlayerData()); end; function ThirdPerson:Activate() self.Active = not self.Active; L.ThirdPersonEnabled = self.Active -- if Options.ThirdPersonEnabled then -- Options.ThirdPersonEnabled:SetValue(self.Active) -- end if self.Active and not self.Initialized then task.spawn(function() self:Init() end) end if self.ThirdPersonObject then self.ThirdPersonObject:setCharacterRender(self.Active and not L.ThirdPersonHideChar) end end; L.ThirdPerson = ThirdPerson end; L.SilentRE = replicationInterface if network and cframeLib and recoil and cameraObject and firearmObject and contentInterface and charInterface and weaponInterface and bulletObject and replicationInterface and publicSettings and bulletCheck then L.activeWeaponInterface = weaponInterface L.charInterface = charInterface L.publicSettings = publicSettings L.bulletCheck = bulletCheck L.networkClient = network L.effects = effects L.audioSystem = audioSystem L.crosshairsInterface = crosshairsInterface local setBaseWalkSpeed = charObject.setBaseWalkSpeed function charObject:setBaseWalkSpeed(speed) L.newSpawnCache.walkSpeed = L.newSpawnCache.walkSpeed or speed return setBaseWalkSpeed(self, L.WalkSpeedEnabled and L.TARGET_WALKSPEED or speed) end local CFIdentity = CFrame.identity RunService.RenderStepped:Connect(function() if Options.ThirdPersonEnabled and Options.ThirdPersonEnabled.Value then return end local activeInterface = L.activeWeaponInterface local controller = activeInterface and activeInterface.getActiveWeaponController() if not controller then return end local weapon = controller:getActiveWeapon() if not weapon or not weapon._mainOffset then return end local name = weapon.weaponName or "Unknown" local original = L.OriginalOffsets[name] if not original then original = weapon._mainOffset L.OriginalOffsets[name] = original end local target = original if L.ViewmodelOffsetEnabled then if not (L.ViewmodelOffsetRemoveOnAim and weapon._aiming) then target = original * (L.ViewmodelOffsetCFrame or CFIdentity) end end local current = weapon._mainOffset local posDiff = (current.p - target.p).Magnitude if posDiff > 0.001 then weapon._mainOffset = current:Lerp(target, 0.1) elseif posDiff > 0 then weapon._mainOffset = target end end) RunService.Stepped:Connect(function() local clockTime = os.clock() replicationInterface.operateOnAllEntries(function(player, entry) if entry._isEnemy then local tpObj = rawget(entry, "_thirdPersonObject") local character = tpObj and rawget(tpObj, "_characterModelHash") L.movementCache.position[player] = L.movementCache.position[player] or {} if character and character.Head then table.insert(L.movementCache.position[player], 1, character.Head.Position) table.remove(L.movementCache.position[player], 16) end end end) table.insert(L.movementCache.time, 1, clockTime) table.remove(L.movementCache.time, 16) end) local offsetsB1 = table.create(16) local offsetsB2 = table.create(16) local function getPositionOffsets(origin, target, offset, method, count, buffer) buffer[1] = origin if offset and count and count > 1 then local methodType = method or "Spinning Cardinal" local angleOffset = 0 if methodType == "Spinning Cardinal" then angleOffset = (os.clock() * 3) % (math.pi * 2) elseif methodType == "Random" then angleOffset = math.rad(math.random(1, 360)) elseif methodType == "Cardinal" then angleOffset = 0 end local cframe = CFrame.new(origin, target) * CFrame.Angles(0, 0, angleOffset) local iters = count - 1 for i = 1, iters do local ang = (math.pi * 2 / iters) * i buffer[i + 1] = cframe * (Vector3.new(math.cos(ang), math.sin(ang), 0) * offset) end return count end return 1 end local cBuf = {} local cCount = 0 local tBuf = {} local sBuf = {} local function sortDist(a, b) if a and b and a.dist and b.dist then return a.dist < b.dist end return false end local function getClosestPlayers(position) cCount = 0 L.SilentRE.operateOnAllEntries(function(player, entry) local tpObj = rawget(entry, "_thirdPersonObject") local character = tpObj and rawget(tpObj, "_characterModelHash") if entry._receivedPosition and entry._velspring and entry._velspring.t and character and entry._isEnemy and character.Head then local charModel = tpObj.getCharacterModel and tpObj:getCharacterModel() if charModel then if not checkEnemyByModel(charModel) then return end else local torso = character["Torso"] or character["torso"] if LocalTeam and torso then local c = torso.Color local isActuallyEnemy = (LocalTeam == "PHANTOMS" and c == L.BODY_COLOR.GHOSTS) or (LocalTeam == "GHOSTS" and c == L.BODY_COLOR.PHANTOMS) if not isActuallyEnemy then return end elseif LocalTeam then return end end local dist = (character.Head.Position - position).Magnitude cCount = cCount + 1 local item = cBuf[cCount] if not item then item = {} cBuf[cCount] = item end item.entry = entry item.dist = dist end end) if cCount == 0 then return nil end table.clear(sBuf) for i = 1, cCount do sBuf[i] = cBuf[i] end table.sort(sBuf, sortDist) table.clear(tBuf) for i = 1, math.min(cCount, 5) do tBuf[i] = sBuf[i] end return tBuf end local raycastStep = 1 / 30 local function scanPositions(origin, target, accel, speed, penetration, closestPlayers, playerIndex, collatRadius) local oCount = getPositionOffsets(origin, target, L.RageBotFirePosScan and L.RageBotFirePosOffset, L.RageBotFirePosMethod, L.RageBotFirePosCount or 5, offsetsB1) local tCount = getPositionOffsets(target, origin, L.RageBotHitPosScan and L.RageBotHitPosOffset, L.RageBotHitPosMethod, L.RageBotHitPosCount or 5, offsetsB2) local bestScore = -1 local bOrigin, bTarget, bVel, bHitTime local validCount = 0 for oIdx = oCount, 1, -1 do local newOrigin = offsetsB1[oIdx] for tIdx = tCount, 1, -1 do if oIdx ~= 1 and tIdx ~= 1 and oIdx ~= tIdx and (oIdx + tIdx) % 11 ~= 0 then continue end local newTarget = offsetsB2[tIdx] local velocity, hitTime = L.complexTrajectory(newOrigin, accel, newTarget, speed) if velocity and L.bulletCheck(newOrigin, newTarget, velocity, accel, penetration, raycastStep) then local score = oIdx if closestPlayers and collatRadius then for cIdx = playerIndex + 1, #closestPlayers do local cEntry = closestPlayers[cIdx].entry if cEntry and cEntry._receivedPosition then local dist = (cEntry._receivedPosition - newTarget).Magnitude if dist <= collatRadius then local cVelocity = L.complexTrajectory(newOrigin, accel, cEntry._receivedPosition, speed) if cVelocity and L.bulletCheck(newOrigin, cEntry._receivedPosition, cVelocity, accel, penetration, raycastStep) then score = score + 100 end end end end end if score >= bestScore then bestScore = score bOrigin = newOrigin bTarget = newTarget bVel = velocity bHitTime = hitTime if score >= 100 then return bOrigin, bTarget, bVel, bHitTime end end validCount = validCount + 1 if validCount >= 3 then return bOrigin, bTarget, bVel, bHitTime end end end end if bOrigin then return bOrigin, bTarget, bVel, bHitTime end return false end local newFrameTime, frameAcceleration, physicsignore, raycast, simulateBullet, drawTracer, drawSegment local nextShot = 0 local nextScan = 0 local ticket = 0 local ticketAddition = 0 local currentScanIndex = 1 RunService.Heartbeat:Connect(function() local clockTime = os.clock() local newSpawnCache = L.newSpawnCache local activeInterface = L.activeWeaponInterface local controller = activeInterface and activeInterface.getActiveWeaponController() local weapon = controller and controller:getActiveWeapon() if L.RageBotAutoShoot and clockTime > nextShot and clockTime > nextScan and weapon and weapon._weaponData and newSpawnCache.lastUpdate then local origin = newSpawnCache.lastUpdate local closestPlayers = getClosestPlayers(origin) local data = weapon._weaponData local penetration = data.penetrationdepth local speed = data.bulletspeed if closestPlayers and penetration and speed and (weapon._magCount > 0 or weapon._spareCount > 0) then local shotFired = false local totalPlayers = #closestPlayers if currentScanIndex > totalPlayers then currentScanIndex = 1 end local playersChecked = 0 local maxChecksPerFrame = math.max(1, math.floor(800 / ((L.RageBotFirePosCount or 5) * (L.RageBotHitPosCount or 5)))) while playersChecked < maxChecksPerFrame and playersChecked < totalPlayers do local playerIndex = currentScanIndex local entryData = closestPlayers[playerIndex] local entry = entryData.entry local colRadius = L.CollatScanningEnabled and (L.CollatScanningRadius or 1) or nil local newOrigin, newTarget, velocity, hitTime = scanPositions(origin, entry._receivedPosition, L.publicSettings.bulletAcceleration, speed, penetration, closestPlayers, playerIndex, colRadius) if newOrigin then shotFired = true if weapon._magCount < 1 then if weapon._spareCount >= data.magsize then weapon._magCount = data.magsize weapon._spareCount = weapon._spareCount - weapon._magCount else weapon._magCount = weapon._spareCount weapon._spareCount = 0 end L.networkClient.send(L.networkClient, "reload") end local bullets = {} local bulletData = { camerapos = origin, firepos = newOrigin, bullets = bullets } for _ = 1, (data.pelletcount or 1) do table.insert(bullets, {velocity.Unit, ticket + ticketAddition}) ticketAddition = ticketAddition + 1 end local timeVal = L.networkClient.getTime() + newSpawnCache.latency + newSpawnCache.currentAddition L.networkClient.send(L.networkClient, "newbullets", weapon.uniqueId, bulletData, timeVal) for bulletIndex = 1, #bullets do local theTicket = bullets[bulletIndex][2] L.networkClient.send(L.networkClient, "bullethit", weapon.uniqueId, entry._player, newTarget, "Head", theTicket, timeVal) end if L.CollatScanningEnabled then for cIdx = playerIndex + 1, #closestPlayers do local cEntryData = closestPlayers[cIdx] local cEntry = cEntryData.entry if cEntry and cEntry._receivedPosition then local dist = (cEntry._receivedPosition - newTarget).Magnitude if dist <= (L.CollatScanningRadius or 1) then local cOrigin, cTarget = scanPositions(origin, cEntry._receivedPosition, L.publicSettings.bulletAcceleration, speed, penetration) if cOrigin then for bulletIndex = 1, #bullets do local theTicket = bullets[bulletIndex][2] L.networkClient.send(L.networkClient, "bullethit", weapon.uniqueId, cEntry._player, cTarget, "Head", theTicket, timeVal) end end end end end end if L.BulletTracersEnabled then if L.BulletTracerLink and L.RageBotFirePosScan and (newOrigin - origin).Magnitude > 0.1 then task.spawn(drawSegment, origin, newOrigin) end task.spawn(drawTracer, newOrigin, velocity, penetration) end if weapon._barrelPart then local barrel = weapon._barrelPart for _, c in ipairs(barrel:GetChildren()) do if c:IsA("ParticleEmitter") or c:IsA("PointLight") or c:IsA("Sound") or c.Name == "MuzzleFlash" then c:Destroy() end end L.effects.muzzleflash(barrel, data.hideflash, 0.9) if data.type == "SNIPER" then L.audioSystem.play("metalshell", 0.1) elseif data.type == "SHOTGUN" then L.audioSystem.play("shotWeaponshell", 0.2) elseif data.type == "REVOLVER" and not data.caselessammo then L.audioSystem.play("metalshell", 0.15, 0.8) end if data.sniperbass then L.audioSystem.play("1PsniperBass", 0.75) L.audioSystem.play("1PsniperEcho", 1) end L.audioSystem.playSoundId(data.firesoundid, 2, data.firevolume, data.firepitch, barrel, nil, 0, 0.05) end if L.crosshairsInterface and not weapon._aiming then L.crosshairsInterface.fireImpulse(data.crossexpansion) end local fireDelay = 60 / (data.variablefirerate and data.firerate[weapon._firemodeIndex] or data.firerate) nextShot = clockTime + fireDelay weapon._magCount = weapon._magCount - 1 break end currentScanIndex = (currentScanIndex % totalPlayers) + 1 playersChecked = playersChecked + 1 end if not shotFired and playersChecked >= totalPlayers then nextScan = clockTime + 0.015 end else nextScan = clockTime + 0.015 end end end) newFrameTime = 1 / 200 frameAcceleration = Vector3.new(0, -workspace.Gravity, 0) physicsignore = {workspace.Terrain, workspace:FindFirstChild("Ignore"), workspace:FindFirstChild("Players"), workspace.CurrentCamera} local sharedRaycastParams = RaycastParams.new() sharedRaycastParams.IgnoreWater = true raycast = function(origin, direction, filterlist, whitelist) sharedRaycastParams.FilterDescendantsInstances = filterlist or physicsignore sharedRaycastParams.FilterType = whitelist and Enum.RaycastFilterType.Include or Enum.RaycastFilterType.Exclude local result = workspace:Raycast(origin, direction, sharedRaycastParams) if result then return result.Instance, result.Position, result.Normal end return nil, nil, nil end simulateBullet = function(origin, velocity, penetration) local newTime = 0 local newOrigin = origin local newVelocity = velocity local newPenetration = penetration local ignoreList = {table.unpack(physicsignore)} local firstOrigin = origin local lastTarget = origin local hitDetermined = false while (newTime < 1) do local frameTime = newFrameTime local motion = (frameTime * newVelocity) + (((frameTime * frameTime) / 2) * frameAcceleration) local hit, enter = raycast(newOrigin, motion, ignoreList) if hit and hit.CanCollide and hit.Transparency ~= 1 and hit.Name ~= "Window" then local canShoot = false local normal = motion.Unit local maxExtent = hit.Size.Magnitude * normal local _, exit = raycast(enter + maxExtent, -maxExtent, {hit}, true) if exit then canShoot = true newPenetration = newPenetration - normal:Dot(exit - enter) if (newPenetration < 0) then lastTarget = enter hitDetermined = true break end else canShoot = true end if canShoot then table.insert(ignoreList, hit) local timePassed = (motion:Dot(enter - newOrigin) / motion:Dot(motion)) * frameTime newOrigin = enter + (0.01 * (newOrigin - enter).Unit) newVelocity = newVelocity + (timePassed * frameAcceleration) newTime = newTime + timePassed lastTarget = exit or enter end else lastTarget = newOrigin + motion newOrigin = newOrigin + motion newVelocity = newVelocity + (frameTime * frameAcceleration) newTime = newTime + frameTime end end return firstOrigin, lastTarget end L.BulletTracersList = {} L.TracerPool = {} L.TransparencyCache = table.create(21) for i = 0, 20 do L.TransparencyCache[i] = NumberSequence.new(i / 20) end RunService.RenderStepped:Connect(function() local c = #L.BulletTracersList if c == 0 then return end local now = os.clock() for i = c, 1, -1 do local t = L.BulletTracersList[i] if not t.beam or not t.container or not t.beam.Parent then if t.container then pcall(function() t.container:Destroy() end) end table.remove(L.BulletTracersList, i) continue end local passed = now - t.created if passed < 0.5 then local pVal = 1 - (passed * 2) local idx = math.clamp(math.floor(pVal * 20 + 0.5), 0, 20) t.beam.Transparency = L.TransparencyCache[idx] elseif passed < t.duration then if not t.fullyVisible then t.beam.Transparency = L.TransparencyCache[0] t.fullyVisible = true end elseif passed < t.duration + 1 then t.fullyVisible = false local pVal = passed - t.duration local idx = math.clamp(math.floor(pVal * 20 + 0.5), 0, 20) t.beam.Transparency = L.TransparencyCache[idx] else t.beam.Enabled = false table.insert(L.TracerPool, t) table.remove(L.BulletTracersList, i) end end end) drawSegment = function(firstOrigin, lastTarget) local tracerColor = L.TracerColor or Color3.fromRGB(83,132,171) local diameter = L.TracerSize or 0.1 local duration = L.TracerDuration or 4 local textureId = "rbxthumb://type=Asset&id=7151778311&w=420&h=420" local texSpeed = L.TracerAnimationSpeed or 3 if L.TracerStyle == "2" then textureId = "rbxthumb://type=Asset&id=446111271&w=420&h=420" elseif L.TracerStyle == "3" then textureId = "rbxthumb://type=Asset&id=86406621856457&w=420&h=420" elseif L.TracerStyle == "4" then textureId = "rbxthumb://type=Asset&id=7151842833&w=420&h=420" elseif L.TracerStyle == "5" then textureId = "rbxthumb://type=Asset&id=15000399181&w=420&h=420" elseif L.TracerStyle == "6" then textureId = "rbxthumb://type=Asset&id=73663492833517&w=420&h=420" end local poolSize = #L.TracerPool local t if poolSize > 0 then t = L.TracerPool[poolSize] L.TracerPool[poolSize] = nil t.container.CFrame = CFrame.new(firstOrigin) t.a1.WorldPosition = firstOrigin t.a2.WorldPosition = lastTarget t.beam.Color = ColorSequence.new(tracerColor) t.beam.Width0 = diameter * 2.5 t.beam.Width1 = diameter * 2.5 t.beam.Texture = textureId t.beam.TextureSpeed = texSpeed t.beam.Transparency = L.TransparencyCache[20] t.beam.Enabled = true t.created = os.clock() t.duration = duration t.fullyVisible = false else local container = Instance.new("Part") container.Name = "TracerContainer" container.Anchored = true container.CanCollide = false container.Transparency = 1 container.Size = Vector3.zero container.CFrame = CFrame.new(firstOrigin) container.Parent = workspace:FindFirstChild("Ignore") or workspace local a1 = Instance.new("Attachment", container) a1.WorldPosition = firstOrigin local a2 = Instance.new("Attachment", container) a2.WorldPosition = lastTarget local beam = Instance.new("Beam", container) beam.Attachment0 = a1 beam.Attachment1 = a2 beam.Color = ColorSequence.new(tracerColor) beam.Width0 = diameter * 2.5 beam.Width1 = diameter * 2.5 beam.Texture = textureId beam.TextureMode = Enum.TextureMode.Static beam.TextureLength = 4 beam.TextureSpeed = texSpeed beam.Transparency = L.TransparencyCache[20] beam.ZOffset = 1 beam.FaceCamera = true beam.LightEmission = 10 beam.LightInfluence = 0 t = { container = container, a1 = a1, a2 = a2, beam = beam, created = os.clock(), duration = duration, fullyVisible = false } end table.insert(L.BulletTracersList, t) end drawTracer = function(origin, velocity, penetration, isSubPellet) if not L.BulletTracersEnabled then return end if isSubPellet then return end local firstOrigin, lastTarget = simulateBullet(origin, velocity, penetration) if not firstOrigin or not lastTarget then return end drawSegment(firstOrigin, lastTarget) end L.newbullet = bulletObject.new function bulletObject.new(bulletData) if bulletData.onplayerhit then if L.UnlockAll then local controller = weaponInterface.getActiveWeaponController() local weapon = controller and controller:getActiveWeapon() local data = weapon and weapon:getWeaponData() if data then local pData = playerDataClientInterface.getPlayerData() local cl = (pData and modules.PlayerDataUtils.getClassData(pData)) and modules.PlayerDataUtils.getClassData(pData).curclass if cl and L.FakeWeapons[cl] and L.FakeWeapons[cl][controller:getActiveWeaponIndex()] == (data.displayname or data.name) then local realSpeed = contentInterface.getWeaponData(L.FakeWeapons[cl][controller:getActiveWeaponIndex()], false).bulletspeed if realSpeed then bulletData.velocity = bulletData.velocity.Unit * realSpeed end end end end if L.SilentEnabled and (L.SilentHitChance >= math.random(1, 100)) then local targetPos, entry, targetPart = L:GetSilentClosestTarget((L.SilentHeadshotChance >= math.random(1, 100)) and "Head" or "Torso") if targetPos then local targetVelocity = Vector3.zero if entry and entry._player then local player = entry._player if L.movementCache.position[player] and L.movementCache.position[player][15] and L.movementCache.time[15] then targetVelocity = (L.movementCache.position[player][15] - L.movementCache.position[player][1]) / (L.movementCache.time[15] - L.movementCache.time[1]) end end local origin = bulletData.position local velocity = (L.complexTrajectory(origin, bulletData.acceleration, targetPos, bulletData.velocity.Magnitude, targetVelocity)) bulletData.velocity = velocity end end drawTracer(bulletData.position, bulletData.velocity, bulletData.penetrationdepth, bulletData.isSubPellet) end return L.newbullet(bulletData) end local send = network.send function network:send(name, ...) local Arguments = { ... } if name == "spawn" then L.LastSpawnTime = tick() task.spawn(function() local start = tick() repeat task.wait() until charInterface.isAlive() or (tick() - start > 5); if not charInterface.isAlive() then return end L.ThirdPerson:Init(); end); end if not L.ThirdPersonInitialized then L.ThirdPersonInitialized = true task.spawn(function() local start = tick() repeat task.wait() until charInterface.isAlive() or (tick() - start > 5); if charInterface.isAlive() then L.ThirdPerson:Init(); end end) end if name == "repupdate" then local position, angles, angles2, time = ... if L.AntiAimEnabled and L.FakeLagEnabled then if not L.fakelag_lastRefreshPosition or not L.fakelag_lastRefreshTime then L.fakelag_lastRefreshPosition = position L.fakelag_lastRefreshTime = tick() end local dt = tick() - L.fakelag_lastRefreshTime local dist = (position - L.fakelag_lastRefreshPosition).Magnitude local safeDistance = L.FakeLagRefreshDistance or 5 if dt > 0 and (dist / dt) > 25 then safeDistance = math.min(safeDistance, 3.25) end if (dist > safeDistance) or (dt > math.clamp(L.FakeLagRefreshRate or 0.5, 0, 1.5)) then L.fakelag_lastRefreshPosition = position L.fakelag_lastRefreshTime = tick() else return end else L.fakelag_lastRefreshPosition = nil L.fakelag_lastRefreshTime = nil end if L.AntiAimEnabled and L.FakePositionEnabled then L.fakePos_Tick = (L.fakePos_Tick or 0) + 1 if L.fakePos_Tick >= (L.FakePositionInterval or 1) then L.fakePos_Tick = 0 local rad = L.FakePositionRadius or 1 L.fakePos_Offset = Vector3.new((math.random() - 0.5) * 2 * rad, 0, (math.random() - 0.5) * 2 * rad) end position = position + (L.fakePos_Offset or Vector3.zero) end L.Storage.Repupdate = position if L.AntiAimEnabled then local X, Y, Z = angles.X, angles.Y, angles.Z if L.AntiAimYawEnabled then if L.AntiAimYawType == "Custom" then Y = Y + math.rad(L.AntiAimYawAngle) elseif L.AntiAimYawType == "Wave" then Y = Y + math.rad(math.sin(tick() * L.AntiAimYawWaveRate) * L.AntiAimYawWaveDegree) end end if L.AntiAimPitchEnabled then if L.AntiAimPitchType == "Custom" then X = L.AntiAimPitchAngle / 45 elseif L.AntiAimPitchType == "Wave" then X = math.sin((tick() - L.StartTime) * L.AntiAimPitchWaveRate) * 2 end end if L.AntiAimSpinBotEnabled then Y = Y + (tick() - L.StartTime) * math.rad(L.AntiAimSpinBotDegreeRate * ((L.AntiAimSpinBotType == "Wave") and math.sin(tick()) * (L.AntiAimSpinBotWaveRate) or 1)) end angles = Vector3.new(X, Y, Z) end L.Storage.LookAngles = angles if L.newSpawnCache.updateDebt > 0 then L.newSpawnCache.updateDebt = L.newSpawnCache.updateDebt - 1 return end if L.WalkSpeedEnabled and L.newSpawnCache.lastUpdate then send(self, name, L.newSpawnCache.lastUpdate, angles, angles2, time + L.newSpawnCache.latency + L.newSpawnCache.currentAddition) L.newSpawnCache.updateDebt = L.newSpawnCache.updateDebt + 1 end L.newSpawnCache.lastUpdateTime = time L.newSpawnCache.lastUpdate = position local Object = L.ThirdPerson.ThirdPersonObject; if Object and L.ThirdPerson.Active then end return send(self, name, position, angles, angles2, time + L.newSpawnCache.latency + L.newSpawnCache.currentAddition) elseif name == "ping" then local a, b, c = ... local add = L.newSpawnCache.latency + L.newSpawnCache.currentAddition return send(self, name, a, b + add, c + add) elseif name == "newbullets" then local uniqueId, bulletData, time = ... local Object = L.ThirdPerson.ThirdPersonObject; if Object and L.ThirdPerson.Active then Object:kickWeapon(0, 0, 0, 0); end if L.SilentEnabled and (L.SilentHitChance >= math.random(1, 100)) then local targetPos, entry, targetPart = L:GetSilentClosestTarget((L.SilentHeadshotChance >= math.random(1, 100)) and "Head" or "Torso") if targetPos then local activeController = weaponInterface.getActiveWeaponController() local activeWeapon = activeController and activeController:getActiveWeapon() if activeWeapon then local targetVelocity = vector3_zero if entry and entry._player then local player = entry._player local posCache = L.movementCache.position[player] local timeCache = L.movementCache.time if posCache and posCache[15] and timeCache[15] then targetVelocity = (posCache[15] - posCache[1]) / (timeCache[15] - timeCache[1]) end end local speed = activeWeapon._weaponData.bulletspeed local rawVel = speed and L.complexTrajectory(bulletData.firepos, L.publicSettings.bulletAcceleration, targetPos, speed, targetVelocity) local velocity = rawVel and rawVel.Unit for idx, bullet in bulletData.bullets do if velocity then bullet[1] = velocity end if idx > 1 then bullet.isSubPellet = true end end end end end return send(self, name, uniqueId, bulletData, time) elseif name == "equip" then local Object = L.ThirdPerson.ThirdPersonObject; if Object and L.ThirdPerson.Active then local Slot = Arguments[1]; if Slot == 3 then Object:equipMelee(); else Object:equip(Slot); end; end elseif name == "sprint" then local Object = L.ThirdPerson.ThirdPersonObject; if Object and L.ThirdPerson.Active then Object:setSprint(Arguments[1]); end elseif name == "aim" then local Object = L.ThirdPerson.ThirdPersonObject; if Object and L.ThirdPerson.Active then Object:setAim(Arguments[1]); end elseif name == "stab" then local Object = L.ThirdPerson.ThirdPersonObject; if Object and L.ThirdPerson.Active then Object:stab(); end end if name == "changeCamo" and L.UnlockCamos then return end if name == "changeAttachment" and L.UnlockAttachments then return end if name == "changeWeapon" then local slot, weapon = ... if L.UnlockKnives and slot == "Knife" then return end if L.UnlockAll then local pData = playerDataClientInterface.getPlayerData() local cl = (pData and modules.PlayerDataUtils.getClassData(pData)) and modules.PlayerDataUtils.getClassData(pData).curclass if cl then local newPData = table.clone(pData) newPData.unlockAll = false if slot == "Primary" then L.FakeWeapons[cl][1] = weapon if modules.PlayerDataUtils.ownsWeapon(newPData, weapon) then L.RealWeapons[cl][1] = weapon end elseif slot == "Secondary" then L.FakeWeapons[cl][2] = weapon if modules.PlayerDataUtils.ownsWeapon(newPData, weapon) then L.RealWeapons[cl][2] = weapon end end end end end if name == "falldamage" and L.NoFallDamageEnabled then return end return send(self, name, ...) end L.getWeaponDataOriginal = contentInterface.getWeaponData function contentInterface.getWeaponData(weaponName, makeClone) local data = L.getWeaponDataOriginal(weaponName, makeClone) if makeClone and L.UnlockAll then local p = playerDataClientInterface.getPlayerData() local cl = (p and modules.PlayerDataUtils.getClassData(p)) and modules.PlayerDataUtils.getClassData(p).curclass if cl and L.FakeWeapons[cl] then for s, fn in pairs(L.FakeWeapons[cl]) do if fn == (data.displayname or data.name) and L.RealWeapons[cl][s] then local r = L.getWeaponDataOriginal(L.RealWeapons[cl][s], false) if r then setreadonly(data, false) local cap = r.firecap or (r.variablefirerate and math.max(unpack(r.firerate))) or r.firecap if data.variablefirerate then for i, v in ipairs(data.firerate) do data.firerate[i] = math.min(v, cap) end elseif data.firerate > cap then data.firerate = cap end if data.firecap and data.firecap > cap then data.firecap = cap end if r.magsize then if data.magsize > r.magsize then data.magsize, data.sparerounds = r.magsize, r.sparerounds else data.sparerounds = (r.magsize + r.sparerounds) - data.magsize end end data.pelletcount, data.penetrationdepth, data.bulletspeed = r.pelletcount, r.penetrationdepth, r.bulletspeed end; break end end end end return data end L.ownsWeaponOriginal = modules.PlayerDataUtils.ownsWeapon L.weaponDatabaseFolder = ReplicatedStorage.Content.ProductionContent.WeaponDatabase function modules.PlayerDataUtils.ownsWeapon(player, weapon) if L.UnlockKnives then local w = string.upper(weapon) for _, i in ipairs({"ONE HAND BLUNT", "ONE HAND BLADE", "TWO HAND BLUNT", "TWO HAND BLADE"}) do local t = L.weaponDatabaseFolder:FindFirstChild(i) if t and t:FindFirstChild(w) then return true end end end return L.ownsWeaponOriginal(player, weapon) end L.getUnlocksDataOriginal = modules.PlayerDataUtils.getUnlocksData function modules.PlayerDataUtils.getUnlocksData(player) local unlocks = L.getUnlocksDataOriginal(player) if L.UnlockAttachments and player == playerDataClientInterface.getPlayerData() then local old = unlocks unlocks = setmetatable({}, {__index = function(self, k) local val = old[k] if not val then val = {} old[k] = val end val.kills = 1e9 return val end, __newindex = function(self, k, v) old[k] = v end}) end return unlocks end local applyImpulse = recoil.applyImpulse function recoil.applyImpulse(...) if L.NoRecoil then return end return applyImpulse(...) end local reload = firearmObject.reload function firearmObject:reload() if L.InstantReload and self._spareCount > 0 then if self._spareCount >= self._weaponData.magsize then self._spareCount = self._spareCount - (self._weaponData.magsize - self._magCount) self._magCount = self._weaponData.magsize else self._magCount = self._spareCount self._spareCount = 0 end network:send("reload") return end return reload(self) end local computeWalkSway = firearmObject.computeWalkSway function firearmObject:computeWalkSway(dy, dx) if L.NoWalkSway then dy = 0; dx = 0 end return computeWalkSway(self, dy, dx) end local computeGunSway = firearmObject.computeGunSway function firearmObject.computeGunSway(...) if L.NoGunSway then return CFrame.identity end return computeGunSway(...) end local fromAxisAngle = cframeLib.fromAxisAngle function cframeLib.fromAxisAngle(x, y, z) if L.NoCameraSway then local controller = weaponInterface.getActiveWeaponController() local weapon = controller and controller:getActiveWeapon() return (weapon and weapon._blackScoped and CFrame.identity) or fromAxisAngle(x, y, z) end return fromAxisAngle(x, y, z) end local getWeaponStat = firearmObject.getWeaponStat function firearmObject:getWeaponStat(stat) if L.NoSpread and stat and stat:match('spread') then local spreadSpring = self._spreadSpring if spreadSpring then spreadSpring._p0 = Vector3.zero spreadSpring._v0 = Vector3.zero end end return getWeaponStat(self, stat) end local instantAimOriginals = setmetatable({}, {__mode = "k"}) RunService.RenderStepped:Connect(function() local controller = weaponInterface and weaponInterface.getActiveWeaponController() local weapon = controller and controller.getActiveWeapon and controller:getActiveWeapon() if weapon and weapon.getWeaponType and weapon:getWeaponType() == 'Firearm' then local aimStats = weapon._activeAimStats and weapon._activeAimStats[weapon._activeAimStatIndex] if aimStats then if not instantAimOriginals[aimStats] then instantAimOriginals[aimStats] = { aimspeed = aimStats.aimspeed, magnifyspeed = aimStats.magnifyspeed, unaimspeed = aimStats.unaimspeed, unmagnifyspeed = aimStats.unmagnifyspeed, } end if L.InstantAim then aimStats.aimspeed = 999 aimStats.magnifyspeed = 999 aimStats.unaimspeed = 999 aimStats.unmagnifyspeed = 999 else local orig = instantAimOriginals[aimStats] aimStats.aimspeed = orig.aimspeed aimStats.magnifyspeed = orig.magnifyspeed aimStats.unaimspeed = orig.unaimspeed aimStats.unmagnifyspeed = orig.unmagnifyspeed end end end if L.InstantEquip then local charObject = charInterface and charInterface.getCharacterObject() if charObject then local equipSpring = charObject:getSpring('equipspring') if equipSpring then equipSpring.s = 999 end end end end) local mainStep = cameraObject.step cameraObject.step = function(self, dt) local characterObject = charInterface.getCharacterObject() local l_NoCameraSway = L.NoCameraSway local l_NoCameraBob = L.NoCameraBob local useNoBob = l_NoCameraBob and characterObject local stepDt = l_NoCameraSway and 0 or dt if useNoBob then local oldSpeed = characterObject._speed characterObject._speed = 0 mainStep(self, stepDt) characterObject._speed = oldSpeed else mainStep(self, stepDt) end if l_NoCameraSway then self._lookDt = dt end if L.ThirdPersonEnabled then local cameraCF = Camera.CFrame local lookVector = cameraCF.LookVector local distance = L.ThirdPersonDistance or 7 local params = RaycastParams.new() params.FilterDescendantsInstances = {workspace:FindFirstChild("Players"), workspace.CurrentCamera, workspace:FindFirstChild("Ignore")} params.FilterType = Enum.RaycastFilterType.Exclude local rayResult = workspace:Raycast(cameraCF.Position, lookVector * -distance, params) if rayResult and rayResult.Instance.CanCollide then distance = (rayResult.Position - cameraCF.Position).Magnitude end Camera.CFrame *= CFrame.new(0, 0, distance) end end RunService.PreRender:Connect(function() if L.ThirdPerson and L.ThirdPerson.Active and L.ThirdPerson.ThirdPersonObject and L.ToggleCharacterVisuals then local Character = L.ThirdPerson.ThirdPersonObject._characterModel if Character then local material = L.CharacterMaterial or "ForceField" local texture = L.ForceFieldTextures[L.SelectedForceFieldTexture or "Honeycomb"] local color = L.ThirdPersonChamsColor or Color3.fromRGB(131, 146, 255) local vColor = Vector3.new(color.R, color.G, color.B) for _, Object in ipairs(Character:GetDescendants()) do if Object:IsA('BasePart') then if material == "ForceField" then Object.Material = Enum.Material.ForceField else pcall(function() Object.Material = Enum.Material[material] or Enum.Material.ForceField end) end Object.Color = color if Object:IsA('MeshPart') then if material == "ForceField" then pcall(function() Object.TextureID = texture end) else pcall(function() Object.TextureID = "" end) end end elseif Object:IsA('SpecialMesh') then if material == "ForceField" then Object.TextureId = texture Object.VertexColor = vColor else Object.TextureId = "" Object.VertexColor = Vector3.new(1, 1, 1) end elseif Object:IsA('Decal') or Object:IsA('Texture') then Object.Transparency = 1 end end end end end) Library:Notify('roxy loaded in ' .. string.format("%.2f", tick() - L.StartTime) .. ' seconds', 5) else warn("roxy.win / failed to hook gun mods modules {fuck} ") end end)