Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-07-27 13:58:14 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2024-07-27 13:58:14 +1000
commit9e7a2e9bb9976a0f23fad5c0c91b151ffa2db24c (patch)
tree46cc9b6faad47acd18908016e3957bdda6023491
parentf95fbc3a372cdffbc1d59894fa276db8802026bf (diff)
only print Lua command result if it's not null
-rw-r--r--assets/opensb/scripts/opensb/player/commands.lua2
-rw-r--r--source/frontend/StarClientCommandProcessor.cpp9
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;