From 3430757c69959da7e8b2ca9bf807d14a91c93013 Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Fri, 11 Apr 2025 18:20:28 +1000 Subject: [PATCH] spec command: add support for "0" argument This returns to observing without leaving the join queue or CA team (like +attack2). --- qcsrc/server/command/cmd.qc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index bb118f888a..1663fe17bd 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -752,7 +752,17 @@ void ClientCommand_spectate(entity caller, int request) { if(argv(1) != "") { - if(IS_SPEC(caller) || IS_OBSERVER(caller)) + if (!(IS_SPEC(caller) || IS_OBSERVER(caller))) + sprint(caller, "cmd spectate only works when you are spectator/observer\n"); + else if (argv(1) == "0") + { // switch back to observing without leaving the CA team or join queue (like +attack2) + if (!IS_OBSERVER(caller)) + { + TRANSMUTE(Observer, caller); + PutClientInServer(caller); + } + } + else { entity client = GetFilteredEntity(argv(1)); float spec_accepted = VerifyClientEntity(client, false, false); @@ -766,8 +776,6 @@ void ClientCommand_spectate(entity caller, int request) else sprint(caller, "Can't spectate ", argv(1), "^7\n"); } - else - sprint(caller, "cmd spectate only works when you are spectator/observer\n"); return; } -- 2.39.5