Parachute Lite

Parachute Lite 11.0

Нет прав для скачивания
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Leo_BH, Как так получилось, что у вас 11.0 версия "разработки" на 20 строк кода?
21 Янв 2019
В чем суть махинаций с гравитацией? Не улавливаю
21 Янв 2019
В целом, наиболее выгодный вариант хука движения игрока в воздухе для использования под парашют является:
PM_Move() -> PM_PlayerMove()-> PM_AirMove() , который вызывается только в случае:
Код:
// determine if we are not on ground
if(pmove->onground == -1)
Не знаю зачем многие постоянно ищут как изобрести велосипед.
 
Последнее редактирование:
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
GALAXY, по сути эта версия должна быть лучшая, от ReHLDS Team.
Код:
#include <amxmodx>
#include <reapi>

public plugin_init()
{
    register_plugin("[ReAPI] Parachute", "1.1", "ReHLDS Team");
    RegisterHookChain(RG_PM_AirMove, "PM_AirMove", false);
}

public PM_AirMove(const playerIndex)
{
    if (!(get_entvar(playerIndex, var_button) & IN_USE)
    || get_entvar(playerIndex, var_waterlevel) > 0) {
        return;
    }
    new Float:flVelocity[3];
    get_entvar(playerIndex, var_velocity, flVelocity);
    if (flVelocity[2] < 0.0)
    {
        flVelocity[2] = (flVelocity[2] + 40.0 < -100.0) ? flVelocity[2] + 40.0 : -100.0;
        set_entvar(playerIndex, var_sequence, ACT_WALK);
        set_entvar(playerIndex, var_gaitsequence, ACT_IDLE);
        set_pmove(pm_velocity, flVelocity);
        set_movevar(mv_gravity, 80.0);
    }
}
 
Сообщения
332
Реакции
75
Предупреждения
9
Помог
1 раз(а)
Спасибо обоим
 
Сообщения
22
Реакции
8
Помог
2 раз(а)
В версии от ReHLDS Team есть баг двойного прыжка (если не исправляли)
тестил где-то год назад.
 
Сообщения
1,104
Реакции
319
Разве строку if (get_entvar(id, var_gravity) == 0.1) set_entvar(id, var_gravity, 1.0);
нельзя убрать?

Зачем дважды устанавливать гравитацию каждый раз, это же занимает процессорное время.
12 Июл 2021
Или переместить set_entvar(id, var_gravity, 1.0); в else
12 Июл 2021
А так работает замечательно намного лучше чем в PM_AirMove (без дерганий).
Второй вариант слишком дерганный был, игрока раз 5-10 в секунду толкает как бы)
12 Июл 2021
Но можно еще сильнее оптимизировать сейчас дважды проверяется и устанавливается гравитация, эту строку можно переместить в else { } , код будет чуть чуть массивнее но будет работать намнооого быстреее.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу