tenta assim então
function onUse(cid, item, frompos, position, topos) -- Não mecha.
local storage = 1000 -- Storage a cada quest que for criada aumente um numero da storage pra qnd vc pegar o baú de outra quest ñ aparecer que vc já fez.
local item = 2476 -- Id do item ira ganhar.
local quantidade = 1 -- Quantidade ira ganhar.
local level = 30 -- Level que precisa pra fazer.
if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid,storage) == -1 then -- Não mecha.
local cria_item = doCreateItemEx(item, 1) --cria o item
doItemSetAttribute(cria_item,"description","Quest Feita pelo jogador "..getCreatureName(cid).."!") --add o atributo descrição
local receive = doPlayerAddItemEx(cid, cria_item) -- Não mecha.
if receive == RETURNVALUE_NOERROR then -- se o receive que add item ao player não retornar erro
doSendAnimatedText(topos, "Cleck!", 66)
doSendMagicEffect(getCreaturePosition(cid), 94)
setPlayerStorageValue(cid,storage,1) -- Não mecha.
else
doPlayerSendTextMessage(cid, 19, "ERROR! please check your cap or contact an admin!")
end
elseif getPlayerLevel(cid) <= level then -- Não mecha
doPlayerSendCancel(cid, "The Legend\'s: Você precisa ser level "..level.." ou mais.") -- Mensagem que ira aparecer se o player tiver menos level que o necessario.
doSendMagicEffect(getCreaturePosition(cid), 2)
elseif getPlayerStorageValue(cid,storage) >= 1 then -- Não mecha.
doPlayerSendCancel(cid, 'The Legend\'s: Você já recebeu seu prêmio.') -- Quando tentar pegar mais de uma vez o baú.
doSendMagicEffect(getCreaturePosition(cid), 2)
end
return true
end