Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#define PLUGIN "vipmenu"
#define VERSION "3.0"
#define AUTHOR ""
#define ITEM1 0
#define ITEM2 0
#define ITEM3 2
#define ITEM4 5
#define ITEM5 10
#define ITEM6 15
#define ITEM7 0
#define ITEM8 0
#define ITEM9 0
new KEYSMENU = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9);
const PRIMARY_WEAPONS_BIT_SUM =
(1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new blockset[33][20]
new bool:adminspeed[33] = false;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu", KEYSMENU, "MenuFunc");
register_logevent("RoundStart", 2, "1=Round_Start")
register_clcmd("say /vm","vipmenu")
RegisterHam(Ham_Killed, "player", "killnoob")
register_event("CurWeapon", "WeaponChange", "be", "1=1")
}
public RoundStart()
{
for(new id = 1; id <= get_maxplayers(); id++)
{
if (!is_user_connected(id)) continue
for(new i;i < 9;i++)
{
if (!blockset[id][i]) continue
blockset[id][i]--
}
}
}
public killnoob(id)
{
adminspeed[id] = false;
}
public WeaponChange(id)
{
if(adminspeed[id])
{
set_user_maxspeed(id, 400.0)
}
}
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)
for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
public vipmenu(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
static menu[2048], len
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
len = 0
len = formatex(menu[len], charsmax(menu) - len, "by-soldier.ru | Vip menu^n^n");
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[1] \dВзять AK47 \r[Вы мертвы]^n" : "\r[1] \wВзять AK47^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[2] \dВзять M4A1 \r[Вы мертвы]^n" : "\r[2] \wВзять M4A1^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[3] \dВзять AWP \r[Вы мертвы]^n^n" : "\r[3] \wВзять AWP^n^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H)) ? "\r[4] \wВзять 16000$ \rЖдите %d раунд(ов)^n" : "\r[4] \wВзять 16000$^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_RCON) || !is_user_alive(id)) ? "\r[5] \dВзять 255 HP/AP [Вы мертвы]^n" : "\r[5] \wВзять 255 HP/AP^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_RCON) || is_user_alive(id)) ? "\r[6] \dВозродиться \y[Вы живы]^n" : "\r[6] \wВозродиться)^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[7] \dIteam \r[Вы мертвы]^n" : "\r[7] \wIteam^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[8] \dIteam \r[Вы мертвы]^n" : "\r[8] \wIteam^n")
len += formatex(menu[len], charsmax(menu) - len, (!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[9] \dIteam \r[Вы мертвы]^n" : "\r[9] \wIteam^n")
len += formatex(menu[len], charsmax(menu) - len, "[0] Выход^n^n\dНаш сайт: http^n\dVK: vk.com");
show_menu(id, KEYSMENU, menu, -1, "Menu");
}
else
{
len = 0
len = formatex(menu[len], charsmax(menu) - len, "by-soldier.ru | Vip menu^n^n");
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][1] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[1]\dВзять AK47+Deagle \r[Вы мертвы]^n" : "\r[1]\wВзять AK47+Deagle^n", blockset[id][1])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][2] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[2]\dВзять M4A1+Deagle \r[Вы мертвы]^n" : "\r[2]\wВзять M4A1+Deagle^n", blockset[id][2])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][3] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[3]\dВзять AWP+Deagle \rЖдите %d раунд(а)^n^n" : "\r[3]\wВзять AWP+Deagle[Вы мертвы]^n^n", blockset[id][3])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][4] || !(get_user_flags(id) & ADMIN_LEVEL_H)) ? "\r[4]\dВзять 16000$ \rЖдите %d раунд(ов)^n" : "\r[4]\wВзять 16000$^n", blockset[id][4])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][5] || !(get_user_flags(id) & ADMIN_RCON) || !is_user_alive(id)) ? "\r[5]\dВзять 255 HP/AP \rЖдите %d раунд(ов)^n" : "\r[5]\wВзять 255 HP/AP^n", blockset[id][5])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][6] || !(get_user_flags(id) & ADMIN_RCON) || is_user_alive(id)) ? "\r[6]\wВозродиться \rЖдите %d раунд(ов)^n" : "\r[6]\wВозродиться[Вы живы])^n", blockset[id][6])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][7] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[7]\dIteam ^n" : "\r[7]\wIteam^n", blockset[id][7])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][8] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[8]\dIteam \rЖдите %d раунд(ов)^n" : "\r[8]\wIteam^n", blockset[id][8])
len += formatex(menu[len], charsmax(menu) - len, (blockset[id][9] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id)) ? "\r[9]\dIteam \rЖдите %d раунд(ов)^n" : "\r[9]\wIteam^n", blockset[id][9])
len += formatex(menu[len], charsmax(menu) - len, "[0] Выход^n^n\dНаш сайт: http^n\dVK: vk.com");
show_menu(id, KEYSMENU, menu, -1, "Menu");
}
}
}
public MenuFunc(id, key)
{
switch(key)
{
case 0:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_ak47")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_AK47, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else
{
if(blockset[id][1] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_ak47")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_AK47, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
}
}
case 1:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_m4a1")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_M4A1, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else
{
if(blockset[id][2] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_m4a1")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_M4A1, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
}
}
case 2:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_awp")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_AWP, 20)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
else
{
if(blockset[id][3] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id, "weapon_awp")
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_AWP, 20)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
}
}
case 3:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
cs_set_user_money(id, 16000)
}
else
{
if(blockset[id][4] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
cs_set_user_money(id, 16000)
blockset[id][4]=ITEM4
vipmenu(id)
}
}
}
case 4:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
set_user_health(id, 255)
set_user_armor(id, 255)
}
else
{
if(blockset[id][5] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
set_user_health(id, 255)
set_user_armor(id, 255)
blockset[id][5]=ITEM5
vipmenu(id)
}
}
}
case 5:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
ExecuteHam(Ham_CS_RoundRespawn, id)
}
else
{
if(blockset[id][6] || !(get_user_flags(id) & ADMIN_LEVEL_H) || is_user_alive(id))
{
vipmenu(id)
}
else
{
ExecuteHam(Ham_CS_RoundRespawn, id)
blockset[id][6]=ITEM6
vipmenu(id)
}
}
}
case 6:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
}
else
{
if(blockset[id][7] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
}
}
}
case 7:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
}
else
{
if(blockset[id][8] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
}
}
}
case 8:
{
if(get_user_flags(id) & ADMIN_LEVEL_B)
{
}
else
{
if(blockset[id][9] || !(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_alive(id))
{
vipmenu(id)
}
else
{
}
}
}
}
}