GetPlayerID

Kategorie: Spieler
Ab Engineversion: 4.9.6.0 CR

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 iPlayerNumber);

Parameter

iPlayerNumber:
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 num_scores;
        
protected func RemovePlayer(int iPlr)
  {
  var idPlr = GetPlayerID(iPlr);
  Global(idPlr*2)   = GetPlayerName(iPlr);
  Global(idPlr*2+1) = GetScore(iPlr);
  ++num_scores;
  }
  
protected func OnGameOver()
  {
  var msg = "Scores:", i, plr_name;
  while (num_scores)
    if (plr_name = Global(i++*2))
      {
      msg = Format("%s|%s=%d", msg, plr_name, Global(i*2-1));
      --num_scores;
      }
  Message(msg);
  }
Speichert die Punkte und Namen aller Spieler bei ihrer Eliminierung in einer globalen Liste. Wenn die Runde vorbei ist, wird diese Liste als Nachricht 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, März 2006