• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

JS-скрипт Uwutech паста @foonik

life is cheap, death is free!
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
9 Дек 2019
Сообщения
1,616
Реакции
513
Фулл сурсы пасты фуника, которыми он и получил манитеч, лол
JavaScript:
Expand Collapse Copy
const global_choked_commands = Globals.ChokedCommands, global_realtime = Globals.Realtime, global_frametime = Globals.Frametime, global_curtime = Globals.Curtime, global_tick_interval = Globals.TickInterval, global_tickrate = Globals.Tickrate, global_tickcount = Globals.Tickcount, global_frame_stage = Globals.FrameStage, ui_get_menu_position = UI.GetMenuPosition, ui_update_list = UI.UpdateList, ui_remove_item = UI.RemoveItem, ui_get_hotkey = UI.GetHotkey, ui_set_hotkey_state = UI.SetHotkeyState, ui_get_hotkey_state = UI.GetHotkeyState, ui_toggle_hotkey = UI.ToggleHotkey, ui_set_color = UI.SetColor, ui_add_sub_tab = UI.AddSubTab, ui_add_textbox = UI.AddTextbox, ui_add_color_picker = UI.AddColorPicker, ui_add_multi_dropdown = UI.AddMultiDropdown, ui_add_dropdown = UI.AddDropdown, ui_add_hotkey = UI.AddHotkey, ui_add_slider_float = UI.AddSliderFloat, ui_add_slider_int = UI.AddSliderInt, ui_add_checkbox = UI.AddCheckbox, ui_set_value = UI.SetValue, ui_get_children = UI.GetChildren, ui_get_value = UI.GetValue, ui_get_string = UI.GetString, ui_get_color = UI.GetColor, ui_is_menu_open = UI.IsMenuOpen, ui_set_enabled = UI.SetEnabled, entity_draw_flag = Entity.DrawFlag, entity_get_ccs_weapon_info = Entity.GetCCSWeaponInfo, entity_get_render_box = Entity.GetRenderBox, entity_get_weapons = Entity.GetWeapons, entity_get_entities_by_class_id = Entity.GetEntitiesByClassID, entity_get_hitbox_position = Entity.GetHitboxPosition, entity_get_eye_position = Entity.GeteyePosition, entity_get_game_rules_proxy = Entity.GetGameRulesProxy, entity_is_bot = Entity.IsBot, entity_get_weapon = Entity.GetWeapon, entity_set_prop = Entity.SetProp, entity_get_prop = Entity.GetProp, entity_get_render_origin = Entity.GetRenderOrigin, entity_get_name = Entity.GetName, entity_get_class_name = Entity.GetClassName, entity_get_class_id = Entity.GetClassID, entity_is_dormant = Entity.IsDormant, entity_is_alive = Entity.IsAlive, entity_is_valid = Entity.IsValid, entity_is_local_player = Entity.IsLocalPlayer, entity_is_enemy = Entity.IsEnemy, entity_is_teammate = Entity.IsTeammate, entity_get_entity_from_user_id = Entity.GetEntityFromUserID, entity_get_local_player = Entity.GetLocalPlayer, entity_get_teammates = Entity.GetTeammates, entity_get_enemies = Entity.GetEnemies, entity_get_players = Entity.GetPlayers, entity_get_entities = Entity.GetEntities, render_text_size = Render.TextSize, render_string = Render.String, render_filled_circle = Render.FilledCircle, render_textured_rect = Render.TexturedRect, render_add_texture = Render.AddTexture, render_find_font = Render.FindFont, render_add_font = Render.AddFont, render_polygon = Render.Polygon, render_gradient_rect = Render.GradientRect, render_get_screen_size = Render.GetScreenSize, render_world_to_screen = Render.WorldToScreen, render_circle = Render.Circle, render_filled_rect = Render.FilledRect, render_rect = Render.Rect, render_line = Render.Line, convar_set_string = Convar.SetString, convar_get_string = Convar.GetString, convar_set_float = Convar.SetFloat, convar_get_float = Convar.GetFloat, convar_set_int = Convar.SetInt, convar_get_int = Convar.GetInt, event_get_string = Event.GetString, event_get_float = Event.GetFloat, event_get_int = Event.GetInt, trace_raw_line = Trace.RawLine, trace_smoke = Trace.Smoke, trace_bullet = Trace.Bullet, trace_line = Trace.Line, usercmd_get_movement = UserCMD.GetMovement, usercmd_set_view_angles = UserCMD.SetViewAngles, usercmd_send = UserCMD.Send, usercmd_choke = UserCMD.Choke, usercmd_set_buttons = UserCMD.SetButtons, usercmd_get_buttons = UserCMD.GetButtons, usercmd_set_movement = UserCMD.SetMovement, sound_stop_microphone = Sound.StopMicrophone, sound_play_microphone = Sound.PlayMicrophone, sound_play = Sound.Play, local_get_inaccuracy = Local.GetInaccuracy, local_get_spread = Local.GetSpread, local_get_fake_yaw = Local.GetFakeYaw, local_get_real_yaw = Local.GetRealYaw, local_set_clan_tag = Local.SetClanTag, local_set_view_angles = Local.SetViewAngles, local_get_view_angles = Local.GetViewAngles, local_latency = Local.Latency, cheat_is_legit_config_active = Cheat.IsLegitConfigActive, cheat_is_rage_config_active = Cheat.IsRageConfigActive, cheat_get_username = Cheat.GetUsername, cheat_print_chat = Cheat.PrintChat, cheat_register_callback = Cheat.RegisterCallback, cheat_execute_command = Cheat.ExecuteCommand, cheat_print_color = Cheat.PrintColor, cheat_print = Cheat.Print, input_force_cursor = Input.ForceCursor, input_get_cursor_position = Input.GetCursorPosition, input_is_key_pressed = Input.IsKeyPressed, world_get_server_string = World.GetServerString, world_get_map_name = World.GetMapName, antiaim_set_lby_offset = AntiAim.SetLBYOffset, antiaim_set_real_offset = AntiAim.SetRealOffset, antiaim_set_fake_offset = AntiAim.SetFakeOffset, antiaim_get_override = AntiAim.GetOverride, antiaim_set_override = AntiAim.SetOverride, exploit_override_tolerance = Exploit.OverrideTolerance, exploit_override_shift = Exploit.OverrideShift, exploit_enable_recharge = Exploit.EnableRecharge, exploit_disable_recharge = Exploit.DisableRecharge, exploit_recharge = Exploit.Recharge, exploit_get_charge = Exploit.GetCharge, ragebot_get_targets = Ragebot.GetTargets, ragebot_ignore_target = Ragebot.IgnoreTarget, ragebot_force_hitbox_safety = Ragebot.ForceHitboxSafety, ragebot_force_target_minimum_damage = Ragebot.ForceTargetMinimumDamage, ragebot_force_target_hitchance = Ragebot.ForceTargetHitchance, ragebot_force_target_safety = Ragebot.ForceTargetSafety, ragebot_force_target = Ragebot.ForceTarget, ragebot_get_target = Ragebot.GetTarget, material_refresh = Material.Refresh, material_set_key_value = Material.SetKeyValue, material_get = Material.Get, material_destroy = Material.Destroy, material_create = Material.Create;
// вары
var clock = 0
var clock1 = 0
var frame = 0;
var alpha = 0;
var maxwidth = 0;
var width = 153;
var stored = false;
var x_offs = 0;
var y_offs = 0;
var swalpha = 0;
var fdalpha = 0;
var apalpha = 0;
var aialpha = 0;
var spalpha = 0;
var fbalpha = 0;
var dtalpha = 0;
var hsalpha = 0;
var doalpha = 0;
var textalpha = 0;
var h = new Array();
var screen_size = Global.GetScreenSize();
var screen = Render.GetScreenSize();
var lp = Entity.GetLocalPlayer();
var positions = [];
var trace = [];
var render = [];

users = Cheat.GetUsername();

Cheat.PrintColor([130, 130, 255, 255], " " + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] loaded successfully." + "\n")
Cheat.PrintColor([130, 130, 255, 255], " " + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Welcome To uwutech.js" + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Discord: https://discord.gg/P9mSxJHDZF" + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Developers: lame" + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Logged in as: " + users + "\n")
Cheat.PrintColor([130, 130, 255, 255], " " + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] UPDATES 1.1\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Added legit aa\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Added attargets in jump\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Added grenade warnings\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Added scoreboard weapon list\n")
Cheat.PrintColor([130, 130, 255, 255], " " + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] UPDATES 1.0\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Scrpit released\n")
Cheat.PrintColor([130, 130, 255, 255], " " + "\n")
Cheat.PrintColor([130, 130, 255, 255], "[uwutech] Your version is 1.1\n")


// соскрипт

function menu_controller() {

    //начинаем получать значение dropdown-контроллера

    const f = UI.GetValue('Script items', 'Tab')

    //начинаем писать вкладки для контрола

    rage = f == 0, //рейдж вкладка

    aa = f == 1, //антиаим вкладка

    vis = f == 2, //визуальная вкладка

    misc = f == 3; //misc вкладка

    //начинаем контроллить

    ui_set_enabled('Script items', 'Damage override key', rage);
    ui_set_enabled('Script items', 'Top fake-lag', rage);
    ui_set_enabled('Script items', 'Switch fake-lag', rage);
    ui_set_enabled('Script items', 'Double tap tolerance', rage);
    ui_set_enabled('Script items', 'Recharge delay', rage);
    ui_set_enabled('Script items', 'Damage override', rage);

    ui_set_enabled('Script items', 'Advanced Anti-Aim', aa);
    ui_set_enabled('Script items', 'Attargets in jump', aa);
    ui_set_enabled('Script items', 'Legit AA Key', aa);
    ui_set_enabled('Script items', 'Real type', aa);
    ui_set_enabled('Script items', 'LBY type', aa);
    ui_set_enabled('Script items', 'Real additional type', aa);
    ui_set_enabled('Script items', 'Moving real type', aa);
    ui_set_enabled('Script items', 'Smart Range', aa);
    ui_set_enabled('Script items', 'Override Anti-Aim', aa);
    ui_set_enabled('Script items', '- Overrides Anti-Aim settings', aa);
    ui_set_enabled('Script items', 'Autodirection', aa);
    ui_set_enabled('Script items', 'Anti-Brute', aa);

    ui_set_enabled('Script items', 'Indicators', vis);
    ui_set_enabled('Script items', 'Fakelag Indicator', vis);
    ui_set_enabled('Script items', 'Accent color', vis);
    ui_set_enabled('Script items', 'Desync Circle', vis);
    ui_set_enabled('Script items', 'Desync Circle color', vis);
    ui_set_enabled('Script items', 'Indicator color', vis);
    ui_set_enabled('Script items', 'Selected inverter color', vis);
    ui_set_enabled('Script items', 'Grenade warning', vis);
    ui_set_enabled('Script items', 'On Hotkeys', vis);
    ui_set_enabled('Script items', 'On Spec', vis);
    ui_set_enabled('Script items', 'Weapon list', vis);

    ui_set_enabled('Script items', 'Custom ClanTag', misc);
    ui_set_enabled('Script items', 'Custom ClanTag Speed', misc);
    ui_set_enabled('Script items', 'Aspect Ratio', misc);
    ui_set_enabled('Script items', 'TP Dist', misc);

}


/*контроллер*/

ui_add_dropdown('Tab', ['Rage', 'Anti-Aim', 'Visuals', 'Misc'])

/*меню*/
ui_add_checkbox('Top fake-lag');
ui_add_checkbox('Switch fake-lag');
UI.AddHotkey("Damage override key")
UI.AddSliderInt("Damage override", 1, 130)
ui_add_slider_int("Double tap tolerance", -2, 2);
ui_add_slider_int("Recharge delay", 0, 1000);

ui_add_checkbox("Advanced Anti-Aim");
ui_add_checkbox("Attargets in jump")
UI.AddHotkey("Legit AA Key");

UI.AddMultiDropdown("Indicators", ["uwutech", "uwutech #2", "skeet", "skeet upper crosshair", "AntiAim & Indication", "Ideal Yaw", "Taco"])
ui_add_checkbox("Fakelag Indicator")
UI.AddColorPicker("Accent color");
UI.AddCheckbox("Desync Circle")
UI.AddColorPicker("Desync Circle color")
UI.AddColorPicker("Indicator color");
UI.AddColorPicker("Selected inverter color");
UI.AddCheckbox("On Hotkeys");
UI.AddColorPicker("Hotkeys");
UI.AddCheckbox("Hotkeys Gradient");
UI.AddCheckbox("On Spec");
UI.AddColorPicker("Spec");
UI.AddCheckbox("Spec Gradient");
UI.AddCheckbox("Grenade warning")
UI.AddDropdown("Warning style", ["Neverlose", "EnQ"])
UI.AddColorPicker("Color of warning")
UI.AddCheckbox("Weapon list")
UI.AddSliderInt("Panorama X-Pos",0,screen[0]/2);
UI.AddCheckbox("Remove active weapon");
UI.AddColorPicker("Weapon Color");

UI.AddDropdown( "Custom ClanTag", [ "Disabled", "uwutech"] );
UI.AddSliderInt( "Custom ClanTag Speed", 1, 10 );
UI.AddSliderFloat( "Aspect Ratio", 0.0, 5.0 );
UI.AddSliderFloat("TP Dist", 50, 300)
/*регистрируем наш контроллер*/
cheat_register_callback('Draw', 'menu_controller')

function spy1() {
    if (UI.GetValue("Script items", "On Hotkeys")) {
        UI.SetEnabled("Script items", "Hotkeys", 1 && vis);
        UI.SetEnabled("Script items", "Hotkeys Gradient", 1 && vis);
           ui_set_enabled('Script items', 'Hotkeys x', 1 && vis);
        ui_set_enabled('Script items', 'Hotkeys y', 1 && vis);
    } else {
        UI.SetEnabled("Script items", "Hotkeys", 0);
        UI.SetEnabled("Script items", "Hotkeys Gradient", 0);
           ui_set_enabled('Script items', 'Hotkeys x', 0);
        ui_set_enabled('Script items', 'Hotkeys y', 0);  
    }
}

Cheat.RegisterCallback("Draw", "spy1")

function spy2() {
    if (UI.GetValue("Script items", "On Spec")) {
        UI.SetEnabled("Script items", "Spec", 1 && vis);
        UI.SetEnabled("Script items", "Spec Gradient", 1 && vis);
           ui_set_enabled('Script items', 'Spec x', 1 && vis);
        ui_set_enabled('Script items', 'Spec y', 1 && vis);
    } else {
        UI.SetEnabled("Script items", "Spec", 0);
        UI.SetEnabled("Script items", "Spec Gradient", 0);
           ui_set_enabled('Script items', 'Spec x', 0);
        ui_set_enabled('Script items', 'Spec y', 0);  
    }
}

Cheat.RegisterCallback("Draw", "spy2")

function spyx() {
    if (UI.GetValue("Script items", "Grenade warning")) {
        UI.SetEnabled("Script items", "Warning style", 1 && vis);
        UI.SetEnabled("Script items", "Color of warning", 1 && vis);
        UI.SetEnabled("Script items", "Weapon Color", 1 && vis);
    } else {
        UI.SetEnabled("Script items", "Warning style", 0);
        UI.SetEnabled("Script items", "Color of warning", 0);
        UI.SetEnabled("Script items", "Weapon Color", 0);
    }
}

Cheat.RegisterCallback("Draw", "spyx")

function spyy() {
    if (UI.GetValue("Script items", "Weapon list")) {
        UI.SetEnabled("Script items", "Panorama X-Pos", 1 && vis);
        UI.SetEnabled("Script items", "Remove active weapon", 1 && vis);
        UI.SetEnabled("Script items", "Weapon Color", 1 && vis);
    } else {
        UI.SetEnabled("Script items", "Panorama X-Pos", 0);
        UI.SetEnabled("Script items", "Remove active weapon", 0);
        UI.SetEnabled("Script items", "Weapon Color", 0);
    }
}

Cheat.RegisterCallback("Draw", "spyy")

var real_types = ["Fake", "Opposing fake", "Middle", "Smart Middle", "Follow Fake", "Opposing Follow Fake", "Smart", "Opposite Smart"]
var lby_types = ["Opposite", "Middle", "Switch Opposite", "Smart", "Opposite Smart"] // not much you can do with lby but opposite is best
var real_additional_types = ["None", "Full Sine", "Full Jitter", "Half Sine", "Half Jitter"]
var moving_real_types = ["None", "Switch", "Jitter", "Sine"]
var override = UI.AddCheckbox("Override Anti-Aim")
var ui = {
    real_type : UI.AddDropdown("Real type", real_types),
    lby_type : UI.AddDropdown("LBY type", lby_types),
    real_additional_type : UI.AddDropdown("Real additional type", real_additional_types),
    moving_real_type : UI.AddDropdown("Moving real type", moving_real_types),
    smart_range : UI.AddSliderInt("Smart Range", 0, 100)
}
function LBY_opposite(inverter) // inverter is just side basically
{
    var real = Local.GetRealYaw()
    var fake = Local.GetFakeYaw()
    var local = Entity.GetLocalPlayer()
    var yaw = Entity.GetProp(local, "CCSPlayer", "m_angEyeAngles[0]")[1]
    var delta = yaw - fake
    if(delta > 180)
        delta -= 360
    if(delta < -180)
        delta += 360

    if(delta > -20 && inverter)
    {
        AntiAim.SetLBYOffset(90)
        return 90
    }
    else if (delta < 20 && !inverter)
    {
        AntiAim.SetLBYOffset(-90)
        return -90
    }
    else {
        AntiAim.SetLBYOffset(180)
        return 180
    }
}
function smart_middle(inverter)
{
    var local = Entity.GetLocalPlayer()
    var v = Entity.GetProp(local, "CBasePlayer", "m_vecVelocity[0]")
    var len = Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2])
    AntiAim.SetRealOffset(len < 30 ? 0 : (inverter ? 58 : -58))
    return len < 30 ? 0 : (inverter ? 58 : -58)
}
function follow_fake(inverter, a)
{
    var real = Local.GetRealYaw()
    var fake = Local.GetFakeYaw()
    var local = Entity.GetLocalPlayer()
    var yaw = Entity.GetProp(local, "CCSPlayer", "m_angEyeAngles[0]")[1]
    var delta = yaw - fake
    if(delta > 180)
        delta -= 360
    if(delta < -180)
        delta += 360
    AntiAim.SetRealOffset(a ? delta : -delta)
    return a ? delta : -delta
}
function half_sine(inverter, real_yaw)
{
    var sine = ((Math.sin(Globals.Curtime() * 5) + 1) / 2) * 58
    var new_yaw = inverter ? real_yaw + sine : real_yaw - sine
    AntiAim.SetRealOffset(-new_yaw)
}
function half_jitter(inverter, real_yaw)
{
    var rand = Math.random() * 58
    var new_yaw = inverter ? real_yaw + rand : real_yaw - rand
    AntiAim.SetRealOffset(-new_yaw)
}
var flip = false
function switch_opposite(inverter)
{
    var fake = LBY_opposite(flip ? !inverter : inverter)
    if(fake == 180)
    {
        flip = !flip
    }
}
var flip2 = false
var last = 0
function switch_real_moving(inverter)
{
    var local = Entity.GetLocalPlayer()
    var v = Entity.GetProp(local, "CBasePlayer", "m_vecVelocity[0]")
    var len = Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2])
    if(len < 30)
        return
    var sim = Globals.Curtime() - Entity.GetProp(local, "CBaseEntity", "m_flSimulationTime")
    if(last > sim)
    {
        flip2 = !flip2
    }
    AntiAim.SetRealOffset(flip2 ? 58 : -58)
    last = sim
}
function jitter_real_moving(inverter)
{
    var local = Entity.GetLocalPlayer()
    var v = Entity.GetProp(local, "CBasePlayer", "m_vecVelocity[0]")
    var len = Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2])
    if(len < 30)
        return

    var new_yaw = Math.random() * 58 * 2 - 58
    AntiAim.SetRealOffset(new_yaw)
}
function sine_real_moving(inverter)
{
    var local = Entity.GetLocalPlayer()
    var v = Entity.GetProp(local, "CBasePlayer", "m_vecVelocity[0]")
    var len = Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2])
    if(len < 30)
        return
    var factor = 0
    if(len < 90)
        factor = 40
    else
        factor = 30
    var sine = Math.sin(Globals.Curtime() * 5) * factor
    AntiAim.SetRealOffset(sine)
}
function RadToDeg(a){
    return a * 180 / Math.PI
}
function calc_angle(source, entityPos){
    var delta = []
    delta[0] = source[0] - entityPos[0]
    delta[1] = source[1] - entityPos[1]
    delta[2] = source[2] - entityPos[2]
    var angles = []
    var viewangles = Local.GetViewAngles()
    angles[0] = RadToDeg(Math.atan(delta[2] / Math.hypot(delta[0], delta[1])))
    angles[1] = RadToDeg(Math.atan(delta[1] / delta[0]))
    angles[2] = 0
    if(delta[0] >= 0)
        angles[1] += 180
    while(angles[1] > 180)
        angles[1] -= 360
    while(angles[1] < -180)
        angles[1] += 360
    return angles
}
function closest_to_fov()
{
    var local = Entity.GetLocalPlayer()
    var eye = Entity.GetEyePosition(local)
    var ang = Local.GetViewAngles()
    var enemies = Entity.GetEnemies()
    var closest = -1
    var last = 180
    for(i in enemies)
    {
        if(!Entity.IsAlive(enemies[i]))
            continue
        var ang_to = calc_angle(eye, Entity.GetHitboxPosition(enemies[i], 5))
        ang_to[0] -= ang[0]
        ang_to[1] -= ang[1]
        var len = Math.sqrt(ang_to[0]*ang_to[0]+ang_to[1]*ang_to[1])
        if(len < last)
        {
            last = len
            closest = enemies[i]
        }
    }
    return closest
}
function ang_vec(a){
    var sy = Math.sin(a[1])
    var cy = Math.cos(a[1])
    var sp = Math.sin(a[0])
    var cp = Math.cos(a[0])
    return [cp*cy,cp*sy,-sp]
}
function vmf(a,b){
    return [a[0]*b,a[1]*b,a[2]*b]
}
function va(a,b){
    return [a[0]+b[0],a[1]+b[1],a[2]+b[2]]
}
var smart = false
function smart_yaw(side)
{
    var local = Entity.GetLocalPlayer()

    var ent = closest_to_fov()
    if(ent == -1)
        return
    var eye = Entity.GetEyePosition(local)
    var ang = calc_angle(eye, Entity.GetHitboxPosition(ent, 5))
    var left_ang = [0,(ang[1]+90)/180*Math.PI,0] // fucking stupid, had a bug with it and SOMEHOW this fixed it (1000 iq coder)
    var right_ang = [0,(ang[1]-90)/180*Math.PI,0] // fucking stupid, had a bug with it and SOMEHOW this fixed it (1000 iq coder)
    var normalize = function(vec)
    {
        if(vec[1] > 180)
            vec[1] -= 360
        if(vec[1] < -180)
            vec[1] += 360
        return vec
    }
    left_ang = normalize(left_ang)
    right_ang = normalize(right_ang)
    var range = UI.GetValue.apply(null, ui.smart_range)
    var left = vmf(ang_vec(left_ang), range)
    var right = vmf(ang_vec(right_ang), range)
    var temp_left = va(left, eye)
    var temp_right = va(right, eye)
    var tr_left = Trace.Line(local, eye, temp_left)
    var tr_right = Trace.Line(local, eye, temp_right)

    left = vmf(ang_vec(left_ang), range * tr_left[1])
    temp_left = va(left, eye)
    right = vmf(ang_vec(right_ang), range * tr_right[1])
    temp_right = va(right, eye)
    tr_left = Trace.Line(local, temp_left, Entity.GetHitboxPosition(ent, 5))
    tr_right = Trace.Line(local, temp_right, Entity.GetHitboxPosition(ent, 5))
    if(tr_left[0] && !tr_right[0])
        return true
    if(!tr_left[0] && tr_right[0])
        return false
    if(!tr_left[0] && !tr_right[0])
        return side
}
function autodirection()
{
    var local = Entity.GetLocalPlayer()

    var ent = closest_to_fov()
    if(ent == -1)
        return
    var eye = Entity.GetEyePosition(local)
    var ang = calc_angle(eye, Entity.GetHitboxPosition(ent, 5))
    var left_ang = [0,(ang[1]+90)/180*Math.PI,0] // fucking stupid, had a bug with it and SOMEHOW this fixed it (1000 iq coder)
    var right_ang = [0,(ang[1]-90)/180*Math.PI,0] // fucking stupid, had a bug with it and SOMEHOW this fixed it (1000 iq coder)
    var normalize = function(vec)
    {
        if(vec[1] > 180)
            vec[1] -= 360
        if(vec[1] < -180)
            vec[1] += 360
        return vec
    }
    left_ang = normalize(left_ang)
    right_ang = normalize(right_ang)
    var range = 50
    var left = vmf(ang_vec(left_ang), range)
    var right = vmf(ang_vec(right_ang), range)
    var temp_left = va(left, eye)
    var temp_right = va(right, eye)
    var tr_left = Trace.Line(local, eye, temp_left)
    var tr_right = Trace.Line(local, eye, temp_right)

    left = vmf(ang_vec(left_ang), range * tr_left[1])
    temp_left = va(left, eye)
    right = vmf(ang_vec(right_ang), range * tr_right[1])
    temp_right = va(right, eye)
    tr_left = Trace.Line(local, temp_left, Entity.GetHitboxPosition(ent, 5))
    tr_right = Trace.Line(local, temp_right, Entity.GetHitboxPosition(ent, 5))
    if(tr_left[0] && !tr_right[0])
        return 90
    if(!tr_left[0] && tr_right[0])
        return -90
    if(!tr_left[0] && !tr_right[0])
        return 0
}
function smart_lby(inverter, flipped)
{
    LBY_opposite(flipped ? smart_yaw(inverter) : !smart_yaw(inverter))
}
var enemy_brute_stage = []
function reset()
{
    enemy_brute_stage = []
}
var shots_fired = []
var last_shots_fired = []
var bullet_pos = []
var hurt = -1
var shooting = -1
function weapon_fire()
{
    if(Entity.GetEntityFromUserID(Event.GetInt("userid")) == Entity.GetLocalPlayer())
        return
    if(!shots_fired[Entity.GetEntityFromUserID(Event.GetInt("userid"))])
        shots_fired[Entity.GetEntityFromUserID(Event.GetInt("userid"))] = 0
    shots_fired[Entity.GetEntityFromUserID(Event.GetInt("userid"))]++
    shooting = Entity.GetEntityFromUserID(Event.GetInt("userid"))
}
function player_hurt()
{
    if(Entity.GetEntityFromUserID(Event.GetInt("attacker")) == Entity.GetLocalPlayer())
        return
    hurt = Entity.GetEntityFromUserID(Event.GetInt("attacker"))
}
function bullet_impact()
{
    if(Entity.GetEntityFromUserID(Event.GetInt("userid")) == Entity.GetLocalPlayer())
        return
    if(Entity.GetEntityFromUserID(Event.GetInt("userid")) == shooting)
        bullet_pos = [Event.GetFloat("x"), Event.GetFloat("y"), Event.GetFloat("z")]
}
function process_shot()
{
    if(shooting == -1)
        return
    var eye = Entity.GetEyePosition(shooting)
    var impact = bullet_pos
    var local = Entity.GetLocalPlayer()
    var head = Entity.GetHitboxPosition(local, 0)
    var ang_to_impact = calc_angle(eye, impact)
    var ang_to_local = calc_angle(eye, head)
    var delta = [ang_to_local[0]-ang_to_impact[0],ang_to_local[1]-ang_to_impact[1], 0]
    var len = Math.sqrt(delta[0]*delta[0]+delta[1]*delta[1])
    delta = [head[0]-eye[0],head[1]-eye[1],head[2]-eye[2]]
    var dist = Math.sqrt(delta[0]*delta[0]+delta[1]*delta[1]+delta[2]*delta[2])
    if(dist > 500)
        dist = 500
    dist = 500 - dist
    dist /= 450
    dist *= 20
    if(dist < 2)
        dist = 2
    if(hurt != shooting && len < dist)
    {

        if(!enemy_brute_stage[shooting])
            enemy_brute_stage[shooting] = 0
        enemy_brute_stage[shooting] = (enemy_brute_stage[shooting] + 1) % 3
    }
    shooting = -1
    hurt = -1
    bullet_pos = []
}
var brutee = UI.AddCheckbox("Anti-Brute")
UI.AddLabel("- Overrides Anti-Aim settings")
var autodir = UI.AddCheckbox("Autodirection")
function onCreateMove()
{
    if(UI.GetValue.apply(null, autodir))
    {
        UI.SetValue("Anti-Aim", "Rage Anti-Aim", "Yaw offset", autodirection())
    }
    if(!UI.GetValue.apply(null, override))
    {
        AntiAim.SetOverride(0)
        return
    }
    AntiAim.SetOverride(1)
    var real_type = UI.GetValue.apply(null, ui.real_type)
    var lby_type = UI.GetValue.apply(null, ui.lby_type)
    var real_additional_type = UI.GetValue.apply(null, ui.real_additional_type)
    var moving_real_type = UI.GetValue.apply(null,ui.moving_real_type)
    var inverter = UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter")
    var antibrute = UI.GetValue.apply(null,brutee)
    if(antibrute)
    {
        smart_lby(inverter, false)
        process_shot()
        var enemies = Entity.GetEnemies()
        var enemy_shooting = -1
        for(i in enemies)
        {
            if(!Entity.IsAlive(enemies[i]) || Entity.IsDormant(enemies[i]))
                continue
            var time = Entity.GetProp(enemies[i], "CCSPlayer", "m_nTickBase") * Globals.TickInterval()
            var next_primary_attack = Entity.GetProp(Entity.GetWeapon(enemies[i]), "CBaseCombatWeapon", "m_flNextPrimaryAttack")
            var ammo = Entity.GetProp(Entity.GetWeapon(enemies[i]), "CBaseCombatWeapon", "m_iClip1")
            var canshoot = (next_primary_attack <= time && ammo > 0)
            if(canshoot)
            {
                enemy_shooting = enemies[i]
                break
            }
        }

        if(enemy_shooting == -1)
            return
        if(!enemy_brute_stage[enemy_shooting])
            enemy_brute_stage[enemy_shooting] = 0
        switch(enemy_brute_stage[enemy_shooting])
        {
            case 0: AntiAim.SetRealOffset(0); break
            case 1: AntiAim.SetRealOffset(58); break
            case 2: AntiAim.SetRealOffset(-58); break
        }
        return
    }
    var real_yaw = 0

    switch(real_type)
    {
        case 0: AntiAim.SetRealOffset(inverter ? 58 : -58); real_yaw = inverter ? 58 : -58; break
        case 1: AntiAim.SetRealOffset(inverter ? -58 : 58); real_yaw = inverter ? -58 : 58; break
        case 2: AntiAim.SetRealOffset(0); break
        case 3: real_yaw = smart_middle(inverter); break
        case 4: real_yaw = follow_fake(inverter, false); break
        case 5: real_yaw = follow_fake(inverter, true); break
        case 6: AntiAim.SetRealOffset(smart_yaw(inverter) ? 58 : -58); break
        case 7: AntiAim.SetRealOffset(smart_yaw(inverter) ? -58 : 58); break
    }
    switch(lby_type)
    {
        case 0: LBY_opposite(inverter); break
        case 1: AntiAim.SetLBYOffset(0); break
        case 2: switch_opposite(inverter); break
        case 3: smart_lby(inverter, false); break
        case 4: smart_lby(inverter, true); break
    }
    switch(real_additional_type)
    {
        case 1: AntiAim.SetRealOffset(Math.sin(Globals.Curtime() * 5) * 58); break
        case 2: AntiAim.SetRealOffset(Math.random() * 58 * 2 - 58); break
        case 3: half_sine(inverter, real_yaw); break
        case 4: half_jitter(inverter, real_yaw); break
    }
    switch(moving_real_type)
    {
        case 1: switch_real_moving(inverter); break
        case 2: jitter_real_moving(inverter); break
        case 3: sine_real_moving(inverter); break
    }
}
cheat_register_callback("round_start", "reset")
cheat_register_callback("weapon_fire", "weapon_fire")
cheat_register_callback("bullet_impact", "bullet_impact")
cheat_register_callback("player_hurt", "player_hurt")
cheat_register_callback("CreateMove", "onCreateMove")


function can_shift_shot(ticks_to_shift) {
    var me = Entity.GetLocalPlayer();
    var wpn = Entity.GetWeapon(me);

    if (me == null || wpn == null)
        return false;

    var tickbase = Entity.GetProp(me, "CCSPlayer", "m_nTickBase");
    var curtime = Globals.TickInterval() * (tickbase-ticks_to_shift)

    if (curtime < Entity.GetProp(me, "CCSPlayer", "m_flNextAttack"))
        return false;

    if (curtime < Entity.GetProp(wpn, "CBaseCombatWeapon", "m_flNextPrimaryAttack"))
        return false;

    return true;
}

function _TBC_CREATE_MOVE() {
    var is_charged = Exploit.GetCharge()
    var recharge_delay = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Recharge delay")
    Exploit[(is_charged != 1 ? "Enable" : "Disable") + "Recharge"]()

        if (can_shift_shot(recharge_delay * 0.1) && is_charged != 1) {
        Exploit.DisableRecharge();
        Exploit.Recharge()
    }
    var reserve = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Double tap tolerance")

    exploit_override_tolerance(reserve);
    exploit_override_shift(17-reserve);
}

function _TBC_UNLOAD() {
    exploit_enable_recharge();
}

cheat_register_callback("CreateMove", "_TBC_CREATE_MOVE");
cheat_register_callback("Unload", "_TBC_UNLOAD");

function RandomLimit(Min, Max)
{
        Min = Math.ceil(Min);
        Max = Math.floor(Max);
        return Math.floor(Math.random() * (Min + Max - 1, 17))
}

function RandomJitter(Min, Max)
{
        Min = Math.ceil(Min);
        Max = Math.floor(Max);
        return Math.floor(Math.random() * (Min + Max - 1, 102))
}

function RandomTriggerlimit(Min, Max)
{
        Min = Math.ceil(Min);
        Max = Math.floor(Max);
        return Math.floor(Math.random() * (Min + Max - 1, 11))
}

function RandomFakeLag()
{
    if (UI.GetValue("Script items", "Top fake-lag") == true) {  
    UI.SetValue("Anti-Aim", "Fake-Lag", "Limit", (RandomLimit(7, 17)));
    UI.SetValue("Anti-Aim", "Fake-Lag", "Jitter", (RandomJitter(1, 102)));
    UI.SetValue("Anti-Aim", "Fake-Lag", "Trigger limit", (RandomTriggerlimit(1, 11)));
}
}

Cheat.RegisterCallback("Draw","RandomFakeLag")

var sosok = true
var delay = 0

function letal() {
    if (UI.GetValue("Script items", "Switch fake-lag") == true) {
    delay = delay + 0.5
    if (delay > 5) {
    if (sosok == true){
    UI.SetValue("Anti-Aim", "Fake-Lag", "Enabled", true);
    sosok = false;
} else {
    UI.SetValue("Anti-Aim", "Fake-Lag", "Enabled", false);
    sosok = true;
}
}
}
}

Cheat.RegisterCallback("Draw","letal")

function draw_shadow(x, y, int, text, outline_color, font) {
    Render.StringCustom(x + 1, y + 1, int, text, outline_color, font);
    Render.StringCustom(x, y + 1, int, text, outline_color, font);
    Render.StringCustom(x + 1, y, int, text, outline_color, font);
    Render.StringCustom(x - 1, y - 1, int, text, outline_color, font);
    Render.StringCustom(x - 1, y, int, text, outline_color, font);
    Render.StringCustom(x, y - 1, int, text, outline_color, font);
    Render.StringCustom(x + 1, y - 1, int, text, outline_color, font);
    Render.StringCustom(x - 1, y + 1, int, text, outline_color, font);
}
Render.Arc = function (x, y, radius, radius_inner, start_angle, end_angle, segments, color)
{
    segments = 360 / segments;

    for (var i = start_angle; i < start_angle + end_angle; i = i + segments)
    {

        var rad = i * Math.PI / 180;
        var rad2 = (i + segments) * Math.PI / 180;

        var rad_cos = Math.cos(rad);
        var rad_sin = Math.sin(rad);

        var rad2_cos = Math.cos(rad2);
        var rad2_sin = Math.sin(rad2);

        var x1_inner = x + rad_cos * radius_inner;
        var y1_inner = y + rad_sin * radius_inner;

        var x1_outer = x + rad_cos * radius;
        var y1_outer = y + rad_sin * radius;

        var x2_inner = x + rad2_cos * radius_inner;
        var y2_inner = y + rad2_sin * radius_inner;

        var x2_outer = x + rad2_cos * radius;
        var y2_outer = y + rad2_sin * radius;
        Render.Polygon( [
            [ x1_outer, y1_outer ],
            [ x2_outer, y2_outer ],
            [ x1_inner, y1_inner ] ],
            color
        );

        Render.Polygon( [
            [ x1_inner, y1_inner ],
            [ x2_outer, y2_outer ],
            [ x2_inner, y2_inner ] ],
            color
        );
    }
}

var time_to_ticks = function(a)
    {
        return Math.floor(0.5 + a / Globals.TickInterval())
    }

function getDropdownValue(value, index) {
    var mask = 1 << index;
    return value & mask ? true : false;
}

var Inair = function() {
    if(!(Entity.GetProp(lp, "CBasePlayer", "m_fFlags") & (1 << 0))) {
        return true;
    } else {
        return false;
    }
}

var getVelocity = function(index) {
    players = Entity.GetPlayers();
    for(i = 0; i < players.length; i++); {
        var velocity = Entity.GetProp(index, "CBasePlayer", "m_vecVelocity[0]");
        var speed = Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);
    }
    return speed;
}

function draw(){
    indicators_enabled = UI.GetValue("Script items", "Indicators")
    cur_dmg = UI.GetValue("Script items", "Damage override")
    var fakelag = time_to_ticks(Globals.Curtime() - Entity.GetProp(lp, "DT_CSPlayer", "m_flSimulationTime")) + 1
    font = Render.AddFont("Verdana", 8, 400);
    font1 = Render.AddFont("Ebrima", 10, 500);
    font111 = Render.AddFont("Small Fonts", 5, 100);
    font11111 = Render.AddFont("Tahoma", 8, 100);
    font1111 = Render.AddFont("Tahoma", 8, 100);
    font11 = Render.AddFont("Calibri", 15, 500);
    fon = Render.AddFont("Small Fonts", 5, 100);
    x = screen_size[0]
    y = screen_size[1]
    col = UI.GetColor("Misc", "JAVASCRIPT", "Script items", "Indicator color");
    real_yaw = Local.GetRealYaw();
    fake_yaw = Local.GetFakeYaw();
    delta = Math.min(Math.abs(real_yaw - fake_yaw) /2, 60).toFixed(0);
    isFDActive = UI.IsHotkeyActive("Extra", "Fake duck");
    isDmgActive = UI.IsHotkeyActive("Misc", "JAVASCRIPT", "Script items", "Damage override key");
    isDtActive = UI.IsHotkeyActive("Rage", "GENERAL", "Exploits", "Doubletap");
    isHSActive = UI.IsHotkeyActive("Rage", "GENERAL", "Exploits", "Hide shots");
    isBAimActive = UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force body aim");
    isSPActive = UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force safe point");
    isInverter = UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter");
    color228 = UI.GetColor("Misc", "JAVASCRIPT", "Script items", "Selected inverter color")
    isAuto = UI.GetValue("Anti-Aim", "Rage Anti-Aim", "Auto direction")
    isAAActive = UI.IsHotkeyActive("Misc", "JAVASCRIPT", "Script items", "Legit AA key");
    if(getDropdownValue(indicators_enabled, 0)) {
    add_y = 0
    color228[0], color228[1], color228[2], 255
    if (Entity.IsAlive(Entity.GetLocalPlayer())) {
        Render.GradientRect(x / 2, y / 2 + 34, (64 / 60) * delta, 2, 1, col, [0, 0, 0, 0]);
        Render.GradientRect(x / 2 - (64 / 60) * delta + 1, y / 2 + 34, (64 / 60) * delta, 2 , 1, [0, 0, 0, 0], col);
        Render.StringCustom(x /2 +3, y /2 +17, 0, "tech", [ 0, 0, 0, 255 ], font1);
        Render.StringCustom(x /2 +2, y /2 +17, 0, "tech", isInverter ? [ 255, 255, 255, 255 ] : [ color228[0], color228[1], color228[2], 255 ], font1);
        Render.StringCustom(x /2 -25, y /2 +17, 0, "uwu", [ 0, 0, 0, 255 ], font1);
        Render.StringCustom(x /2 -26, y /2 +17, 0, "uwu", isInverter ? [ color228[0], color228[1], color228[2], 255 ] : [ 255, 255, 255, 255 ], font1);
    if(isHSActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 23, screen_size[1] / 2 + 35 + add_y, 0, "ONSHOT", [0, 0, 0, 255], font1);
        Render.StringCustom(screen_size[0] / 2 - 24, screen_size[1] / 2 + 35 + add_y, 0, "ONSHOT", [255, 255, 255, 255], font1);
    }
    if(isBAimActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 12, screen_size[1] / 2 + 35 + add_y, 0, "BAIM", [0, 0, 0, 255], font1);
        Render.StringCustom(screen_size[0] / 2 - 13, screen_size[1] / 2 + 35 + add_y, 0, "BAIM", [255, 255, 255, 255], font1);
    }
    if(isDmgActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 11, screen_size[1] / 2 + 35 + add_y, 0, "DMG", [0, 0, 0, 255], font1);
        Render.StringCustom(screen_size[0] / 2 - 12, screen_size[1] / 2 + 35 + add_y, 0, "DMG", [255, 255, 255, 255], font1);
    }
    if(isSPActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 5, screen_size[1] / 2 + 35 + add_y, 0, "SP", [0, 0, 0, 255], font1);
        Render.StringCustom(screen_size[0] / 2 - 6, screen_size[1] / 2 + 35 + add_y, 0, "SP", [255, 255, 255, 255], font1);
    }
    if(isDtActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 5, screen_size[1] / 2 + 35 + add_y, 0, "DT", [0, 0, 0, 255], font1);
        Render.StringCustom(screen_size[0] / 2 - 6, screen_size[1] / 2 + 35 + add_y, 0, "DT", Exploit.GetCharge() == 1 ? [255, 255, 255, 255] : [255, 0, 0, 255], font1);
    }
    if(isAuto){
        Render.StringCustom(x /2 - 12, y /2 +35, 0, "SMART", [ 0, 0, 0, 255 ], font111);
        Render.StringCustom(x /2 - 13, y /2 +35, 0, "SMART", [ 255, 255, 255, 255 ], font111);
    }
    else if(UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Advanced Anti-Aim") && isDtActive || isHSActive){
        Render.StringCustom(x /2 - 9, y /2 +35, 0, "JITTER", [ 0, 0, 0, 255 ], font111);
        Render.StringCustom(x /2 - 10, y /2 +35, 0, "JITTER", [ 255, 255, 255, 255 ], font111);
    }
    else if(UI.GetValue("Rage Anti-Aim", "Enabled")){
        Render.StringCustom(x /2 - 11, y /2 +35, 0, "STATIC", [ 0, 0, 0, 255 ], font111);
        Render.StringCustom(x /2 - 12, y /2 +35, 0, "STATIC", [ 255, 255, 255, 255 ], font111);
    }
    }
}
    if(getDropdownValue(indicators_enabled, 1)) {
    add_y = 0
    if(Entity.IsAlive(Entity.GetLocalPlayer())) {
    Render.FilledRect(x / 2, y / 2 + 25, (64 / 150) * delta, 2, col);
    Render.FilledRect(x / 2 - (64 / 140) * delta + 1, y / 2 + 25, (64 / 140) * delta, 2, col);
    Render.StringCustom(x / 2 + 2, y / 2 + 13, 0, "TECH", [0, 0, 0, 255], fon);
    Render.StringCustom(x / 2 + 4, y / 2 + 15, 0, "TECH", [0, 0, 0, 255], fon);
    Render.StringCustom(x / 2 + 3, y / 2 + 14, 0, "TECH", isInverter ? [ 255, 255, 255, 255 ] : [ color228[0], color228[1], color228[2], 255 ], fon);
    Render.StringCustom(x / 2 - 18, y / 2 + 13, 0, "UWU", [0, 0, 0, 255], fon);
    Render.StringCustom(x / 2 - 16, y / 2 + 15, 0, "UWU", [0, 0, 0, 255], fon);
    Render.StringCustom(x / 2 - 17, y / 2 + 14, 0, "UWU", isInverter ? [ color228[0], color228[1], color228[2], 255 ] : [ 255, 255, 255, 255 ], fon);
    if(isHSActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] / 2 + 28 + add_y, 0, "ONSHOT", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 14, screen_size[1] / 2 + 30 + add_y, 0, "ONSHOT", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 15, screen_size[1] / 2 + 29 + add_y, 0, "ONSHOT", [175, 200, 255, 255], fon);
    }
    if (isAAActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 18, screen_size[1] / 2 + 28 + add_y, 0, "LEGIT-AA", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 16, screen_size[1] / 2 + 30 + add_y, 0, "LEGIT-AA", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 17, screen_size[1] / 2 + 29 + add_y, 0, "LEGIT-AA", [175, 255, 255, 255], fon);
    }
    if(isBAimActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 11, screen_size[1] / 2 + 28 + add_y, 0, "BAIM", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 9, screen_size[1] / 2 + 30 + add_y, 0, "BAIM", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 10, screen_size[1] / 2 + 29 + add_y, 0, "BAIM", [255, 148, 121, 255], fon);
    }
    if(isDmgActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 10, screen_size[1] / 2 + 28 + add_y, 0, "DMG", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 8, screen_size[1] / 2 + 30 + add_y, 0, "DMG", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 9, screen_size[1] / 2 + 29 + add_y, 0, "DMG", [255, 205, 175, 255], fon);
    }
    if(isSPActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 11, screen_size[1] / 2 + 28 + add_y, 0, "SAFE", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 9, screen_size[1] / 2 + 30 + add_y, 0, "SAFE", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 10, screen_size[1] / 2 + 29 + add_y, 0, "SAFE", [185, 255, 121, 255], fon);
    }
    if(isDtActive) {
        add_y = add_y + 11
        Render.StringCustom(screen_size[0] / 2 - 6, screen_size[1] / 2 + 28 + add_y, 0, "DT", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 4, screen_size[1] / 2 + 30 + add_y, 0, "DT", [0, 0, 0, 255], fon);
        Render.StringCustom(screen_size[0] / 2 - 5, screen_size[1] / 2 + 29 + add_y, 0, "DT", Exploit.GetCharge() == 1 ? [75, 255, 0, 255] : [255, 0, 0, 255], fon);
    }
    if (isAuto) {
        Render.StringCustom(x / 2 - 14, y / 2 + 28, 0, "SMART", [0, 0, 0, 255], fon);
        Render.StringCustom(x / 2 - 12, y / 2 + 30, 0, "SMART", [0, 0, 0, 255], fon);
        Render.StringCustom(x / 2 - 13, y / 2 + 29, 0, "SMART", [ 255, 255, 255, 255 ], fon);
    }
    else if (UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Advanced Anti-Aim") && isDtActive || isHSActive) {
        Render.StringCustom(x / 2 - 14, y / 2 + 28, 0, "JITTER", [0, 0, 0, 255], fon);
        Render.StringCustom(x / 2 - 12, y / 2 + 30, 0, "JITTER", [0, 0, 0, 255], fon);
        Render.StringCustom(x / 2 - 13, y / 2 + 29, 0, "JITTER", [ 255, 255, 255, 255 ], fon);
    }
    else {
        Render.StringCustom(x / 2 - 14, y / 2 + 28, 0, "STATIC", [0, 0, 0, 255], fon);
        Render.StringCustom(x / 2 - 12, y / 2 + 30, 0, "STATIC", [0, 0, 0, 255], fon);
        Render.StringCustom(x / 2 - 13, y / 2 + 29, 0, "STATIC", [ 255, 255, 255, 255 ], fon);
}
}
}
    if(getDropdownValue(indicators_enabled, 2)) {
    add_y = 0
    velocity = Math.round(getVelocity(lp)).toString()
    Render.Indicator = function(text, col) {
        x = screen_size[0] / 100
        y = screen_size[1] / 1.33
        fonts = Render.AddFont("Calibri", 18, 900);
        text_size = Render.TextSize(text, fonts)
        width = text_size[0] ;
        add_y = add_y + 33
        Render.GradientRect(13, y - add_y - 3, width / 2, 26, 1, [0, 0, 0, 0], [0, 0, 0, 55]);
        Render.GradientRect(13 + width / 2, y - add_y - 3, width / 2, 26, 1, [0, 0, 0, 55], [0, 0, 0, 0]);
        Render.StringCustom(x - 3, y + 1 - (add_y + 5), 0, text, [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 3, y - (add_y + 5), 0, text, col, fonts)
    }
    Render.Indicator("UWUTECH", [ col[0], col[1], col[2], 255])
    if(Entity.IsAlive(Entity.GetLocalPlayer())) {
    if (velocity > 255 || Inair()) {
        Render.Indicator("LC", velocity > 275 ? [132, 195, 16, 255] : [255, 0, 0, 255])
    }
    if (isFDActive){
        Render.Indicator("DUCK", [255, 255, 255, 255])
    }
    if (isBAimActive) {
        Render.Indicator("BAIM", [255, 0, 0, 255])
    }
    if (isSPActive) {
        Render.Indicator("SAFE", [132, 195, 16, 255])
    }
    if (isDmgActive) {
        Render.Indicator("DMG : " + cur_dmg, [164, 164, 164, 255]);
    }
    if (isAuto) {
        Render.Indicator("FREESTAND", [132, 195, 16, 255]);
    }
    if (UI.GetValue("Anti-Aim", "Rage Anti-Aim", "At targets")) {
        Render.Indicator("AT", [132, 195, 16, 255])
    }
    if (UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Fakelag Indicator")) {
        Render.Indicator("FL", [135, 147, 255, 255])
        Render.Arc(x + 30, y - 25 - add_y + 35,10,5,0,360,120,[17, 17, 17,255])
        Render.Arc(x + 30, y - 25 - add_y + 35,9,6,0,fakelag * 20,120,[129, 133, 252,255])
    }
    if (isHSActive){
        Render.Indicator("ONSHOT", [132, 195, 16, 255])
    }
    if (isDtActive){
        Render.Indicator("DT", Exploit.GetCharge() == 1 ? [255, 255, 255, 255] : [255, 0, 0, 255])
    }
    }
    }
    if(getDropdownValue(indicators_enabled, 3)) {
    add_y = 0
    x = screen_size[0] / 2
    y = screen_size[1] / 2
    fonts = Render.AddFont("Calibri", 11, 900);
    velocity = Math.round(getVelocity(lp)).toString()
    if(Entity.IsAlive(Entity.GetLocalPlayer())) {
    if (velocity > 255 || Inair()) {
        add_y = add_y + 15
        Render.StringCustom(x - 6, y - 50 - (add_y + 5), 0, "LC", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 6, y - 51 - (add_y + 5), 0, "LC", velocity > 275 ? [132, 195, 16, 255] : [255, 0, 0, 255], fonts)
    }
    if (isFDActive){
        add_y = add_y + 15
        Render.StringCustom(x - 16, y - 50 - (add_y + 5), 0, "DUCK", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 16, y - 51 - (add_y + 5), 0, "DUCK", [255, 255, 255, 255], fonts)
    }
    if (isBAimActive) {
        add_y = add_y + 15
        Render.StringCustom(x - 15, y - 50 - (add_y + 5), 0, "BAIM", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 15, y - 51 - (add_y + 5), 0, "BAIM", [255, 0, 0, 255], fonts)
    }
    if (isSPActive) {
        add_y = add_y + 15
        Render.StringCustom(x - 14, y - 50 - (add_y + 5), 0, "SAFE", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 14, y - 51 - (add_y + 5), 0, "SAFE", [132, 195, 16, 255], fonts)
    }
    if (isDmgActive) {
        add_y = add_y + 15
        Render.StringCustom(x - 14, y - 50 - (add_y + 5), 0, "DMG", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 14, y - 51 - (add_y + 5), 0, "DMG", [132, 195, 16, 255], fonts)
    }
    if (isAuto) {
        add_y = add_y + 15
        Render.StringCustom(x - 46, y - 50 - (add_y + 5), 0, "FREESTANDING", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 46, y - 51 - (add_y + 5), 0, "FREESTANDING", [132, 195, 16, 255], fonts)
    }
    if (UI.GetValue("Anti-Aim", "Rage Anti-Aim", "At targets")) {
        add_y = add_y + 15
        Render.StringCustom(x - 6, y - 50 - (add_y + 5), 0, "AT", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 6, y - 51 - (add_y + 5), 0, "AT", [132, 195, 16, 255], fonts)
    }
    if (isHSActive){
        add_y = add_y + 15
        Render.StringCustom(x - 26, y - 50 - (add_y + 5), 0, "ONSHOT", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 26, y - 51 - (add_y + 5), 0, "ONSHOT", [132, 195, 16, 255], fonts)
    }
    if (isDtActive){
        add_y = add_y + 15
        Render.StringCustom(x - 6, y - 50 - (add_y + 5), 0, "DT", [33, 33, 33, 180], fonts)
        Render.StringCustom(x - 6, y - 51 - (add_y + 5), 0, "DT", Exploit.GetCharge() == 1 ? [255, 255, 255, 255] : [255, 0, 0, 255], fonts)
    }
    }
}
    if(getDropdownValue(indicators_enabled, 4)) {
    add_y = 60
    if(Entity.IsAlive(Entity.GetLocalPlayer())){
    Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "OPPOSITE", [0, 0, 0, 255], 3);
    Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "OPPOSITE", [177, 171, 255, 255], 3);
    if(isAuto) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "FREESTAND", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "FREESTAND", [209, 139, 230, 255], 3);
    } else if(UI.GetValue("Anti-Aim", "Rage Anti-Aim", "At targets")) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "SMART", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "SMART", [209, 139, 230, 255], 3);
    } else {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "DYNAMIC", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "DYNAMIC", [209, 139, 230, 255], 3);
    }
    if(isFDActive && isDtActive) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "DT (fakeduck)", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "DT (fakeduck)", [255, 0, 0, 255], 3);
    } else if(isDtActive) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "DT", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "DT", [255 * (1.0 - Exploit.GetCharge()), 255 * Exploit.GetCharge(), 0, 255], 3);
    }
    if(isHSActive) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "ONSHOT", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "ONSHOT", [152, 240, 16, 255], 3);
    }
    if(isDmgActive) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "DMG", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "DMG", [255, 255, 255, 255], 3);
    }
    if(isBAimActive) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "BAIM", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "BAIM", [124, 215, 13, 255], 3);
    }
    if(isSPActive) {
        add_y = add_y + 9
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y + 1, 0, "SAFE", [0, 0, 0, 255], 3);
        Render.String(screen_size[0] / 2, screen_size[1] / 2 + add_y, 0, "SAFE", [124, 215, 13, 255], 3);
    }
}
}
    if(getDropdownValue(indicators_enabled, 5)) {
    add_y = 35
    if(Entity.IsAlive(Entity.GetLocalPlayer())){
    Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "IDEAL YAW", [0, 0, 0, 255], font1111);
    Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "IDEAL YAW", [220, 135, 49, 255], font1111);
    if(isAuto) {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "FREESTAND", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "FREESTAND", [209, 159, 230, 255], font1111);
    } else {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "DYNAMIC", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "DYNAMIC", [209, 159, 230, 255], font1111);
    }
    if(isDtActive) {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "DT", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "DT", Exploit.GetCharge() == 1 ? [25, 255, 25, 255] : [255, 0, 0, 255], font1111);
    } else {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "DT", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "DT", [255, 0, 0, 255], font1111);
    }
    if(isHSActive) {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "AA", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "AA", [95, 128, 255, 255], font1111);
    }
    if(isDmgActive) {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "DMG", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "DMG", [200, 185, 255, 255], font1111);
    }
    if(isBAimActive) {
        add_y = add_y + 10
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y + 1, 0, "BODY", [0, 0, 0, 255], font1111);
        Render.StringCustom(screen_size[0] / 2 + 2, screen_size[1] / 2 + add_y, 0, "BODY", [9, 228, 155, 255], font1111);
    }
}
}
if(getDropdownValue(indicators_enabled, 6)) {
    add_y = 15;
    if(isBAimActive) {
        draw_shadow(screen_size[0] / 2 - 11, screen_size[1] / 2 + add_y, 0, "body", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 11, screen_size[1] / 2 + add_y, 0, "body", [177, 171, 255, 255], font11111);
    } else if(isSPActive) {
        draw_shadow(screen_size[0] / 2 - 9, screen_size[1] / 2 + add_y, 0, "safe", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 9, screen_size[1] / 2 + add_y, 0, "safe", [177, 171, 255, 255], font11111);
    } else {
        draw_shadow(screen_size[0] / 2 - 17, screen_size[1] / 2 + add_y, 0, "normal", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 17, screen_size[1] / 2 + add_y, 0, "normal", [177, 171, 255, 255], font11111);
    }
    if(isAuto) {
        add_y = add_y + 11
        draw_shadow(screen_size[0] / 2 - 11, screen_size[1] / 2 + add_y, 0, "auto", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 11, screen_size[1] / 2 + add_y, 0, "auto", [209, 159, 230, 255], font11111);
    } else {
        add_y = add_y + 11
        draw_shadow(screen_size[0] / 2 - 20, screen_size[1] / 2 + add_y, 0, "dynamic", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 20, screen_size[1] / 2 + add_y, 0, "dynamic", [209, 159, 230, 255], font11111);
    }
    if(isFDActive && isDtActive) {
        add_y = add_y + 11
        draw_shadow(screen_size[0] / 2 - 24, screen_size[1] / 2 + add_y, 0, "doubletap (fd)", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 24, screen_size[1] / 2 + add_y, 0, "doubletap (fd)", [255, 0, 0, 255], font11111);
    } else if(isDtActive) {
        add_y = add_y + 11
        draw_shadow(screen_size[0] / 2 - 24, screen_size[1] / 2 + add_y, 0, "doubletap", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 24, screen_size[1] / 2 + add_y, 0, "doubletap", Exploit.GetCharge() == 1 ? [255, 255, 255, 255] : [255, 0, 0, 255], font11111);
    }
    if(isHSActive) {
        add_y = add_y + 11
        draw_shadow(screen_size[0] / 2 - 17, screen_size[1] / 2 + add_y, 0, "onshot", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 17, screen_size[1] / 2 + add_y, 0, "onshot", [64, 255, 163, 255], font11111);
    }
    if(isDmgActive) {
        add_y = add_y + 11
        draw_shadow(screen_size[0] / 2 - 11, screen_size[1] / 2 + add_y, 0, "dmg", [0, 0, 0, 200], font11111);
        Render.StringCustom(screen_size[0] / 2 - 11, screen_size[1] / 2 + add_y, 0, "dmg", [200, 185, 255, 255], font11111);
    }
}
}

Cheat.RegisterCallback("Draw", "draw");

function advanced_aa(){
isDtActive = UI.IsHotkeyActive("Rage", "GENERAL", "Exploits", "Doubletap");
isHSActive = UI.IsHotkeyActive("Rage", "GENERAL", "Exploits", "Hide shots");
deuswalk = UI.IsHotkeyActive("Anti-Aim", "Extra", "Slow walk");
clock1 = clock1 + 0.5
if (clock1 > 1)
{
    if (UI.GetValue("Script items", "Advanced Anti-Aim") && !deuswalk && isDtActive || UI.GetValue("Script items", "Advanced Anti-Aim") && isHSActive){
    if (UI.GetValue("Script items", "Advanced Anti-Aim"))
    {
        UI.ToggleHotkey("Anti-Aim", "Fake angles", "Inverter", 0);
        clock1 = 0
    }
    else
    {
        UI.ToggleHotkey("Anti-Aim", "Fake angles", "Inverter", 1);
        clock1 = 0
    }
}
}
}

Cheat.RegisterCallback("CreateMove", "advanced_aa");


var lasttime = 0;
function onRender( )
{
    var tag = UI.GetValue( "Script Items", "Custom ClanTag" );
    var speed = UI.GetValue( "Script Items", "Custom ClanTag Speed" );
    var time = parseInt((Globals.Curtime() * speed))
    if (time != lasttime)
    {
        if(tag == 0) { Local.SetClanTag(""); }
        if(tag == 1)
            {
            switch((time) % 30)
            {
            case 2: { Local.SetClanTag(""); break; }
            case 3: { Local.SetClanTag("u"); break; }
            case 4: { Local.SetClanTag("u\\/\\/ "); break; }
            case 5: { Local.SetClanTag("uwu"); break; }
            case 6: { Local.SetClanTag("uwut"); break; }
            case 7: { Local.SetClanTag("uwut"); break; }
            case 8: { Local.SetClanTag("uwut3"); break; }
            case 9: { Local.SetClanTag("uwute"); break; }
            case 10: { Local.SetClanTag("uwute4"); break; }
            case 11: { Local.SetClanTag("uwutec"); break; }
            case 12: { Local.SetClanTag("uwutec|-|"); break; }
            case 13: { Local.SetClanTag("uwutech"); break; }
            case 14: { Local.SetClanTag("uwutec"); break; }
            case 15: { Local.SetClanTag("uwut3"); break; }
            case 16: { Local.SetClanTag("uwute"); break; }
            case 17: { Local.SetClanTag("uwut"); break; }
            case 18: { Local.SetClanTag("uwu"); break; }
            case 19: { Local.SetClanTag("u\\/\\/"); break; }
            case 20: { Local.SetClanTag(""); break; }
            }
        }
    }
    lasttime = time;
}
Cheat.RegisterCallback("Draw", "onRender");

function aspectratio( ) {
menu_val = UI.GetValue("Aspect Ratio");
string_menu_val = menu_val.toString();

Convar.SetString ("r_aspectratio", string_menu_val );
}

Cheat.RegisterCallback( "FrameStageNotify", "aspectratio" );

function ChangeDist()
{
    Dist = UI.GetValue( "Misc", "JAVASCRIPT", "TP Dist");
    UI.SetValue( "Visuals", "WORLD", "View", "Thirdperson", Dist );
}
Cheat.RegisterCallback("FrameStageNotify", "ChangeDist");

var heavy_cache = UI.GetValue("Rage", "HEAVY PISTOL", "Targeting", "Minimum damage")
var scout_cache = UI.GetValue("Rage", "SCOUT", "Targeting", "Minimum damage")
var awp_cache = UI.GetValue("Rage", "AWP", "Targeting", "Minimum damage")
var auto_cache = UI.GetValue("Rage", "AUTOSNIPER", "Targeting", "Minimum damage")
//mindamage
function isActive(a)
{
    return UI.IsHotkeyActive("Script items", a)
}
function setValue(cat, value)
{
    UI.SetValue("Rage", cat.toUpperCase(), "Targeting", "Minimum damage", value)
}


function isHeavyPistol(name)
{
    if (name == "r8 revolver" || name == "desert eagle")
    {
        return true
    }
}

function isAutoSniper(name)
{
    if(name == "scar 20" || weapon_name == "g3sg1")
    {
        return true
    }
}
if (Entity.IsValid(lp) && Entity.IsAlive(lp)){
function onCM()
{
        dmg_value = UI.GetValue("Script items", "Damage override")
        weapon_name =  Entity.GetName(Entity.GetWeapon(lp))

   
        if (isActive("Damage override key") && isHeavyPistol(weapon_name))
        {
            setValue("HEAVY PISTOL", dmg_value)
        }
        else{
            setValue("HEAVY PISTOL", heavy_cache)
        }

        if (isActive("Damage override key") && weapon_name == "ssg 08")
        {
            setValue("SCOUT", dmg_value)
        }
        else{
            setValue("SCOUT", scout_cache)
        }

        if (isActive("Damage override key") && weapon_name == "awp")
        {
            setValue("AWP", dmg_value)
        }  
        else{
            setValue("AWP", awp_cache)
        }

        if (isActive("Damage override key") && isAutoSniper(weapon_name))
        {
     
            setValue("AUTOSNIPER", dmg_value)
        }
        else
        {
            setValue("AUTOSNIPER", auto_cache)
        }
    }
}
Cheat.RegisterCallback("CreateMove", "onCM")

const x1 = UI.AddSliderInt("Hotkeys x", 0, Global.GetScreenSize()[0]);
const y1 = UI.AddSliderInt("Hotkeys y", 0, Global.GetScreenSize()[1]);
const window_x = UI.AddSliderInt("Spec x", 0, Global.GetScreenSize()[0])
const window_y = UI.AddSliderInt("Spec y", 0, Global.GetScreenSize()[1])
var colorhotkeys = UI.GetColor("Script items", "Hotkeys");
var colorspec = UI.GetColor("Script items", "Spec");
if (colorhotkeys[3] == 0) {
    UI.SetColor("Script items", "Hotkeys", [96, 255, 193, 3]);
}
if (colorspec[3] == 0) {
    UI.SetColor("Script items", "Spec", [96, 255, 193, 3]);
}
var alpha = 0;
var salpha = 0;
var maxwidth = 0;
var swalpha = 0;
var fdalpha = 0;
var apalpha = 0;
var aialpha = 0;
var spalpha = 0;
var fbalpha = 0;
var dtalpha = 0;
var hsalpha = 0;
var doalpha = 0;
var username = Cheat.GetUsername();
var textalpha = 0;
var h = new Array();

function in_bounds(vec, x, y, x2, y2) {
    return (vec[0] > x) && (vec[1] > y) && (vec[0] < x2) && (vec[1] < y2)
}

function HSVtoRGB(h, s, v) {
    var r, g, b, i, f, p, q, t;
    if (arguments.length === 1) {
        s = h.s, v = h.v, h = h.h;
    }
    i = Math.floor(h * 6);
    f = h * 6 - i;
    p = v * (1 - s);
    q = v * (1 - f * s);
    t = v * (1 - (1 - f) * s);
    switch (i % 6) {
        case 0: r = v, g = t, b = p; break;
        case 1: r = q, g = v, b = p; break;
        case 2: r = p, g = v, b = t; break;
        case 3: r = p, g = q, b = v; break;
        case 4: r = t, g = p, b = v; break;
        case 5: r = v, g = p, b = q; break;
    }
    return {
        r: Math.round(r * 255),
        g: Math.round(g * 255),
        b: Math.round(b * 255)
    };
}

function get_spectators()
{
    var specs = [];
    const players = Entity.GetPlayers();

    for (i = 0; i < players.length; i++)
    {
        const cur = players[i];

        if (Entity.GetProp(cur, "CBasePlayer", "m_hObserverTarget") != "m_hObserverTarget") {
            const obs = Entity.GetProp(cur, "CBasePlayer", "m_hObserverTarget")

            if (obs === Entity.GetLocalPlayer())
            {
                const name = Entity.GetName(cur);
                specs.push(name);
            }
        }
    }

    return specs;
}

function main_spec() {
    if (UI.GetValue("Script items", "On Spec")) {
        if (!World.GetServerString()) return;
        const x = UI.GetValue("Script items", "Spec x"),
            y = UI.GetValue("Script items", "Spec y");
        const text = get_spectators();
        colorspec = UI.GetColor("Script items", "Spec");
        var font = Render.AddFont("Verdana", 8, 1);
        var frames = 8 * Globals.Frametime();
        var width2 = 84;
        var maxwidth2 = 0;
        var Gradient = UI.GetValue("Script items", "Spec Gradient");
        var rgb = HSVtoRGB(Global.Tickcount() % 350 / 350,1,1);
   
        if (text.length > 0) {
            salpha = Math.min(salpha + frames, 1);
        } else {
            salpha = salpha - frames;
            if (salpha < 0) salpha = 0;
        }
   
        for (i = 0; i < text.length; i++) {
            if (Render.TextSizeCustom(text[i], font)[0] > maxwidth2) {
                maxwidth2 = Render.TextSizeCustom(text[i], font)[0];
            }
        }
        if (maxwidth2 == 0) maxwidth2 = 50;
        width2 = width2 + maxwidth2;
   
        if(Gradient){
            Render.GradientRect(x, y + 3, width2 , 2, 1 , [rgb.r,rgb.g,rgb.b,salpha * 255] , [rgb.g,rgb.b,rgb.r,salpha * 255]);
        }else{
            Render.FilledRect(x, y + 3, width2 , 2, [colorspec[0], colorspec[1], colorspec[2], salpha * 255]);
        }
            Render.FilledRect(x, y + 5, width2, 18, [17, 17, 17, salpha * 255]);
            Render.StringCustom(x + width2 / 2 - (Render.TextSizeCustom("spectators", font)[0] / 2) + 2, y + 9, 0, "spectators", [0, 0, 0, salpha * 255 / 1.3], font);
            Render.StringCustom(x + width2 / 2 - (Render.TextSizeCustom("spectators", font)[0] / 2) + 1, y + 8, 0, "spectators", [255, 255, 255, salpha * 255], font);
        for (i = 0; i < text.length; i++)
        {
        Render.FilledRect(x + 92 + width2  - (Render.TextSizeCustom(toString(text), font)[0] ), y + 24 + 15 * i, 12,12, [20, 20, 20, 255]);
        Render.StringCustom(x + 98 + width2  - (Render.TextSizeCustom(toString(text), font)[0] ), y + 23 + 15 * i, 1, "?", [255, 255, 255, 255 / 1.3], font);
        Render.StringCustom(x + 2 +(Render.TextSizeCustom((text[i]), font)[0] /2 ) , y + 24 + 15 * i, 1, text[i], [0, 0, 0, 255 / 1.3], font);
        Render.StringCustom(x + 2 +(Render.TextSizeCustom((text[i]), font)[0] /2 ), y + 24 + 15 * i, 1, text[i], [255, 255, 255, 255], font);
        }

           
   
        if (Global.IsKeyPressed(1) && UI.IsMenuOpen()) {
            const mouse_pos = Global.GetCursorPosition();
            if (in_bounds(mouse_pos, x, y, x + width2, y + 30)) {
                UI.SetValue("Script items", "Spec x", mouse_pos[0] - width2 / 2);
                UI.SetValue("Script items", "Spec y", mouse_pos[1] - 20);
            }
        }
}
}

