GetPlayerID

Kategorie: Spieler
Ab Engineversion: 1.0 OC

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
Sven2, 2006-03