My Plugins: http://skape69ta.clan.su/load/11
My Profile: http://amxmodx.su/forum/memberlist.php?mode=viewprofile&u=455
Карта, за которую идет голосование
Кол-во игроков, при котором вызывается голосование
npm_players <целое число>
Через сколько секунд после ухода/коннета игрока появится голосование
npm_wait <число с точкой>
На сколько продлится данная карта
npm_extendmap_step <целое число>
new npm_map, npm_players, npm_wait, npm_extendmap_step
register_plugin(PLUGIN, VERSION, AUTHOR)
npm_map = register_cvar("npm_map", "de_dust2_2x2")
npm_players = register_cvar("npm_players", "4")
npm_wait = register_cvar("npm_wait","30.0")
npm_extendmap_step = register_cvar("npm_extendmap_step", "10")
public client_authorized() {
public client_disconnect() {
get_pcvar_string(npm_map, cv_Map, 31)
if(get_playersnum() <= get_pcvar_num(npm_players) && npm_on && (!equal(Map, cv_Map)) && !task_exists(331) ) {
set_task(get_pcvar_float(npm_wait), "npm", 331)
new iPlayers[32], iNum, iPlayer
get_players(iPlayers, iNum, "ch")
for(new i = 0; i < iNum; i++) {
new cv_Map[32], MenuTitle[64], arg[2]
get_pcvar_string(npm_map, cv_Map, 31)
format(MenuTitle, 63, "Сменить карту на \r%s?", cv_Map)
new menu = menu_create(MenuTitle, "npm_menu_handler")
menu_additem(menu,"\wДа","1")
menu_additem(menu,"\wНЕТ","2")
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, menu, 0)
set_task(get_cvar_float("amx_vote_time"), "npm_result", 332, arg, 1)
public npm_menu_handler(id, menu, item) {
new data[6],iName[64],access, callback, Name[32]
menu_item_getinfo(menu,item,access,data,5,iName,63,callback)
get_user_name(id, Name, 31)
new key = str_to_num(data)
ColorChat(0, BLUE, "^04%s ^01проголосовал ^03За", Name)
ColorChat(0, RED, "^04%s ^01проголосовал ^03Против", Name)
public npm_result(arg[]) {
get_pcvar_string(npm_map, cv_Map, 31)
if(vote_yes >= vote_no) {
ColorChat(0, NORMAL, "Голосование завершено. Следующая карта ^04%s", cv_Map)
set_task(5.0, "npm_changelevel")
ColorChat(0, RED, "^01Голосование завершено. Карта продлена на ^03%d^01 минут", get_pcvar_num(npm_extendmap_step))
set_task((get_pcvar_float(npm_extendmap_step)*60), "npm_extend")
public npm_changelevel() {
get_pcvar_string(npm_map, cv_Map, 31)
server_cmd("changelevel %s", cv_Map)