Page 1 of 1

10 žaidėjų - de_dust2x2

Posted: 2014 Feb 10 23:38
by NZT
Ieškau plugino, kuris pakeistų žemėlapį į de_dust2x2, jeigu serveryje yra 10 ar mažiau žaidėjų.

Re: 10 žaidėjų - de_dust2x2

Posted: 2014 Feb 11 01:19
by laimiukas3
man rodos galima sita pakoreguoti http://makeserver.ru/plaginy/16073-nopl ... pamxx.html
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}

Re: 10 žaidėjų - de_dust2x2

Posted: 2014 Feb 15 11:27
by NZT
Dėkui (+karma).

Reikia pataisyt:

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)
Ir būtų geriau, kad tą meniu išmestų truputį vėliau, nes jeigu žaidėjams siunčia naują map'ą, o žaidėjų yra apie 20, tai išmes tą meniu ir iškart pasikeis map'as.