From 9e7a2e9bb9976a0f23fad5c0c91b151ffa2db24c Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Sat, 27 Jul 2024 13:58:14 +1000 Subject: [PATCH] only print Lua command result if it's not null --- assets/opensb/scripts/opensb/player/commands.lua | 2 ++ source/frontend/StarClientCommandProcessor.cpp | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/assets/opensb/scripts/opensb/player/commands.lua b/assets/opensb/scripts/opensb/player/commands.lua index 0387805..2b42f48 100644 --- a/assets/opensb/scripts/opensb/player/commands.lua +++ b/assets/opensb/scripts/opensb/player/commands.lua @@ -21,6 +21,8 @@ command("run", function(src) local success, result = pcall(result) if not success then return "^#f00;error: " .. result + elseif result == nil then + return nil else local success, printed = pcall(sb.printJson, result) if not success then diff --git a/source/frontend/StarClientCommandProcessor.cpp b/source/frontend/StarClientCommandProcessor.cpp index def1b43..2d98289 100644 --- a/source/frontend/StarClientCommandProcessor.cpp +++ b/source/frontend/StarClientCommandProcessor.cpp @@ -91,9 +91,12 @@ StringList ClientCommandProcessor::handleCommand(String const& commandLine) { } } else { auto player = m_universeClient->mainPlayer(); - if (auto messageResult = player->receiveMessage(connectionForEntity(player->entityId()), "/" + command, { allArguments })) - result.append(messageResult->isType(Json::Type::String) ? *messageResult->stringPtr() : messageResult->repr(1, true)); - else + if (auto messageResult = player->receiveMessage(connectionForEntity(player->entityId()), "/" + command, {allArguments})) { + if (messageResult->isType(Json::Type::String)) + result.append(*messageResult->stringPtr()); + else if (!messageResult->isNull()) + result.append(messageResult->repr(1, true)); + } else m_universeClient->sendChat(commandLine, ChatSendMode::Broadcast); } return result;