Witam.
Napisałem taki plugin na losowanie graczy z teamu. Działa, ale nie do końca.
Czasem w motd wyświetli się skład 1 -- 3 nicki a skład 2 -- 6 nicki.
W czym leży problem?
#include <amxmodx> #include <amxmisc> new nazwy_graczy1team[33][33], nazwy_graczy2team[33][33]; public plugin_init() { register_plugin("losuj", "1.0", "sda"); register_concmd("losuj", "losuj") register_clcmd("say /teams", "pokazwynik") } public losuj () { client_print(0, print_center, "TRWA LOSOWANIE. Wpisz /teams") for(new i = 0; i <= get_playersnum(); i++) { new maxteam1 = get_playersnum() / 2, maxteam2 = get_playersnum() - maxteam1, bool:czypierwszy, team1count = 0, team2count = 0; if(random_num(1, 2) == 1) czypierwszy = true else czypierwszy = false if(is_user_connected(i) && czypierwszy && team1count <= maxteam1) { if(team1count > maxteam1) break; ++team1count get_user_name(i, nazwy_graczy1team[i], 32) } else if(is_user_connected(i) && !czypierwszy && team2count <= maxteam2) { if(team2count > maxteam2) break; ++team2count get_user_name(i, nazwy_graczy2team[i], 32) } } return PLUGIN_CONTINUE } public pokazwynik(id) { new motd[1024], len = 0 len += formatex(motd[len], sizeof motd - 1 - len, "<body bgcolor=#000000><font color=#33CCFF><b>Sklad 1:<font color =#FF0505><br>") for(new i = 1; i <= get_playersnum(); i++) { if(!equal(nazwy_graczy1team[i], "")) len += formatex(motd[len], sizeof motd - 1 - len, "%s<br>", nazwy_graczy1team[i]) } len += formatex(motd[len], sizeof motd - 1 - len, "<br><font color=#33CCFF>Sklad 2:<font color =#FF0505><br>") for(new x = 1; x <= get_playersnum(); x++) { if(!equal(nazwy_graczy2team[x], "")) len += formatex(motd[len], sizeof motd - 1 - len, "%s<br>", nazwy_graczy2team[x]) } len += formatex(motd[len], sizeof motd - 1 - len, "</b>") show_motd(id, motd, "Sklady") }