←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Plugin włączony od x graczyzn.

  • +
  • -
kondork - zdjęcie kondork 12.04.2012

Witam,
podczas edycji misji do CODa stwierdziłem że to nie będize miało najmniejszego sensu jeżeli plugin będzie działał od 2 graczy, dlatego chciałbym wprowadzić ograniczenie tzn. limit od ilu graczy plugin zaczyna działać, ale nie znalazłem tego nigdzie, więc może ktoś mi pomoże ? :)
pozdro
Odpowiedz

Gość_21977_* 13.04.2012

#DEFINE x 4

public init(){
register_event("TeamInfo", "Check_Team", "a") //zmiana team'u
}

public Check_Team(){
sprawdz();
}

public client_putinserver(){
sprawdz();
}

public client_disconnect(){
sprawdz();
}

public sprawdz(){
if(count()<x){
if( is_plugin_loaded("nazwapluginu.amxx", true) != -1){
server_cmd("amx_pausecfg pause nazwapluginu.amxx");
}
} else {
if( is_plugin_loaded("nazwapluginu.amxx", true) == -1){
server_cmd("amx_pausecfg enable nazwapluginu.amxx");
}
}
}

stock count(){
new players[32], num, count
get_players(players, num)
for(new i; i<num; i++){
if (is_user_connected(players[i]) && cs_get_user_team(players[i]) && cs_get_user_team(players[i])<3)
++count;
}
return count;
}

Liczymy tylko graczy połączonych z serwerem oraz będących w Terro lub CT (Specci nam niepotrzebni)
Dlatego przy akcjach mogących zmienić liczbę osób w CT / Terro, dodamy funkcję sprawdzającą, tj.
Przy eventach: zmiany drużyny, połączenia się z serwerem oraz wyjścia z serwera.
Funkcja pobiera liczbę graczy z CT/TT ze stocku count() i w przypadku, gdy mamy za mało ludzi od wymaganego x,
a plugin jest włączony (is_plugin_loaded("nazwapluginu.amxx", true) != -1), to wyłączamy go.
I w przypadku, kiedy liczba osób jest odpowiednia, a plugin włączony, to go pauzujemy.
Powinno działać, kod dokładnie musisz napisać, ja daję Ci wskazówkę :)
Odpowiedz

  • +
  • -
Syczaj - zdjęcie Syczaj 13.04.2012

Podaj sma pluginu, ktoś Ci go przerobi.
Odpowiedz

mierzwi - zdjęcie mierzwi 13.04.2012

zamiast server_cmd można użyć pause i unpause ^^
Odpowiedz