Spielergruppe
| Variablentyp: force | |
|---|---|
| | |
| | |
| |
Eine Spielergruppe ist ein Datentyp, der mehrere Spieler in einer Gruppe zusammenfasst. Im Gegensatz zum ähnelnden Datentyp group, existiert für den Datentyp force keine Funktion wie FirstOfGroup. Daher müssen bei einem Schleifendurchlauf innerbalb einer Funktion sämtliche Spieler mittels einem Zähler und der Konstante bj_MAX_PLAYER_SLOTS durchlaufen werden. Anhand der nativen Funktion IsPlayerInForce kann dann für jeden Spieler überprüft werden, ob er sich in der Gruppe befindet. Dies ist nicht weiter tragisch, da die Anzahl der Spieler normalerweise weit unter der der Einheiten im Spiel liegt. Eine solche Überprüfung bei Einheitengruppen für alle Einheiten könnte dagegen zu enormen Leistungsproblemen führen. Selbstverständlich kann wie bei einer Gruppe auch eine externe Funktion für einen Durchlauf verwendet werden, nämlich ForForce.
Des Weiteren existieren Globale für vordefinierte Spielergruppen, die in der Funktion InitBlizzardGlobals festgelegt werden: GetPlayersAll gibt die Spielergruppe bj_FORCE_ALL_PLAYERS zurück, die alle Spieler enthält. bj_FORCE_PLAYER ist ein Array und enthält am jeweiligen Spielerindex eine Spielergruppe, die nur den jeweiligen Spieler enthält.
API
Folgende, auf Spielergruppen bezogene native Funktionen sind in der common.j-Datei deklariert:
//============================================================================ // Force API // native CreateForce takes nothing returns force native DestroyForce takes force whichForce returns nothing native ForceAddPlayer takes force whichForce, player whichPlayer returns nothing native ForceRemovePlayer takes force whichForce, player whichPlayer returns nothing native ForceClear takes force whichForce returns nothing native ForceEnumPlayers takes force whichForce, boolexpr filter returns nothing native ForceEnumPlayersCounted takes force whichForce, boolexpr filter, integer countLimit returns nothing native ForceEnumAllies takes force whichForce, player whichPlayer, boolexpr filter returns nothing native ForceEnumEnemies takes force whichForce, player whichPlayer, boolexpr filter returns nothing native ForForce takes force whichForce, code callback returns nothing
