> > > > >

BunnyHop 1.1

Нет прав для скачивания
Сообщения
185
Рейтинг
191
#3
Дайте ему бан за то что он создает стат.переменную и юзает её только один раз.
27 Сен 2018
А ещё за то что юзает пре хук.
27 Сен 2018
И велосити когда ставишь зачем через +=, зачем статик, какое 250? Оно один раз вызывается.
Только первый фрейм на земле.
27 Сен 2018
Не курите.
C++:
#include <amxmodx>
#include <reapi>

new bool:bh_enabled;

public plugin_init()
{
    register_plugin("BunnyHop", "Best", "PurposeLess");

    RegisterHookChain(RG_CBasePlayer_Jump, "@CBasePlayer__Jump_Post", true);

    bind_pcvar_num(create_cvar("bh_enabled", "1", _, "Enable BunnyHop", true, 0.0, true, 1.0), bh_enabled);
}

@CBasePlayer__Jump_Post(iPlayer)
{
    if(!bh_enabled)
        return;

    if(!(get_entvar(iPlayer, var_flags) & FL_ONGROUND))
        return;

    new Float:vecVelocity[3];
    get_entvar(iPlayer, var_velocity, vecVelocity);

    vecVelocity[2] = 268.0;

    set_entvar(iPlayer, var_velocity, vecVelocity);
}
27 Сен 2018
Для тех кому нужно с ограничением скорости (как в кс).
C++:
#include <amxmodx>
#include <reapi>

new bool:bh_enabled;

public plugin_init()
{
    register_plugin("BunnyHop", "Best", "PurposeLess");

    RegisterHookChain(RG_CBasePlayer_Jump, "@CBasePlayer__Jump_Post", true);

    bind_pcvar_num(create_cvar("bh_enabled", "1", _, "Enable BunnyHop", true, 0.0, true, 1.0), bh_enabled);
}

@CBasePlayer__Jump_Post(iPlayer)
{
    if(!bh_enabled)
        return;

    if(!(get_entvar(iPlayer, var_flags) & FL_ONGROUND))
        return;

    new Float:vecVelocity[3];
    get_entvar(iPlayer, var_velocity, vecVelocity);

    PM_PreventMegaBunnyJumping(iPlayer, vecVelocity);

    vecVelocity[2] = 268.0;

    set_entvar(iPlayer, var_velocity, vecVelocity);
}

PM_PreventMegaBunnyJumping(iPlayer, Float:vecVelocity[3])
{
    #define BUNNYJUMP_MAX_SPEED_FACTOR            1.2

    new Float:flMaxScaledSpeed = BUNNYJUMP_MAX_SPEED_FACTOR * Float:get_entvar(iPlayer, var_maxspeed);

    if(flMaxScaledSpeed <= 0.0)
        return;

    new Float:flSpeed = vector_length(vecVelocity);

    if(flSpeed <= flMaxScaledSpeed)
        return;

    new Float:flFraction = (flMaxScaledSpeed / flSpeed) * 0.8;

    vecVelocity[0] *= flFraction;
    vecVelocity[1] *= flFraction;
    vecVelocity[2] *= flFraction;
}
 
Последнее редактирование:
2  
Сообщения
48
Рейтинг
86
#4
fl0wer,
Может тебе тоже по лицу настучать (виртуально конечно же) за то что ты проверки на waterlevel, waterjump не добавил, или за то, что velocity[2] = 268.0, а не 268.328155?
 
2  
Сообщения
185
Рейтинг
191
#5
juice, о, повелся, спасибо за число, а то не хотелось лезть в исходники))
 
 
Сообщения
36
Рейтинг
5
#6
Ошибка компиляции:

AMX Mod X Compiler 1.8.3-dev+5147
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

bunnyhop.sma(7) : error 035: argument type mismatch (argument 2)
bunnyhop.sma(11) : error 017: undefined symbol "bind_pcvar_num"

2 Errors.
Could not locate output file bunnyhop.amx (compile failed).
 
Неверный раздел форума
-1  
> > > > >