Участник
Пользователь
- Сообщения
- 372
- Реакции
- 47
- Помог
- 6 раз(а)
Всем привет. Решил написать плагин vip для хнс мода. Вот код:
Плагин компилировался с 1000 предупреждениями. Есть одна проблема, почему-то я не могу пользоваться ни одной функцией из меню. Пишет типа не раунд. Можете помочь?
Код:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <reapi>
#define PLUGIN "HNS VIP SYSTEM"
#define VERSION "0.1"
#define AUTHOR "DEVV"
#define ACCESS_FLAG ADMIN_LEVEL_H
new g_lastGrenadeRound[33];
new g_lastRespawnRound[33];
new g_lastWeaponRound[33];
new g_lastMoneyRound[33];
new g_currentRound = 0;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vm", "vipmenu")
register_clcmd("say /vipmenu", "vipmenu")
register_event("HLTV", "Event_RoundStart", "f_RoundStart")
for (new i = 0; i <= 32; i++) {
g_lastGrenadeRound[i] = -2;
g_lastRespawnRound[i] = -2;
g_lastWeaponRound[i] = -2;
g_lastMoneyRound[i] = -2;
}
}
public vipmenu(id)
{
if(!(get_user_flags(id) & ACCESS_FLAG)) {
client_print_color(id, print_team_default, "^4* ^3Это меню доступно только для игроков VIP!")
return
}
new szMenu[255]
formatex(szMenu, sizeof(szMenu), "\rVIP MENU")
new menu = menu_create(szMenu, "vip_menu")
if(cs_get_user_team(id) == 1) {
formatex(szMenu, charsmax(szMenu), "Получить гранату \rHE \w[\r1 раз за 2 раунда\w]", id)
menu_additem(menu, szMenu, "1", 0)
}
else if(cs_get_user_team(id) == 2) {
formatex(szMenu, charsmax(szMenu), "Получить дымовую \rгранату \w[\r1 раз 2 за раунда\w]", id)
menu_additem(menu, szMenu, "1", 0)
}
formatex(szMenu, charsmax(szMenu), "Получить возрождение \w[\r1 раз за 2 раунда\w]", id)
menu_additem(menu, szMenu, "2", 0)
if(cs_get_user_team(id) == 1) {
formatex(szMenu, charsmax(szMenu), "Получить \rDEAGE \w[\r1 раз за 2 раунда\w]", id)
menu_additem(menu, szMenu, "3", 0)
}
else if(cs_get_user_team(id) == 2) {
formatex(szMenu, charsmax(szMenu), "Получить \rUSP \w[\r1 раз за 2 раунда\w]", id)
menu_additem(menu, szMenu, "3", 0)
}
formatex(szMenu, charsmax(szMenu), "Получить \r6000$ \w[\r1 раз за 2 раунда\w]", id)
menu_additem(menu, szMenu, "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
menu_display(id, menu)
}
public f_RoundStart() {
g_currentRound++;
}
public vip_menu(id, menu, item)
{
if(item == MENU_EXIT) {
return PLUGIN_HANDLED
}
switch(item)
{
case 0: {
new currentRound = g_currentRound
if (currentRound - g_lastGrenadeRound[id] < 2) {
client_print_color(id, print_team_default, "^4* Вы можете получить ^3гранату ^4только^3 1 ^4раз за^3 2 ^4раунда!");
return;
}
if(cs_get_user_team(id) == 1) {
rg_give_item(id, "weapon_hegrenade");
client_print_color(id, print_team_default, "^4* Вы получили ^3Взрывную гранату!");
g_lastGrenadeRound[id] = currentRound;
} else if(cs_get_user_team(id) == 2) {
rg_give_item(id, "weapon_smokegrenade");
client_print_color(id, print_team_default, "^4* Вы получили ^3Вдымовую гранату!");
g_lastGrenadeRound[id] = currentRound;
}
}
case 1: {
new currentRound = g_currentRound
if (currentRound - g_lastRespawnRound[id] < 2) {
client_print_color(id, print_team_default, "^4* Вы можете ^3возродиться ^4только^3 1 ^4раз за^3 2 ^4раунда!");
return;
}
if(!is_user_alive(id)) {
ExecuteHam(Ham_CS_RoundRespawn, id)
client_print_color(id, print_team_default, "^4* Вы использовали ^3возрождения!")
g_lastRespawnRound[id] = currentRound;
} else{
client_print_color(id, print_team_default, "^4* Вы живы! ^3Доступно мёртвым!")
}
}
case 2: {
new currentRound = g_currentRound
if (currentRound - g_lastWeaponRound[id] < 2) {
client_print_color(id, print_team_default, "^4* Вы можете ^3получить ствол ^4только^3 1 ^4раз за^3 2 ^4раунда!");
return;
}
if(cs_get_user_team(id) == 1) {
rg_drop_item(id, "weapon_deagle")
new weapon = rg_give_item(id, "weapon_deagle")
cs_set_weapon_ammo(weapon, 2)
cs_set_user_bpammo(id, CSW_DEAGLE, 0)
client_print_color(id, print_team_default, "^4* Вы получили ^3DEAGLE^4 с^3 2 ^4патронами!")
g_lastWeaponRound[id] = currentRound;
} else if(cs_get_user_team(id) == 2) {
new weapon = rg_give_item(id, "weapon_usp")
cs_set_weapon_ammo(weapon, 2)
cs_set_user_bpammo(id, CSW_USP, 0)
client_print_color(id, print_team_default, "^4* Вы получили ^3USP^4 с^3 2 ^4патронами!")
g_lastWeaponRound[id] = currentRound;
}
}
case 3: {
new currentRound = g_currentRound
if (currentRound - g_lastMoneyRound[id] < 2) {
client_print_color(id, print_team_default, "^4* Вы можете ^3получить ствол ^4только^3 1 ^4раз за^3 2 ^4раунда!");
return;
}
new currentMoney = cs_get_user_money(id)
new newMoney = currentMoney + 6000
cs_set_user_money(id, newMoney)
client_print_color(id, print_team_default, "^4* Вы получили^3 6000$!");
g_lastMoneyRound[id] = currentRound;
return;
}
}
return;
}