Загрузка данных


-- ========================================================
-- Enigma CS2 Legit Helper Script (Fixed UI)
-- ========================================================

-- Create UI Elements directly in Menu
local dynamic_smooth = menu.add_checkbox("Dynamic Smooth on Spray")
local min_smooth = menu.add_slider("Minimum Smooth", 1, 20)

local engine_radar = menu.add_checkbox("Force Engine Radar")
local hitmarker_toggle = menu.add_checkbox("Custom Hitmarker")

-- Hitmarker variables
local hit_time = 0
local hit_duration = 0.25

-- 1. Dynamic Smooth / FOV Handler
events.create_move:add(function(cmd)
    local local_player = entity.get_local_player()
    if not local_player or not local_player:is_alive() then return end

    if dynamic_smooth:get() then
        local shots_fired = local_player:get_prop("m_iShotsFired") or 0
        
        if shots_fired > 2 then
            local current_min = min_smooth:get()
            cvar.aim_smooth:set_float(math.max(1, current_min - (shots_fired * 0.5)))
        end
    end
end)

-- 2. Force Engine Radar
events.net_update_end:add(function()
    if not engine_radar:get() then return end

    local players = entity.get_players(true)
    for _, player in ipairs(players) do
        if player and player:is_alive() and not player:is_dormant() then
            player:set_prop("m_bSpotted", true)
        end
    end
end)

-- 3. Hitmarker Drawing
events.player_hurt:add(function(event)
    if not hitmarker_toggle:get() then return end

    local attacker = entity.get_by_userid(event.attacker)
    local local_player = entity.get_local_player()

    if attacker == local_player then
        hit_time = global_vars.realtime
        client.play_sound("buttons/arena_switch_press_02.wav")
    end
end)

events.paint:add(function()
    if not hitmarker_toggle:get() then return end
    if global_vars.realtime > hit_time + hit_duration then return end

    local screen_size = render.get_screen_size()
    local cx, cy = screen_size.x / 2, screen_size.y / 2
    local size = 6
    local gap = 3

    local alpha = math.floor((1 - ((global_vars.realtime - hit_time) / hit_duration)) * 255)
    local color = render.color(255, 255, 255, alpha)

    render.line(cx - gap - size, cy - gap - size, cx - gap, cy - gap, color)
    render.line(cx + gap, cy - gap, cx + gap + size, cy - gap - size, color)
    render.line(cx - gap - size, cy + gap + size, cx - gap, cy + gap, color)
    render.line(cx + gap, cy + gap, cx + gap + size, cy + gap + size, color)
end)