Jass:GetLocalPlayer – Mappedia

Jass:GetLocalPlayer

Aus Mappedia
Wechseln zu: Navigation, Suche
Funktion: GetLocalPlayer
Parameter: nothing
Rückgabewert: player
Autor: Blizzard
Quelle: common.j
Synchron: Unbekannt

Die Funktion GetLocalPlayer() gibt als Rückgabewert den lokalen Spieler zurück. Die Besonderheit ist hierbei, dass der Rückgabewert auf jedem Computer anders ist. Für "Spieler 1" ist es "Spieler 1" für "Spieler 2" ist es "Spieler 2" und so weiter. Es ist somit die einzige Funktion, die auf allen Rechnern grundsätzlich asynchron abläuft.

Mit der Hilfe dieser Funktion lassen sich Aktionen nur auf einzelnen Rechner ausführen. Zum Beispiel kann man Multiboards nur für einen Spieler anzeigen , oder einen Sound nur für einen Spieler abspielen lassen. Werden allerdings Funktionen nur auf einem Rechner aufgerufen, die synchron ablaufen müssen, dann führt das zu einem Netsplit. Synchronisierte Funktionen sind grob gesagt alle, die den Spielverlauf beeinflussen. Wird zum Beispiel eine Einheit asynchron bewegt, wäre das die Ursache für einen Netsplit.


Code

constant native GetLocalPlayer      takes nothing returns player

Anwendung

Ein Beispiel für die Verwendung:

if GetLocalPlayer() == Player(1) then
  // mache irgendwas
endif

Der Code innerhalb der If-Anweisung wird nun nur für "Spieler 2" ausgeführt, da nur auf seinem Computer der lokale Spieler "Spieler 2" ist.

if IsPlayerInForce(GetLocalPlayer(), whichForce) then
  // mache irgendwas
endif

Der Code innerhalb der If-Verzweigung wird nun nur für die Spieler der Streitmacht ausgeführt.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Warcraft-Mapping
Werkzeuge