Помогите поправить time_for_info

Сообщения
460
Реакции
68
Помог
7 раз(а)
Короче решил добавить иммунитет для админов когда компилирую ошибка на 65 строке не получается исправить помогите поправить
PHP:
#include <amxmodx>
#include <fakemeta>
#include <reapi>

#define VIP_ACCESS ADMIN_BAN

#define TIME_FOR_INFO 5.0 // Время после смерти, через которое живые не услышат игрока

#if !defined MAX_PLAYERS
    #define MAX_PLAYERS 32
#endif

#if AMXX_VERSION_NUM < 183
    #define client_disconnected client_disconnect
    #include <colorchat>
#endif

#define is_user_vip(%0) (get_user_flags(%0) & VIP_ACCESS)

new bool:g_bBlockVoice[MAX_PLAYERS + 1];
new g_iUserAlive[MAX_PLAYERS + 1];

public plugin_init()
{
    register_plugin("Time for info", "1.0", "neugomon");
   
    RegisterHookChain(RG_CBasePlayer_Spawn, "fwdPlayerSpawnPost", true);
    RegisterHookChain(RG_CBasePlayer_Killed, "fwdPlayerKilledPost", true);
   
    register_forward(FM_Voice_SetClientListening, "FwdSetClientListening", false);
}

public client_putinserver(id)
{
    if(is_user_vip(id))
    {
        g_iUserAlive[id] = false;
        g_bBlockVoice[id] = false;
    }
    else
    {
        g_iUserAlive[id] = false;
        g_bBlockVoice[id] = true;      
    }
}  

public fwdPlayerSpawnPost(id)
{
    if(is_user_vip(id)) return;
   
    g_iUserAlive[id] = is_user_alive(id);
    if(g_iUserAlive[id])
        g_bBlockVoice[id] = false;
}

public fwdPlayerKilledPost(const id)
{
    if(is_user_vip(id)) return;
   
    g_iUserAlive[id] = false;
    g_bBlockVoice[id] = true;
}
   
public fwdPlayerKilledPost(const id)
{
    g_iUserAlive[id] = 0;
    client_print_color(id, 0, "^1[^4TFI^1] ^1У Вас есть ^3%.0f сек^1, чтобы дать инфу, далее живые Вас ^3не услышат^1.", TIME_FOR_INFO);
    set_task(TIME_FOR_INFO, "BlockVoice", id);
}
   
public FwdSetClientListening(iReciever, iSender)
{
    if(iSender != iReciever && g_bBlockVoice[iSender] && g_iUserAlive[iReciever])
    {  
        engfunc(EngFunc_SetClientListening, iReciever, iSender, false);
        forward_return(FMV_CELL, false);
        return FMRES_SUPERCEDE;
    }
    return FMRES_IGNORED;
}
   
public BlockVoice(id)
{
    if(!g_iUserAlive[id])
    {
        g_bBlockVoice[id] = true;
        client_print_color(id, 0, "^1[^4TFI^1] ^1Время для передачи инфы ^3истекло^1. Живые игроки Вас ^3не слышат^1.");
    }  
}
10 Янв 2018
Извеняйте если что вот дополнил но всёровно ошибка
 

Вложения

Сообщения
263
Реакции
335
Помог
4 раз(а)
Best777, На скок я вижу, ты пытаешься 2 функции fwdPlayerKilledPost одновременно вызвать, что не верно.
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
SonG, не мне нужно по очереди чтоб были и не получается это чёртов иммунитет прикрутить
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
вам в принципе не нужно туда проверки ставить
достаточно проверять на флаги в fwdPlayerKilledPost перед отправкой сообщения в чат
и в FwdSetClientListening
все остальное можно использовать оригинал.
 

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

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