LUA скрипт [lw] leak nepherium tech src

Эксперт
Статус
Оффлайн
Регистрация
10 Фев 2021
Сообщения
1,739
Реакции[?]
559
Поинты[?]
2K
сурсы не новые, вроде не работает сейчас там обновить надо, у меня лв нет фиксите сами
катана, напиши в лс я твой дс проебал, по другому не достучаться до тебя
C++:
local name = globals.get_username()
local ffi = require("ffi")
ffi.cdef[[
    void* GetProcAddress(void* hModule, const char* lpProcName);
    void* GetModuleHandleA(const char* lpModuleName);

    typedef struct {
        uint8_t r;
        uint8_t g;
        uint8_t b;
        uint8_t a;
    } color_struct_t;

    typedef void (*console_color_print)(const color_struct_t&, const char*, ...);
]]
local ffi_helpers = {
    color_print_fn = ffi.cast("console_color_print", ffi.C.GetProcAddress(ffi.C.GetModuleHandleA("tier0.dll"), "?ConColorMsg@@YAXABVColor@@PBDZZ")),
    color_print = function(self, text, color)
        local col = ffi.new("color_struct_t")

        col.r = color:r()
        col.g = color:g()
        col.b = color:b()
        col.a = color:a()

        self.color_print_fn(col, text)
    end
}
local function coloredPrint(color, text)
    ffi_helpers.color_print(ffi_helpers, text, color)
end
coloredPrint(color.new(255, 255, 51), "")

console.execute("clear")
print(name.." Welcome to nepherium release")
coloredPrint(color.new(255, 255, 51), " ---------Update---------\n")
coloredPrint(color.new(255, 255, 51), "            v2.6         \n")
coloredPrint(color.new(255, 255, 51), "  now location are in lua\n")
coloredPrint(color.new(255, 255, 51), "  changed gh desing      \n")
coloredPrint(color.new(255, 255, 51), "                         \n")
coloredPrint(color.new(255, 255, 51), " -------20.09.2021-------\n")


-------------------------------------------------------------------------------------------------API
local function fade(col1, col2, percent)
    local r = math.floor(col1[1]*(100-percent)/100.0 + col2[1]*(percent)/100.0)
    local g = math.floor(col1[2]*(100-percent)/100.0 + col2[2]*(percent)/100.0)
    local b = math.floor(col1[3]*(100-percent)/100.0 + col2[3]*(percent)/100.0)
    local a = math.floor(col1[4]*(100-percent)/100.0 + col2[4]*(percent)/100.0)
    return color.new(r,g,b,a)
end

local function draw_rect_gradient_left(x, y, x1, y1, colors1, colors2)
    for i = 0, x1, x1/255 do
        render.draw_rect_filled(x+i, y, 1, y1, fade(colors1, colors2, i/x1*100))
    end
end

function draw_rect_gradient_up(a7,a8,a9,aa,ab,ac)
    for Q=0,aa,aa/255 do
        render.draw_rect_filled(a7,a8+Q,a9,1,fade(ab,ac,Q/aa*100))
    end
end

local ffi = require("ffi")
local previoustrails = {}

ffi.cdef[[
    typedef struct  {
        float x;
        float y;
        float z;
    } vec3_t;

    struct beam_info_t {
        int     m_type;
        void* m_start_ent;
        int     m_start_attachment;
        void* m_end_ent;
        int     m_end_attachment;
        vec3_t      m_start;
        vec3_t      m_end;
        int     m_model_index;
        const char  *m_model_name;
        int     m_halo_index;
        const char  *m_halo_name;
        float       m_halo_scale;
        float       m_life;
        float       m_width;
        float       m_end_width;
        float       m_fade_length;
        float       m_amplitude;
        float       m_brightness;
        float       m_speed;
        int     m_start_frame;
        float       m_frame_rate;
        float       m_red;
        float       m_green;
        float       m_blue;
        bool        m_renderable;
        int     m_num_segments;
        int     m_flags;
        vec3_t      m_center;
        float       m_start_radius;
        float       m_end_radius;
    } ;

    typedef void (__thiscall* draw_beams_t)(void*, void*);
    typedef void*(__thiscall* create_beam_points_t)(void*, struct beam_info_t&);
]]

local render_beams_signature = "B9 ? ? ? ? A1 ? ? ? ? FF 10 A1 ? ? ? ? B9"
local match = utils.find_signature("client.dll", render_beams_signature)
local render_beams = ffi.cast('void**', ffi.cast("char*", match) + 1)[0]
local render_beams_class = ffi.cast("void***", render_beams)
local render_beams_vtbl = render_beams_class[0]

local draw_beams = ffi.cast("draw_beams_t", render_beams_vtbl[6])
local create_beam_points = ffi.cast("create_beam_points_t", render_beams_vtbl[12])

local bor = bit.bor
local new = ffi.new

local g=render.create_font("Verdana",12,100,true,false,false)
local font = render.create_font("Verdana", 12, 100, true, true, false)
local font1 = render.create_font("Verdana", 12, 400, true, true, false)
local font2 = render.create_font( "Verdana", 25, 562, true, true, false )

local types = {"always", "holding", "toggled"}

local get_state, get_mode = menu.get_key_bind_state, menu.get_key_bind_mode
local screen_x, screen_y = engine.get_screen_width(), engine.get_screen_height()
local count = 0

local function add_bind(name, bind_name, x, y)
    if get_state(bind_name) then
        render.draw_text(font, x, y + 22 + (15 * count), color.new(255, 255, 255), name)    
        text_width = render.get_text_width(font, "[" .. types[get_mode(bind_name) + 1] .. "]")
     
        render.draw_text(font, x + 151 - text_width - 5, y + 23 + (15 * count), color.new(255, 255, 255), "[" .. types[get_mode(bind_name) + 1] .. "]")    
        count = count + 1  
    end
end

-------------------------------------------------------------------------------------------------API
-------------------------------------------------------------------------------------------------force
menu.add_key_bind("FSF-on-Key")
client.add_callback("on_paint", function()
    if not engine.is_in_game() then return end
   
    for nomer = 0, 64 do
        if menu.get_key_bind_state( "FSF-on-Key" ) == true then
            menu.set_bool( "player_list.player_settings[" .. nomer .. "].force_safe_points", true )
        else
            menu.set_bool( "player_list.player_settings[" .. nomer .. "].force_safe_points", false )
        end
    end
end)
-------------------------------------------------------------------------------------------------force
-------------------------------------------------------------------------------------------------watermark
menu.add_combo_box( "Watermark", { "None", "Nepherium","MetaMod","GameSense"})

menu.add_combo_box( "MetaMod Style", { "Static", "Gradient"})

local screen_width = engine.get_screen_width()

menu.add_slider_int("Watermark X", 0, screen_width)
menu.add_slider_int("Watermark Y", 0, screen_width)

menu.add_color_picker("Watermark Color")
menu.add_color_picker("Only MetaMod Color")
menu.add_color_picker("Only MetaMod Color 2")

client.add_callback("on_paint", function()
if menu.get_int("Watermark") == 1 then
nepherium()
elseif menu.get_int("Watermark") == 2 then
meta()
elseif menu.get_int("Watermark") == 3 then
skeetw()
end
end)

function nepherium()
local aZ=engine.get_screen_width()
local a_=globals.get_username()
local b0=tostring(globals.get_ping())
local y=math.floor(1.0/globals.get_intervalpertick())
local b1=math.floor(1/globals.get_frametime())
local b2;
local x = menu.get_int("Watermark X")
local y = menu.get_int("Watermark Y")
if engine.is_connected()then
b2=tostring(" nepherium | "..a_.." | delay: "..b0 .."ms | "..y.."tick | "..b1 .." fps")
else
b2=tostring(" nepherium | "..a_.." ")
end;
local b4 = menu.get_color("Watermark Color")
local R=render.get_text_width(g,b2)
local b3=color.new(17,17,17,205)
local b5=R+5;
render.draw_rect_filled(x,y,b5,3,b4)
render.draw_rect_filled(x,y+2,b5,16,b3)
render.draw_text(g,x+2,y+3,b4,b2)
end

function meta()
if menu.get_int("MetaMod Style") == 0 then
    local screen_width = engine.get_screen_width()
    local username = globals.get_username()
    local ping = tostring(globals.get_ping())
    local tickrate = math.floor(1.0 / globals.get_intervalpertick())
    local get_time = os.date("%X", os.time())
    local x = menu.get_int("Watermark X")
    local y = menu.get_int("Watermark Y")

        --
    local text
    if engine.is_connected() then
        text = tostring(" nepherium | " .. username .. " | delay: " .. ping .. "ms | " .. tickrate .. "tick | "..get_time.. " ")
     else
        text = tostring(" nepherium | " .. username .. " | " ..get_time.. " ")
    end
        --
    local width = render.get_text_width(font1, text)
        --
    local line_color = menu.get_color("Watermark Color")
    local text_color = color.new(255, 255, 255)
        --
    local w = width + 5

    render.draw_rect_filled(x, y - 1, w, 22, color.new(0,0,0,100))
    render.draw_rect_filled(x, y - 1, w, 2, line_color)
    render.draw_text(font1, x + 2, y + 4, text_color, text)

elseif menu.get_int("MetaMod Style") == 1 then

local colork = menu.get_color("Watermark Color")
local colors = menu.get_color("Only MetaMod Color")
local colorf = menu.get_color("Only MetaMod Color 2")

local r_first = colork:r()
local g_first = colork:g()
local b_first = colork:b()
local a_first = colork:a()

local r_second = colors:r()
local g_second = colors:g()
local b_second = colors:b()
local a_second = colors:a()

local r_hyist = colorf:r()
local g_hyist = colorf:g()
local b_hyist = colorf:b()
local a_hyist = colorf:a()

local first = {r_first, g_first, b_first, a_first}

local second = {r_second, g_second, b_second, a_second}

local hyist = {r_hyist, g_hyist, b_hyist, a_hyist}

    local screen_width = engine.get_screen_width()
    local username = globals.get_username()
    local ping = tostring(globals.get_ping())
    local tickrate = math.floor(1.0 / globals.get_intervalpertick())
    local get_time = os.date("%X", os.time())
    local x = menu.get_int("Watermark X")
    local y = menu.get_int("Watermark Y")

        --
    local text
    if engine.is_connected() then
      pizdec = 138
        text = tostring(" nepherium | " .. username .. " | delay: " .. ping .. "ms | " .. tickrate .. "tick | "..get_time.. " ")
     else
      pizdec = 82
        text = tostring(" nepherium | " .. username .. " | " ..get_time.. " ")
    end
        --
    local width = render.get_text_width(font, text)
        --
    local text_color = color.new(255, 255, 255)
        --

    local w = width + 5

    render.draw_rect_filled(x, y - 1, w, 22, color.new(0,0,0,100))
    draw_rect_gradient_left(x, y - 1, w - pizdec, 2, first, second)
    draw_rect_gradient_left(x + pizdec, y - 1, w - pizdec, 2, second, hyist)
    render.draw_text(font, x + 2, y + 4, text_color, text)
end
end

function skeetw()
local x = menu.get_int("Watermark X")
local y = menu.get_int("Watermark Y")
local screen_width = engine.get_screen_width()
local username = globals.get_username()
local ping = tostring(globals.get_ping())
local tickrate = math.floor(1.0 / globals.get_intervalpertick())
local ip = globals.get_server_address()
local pl = globals.get_maxclients()
local color = menu.get_color("Watermark Color")
local text
if engine.is_connected() then
text1 = tostring("game")
text2 = tostring("        sense")
text = tostring("                   | " .. username .. " | " .. ping .. "ms | " .. ip .. "")
else
text1 = tostring("game")
text2 = tostring("        sense")
text = tostring("                   | " .. username .. " | 0 ms | Offline " )
end
local width = render.get_text_width(font, text)
local text_color = color.new(255, 255, 255)
local w = width + 5
render.draw_rect_filled(x - 6, y - 6, w + 13, 26, color.new(0, 0, 0, 255))
render.draw_rect_filled(x - 5, y - 5, w + 11, 24, color.new(34, 34, 34, 255))
render.draw_rect_filled(x + 1, y, w, 13, color.new(0, 0, 0, 255))
render.draw_rect(x - 1, y - 1, w + 3,15, color.new(56, 56, 56, 255))
render.draw_rect(x - 5, y - 5, w + 11, 24, color.new(56, 56, 56, 255))
render.draw_text(font, x + 3, y , text_color, text)
render.draw_text(font, x + 3, y , color.new(255, 255, 255, 255), text1)
render.draw_text(font, x + 2, y , color, text2)
end
menu.next_line()
-------------------------------------------------------------------------------------------------watermark


-------------------------------------------------------------------------------------------------Keybindings
menu.add_combo_box( "Keybindings", { "None", "KeyBind 1","MetaMod"})
local screen_width = engine.get_screen_width()
menu.add_slider_int("Keybindings X", 0, screen_width)
menu.add_slider_int("Keybindings Y", 0, screen_width)
menu.add_color_picker("Keybindings Color")
menu.add_color_picker("Keybindings Color 2")

client.add_callback("on_paint", function()
if menu.get_int("Keybindings") == 1 then
keyb()
elseif menu.get_int("Keybindings") == 2 then
metamod()
end
end)


function keyb()
    local colork = menu.get_color("Keybindings Color")
    local colors = menu.get_color("Keybindings Color 2")
    local y = menu.get_int("Keybindings Y")
    local x = menu.get_int("Keybindings X")
    local size = 1
    local dmg = menu.get_key_bind_state("rage.force_damage_key")
    local sw = menu.get_key_bind_state("misc.slow_walk_key")
    local fd = menu.get_key_bind_state("anti_aim.fake_duck_key")
    local jump = menu.get_key_bind_state("misc.edge_jump_key")
    local autopeek = menu.get_key_bind_state("misc.automatic_peek_key")
    local back = menu.get_key_bind_state("anti_aim.manual_back_key")
    local right = menu.get_key_bind_state("anti_aim.manual_right_key")
    local left = menu.get_key_bind_state("anti_aim.manual_left_key")
    local fk = menu.get_key_bind_state("anti_aim.manual_forward_key")
    local hs = menu.get_key_bind_state("rage.hide_shots_key")
    local dt = menu.get_key_bind_state("rage.double_tap_key")
    --
    if (menu.get_key_bind_state("rage.double_tap_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "double tap")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("rage.hide_shots_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "Hide Shots")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("anti_aim.manual_forward_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "anti-aim forward ")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("anti_aim.manual_left_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "anti-aim right")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("anti_aim.manual_right_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "anti-aim left")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("anti_aim.manual_back_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "anti-aim back")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("misc.automatic_peek_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "auto peek")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("misc.edge_jump_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "edge jump")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("anti_aim.fake_duck_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "fake duck")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("misc.slow_walk_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "slow walk")
        size = size + 1
    end
    --
    if(menu.get_key_bind_state("rage.force_damage_key")) then
        render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "min.dmg")
        size = size + 1
    end
    --
    if not dmg and not sw and not fd and not jump and not autopeek and not bac and not right and not left and not fk and not hs and not dt then
    render.draw_rect_filled(x, y + 2, 100, 18, color.new(0, 0, 0, 0))
    render.draw_rect_filled(x, y, 120, 2, color.new(0, 0, 0, 0))
    render.draw_text(font, x + 31, y + 3,  color.new(0, 0, 0, 0), "  KeyBinds")
    else
        local r_first = colork:r()
        local g_first = colork:g()
        local b_first = colork:b()
        local a_first = colork:a()

        local r_second = colors:r()
        local g_second = colors:g()
        local b_second = colors:b()
        local a_second = colors:a()
       
        local first = {r_first, g_first, b_first, a_first}
        local second = {r_second, g_second, b_second, a_second}
    render.draw_rect_filled(x, y + 2, 120, 18, color.new(17, 17, 17, 205))
    draw_rect_gradient_left(x, y, 120, 2, first, second)
    render.draw_text(font, x + 31, y + 3, color.new(255, 255, 255), "  KeyBinds")
    end
end

function metamod()
count = 0
local y = menu.get_int("Keybindings Y")
local x = menu.get_int("Keybindings X")
if menu.get_int("MetaMod Style") == 0 then
local colork = menu.get_color("Keybindings Color")
local colors = menu.get_color("Keybindings Color 2")
    render.draw_rect_filled(x, y - 3, 150, 22, color.new(0,0,0,100))
    render.draw_text(font, x + 50, y + 2, color.new(255, 255, 255), "keybinds")
    render.draw_rect_filled(x, y - 3, 150, 2, colork)
    add_bind("Hide shots", "rage.hide_shots_key", x + 3, y + 1)
    add_bind("Edge jump", "misc.edge_jump_key", x + 3, y + 1)
    add_bind("Double tap", "rage.double_tap_key", x + 3, y + 1)
    add_bind("Slow walk", "misc.slow_walk_key", x + 3, y + 1)
    add_bind("Force damage", "rage.force_damage_key", x + 3, y + 1)
    add_bind("Invert desync", "anti_aim.invert_desync_key", x + 3, y + 1)
    add_bind("Fake duck", "anti_aim.fake_duck_key", x + 3, y + 1)
    add_bind("Automatic peek", "misc.automatic_peek_key", x + 3, y + 1)
    add_bind("Third person", "misc.third_person_key", x + 3, y + 1)
