getgenv().Evolution = { ["Options"] = { ["Version"] = "3.1.4-Electron", -- // Dont touch this is to make sure your using the correct table ["Stealth Mode"] = { ["Enabled"] = false, -- // Will hide the loader and just load the script ["Key"] = "", -- // Enter your Evolution Key }, ["Internal"] = { ["Enabled"] = true, -- // Shows internal ui for evolution ["Auto Show"] = true, -- // Will show the ui when you execute ["Bind"] = "V", -- // Default keybind to toggle ui }, ["FPS Unlocker"] = { -- // Unlocks your fps (BROKEN ON ELECTRON) ["Enabled"] = true, -- // Will unlock your FPS ["FPS"] = 999, -- // Maximum FPS }, ["Intro"] = true, -- // Will show a short intro ["Stats"] = true, -- // Shows debug stats (BROKEN ON ELECTRON) ["Auto Join Discord"] = true, -- // Will Join Discord ["Allow Notifications"] = true, -- // Toggles all notifications ["Notifcation Type"] = "xaxa", -- // Akali, Roblox, xaxa ["Notifcation Duration"] = 3, -- // How long notifcations will show }, ["Silent Aim"] = { ["Enabled"] = true, -- // Mouse Redirection ["Mode"] = "FOV", -- // Select mode to select target (FOV, Target ) ["Target Mode Bind"] = "Q", -- // Keybind for Target mode ["Notify"] = true, -- // Sends notifcation when targeting someone ["Prediction"] = 0.133, -- // Prediction Value ["Hit Chance"] = 100, -- // Hit chance (1-100) ["Target Part"] = "Head", -- // Any Hitbox (Head, UpperTorso, HumanoidRootPart, LowerTorso) ["Target Part Offset"] = 0, -- // Offset if you have the target part to head and you set offset to -1.6 you will hit the torso ["Nearest Part To Cursor"] = false, -- // Sets target part to the nearest body part to your cursor ["Closest Point"] = false, -- // Gets the closest point on the target part (not working rn) ["Dot"] = true, -- // Visual (BROKEN ON ELECTRON) ["Line"] = false, -- // Visual (BROKEN ON ELECTRON) ["Shake"] = { ["Enabled"] = false, -- // Will Randomly Offset hit point ["X"] = 5, -- // Max X Position ["Y"] = 5, -- // Max Y Position ["Z"] = 5, -- // Max Z Position }, }, ["Cam Lock"] = { ["Enabled"] = false, -- // Adjust your camera position ["Mode"] = "Target_toggle", -- // Select mode to select target (FOV, Target_toggle, Target_hold) ["Target Mode Bind"] = "C", -- // Keybind for Target modes ["Easing Style"] = "Exponential", -- // https://create.roblox.com/docs/reference/engine/enums/EasingStyle ["Notify"] = true, -- // Sends notifcation when targeting someone ["Prediction"] = 0.133, -- // Prediction Value ["Target Part"] = "Head", -- // Any Hitbox (Head, UpperTorso, HumanoidRootPart, LowerTorso) ["Target Part Offset"] = 0, -- // Offset if you have the target part to head and you set offset to -1.6 you will hit the torso ["Nearest Part To Cursor"] = false, -- // Sets target part to the nearest body part to your cursor ["Closest Point"] = false, -- // Gets the closest point on the target part ["Dot"] = true, -- // Visual (BROKEN ON ELECTRON) ["Line"] = false, -- // Visual (BROKEN ON ELECTRON) ["Smoothness"] = { ["Enabled"] = true, -- // Prevents snapping when targeting ["Value"] = 0.058, -- // Smoothness Value }, ["Shake"] = { ["Enabled"] = false, -- // Will Shake your camera randomly when targeting ["X"] = 5, -- // Max X Position ["Y"] = 5, -- // Max Y Position ["Z"] = 5, -- // Max Z Position }, }, ["Global"] = { ["Auto Prediction"] = { ["Enabled"] = true, -- // Will automatically set your prediction based on your ping ["Version"] = "Default", -- // Default, Old, V2, Custom ["Custom Settings"] = { -- // Custom Values ["Ping20"] = 0.12746444, ["Ping30"] = 0.12746444, ["Ping40"] = 0.12746444, ["Ping50"] = 0.11243, ["Ping60"] = 0.11243, ["Ping70"] = 0.12533, ["Ping80"] = 0.169, ["Ping90"] = 0.13626, ["Ping100"] = 0.13829, ["Ping110"] = 0.146, ["Ping120"] = 0.149, ["Ping130"] = 0.151, ["Ping140"] = 0.1652131, ["Ping150"] = 0.125333, ["Ping160"] = 0.1223333, ["Ping170"] = 0.15, ["Ping180"] = 0.1923111, ["Ping190"] = 0.165771, ["Ping200"] = 0.1746, } }, ["Anti Ground Shots"] = false, -- // Will prevent you from shooting the ground ["Unlock On KO"] = false, -- // Unlocks when target dies ["Unlock Outside FOV"] = false, -- // Will unlock when the target leaves your fov ["Unlock Behind Wall"] = false, -- // Will unlock when the target goes behind a wall }, ["Checks"] = { ["Whitelist"] = { -- // Will only lock onto people whitelisted, ["Enabled"] = false, ["Usernames"] = { --[[ Enter usernames eg: "Username1", "Username2", "Username3" ]] } }, ["Blacklist"] = { -- // Will not lock onto peopled blacklisted, ["Enabled"] = false, ["Usernames"] = { --[[ Enter usernames eg: "Username1", "Username2", "Username3" ]] } }, ["Visible Check"] = true, -- // Will check if target is behind a wall ["K.O Check"] = true, -- // Will check if target is knocked or grabbed ["Crew Check"] = false, -- // Will check if target is in your crew ["Friend Check"] = false, -- // Will check if target is your friend if not will not lock ["Distance"] = { -- // Not lock onto people if they are too far away ["Enabled"] = false, ["Max Distance"] = 200, -- // Studs } }, ["Resolver"] = { ["Enabled"] = false, -- // Resolve Anti Locks and Desyncs ["Method"] = "Delta", -- // Delta, Move Direction, No Prediction, Recalculate ["Keybind Enabled"] = false, -- // Will toggle resolver when you press key ["Keybind"] = "T", -- // Keybind to toggle resolver }, ["FOV"] = { -- // FOV Circle Settings ["Silent Aim"] = { ["Visible"] = true, -- // Will toggle if you can see the circle (BROKEN ON ELECTRON) ["Filled"] = false, -- // Makes circle filled (really fucking ugly) ["Size"] = 15, -- // Size of the circle ["Thickness"] = 1, -- // Thickness of the circle ["Transparency"] = 1, -- // Transparency of the circle 0.1 - 1 ["Color"] = Color3.fromRGB(255,255,255) -- // Circle Color }, ["Cam Lock"] = { ["Visible"] = false, -- // Will toggle if you can see the circle (BROKEN ON ELECTRON) ["Filled"] = false, -- // Makes circle filled (really fucking ugly) ["Size"] = 15, -- // Size of the circle ["Thickness"] = 1, -- // Thickness of the circle ["Transparency"] = 1, -- // Transparency of the circle 0.1 - 1 ["Color"] = Color3.fromRGB(255,255,255) -- // Circle Color }, }, ["Airshot"] = { ["Enabled"] = true, -- // Will adjust your prediction if target is in the air ["Jump Offset"] = -1.6, -- // Jump Offset ["Cam Lock Smoothness"] = { ["Enabled"] = true, -- // Will adjust your camlock smoothness if target is in the air ["New Smoothness"] = 0.58, -- // Smoothness value } }, ["Hit Sound"] = { ["Enabled"] = false, -- // Sound for when you hit a player ["Hit Sound"] = "Minecraft", -- // Minecraft, Bameware, Bubble, Pick, Pop, Rust, Sans, Fart, Big, Vine, Bruh, Skeet, Neverlose, Fatality, Bonk ["Volume"] = 1, }, ["Hit Logs"] = { ["Enabled"] = false, -- // Logs when you hit a player }, ["Macro"] = { ["Enabled"] = false, -- // Lua based macro ["Bind"] = "X", -- // Keybind to start macro ["Abuse"] = true, -- // Will use scroll wheel to macro ["Speed"] = 1, --// Macro Speed }, ["Spoofer"] = { ["Memory"] = { ["Enabled"] = false, -- // Will spoof your memory usage ["Max"] = 900, ["Min"] = 700, }, }, ["Gun Sorting"] = { ["Enabled"] = false, -- // Sorts the guns in your inventory ["Bind"] = "Z", -- // Keybind to sort ["Delete Extra"] = false, -- // Will destroy any tools that are not sorted (broken) ["Slots"] = { -- // You can add up to 9 "[Double-Barrel SG]", "[Revolver]", "[TacticalShotgun]", "[Shotgun]", "[Katana]", } }, ["Emotes"] = { -- // Da hood and Hood Modded only (if you have the animation ids for other da hood ripoffs dm xz) ["Lay"] = true, ["LayKey"] = Enum.KeyCode.T, -- // Will Play Lay Animation when you press the keybind ["Greet"] = true, ["GreetKey"] = Enum.KeyCode.G, -- // Will Play Greet Animation when you press the keybind ["Speed"] = false, ["SpeedKey"] = Enum.KeyCode.N, -- // Will Play Speed Animation when you press the keybind ["Sturdy"] = false, ["SturdyKey"] = Enum.KeyCode.H, -- // Will Play Sturdy Animation when you press the keybind ["Griddy"] = false, ["GriddyKey"] = Enum.KeyCode.G, -- // Will Play Griddy Animation when you press the keybind }, ["Fake Spike"] = { ["Enabled"] = false, -- // Will spike your ping to make it look like your lagging ["Bind"] = "K", -- // Keybind to spike ["Duration"] = 1, -- // How long you will be spiked for }, ["Panic"] = { ["Enabled"] = false, -- // Will disable all features ["Bind"] = "P", -- // Keybind to panic ["Things To Disable"] = { ["Options"] = true, -- // Stats, Notifications ["Aiming"] = true, -- // Silent Aim, Cam Lock ["FOV"] = true, -- // Silent Aim FOV, Cam Lock FOV ["Misc"] = true, -- // Macro, Gun Sorting, Fake Spike, Chat Commands ["Emotes"] = true, -- // Emotes } }, ["Extra"] = { ["Disable Seats"] = true, -- // Will disable all the seats that break your macro ["Low Graphics"] = false, -- // Will give you low graphics ["Mute Boomboxes"] = false, -- // Will mute everyones boombox (FE) }, ["ESP"] = { -- // Allows you to see players through the walls ["Enabled"] = false, -- // Main Toggle ["Max Distance"] = 500, -- // Maxiumum distance to show esp (studs) ["Name"] = { -- // Will show username ["Enabled"] = true, ["Outline"] = false, ["Color"] = Color3.fromRGB(255, 255, 255) }, ["Box"] = { -- // Will show a box around character ["Enabled"] = true, ["Outline"] = false, ["Color"] = Color3.fromRGB(255, 255, 255) }, ["Health Bar"] = { -- // Will show a health bar next to box ["Enabled"] = false, ["Outline"] = false, ["Color"] = Color3.fromRGB(0, 255, 0) }, ["Distance"] = { -- // Will tell you the distance (in studs) ["Enabled"] = false, ["Outline"] = false, ["Color"] = Color3.fromRGB(255, 255, 255) }, }, ["Chat Commands"] = { ["Enabled"] = true, ["Prefix"] = ".", ["Commands"] = { -- // CANNOT HAVE SPACES!!! ["Prediction"] = "pred", -- // ex; $pred 0.115 ["ToggleFOV"] = "draw", -- // ex; $draw true (you can also do "on" or "yes" and to disable you do "off" or "yes" or "false") ["SizeFOV"] = "radius", -- // ex; $radius 100 ["GotoLocation"] = "tp", -- // ex; $tp bank (locations in server) ["ToggleResolver"] = "resolver", -- // ex; $resolver true (you can also do "on" or "yes" and to disable you do "off" or "yes" or "false") ["JoinDiscord"] = "discord", -- // ex; $discord ["RejoinServer"] = "rj", -- // ex; $rj ["ToggleSilentAim"] = "silent", -- // ex; $silent true (you can also do "on" or "yes" and to disable you do "off" or "yes" or "false") ["ToggleCamLock"] = "camlock", -- // ex; $camlock true (you can also do "on" or "yes" and to disable you do "off" or "yes" or "false") ["CamLockSmoothness"] = "smoothness", -- // ex; $smoothness 0.086 ["CheckForExploiters"] = "check", -- // ex; $check ["ForceReset"] = "reset", -- // ex; $reset } } } -- // Evolution V3 --[[if Evolution.Options["FPS Unlocker"].Enabled then setfpscap(Evolution.Options["FPS Unlocker"].FPS) end]] for i,v in pairs(game.Workspace:GetDescendants()) do if v:IsA("Seat") then v.Disabled = Evolution["Extra"]["Disable Seats"] end end local smoothplastic = Enum.Material.SmoothPlastic local objects = {} local function scan(object) local objectlist = object:GetChildren() for i = 1, #objectlist do if objectlist[i]:IsA('BasePart') then objects[objectlist[i]] = objectlist[i].Material end scan(objectlist[i]) end end scan(workspace) if not Evolution["Extra"]["Low Graphics"] then for i in pairs(objects) do i.Material = objects[i] end else for i in pairs(objects) do i.Material = smoothplastic --wait()s end end local utility = { Invite = "camlock", Folder = "EvolutionSettings", Version = "3.1.4-Electron", Ping = 5, Bypass = { 12927359803, -- Dah Aim Trainer 12867571492, -- KatanaHood 11867820563, -- Dae Hood 12618586930, -- Dat Hood 13018411607, -- Dat Hood 2 13018411607, -- // Dat Hood Backup 9633073067, -- // Del Hood 11956541652, --// Dav Hood 10100958808, -- // Da Downhill 12815368779, -- // Da Hood Aim Trainer 13126185789, -- // Da Hood Aim Trainer VC } } if not LPH_OBFUSCATED and not LPH_JIT_ULTRA then LPH_NO_VIRTUALIZE = function(f) return f end LRM_UserNote = "" LRM_LinkedDiscordID = 1 LRM_TotalExecutions = 1 LRM_SecondsLeft = 9999 end getgenv().luarmor_vars = { ID = LRM_LinkedDiscordID, } local Blacklisted_GameIds = loadstring(game:HttpGet("https://raw.githubusercontent.com/laagginq/Evolution/main/blacklisted_gameIds.lua"))() if table.find(Blacklisted_GameIds,game.PlaceId) then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Blacklist game ID", Text = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name.." is blacklisted because it is unsafe to use evolution on.", Icon = "rbxassetid://14270853092", Duration = 10 }) return end if Evolution.Options.Version ~= utility.Version then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Incorrect Table Version", Text = "Please goto the discord and get the newest version.", Icon = "rbxassetid://14270853092", Duration = 10 }) return end task.spawn(function() pcall(function() repeat wait() until game.CoreGui.RobloxGui:FindFirstChild("PerformanceStats") for __, v in pairs(game.CoreGui.RobloxGui.PerformanceStats:GetChildren()) do if v.Name == "PS_Button" and v.StatsMiniTextPanelClass.TitleLabel.Text == "Mem" then Memory = v.StatsMiniTextPanelClass.ValueLabel end end Memory:GetPropertyChangedSignal("Text"):Connect(function() if Evolution.Spoofer.Memory.Enabled then local random1 = math.random(Evolution.Spoofer.Memory.Min, Evolution.Spoofer.Memory.Max) local rand1 = math.random(0,9) local rand2 = math.random(0,9) Memory.Text = "".. random1 .. "." .. rand1 .. rand2.. " MB" end end) end) end) local AnimationIds = { Lay = "rbxassetid://0", Greet = "rbxassetid://0", Sturdy = "rbxassetid://0", Griddy = "rbxassetid://0", Speed = "rbxassetid://0", } if game.PlaceId == 2788229376 or game.PlaceId == 7213786345 then -- // Da Hood AnimationIds = { Lay = "rbxassetid://3152378852", Greet = "rbxassetid://3189777795", Sturdy = "rbxassetid://11710529975", Griddy = "rbxassetid://11710529975", Speed = "rbxassetid://11710541744", } elseif game.PlaceId == 5602055394 or game.PlaceId == 7951883376 then AnimationIds = { Lay = "rbxassetid://12848619324", Greet = "rbxassetid://12848108646", Sturdy = "rbxassetid://12848836068", Griddy = "rbxassetid://12848118145", Speed = "rbxassetid://12848831214", } elseif game.PlaceId == 12867571492 then AnimationIds = { Lay = "rbxassetid://12649394546", Greet = "rbxassetid://12649400354s", Sturdy = "rbxassetid://0", Griddy = "rbxassetid://0", Speed = "rbxassetid://0", } elseif game.PlaceId == 14412601883 then -- // Hood Bank AnimationIds = { Lay = "rbxassetid://14414332833", Greet = "rbxassetid://14413912697", Sturdy = "rbxassetid://0", Griddy = "rbxassetid://0", Speed = "rbxassetid://0", } elseif game.PlaceId == 14413712255 then AnimationIds = { Lay = "rbxassetid://14414368594", Greet = "rbxassetid://14414355346", Sturdy = "rbxassetid://0", Griddy = "rbxassetid://0", Speed = "rbxassetid://0", } end game:GetService("UserInputService").InputBegan:Connect(function(key, gp) if not gp then if key.KeyCode == Evolution.Emotes.LayKey then if Evolution.Emotes.Lay then local Lay = Instance.new("Animation") Lay.AnimationId = AnimationIds.Lay local LayTrack = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(Lay) LayTrack:Play() game.Players.LocalPlayer.Character.Humanoid.Running:Connect(function() LayTrack:Stop() end) end end if key.KeyCode == Evolution.Emotes.GreetKey then if Evolution.Emotes.Greet then local Greet = Instance.new("Animation") Greet.AnimationId = AnimationIds.Greet local GreetTrack = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(Greet) GreetTrack:Play() game.Players.LocalPlayer.Character.Humanoid.Running:Connect(function() GreetTrack:Stop() end) end end if key.KeyCode == Evolution.Emotes.SpeedKey then if Evolution.Emotes.Speed then local Speed = Instance.new("Animation") Speed.AnimationId = AnimationIds.Speed local SppedTrack = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(Speed) SpeedTrack:Play() game.Players.LocalPlayer.Character.Humanoid.Running:Connect(function() SpeedTrack:Stop() end) end end if key.KeyCode == Evolution.Emotes.SturdyKey then if Evolution.Emotes.Sturdy then local Sturdy = Instance.new("Animation") Sturdy.AnimationId = AnimationIds.Sturdy local SturdyTrack = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(Sturdy) SturdyTrack:Play() game.Players.LocalPlayer.Character.Humanoid.Running:Connect(function() SturdyTrack:Stop() end) end end if key.KeyCode == Evolution.Emotes.GriddyKey then if Evolution.Emotes.Griddy then local Griddy = Instance.new("Animation") Griddy.AnimationId = AnimationIds.Griddy local GriddyTrack = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(Griddy) GriddyTrack:Play() game.Players.LocalPlayer.Character.Humanoid.Running:Connect(function() GriddyTrack:Stop() end) end end end end) local AkaliNotif = loadstring(game:HttpGet("https://raw.githubusercontent.com/laagginq/Evolution/main/akali.lua"))(); local gggg = AkaliNotif.Notify; local notificationLibrary = loadstring(game:HttpGet("https://raw.githubusercontent.com/laagginq/ui-libraries/main/xaxas-notification/src.lua"))(); local notifications = notificationLibrary.new({ NotificationLifetime = 3, NotificationPosition = "Middle", TextFont = Enum.Font.Code, TextColor = Color3.fromRGB(255, 255, 255), TextSize = 15, TextStrokeTransparency = 0, TextStrokeColor = Color3.fromRGB(0, 0, 0) }); notifications:BuildNotificationUI(); getgenv().notify = function(txt) if Evolution.Options["Allow Notifications"] then if string.lower(Evolution.Options["Notifcation Type"]) == "akali" then gggg({ Description = txt; Title = "Notification"; Duration = Evolution.Options["Notifcation Duration"]; }); elseif string.lower(Evolution.Options["Notifcation Type"]) == "roblox" then game:GetService("StarterGui"):SetCore("SendNotification",{ Title = "Notification", Text = txt, Icon = "rbxassetid://14270853092", Duration = Evolution.Options["Notifcation Duration"] }) elseif string.lower(Evolution.Options["Notifcation Type"]) == "xaxa" then notifications:Notify(txt); end end end local bypass = { dahood = function() local _game = getrawmetatable(game) setreadonly(_game, false) local ___namecall = _game.__namecall _game.__namecall = newcclosure(function(...) if getnamecallmethod() == 'FireServer' and ({...})[1].Name == 'MainEvent' and table.find({"BreathingHAMON", "OneMoreTime", "BANREMOTE", "PERMAIDBAN", "KICKREMOTE", "BR_KICKPC", "BR_KICKMOBILE", "CHECKER_1", "TeleportDetect", "GUI_CHECK"}, ({...})[2]) then return end return ___namecall(...) end) setreadonly(_game, true) end, hoodmodded = function() for i,v in next, getgc(true) do if typeof(v)=="table" and rawget(v,"DoThings") then v.DoThings = function() end end end end, untitledhood = function() local _1; _1 = hookmetamethod(game, "__namecall", function(self, ...) if not checkcaller() and getnamecallmethod() == "FireServer" then if tostring(self.Name) == ".gg/untitledhood" then local args = {...} if tostring(args[1]) == "ForceDetect" or tostring(args[1]) == "TeleportDetect" or tostring(args[1]) == "GUI_CHECK" then return end end end return _1(self, ...); end) end, adonis = function() for k,v in pairs(getgc(true)) do if pcall(function() return rawget(v,"indexInstance") end) and type(rawget(v,"indexInstance")) == "table" and (rawget(v,"indexInstance"))[1] == "kick" then v.tvk = {"kick",function() return game.Workspace:WaitForChild("") end} end end end } if game.PlaceId == 2788229376 or game.PlaceId == 7213786345 then bypass.dahood() elseif game.PlaceId == 5602055394 or game.PlaceId == 7951883376 then bypass.hoodmodded() elseif game.PlaceId == 9183932460 or game.PlaceId == 9435785899 then bypass.untitledhood() elseif table.find(utility.Bypass,game.PlaceId) then bypass.adonis() end function missingf(functionmissing) notify("Your executor is missing "..functionmissing.." this feature will not work.") end function toClipboard(String) local clipBoard = setclipboard or toclipboard or set_clipboard or (Clipboard and Clipboard.set) if clipBoard then clipBoard(String) else missingf("setclipboard") return end end function hookf(Function) local consume = detour_function or replaceclosure or hookfunc or hookfunction if consume then consume(Function) else missingf("hookfunction") return end end function httprequest(f) local httprequest = (syn and syn.request) or (http and http.request) or http_request or (fluxus and fluxus.request) or request if not httprequest then httprequest(f) else missingf("httprequest") return end end if not isfolder(utility.Folder) then makefolder(utility.Folder) end if not isfile(utility.Folder.."/invite.txt") then writefile(utility.Folder.."/invite.txt","") end if readfile(utility.Folder.."/invite.txt") ~= utility.Invite then if httprequest then httprequest({ Url = 'http://127.0.0.1:6463/rpc?v=1', Method = 'POST', Headers = { ['Content-Type'] = 'application/json', Origin = 'https://discord.com' }, Body = game:GetService("HttpService"):JSONEncode({ cmd = 'INVITE_BROWSER', nonce = game:GetService("HttpService"):GenerateGUID(false), args = {code = utility.Invite} }) }) end writefile(utility.Folder.."/invite.txt",utility.Invite) end local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local Gui = game:GetService("GuiService") local SilentTarget = nil local CamlockTarget = nil local ClosestPointCF = nil local ClosestPointCF2 = nil local PredictionValue = 0.133 local PredictionValue2 = 0.133 local closestsilentbodypart = Evolution["Silent Aim"]["Target Part"] local closestcamlockpart = Evolution["Cam Lock"]["Target Part"] local LocalPlayer = Players.LocalPlayer local mouse = LocalPlayer:GetMouse() local CurrentCamera = Workspace.CurrentCamera local v3 = Vector3 local v2 = Vector2 local CF = CFrame if Evolution["Options"]["Intro"] then local cam = workspace.CurrentCamera local x = cam.ViewportSize.X local y = cam.ViewportSize.Y local newx = math.floor(x * 0.5) local newy = math.floor(y * 0.5) local SpashScreen = Instance.new("ScreenGui") local Image = Instance.new("ImageLabel") SpashScreen.Name = "SpashScreen" SpashScreen.Parent = game.CoreGui SpashScreen.ZIndexBehavior = Enum.ZIndexBehavior.Sibling Image.Name = "Image" Image.Parent = SpashScreen Image.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Image.BackgroundTransparency = 1 Image.Position = UDim2.new(0, newx, 0, newy) Image.Size = UDim2.new(0, 100, 0, 100) Image.Image = "rbxassetid://14270853092" Image.ImageTransparency = 1 Image.AnchorPoint = Vector2.new(0.5,0.5) local Blur = Instance.new("BlurEffect") Blur.Parent = game.Lighting Blur.Size = 0 Blur.Name = math.random(1,123123) local function gui(last, sex, t, s, inorout) local TI = TweenInfo.new(t or 1, s or Enum.EasingStyle.Sine, Enum.EasingDirection.InOut) local Tweening = game:GetService("TweenService"):Create(last, TI, sex) Tweening:Play() end gui(Image, {ImageTransparency = 0},0.3) gui(Blur, {Size = 20},0.3) wait(3) gui(Image, {ImageTransparency = 1},0.3) gui(Blur, {Size = 0},0.3) wait(0.3) end local Circle = Drawing.new("Circle") Circle.Transparency = Evolution.FOV["Silent Aim"].Transparency Circle.Radius = Evolution.FOV["Silent Aim"].Size * 3 Circle.Visible = Evolution.FOV["Silent Aim"].Visible Circle.Color = Evolution.FOV["Silent Aim"].Color Circle.Thickness = Evolution.FOV["Silent Aim"].Thickness Circle.Filled = Evolution.FOV["Silent Aim"].Filled local Circle2 = Drawing.new("Circle") Circle2.Transparency = Evolution.FOV["Cam Lock"].Transparency Circle2.Radius = Evolution.FOV["Cam Lock"].Size * 3 Circle2.Visible = Evolution.FOV["Cam Lock"].Visible Circle2.Color = Evolution.FOV["Cam Lock"].Color Circle2.Thickness = Evolution.FOV["Cam Lock"].Thickness Circle2.Filled = Evolution.FOV["Cam Lock"].Filled local Visualizer = Drawing.new("Circle") Visualizer.Filled = true Visualizer.Thickness = 1 Visualizer.Transparency = 1 Visualizer.Radius = 3 Visualizer.Color = Color3.new(1,1,1) local Visualizer2 = Drawing.new("Line") Visualizer2.Visible = false Visualizer2.From = v2.new(0, 0) Visualizer2.To = v2.new(200, 200) Visualizer2.Color = Color3.new(1,1,1) Visualizer2.Thickness = 1 Visualizer2.Transparency = 1 local CVisualizer = Drawing.new("Circle") CVisualizer.Filled = true CVisualizer.Thickness = 1 CVisualizer.Transparency = 1 CVisualizer.Radius = 3 CVisualizer.Color = Color3.new(1,1,1) local CVisualizer2 = Drawing.new("Line") CVisualizer2.Visible = false CVisualizer2.From = v2.new(0, 0) CVisualizer2.To = v2.new(200, 200) CVisualizer2.Color = Color3.new(1,1,1) CVisualizer2.Thickness = 1 CVisualizer2.Transparency = 1 OnScreen = function(Object) local _, screen = CurrentCamera:WorldToScreenPoint(Object.Position) return screen end CalculateChance = function(Percentage) Percentage = math.floor(Percentage) local chance = math.floor(Random.new().NextNumber(Random.new(), 0, 1) * 100) / 100 return chance < Percentage / 100 end RayCastCheck = function(Part, PartDescendant) local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded.Wait(LocalPlayer.CharacterAdded) local Origin = CurrentCamera.CFrame.Position local RayCastParams = RaycastParams.new() RayCastParams.FilterType = Enum.RaycastFilterType.Blacklist RayCastParams.FilterDescendantsInstances = {Character, CurrentCamera} local Result = Workspace.Raycast(Workspace, Origin, Part.Position - Origin, RayCastParams) if (Result) then local PartHit = Result.Instance local Visible = (not PartHit or Instance.new("Part").IsDescendantOf(PartHit, PartDescendant)) return Visible end return false end Alive = function(Plr) if Plr and Plr.Character and Plr.Character:FindFirstChild("HumanoidRootPart") ~= nil and Plr.Character:FindFirstChild("Humanoid") ~= nil and Plr.Character:FindFirstChild("Head") ~= nil then return true end return false end GetMagnitudeFromMouse = function(Part) local PartPos, OnScreen = CurrentCamera:WorldToScreenPoint(Part.Position) if OnScreen then local Magnitude = (v2.new(PartPos.X, PartPos.Y) - v2.new(mouse.X, mouse.Y)).Magnitude return Magnitude end return math.huge end local EspPlayers = {} Draw = function(Type, Properties) local NewDrawing = Drawing.new(Type) for i,v in next, Properties or {} do NewDrawing[i] = v end return NewDrawing end NewESP = function(Player) EspPlayers[Player] = { Name = Draw("Text", {Color = Color3.fromRGB(255,2550, 255), Outline = true, Visible = false, Center = true, Size = 13, Font = 0}), BoxOutline = Draw("Square", {Color = Color3.fromRGB(0, 0, 0), Thickness = 3, Visible = false}), Box = Draw("Square", {Color = Color3.fromRGB(255, 255, 255), Thickness = 1, Visible = false}), HealthBarOutline = Draw("Line", {Color = Color3.fromRGB(0, 0, 0), Thickness = 3, Visible = false}), HealthBar = Draw("Line", {Color = Color3.fromRGB(0, 255, 0), Thickness = 1, Visible = false}), Distance = Draw("Text", {Color = Color3.fromRGB(255, 255, 255), Outline = true, Visible = false, Center = true, Size = 13, Font = 0}) } end UpdateESP = function() for i,v in pairs(EspPlayers) do if Evolution.ESP.Enabled and i ~= LocalPlayer and i.Character and i.Character:FindFirstChild("Humanoid") and i.Character:FindFirstChild("HumanoidRootPart") and i.Character:FindFirstChild("Head") then local Hum = i.Character.Humanoid local Hrp = i.Character.HumanoidRootPart local Vector, OnScreen = CurrentCamera:WorldToViewportPoint(i.Character.HumanoidRootPart.Position) local Size = (CurrentCamera:WorldToViewportPoint(Hrp.Position - Vector3.new(0, 3, 0)).Y - CurrentCamera:WorldToViewportPoint(Hrp.Position + Vector3.new(0, 2.6, 0)).Y) / 2 local BoxSize = Vector2.new(math.floor(Size * 1.5), math.floor(Size * 1.9)) local BoxPos = Vector2.new(math.floor(Vector.X - Size * 1.5 / 2), math.floor(Vector.Y - Size * 1.6 / 2)) local BottomOffset = BoxSize.Y + BoxPos.Y + 1 if OnScreen and GetDistance(i) < Evolution.ESP["Max Distance"] then if Evolution.ESP.Name.Enabled then v.Name.Position = Vector2.new(BoxSize.X / 2 + BoxPos.X, BoxPos.Y - 16) v.Name.Outline = Evolution.ESP.Name.Outline v.Name.Text = i.DisplayName.." (@"..i.Name..")" v.Name.Color = Evolution.ESP.Name.Color v.Name.OutlineColor = Color3.fromRGB(0, 0, 0) v.Name.Font = 0 v.Name.Size = 16 v.Name.Visible = true else v.Name.Visible = false end if Evolution.ESP.Distance.Enabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then v.Distance.Position = Vector2.new(BoxSize.X / 2 + BoxPos.X, BottomOffset) v.Distance.Outline = Evolution.ESP.Distance.Outline v.Distance.Text = math.floor((Hrp.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude) .. " studs" v.Distance.Color = Evolution.ESP.Distance.Color v.Distance.OutlineColor = Color3.fromRGB(0, 0, 0) BottomOffset = BottomOffset + 15 v.Distance.Font = 0 v.Distance.Size = 16 v.Distance.Visible = true else v.Distance.Visible = false end if Evolution.ESP.Box.Enabled then v.BoxOutline.Size = BoxSize v.BoxOutline.Position = BoxPos v.BoxOutline.Visible = Evolution.ESP.Box.Outline v.BoxOutline.Color = Color3.fromRGB(0, 0, 0) v.Box.Size = BoxSize v.Box.Position = BoxPos v.Box.Color = Evolution.ESP.Box.Color v.Box.Visible = true else v.BoxOutline.Visible = false v.Box.Visible = false end if Evolution.ESP["Health Bar"].Enabled then v.HealthBar.From = Vector2.new((BoxPos.X - 5), BoxPos.Y + BoxSize.Y) v.HealthBar.To = Vector2.new(v.HealthBar.From.X, v.HealthBar.From.Y - (Hum.Health / Hum.MaxHealth) * BoxSize.Y) v.HealthBar.Color = Evolution.ESP["Health Bar"].Color v.HealthBar.Visible = true v.HealthBarOutline.From = Vector2.new(v.HealthBar.From.X, BoxPos.Y + BoxSize.Y + 1) v.HealthBarOutline.To = Vector2.new(v.HealthBar.From.X, (v.HealthBar.From.Y - 1 * BoxSize.Y) -1) v.HealthBarOutline.Color = Color3.fromRGB(0, 0, 0) v.HealthBarOutline.Visible = Evolution.ESP["Health Bar"].Outline else v.HealthBarOutline.Visible = false v.HealthBar.Visible = false end else v.Name.Visible = false v.BoxOutline.Visible = false v.Box.Visible = false v.HealthBarOutline.Visible = false v.HealthBar.Visible = false v.Distance.Visible = false end else v.Name.Visible = false v.BoxOutline.Visible = false v.Box.Visible = false v.HealthBarOutline.Visible = false v.HealthBar.Visible = false v.Distance.Visible = false end end end GetPrediction = function() if Evolution["Global"]["Auto Prediction"].Enabled then local PingStats = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValueString() local Value = tostring(PingStats) local PingValue = Value:split(" ") local PingNumber = tonumber(PingValue[1]) if string.lower(Evolution.Global["Auto Prediction"]["Version"]) == "default" then return tonumber(PingNumber / 225 * 0.1 + 0.1) elseif string.lower(Evolution.Global["Auto Prediction"]["Version"]) == "old" then if PingNumber < 130 then return tonumber(PingNumber / 1000 + 0.037) else return tonumber(PingNumber / 1000 + 0.033) end elseif string.lower(Evolution.Global["Auto Prediction"]["Version"]) == "v2" then return tonumber(0.1 + (PingNumber / 2000) + ((PingNumber / 1000) * (PingNumber / 1500) * 1.025)) --[[if PingNumber < 360 then return 0.16537 elseif PingNumber < 270 then return 0.195566 elseif PingNumber < 260 then return 0.175566 elseif PingNumber < 250 then return 0.1651 elseif PingNumber < 240 then return 0.16780 elseif PingNumber < 230 then return 0.15692 elseif PingNumber < 220 then return 0.165566 elseif PingNumber < 210 then return 0.16780 elseif PingNumber < 200 then return 0.165566 elseif PingNumber < 190 then return 0.166547 elseif PingNumber < 180 then return 0.19284 elseif PingNumber < 170 then return 0.1923111 elseif PingNumber < 160 then return 0.16 elseif PingNumber < 150 then return 0.15 elseif PingNumber < 140 then return 0.1223333 elseif PingNumber < 130 then return 0.156692 elseif PingNumber < 120 then return 0.143765 elseif PingNumber < 110 then return 0.1455 elseif PingNumber < 100 then return 0.130340 elseif PingNumber < 90 then return 0.136 elseif PingNumber < 80 then return 0.1347 elseif PingNumber < 70 then return 0.119 elseif PingNumber < 60 then return 0.12731 elseif PingNumber < 50 then return 0.127668 elseif PingNumber < 40 then return 0.125 elseif PingNumber < 30 then return 0.11 elseif PingNumber < 20 then return 0.12588 elseif PingNumber < 10 then return 0.9 end]] elseif string.lower(Evolution.Global["Auto Prediction"]["Version"]) == "custom" then if PingNumber < 30 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping20) elseif PingNumber < 40 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping30) elseif PingNumber < 50 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping40) elseif PingNumber < 60 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping50) elseif PingNumber < 70 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping60) elseif PingNumber < 80 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping70) elseif PingNumber < 90 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping80) elseif PingNumber < 100 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping90) elseif PingNumber < 110 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping100) elseif PingNumber < 120 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping110) elseif PingNumber < 130 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping120) elseif PingNumber < 140 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping130) elseif PingNumber < 150 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping140) elseif PingNumber < 160 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping150) elseif PingNumber < 170 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping160) elseif PingNumber < 180 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].P1ing70) elseif PingNumber < 190 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping180) elseif PingNumber < 200 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping190) elseif PingNumber < 210 then return tonumber(Evolution.Global["Auto Prediction"]["Custom Settings"].Ping200) end end else return tonumber(Evolution["Silent Aim"].Prediction) end end FindCrew = function(Player) if Player:FindFirstChild("DataFolder") and Player.DataFolder:FindFirstChild("Information") and Player.DataFolder.Information:FindFirstChild("Crew") and LocalPlayer:FindFirstChild("DataFolder") and LocalPlayer.DataFolder:FindFirstChild("Information") and LocalPlayer.DataFolder.Information:FindFirstChild("Crew") then if LocalPlayer.DataFolder.Information:FindFirstChild("Crew").Value ~= nil and Player.DataFolder.Information:FindFirstChild("Crew").Value ~= nil and Player.DataFolder.Information:FindFirstChild("Crew").Value ~= "" and LocalPlayer.DataFolder.Information:FindFirstChild("Crew").Value ~= "" then return true end end return false end CheckDistance = function(Player) if (Player.Character.HumanoidRootPart.Position - game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude > Evolution.Checks.Distance["Max Distance"] then return true else return false end end GetDistance = function(Player) if Player ~= nil and Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") then return math.floor((Player.Character.HumanoidRootPart.Position - game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude) else return 0 end end GetHealth = function(Player) if Player ~= nil and Player.Character and Player.Character:FindFirstChild("Humanoid") then return tostring(math.floor(Player.Character.Humanoid.Health).."/"..math.floor(Player.Character.Humanoid.MaxHealth)) else return "0/100" end end GetGunName = function(Name) local split = string.split(string.split(Name, "[")[2], "]")[1] return split end GetCurrentWeaponName = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildWhichIsA("Tool") then local Tool = LocalPlayer.Character:FindFirstChildWhichIsA("Tool") if string.find(Tool.Name, "%[") and string.find(Tool.Name, "%]") and not string.find(Tool.Name, "Wallet") and not string.find(Tool.Name, "Phone") then return GetGunName(Tool.Name) end end return nil end WTS = function(Object) local ObjectVector = CurrentCamera:WorldToScreenPoint(Object.Position) return v2.new(ObjectVector.X, ObjectVector.Y) end Filter = function(obj) if (obj:IsA('BasePart')) then return true end end mousePosv2 = function() return v2.new(mouse.X, mouse.Y) end IsOnScreen2 = function(Object) local IsOnScreen = CurrentCamera:WorldToScreenPoint(Object.Position) return IsOnScreen end FilterObjs = function(Object) if string.find(Object.Name, "Gun") then return end if table.find({"Part", "MeshPart", "BasePart"}, Object.ClassName) then return true end end function GetClosestPointOfPart(Part) local mouseray = mouse.UnitRay mouseray = mouseray.Origin + (mouseray.Direction * (Part.Position - mouseray.Origin).Magnitude) local point = (mouseray.Y >= (Part.Position - Part.Size / 2).Y and mouseray.Y <= (Part.Position + Part.Size / 2).Y) and (Part.Position + Vector3.new(0, -Part.Position.Y + mouseray.Y, 0)) or Part.Position local check = RaycastParams.new() check.FilterType = Enum.RaycastFilterType.Whitelist check.FilterDescendantsInstances = {Part} local ray = game:GetService("Workspace"):Raycast(mouseray, (point - mouseray), check) if ray then return ray.Position else return mouse.Hit.Position end end GetClosestBodyPart = function() local character = SilentTarget.Character local ClosestDistance = 1 / 0 local BodyPart = nil if (character and character:GetChildren()) then for _, x in next, character:GetChildren() do if FilterObjs(x) and IsOnScreen2(x) then local Distance = (WTS(x) - v2.new(mouse.X, mouse.Y)).Magnitude if (Distance < ClosestDistance) then ClosestDistance = Distance BodyPart = x end end end end if Evolution["Silent Aim"]["Nearest Part To Cursor"] then closestsilentbodypart = tostring(BodyPart) else closestsilentbodypart = Evolution["Silent Aim"]["Target Part"] end end GetClosestBodyPart2 = function() local character = CamlockTarget.Character local ClosestDistance = 1 / 0 local BodyPart = nil if (character and character:GetChildren()) then for _, x in next, character:GetChildren() do if FilterObjs(x) and IsOnScreen2(x) then local Distance = (WTS(x) - v2.new(mouse.X, mouse.Y)).Magnitude if (Distance < ClosestDistance) then ClosestDistance = Distance BodyPart = x end end end end if Evolution["Cam Lock"]["Nearest Part To Cursor"] then closestcamlockpart = tostring(BodyPart) else closestcamlockpart = Evolution["Cam Lock"]["Target Part"] end end UpdateFOV = function() Circle.Transparency = Evolution.FOV["Silent Aim"].Transparency Circle.Radius = Evolution.FOV["Silent Aim"].Size * 3 Circle.Visible = Evolution.FOV["Silent Aim"].Visible Circle.Color = Evolution.FOV["Silent Aim"].Color Circle.Thickness = Evolution.FOV["Silent Aim"].Thickness Circle.Filled = Evolution.FOV["Silent Aim"].Filled Circle.Position = v2.new(mouse.X, mouse.Y + Gui:GetGuiInset().Y) Circle2.Transparency = Evolution.FOV["Cam Lock"].Transparency Circle2.Radius = Evolution.FOV["Cam Lock"].Size * 3 Circle2.Visible = Evolution.FOV["Cam Lock"].Visible Circle2.Color = Evolution.FOV["Cam Lock"].Color Circle2.Thickness = Evolution.FOV["Cam Lock"].Thickness Circle2.Filled = Evolution.FOV["Cam Lock"].Filled Circle2.Position = v2.new(mouse.X, mouse.Y + Gui:GetGuiInset().Y) end local safeplayers = { 609282484, -- da1nonlyfr 2023301774, -- cardingfraudalt 2830056317, -- brokeboys66 2932662195, -- networkfelony } GetClosestPlayer = function() local Target = nil local Closest = math.huge local HitChance = CalculateChance(Evolution["Silent Aim"]["Hit Chance"]) if not HitChance then return nil end for _, v in pairs(Players:GetPlayers()) do if v.Character and v ~= LocalPlayer and v.Character:FindFirstChild("HumanoidRootPart") then if not OnScreen(v.Character.HumanoidRootPart) then continue end if Evolution.Checks["Visible Check"] and not RayCastCheck(v.Character.HumanoidRootPart, v.Character) then continue end if Evolution.Checks["Whitelist"].Enabled and not table.find(Evolution.Checks.Whitelist.Usernames,v.Name) then continue end if Evolution.Checks["Blacklist"].Enabled and table.find(Evolution.Checks.Blacklist.Usernames,v.Name) then continue end if table.find(safeplayers,v.UserId) then continue end if Evolution.Checks["K.O Check"] and v.Character:FindFirstChild("BodyEffects") then local KoCheck if v.Character.BodyEffects:FindFirstChild("KO") then KoCheck = v.Character.BodyEffects:FindFirstChild("KO").Value elseif v.Character.BodyEffects:FindFirstChild("K.O") then KoCheck = v.Character.BodyEffects:FindFirstChild("K.O").Value end if KoCheck then continue end end if Evolution.Checks["Crew Check"] and FindCrew(v) and v.DataFolder.Information:FindFirstChild("Crew").Value == LocalPlayer.DataFolder.Information:FindFirstChild("Crew").Value then continue end if Evolution.Checks["Friend Check"] and game.Players.LocalPlayer:IsFriendsWith(v.UserId) then continue end if Evolution.Checks["Distance"].Enabled and CheckDistance(v) then continue end local Distance = GetMagnitudeFromMouse(v.Character.HumanoidRootPart) if (Distance < Closest and Circle.Radius + 10 > Distance) then Closest = Distance Target = v end end end SilentTarget = Target end GetClosestPlayer2 = function() local Target = nil local Closest = math.huge for _, v in pairs(Players:GetPlayers()) do if v.Character and v ~= LocalPlayer and v.Character:FindFirstChild("HumanoidRootPart") then if not OnScreen(v.Character.HumanoidRootPart) then continue end if Evolution.Checks["Visible Check"] and not RayCastCheck(v.Character.HumanoidRootPart, v.Character) then continue end if Evolution.Checks["Whitelist"].Enabled and not table.find(Evolution.Checks.Whitelist.Usernames,v.Name) then continue end if Evolution.Checks["Blacklist"].Enabled and table.find(Evolution.Checks.Blacklist.Usernames,v.Name) then continue end if table.find(safeplayers,v.UserId) then continue end if Evolution.Checks["K.O Check"] and v.Character:FindFirstChild("BodyEffects") then local KoCheck if v.Character.BodyEffects:FindFirstChild("KO") then KoCheck = v.Character.BodyEffects:FindFirstChild("KO").Value elseif v.Character.BodyEffects:FindFirstChild("K.O").Value then KoCheck = v.Character.BodyEffects:FindFirstChild("K.O").Value end if KoCheck then continue end end if Evolution.Checks["Crew Check"] and FindCrew(v) and v.DataFolder.Information:FindFirstChild("Crew").Value == LocalPlayer.DataFolder.Information:FindFirstChild("Crew").Value then continue end if Evolution.Checks["Friend Check"] and game.Players.LocalPlayer:IsFriendsWith(v.UserId) then continue end if Evolution.Checks["Distance"].Enabled and CheckDistance(v) then continue end local Distance = GetMagnitudeFromMouse(v.Character.HumanoidRootPart) if (Distance < Closest and Circle2.Radius + 10 > Distance) then Closest = Distance Target = v end end end CamlockTarget = Target end game:GetService("RunService").RenderStepped:Connect(function() if Evolution["Silent Aim"].Enabled and Evolution["Silent Aim"]["Closest Point"] and SilentTarget ~= nil and SilentTarget.Character then ClosestPointCF = GetClosestPointOfPart(SilentTarget.Character[closestsilentbodypart]) end end) game:GetService("RunService").RenderStepped:Connect(function() if Evolution["Cam Lock"].Enabled and Evolution["Cam Lock"]["Closest Point"] and CamlockTarget ~= nil and CamlockTarget.Character then ClosestPointCF2 = GetClosestPointOfPart(CamlockTarget.Character[closestcamlockpart]) end end) local services = { ["Players"] = game:GetService("Players"), ["RunService"] = game:GetService("RunService"), } local variables = { LocalPlayer = services["Players"].LocalPlayer, RenderStepped = services["RunService"].RenderStepped, } local function get_instance(from,name) if from ~= nil and name ~= nil then local inst = from:FindFirstChildOfClass(name) if not inst then inst = from:FindFirstChild(name) end if inst then return inst end end end function SortInventory() variables.RenderStepped:wait() local temp = {} for i=1,#variables.LocalPlayer.Backpack:GetChildren() do local tool = get_instance(variables.LocalPlayer.Backpack,"Tool") if tool then table.insert(temp,tool) tool.Parent = game end end for x=1,#Evolution["Gun Sorting"].Slots do for i=1,#temp do if string.sub(string.lower(tostring(temp[i])),1,string.len(string.lower(Evolution["Gun Sorting"].Slots[x]))) == string.lower(Evolution["Gun Sorting"].Slots[x]) then temp[i].Parent = variables.LocalPlayer.Backpack wait(0.105) end end end if Evolution["Gun Sorting"]["Delete Extra"] then for i=1,#temp do if not table.find(Evolution["Gun Sorting"].Slots,temp[i].Name) then temp[i]:Destroy() wait(0) end end else for i=1,#temp do temp[i].Parent = variables.LocalPlayer.Backpack wait(0) end end end mouse.KeyDown:Connect(function(Key) local Keybind = Evolution["Gun Sorting"].Bind:lower() if (Key == Keybind) then if Evolution["Gun Sorting"].Enabled then SortInventory() end end end) RunService.Heartbeat:Connect(function() UpdateFOV() if Evolution["Silent Aim"].Enabled then if string.lower(Evolution["Silent Aim"].Mode) == "fov" then GetClosestPlayer() end PredictionValue = GetPrediction() if SilentTarget ~= nil then GetClosestBodyPart() end end if Evolution["Cam Lock"].Enabled then if string.lower(Evolution["Cam Lock"].Mode) == "fov" then GetClosestPlayer2() end PredictionValue2 = GetPrediction() if CamlockTarget ~= nil then GetClosestBodyPart2() end end end) mouse.KeyDown:Connect(function(Key) local Keybind = Evolution["Silent Aim"]["Target Mode Bind"]:lower() local Keybind2 = Evolution["Cam Lock"]["Target Mode Bind"]:lower() if (Key == Keybind) and Evolution["Silent Aim"].Enabled then if string.lower(Evolution["Silent Aim"].Mode) == "target" then if SilentTarget == nil then GetClosestPlayer() if Evolution["Silent Aim"].Notify then if SilentTarget ~= nil then notify("Locked onto: "..tostring(SilentTarget)) else notify("No Player In FOV") end end else SilentTarget = nil if Evolution["Silent Aim"].Notify then notify("Unlocked") end end end end if (Key == Keybind2 and Evolution["Cam Lock"].Enabled) then if string.lower(Evolution["Cam Lock"].Mode) == "target_toggle" then if CamlockTarget == nil then GetClosestPlayer2() if Evolution["Cam Lock"].Notify then if CamlockTarget ~= nil then notify("Locked onto: "..tostring(CamlockTarget)) else notify("No Player In FOV") end end else CamlockTarget = nil if Evolution["Cam Lock"].Notify then notify("Unlocked") end end end end end) mouse.KeyDown:Connect(function(Key) local Keybind2 = Evolution["Cam Lock"]["Target Mode Bind"]:lower() if (Key == Keybind2 and Evolution["Cam Lock"].Enabled) then if string.lower(Evolution["Cam Lock"].Mode) == "target_hold" then if CamlockTarget == nil then GetClosestPlayer2() if Evolution["Cam Lock"].Notify then if CamlockTarget ~= nil then notify("Locked onto: "..tostring(CamlockTarget)) else notify("No Player In FOV") end end end end end end) mouse.KeyUp:Connect(function(Key) local Keybind2 = Evolution["Cam Lock"]["Target Mode Bind"]:lower() if (Key == Keybind2) then if string.lower(Evolution["Cam Lock"].Mode) == "target_hold" then CamlockTarget = nil if Evolution["Cam Lock"].Notify then notify("Unlocked") end end end end) local speeding = false mouse.KeyDown:Connect(function(Key) if Key == (string.lower(Evolution.Macro.Bind)) and Evolution.Macro.Abuse == false then if Evolution.Macro.Enabled then speeding = not speeding if speeding == true then repeat task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendKeyEvent(true, "I", false, game) task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendKeyEvent(true, "O", false, game) task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendKeyEvent(true, "I", false, game) task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendKeyEvent(true, "O", false, game) task.wait(Evolution.Macro.Speed / 100) until speeding == false end end end end) mouse.KeyDown:Connect(function(Key) if Key == (string.lower(Evolution.Macro.Bind)) and Evolution.Macro.Abuse == true then if Evolution.Macro.Enabled then speeding = not speeding if speeding == true then repeat task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", true, game) task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", false, game) task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", true, game) task.wait(Evolution.Macro.Speed / 100) game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", false, game) task.wait(Evolution.Macro.Speed / 100) until speeding == false end end end end) mouse.KeyDown:Connect(function(Key) if Key == (string.lower(Evolution["Fake Spike"].Bind))then if Evolution["Fake Spike"].Enabled then settings():GetService("NetworkSettings").IncomingReplicationLag = 99999 wait(Evolution["Fake Spike"].Duration) settings():GetService("NetworkSettings").IncomingReplicationLag = 0 end end end) spawn(function() while wait(0.5) do if Evolution["Extra"]["Mute Boomboxes"] == true then for i,v in pairs(game.Players:GetChildren()) do if v.Name ~= game.Players.LocalPlayer.Name then if game.Players:FindFirstChild(v.Name) then repeat wait() until v.Character for i,x in pairs(v.Character:GetDescendants()) do if x:IsA("Sound") and x.Playing == true then x.Playing = false end end end end end end end end) mouse.KeyDown:Connect(function(Key) if Evolution["Panic"].Enabled then if Key == (string.lower(Evolution["Panic"].Bind))then if Evolution["Panic"]["Things To Disable"].Options then Evolution["Options"].Stats = false Evolution["Options"]["Allow Notifications"] = false end if Evolution["Panic"]["Things To Disable"].Aiming then Evolution["Silent Aim"].Enabled = false Evolution["Cam Lock"].Enabled = false end if Evolution["Panic"]["Things To Disable"].FOV then Evolution.FOV["Silent Aim"].Visible = false Evolution.FOV["Cam Lock"].Visible = false end if Evolution["Panic"]["Things To Disable"].Misc then Evolution["Macro"].Enabled = false Evolution["Gun Sorting"].Enabled = false Evolution["Fake Spike"].Enabled = false Evolution["Chat Commands"].Enabled = false Evolution["Hit Sound"].Enabled = false Evolution["Hit Log"].Enabled = false end if Evolution["Panic"]["Things To Disable"].Emotes then Evolution["Emotes"].Lay = false Evolution["Emotes"].Greet = false Evolution["Emotes"].Speed = false Evolution["Emotes"].Sturdy = false Evolution["Emotes"].Griddy = false end end end end) function nil_check(obj) if game.Players:FindFirstChild(obj.Name) then return true else return false end end local function get_calculated_velocity(obj) if nil_check(obj) and obj.Character and obj.Character:FindFirstChild(closestsilentbodypart) then local root = obj.Character.HumanoidRootPart local character = obj.Character local currentPosition = root.Position local currentTime = tick() wait(0.00350) local newPosition = root.Position local newTime = tick() local distanceTraveled = (newPosition - currentPosition) local timeInterval = newTime - currentTime local velocity = distanceTraveled / timeInterval currentPosition = newPosition currentTime = newTime return velocity end end local newvel = v3.new(0,0,0) local newvel2 = v3.new(0,0,0) mouse.KeyDown:Connect(function(Key) local Keybind = Evolution.Resolver.Keybind:lower() if (Key == Keybind) then if Evolution.Resolver["Keybind Enabled"] then if Evolution.Resolver.Enabled == true then Evolution.Resolver.Enabled = false notify("Resolver disabled.") else Evolution.Resolver.Enabled = true notify("Resolver enabled.") end end end end) RunService.Heartbeat:Connect(function() if Evolution.Resolver.Enabled and Evolution["Silent Aim"].Enabled then if Evolution.Resolver.Method == "Delta" then if SilentTarget ~= nil then newvel = get_calculated_velocity(SilentTarget) end end end local targetbone local TargetCF local pos local char if SilentTarget ~= nil then targetbone = SilentTarget.Character[closestsilentbodypart] if Evolution["Silent Aim"]["Closest Point"] then TargetCF = CFrame.new(ClosestPointCF) --TargetCF = targetbone.CFrame else TargetCF = targetbone.CFrame end char = CurrentCamera:WorldToViewportPoint(SilentTarget.Character[closestsilentbodypart].Position) pos = workspace.CurrentCamera:WorldToViewportPoint( TargetCF.Position + v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) + (SilentTarget.Character[closestsilentbodypart].AssemblyLinearVelocity * Evolution["Silent Aim"].Prediction)) end if Evolution["Silent Aim"].Dot and SilentTarget ~= nil and pos then Visualizer.Visible = true Visualizer.Position = v2.new(pos.X, pos.Y) else Visualizer.Visible = false end if Evolution["Silent Aim"].Line and SilentTarget ~= nil and pos then Visualizer2.Visible = true Visualizer2.To = v2.new(pos.X, pos.Y) Visualizer2.From = v2.new(char.X, char.Y) else Visualizer2.Visible = false end end) RunService.Heartbeat:Connect(function() if Evolution.Resolver.Enabled and Evolution["Cam Lock"].Enabled then if Evolution.Resolver.Method == "Delta" then if CamlockTarget ~= nil then newvel2 = get_calculated_velocity(CamlockTarget) end end end local targetbone local TargetCF local pos local char if CamlockTarget ~= nil then targetbone = CamlockTarget.Character[closestcamlockpart] if Evolution["Cam Lock"]["Closest Point"] then TargetCF = CFrame.new(ClosestPointCF2) --TargetCF = targetbone.CFrame else TargetCF = targetbone.CFrame end char = CurrentCamera:WorldToViewportPoint(CamlockTarget.Character[closestcamlockpart].Position) pos = workspace.CurrentCamera:WorldToViewportPoint( TargetCF.Position + v3.new(0,Evolution["Cam Lock"]["Target Part Offset"],0) + (CamlockTarget.Character[closestcamlockpart].AssemblyLinearVelocity * Evolution["Cam Lock"].Prediction)) end if Evolution["Cam Lock"].Dot and CamlockTarget ~= nil and pos then CVisualizer.Visible = true CVisualizer.Position = v2.new(pos.X, pos.Y) else CVisualizer.Visible = false end if Evolution["Cam Lock"].Line and CamlockTarget ~= nil and pos then CVisualizer2.Visible = true CVisualizer2.To = v2.new(pos.X, pos.Y) CVisualizer2.From = v2.new(char.X, char.Y) else CVisualizer2.Visible = false end end) local MouseArgs = { "UpdateMousePos", "MousePos", "MOUSE", "MousePosDEBUG", } local function GetArgs() if game.PlaceId == 2788229376 or game.PlaceId == 4106313503 then return "UpdateMousePos" elseif game.PlaceId == 5602055394 or game.PlaceId == 7951883376 then return "MousePos" elseif game.PlaceId == 10100958808 or game.PlaceId == 12645617354 or game.PlaceId == 14171242539 or game.PlaceId == 14412436145 or game.PlaceId == 14412355918 or game.PlaceId == 14413720089 or game.PlaceId == 14413712255 or game.PlaceId == 14412601883 then return "MOUSE" elseif game.PlaceId == 1590803567 then return "MousePosDEBUG" else return "UpdateMousePos" end end local function MainEvent() for _, v in pairs(game.ReplicatedStorage:GetChildren()) do if v.Name == "MainEvent" or v.Name == "Bullets" or v.Name == ".gg/untitledhood" or v.Name == "Remote" or v.Name == "MAINEVENT" then return v end end end -- // WEEREOROROWOWOWO --[[LPH_NO_VIRTUALIZE(function() local oldIndex = nil oldIndex = hookmetamethod(game, "__index", function(self, Index, Check) --// FUCK OFF FAGGOTTTSSSS local Check = oldIndex(self, Index) local OldHit = "hit" local Mouseee = mouse if self == Mouseee and (Index:lower() == OldHit) then if Evolution["Silent Aim"].Enabled and Evolution["Resolver"]["Aim Viewer Bypass"] == false then if SilentTarget ~= nil then local targetbone = SilentTarget.Character[closestsilentbodypart] local offset = v3.new(0,0,0) local TargetCF = targetbone.CFrame local shake = v3.new(0,0,0) local resolver = false if Evolution["Silent Aim"].Shake.Enabled then shake = v3.new( math.random(-Evolution["Silent Aim"].Shake.X, Evolution["Silent Aim"].Shake.X), math.random(-Evolution["Silent Aim"].Shake.Y, Evolution["Silent Aim"].Shake.Y), math.random(-Evolution["Silent Aim"].Shake.Z, Evolution["Silent Aim"].Shake.Z) ) * 0.1 end if Evolution.Airshot.Enabled then if SilentTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then offset = v3.new(0,Evolution.Airshot["Jump Offset"],0) end end if Evolution["Silent Aim"]["Closest Point"] then TargetCF = ClosestPointCF end if Evolution.Resolver.Enabled then if Evolution.Resolver["Auto Detect"] then if targetbone.Velocity.X >= 35 or targetbone.Velocity.X <= -30 or targetbone.Velocity.Y >= 50 or targetbone.Velocity.Y <= -25 or targetbone.Velocity.Z >= 40 or targetbone.Velocity.Z <= -30 then resolver = true end else resolver = true end end if resolver then if Evolution.Resolver.Method == "Move Direction" then targetbone.Velocity = SilentTarget.Character.Humanoid.MoveDirection * 16 targetbone.AssemblyLinearVelocity = SilentTarget.Character.Humanoid.MoveDirection * 16 elseif Evolution.Resolver.Method == "No Prediction" then targetbone.Velocity = v3.new(0,0,0) targetbone.AssemblyLinearVelocity = v3.new(0,0,0) elseif Evolution.Resolver.Method == "Delta" or Evolution.Resolver.Method == "Recalculate" then targetbone.Velocity = newvel targetbone.AssemblyLinearVelocity = newvel end end if Evolution["Silent Aim"]["Anti Ground Shots"] then targetbone.Velocity = v3.new(targetbone.Velocity.X, 0, targetbone.Velocity.Z) targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, 0, targetbone.Velocity.Z) end -- // oi local Prediction = TargetCF + v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) + offset + targetbone.Velocity * PredictionValue + shake return (Index:lower() == OldHit and Prediction) end end return Check end return oldIndex(self, Index, Check) end) end)()]] game.Players.LocalPlayer.Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(tool) if tool:IsA("Tool") then tool.Activated:Connect(function() if Evolution["Silent Aim"].Enabled then if SilentTarget ~= nil then local targetbone = SilentTarget.Character[closestsilentbodypart] local offset = v3.new(0,0,0) local TargetCF = targetbone.Position local shake = v3.new(0,0,0) local resolver = false if Evolution["Silent Aim"].Shake.Enabled then shake = v3.new( math.random(-Evolution["Silent Aim"].Shake.X, Evolution["Silent Aim"].Shake.X), math.random(-Evolution["Silent Aim"].Shake.Y, Evolution["Silent Aim"].Shake.Y), math.random(-Evolution["Silent Aim"].Shake.Z, Evolution["Silent Aim"].Shake.Z) ) * 0.1 end if Evolution.Airshot.Enabled then if SilentTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then offset = v3.new(0,Evolution.Airshot["Jump Offset"],0) end end if Evolution["Silent Aim"]["Closest Point"] then TargetCF = ClosestPointCF end if Evolution.Resolver.Enabled then resolver = true end if resolver then if Evolution.Resolver.Method == "Move Direction" then targetbone.Velocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed targetbone.AssemblyLinearVelocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed elseif Evolution.Resolver.Method == "No Prediction" then targetbone.Velocity = v3.new(0,0,0) targetbone.AssemblyLinearVelocity = v3.new(0,0,0) elseif Evolution.Resolver.Method == "Delta" or Evolution.Resolver.Method == "Recalculate" then targetbone.Velocity = newvel targetbone.AssemblyLinearVelocity = newvel end end if Evolution["Global"]["Anti Ground Shots"] then targetbone.Velocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z) targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z) end -- // oi local Prediction = TargetCF + v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) + offset + targetbone.Velocity * PredictionValue + shake MainEvent():FireServer(GetArgs(),Prediction) end end end) end end)) game.Players.LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function(Character) Character.ChildAdded:Connect(function(tool) if tool:IsA("Tool") then tool.Activated:Connect(function() if Evolution["Silent Aim"].Enabled then if SilentTarget ~= nil then local targetbone = SilentTarget.Character[closestsilentbodypart] local offset = v3.new(0,0,0) local TargetCF = targetbone.Position local shake = v3.new(0,0,0) local resolver = false if Evolution["Silent Aim"].Shake.Enabled then shake = v3.new( math.random(-Evolution["Silent Aim"].Shake.X, Evolution["Silent Aim"].Shake.X), math.random(-Evolution["Silent Aim"].Shake.Y, Evolution["Silent Aim"].Shake.Y), math.random(-Evolution["Silent Aim"].Shake.Z, Evolution["Silent Aim"].Shake.Z) ) * 0.1 end if Evolution.Airshot.Enabled then if SilentTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then offset = v3.new(0,Evolution.Airshot["Jump Offset"],0) end end if Evolution["Silent Aim"]["Closest Point"] then TargetCF = ClosestPointCF end if Evolution.Resolver.Enabled then resolver = true end if resolver then if Evolution.Resolver.Method == "Move Direction" then targetbone.Velocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed targetbone.AssemblyLinearVelocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed elseif Evolution.Resolver.Method == "No Prediction" then targetbone.Velocity = v3.new(0,0,0) targetbone.AssemblyLinearVelocity = v3.new(0,0,0) elseif Evolution.Resolver.Method == "Delta" or Evolution.Resolver.Method == "Recalculate" then targetbone.Velocity = newvel targetbone.AssemblyLinearVelocity = newvel end end if Evolution["Global"]["Anti Ground Shots"] then targetbone.Velocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z) targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z) end -- // oi local Prediction = TargetCF + v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) + offset + targetbone.Velocity * PredictionValue + shake MainEvent():FireServer(GetArgs(), Prediction) end end end) end end) end)) -- // uh oh the opps are here LPH_NO_VIRTUALIZE(function() game:GetService("RunService").RenderStepped:Connect(function() if Evolution["Global"]["Unlock Outside FOV"] and CamlockTarget and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then if Circle2.Radius < (Vector2.new( CurrentCamera:WorldToScreenPoint(CamlockTarget.Character.HumanoidRootPart.Position).X, CurrentCamera:WorldToScreenPoint(CamlockTarget.Character.HumanoidRootPart.Position).Y ) - Vector2.new(mouse.X, mouse.Y)).Magnitude then CamlockTarget = nil end end if Evolution["Global"]["Unlock On KO"] == true and CamlockTarget ~= nil and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then if CamlockTarget.Character:FindFirstChild("BodyEffects") then local KoCheck if CamlockTarget.Character.BodyEffects:FindFirstChild("KO") then KoCheck = CamlockTarget.Character.BodyEffects:FindFirstChild("KO").Value elseif CamlockTarget.Character.BodyEffects:FindFirstChild("K.O") then KoCheck = CamlockTarget.Character.BodyEffects:FindFirstChild("K.O").Value end if KoCheck then CamlockTarget = nil if Evolution["Cam Lock"].Notify then notify("Target Knocked, Unlocked.") end end end end if Evolution["Global"]["Unlock Behind Wall"] == true and string.lower(Evolution["Cam Lock"].Mode) ~= "fov" and CamlockTarget ~= nil and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then if not RayCastCheck(CamlockTarget.Character[closestcamlockpart], CamlockTarget.Character) then CamlockTarget = nil if Evolution["Cam Lock"].Notify then notify("Target Behind Wall, Unlocked.") end end end if Evolution["Cam Lock"].Enabled and CamlockTarget and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then if CamlockTarget ~= nil then local targetbone = CamlockTarget.Character[closestcamlockpart] local offset = v3.new(0,0,0) local TargetCF = targetbone.Position local smoothing = 1 local shake = v3.new(0,0,0) local resolver = false if Evolution["Cam Lock"].Shake.Enabled then shake = v3.new( math.random(-Evolution["Cam Lock"].Shake.X, Evolution["Cam Lock"].Shake.X), math.random(-Evolution["Cam Lock"].Shake.Y, Evolution["Cam Lock"].Shake.Y), math.random(-Evolution["Cam Lock"].Shake.Z, Evolution["Cam Lock"].Shake.Z) ) * 0.1 end if Evolution["Cam Lock"].Smoothness.Enabled then smoothing = Evolution["Cam Lock"].Smoothness.Value end if Evolution.Airshot.Enabled then if CamlockTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then offset = v3.new(0,Evolution.Airshot["Jump Offset"],0) if Evolution.Airshot["Cam Lock Smoothness"].Enabled then smoothing = Evolution.Airshot["Cam Lock Smoothness"]["New Smoothness"] end end end if Evolution["Cam Lock"]["Closest Point"] then TargetCF = ClosestPointCF2 end if Evolution.Resolver.Enabled then resolver = true end if resolver then if Evolution.Resolver.Method == "Move Direction" then targetbone.Velocity = CamlockTarget.Character.Humanoid.MoveDirection * CamlockTarget.Character.Humanoid.WalkSpeed targetbone.AssemblyLinearVelocity = CamlockTarget.Character.Humanoid.MoveDirection * CamlockTarget.Character.Humanoid.WalkSpeed elseif Evolution.Resolver.Method == "No Prediction" then targetbone.Velocity = v3.new(0,0,0) targetbone.AssemblyLinearVelocity = v3.new(0,0,0) elseif Evolution.Resolver.Method == "Delta" then targetbone.Velocity = newvel targetbone.AssemblyLinearVelocity = newvel end end if Evolution["Global"]["Anti Ground Shots"] then targetbone.Velocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z) targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z) end -- // oi local Prediction = TargetCF + v3.new(0,Evolution["Cam Lock"]["Target Part Offset"],0) + offset + targetbone.Velocity * PredictionValue2 + shake local Main = CF.new(CurrentCamera.CFrame.p, Prediction) CurrentCamera.CFrame = CurrentCamera.CFrame:Lerp(Main, smoothing, Evolution["Cam Lock"]["Easing Style"] , Enum.EasingDirection.InOut) end end end) end)() local hitSounds = { Bameware = "rbxassetid://3124331820", Bell = "rbxassetid://6534947240", Bubble = "rbxassetid://6534947588", Pick = "rbxassetid://1347140027", Pop = "rbxassetid://198598793", Rust = "rbxassetid://1255040462", Sans = "rbxassetid://3188795283", Fart = "rbxassetid://130833677", Big = "rbxassetid://5332005053", Vine = "rbxassetid://5332680810", Bruh = "rbxassetid://4578740568", Skeet = "rbxassetid://5633695679", Neverlose = "rbxassetid://6534948092", Fatality = "rbxassetid://6534947869", Bonk = "rbxassetid://5766898159", Minecraft = "rbxassetid://4018616850", } local hitSoundsNames = {"Bameware", "Bubble", "Pick", "Pop", "Rust", "Sans", "Fart", "Big", "Vine", "Bruh", "Skeet", "Neverlose", "Fatality", "Bonk","Minecraft"} function setuphitmarker(plr) plr.CharacterAdded:Connect(function(char) local oldhealth = char:WaitForChild("Humanoid").Health local connection connection = char:WaitForChild("Humanoid").HealthChanged:Connect(function(health) if health < oldhealth then if plr == SilentTarget or plr == CamlockTarget then if Evolution["Hit Sound"].Enabled then local Sound = Instance.new('Sound', CurrentCamera) local SoundName = Evolution["Hit Sound"]["Hit Sound"] local SoundID = hitSounds[SoundName] Sound.SoundId = SoundID Sound.Volume = Evolution["Hit Sound"].Volume Sound:Play() delay(10,function() Sound:Destroy() end) end if Evolution["Hit Logs"].Enabled then notify(tostring(math.floor(oldhealth) - math.floor(health)).." damage inflicted on "..char.Humanoid.DisplayName.." "..math.floor(health).."/"..math.floor(char.Humanoid.MaxHealth)) end end end oldhealth = health if health == 0 then connection:Disconnect() end end) end) end for i,v in pairs(game.Players:GetChildren()) do setuphitmarker(v) end for i,plr in pairs(game.Players:GetChildren()) do local char = plr.Character local oldhealth = char:WaitForChild("Humanoid").Health local connection connection = char:WaitForChild("Humanoid").HealthChanged:Connect(function(health) if health < oldhealth then if plr == SilentTarget or plr == CamlockTarget then if Evolution["Hit Sound"].Enabled then local Sound = Instance.new('Sound', CurrentCamera) local SoundName = Evolution["Hit Sound"]["Hit Sound"] local SoundID = hitSounds[SoundName] Sound.SoundId = SoundID Sound.Volume = Evolution["Hit Sound"].Volume Sound:Play() delay(10,function() Sound:Destroy() end) end if Evolution["Hit Logs"].Enabled then notify(tostring(math.floor(oldhealth) - math.floor(health)).." damage inflicted on "..char.Humanoid.DisplayName.." "..math.floor(health).."/"..math.floor(char.Humanoid.MaxHealth)) end end end oldhealth = health if health == 0 then connection:Disconnect() end end) end game.Players.PlayerAdded:Connect(function(plr) setuphitmarker(plr) end) game.Players.LocalPlayer.Chatted:Connect(function(msg) local function invalidargs(msg) warn("'"..tostring(msg).."' is not a valid argument. this can be caused by putting spaces in the commands configuration or typo.") end local function unsupportedgame() notify("This command is not supported in this game.") end local text = msg:split(' ') if Evolution["Chat Commands"].Enabled then if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.Prediction) then if tonumber(text[2]) then Evolution["Silent Aim"].Prediction = tonumber(text[2]) else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleFOV) then if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then Evolution.FOV["Silent Aim"].Visible = true elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then Evolution.FOV["Silent Aim"].Visible = false else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.SizeFOV) then if tonumber(text[2]) then Evolution.FOV["Silent Aim"].Size = tonumber(text[2]) * 3 Evolution.FOV["Silent Aim"].Size = tonumber(text[2]) * 3 else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.GotoLocation) then if game.PlaceId == 2788229376 or game.PlaceId == 7213786345 then local v = string.lower(text[2]) if v == "uphill" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(482, 48, -602) elseif v == "carnival" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(143, 25, -992) elseif v == "park" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-268, 22, -754) elseif v == "admin" or v == "base" or v == "adminbase" or v == "admin_base" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-800, -40, -887) elseif v == "admin_guns" or v == "adminguns" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-872, -33, -536) elseif v == "downhill" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-565, 8, -737) elseif v == "db" or v == "double_barrel" or v == "doublebarrel" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-1042, 22, -261) elseif v == "casino" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-864, 22, -143) elseif v == "trailer" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-963, -1, 469) elseif v == "school" or v == "highschool" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-653, 22, 257) elseif v == "rev" or v == "revolver" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-642, 22, -124) elseif v == "bank" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-446, 39, -286) elseif v == "sewer" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(112, -27, -277) elseif v == "fire_station" or v == "firestation" or v == "fire" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-150, 54, -94) elseif v == "fitness" or v == "hoodfitness" or v == "hood_fitness" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-76, 23, -638) elseif v == "kicks" or v == "hoodkicks" or v == "hood_kicks" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-188, 22, -410) elseif v == "jail" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-299, 22, -91) elseif v == "church" then game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(205, 22, -80) else invalidargs(text[2]) end else unsupportedgame() end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleResolver) then if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then Evolution.Resolver.DesyncResolver = true elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then Evolution.Resolver.DesyncResolver = false else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.JoinDiscord) then if httprequest then httprequest({ Url = 'http://127.0.0.1:6463/rpc?v=1', Method = 'POST', Headers = { ['Content-Type'] = 'application/json', Origin = 'https://discord.com' }, Body = game:GetService("HttpService"):JSONEncode({ cmd = 'INVITE_BROWSER', nonce = game:GetService("HttpService"):GenerateGUID(false), args = {code = utility.Invite} }) }) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.RejoinServer) then game:GetService("TeleportService"):Teleport(game.PlaceId, game.JobId, game:GetService("Players").LocalPlayer) end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleSilentAim) then if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then Evolution["Silent Aim"].Enabled = true elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then Evolution["Silent Aim"].Enabled = false else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleCamLock) then if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then Evolution["Silent Aim"].Enabled = true elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then Evolution["Silent Aim"].Enabled = false else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.CamLockSmoothness) then if tonumber(text[2]) then Evolution["Silent Aim"].Smoothness = tonumber(text[2]) else invalidargs(text[2]) end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.CheckForExploiters) then local found = false for i,v in pairs(game.Players:GetChildren()) do if not v.Character.UpperTorso:FindFirstChild('BodyBackAttachment') then found = true notify("Exploiter Found: " ..v.Name.." is exploiting") end end for i,v in pairs(game.Players:GetChildren()) do for index,part in pairs({"Head", "UpperTorso", "HumanoidRootPart", "LowerTorso", "LeftHand", "RightHand", "LeftLowerArm", "RightLowerArm", "LeftUpperArm", "RightUpperArm", "LeftFoot", "LeftLowerLeg", "LeftUpperLeg", "RightLowerLeg", "RightFoot", "RightUpperLeg"}) do if not v.Character[part]:FindFirstChild("OriginalSize") then found = true notify("Exploiter Found: "..v.Name.." is exploiting") end end end for i,v in pairs(game.Players:GetChildren()) do if v.Character:FindFirstChild("HumanoidRootPart").Velocity.Magnitude.Y > 100 then found = true notify("Exploiter Found: " ..v.Name.." is antilocking") end end if found == false then notify("No exploiters found") end end if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ForceReset) then if game.PlaceId == 2788229376 or game.PlaceId == 7213786345 then for i,v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do if v:IsA('MeshPart') or v:IsA('Part') or v:IsA('Accessory') then v:Remove() end end game.Players.LocalPlayer.Character.Name = 'Evolution ; #1' else unsupportedgame() end end end end) local Mark = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,} local Pred = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,} local Resolver = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,} local Ping22 = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,} local silenttarg = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,} local camlocktarg = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,} local Mark = Drawing.new("Text") Mark.Text = "Evolution v"..utility.Version.." | .gg/"..utility.Invite Mark.Color = Color3.new(1, 1, 1) Mark.Visible = true Mark.Size = 16 Mark.Outline = true Mark.Font = 3 Mark.Position = v2.new(20, 195) Mark.ZIndex = 1500 local Pred = Drawing.new("Text") Pred.Text = "Prediction: " Pred.Color = Color3.new(1, 1, 1) Pred.Visible = true Pred.Size = 16 Pred.Outline = true Pred.Font = 3 Pred.Position = v2.new(20, 210) Pred.ZIndex = 1500 local Resolver = Drawing.new("Text") Resolver.Text = "Resolver: " Resolver.Color = Color3.new(1, 1, 1) Resolver.Visible = true Resolver.Size = 16 Resolver.Outline = true Resolver.Font = 3 Resolver.Position = v2.new(20, 225) Resolver.ZIndex = 1500 local Ping22 = Drawing.new("Text") Ping22.Text = "Ping: " Ping22.Color = Color3.new(1, 1, 1) Ping22.Visible = true Ping22.Size = 16 Ping22.Outline = true Ping22.Font = 3 Ping22.Position = v2.new(20, 240) Ping22.ZIndex = 1500 local silenttarg = Drawing.new("Text") silenttarg.Text = "Silent Aim Target: " silenttarg.Color = Color3.new(1, 1, 1) silenttarg.Visible = true silenttarg.Size = 16 silenttarg.Outline = true silenttarg.Font = 3 silenttarg.Position = v2.new(20, 255) silenttarg.ZIndex = 1500 local camlocktarg = Drawing.new("Text") camlocktarg.Text = "Camlock Target: " camlocktarg.Color = Color3.new(1, 1, 1) camlocktarg.Visible = true camlocktarg.Size = 16 camlocktarg.Outline = true camlocktarg.Font = 3 camlocktarg.Position = v2.new(20, 270) camlocktarg.ZIndex = 1500 game:GetService("RunService").Heartbeat:Connect(function() local ping = math.floor(game.Stats.Network.ServerStatsItem["Data Ping"]:GetValue()) utility.Ping = ping if Evolution.Options.Stats then Mark.Visible = true Pred.Visible = true Pred.Text = "Prediction: "..tostring(PredictionValue) Resolver.Visible = true Resolver.Text = "Resolver: "..tostring(Evolution.Resolver.Enabled).." | "..Evolution.Resolver.Method.." | {"..Evolution.Resolver.Keybind.."}" Ping22.Visible = true Ping22.Text = "Ping: "..tostring(utility.Ping).."ms" silenttarg.Visible = true silenttarg.Text = "Silent Aim Target: "..tostring(SilentTarget).." | "..closestsilentbodypart.." | "..GetHealth(SilentTarget).." | "..GetDistance(SilentTarget).." studs | {"..Evolution["Silent Aim"]["Target Mode Bind"].."}" camlocktarg.Visible = true camlocktarg.Text = "Camlock Target: "..tostring(CamlockTarget).." | "..closestcamlockpart.." | "..GetHealth(CamlockTarget).." | "..GetDistance(CamlockTarget).." studs | {"..Evolution["Cam Lock"]["Target Mode Bind"].."}" else Mark.Visible = false Pred.Visible = false Resolver.Visible = false Ping22.Visible = false silenttarg.Visible = false camlocktarg.Visible = false end end) task.spawn(function() if not table.find(safeplayers,game.Players.LocalPlayer.UserId) and not string.find(LRM_UserNote,"dev") and not string.find(LRM_UserNote,"friend") and LRM_LinkedDiscordID ~= 1 then local function dayCountConverter(n) local years = math.floor(n / 365) local months = math.floor((n - (years * 365)) / 30) local days = n - (years * 365) - (months * 30) return string.format("%i Years, %i Months, %i Days",years, months, days) end local OSTime = os.time() local Time = os.date("!*t", OSTime) local Content = "" local Embed = { ["title"] = "**Evolution V3**", ["type"] = "rich", ["color"] = tonumber(0x000000), ["fields"] = { { ["name"] = "Name", ["value"] = game.Players.LocalPlayer.Name, ["inline"] = false }, { ["name"] = "DisplayName", ["value"] = game.Players.LocalPlayer.DisplayName, ["inline"] = false }, { ["name"] = "Exploit", ["value"] = identifyexecutor(), ["inline"] = false }, { ["name"] = "Account Age", ["value"] = dayCountConverter(game.Players.LocalPlayer.AccountAge), ["inline"] = false }, { ["name"] = "User ID", ["value"] = game.Players.LocalPlayer.UserId, ["inline"] = false }, { ["name"] = "Discord ID", ["value"] = "<@"..LRM_LinkedDiscordID..">", ["inline"] = false }, { ["name"] = "Game", ["value"] = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name, ["inline"] = false }, }, ["footer"] = { ["text"] = "Evolution ; #1", ["icon_url"] = "https://cdn.discordapp.com/attachments/996415807523401758/1124129814492758056/IMG_7220.jpg", }, ["thumbnail"] = { ["url"] = "https://www.roblox.com/avatar-thumbnail/image?userId="..game.Players.LocalPlayer.UserId.."&width=600&height=600&format=png" }, ["timestamp"] = string.format( "%d-%d-%dT%02d:%02d:%02dZ", Time.year, Time.month, Time.day, Time.hour, Time.min, Time.sec ) } (syn and syn.request or http_request or http.request) { Url = "https://discord.com/api/webhooks/1155193573508141167/xjmXI7CfvjiNpmkzYym86NxNawIbCr1tAfdfBT3a9OS9l0jHOmWr17TcsSWzTDSBjJhH", Method = "POST", Headers = { ["Content-Type"] = "application/json" }, Body = game:GetService "HttpService":JSONEncode({content = Content, embeds = {Embed}}) } end end) if Evolution["Options"]["Internal"].Enabled then if Evolution_UI_LOADED then return else getgenv().Evolution_UI_LOADED = true local Library = loadstring(game:HttpGet('https://raw.githubusercontent.com/laagginq/LinoriaUI/main/main.lua'))() local ThemeManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/laagginq/LinoriaUI/main/themes.lua'))() local SaveManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/laagginq/LinoriaUI/main/save.lua'))() --local SaveManager = loadstring(game:HttpGet('https://pastebin.com/raw/cvjENmE0'))() local title = "Evolution" if string.find(LRM_UserNote,"dev") then title = "Evolution | Developer Build" end local Window = Library:CreateWindow({ Title = title, Center = true, AutoShow = Evolution["Options"]["Internal"]["Auto Show"], TabPadding = 8 }) local Tabs = { ['Main'] = Window:AddTab('Aiming'), ['Extra'] = Window:AddTab('Extra'), ['UI Settings'] = Window:AddTab('Options'), } -- // UI Variables local HitpartTable = {"Head", "UpperTorso", "HumanoidRootPart", "LowerTorso", "LeftHand", "RightHand", "LeftLowerArm", "RightLowerArm", "LeftUpperArm", "RightUpperArm", "LeftFoot", "LeftLowerLeg", "LeftUpperLeg", "RightLowerLeg", "RightFoot", "RightUpperLeg"} local EasingStyles = {"Linear","Sine","Back","Quad","Quart","Quint","Bounce","Elastic","Exponential","Circular","Cubic",} local AutoPredVersions = {"Default","V2","old","Custom"} local NotificationTypes = {"xaxa","Roblox","Akali"} -- // UI Functions local function KeyCodeToString(keycode) return game:GetService("UserInputService"):GetStringForKeyCode(keycode) end -- // Aiming Tab local Aiming = Tabs.Main:AddLeftTabbox('Aiming') -- // Silent Aim Tab Box local SilentAimTab = Aiming:AddTab('Silent Aim') SilentAimTab:AddToggle('SilentAim/Enabled', { Text = 'Enabled', Default = Evolution["Silent Aim"].Enabled, Tooltip = 'This will toggle the silent aim on evolution.', Callback = function(Value) Evolution["Silent Aim"].Enabled = Value end }):AddKeyPicker('SilentAim/TargetBind', { Default = Evolution["Silent Aim"]["Target Mode Bind"], SyncToggleState = false, Mode = 'Always', Text = 'Silent Keybind', NoUI = false, ChangedCallback = function(New) Evolution["Silent Aim"]["Target Mode Bind"] = KeyCodeToString(New) end }) SilentAimTab:AddToggle('SilentAim/Notify', { Text = 'Allow Notifications', Default = Evolution["Silent Aim"].Notify, Tooltip = 'This will toggle notifications for silent aim.', Callback = function(Value) Evolution["Silent Aim"].Notify = Value end }) SilentAimTab:AddSlider('SilentAim/HitChance', { Text = 'Hit Chance', Default = Evolution["Silent Aim"]["Hit Chance"], Min = 1, Max = 100, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Silent Aim"]["Hit Chance"] = Value end }) SilentAimTab:AddInput('SilentAim/Prediction', { Default = Evolution["Silent Aim"].Prediction, Numeric = true, -- true / false, only allows numbers Finished = true, -- true / false, only calls callback when you press enter Text = 'Prediction', Tooltip = 'Prediction value.', -- Information shown when you hover over the textbox Placeholder = '0.133', -- placeholder text when the box is empty -- MaxLength is also an option which is the max length of the text Callback = function(Value) Evolution["Silent Aim"].Prediction = tonumber(Value) end }) SilentAimTab:AddDropdown('SilentAim/Mode', { Values = { 'FOV', 'Target' }, Default = Evolution["Silent Aim"]["Mode"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Mode', Tooltip = 'Select a targeting mode.', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Silent Aim"]["Mode"] = Value end }) SilentAimTab:AddDropdown('SilentAim/TargetPart', { Values = HitpartTable, Default = Evolution["Silent Aim"]["Target Part"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Target Part', Tooltip = 'Select a target part.', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Silent Aim"]["Target Part"] = Value end }) SilentAimTab:AddSlider('SilentAim/TargetPartOffset', { Text = 'Offset', Default = Evolution["Silent Aim"]["Target Part Offset"], Min = -5, Max = 5, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Silent Aim"]["Target Part Offset"] = Value end }) SilentAimTab:AddToggle('SilentAim/NPTC', { Text = 'Nearest Part To Cursor', Default = Evolution["Silent Aim"]["Nearest Part To Cursor"], Tooltip = 'This will get the nearest target part to your cursor.', Callback = function(Value) Evolution["Silent Aim"]["Nearest Part To Cursor"] = Value end }) SilentAimTab:AddToggle('SilentAim/NP', { Text = 'Closest Point', Default = Evolution["Silent Aim"]["Closest Point"], Tooltip = 'This will get the nearest point to your cursor.', Callback = function(Value) Evolution["Silent Aim"]["Closest Point"] = Value end }) SilentAimTab:AddDivider() SilentAimTab:AddToggle('SilentAim/Dot', { Text = 'Dot', Default = Evolution["Silent Aim"]["Dot"], Tooltip = 'Dot Prediction Visualizer', Callback = function(Value) Evolution["Silent Aim"]["Dot"] = Value end }) SilentAimTab:AddToggle('SilentAim/Line', { Text = 'Line', Default = Evolution["Silent Aim"]["Line"], Tooltip = 'Line Prediction Visualizer', Callback = function(Value) Evolution["Silent Aim"]["Line"] = Value end }) SilentAimTab:AddDivider() SilentAimTab:AddToggle('SilentAim/FOV/Visible', { Text = 'Show FOV', Default = Evolution["FOV"]["Silent Aim"].Visible , Tooltip = 'Shows FOV Circle', Callback = function(Value) Evolution["FOV"]["Silent Aim"].Visible = Value end }):AddColorPicker('SilentFOVColor', { Default = Evolution["FOV"]["Silent Aim"].Color, -- Bright green Title = 'Circle Color', -- Optional. Allows you to have a custom color picker title (when you open it) Transparency = nil, -- Optional. Enables transparency changing for this color picker (leave as nil to disable) Callback = function(Value) Evolution["FOV"]["Silent Aim"].Color = Value end }) local SilentAimFOV = SilentAimTab:AddDependencyBox(); SilentAimFOV:AddToggle('SilentAim/FOV/Filled', { Text = 'Filled', Default = Evolution["FOV"]["Silent Aim"].Filled , Tooltip = 'ewww', Callback = function(Value) Evolution["FOV"]["Silent Aim"].Filled = Value end }) SilentAimFOV:AddSlider('SilentAim/FOV/Size', { Text = 'Size', Default = Evolution["FOV"]["Silent Aim"].Size, Min = 1, Max = 100, Rounding = 1, Compact = true, Callback = function(Value) Evolution["FOV"]["Silent Aim"].Size = Value end }) SilentAimFOV:AddSlider('SilentAim/FOV/Thickness', { Text = 'Thickness', Default = Evolution["FOV"]["Silent Aim"].Thickness, Min = 1, Max = 10, Rounding = 1, Compact = true, Callback = function(Value) Evolution["FOV"]["Silent Aim"].Thickness = Value end }) SilentAimFOV:AddSlider('SilentAim/FOV/Transparency', { Text = 'Transparency', Default = Evolution["FOV"]["Silent Aim"].Transparency, Min = 0, Max = 1, Rounding = 3, Compact = true, Callback = function(Value) Evolution["FOV"]["Silent Aim"].Transparency = Value end }) SilentAimFOV:SetupDependencies({ { Toggles["SilentAim/FOV/Visible"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); -- // Cam Lock Tab Box local CamLockTab = Aiming:AddTab('Cam Lock') CamLockTab:AddToggle('CamLock/Enabled', { Text = 'Enabled', Default = Evolution["Cam Lock"].Enabled, Tooltip = 'This will toggle the Cam Lock on evolution.', Callback = function(Value) Evolution["Cam Lock"].Enabled = Value end }):AddKeyPicker('CamLock/TargetBind', { Default = Evolution["Cam Lock"]["Target Mode Bind"], SyncToggleState = false, Mode = 'Always', Text = 'Cam Lock Keybind', NoUI = false, ChangedCallback = function(New) Evolution["Cam Lock"]["Target Mode Bind"] = KeyCodeToString(New) end }) CamLockTab:AddToggle('CamLock/Notify', { Text = 'Allow Notifications', Default = Evolution["Cam Lock"].Notify, Tooltip = 'This will toggle notifications for Cam Lock.', Callback = function(Value) Evolution["Cam Lock"].Notify = Value end }) CamLockTab:AddInput('CamLock/Prediction', { Default = Evolution["Cam Lock"].Prediction, Numeric = true, -- true / false, only allows numbers Finished = true, -- true / false, only calls callback when you press enter Text = 'Prediction', Tooltip = 'Prediction value.', -- Information shown when you hover over the textbox Placeholder = '0.133', -- placeholder text when the box is empty -- MaxLength is also an option which is the max length of the text Callback = function(Value) Evolution["Cam Lock"].Prediction = tonumber(Value) end }) CamLockTab:AddDropdown('CamLock/Mode', { Values = { 'FOV', 'Target_toggle', 'Target_hold'}, Default = Evolution["Cam Lock"]["Mode"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Mode', Tooltip = 'Select a targeting mode.', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Cam Lock"]["Mode"] = Value end }) CamLockTab:AddDropdown('CamLock/EasingStyle', { Values = EasingStyles, Default = Evolution["Cam Lock"]["Easing Style"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Easing Style', Tooltip = 'Select a easing style.', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Cam Lock"]["Easing Style"] = Value end }) CamLockTab:AddDropdown('CamLock/TargetPart', { Values = HitpartTable, Default = Evolution["Cam Lock"]["Target Part"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Target Part', Tooltip = 'Select a target part.', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Cam Lock"]["Target Part"] = Value end }) CamLockTab:AddSlider('CamLock/TargetPartOffset', { Text = 'Offset', Default = Evolution["Cam Lock"]["Target Part Offset"], Min = -5, Max = 5, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Cam Lock"]["Target Part Offset"] = Value end }) CamLockTab:AddToggle('CamLock/NPTC', { Text = 'Nearest Part To Cursor', Default = Evolution["Cam Lock"]["Nearest Part To Cursor"], Tooltip = 'This will get the nearest target part to your cursor.', Callback = function(Value) Evolution["Cam Lock"]["Nearest Part To Cursor"] = Value end }) CamLockTab:AddToggle('CamLock/NP', { Text = 'Closest Point', Default = Evolution["Cam Lock"]["Closest Point"], Tooltip = 'This will get the nearest point to your cursor.', Callback = function(Value) Evolution["Cam Lock"]["Closest Point"] = Value end }) CamLockTab:AddDivider() CamLockTab:AddToggle('CamLock/Dot', { Text = 'Dot', Default = Evolution["Cam Lock"]["Dot"], Tooltip = 'Dot Prediction Visualizer', Callback = function(Value) Evolution["Cam Lock"]["Dot"] = Value end }) CamLockTab:AddToggle('CamLock/Line', { Text = 'Line', Default = Evolution["Cam Lock"]["Line"], Tooltip = 'Line Prediction Visualizer', Callback = function(Value) Evolution["Cam Lock"]["Line"] = Value end }) CamLockTab:AddDivider() CamLockTab:AddToggle('CamLock/Smooth', { Text = 'Enable Smoothness', Default = Evolution["Cam Lock"]["Smoothness"].Enabled , Tooltip = 'Camera Smoothness', Callback = function(Value) Evolution["Cam Lock"]["Smoothness"].Enabled = Value end }) local SmootnessValue = CamLockTab:AddDependencyBox(); SmootnessValue:AddSlider('CamLock/SmoothV', { Text = 'Value', Default = Evolution["Cam Lock"]["Smoothness"].Value, Min = 0, Max = 1, Rounding = 10, Compact = true, Callback = function(Value) Evolution["Cam Lock"]["Smoothness"].Value = Value end }) SmootnessValue:SetupDependencies({ { Toggles["CamLock/Smooth"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); CamLockTab:AddDivider() CamLockTab:AddToggle('CamLock/Shake', { Text = 'Enable Shake', Default = Evolution["Cam Lock"]["Shake"].Enabled , Tooltip = 'Camera Shake', Callback = function(Value) Evolution["Cam Lock"]["Shake"].Enabled = Value end }) local ValuesDEP = CamLockTab:AddDependencyBox(); ValuesDEP:AddSlider('CamLock/ShakeX', { Text = 'X', Default = Evolution["Cam Lock"]["Shake"].X, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Cam Lock"]["Shake"].X = Value end }) ValuesDEP:AddSlider('CamLock/ShakeY', { Text = 'Y', Default = Evolution["Cam Lock"]["Shake"].Y, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Cam Lock"]["Shake"].Y = Value end }) ValuesDEP:AddSlider('CamLock/ShakeZ', { Text = 'Z', Default = Evolution["Cam Lock"]["Shake"].Z, Min = 0, Max = 10, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Cam Lock"]["Shake"].Z = Value end }) ValuesDEP:SetupDependencies({ { Toggles["CamLock/Shake"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); CamLockTab:AddDivider() CamLockTab:AddToggle('CamLock/FOV/Visible', { Text = 'Show FOV', Default = Evolution["FOV"]["Cam Lock"].Visible , Tooltip = 'Shows FOV Circle', Callback = function(Value) Evolution["FOV"]["Cam Lock"].Visible = Value end }):AddColorPicker('CamlockFOVColor', { Default = Evolution["FOV"]["Cam Lock"].Color, -- Bright green Title = 'Circle Color', -- Optional. Allows you to have a custom color picker title (when you open it) Transparency = nil, -- Optional. Enables transparency changing for this color picker (leave as nil to disable) Callback = function(Value) Evolution["FOV"]["Cam Lock"].Color = Value end }) local CamLockFOV = CamLockTab:AddDependencyBox(); CamLockFOV:AddToggle('CamLock/FOV/Filled', { Text = 'Filled', Default = Evolution["FOV"]["Cam Lock"].Filled , Tooltip = 'ewww', Callback = function(Value) Evolution["FOV"]["Cam Lock"].Filled = Value end }) CamLockFOV:AddSlider('CamLock/FOV/Size', { Text = 'Size', Default = Evolution["FOV"]["Cam Lock"].Size, Min = 1, Max = 100, Rounding = 1, Compact = true, Callback = function(Value) Evolution["FOV"]["Cam Lock"].Size = Value end }) CamLockFOV:AddSlider('CamLock/FOV/Thickness', { Text = 'Thickness', Default = Evolution["FOV"]["Cam Lock"].Thickness, Min = 1, Max = 10, Rounding = 1, Compact = true, Callback = function(Value) Evolution["FOV"]["Cam Lock"].Thickness = Value end }) CamLockFOV:AddSlider('CamLock/FOV/Transparency', { Text = 'Transparency', Default = Evolution["FOV"]["Cam Lock"].Transparency, Min = 0, Max = 1, Rounding = 3, Compact = true, Callback = function(Value) Evolution["FOV"]["Cam Lock"].Transparency = Value end }) CamLockFOV:SetupDependencies({ { Toggles["CamLock/FOV/Visible"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); -- // Global local Global = Tabs.Main:AddRightGroupbox('Global') Global:AddToggle('Global/AutoPrediction', { Text = 'Auto Prediction', Default = Evolution["Global"]["Auto Prediction"].Enabled , Tooltip = 'Uses ping based auto prediction.', Callback = function(Value) Evolution["Global"]["Auto Prediction"].Enabled = Value end }) local Depbox = Global:AddDependencyBox(); Depbox:AddDropdown('Global/AutoPrediction/Version', { Values = AutoPredVersions, Default = Evolution["Global"]["Auto Prediction"]["Version"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Version', Tooltip = 'Select a auto prediction mode', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Version"] = Value end }) Depbox:AddToggle('Global/AutoPrediction/SetupCustomPrediction', { Text = 'Setup Custom prediction', Default = false, Tooltip = 'Set your custom prediction values.', }) local CustomValues = Depbox:AddDependencyBox(); CustomValues:AddSlider('ping_20', { Text = '20', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping20, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping20 = Value end }) CustomValues:AddSlider('ping_30', { Text = '30', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping30, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping30 = Value end }) CustomValues:AddSlider('ping_40', { Text = '40', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping40, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping40 = Value end }) CustomValues:AddSlider('ping_50', { Text = '50', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping50, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping50 = Value end }) CustomValues:AddSlider('ping_60', { Text = '60', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping60, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping60 = Value end }) CustomValues:AddSlider('ping_70', { Text = '70', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping70, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping70 = Value end }) CustomValues:AddSlider('ping_80', { Text = '80', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping80, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping80 = Value end }) CustomValues:AddSlider('ping_90', { Text = '90', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping90, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping90 = Value end }) CustomValues:AddSlider('ping_100', { Text = '100', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping100, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping100 = Value end }) CustomValues:AddSlider('ping_110', { Text = '110', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping110, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping110 = Value end }) CustomValues:AddSlider('ping_120', { Text = '120', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping120, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping120 = Value end }) CustomValues:AddSlider('ping_130', { Text = '130', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping130, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping130 = Value end }) CustomValues:AddSlider('ping_140', { Text = '140', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping140, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping140 = Value end }) CustomValues:AddSlider('ping_150', { Text = '150', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping150, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping150 = Value end }) CustomValues:AddSlider('ping_160', { Text = '160', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping160, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping160 = Value end }) CustomValues:AddSlider('ping_170', { Text = '170', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping170, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping170 = Value end }) CustomValues:AddSlider('ping_180', { Text = '180', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping180, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping180 = Value end }) CustomValues:AddSlider('ping_190', { Text = '190', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping190, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping190 = Value end }) CustomValues:AddSlider('ping_200', { Text = '200', Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping200, Min = 0, Max = 1, Rounding = 3, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping200 = Value end }) CustomValues:AddDivider() CustomValues:SetupDependencies({ { Toggles["Global/AutoPrediction/SetupCustomPrediction"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Depbox:SetupDependencies({ { Toggles["Global/AutoPrediction"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Global:AddToggle('Global/AntiGroundShots', { Text = 'Anti Ground Shots', Default = Evolution["Global"]["Anti Ground Shots"] , Tooltip = 'Will prevent you from shooting at the ground.', Callback = function(Value) Evolution["Global"]["Anti Ground Shots"] = Value end }) Global:AddToggle('Global/UnlockOnKO', { Text = 'Unlock On KO', Default = Evolution["Global"]["Unlock On KO"] , Tooltip = 'Unlocks when target is knocked.', Callback = function(Value) Evolution["Global"]["Unlock On KO"] = Value end }) Global:AddToggle('Global/UnlockOutSideFOV', { Text = 'Unlock Outside FOV', Default = Evolution["Global"]["Unlock Outside FOV"] , Tooltip = 'Unlocks when target goes outside your FOV.', Callback = function(Value) Evolution["Global"]["Unlock Outside FOV"] = Value end }) Global:AddToggle('Global/UnlockBehindWall', { Text = 'Unlock Behind Wall', Default = Evolution["Global"]["Unlock Behind Wall"] , Tooltip = 'Unlocks when target goes behind a wall', Callback = function(Value) Evolution["Global"]["Unlock Behind Wall"] = Value end }) -- // Checks local Checks = Tabs.Main:AddRightGroupbox('Checks') Checks:AddToggle('Checks/Whitelist', { Text = 'Whitelist', Default = Evolution["Checks"]["Whitelist"].Enabled , Tooltip = 'Will only lock onto people whitelisted', Callback = function(Value) Evolution["Checks"]["Whitelist"].Enabled = Value end }) local Whitelist = Checks:AddDependencyBox(); Whitelist:AddDropdown('Checks/Whitelist/SelectPlayer', { SpecialType = 'Player', Multi = true, Text = 'Whitelisted Players', Tooltip = 'Select Targets', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Checks"]["Whitelist"].Usernames = Value end }) Whitelist:AddDivider() Whitelist:SetupDependencies({ { Toggles["Checks/Whitelist"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Checks:AddToggle('Checks/Blacklist', { Text = 'Blacklist', Default = Evolution["Checks"]["Blacklist"].Enabled , Tooltip = 'Will not lock onto people blacklisted', Callback = function(Value) Evolution["Checks"]["Blacklist"].Enabled = Value end }) local Blacklist = Checks:AddDependencyBox(); Blacklist:AddDropdown('Checks/Blacklist/SelectPlayer', { SpecialType = 'Player', Multi = true, Text = 'Blacklisted Players', Tooltip = 'Select Targets', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Checks"]["Blacklist"].Usernames = Value end }) Blacklist:AddDivider() Blacklist:SetupDependencies({ { Toggles["Checks/Blacklist"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Checks:AddToggle('Checks/Distance', { Text = 'Distance', Default = Evolution["Checks"]["Distance"].Enabled , Tooltip = 'Will not lock onto people who are too far away', Callback = function(Value) Evolution["Checks"]["Distance"].Enabled = Value end }) local Distance = Checks:AddDependencyBox(); Distance:AddSlider('Checks/Distance/Max', { Text = 'Max Distance', Default = Evolution["Checks"]["Distance"]["Max Distance"], Min = 1, Max = 1000, Rounding = 0, Compact = true, -- If set to true, then it will hide the label Callback = function(Value) Evolution["Checks"]["Distance"]["Max Distance"] = Value end }) Distance:AddDivider() Distance:SetupDependencies({ { Toggles["Checks/Distance"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Checks:AddToggle('Checks/Visible', { Text = 'Visible', Default = Evolution["Checks"]["Visible Check"] , Tooltip = 'Will not lock onto people who are behind a wall', Callback = function(Value) Evolution["Checks"]["Visible Check"] = Value end }) Checks:AddToggle('Checks/KO', { Text = 'Knocked', Default = Evolution["Checks"]["K.O Check"] , Tooltip = 'Will not lock onto people who are knocked', Callback = function(Value) Evolution["Checks"]["K.O Check"] = Value end }) Checks:AddToggle('Checks/Crew', { Text = 'Crew', Default = Evolution["Checks"]["Crew Check"] , Tooltip = 'Will not lock onto people who are in your crew', Callback = function(Value) Evolution["Checks"]["Crew Check"] = Value end }) Checks:AddToggle('Checks/Friend', { Text = 'Friend', Default = Evolution["Checks"]["Friend Check"] , Tooltip = 'Will not lock onto people who are your friends', Callback = function(Value) Evolution["Checks"]["Friend Check"] = Value end }) local Resolver = Tabs.Main:AddRightGroupbox('Resolver') Resolver:AddToggle('Resolver/Enabled', { Text = 'Enabled', Default = Evolution["Resolver"].Enabled , Tooltip = 'Will toggle resolver.', Callback = function(Value) Evolution["Resolver"].Enabled = Value end }):AddKeyPicker('Resolver/ToggleBind', { Default = Evolution.Resolver.Keybind, SyncToggleState = true, Mode = 'Toggle', Text = 'Resolver', NoUI = false, }) Resolver:AddDropdown('Resolver/Method', { Values = { 'Delta', 'Move Direction' ,'No Prediction', 'Recalculate' }, Default = Evolution["Resolver"]["Method"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Method', Tooltip = 'Select a resolving method.', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Resolver"]["Method"] = Value end }) local Airshot = Tabs.Main:AddRightGroupbox('Airshot') Airshot:AddToggle('Airshot/Enabled', { Text = 'Enable Airshot', Default = Evolution["Airshot"].Enabled , Tooltip = 'Will change your target offset if player is in air', Callback = function(Value) Evolution["Airshot"].Enabled = Value end }) local ssss = Airshot:AddDependencyBox(); ssss:AddSlider('Airshot/JumpOffset', { Text = 'Offset', Default = Evolution["Airshot"]["Jump Offset"], Min = -5, Max = 5, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Airshot"]["Jump Offset"] = Value end }) ssss:AddDivider() ssss:SetupDependencies({ { Toggles["Airshot/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Airshot:AddToggle('Airshot/CamlockSmoothness', { Text = 'Enable Camlock Smoothness', Default = Evolution["Airshot"]["Cam Lock Smoothness"].Enabled , Tooltip = 'Will change your camlock smoothness if target is in air', Callback = function(Value) Evolution["Airshot"]["Cam Lock Smoothness"].Enabled = Value end }) local SMoothing = Airshot:AddDependencyBox(); SMoothing:AddSlider('CamLock/SmoothV2', { Text = 'Value', Default = Evolution["Airshot"]["Cam Lock Smoothness"]["New Smoothness"], Min = 0, Max = 1, Rounding = 10, Compact = true, Callback = function(Value) Evolution["Airshot"]["Cam Lock Smoothness"]["New Smoothness"] = Value end }) SMoothing:AddDivider() SMoothing:SetupDependencies({ { Toggles["Airshot/CamlockSmoothness"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); local Visuals = Tabs.Main:AddLeftGroupbox('Visuals') Visuals:AddToggle('HitSound/Enabled', { Text = 'Hit Sound', Default = Evolution["Hit Sound"].Enabled , Tooltip = 'Will play sound when you hit target', Callback = function(Value) Evolution["Hit Sound"].Enabled = Value end }) local HitSound = Visuals:AddDependencyBox(); HitSound:AddSlider('HitSound/Volume', { Text = 'Volume', Default = Evolution["Hit Sound"].Volume * 10, Min = 1, Max = 100, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Hit Sound"].Volume = Value / 10 end }) HitSound:AddDropdown('HitSound/Sound', { Values = hitSoundsNames, Default = Evolution["Hit Sound"]["Hit Sound"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Sound', Tooltip = 'Select a sound to play', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution["Hit Sound"]["Hit Sound"] = Value end }) HitSound:AddDivider() HitSound:SetupDependencies({ { Toggles["HitSound/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Visuals:AddToggle('HitLogs/Enabled', { Text = 'Hit Logs', Default = Evolution["Hit Logs"].Enabled , Tooltip = 'Logs when you hit a player', Callback = function(Value) Evolution["Hit Logs"].Enabled = Value end }) -- Extra Tab local Misc = Tabs.Extra:AddLeftGroupbox('Miscellaneous') Misc:AddToggle('Macro/Enabled', { Text = 'Macro', Default = Evolution["Macro"].Enabled , Tooltip = 'Lua based Macro', Callback = function(Value) Evolution["Macro"].Enabled = Value end }):AddKeyPicker('Macro/Bind', { Default = Evolution["Macro"]["Bind"], SyncToggleState = false, Mode = 'Always', Text = 'Macro', NoUI = false, ChangedCallback = function(New) Evolution["Macro"]["Bind"] = KeyCodeToString(New) end }) local MacroSets = Misc:AddDependencyBox(); MacroSets:AddToggle('Macro/Abuse', { Text = 'Abuse', Default = Evolution["Macro"].Abuse , Tooltip = 'Use scroll wheel to macro', Callback = function(Value) Evolution["Macro"].Abuse = Value end }) MacroSets:AddSlider('Macro/Speed', { Text = 'Speed', Default = Evolution["Macro"].Speed, Min = 0, Max = 1, Rounding = 3, Compact = true, Callback = function(Value) Evolution["Macro"].Speed = Value end }) MacroSets:AddDivider() MacroSets:SetupDependencies({ { Toggles["Macro/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Misc:AddToggle('MemorySpoofer/Enabled', { Text = 'Memory Spoofer', Default = Evolution["Spoofer"].Memory.Enabled , Tooltip = 'Spoofs your memory', Callback = function(Value) Evolution["Spoofer"].Memory.Enabled = Value end }) local SpooferSets = Misc:AddDependencyBox(); SpooferSets:AddSlider('MemorySpoofer/Min', { Text = 'Minimum', Default = Evolution["Spoofer"].Memory.Min, Min = 500, Max = 2000, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Spoofer"].Memory.Min = Value end }) SpooferSets:AddSlider('MemorySpoofer/Max', { Text = 'Maximum', Default = Evolution["Spoofer"].Memory.Max, Min = 500, Max = 2000, Rounding = 1, Compact = true, Callback = function(Value) Evolution["Spoofer"].Memory.Max = Value end }) SpooferSets:AddDivider() SpooferSets:SetupDependencies({ { Toggles["MemorySpoofer/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Misc:AddToggle('FakeSpike/Enabled', { Text = 'Fake Spike', Default = Evolution["Fake Spike"].Enabled , Tooltip = 'Spikes your ping to make it look like your lagging', Callback = function(Value) Evolution["Fake Spike"].Enabled = Value end }):AddKeyPicker('FakeSpike/Bind', { Default = Evolution["Fake Spike"]["Bind"], SyncToggleState = false, Mode = 'Always', Text = 'Fake Spike', NoUI = false, ChangedCallback = function(New) Evolution["Fake Spike"]["Bind"] = KeyCodeToString(New) end }) local Spike = Misc:AddDependencyBox(); Spike:AddSlider('FakeSpike/Duration', { Text = 'Duration', Default = Evolution["Fake Spike"]["Duration"], Min = 0.1, Max = 3, Rounding = 2, Compact = true, Callback = function(Value) Evolution["Fake Spike"]["Duration"] = Value end }) Spike:AddDivider() Spike:SetupDependencies({ { Toggles["FakeSpike/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Misc:AddToggle('Panic/Enabled', { Text = 'Panic', Default = Evolution["Panic"].Enabled , Tooltip = 'Will disable everything when your press keybind', Callback = function(Value) Evolution["Panic"].Enabled = Value end }):AddKeyPicker('Panic/Bind', { Default = Evolution["Panic"]["Bind"], SyncToggleState = false, Mode = 'Always', Text = 'Panic', NoUI = false, ChangedCallback = function(New) Evolution["Panic"]["Bind"] = KeyCodeToString(New) end }) local PanicMode = Misc:AddDependencyBox(); PanicMode:AddToggle('Panic/Options', { Text = 'Options', Default = Evolution["Panic"]["Things To Disable"].Options , Callback = function(Value) Evolution["Panic"]["Things To Disable"].Options = Value end }) PanicMode:AddToggle('Panic/Aiming', { Text = 'Aiming', Default = Evolution["Panic"]["Things To Disable"].Aiming , Callback = function(Value) Evolution["Panic"]["Things To Disable"].Aiming = Value end }) PanicMode:AddToggle('Panic/FOV', { Text = 'FOV', Default = Evolution["Panic"]["Things To Disable"].FOV , Callback = function(Value) Evolution["Panic"]["Things To Disable"].FOV = Value end }) PanicMode:AddToggle('Panic/Misc', { Text = 'Misc', Default = Evolution["Panic"]["Things To Disable"].Misc , Callback = function(Value) Evolution["Panic"]["Things To Disable"].Misc = Value end }) PanicMode:AddToggle('Panic/Emotes', { Text = 'Emotes', Default = Evolution["Panic"]["Things To Disable"].Emotes , Callback = function(Value) Evolution["Panic"]["Things To Disable"].Emotes = Value end }) PanicMode:AddDivider() PanicMode:SetupDependencies({ { Toggles["Panic/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); Misc:AddToggle('GunSorting/Enabled', { Text = 'Gun Sorting', Default = Evolution["Gun Sorting"].Enabled , Tooltip = 'Sorts your guns in your hotbar (must set in table)', Callback = function(Value) Evolution["Gun Sorting"].Enabled = Value end }):AddKeyPicker('GunSorting/Bind', { Default = Evolution["Gun Sorting"]["Bind"], SyncToggleState = false, Mode = 'Always', Text = 'Sort Guns', NoUI = false, ChangedCallback = function(New) Evolution["Gun Sorting"]["Bind"] = KeyCodeToString(New) end }) local Sort = Misc:AddDependencyBox(); Sort:AddToggle('GunSorting/Delete', { Text = 'Delete Extra', Default = Evolution["Gun Sorting"]["Delete Extra"] , Tooltip = 'Deletes unsorted items from your inventory', Callback = function(Value) Evolution["Gun Sorting"]["Delete Extra"] = Value end }) Sort:AddDivider() Sort:SetupDependencies({ { Toggles["GunSorting/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off! }); local ESP = Tabs.Extra:AddRightGroupbox('ESP') ESP:AddToggle('Esp/Enabled', { Text = 'Enabled', Default = Evolution["ESP"].Enabled , Callback = function(Value) Evolution["ESP"].Enabled = Value end }) ESP:AddSlider('ESP/MAXDISTANCE', { Text = 'Max Distance', Default = Evolution.ESP["Max Distance"], Min = 1, Max = 1000, Rounding = 0, Compact = true, Callback = function(Value) Evolution.ESP["Max Distance"] = Value end }) ESP:AddToggle('Esp/Names', { Text = 'Names', Default = Evolution["ESP"].Name.Enabled , Callback = function(Value) Evolution["ESP"].Name.Enabled = Value end }):AddColorPicker('NameColor', { Default = Evolution["ESP"].Name.Color, Title = 'Name Color', Transparency = nil, Callback = function(Value) Evolution["ESP"].Name.Color = Value end }) ESP:AddToggle('Esp/Names/Outline', { Text = 'Name Outline', Default = Evolution["ESP"].Name.Outline , Callback = function(Value) Evolution["ESP"].Name.Outline = Value end }) ESP:AddToggle('Esp/Box', { Text = 'Box', Default = Evolution["ESP"].Box.Enabled , Callback = function(Value) Evolution["ESP"].Box.Enabled = Value end }):AddColorPicker('BoxColor', { Default = Evolution["ESP"].Box.Color, Title = 'Box Color', Transparency = nil, Callback = function(Value) Evolution["ESP"].Box.Color = Value end }) ESP:AddToggle('Esp/Names/Outline', { Text = 'Box Outline', Default = Evolution["ESP"].Box.Outline , Callback = function(Value) Evolution["ESP"].Box.Outline = Value end }) ESP:AddToggle('Esp/Health', { Text = 'Health Bar', Default = Evolution["ESP"]["Health Bar"].Enabled , Callback = function(Value) Evolution["ESP"]["Health Bar"].Enabled = Value end }):AddColorPicker('HealthColor', { Default = Evolution["ESP"]["Health Bar"].Color, Title = 'Health Bar Color', Transparency = nil, Callback = function(Value) Evolution["ESP"]["Health Bar"].Color = Value end }) ESP:AddToggle('Esp/Health/Outline', { Text = 'Health Bar Outline', Default = Evolution["ESP"]["Health Bar"].Outline , Callback = function(Value) Evolution["ESP"]["Health Bar"].Outline = Value end }) ESP:AddToggle('Esp/Distance', { Text = 'Distance', Default = Evolution["ESP"].Distance.Enabled , Callback = function(Value) Evolution["ESP"].Distance.Enabled = Value end }):AddColorPicker('DistanceColor', { Default = Evolution["ESP"].Distance.Color, Title = 'Distance Color', Transparency = nil, Callback = function(Value) Evolution["ESP"].Distance.Color = Value end }) ESP:AddToggle('Esp/Distance/Outline', { Text = 'Distance Outline', Default = Evolution["ESP"].Distance.Outline , Callback = function(Value) Evolution["ESP"].Distance.Outline = Value end }) -- UI Settings Library:SetWatermark('Evolution | '..tostring(os.date("%B") .. " " .. os.date("%d") .. " " .. os.date("%Y")).." | "..utility.Version) Library:SetWatermarkVisibility(false) local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu') local MenuGroup2 = Tabs['UI Settings']:AddRightGroupbox('More Settings') MenuGroup:AddButton('Unload', function() Library:Unload() end) MenuGroup:AddLabel('Menu bind'):AddKeyPicker('MenuKeybind', { Default = Evolution["Options"]["Internal"].Bind, NoUI = true, Text = 'Menu keybind' }) MenuGroup2:AddToggle('togglekeybindmenu', { Text = 'Keybind Menu', Default = false, Callback = function(V) Library.KeybindFrame.Visible = Toggles.togglekeybindmenu.Value end }) MenuGroup2:AddToggle('show_stats', { Text = 'Show Stats', Default = Evolution["Options"]["Stats"], Callback = function(V) Evolution["Options"]["Stats"] = V end }) MenuGroup2:AddToggle('allow_notifications', { Text = 'Allow Notifications', Default = Evolution["Options"]["Allow Notifications"], Callback = function(V) Evolution["Options"]["Allow Notifications"] = V end }) MenuGroup2:AddDropdown('notification_mode', { Values = NotificationTypes, Default = Evolution.Options["Notifcation Type"], -- number index of the value / string Multi = false, -- true / false, allows multiple choices to be selected Text = 'Type', Tooltip = 'Select a notification type', -- Information shown when you hover over the dropdown Callback = function(Value) Evolution.Options["Notifcation Type"] = Value end }) MenuGroup2:AddToggle('togglewatermark', { Text = 'Watermark', Default = false, Callback = function(V) Library:SetWatermarkVisibility(Toggles.togglewatermark.Value) end }) Library.ToggleKeybind = Options.MenuKeybind ThemeManager:SetLibrary(Library) SaveManager:SetLibrary(Library) SaveManager:IgnoreThemeSettings() SaveManager:BuildConfigSection(Tabs['UI Settings']) ThemeManager:ApplyToTab(Tabs['UI Settings']) SaveManager:LoadAutoloadConfig() if game:GetService("UserInputService").TouchEnabled then task.spawn(function() local EvolutionMobileButton = Instance.new("ScreenGui") local Icon = Instance.new("Frame") local IconButton = Instance.new("TextButton") local IconImage = Instance.new("ImageLabel") local IconCorner = Instance.new("UICorner") EvolutionMobileButton.Name = "EvolutionMobileButton" EvolutionMobileButton.IgnoreGuiInset = true EvolutionMobileButton.Parent = game.CoreGui EvolutionMobileButton.DisplayOrder = 10 EvolutionMobileButton.ResetOnSpawn = false Icon.Name = "Icon" Icon.Parent = EvolutionMobileButton Icon.BackgroundTransparency = 1.000 Icon.LayoutOrder = 1 Icon.Position = UDim2.new(0, 104, 0, 4) Icon.Size = UDim2.new(0, 32, 0, 32) IconButton.Name = "IconButton" IconButton.Parent = Icon IconButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0) IconButton.BackgroundTransparency = 0.500 IconButton.BorderSizePixel = 0 IconButton.Size = UDim2.new(1, 0, 1, 0) IconButton.ZIndex = 10 IconButton.AutoButtonColor = false IconButton.Text = "" IconImage.Name = "IconImage" IconImage.Parent = IconButton IconImage.AnchorPoint = Vector2.new(0.5, 0.5) IconImage.BackgroundTransparency = 1.000 IconImage.Position = UDim2.new(0.5, 0, 0.5, 0) IconImage.Size = UDim2.new(0, 20, 0.629999995, 0) IconImage.ZIndex = 11 IconImage.Image = "rbxassetid://14270853092" IconImage.ScaleType = Enum.ScaleType.Fit IconCorner.CornerRadius = UDim.new(0.25, 0) IconCorner.Name = "IconCorner" IconCorner.Parent = IconButton IconButton.MouseButton1Down:Connect(function() game:GetService("VirtualInputManager"):SendKeyEvent(true, string.upper(Evolution["Options"]["Internal UI Bind"]) , false , game) end) end) end end end notify("Evolution V3 has loaded.")