Settlers United Wiki
Settler IV Lua API DE
Search
⌃K
Links
Comment on page

Siegbedingungen anpassen

Ihr könnt fÃŒr eure Karten selbst definierte Siegbedingungen schreiben. Das Spiel hat hierfÃŒr extra ein spezielles Event, welches Àhnlich wie Events.FIVE_TICKS alle FÃŒnf Ticks aufgerufen wird. StandartmÀßig ist dieses Event jedoch von einer eigenen Funktion von Siedler belegt, welche ihr durch setzen dieses Events ÃŒberschreibt.
Dies ist das normale Verhalten von Siedler im Bezug auf die ÜberprÃŒfung ob wer gewonnen hat:
function new_game()
request_event(VictoryConditionCheck, Events.VICTORY_CONDITION_CHECK)
end
function register_functions()
reg_func(VictoryConditionCheck)
end
​
function VictoryConditionCheck()
Game.DefaultPlayersLostCheck()
Game.DefaultGameEndCheck()
end
Wenn ihr dort anstelle der VictoryConditionCheck nun einfach folgendes schreibt, dann fÃŒhrt dies dazu das selbst ein Spieler, der seinen letzten Turm abreißt, nicht verloren hat. Aber auch kein anderer Spieler somit gewinnen kann.
function VictoryConditionCheck()
-- ja hier muss nichts stehen fÃŒr das beschriebe Beispiel!
end
​
Ihr könnt somit aber auch die Sieg & Niederlagebedingungen umschreiben. Als Beispiel könnt ihr ÌberprÌfen, ob bereits ein anderen Spieler verloren hat, und wenn ja verliert automatisch sein Teammate mit (Beispiel bei einem 2vs2):
function VictoryConditionCheck()
Game.DefaultPlayersLostCheck()
if Game.HasPlayerLost(1) == 1 then
Game.PlayerLost(2)
elseif Game.HasPlayerLost(2) == 1 then
Game.PlayerLost(1)
elseif Game.HasPlayerLost(3) == 1 then
Game.PlayerLost(4)
elseif Game.HasPlayerLost(4) == 1 then
Game.PlayerLost(3)
end
Game.DefaultGameEndCheck()
end
​