10 žaidėjų - de_dust2x2
Posted: 2014 Feb 10 23:38
Ieškau plugino, kuris pakeistų žemėlapį į de_dust2x2, jeigu serveryje yra 10 ar mažiau žaidėjų.
register_plugin(PLUGIN, VERSION, AUTHOR)
npm_map = register_cvar("amx_npm_map", "de_dust2_2x2")
npm_players = register_cvar("amx_npm_players", "10")
Code: Select all
#include <amxmodx>#include <amxmisc>#include <colorchat> #define PLUGIN "No Players Map"#define VERSION "1.0"#define AUTHOR "[SKA]JIbnEJIb" new npm_map, npm_playersnew vote_yes, vote_nonew nmp_on = 1new menu public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) npm_map = register_cvar("amx_npm_map", "de_dust2_2x2") npm_players = register_cvar("amx_npm_players", "10")} public npm(id) { if(get_playersnum() <= get_pcvar_num(npm_players)) { new npm_map_str[32], nameMap[128] get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str)) format(nameMap, 127, "\yСменить карту на %s?", npm_map_str) menu=menu_create(nameMap,"npm_menu") 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") }} public npm_menu(id,menu,item) { new data[6],iName[64],access, callback, Name[32] get_user_name(id, Name, charsmax(Name)) menu_item_getinfo(menu,item,access,data,5,iName,63,callback) new key = str_to_num(data) switch(key) { case 1:{ vote_yes = vote_yes + 1 ColorChat(0, BLUE, "^01[^04Информация^01] Игрок ^03%s ^01проголосовал за смену карты.", Name) } case 2:{ vote_no = vote_no + 1 ColorChat(0, RED, "^01[^04Информация^01] Игрок ^03%s ^01проголосовал против смены карты.", Name) } } return PLUGIN_HANDLED} public npm_result() { new Map[32], npm_map_str[32] menu_destroy(menu) get_mapname(Map, charsmax(Map)) get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str)) if(vote_yes >= vote_no) { ColorChat(0, RED, "^01[^04Информация^01] Голосование завершено. Следующая карта ^03%s^01.", npm_map_str) set_task(4.0, "npm_changelevel") } else { ColorChat(0, RED, "^01[^04Информация^01] Голосование завершено. Карта продлена на ^03%d^01 минут.", get_cvar_num("amx_extendmap_step")) vote_yes = 0 vote_no = 0 set_task((get_cvar_float("amx_extendmap_step")*60), "npm_extend") }} public npm_changelevel() { new npm_map_str[32] get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str)) server_cmd("changelevel %s", npm_map_str) } public npm_extend() { nmp_on = 1} public client_putinserver(id) { if(nmp_on != 1) return PLUGIN_HANDLED new Players[32], Map[32], npm_map_str[32] get_mapname(Map, charsmax(Map)) get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str)) if(equali(Map, npm_map_str)) return PLUGIN_HANDLED new playerCount, i, player get_players(Players, playerCount, "ch") nmp_on = 0 for (i=0; i<playerCount; i++) { player = Players[i] set_task(20.0, "npm", player) } return PLUGIN_CONTINUE} public client_disconnect(id) { if(nmp_on != 1) return PLUGIN_HANDLED new Players[32], Map[32], npm_map_str[32] get_mapname(Map, charsmax(Map)) get_pcvar_string(npm_map, npm_map_str, charsmax(npm_map_str)) if(equali(Map, npm_map_str)) return PLUGIN_HANDLED new playerCount, i, player get_players(Players, playerCount, "ch") for (i=0; i<playerCount; i++) { player = Players[i] set_task(20.0, "npm", player) } return PLUGIN_CONTINUE}
Code: Select all
Invalid menu id 1(2)[AMXX] Displaying debug trace (plugin "noplayers_map.amxx", version "1.0")[AMXX] Run time error 10: native error (native "menu_item_getinfo")[AMXX] [0] noplayers_map.sma::npm_menu (line 40)