From 2bac143eb89653b8b835cf35c4ad79a411717e16 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 12 Jan 2026 23:16:52 -0300 Subject: [PATCH] feat(Scripts/Commands): Allow using packetlog command from console (#24406) --- src/server/scripts/Commands/cs_misc.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 80201c969..6c53573b6 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -195,7 +195,7 @@ public: { "string", HandleStringCommand, SEC_GAMEMASTER, Console::No }, { "opendoor", HandleOpenDoorCommand, SEC_GAMEMASTER, Console::No }, { "bm", HandleBMCommand, SEC_GAMEMASTER, Console::No }, - { "packetlog", HandlePacketLog, SEC_GAMEMASTER, Console::No } + { "packetlog", HandlePacketLog, SEC_GAMEMASTER, Console::Yes } }; return commandTable; @@ -3109,9 +3109,19 @@ public: return false; } - static bool HandlePacketLog(ChatHandler* handler, Optional enableArg) + static bool HandlePacketLog(ChatHandler* handler, Optional target, Optional enableArg) { - WorldSession* session = handler->GetSession(); + if (!target) + target = PlayerIdentifier::FromTargetOrSelf(handler); + + if (!target || !target->IsConnected()) + { + handler->SendErrorMessage(LANG_PLAYER_NOT_FOUND); + return false; + } + + Player* playerTarget = target->GetConnectedPlayer(); + WorldSession* session = playerTarget->GetSession(); if (!session) return false; @@ -3121,13 +3131,13 @@ public: if (*enableArg) { session->SetPacketLogging(true); - handler->SendNotification(LANG_ON); + handler->PSendSysMessage("Packet logging enabled for {}.", playerTarget->GetName()); return true; } else { session->SetPacketLogging(false); - handler->SendNotification(LANG_OFF); + handler->PSendSysMessage("Packet logging disabled for {}.", playerTarget->GetName()); return true; } }