Пользователь
- Статус
- Оффлайн
- Регистрация
- 25 Апр 2019
- Сообщения
- 162
- Реакции
- 79
code:
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)
там в аестетике какихто лишних проверок понадобавляли, держите сурсик от профессионального кодера
теперь шелзи сможет сделать супертосс