function main_hotkeys() {
    if (UI.GetValue("Script items", "On Hotkeys")) {
        if (!World.GetServerString()) return;
        const x = UI.GetValue("Script items", "Hotkeys x"),
            y = UI.GetValue("Script items", "Hotkeys y");
        colorhotkeys = UI.GetColor("Script items", "Hotkeys");
        var font = Render.AddFont("Verdana", 7, 100);
        var frames = 8 * Globals.Frametime();
        var width = 75;
        var maxwidth = 0;
        var Gradient = UI.GetValue("Script items", "Hotkeys Gradient");
        var rgb = HSVtoRGB(Global.Tickcount() % 350 / 350,1,1);
        if (UI.IsHotkeyActive("Anti-Aim", "Extra", "Slow walk")) {
            swalpha = Math.min(swalpha + frames, 1);
        } else {
            swalpha = swalpha - frames;
            if (swalpha < 0) swalpha = 0;
            if (swalpha == 0) {
                h.splice(h.indexOf("Slow walk"));
            }
        }

        if (UI.IsHotkeyActive("Anti-Aim", "Extra", "Fake duck")) {
            fdalpha = Math.min(fdalpha + frames, 1);
        } else {
            fdalpha = fdalpha - frames;
            if (fdalpha < 0) fdalpha = 0;
            if (fdalpha == 0) {
                h.splice(h.indexOf("Duck peek assist"));
            }
        }

        if (UI.IsHotkeyActive("Misc", "GENERAL", "Movement", "Auto peek")) {
            apalpha = Math.min(apalpha + frames, 1);
        } else {
            apalpha = apalpha - frames;
            if (apalpha < 0) apalpha = 0;
            if (apalpha == 0) {
                h.splice(h.indexOf("Auto peek"));
            }
        }

        if (UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter")) {
            aialpha = Math.min(aialpha + frames, 1);
        } else {
            aialpha = aialpha - frames;
            if (aialpha < 0) aialpha = 0;
            if (aialpha == 0) {
                h.splice(h.indexOf("Anti-aim inverter"));
            }
        }

        if (UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force safe point")) {
            spalpha = Math.min(spalpha + frames, 1);
        } else {
            spalpha = spalpha - frames;
            if (spalpha < 0) spalpha = 0;
            if (spalpha == 0) {
                h.splice(h.indexOf("Safe point override"));
            }
        }

        if (UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force body aim")) {
            fbalpha = Math.min(fbalpha + frames, 1);
        } else {
            fbalpha = fbalpha - frames;
            if (fbalpha < 0) fbalpha = 0;
            if (fbalpha == 0) {
                h.splice(h.indexOf("Body aim"));
            }
        }

        if (UI.IsHotkeyActive("Rage", "Exploits", "Doubletap")) {
            dtalpha = Math.min(dtalpha + frames, 1);
        } else {
            dtalpha = dtalpha - frames;
            if (dtalpha < 0) dtalpha = 0;
            if (dtalpha == 0) {
                h.splice(h.indexOf("Double tap"));
            }
        }

        if (UI.IsHotkeyActive("Rage", "Exploits", "Hide shots")) {
            hsalpha = Math.min(hsalpha + frames, 1);
        } else {
            hsalpha = hsalpha - frames;
            if (hsalpha < 0) hsalpha = 0;
            if (hsalpha == 0) {
                h.splice(h.indexOf("On shot anti-aim"));
            }
        }
        if (UI.IsHotkeyActive("Script items", "Damage override key")) {
            doalpha = Math.min(doalpha + frames, 1);
        } else {
           doalpha = doalpha - frames;
            if (doalpha < 0) doalpha = 0;
            if (doalpha == 0) {
                h.splice(h.indexOf("Damage override key"));
            }
        }

        if (UI.IsHotkeyActive("Anti-Aim", "Extra", "Slow walk")) {
            if (h.indexOf("Slow walk") == -1)
                h.push("Slow walk")
        }

        if (UI.IsHotkeyActive("Anti-Aim", "Extra", "Fake duck")) {
            if (h.indexOf("Duck peek assist") == -1)
                h.push("Duck peek assist")
        }
        if (UI.IsHotkeyActive("Misc", "GENERAL", "Movement", "Auto peek")) {
            if (h.indexOf("Auto peek") == -1)
                h.push("Auto peek")
        }
        if (UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter")) {
            if (h.indexOf("Anti-aim inverter") == -1)
                h.push("Anti-aim inverter")
        }
        if (UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force safe point")) {
            if (h.indexOf("Safe point override") == -1)
                h.push("Safe point override")
        }
        if (UI.IsHotkeyActive("Rage", "GENERAL", "General", "Force body aim")) {
            if (h.indexOf("Body aim") == -1)
                h.push("Body aim")
        }
        if (UI.IsHotkeyActive("Rage", "Exploits", "Doubletap")) {
            if (h.indexOf("Double tap") == -1)
                h.push("Double tap")
        }
        if (UI.IsHotkeyActive("Rage", "Exploits", "Hide shots")) {
            if (h.indexOf("On shot anti-aim") == -1)
                h.push("On shot anti-aim")
        }
        if (UI.IsHotkeyActive("Script items", "Damage override key")) {
            if (h.indexOf("Damage override") == -1)
                h.push("Damage override")
        }
   

        if (h.length > 0) {
            alpha = Math.min(alpha + frames, 1);
        } else {
            alpha = alpha - frames;
            if (alpha < 0) alpha = 0;
        }
        for (i = 0; i < h.length; i++) {
            if (Render.TextSizeCustom(h[i], font)[0] > maxwidth) {
                maxwidth = Render.TextSizeCustom(h[i], font)[0];
            }
        }
        if (maxwidth == 0) maxwidth = 50;
        width = width + maxwidth;
        if (alpha > 0) {
            if(Gradient){
                Render.GradientRect(x, y + 3, width, 2, 1 , [rgb.r,rgb.g,rgb.b,alpha * 255] , [rgb.g,rgb.b,rgb.r,alpha * 255]);
            }else{
                Render.FilledRect(x, y + 3, width, 2, [colorhotkeys[0], colorhotkeys[1], colorhotkeys[2], alpha * 255]);
            }
                Render.FilledRect(x, y + 5, width, 18, [17, 17, 17, alpha * 255]);
                Render.StringCustom(x + width / 2 - (Render.TextSizeCustom("keybinds", font)[0] / 2) + 2, y + 9, 0, "keybinds", [0, 0, 0, alpha * 255 / 1.3], font);
                Render.StringCustom(x + width / 2 - (Render.TextSizeCustom("keybinds", font)[0] / 2) + 1, y + 8, 0, "keybinds", [255, 255, 255, alpha * 255], font);
                for (i = 0; i < h.length; i++) {
                    switch (h[i]) {
                        case 'Slow walk':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(swalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, swalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, swalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("[holding]", font)[0], y + 26 + 18 * i, 0, "[holding]", [0, 0, 0, swalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("[holding]", font)[0], y + 26 + 18 * i, 0, "[holding]", [255, 255, 255, swalpha * 255], font);
                            break;
                        case 'Duck peek assist':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(fdalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, fdalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, fdalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [0, 0, 0, fdalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [255, 255, 255, fdalpha * 255], font);
                            break;
                        case 'Auto peek':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(apalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, apalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, apalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [0, 0, 0, apalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [255, 255, 255, apalpha * 255], font);
                            break;
                        case 'Anti-aim inverter':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(aialpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, aialpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, aialpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [0, 0, 0, aialpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [255, 255, 255, aialpha * 255], font);
                            break;
                        case 'Safe point override':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(spalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, spalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, spalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [0, 0, 0, spalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [255, 255, 255, spalpha * 255], font);
                            break;
                        case 'Body aim':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(fbalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, fbalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, fbalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("force", font)[0], y + 26 + 18 * i, 0, "force", [0, 0, 0, fbalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("force", font)[0], y + 26 + 18 * i, 0, "force", [255, 255, 255, fbalpha * 255], font);
                            break;
                        case 'Double tap':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(dtalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, dtalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, dtalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [0, 0, 0, dtalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [255, 255, 255, dtalpha * 255], font);
                            break;
                        case 'On shot anti-aim':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(hsalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, hsalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, hsalpha * 255], font);

                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [0, 0, 0, hsalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom("on", font)[0], y + 26 + 18 * i, 0, "on", [255, 255, 255, hsalpha * 255], font);
                            break;
                        case 'Damage override':
                            Render.FilledRect(x, y + 23 + 18 * i, width, 18, [17, 17, 17, Math.min(colorhotkeys[3], Math.min(doalpha * 0, colorhotkeys[3]))]);
                            Render.StringCustom(x + 3, y + 26 + 18 * i, 0, h[i], [0, 0, 0, doalpha * 255 / 1.3], font);
                            Render.StringCustom(x + 2, y + 26 + 18 * i, 0, h[i], [255, 255, 255, doalpha * 255], font);

                            var nl = UI.GetValue("Script items", "Damage override")
                            Render.StringCustom(x - 3 + width - Render.TextSizeCustom(""+ nl, font)[0], y + 26 + 18 * i, 0, ""+ nl, [0, 0, 0, doalpha * 255 / 1.3], font);
                            Render.StringCustom(x - 2 + width - Render.TextSizeCustom(""+ nl, font)[0], y + 26 + 18 * i, 0, ""+ nl, [255, 255, 255, doalpha * 255], font);
                            break;
                    }

                }
        }
        if (Global.IsKeyPressed(0x01) && UI.IsMenuOpen()) {
            const mouse_pos = Global.GetCursorPosition();
            if (in_bounds(mouse_pos, x, y, x + width, y + 30)) {
                UI.SetValue("Script items", "Hotkeys x", mouse_pos[0] - width / 2);
                UI.SetValue("Script items", "Hotkeys y", mouse_pos[1] - 20);
            }
        }
}
}
Global.RegisterCallback("Draw", "main_spec")
Global.RegisterCallback("Draw", "main_hotkeys")

function desync_circle(){
if(UI.GetValue("Script items", "Desync Circle")) {
    var adjust_angle = function(angle) {
        if(angle < 0) {
            angle = (90 + angle * (-1))
        } else if(angle > 0) {
            angle = (90 - angle)
        }
        return angle
    }
    var dsy = {
        "col": UI.GetColor("Script items", "Desync Circle color"),
        "inv": UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter")
    }
    if(Entity.IsAlive(Entity.GetLocalPlayer())) {
        var screens_size = Render.GetScreenSize();
        var screen_middle_x = screens_size[0] * 0.5;
        var screen_middle_y = screens_size[1] * 0.5;
        var view_angles = Local.GetViewAngles();
        var real_yaw = Local.GetRealYaw();
        var view_yaw = view_angles[1] - 180;
        var fake = adjust_angle(real_yaw - view_yaw);
        Render.Arc(screen_middle_x, screen_middle_y, 8, 3, 0, 360, 32, [0, 0, 0, 255])
        Render.Arc(screen_middle_x, screen_middle_y, 7, 4, dsy.inv ? 90 : 270, dsy.inv ? 180 : 180, 32, dsy.col)
        Render.Arc(screen_middle_x, screen_middle_y, 15, 12, fake - (12 * 0.5), 44, 32, dsy.col)
    }
}
}

Cheat.RegisterCallback("Draw", "desync_circle");

var original_aa = true;

function legit_aa()
{
    if (UI.IsHotkeyActive("Misc", "JAVASCRIPT", "Script items", "Legit AA Key"))
    {
        if (original_aa)
        {
            restrictions_cache = UI.GetValue("Misc", "PERFORMANCE & INFORMATION", "Information", "Restrictions");
            hiderealangle_cache = UI.GetValue ("Anti-Aim", "Fake angles", "Hide real angle");
            yaw_offset_cache = UI.GetValue ("Anti-Aim", "Rage Anti-Aim", "Yaw offset");
            jitter_offset_cache = UI.GetValue ("Anti-Aim", "Rage Anti-Aim", "Jitter offset");
            pitch_cache = UI.GetValue ("Anti-Aim", "Extra", "Pitch");
            original_aa = false;
        }
        UI.SetValue ("Misc", "PERFORMANCE & INFORMATION", "Information", "Restrictions", 0);
        UI.SetValue ("Anti-Aim", "Fake angles", "Hide real angle", true);
        UI.SetValue ("Anti-Aim", "Rage Anti-Aim", "Yaw offset", 180);
        UI.SetValue ("Anti-Aim", "Rage Anti-Aim", "Jitter offset", 0);
        UI.SetValue ("Anti-Aim", "Extra", "Pitch", 0);
    }
    else
    {
        if (!original_aa)
        {
            UI.SetValue ("Misc", "PERFORMANCE & INFORMATION", "Information", "Restrictions", restrictions_cache);
            UI.SetValue ("Anti-Aim", "Fake angles", "Hide real angle", hiderealangle_cache);
            UI.SetValue ("Anti-Aim", "Rage Anti-Aim", "Yaw offset", yaw_offset_cache);
            UI.SetValue ("Anti-Aim", "Rage Anti-Aim", "Jitter offset", jitter_offset_cache);
            UI.SetValue ("Anti-Aim", "Extra", "Pitch", pitch_cache);
            original_aa = true;
        }
    }
}

Cheat.RegisterCallback("CreateMove", "legit_aa");

function attargets() {
  if(UI.GetValue("Script items", "Attargets in jump") == true) {
    if(Entity.GetProp(Entity.GetLocalPlayer(), "CBasePlayer", "m_hGroundEntity")) {
      UI.SetValue("Anti-Aim", "Rage Anti-Aim", "Yaw offset", 0)
      UI.SetValue("Anti-Aim", "Rage Anti-Aim", "At targets", true)
    } else {
      UI.SetValue("Anti-Aim", "Rage Anti-Aim", "At targets", false)
    }
  }
}

Cheat.RegisterCallback("CreateMove", "attargets")

var positions = [];
var trace = [];
var render = [];
var local = Entity.GetLocalPlayer();
function ImportGrenades()
{
    var grenades = Entity.GetEntitiesByClassID(9).concat(Entity.GetEntitiesByClassID(113).concat(Entity.GetEntitiesByClassID(100)));
    for (e in grenades)
    {
        pass = false;
        for (g in positions)
        {
            if (positions[g][0] == grenades[e])
            {
                pass = true;
                continue;
            }
        }
        if (pass)
            continue;

        positions.push([grenades[e], Globals.Curtime(), [Entity.GetRenderOrigin(grenades[e])], Globals.Curtime()]);
    }
}
function GrenadeWarning()
{
    var grenades = Entity.GetEntitiesByClassID(9).concat(Entity.GetEntitiesByClassID(114).concat(Entity.GetEntitiesByClassID(100)));

    if (!Entity.IsAlive(local)) { return; }

    for (g in grenades) {
        for (var i = 0; i < grenades.length; i++) {

            var g = grenades[i];
            var isInferno = Entity.GetClassID(g) === 100;
            var isHeGrenade = Entity.GetClassID(g) === 9;
            function DistanceInFeets (origin, destination) {
                var sub = [destination[0] - origin[0], destination[1] - origin[1], destination[2] - origin[2]];
                return Math.round(Math.sqrt(sub[0] ** 2 + sub[1] ** 2 + sub[2] ** 2) / 12);
            }
            var destination = Entity.GetRenderOrigin(g);
            var origin = Entity.GetEyePosition(local);
            var distance = DistanceInFeets(origin, destination);
            var screen = Render.WorldToScreen(destination);
            var isSafe = distance > (isInferno ? 15 : 20) || trace[1] < 0.61;
            var color = UI.GetColor("Script items", "Color of warning")
            if (distance > 256) { continue; }
            if (isHeGrenade && Entity.GetProp (g, "CBaseCSGrenadeProjectile", "m_nExplodeEffectTickBegin")) { continue; }
            font = Render.AddFont("Small fonts", 7, 100);
            const warning_stroke = false;
            //Render.FilledCircle( screen[0], screen[1] + 39, 25, [ 153, 153, 244, 30 ])
            Render.FilledCircle( screen[0], screen[1] + 36, 15, [ 255, 255, 255, 0 ]) //90
            Render.Circle(screen[0], screen[1] + 36, 15, !isSafe && warning_stroke ? [ 240, 41, 41, 255 ] : [ color[0], color[1], color[2], 0 ]) // 255
            //Render.StringCustom (screen[0] - 10, screen[1] + 48, 0, Math.round(distance / 3.28) + " m", [ 0, 0, 0, 255 ], font);
            //Render.StringCustom (screen[0] - 9, screen[1] + 49, 0, Math.round(distance / 3.28) + " m", [ color[0], color[1], color[2], 255 ], font);
            Render.String(screen[0] - 8, screen[1] + 27, 0, isHeGrenade ? "I" : "K", [ color[0], color[1], color[2], 255 ], 5); //5
        }
    }
}

const clr = [
  text = [ 240, 240, 240, 255 ],
  main = [ 38, 38, 38, 160 ],
  back = [ 32, 32, 32, 255 ],
  high = [ 48, 48, 48, 255 ],
  red  = [ 240, 41, 41, 255 ],
]

var positions = [];
var trace = [];
var render = [];
var local = Entity.GetLocalPlayer();

function Clamp(v, min, max)
{
  return Math.max(Math.min(v, max), min);
}

/* ------------------------------------------------------ */

function enQImp()
{
  var grenades = Entity.GetEntitiesByClassID(9).concat(Entity.GetEntitiesByClassID(114).concat(Entity.GetEntitiesByClassID(100)));
  for (e in grenades)
  {
      pass = false;
      for (g in positions)
      {
          if (positions[g][0] == grenades[e])
          {
              pass = true;
              continue;
          }
      }
      if (pass)
          continue;

      positions.push([grenades[e], Globals.Curtime(), [Entity.GetRenderOrigin(grenades[e])], Globals.Curtime()]);
  }
}

/* ------------------------------------------------------ */
function enQWarn()
{
  var grenades = Entity.GetEntitiesByClassID(9).concat(Entity.GetEntitiesByClassID(114).concat(Entity.GetEntitiesByClassID(100)));

  if (!Entity.IsAlive(local)) { return; }

  for (g in grenades) {
      for (var i = 0; i < grenades.length; i++) {

          var g = grenades[i];
          var isInferno = Entity.GetClassID(g) === 100;
          var isHeGrenade = Entity.GetClassID(g) === 9;

          /* --------------- */

          function DistanceInFeets (origin, destination) {
              var sub = [destination[0] - origin[0], destination[1] - origin[1], destination[2] - origin[2]];
              return Math.round(Math.sqrt(sub[0] ** 2 + sub[1] ** 2 + sub[2] ** 2) / 12);
              //return Math.round(sub[0] + sub[1] + sub[2]); // Для измерения в юнитах
          }

          /* --------------- */

          var destination = Entity.GetRenderOrigin(g);
          var origin = Entity.GetEyePosition(local);
          var distance = DistanceInFeets(origin, destination);
          var screen = Render.WorldToScreen(destination);
          var isSafe = distance > (isInferno ? 15 : 20) || trace[1] < 0.61;

          /* --------------- */

          if (distance > 256) { continue; }

          if (isHeGrenade && Entity.GetProp (g, "CBaseCSGrenadeProjectile", "m_nExplodeEffectTickBegin")) { continue; }

          /* --------------- */

          Render.FilledRect (screen[0] + 16, screen[1] - 12, 48, 24, clr[1]);

          Render.Polygon ([ [ screen[0] + 8,  screen[1] - 1 ], [ screen[0] + 16, screen[1] - 8 ], [ screen[0] + 16, screen[1] + 8 ] ], clr[1]);

          Render.String (screen[0] + 36, screen[1] - 5, 0, Math.round(distance / 3.28) + " m", clr[0], 3);
          Render.String (screen[0] + 20, screen[1] - 6, 0, isHeGrenade ? "I" : "K", isSafe ? clr[0] : clr[4], 6);

          /* --------------- */

          const warning_stroke = false; // true для красной обводки при опасности

          Render.Line ( screen[0] + 8, screen[1], screen[0] + 16, screen[1] - 8, !isSafe && warning_stroke ? clr[4] : clr[3])
          Render.Line ( screen[0] + 8, screen[1], screen[0] + 16, screen[1] + 8, !isSafe && warning_stroke ? clr[4] : clr[3])

          Render.Line ( screen[0] + 16, screen[1] - 12, screen[0] + 16, screen[1] - 7, !isSafe && warning_stroke ? clr[4] : clr[3])
          Render.Line ( screen[0] + 16, screen[1] + 12, screen[0] + 16, screen[1] + 8, !isSafe && warning_stroke ? clr[4] : clr[3])

          Render.Line ( screen[0] + 16, screen[1] - 12, screen[0] + 64, screen[1] - 12, !isSafe && warning_stroke ? clr[4] : clr[3])
          Render.Line ( screen[0] + 16, screen[1] + 12, screen[0] + 64, screen[1] + 12, !isSafe && warning_stroke ? clr[4] : clr[3])
          Render.Line ( screen[0] + 64, screen[1] + 12, screen[0] + 64, screen[1] - 12, !isSafe && warning_stroke ? clr[4] : clr[3])

          /* --------------- */

          if (isInferno)
          {
              var time = Entity.GetProp(g, "CInferno", "m_nFireEffectTickBegin") * Globals.TickInterval();
              var factor = Clamp(((time + 7) - Globals.Curtime()) / 7, 0, 7);

              Render.FilledRect(screen[0] + 16, screen[1] + 10, 48, 2, clr[2]);
              Render.FilledRect(screen[0] + 16, screen[1] + 10, Math.trunc(factor * 48), 2, clr[4]);
          }
      }
  }
}

function drawnade() {
if(UI.GetValue("Script items", "Grenade warning") == true) {
  if(UI.GetValue("Script items", "Warning style") == 0) {
    ImportGrenades();
    GrenadeWarning();
  }
  if(UI.GetValue("Script items", "Warning style") == 1) {
    enQImp();
    enQWarn();
  }
}
}

Global.RegisterCallback("Draw", "drawnade")

var screen = Render.GetScreenSize();
const res = [1080, 1024, 960, 900, 864, 768, 720];
var worder = [2, 1, 3, 4, 5, 6, 7, 8, 9];

function Weaponlist()
{
    if (UI.GetValue("Scrpit items", "Weapon list")) {
    if(Input.IsKeyPressed(0x09) != true){return}    //Draws only when the Key "Tab" is being help down
   
    xPos = UI.GetValue("Script items", "Panorama X-Pos");
    color = UI.GetColor("Script items", "Weapon Color");

    players = Entity.GetEnemies();
   
    var score = [];
    var sorted = [];
    var sorted_score = [];
    var startweapons = [];
   
    for(i=0; i<players.length; i++)          //Stored the score Value in the same order as player
    {
        score[i] = Entity.GetProp(players[i], "CCSPlayerResource", "m_iScore");
    }
   
    for(x=0;x<score.length;x++)                   //Sorts the Score Values from highest to lowest by index
    {
        sorted[x] = score.indexOf(Math.max.apply(null, score));
        sorted_score[x] = Math.max.apply(null, score);
        score[sorted[x]] = null;
    }
   
    finished = deathcheck(sorted, sorted_score);  //Sorts the playerlist by the death system
   
    for(x=0;x<players.length;x++)
    {
        pos = sorted[x];
       
        weapons_array = Entity.GetWeapons(players[pos]);
       
        if(UI.GetValue("Script items", "Remove active weapon"))
        {
            cur_weap = Entity.GetWeapon(players[pos]);                  //Remove active weapon from the tab list
            activ_weap = weapons_array.indexOf(cur_weap);
            weapons_array.splice(activ_weap,1);
        }
       
        weapons_string = "";
       
        for(i=1;i<weapons_array.length;i++)           //Converts the array into a string of Letters to be able to draw it with Size 6
        {
            weapon_name = Entity.GetName(weapons_array[i]);
            weapons_string += converter(weapon_name);
        }

            additional = Render.TextSize(weapons_string, 6);
            Render.String((screen[0]/2) + xPos - additional[0], y_position(x), 0, weapons_string, color, 6);
       
    }
}
}

function deathcheck(ar, ar_score)          //Switches the places of players, if the top one is dead and the bottom one alive while both have the same points
{
    players = Entity.GetEnemies();
   
    for(i=0;i<ar.length;i++)
    {
        if(ar_score[i+1] != null)
        {
            if(Entity.IsAlive(players[ar[i]]) == false && Entity.IsAlive(players[ar[i+1]]) == true && (ar_score[i] == ar_score[i+1]))   //Compates the current players point with the one below them if the current one is dead
            {
                ar = swap(ar, i, i+1);
            }
        }
    }
   
    return ar;
}

function swap(arr, one, two)     //Swaps positions of 2 values of an array
{
  var temp = arr[one];
  arr[one] = arr[two];
  arr[two] = temp;
  return arr;
}

function y_position(index)             //Gives back the according Y-Pos depending on the team, amount of enemies, amount of teammates and resolution of the screen
{
   
    screen = Render.GetScreenSize();
   
    switch(screen[1])
    {
        case 1080:
            pos = 390;
            t = 5;
            ct = 3;
            factor = 26;
            diff = 228;
            break
        case 1024:
            pos = 370;
            t = 6;
            ct = 4;
            factor = 25;
            diff = 215;
            break
        case 960:
            pos = 343;
            t = 4;
            ct = 1;
            factor = 23;
            diff = 206;
            break
        case 900:
            pos = 322;
            t = 5;
            ct = 2;
            factor = 22;
            diff = 194;
            break
        case 864:
            pos = 309;
            t = 4;
            ct = 1;
            factor = 21;
            diff = 186;
            break
        case 768:
            pos = 275;
            t = 6;
            ct = 1;
            factor = 19;
            diff = 165;
            break
        case 720:
            pos = 260;
            t = 5;
            ct = 5;
            factor = 18;
            diff = 149;
            break
        case 1050:
            pos = 377;
            t = 4;
            ct = 1;
            factor = 25;
            diff = 225;
            break
        case 800:
            pos = 289;
            t = 5;
            ct = 4;
            factor = 20;
            diff = 167;
            break
        default:
            return;
    }  
   
    local = Entity.GetLocalPlayer();
    team = Entity.GetProp(local, "CCSPlayerResource", "m_iTeam");
   
    result = 0;
   
    if(team == 3)                //Adds additional pixels if the localplayer is on ct
    {
        result = pos + diff + (index*factor);
    }
    else
    {
        result = pos + (index*factor);
    }
   
    teammates = Entity.GetTeammates();
    enemies = Entity.GetEnemies();
   
    if(enemies.length == 5)
    {
        if(team == 3)
        {
            result -= t;
        }
        else
        {
            result -= ct;
        }
    }
   
    if(teammates.length == 5)
    {
        if(team == 3)
        {
            result += ct;
        }
        else
        {
            result -= t;
        }
    }
   
    return result;
}



function converter(input) {   //Converts the weapon name to the font icon
    var letter = "";
    switch (input) {
        case "desert eagle":
            letter = "a"
            break
        case "dual berettas":
            letter = "b"
            break
        case "five seven":
            letter = "c"
            break
        case "glock 18":
            letter = "d"
            break
        case "ak 47":
            letter = "e"
            break
        case "aug":
            letter = "f"
            break
        case "awp":
            letter = "g"
            break
        case "famas":
            letter = "h"
            break
        case "m249":
            letter = "i"
            break
        case "g3sg1":
            letter = "j"
            break
        case "galil ar":
            letter = "k"
            break
        case "m4a4":
            letter = "l"
            break
        case "m4a1 s":
            letter = "m"
            break
        case "mac 10":
            letter = "n"
            break
        case "p2000":
            letter = "o"
            break
        case "mp5 sd":
            letter = "p"
            break
        case "ump 45":
            letter = "q"
            break
        case "xm1014":
            letter = "r"
            break
        case "pp bizon":
            letter = "s"
            break
        case "mag 7":
            letter = "t"
            break
        case "negev":
            letter = "u"
            break
        case "sawed off":
            letter = "v"
            break
        case "tec 9":
            letter = "w"
            break
        case "zeus x27":
            letter = "x"
            break
        case "p250":
            letter = "y"
            break
        case "mp7":
            letter = "z"
            break
        case "mp9":
            letter = "A"
            break
        case "nova":
            letter = "B"
            break
        case "p90":
            letter = "C"
            break
        case "scar 20":
            letter = "D"
            break
        case "sg 553":
            letter = "E"
            break
        case "ssg 08":
            letter = "F"
            break
        case "knife":
            letter = "G"
            break
        case "flashbang":
            letter = "H"      
            break
        case "high explosive grenade":
            letter = "I"  
            break
        case "smoke grenade":
            letter = "J"
            break
        case "molotov":  
            letter = "K"
            break
        case "decoy grenade":
            letter = "L"
            break
        case "incendiary grenade":
            letter = "M"
            break
        case "c4 explosive":
            letter = "N"
            break
        case "usp s":
            letter = "P"
            break
        case "cz75 auto":
            letter = "Q"
            break
        case "r8 revolver":
            letter = "R"
            break
        case "armor":
            letter = "S"
            break
        case "helmet":
            letter = "T"
            break
        default:
            letter = ""
            break
    }
    return letter
}

Cheat.RegisterCallback("Draw", "Weaponlist");
удачи использовать эту пасту, где блять дохуя говнокода, из моего блудтеча, из арикорда и неумелой пасты
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
hahahaha sliv na siv?
 
прикол хош это не мой скрипт а друга :3
и кста он не ласт там уже 6 апдейтов вышло, пока он выпустил 1 :<
оправдывайся
изображение_2021-06-21_160255.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
две пасты слили нужно идти плакать
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Почему то сейчас ооооочень сильное дежавю, вот прям максимально сильное...
 
хахахха че за мусорный код
 
Назад
Сверху Снизу