Se o objetivo é enviar a mensagem para todos os players, somente no DEFAULT. (sem que apareça no meio da tela / server log).
Veja se desta forma, o problema é ou não resolvido:
local config = {
storage = 19400, -- storage em que será salvo o tempo
cor = "red", -- de acordo com o constant.lua da lib
tempo = 3, -- em minutos
price = 20000, -- quantidade de dinheiro que irá custar
level = 10 -- level pra poder utilizar o broadcast
}
function onSay(cid, words, param, channel)
if(param == '') then -- Mensagem em branco.
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
return true
end
if getPlayerLevel(cid) < config.level then -- Caso o player seja level abaixo do que o permitido.
doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.")
return true
end
if getPlayerStorageValue(cid, config.storage) - os.time() >= 1 then -- Caso o player use o comando antes do tempo de espera.
doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.")
return true
end
if not doPlayerRemoveMoney(cid, config.price) then -- Caso o player não tenha dinheiro o suficiente.
doPlayerSendCancel(cid, "You don't have " ..config.price.. " gp's for broadcasting.")
return true
end
--== Caso esteja tudo certo ==--
setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*60))
for _, pid in ipairs(getPlayersOnline()) do
doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_RED, getCreatureName(cid)..": "..param)
end
return true
end