Wenn ich eine Leiste unten mit den Stats ausgeben möchte, wie mache ich das dann am besten? Bin jetzt so weit, das die Daten zwar korrekt für jeden Spieler angezeigt werden, allerdings immer nur für einen. Wenn der Nächste connected, verschwindet die Statsleiste bei mir und taucht bei demjenigen auf, der sich frisch mit dem Server verbunden hat. Wie mache ich das für alle?
new Text:textdrawname[MAX_PLAYERS];
new Text:textdrawlevel[MAX_PLAYERS];
new Text:textdrawkills[MAX_PLAYERS];
new Text:textdrawdeaths[MAX_PLAYERS];
new Text:textdrawkd[MAX_PLAYERS];
new Text:textdrawexp[MAX_PLAYERS];
stock SetPlayerTextDraws(playerid)
{
new namestring[30],
levelstring[30],
killsstring[30],
deathsstring[30],
kdstring[30],
expstring[30];
format(namestring,sizeof(namestring),"Name: %s",PlayerName(playerid));
TextDrawSetString(textdrawname[playerid],namestring);
TextDrawShowForPlayer(playerid,textdrawname[playerid]);
format(levelstring,sizeof(levelstring),"Level: %d",GetPlayerScore(playerid));
TextDrawSetString(textdrawlevel[playerid],levelstring);
TextDrawShowForPlayer(playerid,textdrawlevel[playerid]);
format(killsstring,sizeof(killsstring),"Kills: %d", PlayerInfo[playerid][Kills]);
TextDrawSetString(textdrawkills[playerid],killsstring);
TextDrawShowForPlayer(playerid,textdrawkills[playerid]);
format(deathsstring,sizeof(deathsstring),"Deaths: %d", PlayerInfo[playerid][Deaths]);
TextDrawSetString(textdrawdeaths[playerid],deathsstring);
TextDrawShowForPlayer(playerid,textdrawdeaths[playerid]);
format(kdstring,sizeof(kdstring),"K/D: %0.2f",Float:PlayerInfo[playerid][Kills] / Float:PlayerInfo[playerid][Deaths]);
TextDrawSetString(textdrawkd[playerid], kdstring);
TextDrawShowForPlayer(playerid,textdrawkd[playerid]);
format(expstring,sizeof(expstring),"EXP: %d",PlayerInfo[playerid][EXP]);
TextDrawSetString(textdrawexp[playerid], expstring);
TextDrawShowForPlayer(playerid,textdrawexp[playerid]);
return 1;
}
unter OnPlayerSpawn ist der Methodenaufruf: SetPlayerTextDraws(playerid)
-> Wenn Spieler spawnt, sollen die Textdraws angezeigt werden.
unter OnPlayerDeath ist dieser für die playerid und killerid: SetPlayerTextDraws(killerid); SetPlayerTextDraws(playerid);
Was stimmt hier nicht? Normalerweise müsste das doch funktionieren...