Ir para conteúdo

Featured Replies

Postado

Olá pessoal!

Esse é o script do machete original do tibia

 

local JUNGLE_GRASS = {2782, 3985}
local SPIDER_WEB = {7538, 7539}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(isInArray(JUNGLE_GRASS, itemEx.itemid)) then
        doTransformItem(itemEx.uid, itemEx.itemid - 1)
        doDecayItem(itemEx.uid)
        return true
    end

    if(isInArray(SPIDER_WEB, itemEx.itemid)) then
        doTransformItem(itemEx.uid, (itemEx.itemid + 6))
        doDecayItem(itemEx.uid)
        return true
    end


    if(itemEx.itemid == 1499) then
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        doRemoveItem(itemEx.uid)
        return true
    end

    return destroyItem(cid, itemEx, toPosition)
end

 

Ao cortar os itens editados eles se transformam em outro item(que é o cortado), e depois de X tempo(não sei em que parte ele foi configurado, não achei nada de nenhum desses itens no actions.xml) os itens voltam ao normal..

 

Quero editar ele para poder adicionar outros itens para que sejam cortados, tentei assim

 

local JUNGLE_GRASS = {2782, 3985}
local SPIDER_WEB = {7538, 7539}
local ARBUSTO = {2767}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(isInArray(JUNGLE_GRASS, itemEx.itemid)) then
        doTransformItem(itemEx.uid, itemEx.itemid - 1)
        doDecayItem(itemEx.uid)
        return true
    end

    if(isInArray(SPIDER_WEB, itemEx.itemid)) then
        doTransformItem(itemEx.uid, (itemEx.itemid + 6))
        doDecayItem(itemEx.uid)
        return true
    end
    
    if(isInArray(ARBUSTO, itemEx.itemid)) then
        doTransformItem(itemEx.uid, 6216)
        doDecayItem(itemEx.uid)
        addEvent(2767, 3, {position = toPosition, cid = cid})
        return true
    end

    if(itemEx.itemid == 1499) then
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        doRemoveItem(itemEx.uid)
        return true
    end

    return destroyItem(cid, itemEx, toPosition)
end

 

 

Mas infelizmente, não ta voltando como os outros, e o add event não ta funcionando tbm, podem me ajudar pfvr?

Resolvido por elton123

Ir para solução
Postado
  • Autor

O item volta ao normal por causa da configuração no items.xml, não por causa do "addEvent" (que não existe no script).

 

 

Entendi..

Porém não vou mudar no items.xml para a grama (ItemID:6216) se transformar em um arbusto(2767) pq terei outros usos par a grama..

 

quero que apenas nesse script, depois de 5 segundos, o item 6216 se transforme no 2767

Postado
  • Solução

testei aqui add event com doTransformItem tava quando uns problemas mesmo mais aqui dou um jeito "usando outras functions" 

 

acho que era assim que você queria

local config = {
    tempo = 5, -- em segundos
    [2782] = {2781,2782},
    [3985] = {2781,3985},
    [2767] = {6216,2767},
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
      local items = config[itemEx.itemid]
      if items then
            doRemoveItem(itemEx.uid)
            doCreateItem(items[1],toPosition)
            addEvent(trasformando,config.tempo*1000,toPosition,items,itemEx)
      end
      return true
end

function trasformando (toPosition,items,itemEx)
      doRemoveItem(getTileItemById(toPosition,items[1]).uid,1)    
      doCreateItem(items[2],toPosition)
      return true
end

Editado por elton123 (veja o histórico de edições)

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 520k

Informação Importante

Confirmação de Termo