Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

LUA скрипт [skeet] ideal.yaw replica v1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Мар 2026
Сообщения
80
Реакции
7
короч у меня слишком сильно слюни на идеал яв текут поэтому я используя руки и дипсик написал что то похожее на идеал яв
антиаимы неплохие, на фейклагах стабильно (не в хайвело мувах) могут 2+ раза промиссать
буду апдейтить ибо индикаторы не сильно похожи на O.G.шный идеал яв


ideal yaw:
Expand Collapse Copy
local ui_get = ui.get
local ui_set = ui.set
local ui_ref = ui.reference
local ui_new_combobox = ui.new_combobox

local yaw_reference, yaw_val_reference = ui_ref("AA", "Anti-aimbot angles", "Yaw")
local yaw_jitter_reference, yaw_jitter_val_reference = ui_ref("AA", "Anti-aimbot angles", "Yaw jitter")
local yaw_base_reference = ui_ref("AA", "Anti-aimbot angles", "Yaw base")
local reference_fake, reference_fake_slider = ui_ref("AA", "Anti-aimbot angles", "body yaw")
local freestanding_reference = ui_ref("AA", "Anti-aimbot angles", "Freestanding")
local freestanding = ui_ref("AA", "Anti-aimbot angles", "Freestanding body yaw")
local on_shot_ref = ui.reference("AA", "Other", "On shot anti-aim")
local duck_peek_ref = ui.reference("RAGE", "Other", "Duck peek assist")

local body_yaw_ref, body_yaw_slider_ref = ui_ref("AA", "Anti-aimbot angles", "Body yaw")
local freestanding_body_yaw_ref = ui_ref("AA", "Anti-aimbot angles", "Freestanding body yaw")

local yaw_type = ui_new_combobox("AA", "Anti-aimbot angles", "Yaw type", "Default", "Ideal")
local fake_type = ui_new_combobox("AA", "Anti-aimbot angles", "Fake type", "Default", "Dynamic")

local ref_doubletap = { ui.reference("RAGE", "Aimbot", "Double Tap") }
local on_shot_ref_item = ui.reference("AA", "Other", "On shot anti-aim")

local invert_until = 0
local current_invert = false
local is_in_danger = false
local danger_timer = 0

local function is_dt()
    local local_player = entity.get_local_player()
    if not local_player or not entity.is_alive(local_player) then return false end
    
    local active_weapon = entity.get_prop(local_player, "m_hActiveWeapon")
    if not active_weapon then return false end
    
    local nextAttack = entity.get_prop(local_player, "m_flNextAttack") or 0
    local nextShot = entity.get_prop(active_weapon, "m_flNextPrimaryAttack") or 0
    local nextShotSecondary = entity.get_prop(active_weapon, "m_flNextSecondaryAttack") or 0
    
    nextAttack = nextAttack + 0.5
    nextShot = nextShot + 0.5
    nextShotSecondary = nextShotSecondary + 0.5
    
    if ui_get(ref_doubletap[1]) and ui_get(ref_doubletap[2]) then
        if math.max(nextShot, nextShotSecondary) < nextAttack then
            if nextAttack - globals.curtime() > 0.00 then
                return false
            else
                return true
            end
        else
            if math.max(nextShot, nextShotSecondary) - globals.curtime() > 0.00 then
                return false
            else
                return true
            end
        end
    end
    return false
end

local function check_danger()
    local local_player = entity.get_local_player()
    if not local_player or not entity.is_alive(local_player) then
        is_in_danger = false
        return false
    end
    
    local eye_x, eye_y, eye_z = client.eye_position()
    local enemies = entity.get_players(true)
    
    for i = 1, #enemies do
        local enemy = enemies[i]
        if entity.is_alive(enemy) and not entity.is_dormant(enemy) then
            local enemy_head_x, enemy_head_y, enemy_head_z = entity.hitbox_position(enemy, 0)
            
            if enemy_head_x then
                local fraction, hit = client.trace_line(local_player, eye_x, eye_y, eye_z, enemy_head_x, enemy_head_y, enemy_head_z)
                
                if fraction < 0.95 then
                    is_in_danger = true
                    danger_timer = globals.realtime() + 0.5
                    return true
                end
            end
        end
    end
    
    if danger_timer > globals.realtime() then
        return true
    end
    
    is_in_danger = false
    return false
