summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2015-09-22 20:53:38 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2015-09-22 20:53:38 +0200
commitf0279fb1f5c0d09708d2b334ef8b8a6032ab7bad (patch)
treef9e1259cf566fd313a49f7d60509c66576dd2b51
parentdf43572fd5a2997b4b8ffcedc026fb400c990161 (diff)
downloadmanager-f0279fb1f5c0d09708d2b334ef8b8a6032ab7bad.tar.gz
manager-f0279fb1f5c0d09708d2b334ef8b8a6032ab7bad.zip
Include game status (lobby|loading|running) in IngameChannel-Topic
-rw-r--r--src/crsm.cpp20
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))