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

life is cheap, death is free!
Эксперт
Статус
Оффлайн
Регистрация
9 Дек 2019
Сообщения
1,602
Реакции[?]
513
Поинты[?]
2K
Фулл сурсы пасты фуника, которыми он и получил манитеч, лол
JavaScript:
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");
удачи использовать эту пасту, где блять дохуя говнокода, из моего блудтеча, из арикорда и неумелой пасты
 
Последнее редактирование:
горошек
Начинающий
Статус
Оффлайн
Регистрация
23 Фев 2021
Сообщения
173
Реакции[?]
26
Поинты[?]
4K
Забаненный
Статус
Оффлайн
Регистрация
16 Ноя 2020
Сообщения
287
Реакции[?]
36
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
hahahaha sliv na siv?
 
Посрал
Участник
Статус
Оффлайн
Регистрация
28 Ноя 2020
Сообщения
525
Реакции[?]
153
Поинты[?]
1K
life is cheap, death is free!
Эксперт
Статус
Оффлайн
Регистрация
9 Дек 2019
Сообщения
1,602
Реакции[?]
513
Поинты[?]
2K
wraith recode user
Участник
Статус
Оффлайн
Регистрация
1 Янв 2019
Сообщения
1,085
Реакции[?]
160
Поинты[?]
4K
две пасты слили нужно идти плакать
 
Забаненный
Статус
Оффлайн
Регистрация
16 Ноя 2020
Сообщения
287
Реакции[?]
36
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,746
Реакции[?]
1,465
Поинты[?]
2K
Почему то сейчас ооооочень сильное дежавю, вот прям максимально сильное...
 
горошек
Начинающий
Статус
Оффлайн
Регистрация
23 Фев 2021
Сообщения
173
Реакции[?]
26
Поинты[?]
4K
life is cheap, death is free!
Эксперт
Статус
Оффлайн
Регистрация
9 Дек 2019
Сообщения
1,602
Реакции[?]
513
Поинты[?]
2K
горошек
Начинающий
Статус
Оффлайн
Регистрация
23 Фев 2021
Сообщения
173
Реакции[?]
26
Поинты[?]
4K
Сверху Снизу