Also, MP Maps zu erstellen mithilfe von Skripts sollte nicht so viel anders sein wie bei SP Maps - der Unterschied ist vor allem, dass Quest-Editor und Kartenassistent (noch) nicht funktionieren.
Das kann man aber zumindest teilweise hinbekommen.
Leider haben wir hier keine (kaum?) MP-Mapper, von dem her sind alle unsere Tipps ohne Gewähr - was nicht heißt, dass sie nicht funktionieren.
Im Übrigen kann man einige Funktionen des Kartenassistenten nutzen, es wurde nur von BB für MP-Karten deaktiviert 
Du wirst im Karten-Skript normalerweise die folgenden Zeilen finden:
Code:
-- init players in singleplayer games only
if Framework.IsNetworkGame() ~= true then
Startup_Player()
Startup_StartGoods()
Startup_Diplomacy()
end
Na, erkannt? Das Problem ist die Abfrage von Framework.IsNetworkGame(). Diese Funktion deaktiviert diese Aufrufe, wenn es ein Multiplayer-Spiel ist. Ohne diese Aufrufe funktionieren aber die Werte im Kartenassistenten nicht.
-- ist ein Lua-Kommentar, so als kleine Info.
Man kann nun diese Aufrufe auch im Multiplayer tätigen:
Startup_Player() setzt die Spielernamen und die KIs entsprechend dem Kartenassistent.
Startup_StartGoods() setzt die Startgüter entsprechend dem Kartenassistent.
Startup_Diplomacy() setzt die Diplomatie entsprechend dem Kartenassistent. Das Verhalten dieser Funktion ist wahrscheinlich nicht gewollt, da sie die Multiplayer-Diplomatie überschreibt -> weglassen und selbst machen!
Wir kommen also zu folgendem Ergebnis:
Code:
-- init players in singleplayer games only
-- if Framework.IsNetworkGame() ~= true then
Startup_Player()
Startup_StartGoods()
-- Startup_Diplomacy()
-- end
Um die Diplomatie zu setzen, gibt es die Funktion SetDiplomacyState(_player1, _player2, _state).
_state ist der neue Diplomatie-Status:
DiplomacyStates.Enemy -- Feind
DiplomacyStates.Undecided -- Unbekannt
DiplomacyStates.EstablishedContact -- Bekannt
DiplomacyStates.TradeContact -- Handelspartner
DiplomacyStates.Allied - Verbündeter
SetPlayerName() gibt es nicht mehr in S6.
Lesezeichen