elseif menu.get_int("MetaMod Style") == 1 then
local colork = menu.get_color("Keybindings Color")
local colors = menu.get_color("Keybindings Color 2")
local r_first = colork:r()
local g_first = colork:g()
local b_first = colork:b()
local a_first = colork:a()
local r_second = colors:r()
local g_second = colors:g()
local b_second = colors:b()
local a_second = colors:a()
local first = {r_first, g_first, b_first, a_first}
local second = {r_second, g_second, b_second, a_second}
    render.draw_rect_filled(x, y - 3, 150, 22, color.new(0,0,0,100))
    render.draw_text(font, x + 50, y + 2, color.new(255, 255, 255), "keybinds")
    draw_rect_gradient_left(x, y - 3, 150, 2, first, second)
    add_bind("Hide shots", "rage.hide_shots_key", x + 3, y + 1)
    add_bind("Edge jump", "misc.edge_jump_key", x + 3, y + 1)
    add_bind("Double tap", "rage.double_tap_key", x + 3, y + 1)
    add_bind("Slow walk", "misc.slow_walk_key", x + 3, y + 1)
    add_bind("Force damage", "rage.force_damage_key", x + 3, y + 1)
    add_bind("Invert desync", "anti_aim.invert_desync_key", x + 3, y + 1)
    add_bind("Fake duck", "anti_aim.fake_duck_key", x + 3, y + 1)
    add_bind("Automatic peek", "misc.automatic_peek_key", x + 3, y + 1)
    add_bind("Third person", "misc.third_person_key", x + 3, y + 1)
end
end

-------------------------------------------------------------------------------------------------Keybindings

-------------------------------------------------------------------------------------------------ClanTag

   --"|\\|",
    --"N",
    --"NE",
    --"NE|>",
    --"NEP",
    --"NEP|-|",
    --"NEPH",
    --"NEPHE",
    --"NEPHER",
    --"NEPHER1",
    --"NEPHERI",
    --"NEPHERIU",
    --"NEPHERIU|\\/|",
    --"NEPHERIUM",
    --"NEPHERIUM.",
    --"NEPHERIUM.T",
   --"NEPHERIUM.TE",
    --"NEPHERIUM.TE<",
    --"NEPHERIUM.TEC",
    --"NEPHERIUM.TEC|-|",
    --"NEPHERIUM.TECH",
    --"NEPHERIUM.TECH"
-------------------------------------------------------------------------------------------------ClanTag

-------------------------------------------------------------------------------------------------Anti-Aim
menu.add_combo_box("Anti-Aim Types:",{"None","Def-Static","LowDelta","Preset-1","Preset-2","Legit","Preset-3","Kotana priset"})


client.add_callback("on_paint", function()
    if menu.get_int("Anti-Aim Types:")==1 then
        menu.set_int("anti_aim.pitch",1)
        menu.set_int("anti_aim.target_yaw",1)
        menu.set_bool("anti_aim.enable_fake_lag",false)
        menu.set_int("anti_aim.desync_type",1)
        menu.set_int("anti_aim.desync_range_inverted",60)
        menu.set_int("anti_aim.desync_range",60)

    elseif menu.get_int("Anti-Aim Types:")==2 then

        menu.set_int("anti_aim.pitch",1)
        menu.set_int("anti_aim.target_yaw",1)
        menu.set_bool("anti_aim.enable_fake_lag",true)
        menu.set_int("anti_aim.desync_type",1)
        menu.set_int("anti_aim.desync_range_inverted",math.random(15,17))
        menu.set_int("anti_aim.desync_range",math.random(15,17))

    elseif menu.get_int("Anti-Aim Types:")==3 then

        menu.set_int("anti_aim.pitch",1)
        menu.set_int("anti_aim.target_yaw",1)
        menu.set_bool("anti_aim.enable_fake_lag",true)
        menu.set_int("anti_aim.desync_type",2)
        menu.set_int("anti_aim.desync_range_inverted",math.random(15,20))
        menu.set_int("anti_aim.desync_range",math.random(15,20))
        menu.set_int("anti_aim.fake_lag_limit",math.random(8,15))

    elseif menu.get_int("Anti-Aim Types:")==4 then

        menu.set_bool("anti_aim.enable_fake_lag",true)
        menu.set_int("anti_aim.fake_lag_limit",math.random(8,15))

    elseif menu.get_int("Anti-Aim Types:")==5 then

        menu.set_int("anti_aim.pitch",0)
        menu.set_int("anti_aim.yaw_offset",180)
        menu.set_int("anti_aim.target_yaw",1)
        menu.set_bool("anti_aim.enable_fake_lag",true)
        menu.set_int("anti_aim.desync_type",1)

    elseif menu.get_int("Anti-Aim Types:")==6 then

        menu.set_int("anti_aim.pitch",1)
        menu.set_int("anti_aim.target_yaw",1)
        menu.set_int("anti_aim.desync_type",1)
        menu.set_bool("anti_aim.enable_fake_lag",true)
        menu.set_int("anti_aim.fake_lag_type",2)
        menu.set_int("anti_aim.fake_lag_limit",math.random(8,16))
        menu.set_int("anti_aim.desync_range_inverted",math.random(0,40))
        menu.set_int("anti_aim.desync_range",math.random(0,40))

    elseif menu.get_int("Anti-Aim Types:")==7 then

        menu.set_bool("anti_aim.enable_fake_lag",true)
        menu.set_int("anti_aim.pitch",1)
        menu.set_int("anti_aim.target_yaw",0)
        menu.set_int("anti_aim.fake_lag_type",math.random(0,3))
        menu.set_int("anti_aim.desync_type",1)
        menu.set_int("anti_aim.fake_lag_limit",math.random(6,16))
        menu.set_int("anti_aim.desync_range_inverted",math.random(0,60))
        menu.set_int("anti_aim.desync_range",math.random(0,60))
        menu.set_int("anti_aim.yaw_offset",0)
    end
end)
-------------------------------------------------------------------------------------------------Anti-Aim

-------------------------------------------------------------------------------------------------Indicators
menu.add_check_box("Indicators")
client.add_callback("on_paint", function()
if menu.get_bool("Indicators") then
skeetindicators()
end
end)
function skeetindicators()
local game = engine.is_in_game()
local color0 = color.new(248, 244, 255)
local color1 = color.new(214, 214, 214)
local color2 = color.new(132, 196, 16)
local x, y = engine.get_screen_width() / 115 , engine.get_screen_height() / 1.60
local dt = menu.get_key_bind_state( "rage.double_tap_key" )
local fd = menu.get_key_bind_state( "anti_aim.fake_duck_key" )
local hs = menu.get_key_bind_state( "rage.hide_shots_key" )
local ap = menu.get_key_bind_state( "misc.automatic_peek_key" )
local dmg = menu.get_key_bind_state("rage.force_damage_key")
local fl = menu.get_int("anti_aim.fake_lag_limit")
local fl1 = menu.get_bool("anti_aim.enable_fake_lag")
    if game then
        local lp = entitylist.get_local_player()
        local lp_health  = lp:get_health()

        if lp_health > 0 then

            if dt then
                s1 = 25
                render.draw_text( font2, x, y, color0, "DT" )
            else
                s1 = 0
            end
            if hs then
                s2 = 25
                render.draw_text( font2, x, y + s1, color.new(132, 196, 16), "ONSHOT" )
            else
                s2 = 0
            end
            if dmg then
                s3 = 25
                render.draw_text( font2, x, y + s1 + s2, color1, "DMG")
            else
                s3 = 0
            end
            if fd then
                s4 = 25
                render.draw_text( font2, x, y + s1 + s2 + s3, color0, "DUCK" )
            else
                s4 = 0
            end
            if ap then
                s5 = 25
                render.draw_text( font2, x, y + s1 + s2 + s3 + s4, color0, "QUICK PEEK" )
            else
                s5 = 0
            end
            if fl1 then
                s6 = 25
                render.draw_text( font2, x, y + s1 + s2 + s3 + s4 + s5, color.new(138, 200, 255), "FL:" ..fl)
            else
                s6 = 0
            end
        end
    end
