Page 1 of 2

Map pagal zaideju skaiciu.

Posted: 2012 Mar 12 00:31
by MiXFiX
Sveiki, reikia plugino, kuris automatiskai detu votus del mapo pakeitimo. Kai yra maziau nei 15 zaideju automatiskai detu balsavima ant de_dust2x2 map, o jei yra daugiau nei 15 zaideju, detu balsavima ant de_dust2 mapo. Kad balsavimai galetu detis, reikia kad nuo map pradzios praeitu 10 minuciu, jei po 10 minuciu yra maziau 15 zaideju, dedamas balsavimas ant de_dust2x2 map, jei daugiau nei 15 ant de_dust2. Butu gerai, kad pluginas turetu zaideju bei map'u cvar'us. Aciu isanksto.

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 12 00:42
by ptaha525
sweikas as turiu tik toki jei 0 zmoniu pakeicia norima map i pvz de_dust2x2
jei reike

Code: Select all

#include <amxmodx> new nCvar_Times, nCvar_Map, nMaps public plugin_init() {    register_plugin("Nice Map Check", "1.0 R", "sector")        nCvar_Times = register_cvar("nmap_check_time", "5")    nCvar_Map = register_cvar("nmap_check_map", "de_dust2x2")        set_task(60.0, "nice_map_check", _, _, _, "b")} public nice_map_check(){    new nMap[40], nPlayers = get_playersnum()        get_pcvar_string(nCvar_Map, nMap, charsmax(nMap))        if(nPlayers == 0)    {        nMaps++                if(nMaps == get_pcvar_num(nCvar_Times))        {            server_cmd("changelevel %s", nMap)        }    }}

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 12 17:47
by MiXFiX
Aciu, bet butu gerai, jei kasnors padarytu toki, koki aprasiau.

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 12 19:46
by TETYYS

Code: Select all

#include <amxmodx> new nCvar_Map_daugiau_penkiolika, nCvar_Map_maziau_penkiolika public plugin_init() {    register_plugin("Kazkoks sudas", "1.0", "TETYYS")    nCvar_Map_daugiau_penkiolika = register_cvar("nmap_check_map_daug_15", "de_dust2")    nCvar_Map_maziau_penkiolika = register_cvar("nmap_check_map_maz_15", "de_dust2x2")    set_task(60.0, "map_check", _, _, _, "b")} public map_check(){    new nMapmaz[40], nMapdaug[40], nPlayers = get_playersnum()        get_pcvar_string(nCvar_Map_daugiau_penkiolika, nMap_daug, charsmax(nMapdaug))    get_pcvar_string(nCvar_Map_maziau_penkiolika, nMap_maz, charsmax(nMapmaz))    if(nPlayers < 15)    {            server_cmd("amx_votemap %s", nMap_maz)    }    if (nPlayers > 15)    {            server_cmd("amx_votemap %s", nMap_daug)    }}
gal

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 12 21:30
by newb
TETYYS wrote:

Code: Select all

#include <amxmodx> new nCvar_Map_daugiau_penkiolika, nCvar_Map_maziau_penkiolika public plugin_init() {    register_plugin("Kazkoks sudas", "1.0", "TETYYS")    nCvar_Map_daugiau_penkiolika = register_cvar("nmap_check_map_daug_15", "de_dust2")    nCvar_Map_maziau_penkiolika = register_cvar("nmap_check_map_maz_15", "de_dust2x2")    set_task(60.0, "map_check", _, _, _, "b")} public map_check(){    new nMapmaz[40], nMapdaug[40], nPlayers = get_playersnum()        get_pcvar_string(nCvar_Map_daugiau_penkiolika, nMap_daug, charsmax(nMapdaug))    get_pcvar_string(nCvar_Map_maziau_penkiolika, nMap_maz, charsmax(nMapmaz))    if(nPlayers < 15)    {            server_cmd("amx_votemap %s", nMap_maz)    }    if (nPlayers > 15)    {            server_cmd("amx_votemap %s", nMap_daug)    }}
gal
Ir kas 1min keis mapa ^_^

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 12 23:34
by TETYYS

Code: Select all

#include <amxmodx> new nCvar_Map_daugiau_penkiolika, nCvar_Map_maziau_penkiolika public plugin_init() {    register_plugin("Kazkoks sudas", "1.3", "TETYYS")    nCvar_Map_daugiau_penkiolika = register_cvar("nmap_check_map_daug_15", "de_dust2")    nCvar_Map_maziau_penkiolika = register_cvar("nmap_check_map_maz_15", "de_dust2x2")    set_task(600.0, "map_check", 1, _, _, "b")} public map_check(){    new nMapmaz[40], nMapdaug[40], nPlayers = get_playersnum()        get_pcvar_string(nCvar_Map_daugiau_penkiolika, nMap_daug, charsmax(nMapdaug))    get_pcvar_string(nCvar_Map_maziau_penkiolika, nMap_maz, charsmax(nMapmaz))    if(nPlayers < 15)    {            server_cmd("amx_votemap %s", nMap_maz)    }    if (nPlayers > 15)    {            server_cmd("amx_votemap %s", nMap_daug)    }remove_task(1);}

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 13 12:19
by newb
Kam tada loopint taska, o veliau ji removint :D

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 13 13:12
by hleV
Ant greičio parašiau. Netestuotas.

Code: Select all

#include <amxmodx> new MinPlrs;new SmallMap;new BigMap;new Delay;new VoteTime;new NeededPercent; new Yes;new No; public plugin_init(){    register_plugin("Player Count-Based Map Vote", "1.2", "hleV");       MinPlrs = register_cvar("pcbmv_minplayers", "15"); // Kiek reikia zaideju dideliam zemelapiui    SmallMap = register_cvar("pcbmv_smallmap", "de_dust2x2"); // Mazas zemelapis    BigMap = register_cvar("pcbmv_bigmap", "de_dust2"); // Didelis zemelapis    Delay = register_cvar("pcbmv_delay", "10.0"); // Kiek minuciu laukt iki balsavimo pradzios    VoteTime = register_cvar("pcbmv_votetime", "15.0"); // Kiek sekundziu truks balsavimas    NeededPercent = register_cvar("pcbmv_neededpercent", "66"); // Kiek procentu balsu reikia surinkt} public plugin_cfg()    set_task(get_pcvar_float(Delay) * 60.0, "OnCheck"); public OnCheck(){    new map[64];    get_mapname(map, charsmax(map));       new smallMap[64];    get_pcvar_string(SmallMap, smallMap, charsmax(smallMap));       if (get_playersnum(1) < get_pcvar_num(MinPlrs))    {          if (equal(smallMap, map)) // Jei zaideju mazai ir zemelapis mazas, nieko nedarom            return;               map = smallMap;    }    else    {        if (!equal(smallMap, map)) // Jei zaideju daug ir zemelapis didelis, nieko nedarom            return;               get_pcvar_string(BigMap, map, charsmax(map));    }           new title[128];    formatex(title, charsmax(title), "Change map to %s?", map);       new menu = menu_create(title, "OnMenu");       menu_additem(menu, "Yes");    menu_additem(menu, "No");       new players[32], num;    get_players(players, num);        for (new i; i < num; i++)        menu_display(players[i], menu);            set_task(get_pcvar_float(VoteTime), "OnVoteEnd", _, map, sizeof map);} public OnVoteEnd(const map[], menu){    menu_destroy(menu);       if (Yes * 100 / (Yes + No) >= get_pcvar_num(NeededPercent))    {        client_print(0, print_chat, "* Vote successful.");        server_cmd("amx_map %s", map);    }    else        client_print(0, print_chat, "* Vote failed.");} public OnMenu(client, menu, item)    switch (item)    {        case 0: Yes++;        case 1: No++;    }

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 14 22:24
by MiXFiX
hleV wrote:Ant greičio parašiau. Netestuotas.

Code: Select all

#include <amxmodx> new MinPlrs;new SmallMap;new BigMap;new Delay;new VoteTime;new NeededPercent; new Yes;new No; public plugin_init(){    register_plugin("Player Count-Based Map Vote", "1.1", "hleV");        MinPlrs = register_cvar("pcbmv_minplayers", "15"); // Kiek reikia zaideju dideliam zemelapiui    SmallMap = register_cvar("pcbmv_smallmap", "de_dust2x2"); // Mazas zemelapis    BigMap = register_cvar("pcbmv_bigmap", "de_dust2"); // Didelis zemelapis    Delay = register_cvar("pcbmv_delay", "10.0"); // Kiek minuciu laukt iki balsavimo pradzios    VoteTime = register_cvar("pcbmv_votetime", "15.0"); // Kiek sekundziu truks balsavimas    NeededPercent = register_cvar("pcbmv_neededpercent", "66"); // Kiek procentu balsu reikia surinkt} public plugin_cfg()    set_task(get_pcvar_float(Delay) * 60.0, "OnCheck"); public OnCheck(){    new map[64];    get_mapname(map, charsmax(map));        new smallMap[64];    get_pcvar_string(SmallMap, smallMap, charsmax(smallMap));        if (get_playersnum(1) < get_pcvar_num(MinPlrs))    {               if (equal(smallMap, map)) // Jei zaideju mazai ir zemelapis mazas, nieko nedarom            return;                map = smallMap;    }    else    {        if (!equal(smallMap, map)) // Jei zaideju daug ir zemelapis didelis, nieko nedarom            return;                get_pcvar_string(BigMap, map, charsmax(map));    }            new title[128];    formatex(title, charsmax(title), "Change map to %s?", map);        new menu = menu_create(title, "OnMenu");        menu_additem(menu, "Yes");    menu_additem(menu, "No");        menu_display(0, menu);    set_task(get_pcvar_float(VoteTime), "OnVoteEnd", _, map, sizeof map);} public OnVoteEnd(const map[], menu){    menu_destroy(menu);        if (Yes * 100 / (Yes + No) >= get_pcvar_num(NeededPercent))    {        client_print(0, print_chat, "* Vote successful.");        server_cmd("amx_map %s", map);    }    else        client_print(0, print_chat, "* Vote failed.");} public OnMenu(client, menu, item)    switch (item)    {        case 0: Yes++;        case 1: No++;    }
Testinau, buvo maziau nei 15 zaideju, praejus 10 min nedejo vote, o restartino mapa.

Re: Map pagal zaideju skaiciu.

Posted: 2012 Mar 14 23:00
by newb
Man atrodo toks dalykas nelabai veiks kaip turi

Code: Select all

menu_display(0, menu);
Nors neziurejau.