Использование multijump по выбору

Статус
В этой теме нельзя размещать новые ответы.

VALHALLA

Пользователь
Регистрация
17 Сен 2017
Сообщения
55
Симпатии
2
Ребят, подскажите как сделать использование плагина по выбору?
Чтобы любой игрок мог для себя включить или выключить возможность прыгать несколько раз (отталкиваться от воздуха).
Заранее спасибо.


Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>

public plugin_init(){
    register_plugin("Jumps_for_admins", "1.0", "Nikita");
    
    RegisterHam(Ham_Player_Jump, "player", "fwd_PlayerJump", false);
}

public fwd_PlayerJump(id){
        if(pev(id, pev_oldbuttons) & IN_JUMP) return; // нужно
        static iJump[33];
        new Float:velocity[3]; pev(id, pev_velocity, velocity);
        if(iJump[id] >= 2)
        {
                if(pev(id, pev_flags) & FL_ONGROUND){
                        iJump[id] = 1;
                        velocity[2] = random_float(295.0, 305.0);
                }
        }else{
                iJump[id]++;
                velocity[2] = random_float(295.0, 305.0);
        }
        set_pev(id, pev_velocity, velocity);
        set_pev(id, pev_gaitsequence, 6);
}
 

To be or not to be

Пользователь
Регистрация
9 Июн 2017
Сообщения
1.215
Симпатии
304
VALHALLA,
Код:
Добавляешь переменную
new g_Active[33];

Добавляешь команду в plugin_init, по которой будешь Включать и выключать её:
register_clcmd("say /123", "Active");

Добавляешь паблик
public Active(id)
{
    if(!g_Active[id])
        g_Active[id] = true
    else
        g_Active[id] = false;
}

В паблике, где происходит  нужное тебе событие, в самом начале добавляешь проверку:
if(!g_Active[id]) return;
 

VALHALLA

Пользователь
Регистрация
17 Сен 2017
Сообщения
55
Симпатии
2
Так? )
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>

new g_Active[33];

public plugin_init(){
register_plugin("Jumps_for_admins", "1.0", "Nikita");
register_clcmd("say /123", "Active");
RegisterHam(Ham_Player_Jump, "player", "fwd_PlayerJump", false);
}

public Active(id)
{
if(!g_Active[id])
g_Active[id] = true
else
g_Active[id] = false;
}

public fwd_PlayerJump(id){
if(!g_Active[id]) return;
if(pev(id, pev_oldbuttons) & IN_JUMP) return; // нужно
static iJump[33];
new Float:velocity[3]; pev(id, pev_velocity, velocity);
if(iJump[id] >= 2)
{
if(pev(id, pev_flags) & FL_ONGROUND){
iJump[id] = 1;
velocity[2] = random_float(295.0, 305.0);
}
}else{
iJump[id]++;
velocity[2] = random_float(295.0, 305.0);
}
set_pev(id, pev_velocity, velocity);
set_pev(id, pev_gaitsequence, 6);
}
 

To be or not to be

Пользователь
Регистрация
9 Июн 2017
Сообщения
1.215
Симпатии
304
Да
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу