Anti-Aim Script with UI Features
Anti-Aim Script with UI Features
local font = {
    verdana = render.load_font("Verdana", 11)
}
local function gradient_text(r1, g1, b1, a1, r2, g2, b2, a2, text)
    local output = ''
    local len = #text-1
    local rinc = (r2 - r1) / len
    local ginc = (g2 - g1) / len
    local binc = (b2 - b1) / len
    local ainc = (a2 - a1) / len
    for i=1, len+1 do
        output = output .. ('\a%02x%02x%02x%02x%s'):format(r1, g1, b1, a1,
text:sub(i, i))
        r1 = r1 + rinc
        g1 = g1 + ginc
        b1 = b1 + binc
        a1 = a1 + ainc
    end
      return output
end
local refs = {
    yaw = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw"),
    yaw_modifier = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw Modifier"),
    yaw_add = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw", "Offset"),
    modifier_degree = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw Modifier",
"Offset"),
    left_limit = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Left Limit"),
    right_limit = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Right
Limit"),
    fake_options = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Options"),
    lby_mode = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "LBY Mode"),
    slow_walk = ui.find("Aimbot", "Anti Aim", "Misc", "Slow Walk"),
    HS = ui.find("Aimbot", "Ragebot", "Main", "Hide Shots"),
    DT = ui.find("Aimbot", "Ragebot", "Main", "Double Tap"),
    BodyAim = ui.find("Aimbot", "Ragebot", "Safety", "Body Aim"),
    SafePoints = ui.find("Aimbot", "Ragebot", "Safety", "Safe Points"),
    AutoPeek = ui.find("Aimbot", "Ragebot", "Main", "Peek Assist"),
    limit = ui.find("Aimbot", "Anti Aim", "Fake Lag", "Limit"),
    enable = ui.find("Aimbot", "Anti Aim", "Fake Lag", "Enabled"),
    freestanding = ui.find("Aimbot", "Anti Aim", "Angles", "Freestanding"),
    fakeduck = ui.find("Aimbot", "Anti Aim", "Misc", "Fake Duck"),
    spike = ui.find("Miscellaneous", "Main", "Other", "Fake Latency"),
    da = ui.find("Aimbot", "Ragebot", "Main", "Enabled", "Dormant Aimbot"),
    pitch = ui.find("Aimbot", "Anti Aim", "Angles", "Pitch"),
    bodyyaw = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw"),
    options = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Options")
}
local tabs = {
    antiaim = ui.create("Anti-Aim", "[\aE1DEFD99AA\aFFFFFFFF] Main"),
    visuals = ui.create("Visuals", "[\aE1DEFD99Visuals\aFFFFFFFF] Main"),
    misc = ui.create("Misc", "[\aE1DEFD99Misc\aFFFFFFFF]"),
}
local menu = {
    presets = tabs.antiaim:combo("[\aE1DEFD99AA\aFFFFFFFF] Anti-aim modes",
"Default", "Tank AA", "Builder", "Exploit", "Anti Exploit"),
    playerstate_combo = tabs.antiaim:combo("[\aE1DEFD99AA\aFFFFFFFF] Player state",
"Slow motion", "Crouch", "Jump", "Duckjump", "Stand", "Move"),
    antibruteforce = tabs.antiaim:switch("[\aE1DEFD99WIP\aFFFFFFFF] Anti-
Bruteforce", false),
    indicators = tabs.visuals:switch("[\aE1DEFD99Visuals\aFFFFFFFF] Crosshair
indicators", false),
    notifications = tabs.visuals:color_picker("[\aE1DEFD99Visuals\aFFFFFFFF]
Notifications"),
    feature_indicators = tabs.visuals:selectable("[\aE1DEFD99Visuals\aFFFFFFFF]
$500 Indicators", "DT", "SAFE", "BODY", "DA", "PING", "FS", "DMG", "DUCK"),
    aimbotlogs = tabs.misc:switch("[\aE1DEFD99Misc\aFFFFFFFF] Aimbot logging")
    --import = tabs.antiaim:button("Import config"),
    --export = tabs.antiaim:button("Export config")
}
deeznigga = menu.indicators:create()
local clr1 = deeznigga:color_picker("Main color")
local clr2 = deeznigga:color_picker("Second color")
anti_aim = {}
yomomma = {}
local numtotext = {
    [0] = 'Slow motion',
    [1] = 'Crouch',
    [2] = 'Jump',
    [3] = 'Duckjump',
    [4] = 'Stand',
    [5] = 'Move',
}
for i = 0, 5 do
    yomomma[i] = {
        ui.create("Anti-Aim", "[\aE1DEFD99"..numtotext[i].."\aFFFFFFFF]
".."Builder")
    }
end
for i = 0, 5 do
    anti_aim[i] = {
        yaw_add_left = yomomma[i][1]:slider("yaw add left", -60, 60, 0),
        yaw_add_right = yomomma[i][1]:slider("yaw add right", -60, 60, 0),
        yaw_modifier = yomomma[i][1]:combo("yaw modifier", "Disabled", "Center",
"Offset", "Random", "Spin"),
         left_jitter_value = yomomma[i][1]:slider("jitter degree", -90, 90, 0),
         lby_mode = yomomma[i][1]:combo("desync mode", "Disabled", "Opposite",
"Sway"),
         fake_options = yomomma[i][1]:selectable("fake options", "Avoid Overlap",
"Jitter", "Randomize Jitter", "Anti-Bruteforce"),
         left_limit = yomomma[i][1]:slider("fake yaw left", 0, 60, 0),
         right_limit = yomomma[i][1]:slider("fake yaw right", 0, 60, 0),
    }
end
    if player_duck_peek_assist then
        return 'fakeduck'
      elseif player_slow_motion then
          return 'slowmotion'
      elseif player_crouching and player_standing then
          return 'crouch'
      elseif player_jumping and not player_crouching then
          return 'jump'
      elseif player_jumping and player_crouching then
          return "duckjump"
      elseif player_standing then
          return 'stand'
      elseif not player_standing and not player_crouching then
          return 'move'
      end
end
            refs.yaw_modifier:set("Center")
            refs.yaw_add:set((bodyyaw > 10 and -18 or 4))
            refs.modifier_degree:set(72)
            refs.left_limit:set(59)
            refs.right_limit:set(59)
        end
        if player_state() == "duckjump" then
            refs.yaw_modifier:set("Center")
            refs.yaw_add:set((bodyyaw > 10 and -20 or 12))
            refs.modifier_degree:set(-54)
            refs.left_limit:set(60)
            refs.right_limit:set(60)
        end
        if player_state() == "move" then
            refs.yaw_add:set((bodyyaw > 10 and -5 or 10))
            refs.yaw_modifier:set("Center")
            refs.modifier_degree:set(-68)
            refs.left_limit:set(60)
            refs.right_limit:set(60)
        end
        if player_state() == "crouch" then
            refs.yaw_add:set((bodyyaw > 10 and -12 or 17))
            refs.yaw_modifier:set("Center")
            refs.modifier_degree:set(43)
            refs.left_limit:set(60)
              refs.right_limit:set(60)
          end
          if player_state() == "slowmotion" then
          end
      elseif menu.presets:get() == "Anti Exploit" then
          if globals.tickcount % 11 == math.random(0,1) then
               refs.pitch:set("Fake Down")
          else
               refs.pitch:set("Down")
          end
               refs.yaw_add:set(8)
          refs.yaw_modifier:set("Center")
               refs.modifier_degree:set(63)
          refs.lby_mode:set("Disabled")
          refs.fake_options:set("Jitter")
      end
end
--Indicators
local value = 0
local once1 = false
local once2 = false
local dt_a = 0
local dt_y = 45
local dt_x = 0
local dt_w = 0
local os_a = 0
local os_y = 45
local os_x = 0
local os_w = 0
local fs_a = 0
local fs_y = 45
local fs_x = 0
local   fs_w = 0
local   n_x = 0
local   n2_x = 0
local   n3_x = 0
local   n4_x = 0
local hitler = {}
hexArg = hexArg:gsub('#','')
      if(string.len(hexArg) == 3) then
            return tonumber('0x'..hexArg:sub(1,1)) * 17,
tonumber('0x'..hexArg:sub(2,2)) * 17, tonumber('0x'..hexArg:sub(3,3)) * 17
      elseif(string.len(hexArg) == 8) then
            return tonumber('0x'..hexArg:sub(1,2)),
tonumber('0x'..hexArg:sub(3,4)), tonumber('0x'..hexArg:sub(5,6)),
tonumber('0x'..hexArg:sub(7,8))
      else
            return 0 , 0 , 0
      end
end
local testx = 0
local aaa = 0
local lele = 0
local fnt = render.load_font("Smallest Pixel-7", 10, "o")
local keybinds = {
    ["DT"] = ui.find("Aimbot", "Ragebot", "Main", "Double Tap"),
    ["AP"] = ui.find("Aimbot", "Ragebot", "Main", "Peek Assist"),
    ["FD"] = ui.find("Aimbot","Anti Aim","Misc","Fake Duck"),
    ["HS"] = ui.find("Aimbot", "Ragebot", "Main", "Hide Shots"),
}
local mein
local move = 0;
local scnd
function get_bodyaw()
    local player = entity.get_local_player()
    if player == nil then return end
      local pose = player.m_flPoseParameter[11]
    render.rect_outline(vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+1+1+5*move-
1,scrsz.y/2+txtsz.y/2-1+11), vector(scrsz.x/2+txtsz.x/2+txtsz.x/2*move-4+1-
move+5*move,scrsz.y/2+txtsz.y/2+2+1+11), color(0,0,0,255))
    render.rect(vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+move*2+2-2*move+1+5*move-
1,scrsz.y/2+txtsz.y/2+11), vector(scrsz.x/2+txtsz.x/2*move-move+txtsz.x/2-4*move-
4+4*move+5*move,scrsz.y/2+txtsz.y/2+2+11), color(30,30,30,150))
    render.rect(vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+move*2+2-2*move+1+5*move-
1,scrsz.y/2+txtsz.y/2+11), vector(scrsz.x/2+txtsz.x/2*move-move+txtsz.x/2-4*move-
4+4*move+5*move,scrsz.y/2+txtsz.y/2+2+11), color(30,30,30,150))
    render.gradient(vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+move*2+2-
2*move+1+5*move-1,scrsz.y/2+txtsz.y/2+11), vector(scrsz.x/2+txtsz.x/2*move-
move+txtsz.x/2-4*move-4+4*move+5*move-(txtsz.x-12)+(txtsz.x-12)*prsnt,scrsz.y/
2+txtsz.y/2+2+11),
clr1:get(),color(clr1:get().r,clr1:get().g,clr1:get().b,30),clr1:get(),color(clr1:g
et().r,clr1:get().g,clr1:get().b,30))
    render.gradient(vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+move*2+2-
2*move+1+5*move-1+(txtsz.x-5)*prsnt,scrsz.y/2+txtsz.y/2+11),
vector(scrsz.x/2+txtsz.x/2*move-move+txtsz.x/2-4*move-4+4*move+5*move,scrsz.y/
2+txtsz.y/2+2+11), color(0,0,0,200),color(0,0,0),color(0,0,0,200),color(0,0,0))
    render.text(fnt,
vector(scrsz.x/2-txtsz4.x/2+move*txtsz4.x/2+1+5*move,scrsz.y/2-txtsz2.y/2+txtsz.y/
1.5+5+11), clr1:get(), "с", txtstt)
    render.text(fnt, vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+1+5*move,scrsz.y/2-
txtsz2.y/2+11), clr1:get(),"", "ALIEN")
    render.text(fnt,
vector(scrsz.x/2-txtsz.x/2+txtsz.x/2*move+txtsz2.x+1+5*move,scrsz.y/2-txtsz3.y/
2+11), color(clr2:get().r, clr2:get().g, clr2:get().b,alpha),"", deeztext)
end
events.createmove_run:set(function()
     --callbacks below
     builder()
     if menu.antibruteforce:get() then
         refs.bodyyaw:override(true)
         refs.options:override("Anti Bruteforce")
     end
end)
local hitgroup_str = {
    [0] = 'generic',
    'head', 'chest', 'stomach',
    'left arm', 'right arm',
    'left leg', 'right leg',
    'neck', 'generic', 'gear'
}
local totalshots = 0
local missedshots = 0
local hitshots = 0
local sp = ""
local reason = ""
events.aim_ack:set(function(shot)
    local lc = 0
    if refs.DT:get() then
         lc = math.random(0, 1)
    else
         lc = math.random(2, 21)
    end
    local tc = math.random(0, 21)
    local flagstest = math.random(1, 5)
    local flags =   {
        flagstest   ==   1   and   'T'   or   '',
        flagstest   ==   2   and   'I'   or   '',
        flagstest   ==   3   and   'E'   or   '',
        flagstest   ==   4   and   'B'   or   '',
        flagstest   ==   5   and   'H'   or   ''
    }
     enemy = shot.target
     player_name = enemy:get_name()
     health = enemy.m_iHealth
     damage = shot.damage
     hitchance = shot.hitchance
     hitgroup = hitgroup_str[shot.hitgroup]
     backtrack = shot.backtrack
     wanted_damage = shot.wanted_damage
     wanted_hitgroup = hitgroup_str[shot.wanted_hitgroup]
     state = shot.state
     reason = state
     totalshots = totalshots + 1
     if shot.state == "spread" then
          reason = "spread"
     elseif shot.state == "prediction error" then
          reason = "prediction error"
     elseif shot.state == "unregistered shot" then
          reason = "unregistered shot"
     elseif shot.state == "death" then
          reason = "death"
     elseif shot.state == "player death" then
          reason = "death"
     else
          reason = "?"
     end
     if refs.SafePoints:get() == "Prefer" or "Force" then
          sp = "true"
     else
          sp = "false"
     end
   if not (state == nil) then
          missedshots = missedshots + 1
          print_raw(string.format("\a96C83C[alien.lua] \aFFFFFF[%i] [%i/%i] Missed
%s's %s due to %s (%i remaining) sp=%s (%s) LC=%d TC=%d", totalshots, hitshots,
missedshots, player_name, wanted_hitgroup, reason, health,sp, flags[flagstest], lc,
tc))
          print_dev(string.format("[%i] [%i/%i] Missed %s's %s due to %s (%i
remaining) sp=%s (%s) LC=%d TC=%d", totalshots, hitshots, missedshots, player_name,
wanted_hitgroup, reason, health, sp, flags[flagstest], lc, tc))
   else
          hitshots = hitshots + 1
          print_raw(string.format("\a96C83C[alien.lua] \aFFFFFF[%i] [%i/%i] Hit %s's
%s for %i(%i) (%i remaining) aimed=%s(%i%%) sp=%s (%s) LC=%d TC=%d", totalshots,
hitshots, missedshots, player_name, hitgroup, damage, wanted_damage, health,
wanted_hitgroup, hitchance, sp, flags[flagstest], lc, tc))
          print_dev(string.format("[%i] [%i/%i] Hit %s's %s for %i(%i) (%i remaining)
aimed=%s(%i%%) sp=%s (%s) LC=%d TC=%d", totalshots, hitshots, missedshots,
player_name, hitgroup, damage, wanted_damage, health, wanted_hitgroup, hitchance,
sp, flags[flagstest], lc, tc))
   end
end)
math.lerp = function(name, value, speed)
    return name + (value - name) * globals.frametime * speed
end
events.render:set(function()
    --callbacks below
    buildervisibles()
    indicators()
    indicators500()
    local offset, x, y = 0, screen_size.x / 2, screen_size.y / 1.4
events.round_start:set(function(e)
     if menu.antibruteforce:get() then
         indicator:push(4, "Reset anti-bruteforce cache")
     end
end)
events.player_death:set(function(e)
    local localplayer = entity.get_local_player()
    local victim = entity.get(e.userid, true)
    local attacker = entity.get(e.attacker, true)
    if menu.antibruteforce:get() then
        indicator:push(4, "Reset anti-bruteforce cache")
    end
end)
playerb = nil
playerb = entity.get_local_player()
antibrute_time_last = globals.realtime
antibrute_time = globals.realtime
antibrute_stages = 1
events.bullet_impact:set(function(e)
    local lp = entity.get_local_player()
    if lp == nil then return end
    local player = entity.get(e.userid, true)
    if not player:is_enemy() then return end
    local s_pos = vector(e.x, e.y, e.z)
    local enemy_angles = (s_pos - player:get_hitbox_position(0)):angles()
    local angles = ((playerb:get_hitbox_position(3) -
player:get_hitbox_position(0)):angles() - enemy_angles)
    angles.y = math.clamp(angles.y, -180, 180)
    local fov = math.sqrt(angles.y*angles.y + angles.x*angles.x)
    if fov < 5 and antibrute_time_last + 0.1 < globals.realtime then
        if menu.antibruteforce:get() then
            indicator:push(4, " Anti-bruteforce triggered, switched angle ")
        end
    end
end)
local cfg_data = {
    bools = {
    },
    ints = {
        anti_aim[0].yaw_add_left,
        anti_aim[0].yaw_add_right,
        anti_aim[0].left_jitter_value,
        anti_aim[0].left_limit,
        anti_aim[0].right_limit,
        anti_aim[1].yaw_add_left,
        anti_aim[1].yaw_add_right,
        anti_aim[1].left_jitter_value,
        anti_aim[1].left_limit,
        anti_aim[1].right_limit,
        anti_aim[2].yaw_add_left,
        anti_aim[2].yaw_add_right,
        anti_aim[2].left_jitter_value,
        anti_aim[2].left_limit,
        anti_aim[2].right_limit,
        anti_aim[3].yaw_add_left,
        anti_aim[3].yaw_add_right,
        anti_aim[3].left_jitter_value,
        anti_aim[3].left_limit,
        anti_aim[3].right_limit,
        anti_aim[5].yaw_add_left,
        anti_aim[5].yaw_add_right,
        anti_aim[4].left_jitter_value,
        anti_aim[4].left_limit,
        anti_aim[4].right_limit,
        anti_aim[5].yaw_add_left,
        anti_aim[5].yaw_add_right,
        anti_aim[5].left_jitter_value,
        anti_aim[5].left_limit,
        anti_aim[5].right_limit,
    },
    floats = {
    },
    strings = {
        anti_aim[0].yaw_modifier,
        anti_aim[0].lby_mode,
        anti_aim[0].fake_options,
        anti_aim[1].yaw_modifier,
        anti_aim[1].lby_mode,
        anti_aim[1].fake_options,
        anti_aim[2].yaw_modifier,
        anti_aim[2].lby_mode,
        anti_aim[2].fake_options,
        anti_aim[3].yaw_modifier,
        anti_aim[3].lby_mode,
        anti_aim[3].fake_options,
        anti_aim[4].yaw_modifier,
        anti_aim[4].lby_mode,
        anti_aim[4].fake_options,
        anti_aim[5].yaw_modifier,
        anti_aim[5].lby_mode,
        anti_aim[5].fake_options,
    }
}
clipboard.set(JSON.stringify(Code))
            if (k == "ints") then
                cfg_data[k][k2]:set(v2)
            end
            if (k == "floats") then
                cfg_data[k][k2]:set(v2)
            end
            if (k == "strings") then
                cfg_data[k][k2]:set(v2)
            end
          end
    end
end)