diff options
Diffstat (limited to 'src/crsm.cpp')
| -rw-r--r-- | src/crsm.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp index b638bd9..e0fb715 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -1539,10 +1539,16 @@ void CRSM::setupCmds() addCommand("admin ingame", &CRSM::ingameadmin, IRC | Management, Admin, "Legt den Ingame-Rundenadmin fest.", "<Ingame-Nick¦PC-Name>"); addCommand("admin clear", &CRSM::noadmin, Clonk | IRC | Management, Admin, "Entzieht dem (IRC-)Rundenadmin seine Rechte, damit jemand anders Rundenadmin sein kann."); + addCommandGroup("client", Clonk | IRC | Management, User, "Verwaltet die verbundenen Clients."); + addCommand("client list", &CRSM::clientlist, IRC | Management, User, "Listet alle verbundenen Clients auf."); + addCommand("client kick", &CRSM::passToClonkPcNameGrouped, Clonk | IRC | Management, Admin, "Kickt den angegebenen Client.", "<PC-Name¦Chatnick>"); + addCommand("client observer", &CRSM::passToClonkPcNameGrouped, Clonk | IRC | Management, Admin, "Der angegebene Client muss zuschauen.", "<PC-Name¦Chatnick>"); + addCommand("client deactivate", &CRSM::passToClonkPcNameGrouped, Clonk | IRC | Management, Admin, "Deaktiviert den angegebenen Client.", "<PC-Name¦Chatnick>"); + addCommand("client activate", &CRSM::passToClonkPcNameGrouped, Clonk | IRC | Management, Admin, "Aktiviert den angegebenen Client.", "<PC-Name¦Chatnick>"); + addCommand("queue", &CRSM::queue, Clonk | IRC | Management, User, "Zeigt die nächsten " + QString::number(Config.Hosting.UserListLength) + " Szenarien auf der Warteliste."); addCommand("host", &CRSM::host, Clonk | IRC | Management, User, "Nimmt das angegebene Szenario in die Warteschlange auf. Optional in der Liga, wenn \"--league\" angegeben wird.", "[--league] <[Rundenordner[.c4f]/]Szenarioname¦Alias>"); addCommand("list", &CRSM::list, Clonk | IRC | Management, User, "Listet alle definierten Aliase oder alle möglichen Szenarien und Ordner auf, bzw. alle Szenarien im Ordner oder Rundenordner.", "[Aliase¦Rundenordner[.c4f]]"); - addCommand("clientlist", &CRSM::clientlist, IRC | Management, User, "Listet alle verbundenen Clients mit PC-Name und Chatnick auf."); addCommand("help", &CRSM::help, Clonk | IRC | Management, User, "Zeigt die Hilfe an.", "[long¦Befehlsname]", "Listet alle verfügbaren Befehle auf. Mit long werden alle verfügbaren Befehle mit Kurzbeschreibung aufgelistet."); addCommand("stop", &CRSM::passToClonk, Clonk | IRC | Management, Admin, "Stoppt einen laufenden Countdown."); addCommand("start", &CRSM::passToClonkNumericOrEmpty, Clonk | IRC | Management, Admin, "Startet den Countdown.", "[Countdownzeit in s]"); @@ -1550,10 +1556,6 @@ void CRSM::setupCmds() addCommand("plrteam", &CRSM::passToClonk, Clonk | IRC, Admin, "Ändert das Team eines Spielers.", "<Spieler> <neues Team>", "Verschiebt <Spieler> in das <neue Team>."); addCommand("pause", &CRSM::passToClonk, Clonk | IRC | Management, Admin, "Pausiert das Spiel."); addCommand("unpause", &CRSM::passToClonk, Clonk | IRC | Management, Admin, "Setzt das pausierte Spiel fort."); - addCommand("observer", &CRSM::passToClonkPcName, Clonk | IRC | Management, Admin, "Der angegebene Host muss zuschauen.", "<PC-Name¦Chatnick>"); - addCommand("deactivate", &CRSM::passToClonkPcName, Clonk | IRC | Management, Admin, "Deaktiviert den angegebenen Host.", "<PC-Name¦Chatnick>"); - addCommand("activate", &CRSM::passToClonkPcName, Clonk | IRC | Management, Admin, "Aktiviert den angegebenen Host.", "<PC-Name¦Chatnick>"); - addCommand("kick", &CRSM::passToClonkPcName, Clonk | IRC | Management, Admin, "Kickt den angegebenen Host.", "<PC-Name¦Chatnick>"); addCommand("script", &CRSM::passToClonk, Clonk | IRC | Management, Admin, "Führt das angegebene Script aus.", "<Script>"); addCommand("asyncctrl", &CRSM::passToClonk, Clonk | IRC | Management, Admin, "Aktiviert den asynchronen Netzwerkmodus."); addCommand("centralctrl", &CRSM::passToClonk, Clonk | IRC | Management, Admin, "Aktiviert den zentralen Netzwerkmodus."); @@ -2468,6 +2470,11 @@ CMD_FUNCTION_IMPL(passToClonk) return Success; } +CMD_FUNCTION_IMPL(passToClonkGrouped) + writeToServer('/' + cmd.split(' ').last() + ' ' + args + '\n'); + return Success; +} + CMD_FUNCTION_IMPL(admin) if(Session.State == CRSMSession::None) { @@ -2903,6 +2910,10 @@ CMD_FUNCTION_IMPL(passToClonkPcName) return Success; } +CMD_FUNCTION_IMPL(passToClonkPcNameGrouped) + return passToClonkPcName(cmd.split(' ').last(), args, client, userType); +} + CMD_FUNCTION_IMPL(ircadmin) if(args.isEmpty()) { |