end

ui_set_visible = ui.set_visible
ui_set_visible(body_yaw_ref, false)
ui_set_visible(body_yaw_slider_ref, false)
ui_set_visible(freestanding_body_yaw_ref, false)

local function vector(x, y, z)
    return { x = x or 0, y = y or 0, z = z or 0 }
end

local function vector_length(v)
    return math.sqrt(v.x * v.x + v.y * v.y + (v.z or 0) * (v.z or 0))
end

local function get_velocity(ent)
    local vx = entity.get_prop(ent, "m_vecVelocity[0]") or 0
    local vy = entity.get_prop(ent, "m_vecVelocity[1]") or 0
    return vector(vx, vy, 0)
end

local function get_origin(ent)
    local x, y, z = entity.get_origin(ent)
    if x then return vector(x, y, z) end
    return nil
end

local function get_eye_position(ent)
    local origin = get_origin(ent)
    if not origin then return nil end
    local duck = entity.get_prop(ent, "m_flDuckAmount") or 0
    origin.z = origin.z + 46 + (1 - duck) * 18
    return origin
end

local function find_closest_wall_distance(origin, eye_pos)
    local angles = { -180, -135, -90, -45, 0, 45, 90, 135, 180 }
    local closest_dist = 999999
    
    for _, ang in ipairs(angles) do
        local rad = math.rad(ang)
        local dir = vector(math.cos(rad), math.sin(rad), 0)
        local endpoint = { x = origin.x + dir.x * 300, y = origin.y + dir.y * 300, z = eye_pos.z }
        
        local fraction, hit_ent = client.trace_line(-1, eye_pos.x, eye_pos.y, eye_pos.z, endpoint.x, endpoint.y, endpoint.z)
        
        if fraction < 1 then
            local hit_dist = fraction * 300
            if hit_dist < closest_dist then
                closest_dist = hit_dist
            end
        end
    end
    
    return closest_dist
end

local function find_closest_wall_angle(origin, eye_pos)
    local angles = { -180, -135, -90, -45, 0, 45, 90, 135, 180 }
    local closest_dist = 999999
    local best_angle = 0
    
    for _, ang in ipairs(angles) do
        local rad = math.rad(ang)
        local dir = vector(math.cos(rad), math.sin(rad), 0)
        local endpoint = { x = origin.x + dir.x * 300, y = origin.y + dir.y * 300, z = eye_pos.z }
        
        local fraction, hit_ent = client.trace_line(-1, eye_pos.x, eye_pos.y, eye_pos.z, endpoint.x, endpoint.y, endpoint.z)
        
        if fraction < 1 then
            local hit_dist = fraction * 300
            if hit_dist < closest_dist then
                closest_dist = hit_dist
                best_angle = ang
            end
        end
    end
    
    return best_angle, closest_dist
end

local function is_in_air(ent)
    local flags = entity.get_prop(ent, "m_fFlags") or 0
    return bit.band(flags, 1) == 0
end

local function get_speed(ent)
    local vel = get_velocity(ent)
    return vector_length(vel)
end

local function apply_ideal_yaw()
    local local_player = entity.get_local_player()
    if not local_player or not entity.is_alive(local_player) then
        return
    end
    
    local origin = get_origin(local_player)
    local eye_pos = get_eye_position(local_player)
    if not origin or not eye_pos then return end
    
    local speed = get_speed(local_player)
    local in_air = is_in_air(local_player)
    local wall_dist = find_closest_wall_distance(origin, eye_pos)
    
    if speed < 15 and not in_air then
        if wall_dist > 15 then
            ui_set(body_yaw_ref, "jitter")
            ui_set(body_yaw_slider_ref, 0)
        else
            local best_angle = find_closest_wall_angle(origin, eye_pos)
            ui_set(body_yaw_ref, "static")
            if best_angle > 0 then
                ui_set(body_yaw_slider_ref, 180)
            else
                ui_set(body_yaw_slider_ref, -180)
            end
        end
        ui_set(freestanding_body_yaw_ref, true)
    elseif in_air then
        if wall_dist > 50 then
            ui_set(body_yaw_ref, "jitter")
            ui_set(body_yaw_slider_ref, 0)
        else
            local best_angle = find_closest_wall_angle(origin, eye_pos)
            ui_set(body_yaw_ref, "static")
            if best_angle > 0 then
                ui_set(body_yaw_slider_ref, 180)
            else
                ui_set(body_yaw_slider_ref, -180)
            end
        end
        ui_set(freestanding_body_yaw_ref, true)
    else
        if wall_dist > 40 then
            ui_set(body_yaw_ref, "jitter")
            ui_set(body_yaw_slider_ref, 0)
        else
            local best_angle = find_closest_wall_angle(origin, eye_pos)
            ui_set(body_yaw_ref, "static")
            if best_angle > 0 then
                ui_set(body_yaw_slider_ref, 180)
            else
                ui_set(body_yaw_slider_ref, -180)
            end
        end
        ui_set(freestanding_body_yaw_ref, false)
    end