end
-------------------------------------------------------------------------------------------------scope

menu.add_check_box("Skeet Scope")
menu.next_line()
menu.add_color_picker("Scope Color first")
menu.add_color_picker("Scope Color second")
menu.add_slider_int("Line width", 1, 1250)
menu.add_slider_int("Line length", 25, 255)
menu.add_check_box("Viewmodel on scope")

client.add_callback("on_paint", function()
if engine.is_connected() then
if menu.get_bool("Skeet Scope") then
skeet_crosshair()
end
end
end)


function skeet_crosshair()
    local b6=entitylist.get_local_player()
    local is_scoped=b6:is_scoped()
    local b7=menu.get_bool("Viewmodel on scope")
    if b7 and is_scoped then
        console.set_int("fov_cs_debug",90)
    else
        console.set_int("fov_cs_debug",0)
    end

    if is_scoped then


        console.set_int("cl_drawhud",1)
        local ba=engine.get_screen_width()
        local bb=engine.get_screen_height()
        local aH=menu.get_color("Scope Color first")

        local aI=aH:r()
        local aJ=aH:g()
        local aK=aH:b()
        local aL=aH:a()
       
        local aM=menu.get_color("Scope Color second")

        local aN=aM:r()
        local aO=aM:g()
        local aP=aM:b()
        local aQ=aM:a()
       
        local R=menu.get_int("Line width")
        local bc=menu.get_int("Line length")

        local aW={aI,aJ,aK,aL}
        local aX={aN,aO,aP,aQ}
       
        draw_rect_gradient_left(ba/2+R,bb/2-1,bc,2,aW,aX)
        draw_rect_gradient_left(ba/2-R-bc,bb/2-1,bc,2,aX,aW)
        draw_rect_gradient_up(ba/2-1,bb/2-R-bc,2,bc,aX,aW)
        draw_rect_gradient_up(ba/2-1,bb/2+R,2,bc,aW,aX)
    else
    console.set_int("cl_drawhud",1)
    end
end
-------------------------------------------------------------------------------------------------scope
-------------------------------------------------------------------------------------------------trail
menu.add_check_box("Trail")
menu.add_slider_int('Trail Length', 1, 10 )
menu.add_slider_int('Trail Size', 1, 50 )

