maksgolubovskiy
Участник
- Сообщения
- 118
- Реакции
- 13
- Баллы
- 18
zhorzh78, в CMSRanks_Bonus уже есть подобный
в какой момент нужно вставить то, что вы отправили выше
Код:
public OnCMSRanksBonusMenuAction(eBonusMenuAction:iAction, iClient, iMenu, iItem, aBonusData[eBonuses])
{
new iBonusId = aBonusData[BONUS_ITEM_ID];
if(iBonusId > BONUS_MENU_ITEM_HP)
{
switch(iAction)
{
case BONUS_MENU_ITEM_STATUS:
{
if(IsBonusActive(iClient, iBonusId))
{
menu_item_setname(iMenu, iItem, fmt("%s /r[*]", aBonusData[BONUS_NAME]));
return ITEM_DISABLED;
}
if(!IsBonusItemAllow(iClient, iBonusId))
return ITEM_DISABLED;
if(iBonusId == bonusRespawn && is_user_alive(iClient))
return ITEM_DISABLED;
return ITEM_IGNORE;
}
case BONUS_MENU_CHOOSE_ITEM:
{
new iRound = cmsranks_get_gameround();
switch(iBonusId)
{
case bonusM4A1:
{
rg_give_item(iClient, "weapon_m4a1", GT_DROP_AND_REPLACE);
rg_give_item(iClient, "weapon_deagle", GT_DROP_AND_REPLACE);
rg_set_user_armor(iClient, 100, ARMOR_VESTHELM);
}
case bonusAK:
{
rg_give_item(iClient, "weapon_ak47", GT_DROP_AND_REPLACE);
rg_give_item(iClient, "weapon_deagle", GT_DROP_AND_REPLACE);
rg_set_user_armor(iClient, 100, ARMOR_VESTHELM);
}
case bonusAWP:
{
rg_give_item(iClient, "weapon_awp", GT_DROP_AND_REPLACE);
rg_give_item(iClient, "weapon_deagle", GT_DROP_AND_REPLACE);
rg_set_user_armor(iClient, 100, ARMOR_VESTHELM);
}
case bonus10000:
{
rg_add_account(iClient, 10000);
}
case bonus100hp:
{
set_entvar(iClient, var_health, Float:get_entvar(iClient, var_health) + 100.0);
}
case bonusAllGrens:
{
if(rg_give_item(iClient, "weapon_hegrenade") == -1 &&
rg_give_item(iClient, "weapon_flashbang") == -1 &&
rg_give_item(iClient, "weapon_smokegrenade") == -1)
return PLUGIN_HANDLED;
}
case bonusMegaGren:
{
if(rg_give_custom_item(iClient, "weapon_hegrenade", .uid = UID_MEGA_GREN) == -1)
return PLUGIN_HANDLED;
}
case bonusMegaDgl:
{
if(rg_give_custom_item(iClient, "weapon_deagle", .uid = UID_MEGA_DEAGLE) == -1)
return PLUGIN_HANDLED;
}
case bonusAddDmg, bonusReduceDmg, bonusRefillAmmo:
{
aPlBonusDuration[iClient][iBonusId] = iRound + 3;
}
case bonusRespawn:
{
rg_round_respawn(iClient);
}
case bonusSpeedUp:
{
set_entvar(iClient, var_maxspeed, Float:get_entvar(iClient, var_maxspeed) * 1.05);
}
}
aPlayerRest[iClient][iBonusId] = iRound + aBonusData[BONUS_RESTRICT_ROUND];
}
}
}
return PLUGIN_CONTINUE;
}