Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local VERSION = "v1.1.20"
- if not getgenv().AimbotSettings then
- getgenv().AimbotSettings = {
- TeamCheck = true, -- Press ] to toggle
- VisibleCheck = true,
- IgnoreTransparency = true, -- if enabled, visible check will automatically filter transparent objects
- IgnoredTransparency = 0.5, -- all parts with a transparency greater than this will be ignored (IgnoreTransparency has to be enabled)
- RefreshRate = 10, -- how fast the aimbot updates (milliseconds)
- Keybind = "MouseButton2",
- ToggleKey = "RightShift",
- MaximumDistance = 300, -- Set this to something lower if you dont wanna lock on some random person across the map
- AlwaysActive = false,
- Aimbot = {
- Enabled = true,
- TargetPart = "Head",
- Use_mousemoverel = true,
- Strength = 100, -- 1% - 200%
- AimType = "Hold", -- "Hold" or "Toggle"
- AimAtNearestPart = false
- },
- AimAssist = {
- Enabled = false,
- MinFov = 15,
- MaxFov = 80,
- DynamicFov = true,
- ShowFov = false, -- Shows Min & Max fov
- Strength = 55, -- 1% - 100%
- SlowSensitivity = true,
- SlowFactor = 1.75, -- 1% - 10%
- RequireMovement = true
- },
- FovCircle = {
- Enabled = true,
- Dynamic = true,
- Radius = 100,
- Transparency = 1,
- Color = Color3.fromRGB(255,255,255),
- NumSides = 64,
- },
- TriggerBot = {
- Enabled = false,
- Delay = 60, -- how long it waits before clicking (milliseconds)
- Spam = true, -- for semi-auto weapons
- ClicksPerSecond = 10, -- set this to 0 to get anything higher than 37 cps
- UseKeybind = false, -- if enabled, your keybind must be held to use trigger bot
- },
- Crosshair = {
- Enabled = false,
- Transparency = 1,
- TransparencyKeybind = 1, -- when the keybind is held, the crosshair's transparency will be changed to this
- Color = Color3.fromRGB(255, 0, 0),
- RainbowColor = false,
- Length = 15,
- Thickness = 2,
- Offset = 0
- },
- Prediction = {
- Enabled = false,
- Strength = 2
- },
- Priority = {},
- Whitelisted = {}, -- Username or User ID
- WhitelistFriends = true, -- Automatically adds friends to the whitelist
- Ignore = {} -- Raycast Ignore
- }
- end
- if not AimbotSettings.IgnoredTransparency then
- local bind = Instance.new("BindableFunction")
- bind.OnInvoke = function()
- setclipboard("https://pastebin.com/raw/ZDUt4skZ")
- end
- game:GetService("StarterGui"):SetCore("SendNotification",{
- Title = "Universal Aimbot",
- Text = "Please update your script!",
- Duration = 5,
- Button1 = "Get Latest Script",
- Callback = bind
- })
- return
- end
- local players = game:GetService("Players")
- local player = players.LocalPlayer
- local camera = workspace.CurrentCamera
- local uis = game:GetService("UserInputService")
- local RunService = game:GetService("RunService")
- local mousemoverel = mousemoverel
- local mouse1press = mouse1press or mouse1down
- local mouse1release = mouse1release or mouse1up
- local Drawingnew = Drawing.new
- local Fonts = Drawing.Fonts
- local tableinsert = table.insert
- local WorldToViewportPoint = camera.WorldToViewportPoint
- local CFramenew = CFrame.new
- local Vector2new = Vector2.new
- local fromRGB = Color3.fromRGB
- local fromHSV = Color3.fromHSV
- local mathfloor = math.floor
- local mathclamp = math.clamp
- local mathhuge = math.huge
- local lower = string.lower
- local mouse = uis:GetMouseLocation()
- local osclock = os.clock
- local RaycastParamsnew = RaycastParams.new
- local taskwait = task.wait
- local taskspawn = task.spawn
- local GameId = game.GameId
- local ss = getgenv().AimbotSettings
- local Aimbot = ss.Aimbot
- local AimAssist = ss.AimAssist
- local FovCircle = ss.FovCircle
- local Trigger = ss.TriggerBot
- local Mouse = player:GetMouse()
- if GameId == (111958650 or 115797356 or 147332621) then -- arsenal, counter blox, typical colors 2
- ss.Ignore = {workspace.Ray_Ignore}
- elseif GameId == 833423526 then -- strucid
- ss.Ignore = {workspace.IgnoreThese}
- elseif GameId == 1168263273 then -- bad business
- do end
- elseif GameId == 2162282815 then -- rush point
- ss.Ignore = {camera, player.Character, workspace.RaycastIgnore, workspace.DroppedWeapons, workspace.MapFolder.Map.Ramps, workspace.MapFolder.Map.Walls.MapWalls}
- elseif workspace:FindFirstChild("Ignore") then
- tableinsert(ss.Ignore, workspace.Ignore)
- elseif workspace:FindFirstChild("RaycastIgnore") then
- tableinsert(ss.Ignore, workspace.RaycastIgnore)
- end
- if UAIM then
- UAIM:Destroy()
- end
- local bodyparts = {
- "Head","UpperTorso","LowerTorso","LeftUpperArm","LeftLowerArm","LeftHand","RightUpperArm","RightLowerArm","RightHand","LeftUpperLeg","LeftLowerLeg","LeftFoot","RightUpperLeg","RightLowerLeg","RightFoot",
- "Torso","Left Arm","Right Arm","Left Leg","Right Leg",
- "Chest","Hips","LeftArm","LeftForearm","RightArm","RightForearm","LeftLeg","LeftForeleg","RightLeg","RightForeleg"
- }
- local ads = false
- local olddelta = uis.MouseDeltaSensitivity
- local triggering = false
- local mousedown = false
- local Ignore = {camera}
- local gids = { -- game ids
- ['arsenal'] = 111958650,
- ['pf'] = 113491250,
- ['pft'] = 115272207, -- pf test place
- ['pfu'] = 1256867479, -- pf unstable branch
- ['bb'] = 1168263273,
- ['rp'] = 2162282815, -- rush point
- ['mm2'] = 66654135
- }
- local getEntry, raycast, ts, characters, teams, rp
- if (GameId == gids.pf) or (GameId == gids.pft) or (GameId == gids.pfu) then
- local require = rawget(getrenv().shared, "require")
- if require == nil then
- setclipboard('loadstring(game:HttpGet("https://raw.githubusercontent.com/Spoorloos/scripts/main/pf-actor-bypass.lua"))()')
- local a = Instance.new("Message", game.CoreGui)
- a.Text = "-- Universal Aimbot Notice --\n\nA script has been copied to your clipboard.\nPlease put this script in your exploit's autoexec folder and rejoin the game.\n(this script is required to bypass the new update)\n\nbypass was created by Spoorloos"
- return
- end
- local _cache = rawget(debug.getupvalue(require, 1), "_cache")
- local ReplicationInterface = rawget(rawget(_cache, "ReplicationInterface"), "module")
- getEntry = rawget(ReplicationInterface, "getEntry")
- elseif GameId == gids.bb then
- for _,v in next, getgc(true) do
- if typeof(v) == "table" and rawget(v, "InitProjectile") and rawget(v, "TS") then
- ts = rawget(v, "TS")
- characters = ts.Characters
- teams = ts.Teams
- end
- end
- elseif GameId == gids.rp then
- rp = true
- -- CREDIT TO THIS DUDE FOR CRASH FIX https://v3rmillion.net/showthread.php?pid=8248169#pid8248169
- --loadstring(game:HttpGet("https://raw.githubusercontent.com/Github-Account-39021832/Rush-Point-Fix-Crash/main/src.lua"))()
- end
- local rootpart = (getchar and "Torso") or (ts and "Chest") or "HumanoidRootPart"
- local setidentity = setidentity or setthreadidentity or set_thread_identity or setthreadcontext or set_thread_context or (syn and syn.set_thread_identity) or nil
- function safecall(func, env, ...)
- if not setidentity then
- return func(...)
- end
- local suc, env = pcall(getsenv, env)
- return coroutine.wrap(function(...)
- setidentity(2)
- if suc then
- setfenv(0, env)
- setfenv(1, env)
- end
- return func(...)
- end)(...)
- end
- local oldfuncs = {}
- function IsAlive(plr)
- local char = plr.Character
- local humanoid = char and char:FindFirstChild("Humanoid")
- if humanoid and humanoid.Health > 0 then
- return char
- end
- return false
- end
- function GetChar(plr)
- return plr.Character
- end
- function GetTeam(plr)
- return plr.Team
- end
- function IsFFA()
- local t = {}
- for _,v in next, players:GetPlayers() do
- local team = GetTeam(v)
- if team == nil then
- return true
- end
- team = team.Name or team
- if t[team] then
- return true
- else
- tableinsert(t, team)
- end
- end
- return #t == 1
- end
- function ClosestPlayer()
- mouse = uis:GetMouseLocation()
- local plr = nil
- local closest = mathhuge
- local myteam = GetTeam(player)
- for _,v in next, ss.Priority do
- v = players:FindFirstChild(v)
- if v and IsAlive(v) and InFov(v) then
- return v
- end
- end
- for _,v in next, players:GetPlayers() do
- if v ~= player then
- local char = GetChar(v)
- if char ~= nil then
- local cf = char:GetPivot()
- local vector, inViewport = WorldToViewportPoint(camera, cf.Position)
- if inViewport then
- local mag = (Vector2new(mouse.X, mouse.Y) - Vector2new(vector.X, vector.Y)).Magnitude
- local team = GetTeam(v)
- if mag < closest and ((team ~= nil and team ~= myteam) or team == nil or not ss.TeamCheck) then
- plr = v
- closest = mag
- end
- end
- end
- end
- end
- return plr
- end
- local params = RaycastParamsnew()
- params.FilterType = Enum.RaycastFilterType.Blacklist
- params.IgnoreWater = true
- function IsVisible(plr, character, mycharacter, cf, targetpos, valid)
- local char = character or GetChar(plr)
- if ss.VisibleCheck and (valid or IsAlive(plr) and char:FindFirstChild(Aimbot.TargetPart)) then
- local mychar = mycharacter or GetChar(player)
- tableinsert(Ignore, mychar)
- params.FilterDescendantsInstances = Ignore
- local cf = cf or camera.CFrame.Position
- local targetpos = targetpos or char[Aimbot.TargetPart].Position
- local result = workspace:Raycast(cf, (targetpos - cf).Unit * 500, params)
- if result then
- local ins = result.Instance
- local isdes = ins:IsDescendantOf(char)
- local model = ins:FindFirstAncestorOfClass("Model")
- if ss.IgnoreTransparency then
- if ins.Transparency > ss.IgnoredTransparency and not (model ~= nil and model:FindFirstChildOfClass("Humanoid")) and not isdes then
- tableinsert(Ignore, ins)
- return IsVisible(plr, char, mychar, cf, targetpos, true)
- elseif isdes then
- return true
- end
- elseif isdes then
- return true
- end
- end
- elseif not ss.VisibleCheck and IsAlive(plr) then
- return true
- end
- return false
- end
- task.spawn(function() -- update ignore list (i have no idea if i even need this but whatever)
- while true do
- if ss ~= nil and typeof(ss.Ignore) == "table" then
- for _,v in next, ss.Ignore do
- tableinsert(Ignore, v)
- end
- end
- taskwait(3)
- end
- end)
- local fov
- function InFov(plr,Fov)
- mouse = uis:GetMouseLocation()
- if IsAlive(plr) then
- local char = GetChar(plr)
- if ts and char:FindFirstChild("Body") then
- char = char.Body
- end
- local target = char:FindFirstChild(Aimbot.TargetPart)
- if target then
- local _, inViewport = WorldToViewportPoint(camera, target.Position)
- if (FovCircle.Enabled or AimAssist.Enabled) and inViewport then
- for _,v in next, char:GetChildren() do
- if table.find(bodyparts, v.Name) and v.ClassName:find("Part") then
- local vector2, inViewport2 = WorldToViewportPoint(camera, v.Position)
- if inViewport2 and (Vector2new(mouse.X, mouse.Y) - Vector2new(vector2.X, vector2.Y)).Magnitude <= (Fov or fov.Radius or FovCircle.Radius) then
- return true
- end
- end
- end
- elseif not FovCircle.Enabled and IsAlive(plr) then
- return true
- end
- else
- return false
- end
- end
- return false
- end
- do -- compatibility
- if getEntry then -- phantom forces
- local playercache = {}
- local function GetPlayerObject(plr)
- local cached = playercache[plr]
- if cached then
- return cached
- end
- local obj = getEntry(plr)
- playercache[plr] = obj
- return obj
- end
- GetChar = function(plr)
- if plr == player then return nil end
- local obj = GetPlayerObject(plr)
- if obj ~= nil then
- local thirdPersonObject = obj._thirdPersonObject
- if thirdPersonObject then
- return thirdPersonObject:getCharacterHash().head.Parent
- end
- end
- return nil
- end
- IsAlive = GetChar
- end
- if ts then -- bad business
- hookfunction(PluginManager, error) -- prevent crash
- GetChar = function(plr)
- return characters:GetCharacter(plr)
- end
- IsAlive = GetChar
- GetTeam = function(plr)
- return teams:GetPlayerTeam(plr, plr)
- end
- end
- if GameId == gids.arsenal then -- arsenal
- local ffa = game:GetService("ReplicatedStorage"):WaitForChild("wkspc"):WaitForChild("FFA")
- IsFFA = function()
- return ffa.Value
- end
- end
- if rp then -- rush point
- local mapfolder = workspace:WaitForChild("MapFolder")
- local playerfolder = mapfolder:WaitForChild("Players")
- local gamestats = mapfolder:WaitForChild("GameStats")
- GetChar = function(plr)
- return playerfolder:FindFirstChild(plr.Name)
- end
- IsAlive = GetChar
- GetTeam = function(plr)
- local char = GetChar(plr) if not char then return "" end
- local team = char:FindFirstChild("Team") if not team then return "" end
- return team.Value
- end
- IsFFA = function()
- return gamestats.GameMode.Value == "Deathmatch"
- end
- end
- if GameId == gids.mm2 then
- local sheriff = nil
- local murderer = nil
- GetTeam = function(plr)
- local backpack = plr.Backpack
- local char = GetChar(plr)
- if (backpack and backpack:FindFirstChild("Gun")) or (char and char:FindFirstChild("Gun")) then
- sheriff = plr
- return "Sheriff"
- elseif (backpack and backpack:FindFirstChild("Knife")) or (char and char:FindFirstChild("Knife")) then
- murderer = plr
- return "Murderer"
- end
- return sheriff == player and "Sheriff" or "Innocent"
- end
- end
- end
- oldfuncs.alive = IsAlive
- oldfuncs.character = GetChar
- oldfuncs.team = GetTeam
- oldfuncs.ffa = IsFFA
- oldfuncs.closest = ClosestPlayer
- oldfuncs.visible = IsVisible
- oldfuncs.fov = InFov
- function IsWhitelisted(plr)
- if table.find(ss.Whitelisted, (plr.Name or plr.UserId)) then
- return true
- end
- return false
- end
- local uit = Enum.UserInputType
- local kc = Enum.KeyCode
- local mb1 = uit.MouseButton1
- local conn1 = uis.InputBegan:Connect(function(i,gp)
- if gp then
- return
- end
- local a = ss.Keybind:find("Mouse") and uit[ss.Keybind] or kc[ss.Keybind]
- local b = kc[ss.ToggleKey] ~= nil and kc[ss.ToggleKey]
- if i.UserInputType == a or i.KeyCode == a then
- if Aimbot.AimType == "Toggle" then
- ads = not ads
- else
- ads = true
- end
- elseif i.KeyCode == b then
- Aimbot.Enabled = not Aimbot.Enabled
- fov.Visible = Aimbot.Enabled
- AimAssist.Enabled = not AimAssist.Enabled
- end
- if i.UserInputType == mb1 then
- mousedown = true
- end
- end)
- local conn2 = uis.InputEnded:Connect(function(i,gp)
- if gp then
- return
- end
- local a = ss.Keybind:find("Mouse") and uit[ss.Keybind] or kc[ss.Keybind]
- if (i.UserInputType == a or i.KeyCode == a) and Aimbot.AimType == "Hold" then
- ads = false
- end
- if i.UserInputType == mb1 then
- mousedown = false
- end
- end)
- fov = Drawingnew("Circle")
- fov.Visible = true
- fov.Transparency = 1
- fov.Color = fromRGB(255,255,255)
- fov.Thickness = 1
- fov.NumSides = 64
- fov.Radius = 100
- fov.Filled = false
- -- aim assist fov circles and labels
- local fov1, fov2, label1, label2 = Drawingnew("Circle"), Drawingnew("Circle"), Drawingnew("Text"), Drawingnew("Text")
- do
- for _,v in next, {fov1, fov2} do
- v.Visible = false
- v.Transparency = 1
- v.Thickness = 1
- v.NumSides = 64
- v.Radius = 100
- v.Filled = false
- end
- fov1.Color = fromRGB(255,0,0)
- fov2.Color = fromRGB(0, 0, 255)
- for _,v in next, {label1,label2} do
- v.Visible = false
- v.Transparency = 1
- v.Size = 32
- v.Center = true
- v.Outline = true
- v.OutlineColor = fromRGB(0,0,0)
- v.Font = Fonts.UI
- end
- label1.Color = fromRGB(255,255,255)
- label1.Text = "Aim Assist only works when the player is outside the Red circle and inside the Blue circle"
- label2.Color = fromRGB(255,0,0)
- label2.Text = "You cannot use Aimbot and Aim Assist at the same time!"
- end
- function removefov()
- fov:Remove()
- fov1:Remove()
- fov2:Remove()
- label1:Remove()
- label2:Remove()
- end
- -- crosshair
- local t, b, r, l, chdestroyed = Drawingnew("Line"), Drawingnew("Line"), Drawingnew("Line"), Drawingnew("Line"), false
- for _,v in next, {t, b, r, l} do
- pcall(function()
- v.ZIndex = 100
- end)
- end
- function updatecrosshair(s)
- for _,v in next, {t, b, r, l} do
- v.Visible = s.Enabled
- end
- if chdestroyed or not s.Enabled then return end
- local center = camera.ViewportSize / 2
- center = Vector2new(mathfloor(center.X), mathfloor(center.Y))
- local length = s.Length
- local offset = s.Offset
- for _,v in next, {t, b, r, l} do
- v.Transparency = ads and s.TransparencyKeybind or s.Transparency
- v.Color = s.RainbowColor and fromHSV(tick() % 5 / 5, 1, 1) or s.Color
- v.Thickness = s.Thickness
- end
- t.From = Vector2new(center.X, center.Y - offset)
- t.To = Vector2new(center.X, center.Y - offset - length)
- b.From = Vector2new(center.X, center.Y + offset)
- b.To = Vector2new(center.X, center.Y + offset + length)
- r.From = Vector2new(center.X + offset, center.Y)
- r.To = Vector2new(center.X + offset + length, center.Y)
- l.From = Vector2new(center.X - offset, center.Y)
- l.To = Vector2new(center.X - offset - length, center.Y)
- end
- function removecrosshair()
- t:Remove()
- b:Remove()
- r:Remove()
- l:Remove()
- chdestroyed = true
- end
- local defaultcrosshair = {
- Enabled = false,
- Transparency = 1,
- TransparencyKeybind = 1,
- Color = fromRGB(255, 0, 0),
- RainbowColor = false,
- Length = 15,
- Thickness = 2,
- Offset = 0
- }
- updatecrosshair(ss.Crosshair or defaultcrosshair)
- local lastupdate = osclock()
- function update()
- ss.RefreshRate = mathclamp(ss.RefreshRate, 0, mathhuge)
- if osclock() - lastupdate < (ss.RefreshRate / 1000) then
- return
- end
- lastupdate = osclock()
- mouse = uis:GetMouseLocation()
- local min, max, dyn, size = AimAssist.MinFov, AimAssist.MaxFov, AimAssist.DynamicFov, camera.ViewportSize
- local bot, assist = Aimbot.Enabled, AimAssist.Enabled
- local plr = ClosestPlayer()
- local s = (bot and not assist and Aimbot) or (assist and not bot and AimAssist) or nil
- if plr ~= nil and s ~= nil then
- local char, mychar = GetChar(plr), GetChar(player)
- local cf, ccf = char:GetBoundingBox(), camera.CFrame
- local dist = (ccf.Position - cf.Position).Magnitude
- if (ads or ss.AlwaysActive) and dist <= ss.MaximumDistance then
- if IsVisible(plr) and not IsWhitelisted(plr) then
- local str = mathclamp(s.Strength, 1, (bot and 200) or (assist and 100))
- local target = Aimbot.TargetPart
- if ts and char:FindFirstChild("Body") then
- char = char.Body
- end
- if s.AimAtNearestPart then
- mouse = uis:GetMouseLocation()
- local closest = mathhuge
- for _,v in next, bodyparts do
- local part = char:FindFirstChild(v)
- if part then
- local vector = WorldToViewportPoint(camera, part.Position)
- local mag = (mouse - Vector2new(vector.X, vector.Y)).Magnitude
- if mag < closest then
- closest = mag
- target = part
- end
- end
- end
- else
- target = char:FindFirstChild(target)
- end
- if bot then
- if InFov(plr) and target then
- local position = target.Position
- if ss.Prediction.Enabled then
- local str = mathclamp(ss.Prediction.Strength, 1, 20) / 10
- position += target.Velocity * str * (ccf.Position - target.Position).Magnitude / 100
- end
- local vector = WorldToViewportPoint(camera, position)
- if Aimbot.Use_mousemoverel then
- str /= 100
- mousemoverel((vector.X - mouse.X) * str, (vector.Y - mouse.Y) * str)
- else
- camera.CFrame = CFramenew(ccf.Position, char[target.Name].Position)
- end
- end
- end
- if assist then
- local inmaxfov = InFov(plr, max)
- if not InFov(plr, min) and inmaxfov then
- local factor = AimAssist.SlowFactor
- if AimAssist.SlowSensitivity then
- factor = mathclamp(factor, 1, 10)
- uis.MouseDeltaSensitivity = (inmaxfov and (olddelta / factor)) or olddelta
- end
- if (AimAssist.RequireMovement and mychar:FindFirstChild("Humanoid") and mychar.Humanoid.MoveDirection.Magnitude > 0) or not AimAssist.RequireMovement or getchar then
- local body = WorldToViewportPoint(camera, char[rootpart].Position)
- local head = WorldToViewportPoint(camera, char.Head.Position)
- local vector = body
- if (mouse - Vector2new(head.X, head.Y)).Magnitude < (mouse - Vector2new(body.X, body.Y)).Magnitude then
- vector = head
- end
- -- distance based strength
- local mag = (ccf.Position - char[rootpart].Position).Magnitude
- local mult = (mag <= 20 and 2) or (mag <= 40 and 1.4) or 1
- if ads then
- mult /= 1.8
- end
- if AimAssist.SlowSensitivity then
- mult *= factor
- end
- str *= mult
- str /= 1000
- mousemoverel((vector.X - mouse.X) * str, (vector.Y - mouse.Y) * str * 1.2)
- end
- elseif assist and not inmaxfov then
- uis.MouseDeltaSensitivity = olddelta
- end
- end
- elseif assist and not InFov(plr, max) then
- uis.MouseDeltaSensitivity = olddelta
- end
- end
- local target = Mouse.Target
- local usebind = Trigger.UseKeybind
- if not triggering and Trigger.Enabled and target ~= nil and target:IsDescendantOf(char) and not mousedown then
- taskspawn(function()
- triggering = true
- if Trigger.Delay > 0 then
- taskwait(Trigger.Delay / 1000)
- end
- target = Mouse.Target
- if target ~= nil and target:IsDescendantOf(char) then
- triggering = true
- local cps = Trigger.ClicksPerSecond
- local spam = Trigger.Spam
- if cps > 37 then
- cps = 0
- end
- local waitamount = cps == 0 and 0 or 1 / cps
- if (usebind and ads or not usebind) then
- mouse1press()
- end
- taskwait(waitamount)
- repeat
- target = Mouse.Target
- if spam and (usebind and ads or not usebind) and not mousedown then
- mouse1press()
- end
- taskwait(waitamount)
- until char == nil or Mouse.Target == nil or not Mouse.Target:IsDescendantOf(char)
- mouse1release()
- triggering = false
- else
- triggering = false
- end
- end)
- end
- end
- if FovCircle.Enabled then
- fov.Position = mouse
- fov.NumSides = FovCircle.NumSides
- fov.Radius = FovCircle.Radius
- fov.Transparency = FovCircle.Transparency
- fov.Color = FovCircle.Color
- if FovCircle.Dynamic then
- fov.Radius = FovCircle.Radius / (camera.FieldOfView / 80)
- end
- else
- fov.Transparency = 0
- end
- local showfov = AimAssist.ShowFov
- max = (dyn and not ads and max) or (dyn and ads and max / (camera.FieldOfView / 100)) or max
- fov1.Visible = showfov
- fov2.Visible = showfov
- label1.Visible = showfov
- label2.Visible = bot and assist
- if showfov then
- fov1.Position = mouse
- fov1.Radius = min
- fov2.Position = mouse
- fov2.Radius = max
- label1.Position = Vector2new(size.X / 2, (size.Y / 2) + max + 10)
- end
- if bot and assist then
- label2.Position = Vector2new(size.X / 2, (size.Y / 2) + max + 42)
- return
- end
- updatecrosshair(ss.Crosshair or defaultcrosshair)
- end
- --local conn3 = RunService.RenderStepped:Connect(update)
- local name = ""
- for _ = 1, math.random(16, 24) do
- name ..= string.char(math.random(97, 122))
- end
- RunService:BindToRenderStep(name, 0, update)
- local conn4 = players.PlayerAdded:Connect(function(plr)
- if ss.WhitelistFriends and player:IsFriendsWith(plr.UserId) then
- tableinsert(ss.Whitelisted, plr.UserId)
- end
- end)
- if typeof(ss.Keybind) == "EnumItem" then
- ss.Keybind = ss.Keybind.Name
- end
- if typeof(ss.ToggleKey) == "EnumItem" then
- ss.ToggleKey = ss.ToggleKey.Name
- end
- local aimbot = {Version = VERSION}
- local destroyed = false
- function ValidType(type)
- return type == "Other" or ss[type] ~= nil
- end
- function ValidOption(type,option)
- return (type == "Other" and ss[option] ~= nil) or ss[type][option] ~= nil
- end
- function aimbot:Toggle(type)
- assert(ValidType(type),"Universal Aimbot: bad argument to #1 'Toggle' (Invalid Type)")
- if type == ("Whitelisted" or "Ignore") then
- ss[type] = not ss[type]
- else
- ss[type].Enabled = not ss[type].Enabled
- end
- end
- function aimbot:Get(type,option)
- assert(ValidType(type),"Universal Aimbot: bad argument to #1 'Get' (Invalid Type)")
- assert(ValidOption(type,option),"Universal Aimbot: bad argument to #2 'Get' (Invalid Option)")
- if type == "Other" then
- return ss[option]
- end
- return ss[type][option]
- end
- function aimbot:Set(type,option,value)
- assert(ValidType(type),"Universal Aimbot: bad argument to #1 'Set' (Invalid Type)")
- assert(ValidOption(type,option),"Universal Aimbot: bad argument to #2 'Set' (Invalid Option)")
- assert(value ~= nil,"Universal Aimbot: bad argument to #3 'Set'")
- if type == "Other" then
- ss[option] = value
- else
- ss[type][option] = value
- end
- end
- function aimbot:SetFunction(a,f)
- assert(typeof(a) == "string",("Universal Aimbot: bad argument to #1 'SetFunction' (string expected, got %s)"):format(typeof(a)))
- assert(typeof(f) == "function",("Universal Aimbot: bad argument to #2 'SetFunction' (function expected, got %s)"):format(typeof(f)))
- a = lower(a)
- if a == "alive" then
- IsAlive = f
- elseif a == "character" then
- GetChar = f
- elseif a == "team" then
- GetTeam = f
- elseif a == "ffa" then
- IsFFA = f
- elseif a == "closest" then
- ClosestPlayer = f
- elseif a == "visible" then
- IsVisible = f
- end
- end
- function aimbot:ResetFunction(a)
- assert(typeof(a) == "string",("Universal Aimbot: bad argument to #1 'ResetFunction' (string expected, got %s)"):format(typeof(a)))
- a = lower(a)
- assert(oldfuncs[a] ~= nil,"Universal Aimbot: bad argument to #1 'ResetFunction' (invalid function)")
- local f = oldfuncs[a]
- if a == "alive" then
- IsAlive = f
- elseif a == "character" then
- GetChar = f
- elseif a == "team" then
- GetTeam = f
- elseif a == "ffa" then
- IsFFA = f
- elseif a == "closest" then
- ClosestPlayer = f
- elseif a == "visible" then
- IsVisible = f
- end
- end
- function aimbot:Destroy()
- if destroyed then return end
- conn1:Disconnect()
- conn2:Disconnect()
- --conn3:Disconnect()
- conn4:Disconnect()
- RunService:UnbindFromRenderStep(name)
- removefov()
- removecrosshair()
- uis.MouseDeltaSensitivity = olddelta
- destroyed = true
- end
- getgenv().UAIM = aimbot
- return aimbot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement