Skripta koju koristim: Weber v2.8 Prevedeni 98% sa ovoga foruma
Detaljan opis problema: Kako da napravim da svakih 10 minuta provjerava ima li admina na serveru?
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Znal neko ljudi i meni ovo treba :'(
Ovako uradi:
Na vrh skripte:
forward ProveraAdmina(playerid);
Zatim:
public OnGameModeInit()
{
SetTimer("ProveraAdmina",10*1000,true);
return true;
}
Onda:
public ProveraAdmina(playerid)
{
if(IsPlayerAdmin)//Ovde stavi sta koristis da vidis dali je admin, tj ako koristis GF trebao bi imati PlayerInfo[playerid][pAdmin] >= 1 itd...
{
//Ovde stavis kod sta se desava ako je admin...
return true;
}
return false;
}
Eto imam jos 10 minuta do busa pa vako, necu compilati ni nista al trebalo bi raditi ti samo to prebaci na svoje funkcije:
forward CountOnlineAdmins();
> Ovo ti ide na vrh skripte kod ostalih forward stvari
SetTimer("CountOnlineAdmins", 600000, 1);
> Gore je ovaj napisao 60000 sto nije tocno jer je ta provjera svake minute
> Pawno ti racuna u milisekundama: 10 min = 600 sec = 600000ms (1sec = 1000ms)
public CountOnlineAdmins() {
new AdminsOnline = 0;
for(new i=0;i<MAX_PLAYERS;i++) { // Prelistavamo sve igrace
if(IsPlayerConnected(i) && pInfo[i][pAdmin] != 0) { // Ako je igrac na serveru i ako mu admin level nije 0, znaci ako je igrac admin
AdminsOnline++; // DOdavamo jedan broj znaci da je admin vise na serveru
} } // zatvaramo otvorene zagrade
new string[256]; format(string,sizeof(string),"Na serveru je online %d admina !", AdminsOnline); SendClientMessageToAll(0xFFFFFFFF, string); // Saljemo svima poruku
return 1; } // Zatvaramo returnom
> Eto to ti je to nisam compilao mozda je kamo koja greskica pa ispravi
> AdminsOnline ti je broj admina online te mozes prepraviti, ja sam stavio da posalje poruku ti mozes sa time raditi sto oces
Sretno :D
new string[256];
Cemu ovo, kad ti treba samo ni 50 celija?
Citat: BalcanNation poslato Mart 01, 2011, 13:01:44 POSLE PODNE
Eto imam jos 10 minuta do busa pa vako, necu compilati ni nista al trebalo bi raditi ti samo to prebaci na svoje funkcije:
forward CountOnlineAdmins();
> Ovo ti ide na vrh skripte kod ostalih forward stvari
SetTimer("CountOnlineAdmins", 600000, 1);
> Gore je ovaj napisao 60000 sto nije tocno jer je ta provjera svake minute
> Pawno ti racuna u milisekundama: 10 min = 600 sec = 600000ms (1sec = 1000ms)
public CountOnlineAdmins() {
new AdminsOnline = 0;
for(new i=0;i<MAX_PLAYERS;i++) { // Prelistavamo sve igrace
if(IsPlayerConnected(i) && pInfo[i][pAdmin] != 0) { // Ako je igrac na serveru i ako mu admin level nije 0, znaci ako je igrac admin
AdminsOnline++; // DOdavamo jedan broj znaci da je admin vise na serveru
} } // zatvaramo otvorene zagrade
new string[256]; format(string,sizeof(string),"Na serveru je online %d admina !", AdminsOnline); SendClientMessageToAll(0xFFFFFFFF, string); // Saljemo svima poruku
return 1; } // Zatvaramo returnom
> Eto to ti je to nisam compilao mozda je kamo koja greskica pa ispravi
> AdminsOnline ti je broj admina online te mozes prepraviti, ja sam stavio da posalje poruku ti mozes sa time raditi sto oces
Sretno :D
Ma zbunio sam se oko sekundi i mili sekundi, trebao bih staviti 10*60*1000,i netreba ti ovoliko veliki string, dovoljno ti je 33 ili 34, http://www.lettercount.com/, jer nece biti preko 99 admina online, a ovaj text bez brojeva (neka ima 10 admina online), zauzima oko 29 stringa, i ovo na brojeve (2 broja i razmak) je +3 stringa, sto je 32, e sad moras staviti i koliko ima slova+1 da bi radilo, znaci 33 ili 34 stavis u new string
BalcanNation kako da napravim da provjerava ako igrac nije admin?