Eu testei e deu certo
function onSay(cid, words, param)
local config = {
exhaust = 120, -- em segundos
check = 11548, -- n mexa
cobrar = yes, ------ Use yes ou no para cobrar
price = 150000
}
local nada = {" "}
if table.isStrIn(param, nada) or param == "" then
doPlayerSendCancel(cid, 22,"Voce precisa falar alguma coisa.")
return TRUE
elseif (getGlobalStorageValue(cid, config.check) >= os.time()) then
doPlayerSendCancel(cid, "Você tem que esperar " ..getGlobalStorageValue(cid, config.check) - os.time() .. " segundos para usar novamente.")
return TRUE
elseif config.cobrar == yes and doPlayerRemoveMoney(cid,config.price) == FALSE then
doPlayerSendCancel(cid,"Você precisa de "..config.price.." gps para poder shoutar.")
return TRUE
end
doBroadcastMessage("["..getCreatureName(cid).."] : " .. param .. "", MESSAGE_EVENT_ADVANCE)
setGlobalStorageValue(cid,config.check,os.time()+config.exhaust)
return TRUE
end
O que eu fiz:
Mudei em vez de setar a storage pro player, coloquei pra setar globalmente e verificar a storage.
Créditos aos dois, pois so mudei 2 coisinhas, kkk'