diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2015-09-22 20:53:38 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2015-09-22 20:53:38 +0200 |
| commit | f0279fb1f5c0d09708d2b334ef8b8a6032ab7bad (patch) | |
| tree | f9e1259cf566fd313a49f7d60509c66576dd2b51 | |
| parent | df43572fd5a2997b4b8ffcedc026fb400c990161 (diff) | |
| download | manager-f0279fb1f5c0d09708d2b334ef8b8a6032ab7bad.tar.gz manager-f0279fb1f5c0d09708d2b334ef8b8a6032ab7bad.zip | |
Include game status (lobby|loading|running) in IngameChannel-Topic
| -rw-r--r-- | src/crsm.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp index e819b4e..0e756af 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -218,14 +218,28 @@ void CRSM::readServerOutput() } } + static QRegExp lobbyStartExp(R"((?:Los geht's!|Action go!)\s*)"); + if(lobbyStartExp.exactMatch(what)) + { + Session.Running = true; + + if(Config.IRC.UseIngameChat && !Config.IRC.IngameChannel.isEmpty()) + { + connection->sendCommand(IrcCommand::createTopic(Config.IRC.IngameChannel, "Aktuelles Szenario: " + Session.ScenarioName + " | Lädt | Ingamechat ist " + (Session.IrcUseIngameChat ? "" : "de") + "aktviert.")); + } + } + static QRegExp startExp("^Start!\\s*$"); if(startExp.exactMatch(what)) { - if(Session.League) + if(!Session.League) { writeToServer(QString("/set maxplayer 0\n")); } - Session.Running = true; + if(Config.IRC.UseIngameChat && !Config.IRC.IngameChannel.isEmpty()) + { + connection->sendCommand(IrcCommand::createTopic(Config.IRC.IngameChannel, "Aktuelles Szenario: " + Session.ScenarioName + " | Läuft | Ingamechat ist " + (Session.IrcUseIngameChat ? "" : "de") + "aktviert.")); + } } @@ -671,7 +685,7 @@ void CRSM::startScen(const ScenarioSettings &scen, QStringList argList) Session.IrcUseIngameChat = Config.IRC.UseIngameChat; if(Config.IRC.UseIngameChat && !Config.IRC.IngameChannel.isEmpty()) { - connection->sendCommand(IrcCommand::createTopic(Config.IRC.IngameChannel, "Aktuelles Szenario: " + Session.ScenarioName + " | Ingamechat ist " + (Session.IrcUseIngameChat ? "" : "de") + "aktviert.")); + connection->sendCommand(IrcCommand::createTopic(Config.IRC.IngameChannel, "Aktuelles Szenario: " + Session.ScenarioName + " | Lobby | Ingamechat ist " + (Session.IrcUseIngameChat ? "" : "de") + "aktviert.")); } filename = scen.name; while(Config.Hosting.Alias.contains(filename)) |
