Вопрос по нативу rg_give_defusekit

d3m37r4

111111
Сообщения
1,425
Реакции
1,166
Помог
10 раз(а)
Всем доброго времени суток!
Вопрос такой: при выдаче дефузов стоит-ли проверять, имеются ли дефуза у игрока или нет?
Код:
cell AMX_NATIVE_CALL rg_give_defusekit(AMX *amx, cell *params)
{
    enum args_e { arg_count, arg_index, arg_def, arg_color, arg_icon, arg_flash };

    CHECK_GAMERULES();
    CHECK_ISPLAYER(arg_index);

    CBasePlayer *pPlayer = UTIL_PlayerByIndex(params[arg_index]);
    CHECK_CONNECTED(pPlayer, arg_index);

    // on the map there is not bomb places
    if (CSGameRules() != nullptr && !CSGameRules()->m_bMapHasBombTarget && !CSGameRules()->m_bMapHasBombZone) {
        return FALSE;
    }

    pPlayer->m_bHasDefuser = pPlayer->pev->body = params[arg_def] != 0;

    if (params[arg_def] != 0)
    {
        Vector* color = (Vector *)getAmxAddr(amx, params[arg_color]);

        char iconbuf[256];
        const char* icon = getAmxString(amx, params[arg_icon], iconbuf);

        MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, nullptr, pPlayer->pev);
            WRITE_BYTE(params[arg_flash] != 0 ? STATUSICON_FLASH : STATUSICON_SHOW);
            WRITE_STRING(icon);
            WRITE_BYTE(color->x);
            WRITE_BYTE(color->y);
            WRITE_BYTE(color->z);
        MESSAGE_END();
    }
    else
    {
        MESSAGE_BEGIN(MSG_ONE, gmsgStatusIcon, nullptr, pPlayer->pev);
            WRITE_BYTE(STATUSICON_HIDE);
            WRITE_STRING("defuser");
        MESSAGE_END();
    }

    return TRUE;
}

И по поводу проверки на "имеет-ли карта зону закладки бомбы", правильно ли я понимаю, что, приведенный ниже кусок кода отвечает за ту самую проверку и добавлять ее в плагине при выдаче не нужно?:
Код:
    // on the map there is not bomb places

    if (CSGameRules() != nullptr && !CSGameRules()->m_bMapHasBombTarget && !CSGameRules()->m_bMapHasBombZone) {

        return FALSE;

    }
 
Сообщения
432
Реакции
409
Помог
14 раз(а)
Вопрос такой: при выдаче дефузов стоит-ли проверять, имеются ли дефуза у игрока или нет?
Только если не хочешь чтоб игроку заново показалась иконка покупки дефкитов
И по поводу проверки на "имеет-ли карта зону закладки бомбы", правильно ли я понимаю, что, приведенный ниже кусок кода отвечает за ту самую проверку и добавлять ее в плагине при выдаче не нужно?:
да
 

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

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