end

local function apply_dynamic_fake()
    local now = globals.realtime()
    
    if now < invert_until then
        if not current_invert then
            local current_val = ui_get(body_yaw_slider_ref)
            if type(current_val) == "number" then
                if current_val == 180 then
                    ui_set(body_yaw_slider_ref, -180)
                elseif current_val == -180 then
                    ui_set(body_yaw_slider_ref, 180)
                elseif current_val == 0 then
                    ui_set(body_yaw_slider_ref, 0)
                else
                    ui_set(body_yaw_slider_ref, -current_val)
                end
            end
            current_invert = true
        end
    else
        if current_invert then
            local current_val = ui_get(body_yaw_slider_ref)
            if type(current_val) == "number" then
                if current_val == 180 then
                    ui_set(body_yaw_slider_ref, -180)
                elseif current_val == -180 then
                    ui_set(body_yaw_slider_ref, 180)
                elseif current_val == 0 then
                    ui_set(body_yaw_slider_ref, 0)
                else
                    ui_set(body_yaw_slider_ref, -current_val)
                end
            end
            current_invert = false
        end
        current_invert = false
    end
end

client.set_event_callback("player_hurt", function(data)
    if ui_get(fake_type) ~= "Dynamic" then return end
    local victim = client.userid_to_entindex(data.userid)
    local local_player = entity.get_local_player()
    if victim == local_player then
        invert_until = globals.realtime() + 3
    end
end)

client.set_event_callback("aim_miss", function(data)
    if ui_get(fake_type) ~= "Dynamic" then return end
    local local_player = entity.get_local_player()
    if data.target and data.target == local_player then
        invert_until = globals.realtime() + 3
    end
end)

client.set_event_callback("paint", function()
    local current_fake_type = ui_get(fake_type)
    local current_yaw_type = ui_get(yaw_type)
    
    if current_yaw_type == "Ideal" then
        apply_ideal_yaw()
        if current_fake_type == "Dynamic" then
            apply_dynamic_fake()
        end
        check_danger()
        
        local screen_w, screen_h = client.screen_size()
        local center_w, center_h = screen_w / 2, screen_h / 2
        
        if is_in_danger then
            renderer.text(center_w, center_h + 2, 255, 0, 0, 255, 0, 0, "IDEAL YAW")
        else
            renderer.text(center_w, center_h + 2, 215, 114, 44, 255, 0, 0, "IDEAL YAW")
        end
        
        if current_fake_type == "Dynamic" then
            renderer.text(center_w, center_h + 12, 209, 139, 230, 255, 0, 0, "DYNAMIC")
        else
            renderer.text(center_w, center_h + 12, 255, 0, 0, 255, 0, 0, "DEFAULT")
        end
        
        if ui_get(ref_doubletap[1]) and ui_get(ref_doubletap[2]) then
            if is_dt() then
                renderer.text(center_w, center_h + 22, 10, 245, 5, 255, 0, 0, "DT")
            else
                renderer.text(center_w, center_h + 22, 245, 10, 5, 255, 0, 0, "DT")
            end
        end
        
        local on_shot_state = ui_get(on_shot_ref_item)
        if on_shot_state then
            renderer.text(center_w, center_h + 32, 255, 255, 255, 255, 0, 0, "AA")
        end
        
        local duck_state = ui_get(duck_peek_ref)
        if duck_state then
            renderer.text(center_w, center_h + 42, 255, 255, 255, 255, 0, 0, "DUCK")
        end
    end
end)
 
Назад
Сверху Снизу