Inhaltsverzeichnis
Gemeinsame Sicht von zwei Spielern
Bei manchen Einzelspieler-Karten sieht man, was der Verbündete macht. Wie erreicht man das?
Hier sind zwei Comfort-Funktionen für das Aktivieren und das Deaktivieren der gemeinsamen Sicht.
Comfort-Funktionen
function ActivateShareExploration(_player1, _player2, _both) --_both auf false setzen, wenn nur einer sehen soll, was der andere treibt (Spion) assert(type(_player1) == "number" and type(_player2) == "number" and _player1 <= 8 and _player2 <= 8 and _player1 >= 1 and _player2 >= 1); if _both == false then Logic.SetShareExplorationWithPlayerFlag(_player1, _player2, 1); else Logic.SetShareExplorationWithPlayerFlag(_player1, _player2, 1); Logic.SetShareExplorationWithPlayerFlag(_player2, _player1, 1); end end function DeactivateShareExploration(_player1, _player2, _both) --_both auf false setzen, wenn nur einer nicht sehen soll, was der andere treibt assert(type(_player1) == "number" and type(_player2) == "number" and _player1 <= 8 and _player2 <= 8 and _player1 >= 1 and _player2 >= 1); if _both == false then Logic.SetShareExplorationWithPlayerFlag(_player1, _player2, 0); else Logic.SetShareExplorationWithPlayerFlag(_player1, _player2, 0); Logic.SetShareExplorationWithPlayerFlag(_player2, _player1, 0); end end
Sollte _both keinen Wert zugewiesen bekommen, so wird für beide Spieler die Sicht auf den anderen Spieler (de-)aktiviert, also hat der Befehl ActivateShareExploration(1, 2) dieselbe Auswirkung wie ActivateShareExploration(1, 2, true).
Die Aufnahme der oberen Comfort-Funktion in den Map-Script genügt, wenn die gemeinsame Sicht nur einmalig für das gesamte Spiel eingerichtet werden soll.
Funktions-Code
Für die Einrichtung einer gegenseitigen Sicht zum Map-Start könnt ihr die im Script vorhandene function InitDiplomacy() nutzen. Für Einrichtung und Änderungen während des laufenden Spiels sind Aufrufe an beliebiger passender Stelle im Script möglich. Das Codebeispiel sieht so aus:
ActivateShareExploration( 1,2, true ) -- Gegenseitige Sicht zwischen Player1 und Player2