GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Nyasgem! - 2012. július 23. - 11:11:36

Cím: Játékosok kiszámítása
Írta: Nyasgem! - 2012. július 23. - 11:11:36
Ü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..
Cím: Játékosok kiszámítása
Írta: Pedró - 2012. július 23. - 11:26:33
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.
Cím: Játékosok kiszámítása
Írta: CANNONN - 2012. július 23. - 11:30:45
#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;
}
Cím: Játékosok kiszámítása
Írta: kadaradam - 2012. július 23. - 11:38:36
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();
Cím: Játékosok kiszámítása
Írta: DrAkE - 2012. július 23. - 11:43:23
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;
}
Cím: Játékosok kiszámítása
Írta: TengeriMalac - 2012. július 23. - 11:49:08
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.
Cím: Játékosok kiszámítása
Írta: Norby - 2012. július 23. - 13:59:25
Pedróé hibás.
 
new Text:Textdraw0;

 
DrAkE megoldása a legjobb!