AddEvent(AddItem)

koete
Por koete
em Scripts

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

Queria sabe como faço para criar item no mapa com add event colocando tempo

exemplo: eu clico em um arbusto e daqui a 20 segundos ele da fruta

eu fiz assim olha mas ta dando erro

if(itemEx.itemid == 3488) then

doRemoveItem(itemEx.uid, 3488)

addEvent(additem,5000,cid,3465)

end

return TRUE

end

 

function AddItem(position, itemid)

doRemoveItem(getThingfromPos(position).uid, 1)

doCreateItem(itemid, 1, position)

end

 

 

e o error que dá é esse olha

luaAddEvent(). callback parameter should be a function.

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

addEvent(additem,5000,cid,3465)

1* eh AddItem e n 'additem'...

2* o 1* parametro da funçao eh position e n 'cid'...

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

hum... mas olha eu vou aplicar isso em Actions. que quando eu uso um certo item em um arbusto ele demora 20 segundos e depois da aparece a fruta

não tem como colocar a position onde eu clicar com o item não?

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

Usa o decayTo do items.xml, dai tu só da o transform pro item que vai decair, o uid do opentibia de items é apagado quando o script encerra, só dá para pegar ele pela posição, mas isso ta longe de ser bom, porque pode ter mais de um item na posição, ou pior, items iguais;

 

Tu faz items:

- item do arbusto com frutas, esse não tem decay e será o alvo da sua action.

- item do arbusto com as frutas colhidas, esse terá o decayTo para o item anterior, com duration 20

 

Assim é mais seguro e mais fácil, aconselho que faça dessa forma.

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

mas o decay não funfa direito por isso n fiz eu até tinha feito por decay

mas quando o item é transformado ele não decay

item só decay se for corpse de algum monstro ou se for adicionado no mapa

 

(por exemplo, se tiver alguma lavanca que ao vc puxar aparece um corpo morto no chão o corpo nunca vai sumir só se algum monstro morrer ali)

(ou de qualquer outra forma que não seja morrendo algum monstro ou colocando no mapa não funfa) OBS: ao equipar algum item tambem funciona mas não é o meu caso.

 

eu até coloquei a addon de um monstro invisivel coloquei ele com a vida atual 0, e quando ele morrer o corpse dele é o id do item

da certo desse geito mas não consigo colocar para criar o monstro na posição que eu clicar o item

só em alguma posição determinada pelo script.

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

mas o decay não funfa direito por isso n fiz eu até tinha feito por decay

mas quando o item é transformado ele não decay

item só decay se for corpse de algum monstro ou se for adicionado no mapa

 

(por exemplo, se tiver alguma lavanca que ao vc puxar aparece um corpo morto no chão o corpo nunca vai sumir só se algum monstro morrer ali)

(ou de qualquer outra forma que não seja morrendo algum monstro ou colocando no mapa não funfa) OBS: ao equipar algum item tambem funciona mas não é o meu caso.

 

eu até coloquei a addon de um monstro invisivel coloquei ele com a vida atual 0, e quando ele morrer o corpse dele é o id do item

da certo desse geito mas não consigo colocar para criar o monstro na posição que eu clicar o item

só em alguma posição determinada pelo script.

é só dar start no decay logo apos o transform

doDecayItem(uid)

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

coloquei assim mas não funcionou da uma olhada

 

 

if(itemEx.itemid == 3488) then
   doTransformItem(itemEx.uid, 3648)
elseif(itemEx.itemid == 3648) then
doDecayItem(uid)
end
return TRUE
end

function TransformItem(position, itemid)
   doRemoveItem(getThingfromPos(position).uid, 1)
   doCreateItem(itemid, 1, position)
end

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

coloquei assim mas não funcionou da uma olhada

 

 

if(itemEx.itemid == 3488) then
doTransformItem(itemEx.uid, 3648)
elseif(itemEx.itemid == 3648) then
doDecayItem(uid)
end
return TRUE
end

function TransformItem(position, itemid)
doRemoveItem(getThingfromPos(position).uid, 1)
doCreateItem(itemid, 1, position)
end

eu disse pra dar start no decay logo apos dar transform, foi isso que tu fez? analise ai

 

#edit

e uid não existe, voce tem que pegar oo itemEx.uid do item como pegou no transform

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

if(itemEx.itemid == 3488) then
doTransformItem(itemEx.uid, 3648)
doDecayItem(itemEx.uid)
end

 

 

pow deu certo mas o item ta transformando direto não espera o tempo que eu coloquei

 

<item id="3648" article="a" name="stone">
<attribute key="decayTo" value="2000"/>
<attribute key="duration" value="20"/>
</item>

manoelouro

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/09/08Posts: 28Char no Tibia: Rainha Elizabety

Cara estou lendo o seu post,estou aprendendo ainda sobre script mas veja se isso te ajuda:

Em actions duplique um arquivo.lua e renomei com o nick que voce esta usando:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

doTransformItem(item.uid, 3465)

doDecayItem(item.uid)

return true

end

 

Agora va nas tags das actions e adicione a seguinte linha:

 

<action itemid="3488" event="script" value="nick_que_voce_escolheu.lua"/>

 

Agora vai em itens e adicione o decay e o tempo no Id 3465 para ocorer o decay.

Espero ter ajudado

Manolo

A guerra entre as facções começou

Voçê está preparado...

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

Deu certo aeew valew cara

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Tópico movido para a seção de dúvidas e pedidos resolvidos.

Oie :D