LUA скрипт Super toss ready to paste

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
25 Апр 2019
Сообщения
162
Реакции
79
code:
Expand Collapse Copy
local get_local_player = entity.get_local_player
local exploit = rage.exploit
local clamp = math.clamp
local vector = vector
local abs = math.abs


local ui_air_strafe = ui.find("Miscellaneous", "Main", "Movement", "Air Strafe")
local ui_strafe_assist = ui.find("Miscellaneous", "Main", "Movement", "Strafe Assist")

local ui_overridden = ffi.new("bool[1]")
ui_overridden[0] = false


local resolve_grenade_throw = function(goal_angles, throw_speed, throw_strength, player_velocity)
    local goal_forward = vector():angles(goal_angles.x - 10 + abs(goal_angles.x) / 9, goal_angles.y)

    local player_velocity_multiplied = player_velocity * 1.25

    local grenade_speed = clamp(throw_speed * 0.9, 15, 750) * (clamp(throw_strength, 0, 1) * 0.7 + 0.3)

    local new_forward = goal_forward

    for _ = 1, 8 do
        new_forward = (goal_forward * (new_forward * grenade_speed + player_velocity_multiplied):length() - player_velocity_multiplied) / grenade_speed
        new_forward:normalize()
    end

    local new_angles = new_forward:angles()

    if new_angles.x > -10 then
        new_angles.x = 0.9 * new_angles.x + 9
    else
        new_angles.x = 1.125 * new_angles.x + 11.25
    end

    return new_angles
end


local grenade_override_view = function(grenade)
    local weapon = get_local_player():get_player_weapon()
    local weapon_info = weapon:get_weapon_info()

    grenade.angles = resolve_grenade_throw(grenade.angles, weapon_info.throw_velocity, weapon.m_flThrowStrength, grenade.velocity)
end
events.grenade_override_view(grenade_override_view)

local createmove = function(user_cmd)
    if ui_overridden[0] == true then
        ui_air_strafe:override()
        ui_strafe_assist:override()

        ui_overridden[0] = false
    end

    if user_cmd.jitter_move ~= true then
        return
    end

    local local_player = get_local_player()
    if local_player == nil then
        return
    end
    if local_player:is_alive() ~= true then
        return
    end

    local weapon = local_player:get_player_weapon()
    if weapon == nil then
        return
    end

    local weapon_info = weapon:get_weapon_info()
    if weapon_info == nil then
        return
    end
    if weapon_info.weapon_type ~= 9 then
        return
    end

    if (weapon.m_fThrowTime > 0 and weapon.m_fThrowTime - 0.1 * exploit:get() <= globals.curtime) ~= true then
        return
    end

    ui_air_strafe:override(false)
    ui_strafe_assist:override(false)

    ui_overridden[0] = true

    local simulated_local_player = local_player:simulate_movement()
    simulated_local_player:think()

    user_cmd.view_angles = resolve_grenade_throw(user_cmd.view_angles, weapon_info.throw_velocity, weapon.m_flThrowStrength, simulated_local_player.velocity)
end
events.createmove(createmove)

там в аестетике какихто лишних проверок понадобавляли, держите сурсик от профессионального кодера
теперь шелзи сможет сделать супертосс
 
поздравляю с ликом аестетика, молодые люди!
 
шакси $елф код
 
Назад
Сверху Снизу