Szerző Téma: Játékosok kiszámítása  (Megtekintve 708 alkalommal)

Nyasgem!

  • Vendég
Játékosok kiszámítása
« Dátum: 2012. július 23. - 11:11:36 »
0 Show voters
Üdv!
Azt szeretném kérdezni, hogy hogy kell Textdrawba ki íni h 0/30, de ha feljön valaki, akkor 1/30-t jelezzen? Láttam ilyet más szervereken..

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Játékosok kiszámítása
« Válasz #1 Dátum: 2012. július 23. - 11:26:33 »
0 Show voters
gm-ed elejére:
 
new players;

 
OnPlayerConnect(playerid) alá:
 
players++;

 
OnPlayerDisconnect(playerid) alá:
 
players--;

 
készítesz egy textdrawot..
ezzel könnyen lehet:
http://forum.sa-mp.com/showthread.php?t=117851
utána készítesz egy timert..
gm-ed elejére:
 
forward UpdatePlayersTextdraw();

 
OnGameModeInit alá:
 
SetTimer(\"UpdatePlayersTextdraw\", 1000, true);

 
és akkor:
 
public UpdatePlayersTextdraw()
{
    new string[256];
    format(string, sizeof(string), \"Játékosok száma: %02d/%02d\", players, GetMaxPlayers());
    TextDrawSetString(textdrawid, string);
    TextDrawShowForPlayer(playerid, textdrawid);
    return 1;
}

 
a textdrawid az az lesz, amit megadsz létrehozáskor..
 
new Textdraw0;
public OnGameModeInit()
{
    Textdraw0 = TextDrawCreate(..

 
ezesetben a textdrawid helyére Textdraw0-t írj.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Játékosok kiszámítása
« Válasz #2 Dátum: 2012. július 23. - 11:30:45 »
0 Show voters
#include a_samp
new jSzamlalo;
forward szamlalo();
public OnFilterScriptInit()
{
SetTimer(\"szamlalo\", 2000, true);
return 1;
}
public szamlalo()
{
jSzamlalo = 0;
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) jSzamlalo++;
}
// TextDrawSetString....
return 1;
}
« Utoljára szerkesztve: 2012. július 23. - 11:35:27 írta Cannonn »

Játékosok kiszámítása
« Válasz #3 Dátum: 2012. július 23. - 11:38:36 »
0 Show voters
Most írtam egyet és evvel le tudod kérni az online játékosokat!
 
stock GetOnlinePlayers()
{
new count;
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i)) count++;
    }
return count;
}

 
Használata: GetOnlinePlayers();

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Játékosok kiszámítása
« Válasz #4 Dátum: 2012. július 23. - 11:43:23 »
+1 Show voters
Minek timer? Elég ha OnPlayerDisconnectnél, illetve OnPlayerConnectnél megváltoztatod a textdrawot.
 

stock GetOnlinePlayers()
{
new
count,
i = -1;
for(;++i < MAX_PLAYERS;)
count += IsPlayerConnected(i);
return count;
}

Játékosok kiszámítása
« Válasz #5 Dátum: 2012. július 23. - 11:49:08 »
0 Show voters
Nem értelek titeket..
Pedro megoldása eddig a legjobb sztem.
 

#include <a_samp>
new PlayerCount,
        Text:OnlinePlayerCount;
public OnFilterScriptInit() {
    OnlinePlayercount = TextDrawCreate(...);
    return 1;
}
public OnPlayerConnect(playerid) {
    new string[32];
    PlayerCount++;
    format(string, sizeof(string), \"Online Players: %d / %d\", PlayerCount, GetMaxPlayers());
    TextDrawSetString(OnlinePlayercount, string);
    return 1;
}
public OnPlayerDisconnect(playerid, reason) {
    new string[32];
    PlayerCount--;
    format(string, sizeof(string), \"Online Players: %d / %d\", PlayerCount, GetMaxPlayers());
    TextDrawSetString(OnlinePlayercount, string);
    return 1;
}

 
+ valahol TextDrawShowForPlayer, hogy megjelenjen.

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Játékosok kiszámítása
« Válasz #6 Dátum: 2012. július 23. - 13:59:25 »
0 Show voters
Pedróé hibás.
 
new Text:Textdraw0;

 
DrAkE megoldása a legjobb!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal