Postado Fevereiro 4, 2017 8 anos Solução function onUse(cid, item, fromPosition, itemEx, toPosition) local items = {} local reward = 0 local size = isContainer(item.uid) and getContainerSize(item.uid) or 0 if(size == 0) then reward = doCopyItem(item, false) else for i = 0, size do local tmp = getContainerItem(item.uid, i) if(tmp.itemid > 0) then table.insert(items, tmp) end end end size = table.maxn(items) if(size >= 1) then reward = doCopyItem(items[1], true) doCreateItem(reward.itemid, 1, fromPosition) doCreatureSay(cid, "You found a ".. getItemNameById(reward.itemid) ..".", TALKTYPE_MONSTER) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_BLUE) doRemoveItem(item.uid, 1) else doSendMagicEffect(fromPosition, CONST_ME_POFF) end return true end
Postado Fevereiro 4, 2017 8 anos Autor 5 minutos atrás, Wakon disse: function onUse(cid, item, fromPosition, itemEx, toPosition) local items = {} local reward = 0 local size = isContainer(item.uid) and getContainerSize(item.uid) or 0 if(size == 0) then reward = doCopyItem(item, false) else for i = 0, size do local tmp = getContainerItem(item.uid, i) if(tmp.itemid > 0) then table.insert(items, tmp) end end end size = table.maxn(items) if(size >= 1) then reward = doCopyItem(items[1], true) doCreateItem(reward.itemid, 1, fromPosition) doCreatureSay(cid, "You found a ".. getItemNameById(reward.itemid) ..".", TALKTYPE_MONSTER) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_BLUE) doRemoveItem(item.uid, 1) else doSendMagicEffect(fromPosition, CONST_ME_POFF) end return true end Funcionou certinho cara, muito obrigado! nem imaginava q seria "reward.itemid" eu tentava reward, reward.uid e tudo mais aahhah, obrigado msmo vou estudar esse codigo. se puder me tirar uma duvida, existe algo do tipo, item.aid para actionid? exemplo "prize = item.uid" inves de ser unique, ser action. só duvida mesmo.
Postado Fevereiro 4, 2017 8 anos Autor sobre a duvida da .uid exemplo: a pessoa clica na arvore e ganha tal item, o id do item identificado pelo uniqueid da arvore. se o unique id da arvore for 2494, ganha um demon armor. pra isso eu faço "prize = item.uid". e se eu quiser colocar uniqueid na tag do xml e fazer com que o "prize" identifique a actionid da arvore e de o item de acordo com a actionid, eu faço como? ou isso é uma forma errada de se fazer? Editado Fevereiro 4, 2017 8 anos por pablobion (veja o histórico de edições)
Postado Fevereiro 4, 2017 8 anos @pablobion Sobre a house, use assim: if (not getHouseFromPos(fromPosition)) or (not getHouseFromPos(getCreaturePosition(cid))) then doPlayerSendTextMessage(cid, 22, 'abra em uma house.') return true end Sobre a outra dúvida, você pode utilizar item.actionid.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.