Поиск Блокировка покупки гранат более 1 раза за раунд

Сообщения
2,288
Реакции
1,737
Помог
31 раз(а)
Ищу плагин, который блокирует покупку HE и SMOKE более 1 раза за раунд, а так же блок покупки FLASH более двух штук за раунд. Есть ли такой вообще я незнаю, но сам найти не смог.
 
Сообщения
580
Реакции
338
Предупреждения
1
Помог
9 раз(а)
Код:
#include <amxmodx>
#include <reapi>

const LIMIT_FLASHBANG = 2
const LIMIT_HEGREANDE = 1
const LIMIT_SMOKENADE = 1

new g_iLimit_Flash[33], g_iLimit_HE[33], g_iLimit_Smoke[33]
public plugin_init()
{
    RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "HC_HasRestrictItem_Pre", false)
    RegisterHookChain(RG_CBasePlayer_Spawn, "HC_CBasePlayer_Spawn_Post", true)
}
public HC_HasRestrictItem_Pre(const this, ItemID:item, ItemRestType:type)
{
    if(!is_user_connected(this)) return HC_CONTINUE

    if(type == ITEM_TYPE_BUYING)
    {
        switch(item)
        {
            case ITEM_FLASHBANG:
            {
                g_iLimit_Flash[this]++
                if(g_iLimit_Flash[this] > LIMIT_FLASHBANG)
                {
                    client_print(this, print_center, "В этом раунде можно купить только %d ослеп. гранат.", LIMIT_FLASHBANG)
                    SetHookChainReturn(ATYPE_INTEGER, true)
                    return HC_SUPERCEDE
                }
            }
            case ITEM_HEGRENADE:
            {
                g_iLimit_HE[this]++
                if(g_iLimit_HE[this] > LIMIT_HEGREANDE)
                {
                    client_print(this, print_center, "В этом раунде можно купить только %d взрыв. гранат.", LIMIT_HEGREANDE)
                    SetHookChainReturn(ATYPE_INTEGER, true)
                    return HC_SUPERCEDE
                }
            }
            case ITEM_SMOKEGRENADE:
            {
                g_iLimit_Smoke[this]++
                if(g_iLimit_Smoke[this] > LIMIT_SMOKENADE)
                {
                    client_print(this, print_center, "В этом раунде можно купить только %d дым. гранат.", LIMIT_SMOKENADE)
                    SetHookChainReturn(ATYPE_INTEGER, true)
                    return HC_SUPERCEDE
                }
            }
        }
    }
    return HC_CONTINUE
}
public HC_CBasePlayer_Spawn_Post(const id)
{
    g_iLimit_Flash[id] = 0
    g_iLimit_HE[id] = 0
    g_iLimit_Smoke[id] = 0
}
держи, когда-то писал для своего сервера:bad:
 
Сообщения
580
Реакции
338
Предупреждения
1
Помог
9 раз(а)
perforator, да хз, сегодня попробую закинуть
 

d3m37r4

111111
Сообщения
1,426
Реакции
1,167
Помог
10 раз(а)
steelzzz, над еще учесть, выдачу гранат через випки и т.д.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
d3m37r4, тогда нужно докинуть проверку на тип ITEM_TYPE_EQUIPPED или хукать в пре RG_CBasePlayer_AddPlayerItem
Хотя, там есть еще полно хуков с более узким профилем отлова.
 

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

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