Kategorie: Spieler
Ab Engineversion: 1.0 OC
GetPlayerID
Beschreibung
Gibt die Spieler-ID eines beigetretenen Spielers zurück. Spieler-IDs werden von 1 hochgezählt, und - anders als Spielernummern - nicht wieder benutzt, nachdem ein Spieler eliminiert wurde. Jeder neu beigetetene Spieler hat also eine eigene ID.
Syntax
int GetPlayerID(int player);
Parameter
- player:
- Spielernummer, dessen ID abgefragt werden soll.
Anmerkung
Spieler-IDs werden in Netzwerkspielen schon in der Lobby zugewiesen. Da Lobbyspieler noch im Nachhinein entfernt oder Netzwerkclients vor dem eigentlichen Start ihre Verbindung verlieren können, ist auch bei Spieler-IDs nicht garantiert, dass beim Spielstart alle IDs von 1 bis GetPlayerCount() belegt sind.
Beispiel
static player_names, player_scores; protected func Initialize() { if(!player_names) player_names = CreateArray(); if(!player_scores) player_scores = CreateArray(); } protected func RemovePlayer(int player) { var player_id = GetPlayerID(player); player_names[player_id] = GetPlayerName(player); player_scores[player_id] = GetScore(player); } protected func OnGameOver() { Log("Scores of eliminated players:"); for (var i = 0; i < GetLength(player_names); ++i) if (player_names[i]) Log(Format("%s - %d", player_names[i], player_scores[i])); }
Speichert die Punkte und Namen aller Spieler bei ihrer Eliminierung in einer globalen Liste. Wenn die Runde vorbei ist, wird diese Liste im Log ausgegeben. Da die Liste mit Spieler-IDs statt Spielernummern indiziert wird, ist sicher gestellt, dass neu beitretende Spieler keine Punkte ehemaliger Spieler überschreiben.
Siehe auch: GetPlayerTeam