Server new game: start a fresh world when the server says so
StartGame carries a second flag (new game); the client then starts MSC's new game instead of loading the (empty) received save. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,10 @@
|
||||
- Geht jetzt auch, **wenn noch niemand fährt** (Sitzposition kommt aus dem Fahrersitz des Spiels); fährt danach jemand
|
||||
los, fährt man mit. Setzt man sich selbst ans Steuer, endet der Beifahrer-Modus
|
||||
|
||||
**Server mit neuem Spiel**
|
||||
- Im Server-Panel (Welt & Backups) gibt es „Neues Spiel starten“: statt eines hochgeladenen Spielstands startet der
|
||||
erste Spieler ein frisches My-Summer-Car-Spiel, der Server übernimmt danach dessen Spielstand (braucht Server 2.9.3)
|
||||
|
||||
**Launcher einklappen**
|
||||
- Knopf **–** oben rechts im Launcher: er klappt zu einer kleinen MSCO-Leiste oben zusammen, das Startmenü des Spiels
|
||||
(Optionen, Farbe, Musik ...) ist wieder sichtbar und bedienbar, die Menü-Musik läuft wieder. Klick auf die Leiste
|
||||
|
||||
@@ -1596,6 +1596,15 @@ namespace MSCO
|
||||
receivingSave = false;
|
||||
// Später beigetreten: nach dem Laden neben den Host setzen
|
||||
teleportToHost = r.BaseStream.Length > 0 && r.ReadBoolean();
|
||||
// Server mit "neues Spiel" (Panel): kein Spielstand - hier ein neues Spiel starten (Server ab 2.9.3)
|
||||
bool serverNewGame = r.BaseStream.Length - r.BaseStream.Position >= 1 && r.ReadBoolean();
|
||||
if (serverNewGame)
|
||||
{
|
||||
SetStatus("The server starts a new game - creating a fresh world...");
|
||||
MscoLog.Info("[MSCO] Server has a new game - starting a fresh world");
|
||||
MenuHelper.StartNewGame();
|
||||
break;
|
||||
}
|
||||
SetStatus(dedicated ? "Loading server world..." : "Loading host's game...");
|
||||
MenuHelper.StartGame();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user