Ir para conteúdo

É Possível?


Ultra Lord

Posts Recomendados

Iae galera,

O titulo diz kse tdo...

Keria sabe se é possivel usar a função doCreateItem com uniqueid.

 

O que kero fazer é o item 9789 ser criado no map com o uid 9780. Pode ser por outro método sem ser createitem mais acho q eh o unico meio possivel.

 

To fazendo assim por enquanto: doCreateItem(9789, 1, wl) (o wl eh uma variavel com o teleport). Como faço pra coloka uid nesse item criado?

 

Acho q fico bem clara minha dúvida, vlws ai pra qm se dispor a me ajudar.

Link para o comentário
Compartilhar em outros sites

Acho que não da pra mudar o uid, pelo menos eu n sei como.

Não pode ser action id não?

Ai seria algo como:

doSetItemActionId(doCreateItem(9789, 1, wl), 1009)

Editado por kydrai
Link para o comentário
Compartilhar em outros sites

Kydrai, axo q precisa ser o uid. Mas olha o script q estou tentado fazer:

 

Tomando como base seu teleport por tempo:

-- By Kydrai
function removeTp(tpId, tpPos)
       local tp = getThingfromPos(tpPos)
       if tp.itemid == tpId then
                       doRemoveItem(tp.uid, 1)
                       doSendMagicEffect(tpPos, CONST_ME_POFF)
       end
end

function onTimer()
       local tpId = 1387
       local tpPos = {x=1048, y=1025, z=7}, {x=1048, y=1024, z=7} -- onde aparece o tp
       local tpToPos = {x=1048, y=1026, z=7} -- destino
       local tpTime = 5 * 60 -- 5 min
       local tp = doCreateTeleport(tpId, tpToPos, tpPos)
       addEvent(removeTp, tpTime*1000, tpId, getThingPos(tp))
       return TRUE
end

 

Eu estou querendo fazer uma parede que some em uma determinada hora e aparece 1 minuto depois, o que estou fazendo eh isso:

function addwall(wallId, wallPos)
local wl = {x=1042, y=1020, z=7}
doCreateItem(9789, 1, wl)


end

function onTimer()
doRemoveItem(9780, 1)
local wltime = 1 * 60	
addEvent(addwall, wltime*1000)
    return TRUE
end

 

Ele ateh funciona 1x mas quando vai executar pela segunda vez n funciona pq ao criar a parede, ela n esta com o uid 9780. Eu sei que ta mto pog meu script, mas como eu poderia fazer pra ele funciona?

Link para o comentário
Compartilhar em outros sites

Tenta assim:

-- By Kydrai
function onTimer()
local wl = {x=1042, y=1020, z=7}
local wall = getTileItemById(wl, 9780)
local wltime = 1 * 60

doRemoveItem(wall.uid, 1)
addEvent(doCreateItem, wltime * 1000, 9780, 1, wl)

return TRUE
end

 

getTileItemById(wl, 9780) -> Pega o item na posição wl com id 9780.

Editado por kydrai
Link para o comentário
Compartilhar em outros sites

Meo amigo, como sempre seu script fico perfeito, mto bom.

Pode fecha o tópico, duvida sanada.

 

Ah kydrai, tenta me ajuda nesse pedido to meio travado nele.

http://www.xtibia.com/forum/topic/128864-pedido-de-funcao/

 

To tentando da uma modificada em um outro script seu.

 

Mais vlws ai pela ajuda, sem duvida merece uns pontos :happy:

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...