O problema é que quando um dos valores é nil a mensagem não é enviada.
function soma(thePlayer, commandName, um, dois)
local num1 = tonumber(um)
local num2 = tonumber(dois)
local resultado = um + dois
if commandName then
if (num1 and num2) >= 0 then
outputChatBox("A soma entre "..num1.. "e "..num2.." é igual a "..resultado..".", thePlayer, 255,255,255, true)
elseif (num1 or num2) == nil then
outputChatBox("Você precisa digitar os dois números para fazer a conta.", thePlayer)
end
end
end
addCommandHandler("somar", soma)