DE

[Resolvido]

Por Deehsk8, 09 de fev. de 2010 em Scripts

9
2.9k
Deehsk8D
09 de fevereiro de 2010 às 15:47

Eu queria colocar num monstro pra quando ele morresse, derrubasse um teleport pras coordenadas que eu quero, isso é possivel?

se puderem postem um tutorial ou algo do tipo

Editado Fevereiro 9 por Deehsk8

KydraiK
09 de fevereiro de 2010 às 20:40

Não testei:

creaturescripts/scripts/tp.lua

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 onDeath(cid)
       local tpId = 1387
       local tpPos = getCreaturePosition(cid) -- onde aparece o tp
       local tpToPos = {x=, y=, z=} -- destino
       local tpTime = 5
       local tp = doCreateTeleport(tpId, tpToPos, tpPos)
       doCreatureSay(cid, "O teleport irá sumir em "..tpTime.." segundos.", TALKTYPE_ORANGE_1)
       addEvent(removeTp, tpTime*1000, tpId, getThingPos(tp))
       return TRUE
end

creaturescripts/creaturescripts.xml

<event type="death" name="tp" event="script" value="tp.lua"/>

Ai no arquivo xml do monster desejado coloca:

<script>
<event name="tp"/>
</script>

Editado Fevereiro 12 por kydrai

Deehsk8D
09 de fevereiro de 2010 às 22:05

Humm....

mais onde eu edito o mostro...

tipo

onde eu vo coloca o nome do mostro que a hora k eu mata aparece o teleport...

exemplo : frostfur (primeiro bixo da arena 1)

 

me explica isso k eu n entedi

 

 

mais ja vlw mt vo testa ake!!

Editado Fevereiro 9 por Deehsk8

Ultra LordU
11 de fevereiro de 2010 às 12:12

Mto bom kydrai, porem qnd o teleport é criado ele não some mais, pq?

uso tfs 0.3.5

fodimF
13 de fevereiro de 2010 às 12:27

Nossa Acredita que eu tava querendo pedir isso + faz tempo e funfa muito loko valew ai

satan666S
17 de fevereiro de 2010 às 01:01

Não testei:

creaturescripts/scripts/tp.lua

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 onDeath(cid)
       local tpId = 1387
       local tpPos = getCreaturePosition(cid) -- onde aparece o tp
       local tpToPos = {x=, y=, z=} -- destino
       local tpTime = 5
       local tp = doCreateTeleport(tpId, tpToPos, tpPos)
       doCreatureSay(cid, "O teleport irá sumir em "..tpTime.." segundos.", TALKTYPE_ORANGE_1)
       addEvent(removeTp, tpTime*1000, tpId, getThingPos(tp))
       return TRUE
end

creaturescripts/creaturescripts.xml

<event type="death" name="tp" event="script" value="tp.lua"/>

Ai no arquivo xml do monster desejado coloca:

<script>
<event name="tp"/>
</script>

 

não é necessario adicionar nada no xml dos monstros.

e não era necessario criar a função removeTp() a função doRemoveItem() ja faz isso.

caosfastC
17 de fevereiro de 2010 às 02:27

Nao to conseguindo, essa parte...

 

Ai no arquivo xml do monster desejado coloca:

 

<script>

<event name="tp"/>

</script>

 

em que parte do arquivo xml do monster? no começo ? no fim ? nos loot ? seja mais claro por favor.

 

eu inseri no loot ... fico assim.

 

<loot>

<script>

<event name="tp"/>

</script>

</loot>

</monster>

 

nao deu certo... da esse erro

 

[Warning - Monsters::loadMonster] Cant load loot. (data/monster/Demon bosses/xxx.xml)

 

se poder ajudar agradeço flw !

Ultra LordU
18 de fevereiro de 2010 às 10:22

N coloca o o script dentro do loot, teria que ficar assim:

<loot>
...
</loot>
<script>
<event name="tp"/>
</script>
</monster>

 

Espero ter ajudado

caosfastC
18 de fevereiro de 2010 às 14:03

N coloca o o script dentro do loot, teria que ficar assim:

<loot>
...
</loot>
<script>
<event name="tp"/>
</script>
</monster>

 

Espero ter ajudado

 

 

ajudou, muito obrigado