Ir para conteúdo

Featured Replies

Postado
  • 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

 

  • Respostas 10
  • Visualizações 395
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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

  • Poderia colocar assim local doorPosition = {x = 1056, y = 1046, z = 5}   local doorID = 13099   doCreateItem(doorID, 1, doorPosition)   Melhor dar só dar uma luz mesmo, só assim você

  • @pablobion, você pode usar .uid mesmo sendo actionid na tag, xd.

Postado
  • 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
  • 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 por pablobion (veja o histórico de edições)

Postado

@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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo