function onUse(cid, item, frompos, item2, topos)
if item.uid == 1624 then
if getPlayerStorageValue(cid, 1624) == -1 then
if getPlayerLevel(cid) >= 0 then
-- Verifica se o jogador tem espaço suficiente no inventário para as mochilas
local enoughSpace = true
for i = 1, 42 do
if not doPlayerAddItem(cid, 10518, 1) then
enoughSpace = false
break
end
end
if enoughSpace then
-- Adiciona 1000 moedas (ID 2159) dentro de uma mochila (ID 10518) e repete 100 vezes
for i = 1, 100 do
local backpack = doCreateItemEx(10518, 1)
if backpack ~= 0 then
for j = 1, 42 do
doAddContainerItem(backpack, 2159, 1000)
end
doPlayerAddItemEx(cid, backpack, false)
else
enoughSpace = false
break
end
end
end
if enoughSpace then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou um prêmio.")
else
-- Não há espaço suficiente, então cai no chão com dinheiro dentro
local townID = 1 -- Altere isso para o ID da cidade desejada (1 para DexSoft)
local tile = getTownTemplePosition(townID)
local container = doCreateItemEx(10518, 1)
for i = 1, 42 do
doAddContainerItem(container, 2159, 1000)
end
doItemSetAttribute(container, "depot", true)
doTeleportThing(container, tile, false)
doSendMagicEffect(tile, CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tinha espaço suficiente, a mochila foi enviada para o depot.")
end
setPlayerStorageValue(cid, 1624, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ser level 0 para usar.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já pegou o bônus.")
end
end
return true
end
Este script verifica se o jogador tem espaço suficiente no inventário para as mochilas. Se tiver, ele adiciona as mochilas diretamente ao inventário do jogador. Caso contrário, ele cria as mochilas com dinheiro dentro e as envia para o depot da cidade especificada.