[TUT] Poruke dolaska i odlaska igraca(Pogodno za DM/FR servere)

Započeo Cannabis, Novembar 25, 2012, 15:49:15 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Zdravo ljudi, danas cu vam pokazati kako prikazati poruke dolaska i odlaska igraca sa servera. Pa pocnimo.

Prvo trebate znati sto su to Callbackovi jer ce nam oni biti potrebni. Sve o njima mozete naci ovdje: http://balkan-samp.com/forum/index.php?topic=72.0

Callbackovi koje cemo mi danas koristiti su:

public OnPlayerConnect(playerid)
{
}


i


public OnPlayerDisconnect(playerid)
{
}


Ok, sada kada ste pronasli te callbackove moramo narediti serveru da ispise svaki put kada se netko prikljuci ili iskljuci sa servera. Kako bi to postigli mi moramo dati neko naredenje.
Naredba kojom naredujemo da ispise da se igrac prikljucio na server izgleda ovako:

    new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "{0xFFFFFFAA}%s se prikljucio na server", pname);
    SendClientMessageToAll(0xAA3333AA, string);

Objasnjenje cu staviti na kraju.


Tu naredbu je potrebno staviti pod callback "public OnPlayerConnect(playerid)".
Treba izgledati ovako:
public OnPlayerConnect(playerid)
{
    new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "{0xFFFFFFAA}%s se prikljucio na server", pname);
    SendClientMessageToAll(0xAA3333AA, string);
    return 1;
}


Ok, super. Sada je potreno isto tako narediti serveru da nam ispise kada se igrac iskljuci sa servera.
Naredba izgleda ovako:
    new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "{0xFFFFFFAA}%s je otisao sa servera", pname);
    SendClientMessageToAll(0xAAAAAAAA, string);


Ovu naredbu je potrebno staviti pod:
public OnPlayerDisconnect(playerid, reason)
{

return 1;
}


I na kraju trebali bi ste dobiti:

public OnPlayerDisconnect(playerid, reason)
{
    new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname)); // dobijamo nick igraca
    format(string, sizeof(string), "{0xFFFFFFAA}%s je otisao sa servera", pname); // string
    SendClientMessageToAll(0xAAAAAAAA, string); // saljemo poruku svima
    return 1;
}




Hvala vam sto ste uzeli vremena da procitate ovaj tut. Malo sam "freestyleao" no mislim da bi trebalo radit. Nezaboravite check in-ati moje ostale tutove koje mozete naci u mom potpisu.

Peace out.







Svaka cast na trudu. Jako lijepo sve objasnis no ovo je prelako... predi na nesto teze na male systeme pa onda na vece :)