local function trail()
    local lp = entitylist.get_local_player()
    --if lp ~= nil then
        local origin = lp:get_origin()
        local r = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128)
        local g =  math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128)
        local b = math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128)  
        previoustrails[#previoustrails+1] = { x = origin.x, y = origin.y, z = origin.z, tick = tonumber(globals.get_tickcount()) + 50, draw = true, r = r, g = g, b = b}
        local pt = #previoustrails
        for i = 1, pt do
            if i > 2 then
                local trail = previoustrails[i]
                local trailtwo = previoustrails[i - 1]
                local beam_info = new("struct beam_info_t")
                beam_info.m_type = 0x00
                beam_info.m_model_index = -1
                beam_info.m_halo_scale = 0

                beam_info.m_life = menu.get_int( 'Trail Length' )
                beam_info.m_fade_length = 1

                beam_info.m_width = menu.get_int( 'Trail Size' ) * .1
                beam_info.m_end_width = menu.get_int( 'Trail Size' ) * .1

                beam_info.m_model_name = "sprites/purplelaser1.vmt"  

                beam_info.m_amplitude = 2.3
                beam_info.m_speed = 0.2

                beam_info.m_start_frame = 0
                beam_info.m_frame_rate = 0

                beam_info.m_red = trail.r
                beam_info.m_green = trail.g
                beam_info.m_blue = trail.b
                beam_info.m_brightness = 255

                beam_info.m_num_segments = 2
                beam_info.m_renderable = true

                beam_info.m_flags = bor(0x00000100 + 0x00000200 + 0x00008000)

                beam_info.m_start = {trail.x,trail.y,trail.z}
                beam_info.m_end = {trailtwo.x,trailtwo.y,trailtwo.z}

                local beam = create_beam_points(render_beams_class, beam_info)
                if beam ~= nil then
                    draw_beams(render_beams, beam)
                end

                if i > 3 then
                    table.remove(previoustrails, i - 2)
                end
            end
        end
    --end
end

client.add_callback( 'create_move', function()
    if menu.get_bool("Trail") then
    trail()
    end
end)


-------------------------------------------------------------------------------------------------trail

-------------------------------------------------------------------------------------------------hit/miss log

local gpinf = engine.get_player_info

local function hitlog(shot_info)


  local results       = shot_info.result
  local target        = shot_info.target_index
  local targetname    = gpinf(target).name
  local serverdamage  = shot_info.server_damage
  local clientdamage  = shot_info.client_damage
  local serverhitbox  = shot_info.server_hitbox
  local clienthitbox  = shot_info.client_hitbox
  local hitchance     = shot_info.hitchance
  local backtrack     = shot_info.backtrack_ticks
  local safe          = tostring(shot_info.safe)


  if results == "Hit" then
   client.log("[Nepherium] Hit " .. targetname .. " for " .. serverdamage .. " in " .. serverhitbox .. " | hc: " .. hitchance .. " | clientdmg: " .. clientdamage .. " | clienthb: " .. clienthitbox .. " | backtrack: " .. backtrack .. " | safe: " .. safe)
  end
  if results == "Spread" then
     client.log("[Nepherium] Missed " .. targetname .. " due to spread | hc: " .. hitchance .. " | clientdmg: " .. clientdamage .. " | serverdmg: " .. serverdamage .. " | clienthb: " .. clienthitbox .. " | serverhb: " .. serverhitbox .. " | backtrack: " .. backtrack .. " | safe: " .. safe)
  end
  if results == "Resolver" then
      client.log("[Nepherium] Missed " .. targetname .. " due to resolver | hc: " .. hitchance .. " | clientdmg: " .. clientdamage .. " | serverdmg: " .. serverdamage .. " | clienthb: " .. clienthitbox .. " | serverhb: " .. serverhitbox .. " | backtrack: " .. backtrack .. " | safe: " .. safe)
  end

end

client.add_callback("on_shot", hitlog)

-------------------------------------------------------------------------------------------------hit/miss log

-------------------------------------------------------------------------------------------------GH
local ffi = require("ffi")
require "grenade_helper_locations"
ffi.cdef[[
int MessageBoxA(void *w, const char *txt, const char *cap, int type);
bool CreateDirectoryA(const char* lpPathName, void* lpSecurityAttributes);
int exit(int arg);
void* __stdcall URLDownloadToFileA(void* LPUNKNOWN, const char* LPCSTR, const char* LPCSTR2, int a, int LPBINDSTATUSCALLBACK);      
void* __stdcall ShellExecuteA(void* hwnd, const char* op, const char* file, const char* params, const char* dir, int show_cmd);

int AddFontResourceA(const char* unnamedParam1);

bool DeleteUrlCacheEntryA(const char* lpszUrlName);
]]
local w = 0
local urlmon = ffi.load 'UrlMon'
local wininet = ffi.load 'WinInet'
local gdi = ffi.load 'Gdi32'
local text_alpha = 0
function download(from, to)
    wininet.DeleteUrlCacheEntryA(from)
    urlmon.URLDownloadToFileA(nil, from, to, 0,0)
end;

ffi.C.CreateDirectoryA("C:\\grenadeh", NULL)
ffi.C.CreateDirectoryA("C:\\grenadeh\\font", NULL)
download("https://github.com/katanahvh1337/ok/blob/main/undefeated.ttf?raw=true", "C:\\grenadeh\\font\\undefeated.ttf")

gdi.AddFontResourceA( "C:\\grenadeh\\font\\undefeated.ttf")

menu.add_check_box("Enable grenade helper")
menu.next_line()
menu.add_slider_int( "Distance" , 500, 2500 )
menu.add_key_bind("Auto-throw key")

menu.add_slider_int( "Advanced thirdpreson distance", 100, 1000 )

local font_undefeated = render.create_font( "undefeated", 35, 300, true, false, true )


function DistTo(a, vOther)    
    local delta = vector.new(0,0,0);

    delta.x = a.x - vOther.x;
    delta.y = a.y - vOther.y;

    return delta:length();
end

OR, AND = 1, 4
function bitoper(a, b, oper)
   local r, m, s = 0, 2^31
   repeat
      s,a,b = a+b+m, a%m, b%m
      r,m = r + m*oper%(s-a-b), m/2
   until m < 1
   return r
end

function GetTableLng(tbl)
    local getN = 0

    for n in pairs(tbl) do
       getN = getN + 1
    end

    return getN
end

local old_tpd = menu.get_int( "misc.third_person_distance")
local movepos = vector.new(0,0,0);
local throw_angles = vector.new(0,0,0);

local locations_count = GetTableLng(grenade_helper_locations)
local segoe = render.create_font("Segoe UI", 14, 400, true, true, false)

local delay_time = 0
local throw_time = 0
local attack2_time = -1

function angle_to_vec(pitch, yaw)
    if pitch ~= nil then
        local p = pitch * math.pi / 180;
        local y = yaw * math.pi / 180;

        local sin_p = math.sin(p);
        local cos_p = math.cos(p);
        local sin_y = math.sin(y);
        local cos_y = math.cos(y);

        return vector.new(cos_p * cos_y, cos_p * sin_y, -sin_p);
    end

    return vector.new(0, 0, 0)
end

local movetype
local returned_to_start_pos = false
local prev_autostrafe

--[[     TASER: "h"
        HEGRENADE: "j"
        MOLOTOV: "l"
]]

function on_paint()
    local local_player = entitylist.get_local_player()
    local rdist = menu.get_int("Distance")
    if local_player and local_player:get_health() > 0 then
        local origin = local_player:get_origin()

        if menu.get_bool("Enable grenade helper") and movepos.x == 0 and movepos.y == 0 and movepos.z == 0  then
            returned_to_start_pos = false
           
            for i=1, locations_count, 1 do
                local this_location = grenade_helper_locations[i];

                local this_weapon = entitylist.get_weapon_by_player(local_player)

                if this_weapon then
                    definition_index = this_weapon:get_prop_int('CBaseCombatWeapon', 'm_iItemDefinitionIndex');
                end
               
                local is_he = definition_index == 44
                local is_molotov = (definition_index == 48) or (definition_index == 46)
               
                if(this_location[1] == engine.get_level_name_short() and (is_he and this_location[3] or is_molotov and this_location[4])) then      
                    local world_pos = vector.new(this_location[6][1], this_location[6][2], this_location[6][3])
                    local apos = angle_to_vec(this_location[7][1], this_location[7][2])
                    apos = vector.new(apos.x * 400 + this_location[6][1], apos.y * 400 + this_location[6][2], apos.z * 400 + this_location[6][3] + 64)
                 
                    local distance_to_pos = DistTo(origin,world_pos)
               
                    if (distance_to_pos < rdist) then
                        local pos = render.world_to_screen(world_pos)
                        local aim_pos = render.world_to_screen(apos);
               
                        if pos.x ~= 0 and pos.y ~= 0 then                          
                            local white_color                        
                            text_alpha = math.max(0,math.floor(math.min((rdist-distance_to_pos)*2-2,150)))
                            --print(tostring(text_alpha))  
                            text_alpha1 = math.max(0,math.floor(math.min((rdist-distance_to_pos)*2-2,255)))
                            local icon = 'l'

                            if is_he then
                                icon = 'j'
                            end
                            local namec = color.new(110,110,255,text_alpha1)
                            local descc = color.new(180,180,255,text_alpha1)
                            local iconc = color.new(150,150,255,text_alpha)
                            local rectc = color.new(8,8,15,text_alpha)
                            render.draw_rect_filled( pos.x-w, pos.y-30, w, 35, rectc )
                            render.draw_rect( pos.x-w, pos.y-30, w, 35, rectc )
                            render.draw_text(segoe , pos.x+30-w , pos.y-30 , namec, this_location[5])
                            render.draw_text(segoe , pos.x+30-w , pos.y-15 , descc, this_location[2])
                            render.draw_text(font_undefeated , pos.x-w , pos.y-30 , iconc, icon)
                            w = render.get_text_width( font_undefeated, icon)

                        if ( distance_to_pos < 50 ) and aim_pos.x ~= 0 and aim_pos.y ~= 0 then
                            render.draw_circle_filled(aim_pos.x,aim_pos.y,60, 7, color.new(255, 255, 255, 200))
                        end    

                        if ( distance_to_pos < 50 ) then      
                            if menu.get_key_bind_state("Auto-throw key") then
                                movepos = world_pos

                                movetype = this_location[2]
                                throw_time = 0
                               
                                prev_autostrafe = menu.get_int('misc.automatic_strafe')

                                delay_time = this_location[8]  
                                throw_angles = vector.new(this_location[7][1], this_location[7][2], this_location[7][3])
                            end
                        end      
                    end
                end
            end          
        end
    end

    menu.set_int( "misc.third_person_distance", menu.get_int("Advanced thirdpreson distance") )
end
end

IN_ATTACK = 1
IN_JUMP  = 2
IN_DUCK =  4
IN_FORWARD = 8
IN_LEFT = 128
IN_RIGHT = 256
IN_ATTACK2 = 2048

local backup_st
local next_aim_angle = vector.new(0,0,0)
local ticks = 0
local run_dir_time = -1

function on_createmove(cmd)
    local local_player = entitylist.get_local_player()

    local current_pos = local_player:get_origin()

    if movepos.x ~= 0 and movepos.y ~= 0 and movepos.z ~= 0  then    
        cmd.buttons = 17
       
        if not returned_to_start_pos then
            local vec_forward = {
                x = current_pos.x - movepos.x,
                y = current_pos.y - movepos.y,
                z = current_pos.z - movepos.z
            }
   
            local yaw = engine.get_view_angles().y
   
            local t_velocity = {
                x = vec_forward.x * math.cos(yaw / 180 * math.pi) + vec_forward.y * math.sin(yaw / 180 * math.pi),
                y = vec_forward.y * math.cos(yaw / 180 * math.pi) - vec_forward.x * math.sin(yaw / 180 * math.pi),
                z = vec_forward.z
            }
   
            cmd.forwardmove = -t_velocity.x * 20
            cmd.sidemove = t_velocity.y * 20

            if (DistTo(movepos, current_pos) < 0.1)  then
                returned_to_start_pos = true
            end          
        else
            if (throw_time == 0) then
                throw_time = globals.get_tickcount() + delay_time
            end

            cmd.viewangles.x = throw_angles.x
            cmd.viewangles.y = throw_angles.y

            if movetype == 'Runthrow' then
                run_dir_time = run_dir_time + 1

                cmd.buttons = bitoper(IN_FORWARD, cmd.buttons, OR)
                cmd.forwardmove = 450
            end
           
            if movetype == 'RunJumpthrow' then
               run_dir_time = run_dir_time + 1

                cmd.buttons = bitoper(IN_FORWARD, cmd.buttons, OR)
                cmd.forwardmove = 450
             
                menu.set_int('misc.automatic_strafe', 0)
                cmd.buttons = IN_JUMP
            end
         
            if movetype == 'Runleft' then
                run_dir_time = run_dir_time + 1

                cmd.buttons = bitoper(IN_LEFT, cmd.buttons, OR)

                cmd.sidemove = -450
            end

            if movetype == 'Runright' then
                run_dir_time = run_dir_time + 1

                cmd.buttons = bitoper(IN_RIGHT, cmd.buttons, OR)
               
                cmd.sidemove = 450
            end

            if movetype == 'Halfthrow' then
                cmd.buttons = IN_ATTACK2

                attack2_time = attack2_time + 1
            end

            if movetype == 'Jumpthrow' then    
                menu.set_int('misc.automatic_strafe', 0)
                cmd.buttons = IN_JUMP

                cmd.forwardmove = 0
                cmd.sidemove = 0
            else
                menu.set_int('misc.automatic_strafe', 2)
            end

            if ((movetype == 'Jumpthrow' and local_player:get_velocity().z < 2) or (movetype ~= 'Jumpthrow')) and throw_time < globals.get_tickcount() and ((attack2_time > 30) or (attack2_time == -1)) and ((run_dir_time == -1) or (run_dir_time > 28)) then
                next_aim_angle = throw_angles

                cmd.buttons = bitoper(IN_ATTACK, cmd.buttons, OR)

                movepos = vector.new(0,0,0)

                attack2_time = -1
                run_dir_time = -1
            end
        end
    end

    if next_aim_angle.x ~= 0 and next_aim_angle.y ~= 0 then
        cmd.viewangles.x = next_aim_angle.x
        cmd.viewangles.y = next_aim_angle.y

        ticks = ticks + 1

        if (ticks > 24) then
            next_aim_angle = vector.new(0,0,0)

            if movetype == 'Jumpthrow' then
                menu.set_int('misc.automatic_strafe', prev_autostrafe)
            end

            ticks = 0
            movetype = ''
        end
    end
end;

client.add_callback("on_paint", on_paint)
client.add_callback("create_move", on_createmove)
client.add_callback("unload", function()
    menu.set_int( "misc.third_person_distance", old_tpd )
end)
-------------------------------------------------------------------------------------------------GH

-------------------------------------------------------------------------------------------------ideal-yaw
local screenx, screeny = engine.get_screen_width(), engine.get_screen_height()
menu.add_check_box( 'ideal-yaw indicators')
variables = {
    count = 0,
    alpha = 0,
    font = render.create_font("Arial", 13, 100, true, false, false),
    pos_x = engine.get_screen_width()/2, -- default x value
    pos_y = engine.get_screen_height()/2,  -- default y value
    backup = false,
    diff_x = 0,
    diff_y = 0
}

local types = {"always", "holding", "toggled"}
local get_state, get_mode = menu.get_key_bind_state, menu.get_key_bind_mode

local draw_stuff = {
    r = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128),
    g =  math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128),
    b = math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128),
    r1 = math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128),
    g1 =  math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128),
    b1 = math.floor(math.sin(globals.get_realtime() * 2 + 6) * 127 + 128),
    w = 150,
    h = 20,
    cond = engine.is_in_game() and entitylist.get_local_player() and entitylist.entity_to_player(entitylist.get_local_player()):get_health() > 0,
}

local add_bind = function(arr, x, y, cond, rtfade)
    if get_state(arr[2]) and cond then
        if arr[1] == 'DT' then
            if get_state('anti_aim.fake_duck_key') then
                render.draw_text(variables.font, x + 2, y + 25 + (10 * variables.count), color.new(255,0,0, rtfade), 'DT(FD)')
            else
                render.draw_text(variables.font, x + 2, y + 25 + (10 * variables.count), arr[3], arr[1])
            end
        else
        render.draw_text(variables.font, x + 2, y + 25 + (10 * variables.count), arr[3], arr[1])    
        end
    variables.count = variables.count + 1
    end
end
   
client.add_callback("on_paint", function()
    if menu.get_bool( 'ideal-yaw indicators' ) then
        local realtime_fade = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128)
        local names = {
            {"HIDE", "rage.hide_shots_key", color.new(93, 146, 252, realtime_fade)},
            {"DT", "rage.double_tap_key", color.new(59, 255, 75, realtime_fade)},
            {"DMG", "rage.force_damage_key", color.new(59, 255, 75, realtime_fade) },
            {"DUCK", "anti_aim.fake_duck_key", color.new(255,0,0, realtime_fade) },
            {"RIGHT", "anti_aim.manual_right_key", color.new(255,0,0, realtime_fade) },
            {"LEFT", "anti_aim.manual_left_key", color.new(255,0,0, realtime_fade) },
        }  
        render.draw_text(variables.font, engine.get_screen_width()/2+2, engine.get_screen_height()/2 +5,color.new(250, 137, 50),"NEPHERIUM")
        render.draw_text(variables.font, engine.get_screen_width()/2+2, engine.get_screen_height()/2 +15,color.new(166, 130, 250),"DYNAMIC")

        variables.count = 0
        for _, v in pairs(names) do
            add_bind(v, variables.pos_x, variables.pos_y, draw_stuff.cond, realtime_fade)
        end
    end
end)
-------------------------------------------------------------------------------------------------ideal-yaw
-------------------------------------------------------------------------------------------------Crosshair-Indicator
local ffi = require('ffi')
ffi.cdef([[
    typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);
    typedef struct
    {
        float x;
        float y;
        float z;
    } Vector_t;

    typedef struct
    {
        char        pad0[0x60]; // 0x00
        void*       pEntity; // 0x60
        void*       pActiveWeapon; // 0x64
        void*       pLastActiveWeapon; // 0x68
        float        flLastUpdateTime; // 0x6C
        int            iLastUpdateFrame; // 0x70
        float        flLastUpdateIncrement; // 0x74
        float        flEyeYaw; // 0x78
        float        flEyePitch; // 0x7C
        float        flGoalFeetYaw; // 0x80
        float        flLastFeetYaw; // 0x84
        float        flMoveYaw; // 0x88
        float        flLastMoveYaw; // 0x8C // changes when moving/jumping/hitting ground
        float        flLeanAmount; // 0x90
        char        pad1[0x4]; // 0x94
        float        flFeetCycle; // 0x98 0 to 1
        float        flMoveWeight; // 0x9C 0 to 1
        float        flMoveWeightSmoothed; // 0xA0
        float        flDuckAmount; // 0xA4
        float        flHitGroundCycle; // 0xA8
        float        flRecrouchWeight; // 0xAC
        Vector_t    vecOrigin; // 0xB0
        Vector_t    vecLastOrigin;// 0xBC
        Vector_t    vecVelocity; // 0xC8
        Vector_t    vecVelocityNormalized; // 0xD4
        Vector_t    vecVelocityNormalizedNonZero; // 0xE0
        float        flVelocityLenght2D; // 0xEC
        float        flJumpFallVelocity; // 0xF0
        float        flSpeedNormalized; // 0xF4 // clamped velocity from 0 to 1
        float        flRunningSpeed; // 0xF8
        float        flDuckingSpeed; // 0xFC
        float        flDurationMoving; // 0x100
        float        flDurationStill; // 0x104
        bool        bOnGround; // 0x108
        bool        bHitGroundAnimation; // 0x109
        char        pad2[0x2]; // 0x10A
        float        flNextLowerBodyYawUpdateTime; // 0x10C
        float        flDurationInAir; // 0x110
        float        flLeftGroundHeight; // 0x114
        float        flHitGroundWeight; // 0x118 // from 0 to 1, is 1 when standing
        float        flWalkToRunTransition; // 0x11C // from 0 to 1, doesnt change when walking or crouching, only running
        char        pad3[0x4]; // 0x120
        float        flAffectedFraction; // 0x124 // affected while jumping and running, or when just jumping, 0 to 1
        char        pad4[0x208]; // 0x128
        float        flMinBodyYaw; // 0x330
        float        flMaxBodyYaw; // 0x334
        float        flMinPitch; //0x338
        float        flMaxPitch; // 0x33C
        int            iAnimsetVersion; // 0x340
    } CCSGOPlayerAnimationState_534535_t;

    typedef int BOOL;
    typedef long LONG;
    typedef struct{
        LONG x, y;
    }POINT, *LPPOINT;
    BOOL GetCursorPos(LPPOINT);
    short GetAsyncKeyState(int);
]])

local screenx, screeny = engine.get_screen_width(), engine.get_screen_height()
menu.add_check_box( 'Crosshair Indicators')
menu.add_check_box( 'Enable Desync Line' )
menu.add_color_picker( 'Desync Line Color' )
menu.add_check_box( 'Enable LagSync' )
variables = {
    count = 0,
    alpha = 0,
    font = render.create_font("Segoe UI", 17, 400, true, true, false),
    pos_x = engine.get_screen_width()/2, -- default x value
    pos_y = engine.get_screen_height()/2,  -- default y value
    backup = false,
    diff_x = 0,
    diff_y = 0
}

local types = {"always", "holding", "toggled"}
local get_state, get_mode = menu.get_key_bind_state, menu.get_key_bind_mode

local lscheck = 0

function lagsync(cmd)
    if menu.get_bool( 'Enable LagSync' ) then
        if not menu.get_key_bind_state( "rage.double_tap_key" ) and not menu.get_key_bind_state( "rage.hide_shots_key" ) then
            local curtime = globals.get_curtime()
            local tickcount = cmd.tickcount
            --print(tostring(tickcount))
            if lscheck < tickcount then
                if menu.get_bool( "anti_aim.invert_desync_key" ) then
                    menu.set_bool("anti_aim.invert_desync_key", false)
                else
                    menu.set_bool("anti_aim.invert_desync_key", true)
                end
                lscheck = tickcount + ( menu.get_int( 'anti_aim.fake_lag_limit' ) / 2 )
            end
        end
    end
end

local names = {
    {"LagSync", "Enable LagSync", color.new(255, 205, 205), 0, -10 },
    {"HideShots", "rage.hide_shots_key", color.new(133, 186, 252), 0, -10},
    {"DoubleTap", "rage.double_tap_key", color.new(59, 255, 75), 0, -10},
    {"FakeDuck", "anti_aim.fake_duck_key", color.new(240, 25, 25), 0, -10 },
    {"MinDamage", "rage.force_damage_key", color.new(255, 255, 255), 0, -10 },
    {"SlowWalk", "misc.slow_walk_key", color.new(205, 205, 255), 0, -10 },
}

local draw_stuff = {
    r = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128),
    g =  math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128),
    b = math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128),
    r1 = math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128),
    g1 =  math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128),
    b1 = math.floor(math.sin(globals.get_realtime() * 2 + 6) * 127 + 128),
    w = 150,
    h = 20,
    cond = engine.is_in_game() and entitylist.get_local_player() and entitylist.entity_to_player(entitylist.get_local_player()):get_health() > 0,
}

local add_bind = function(arr, x, y, cond)
    if not arr[1] == "LagSync" then
        if get_state(arr[2]) and cond then
            arr[4] = math.min(255, arr[4] + 4)
            arr[5] = math.min( 0, arr[5] + 0.6 )
        else
            arr[4] = math.max(arr[4] - 12, 0)
        end
    else
        if menu.get_bool( arr[2] ) and cond then
            arr[4] = math.min(255, arr[4] + 4)
            arr[5] = math.min( 0, arr[5] + 0.6 )
        else
            arr[4] = math.max(arr[4] - 12, 0)
        end
    end

    if arr[4] > 0 then
        local clr = arr[3]
        local r = clr:r()
        local g = clr:g()
        local b = clr:b()
        local addy = arr[5]
        local addy2

        if menu.get_bool( 'Enable Desync Line' ) then
            addy2 = 20
        else
            addy2 = 0
        end

        if arr[2] == 'rage.double_tap_key' then
            if get_state('anti_aim.fake_duck_key') then
                render.draw_text_centered( variables.font, x + 2, y + 10 + addy  + addy2 + (14 * variables.count), color.new(200, 55, 55, arr[4]), true, false, 'DoubleTap(FD)' )
            else
                render.draw_text_centered( variables.font, x + 2, y + 10 + addy + addy2 + (14 * variables.count), color.new(r,g,b, arr[4]), true, false, arr[1])
            end
        else
            render.draw_text_centered( variables.font, x + 2, y + 10 + addy + addy2 + (14 * variables.count), color.new(r,g,b, arr[4]), true, false, arr[1])    
        end

        variables.count = variables.count + math.min((arr[4]/40), 1)
    else
        arr[5] = -10
    end
end

local entity_list_ptr = ffi.cast("void***", utils.create_interface("client.dll", "VClientEntityList003"))
local get_client_entity_fn = ffi.cast("GetClientEntity_4242425_t", entity_list_ptr[0][3])

local ffi_helpers = {
    get_entity_address = function(ent_index)
        local addr = get_client_entity_fn(entity_list_ptr, ent_index)
        return addr
    end
}

--client.add_callback( 'create_move', createmove )

function getdesync()
    if not entitylist.get_local_player() then
        return
    end

    local lp = entitylist.get_local_player()
   
        desync = (ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flWalkToRunTransition * -0.30000001 - 0.19999999) * math.max(0, math.min(ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flRunningSpeed, 1)) + 1 + ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flDuckAmount * math.max(0, math.min(1, ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flDuckingSpeed)) * (0.5 - ((ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flWalkToRunTransition * -0.30000001 - 0.19999999) * math.max(0, math.min(ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flRunningSpeed, 1)) + 1))
    return math.floor(ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(lp:get_index()) + 14612)[0].flMaxBodyYaw * desync)
end

local g_VGuiSurface = ffi.cast(ffi.typeof("void***"), utils.create_interface("vguimatsurface.dll", "VGUI_Surface031"))
local native_Surface_DrawSetColor = ffi.cast(ffi.typeof("void(__thiscall*)(void*, int, int, int, int)"), g_VGuiSurface[0][15])
local native_Surface_DrawFilledRectFade = ffi.cast(ffi.typeof("void(__thiscall*)(void*, int, int, int, int, unsigned int, unsigned int, bool)"), g_VGuiSurface[0][123])

GradientRect = function(x, y, w, h, color, color2, horizontal)
    local r0, g0, b0, a0 = color:r(), color:g(), color:b(), color:a()
    local r1, g1, b1, a1 = color2:r(), color2:g(), color2:b(), color2:a()

    native_Surface_DrawSetColor(g_VGuiSurface,r0, g0, b0, a0)
    native_Surface_DrawFilledRectFade(g_VGuiSurface,x, y, x + w, y + h, 255, 0, horizontal)
    native_Surface_DrawSetColor(g_VGuiSurface,r1, g1, b1, a1)
    return native_Surface_DrawFilledRectFade(g_VGuiSurface,x, y, x + w, y + h, 0, 255, horizontal)
end

local screencenter = {x = screenx / 2, y = screeny / 2}
local checktime = 0

function desyncline()
    if not entitylist.get_local_player() then
        return
    end

    if menu.get_bool( 'Enable Desync Line' ) then
        local desynccolor = menu.get_color( 'Desync Line Color' )
        desynckey = menu.get_key_bind_state("anti_aim.invert_desync_key")
        local curtime = globals.get_curtime()

        if menu.get_int( 'anti_aim.desync_type' ) ~= 2 then
            side = desynckey
        else
            if checktime < curtime then
                if side then
                    side = false
                else
                    side = true
                end
                checktime = curtime + 0.05
            end
        end

        if side then
            desync = math.min(menu.get_int("anti_aim.desync_range_inverted"), getdesync())
        else
            desync = math.min(menu.get_int("anti_aim.desync_range"), getdesync())
        end

        --print(tostring(desync))

        render.draw_text_centered( variables.font, screencenter.x + 3, screencenter.y + 15, color.new(255,255,255), true, true, tostring(desync).."°" )
        GradientRect(screencenter.x - (desync / 2), screencenter.y + 25, desync / 2, 2, color.new(255,255,255,0), desynccolor, true)
        GradientRect(screencenter.x, screencenter.y + 25, desync / 2, 2, desynccolor, color.new(255,255,255,0), true)
    end

end

client.add_callback( 'create_move', lagsync )
client.add_callback( 'on_paint', desyncline )

client.add_callback("on_paint", function()
    if menu.get_bool( 'Crosshair Indicators' ) then
        variables.count = 0
        for _, v in pairs(names) do
            add_bind(v, variables.pos_x, variables.pos_y, draw_stuff.cond)
        end
    end
end)
-------------------------------------------------------------------------------------------Crosshair-Indicator
-------------------------------------------------------------------------------------------------Custom Chams
----------made by Al3gz----------
-- Discord : dziut#8822
-- Yt : https://www.youtube.com/c/Al3gz/videos




local wireframe1 = [[
    {
    "$wireframe"                "1"
    "$envmapfresnelminmaxexp"   "[0 2 4]"
    "$envmaptint"               "255, 255, 255"
    "$alpha"                    "1"
    }
]]
local glow = [[
    {
        "$additive" "1"
        "$envmap" "models/effects/cube_white"
        "$envmaptint" "[1 1 1]"
        "$envmapfresnel" "1"
        "$envmapfresnelminmaxexp" "[0 1 2]"
        "$alpha" "1"
    }
]]

local metalicz = [[
    {
    "$basetexture"                "detail/dt_metal1"
    "$additive"                    "1"
    "$envmap"                    "editor/cube_vertigo"
    "$color"                "[.05 .05 .05]"
    "$additive"            "0"

]]

local discoball = [[
{
            "$basetexture" "vgui/white_additive"
            "$bumpmap" "models/weapons/customization/materials/origamil_camo"
            "$nocull" "1"
            "$nofog" "1"
            "$model" "1"
            "$nocull" "0"
            "$phong" "1"
            "$phongboost" "0"
            "$basemapalphaphongmask" "1"
            "$pearlescent" "2"
        }
        ]]
local Intellect = [[
    {
        "$basetexture" "nature/urban_puddle01a_ssbump"
        "$flat" "1"
        "$additive" "1"
        "$selfillum" "1"
        "$nocull" "1"
        "$alpha"                    "0.5"
        "Proxies"
        {
                "TextureScroll"
                {
                        "texturescrollvar" "$BasetextureTransform"
                        "texturescrollrate" "1"
                        "texturescrollangle" "100"
                }
        }
    }
]]

material.create("Intellect", Intellect, false)
material.create("Glow", glow, false)
material.create("Metalic",metalicz, false)
material.create("Wireframe", wireframe1, false)
material.find("Blinking","models/inventory_items/dogtags/dogtags_outline")
material.find("Wood","models/props/de_dust/hr_dust/foliage/palm_bark_01")
material.create("Origami", discoball, false)
-------------------------------------------------------------------------------------------------Custom Chams
-------------------------------------------------------------------------------------------------BuyBot
menu.add_check_box("Enable BuyBot")
menu.next_line()
menu.add_combo_box("Rifle", {"None", "Scout", "AWP", "Auto"})
menu.add_combo_box("Pistol", {"None", "Elite", "Heavy"})
menu.add_combo_box("Other", {"None", "Nades and Gear"})


events.register_event("round_start", function()
    if menu.get_bool("Enable BuyBot") then
        if menu.get_int("Rifle") == 1 then
            console.execute("buy ssg08")
        elseif menu.get_int("Rifle") == 2 then
            console.execute("buy awp")
        elseif menu.get_int("Rifle") == 3 then
            console.execute("buy scar20")
        end

        if menu.get_int("Pistol") == 1 then
            console.execute("buy elite")
        elseif menu.get_int("Pistol") == 2 then
            console.execute("buy deagle")
        end

        if menu.get_int("Other") == 1 then
            console.execute("buy vest")
            console.execute("buy vesthelm")
            console.execute("buy smokegrenade")
            console.execute("buy hegrenade")
            console.execute("buy molotov")
            console.execute("buy defuser")
            console.execute("buy taser")
        end
    end
end)

-------------------------------------------------------------------------------------------------BuyBot
-------------------------------------------------------------------------------------------------LowDelta
menu.add_check_box("Low Delta on Slow Walk")
--function
local font = render.create_font("arial", 13.5, 0, true, false, true)
function ld()
    local screen_x = engine.get_screen_width()
    local screen_y = engine.get_screen_height()
    if menu.get_bool("Low Delta on Slow Walk") then
        if menu.get_key_bind_state("misc.slow_walk_key") then
            menu.set_int("anti_aim.yaw_offset", 0)
            menu.set_int("anti_aim.desync_range", 45)
            menu.set_int("anti_aim.desync_range_inverted", 17)
        else
            menu.set_int("anti_aim.yaw_offset", 0)
            menu.set_int("anti_aim.desync_range", 26)
            menu.set_int("anti_aim.desync_range_inverted", 26)
        end
    end
end
--callback
client.add_callback("on_paint", ld)
-------------------------------------------------------------------------------------------------LowDelta
-------------------------------------------------------------------------------------------------force
menu.add_key_bind("FSF-on-Key")
client.add_callback("on_paint", function()
    if not engine.is_in_game() then return end
   
    for nomer = 0, 64 do
        if menu.get_key_bind_state( "FSF-on-Key" ) == true then
            menu.set_bool( "player_list.player_settings[" .. nomer .. "].force_safe_points", true )
        else
            menu.set_bool( "player_list.player_settings[" .. nomer .. "].force_safe_points", false )
        end
    end
end)
-------------------------------------------------------------------------------------------------force
-------------------------------------------------------------------------------------------------Hitsound
-- ffi.
local ffi = require("ffi")

-- vgui surface.
local g_VGuiSurface = ffi.cast(ffi.typeof("void***"), utils.create_interface("vguimatsurface.dll", "VGUI_Surface031"))

-- play sound when hit.
local play_sound = ffi.cast(ffi.typeof('void(__thiscall*)(void*, const char*)'), g_VGuiSurface[0][82])

-- custom hitsound.
local function custom_hitsound(event)
    local attacker = event:get_int("attacker")
    local attacker_idx = engine.get_player_for_user_id(attacker)

    if attacker_idx ~= engine.get_local_player_index() then
        return
    end

    play_sound(g_VGuiSurface, "nepherium.wav")
end

-- register event.
events.register_event("player_hurt", custom_hitsound)
-------------------------------------------------------------------------------------------------Hitsound
-------------------------------------------------------------------------------------------------static legs
menu.add_check_box( 'static legs in air' )

local ffi = require  ("ffi")

ffi.cdef[[
    typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);

    typedef struct
    {
        float x;
        float y;
        float z;
    } Vector_t;

    typedef struct
    {
        char        pad0[0x60]; // 0x00
        void*       pEntity; // 0x60
        void*       pActiveWeapon; // 0x64
        void*       pLastActiveWeapon; // 0x68
        float        flLastUpdateTime; // 0x6C
        int            iLastUpdateFrame; // 0x70
        float        flLastUpdateIncrement; // 0x74
        float        flEyeYaw; // 0x78
        float        flEyePitch; // 0x7C
        float        flGoalFeetYaw; // 0x80
        float        flLastFeetYaw; // 0x84
        float        flMoveYaw; // 0x88
        float        flLastMoveYaw; // 0x8C // changes when moving/jumping/hitting ground
        float        flLeanAmount; // 0x90
        char        pad1[0x4]; // 0x94
        float        flFeetCycle; // 0x98 0 to 1
        float        flMoveWeight; // 0x9C 0 to 1
        float        flMoveWeightSmoothed; // 0xA0
        float        flDuckAmount; // 0xA4
        float        flHitGroundCycle; // 0xA8
        float        flRecrouchWeight; // 0xAC
        Vector_t    vecOrigin; // 0xB0
        Vector_t    vecLastOrigin;// 0xBC
        Vector_t    vecVelocity; // 0xC8
        Vector_t    vecVelocityNormalized; // 0xD4
        Vector_t    vecVelocityNormalizedNonZero; // 0xE0
        float        flVelocityLenght2D; // 0xEC
        float        flJumpFallVelocity; // 0xF0
        float        flSpeedNormalized; // 0xF4 // clamped velocity from 0 to 1
        float        flRunningSpeed; // 0xF8
        float        flDuckingSpeed; // 0xFC
        float        flDurationMoving; // 0x100
        float        flDurationStill; // 0x104
        bool        bOnGround; // 0x108
        bool        bHitGroundAnimation; // 0x109
        char        pad2[0x2]; // 0x10A
        float        flNextLowerBodyYawUpdateTime; // 0x10C
        float        flDurationInAir; // 0x110
        float        flLeftGroundHeight; // 0x114
        float        flHitGroundWeight; // 0x118 // from 0 to 1, is 1 when standing
        float        flWalkToRunTransition; // 0x11C // from 0 to 1, doesnt change when walking or crouching, only running
        char        pad3[0x4]; // 0x120
        float        flAffectedFraction; // 0x124 // affected while jumping and running, or when just jumping, 0 to 1
        char        pad4[0x208]; // 0x128
        float        flMinBodyYaw; // 0x330
        float        flMaxBodyYaw; // 0x334
        float        flMinPitch; //0x338
        float        flMaxPitch; // 0x33C
        int            iAnimsetVersion; // 0x340
    } CCSGOPlayerAnimationState_534535_t;
]]

local entity_list_ptr = ffi.cast("void***", utils.create_interface("client.dll", "VClientEntityList003"))
local get_client_entity_fn = ffi.cast("GetClientEntity_4242425_t", entity_list_ptr[0][3])

local ffi_helpers = {
    get_entity_address = function(ent_index)
        local addr = get_client_entity_fn(entity_list_ptr, ent_index)
        return addr
    end
}

local shared_onground

client.add_callback("on_paint", function()
    local localplayer = entitylist.get_local_player()
    if not localplayer then return end
    local bOnGround = bit.band(math.floor(localplayer:get_prop_float("CBasePlayer", "m_fFlags")), bit.lshift(1,0)) ~= 0


    if menu.get_bool( 'static legs in air' ) and not bOnGround then
        ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].flDurationInAir = 99 -- 99 to enable / 1 to disable
        ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].flHitGroundCycle = 0
        ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].bHitGroundAnimation = false
    end
    if not menu.get_bool( 'static legs in air' ) then
        ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].flDurationInAir = 1 -- 99 to enable / 1 to disable
        ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].flHitGroundCycle = 0
        ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].bHitGroundAnimation = false
    end

end)

client.add_callback("on_paint", function()
    local localplayer = entitylist.get_local_player()
    if not localplayer then return end
    local bOnGround = bit.band(math.floor(localplayer:get_prop_float("CBasePlayer", "m_fFlags")), bit.lshift(1,0)) ~= 0
    if bOnGround and not shared_onground then ffi.cast("CCSGOPlayerAnimationState_534535_t**", ffi_helpers.get_entity_address(localplayer:get_index()) + 14612)[0].flDurationInAir = 0.5 end -- ACT_CSGO_LAND_LIGHT
end)
-------------------------------------------------------------------------------------------------static legs
проверка вырезана
локации к гх я тоже проебал
 
Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А за чё
 
Сверху Снизу