MSCO console on F7 (F8 opens the game's own test menu in the pause menu)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-27 09:13:33 +02:00
co-authored by Claude Opus 5.5
parent be9abd262f
commit ce4aa7e0a6
9 changed files with 15 additions and 13 deletions
+2 -1
View File
@@ -7,7 +7,8 @@ Server und Mod müssen beide 2.7 sein (Server: `git pull && docker compose up -d
**Neu** **Neu**
- Eigene Spielerfigur im MSC-Stil (Karohemd, Jeans, Arbeitsschuhe, Schnurrbart, Kappe oder Haare, je Spieler etwas - Eigene Spielerfigur im MSC-Stil (Karohemd, Jeans, Arbeitsschuhe, Schnurrbart, Kappe oder Haare, je Spieler etwas
anders) statt kopierter NPCs – keine liegenden/verbuggten Figuren mehr anders) statt kopierter NPCs – keine liegenden/verbuggten Figuren mehr
- Ping-Anzeige oben rechts: `ping` in der F8-Konsole (grün/gelb/rot) - Ping-Anzeige oben rechts: `ping` in der F7-Konsole (grün/gelb/rot)
- MSCO-Konsole jetzt auf **F7** (F8 öffnet im Pausenmenü ein Test-Menü des Spiels)
- Admin-Menü: Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen), GOTO / BRING (teleportieren) - Admin-Menü: Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen), GOTO / BRING (teleportieren)
- Fahrzeugzustand-Sync: Tank, Öl, Kühlwasser, Bremsflüssigkeit, Batterie, Schäden, Verschleiß, Kilometerstand, Lack - Fahrzeugzustand-Sync: Tank, Öl, Kühlwasser, Bremsflüssigkeit, Batterie, Schäden, Verschleiß, Kilometerstand, Lack
- `vehicles` in der Konsole zeigt die Position jedes Fahrzeugs - `vehicles` in der Konsole zeigt die Position jedes Fahrzeugs
+1 -1
View File
@@ -3,7 +3,7 @@ using System;
namespace MSCO namespace MSCO
{ {
/// <summary> /// <summary>
/// Alle MSCO-Befehle an einer Stelle - genutzt von der eigenen F8-Konsole (ohne "mp" davor) /// Alle MSCO-Befehle an einer Stelle - genutzt von der eigenen F7-Konsole (ohne "mp" davor)
/// und von der MSCLoader-Konsole ("mp ..."). /// und von der MSCLoader-Konsole ("mp ...").
/// </summary> /// </summary>
public static class Commands public static class Commands
+1 -1
View File
@@ -8,7 +8,7 @@ using UnityEngine;
namespace MSCO namespace MSCO
{ {
/// <summary> /// <summary>
/// Solange ein Eingabefenster offen ist (F8-Konsole, Chat, Admin-Menü): Spieler bewegt sich nicht, /// Solange ein Eingabefenster offen ist (F7-Konsole, Chat, Admin-Menü): Spieler bewegt sich nicht,
/// Kamera dreht nicht mit, Mauszeiger ist frei. Danach wird genau das wieder eingeschaltet, /// Kamera dreht nicht mit, Mauszeiger ist frei. Danach wird genau das wieder eingeschaltet,
/// was hier ausgeschaltet wurde. /// was hier ausgeschaltet wurde.
/// </summary> /// </summary>
+3 -2
View File
@@ -32,7 +32,7 @@ namespace MSCO
/// <summary>Taste zum Ein-/Aussteigen als Beifahrer (in den MSCLoader-Einstellungen änderbar).</summary> /// <summary>Taste zum Ein-/Aussteigen als Beifahrer (in den MSCLoader-Einstellungen änderbar).</summary>
internal static SettingsKeybind PassengerKey; internal static SettingsKeybind PassengerKey;
/// <summary>MSCO-Konsole (Standard F8) und Chat (Standard T), ebenfalls änderbar.</summary> /// <summary>MSCO-Konsole (Standard F7) und Chat (Standard T), ebenfalls änderbar.</summary>
internal static SettingsKeybind ConsoleKey, ChatKey; internal static SettingsKeybind ConsoleKey, ChatKey;
private void Mod_Settings() private void Mod_Settings()
@@ -41,7 +41,8 @@ namespace MSCO
// DO NOT put anything that isn't settings or keybinds in here! // DO NOT put anything that isn't settings or keybinds in here!
PassengerKey = Keybind.Add("passenger", "Ride as passenger (toggle)", KeyCode.P); PassengerKey = Keybind.Add("passenger", "Ride as passenger (toggle)", KeyCode.P);
ChatKey = Keybind.Add("chat", "Open chat", KeyCode.T); ChatKey = Keybind.Add("chat", "Open chat", KeyCode.T);
ConsoleKey = Keybind.Add("console", "Open MSCO console", KeyCode.F8); // Nicht F8: im Pausenmenü öffnet F8 ein Test-Menü des Spiels. Neue ID, damit alte F8-Belegungen nicht übernommen werden
ConsoleKey = Keybind.Add("console_f7", "Open MSCO console", KeyCode.F7);
} }
private void Mod_OnMenuLoad() private void Mod_OnMenuLoad()
+2 -2
View File
@@ -2,11 +2,11 @@ using MSCLoader;
namespace MSCO namespace MSCO
{ {
/// <summary>MSCLoader-Konsole: "mp &lt;befehl&gt;" - gleiche Befehle wie in der F8-Konsole.</summary> /// <summary>MSCLoader-Konsole: "mp &lt;befehl&gt;" - gleiche Befehle wie in der F7-Konsole.</summary>
public class MpCommand : ConsoleCommand public class MpCommand : ConsoleCommand
{ {
public override string Name => "mp"; public override string Name => "mp";
public override string Help => "MSCO commands, e.g. mp help | mp connect <host[:port]> | mp save (or press F8)"; public override string Help => "MSCO commands, e.g. mp help | mp connect <host[:port]> | mp save (or press F7)";
public override void Run(string[] args) public override void Run(string[] args)
{ {
+1 -1
View File
@@ -1535,7 +1535,7 @@ namespace MSCO
overlays.Draw(this, session != null); overlays.Draw(this, session != null);
} }
/// <summary>F8 Konsole, T Chat (Tasten in den MSCLoader-Einstellungen änderbar).</summary> /// <summary>F7 Konsole, T Chat (Tasten in den MSCLoader-Einstellungen änderbar).</summary>
void UpdateOverlayKeys() void UpdateOverlayKeys()
{ {
if (MSCO.ConsoleKey != null && MSCO.ConsoleKey.GetKeybindDown()) overlays.ToggleConsole(); if (MSCO.ConsoleKey != null && MSCO.ConsoleKey.GetKeybindDown()) overlays.ToggleConsole();
+2 -2
View File
@@ -14,7 +14,7 @@ namespace MSCO
} }
/// <summary> /// <summary>
/// Fenster über dem Spiel: F8-Konsole (alle MSCO-Befehle), Chat (T) und Admin-Menü (/admin). /// Fenster über dem Spiel: F7-Konsole (alle MSCO-Befehle), Chat (T) und Admin-Menü (/admin).
/// Solange eins davon offen ist, sind Spielerbewegung und Kamera gesperrt (InputLock). /// Solange eins davon offen ist, sind Spielerbewegung und Kamera gesperrt (InputLock).
/// </summary> /// </summary>
public class Overlays public class Overlays
@@ -133,7 +133,7 @@ namespace MSCO
GUI.Box(rect, GUIContent.none, panel); GUI.Box(rect, GUIContent.none, panel);
GUI.Label(new Rect(rect.x + 16, rect.y + 10, 300, 20), "MSCO CONSOLE", caption); GUI.Label(new Rect(rect.x + 16, rect.y + 10, 300, 20), "MSCO CONSOLE", caption);
GUI.Label(new Rect(rect.xMax - 216, rect.y + 10, 200, 20), "type 'help' - F8 to close", small); GUI.Label(new Rect(rect.xMax - 216, rect.y + 10, 200, 20), "type 'help' - F7 to close", small);
// Tasten: Enter ausführen, Esc schließen, Hoch/Runter Verlauf // Tasten: Enter ausführen, Esc schließen, Hoch/Runter Verlauf
Event e = Event.current; Event e = Event.current;
+2 -2
View File
@@ -31,7 +31,7 @@ Multiplayer-Mod für **My Summer Car** (MSCLoader). Spiel mit bis zu 3 Spielern
**Im Spiel** **Im Spiel**
- **T** – Chat - **T** – Chat
- **F8** – MSCO-Konsole mit allen Befehlen - **F7** – MSCO-Konsole mit allen Befehlen
- **/admin** – Admin-Menü für Server-Admins bzw. den P2P-Host: Spieler kicken/bannen, GOTO/BRING (teleportieren), - **/admin** – Admin-Menü für Server-Admins bzw. den P2P-Host: Spieler kicken/bannen, GOTO/BRING (teleportieren),
Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen) – Cheats werden im Chat angezeigt Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen) – Cheats werden im Chat angezeigt
- **P** – als Beifahrer ein-/aussteigen - **P** – als Beifahrer ein-/aussteigen
@@ -62,7 +62,7 @@ unter https://msco.mbm.wtf/keys.
## Befehle ## Befehle
In der F8-Konsole direkt, in der MSCLoader-Konsole mit `mp` davor (z.B. `mp connect ...`): In der F7-Konsole direkt, in der MSCLoader-Konsole mit `mp` davor (z.B. `mp connect ...`):
| Befehl | Beschreibung | | Befehl | Beschreibung |
|---|---| |---|---|
+1 -1
View File
@@ -3,7 +3,7 @@ using UnityEngine;
namespace MSCO namespace MSCO
{ {
/// <summary> /// <summary>
/// Gemeinsamer Stil aller MSCO-Fenster (Launcher, F8-Konsole, Admin-Menü, Statusleiste): /// Gemeinsamer Stil aller MSCO-Fenster (Launcher, F7-Konsole, Admin-Menü, Statusleiste):
/// dunkle Flächen mit abgerundeten Ecken, orange Akzente, einheitliche Schriften und Abstände. /// dunkle Flächen mit abgerundeten Ecken, orange Akzente, einheitliche Schriften und Abstände.
/// Unitys OnGUI kennt keine runden Ecken - dafür werden kleine Texturen erzeugt und per /// Unitys OnGUI kennt keine runden Ecken - dafür werden kleine Texturen erzeugt und per
/// 9-Slice (GUIStyle.border) gestreckt, sodass die Ecken rund bleiben. /// 9-Slice (GUIStyle.border) gestreckt, sodass die Ecken rund bleiben.