Action Que Cria E Remove Tp Após Matar Monstro

pdzinhow
em Actions e Talkactions

pdzinhow

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/11/08Posts: 19

Olá galera do Xtibia estou trazendo aqui pra vocês esse script que procurei a morrar aqui e não achei e so fui encontrar lá no Otland e funcionou certinho aqui no meu otserv ;) então vou postar aqui os créditos que fez o script se não me engano foi o Darkhaos lá no otland. Agora vamos começar, vou passar 3 passos para adicionar esse script no seu ot. Ahhh vou postar imagens e 1 video que fiz n tá muito legal n mais é so pra ter idéia de como é ^^.

 

1º passo: Vá na pasta Data/creaturescripts/scripts copie qualquer arquivo lá e cole e renomeia para nomedomonstro_teleport o meu é hades_teleport. Certo feito isso copie e cole isso aqui:

--- Created by Darkhaos

function onDeath(cid, corpse, killer)

registerCreatureEvent(cid, "[color="#FF0000"]hadesTeleport[/color]")

local creaturename = getCreatureName(cid)
local in_pos = [color="#0000FF"]{x=427, y=1008, z=11, stackpos=2}[/color] 
local checkIID = getThingfromPos(in_pos)
local to_pos = [color="#FF8C00"]{x=424, y=1003, z=11, stackpos=1}[/color] 
local time_to_pass = [color="#9932CC"]10 -- in seconds[/color]
local tpID = [color="#2E8B57"]1387[/color]

   if creaturename == '[color="#808080"]Hades[/color]' then

	teleport = doCreateTeleport(tpID, to_pos, in_pos)

	doSendMagicEffect(in_pos, CONST_ME_TELEPORT)

	doCreatureSay(cid, "[color="#A0522D"]Parabens! voce conseguio derrotar Hades,o deus da morte.Agora desfrute da sua recompensa.[/color]", TALKTYPE_ORANGE_1)
	addEvent(removeTeleport, (1000*time_to_pass))


	end 
end

function removeTeleport()
if getThingfromPos({[color="#00BFFF"]x=427, y=1008, z=11, stackpos=1[/color]}).itemid == 1387 then
doRemoveItem(getThingfromPos({[color="#00BFFF"]x=427, y=1008, z=11, stackpos=1[/color]}).uid,1)
doSendMagicEffect({[color="#00BFFF"]x=427, y=1008, z=11, stackpos=1[/color]}, CONST_ME_POFF)
return TRUE
end
end 

Certo vou explicar agora e tbm postar a imagem:

Onde eu coloquei em vermelho você vai por o nome do seu monstro com esse Teleport junto, exemplo:

hadesteleport

como vocês podem ver no script.

Aqui onde tá de azul marinho é a coordenada que o portal vai ser criado para o player entrar. ( obs: Não mexa no stackpos ).

Aqui em laranja é a posição que o tp vai teleportar o player quando entrar. ( obs: não mexa no stackpos tbm).

Aqui em roxo é o tempo para o tp ser removido do lugar. ( fica a vontade de vocês o tempo ).

Aqui em verde é o id do portal. ( é um magic force field ) :blush:

Aqui em cinza é o nome do monstro que você vai colocar o meu é Hades.

Aqui em marron é o que o monstro vai falar quando morrer. ( tbm fica a vontade de vocês ).

Aqui em azul claro é as coordenadas que vai remover o tp, é so colocar a mesma posição que tem no in_pos onde ta em azul marinho.

pronto primeiro passo feito! :positive:

ai a imagem:

tutorial1sn3.th.jpg

 

 

 

2º passo: agora vá em Data/creaturescript e abra com o bloco de notas o creaturescripts.xml, feito isso

adicione isto aqui :

<event type="death" name="[color="#FF0000"]hadesTeleport[/color]" script="[color="#FF8C00"]hades_teleport[/color].lua"/>

embaixo de

<event type="death" name="PlayerDeath" script="playerdeath.lua"/>

ou qualquer outro que tenha no seu.

Agora vou explicar:

Onde está em vermelho é o nome do evento que tem lá no script do 1 passo então voçê coloca igual como tá lá.

E aqui onde está em laranja é o nome do script que tá lá em Data/creaturescripts/scripts que agente fez no 1 passo, ponha igualzinho para não da erro.

Aqui uma imagem para entender melhor:

tutorial2ap7.jpg

Pronto Finalizamos o 2 passo! :smile_positivo:

 

Agora vamos pro 3º passo e último : vá na pasta Data/Monster e procure pelo arquivo do seu monstro no meu caso é Data/Monster/Custom ai tem lá Hades.xml achado o arquivo abra-o com o bloco de notas e adicione isto aqui :

<script> 
<event name="[color="#2E8B57"]hadesTeleport[/color]"/> 
</script>

onde está em verde é o nome do evento como foi posto lá nos scripts você bota igual como tá lá.

Detalhe: você vai colocar isso embaixo de </flags> do seu monstro. vou postar uma imagem para melhor entendimento :

tutorial3ag9.th.jpg

 

Pronto finalizamos o 3º passo. Agora é so ir e testar no seu ot ^^ :party: Have fun!

 

Aqui vai o video que fiz para vocês olharem como é que acontece mais ou menos ;D!

 

É isso galera!

Espero ter ajudado vocês ;)

Vlw!

Abraços!

post-212601-1229974469_thumb.jpg

post-212601-1229974797_thumb.jpg

post-212601-1229974989_thumb.jpg

denniscm

dNs
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/10/06Posts: 5

Soh funciona quando adiciona 1 event desse :/

Por Exemplo, eu faço tudo q vc disse ih soh adiciono isso no creaturesscripts:

 

<?xml version="1.0" encoding="UTF-8"?>

<creaturescripts>

<event type="login" name="PlayerLogin" script="login.lua"/>

<event type="login" name="FirstItems" script="firstitems.lua"/>

<event type="death" name="PlayerDeath" script="playerdeath.lua"/>

<event type="death" name="hadesTeleport" script="hades_teleport.lua"/>

</creaturescripts>

Assim ele Fuciona normal..

 

Mais se colocarmos mais de 2 event o teleport do hades não some, ele cria o teleport, vai pro local q vc colocou mais ele não desaparece:

 

<?xml version="1.0" encoding="UTF-8"?>

<creaturescripts>

<event type="login" name="PlayerLogin" script="login.lua"/>

<event type="login" name="FirstItems" script="firstitems.lua"/>

<event type="death" name="PlayerDeath" script="playerdeath.lua"/>

<event type="death" name="hadesTeleport" script="hades_teleport.lua"/>

<event type="death" name="hades2Teleport" script="hades2_teleport.lua"/>

</creaturescripts>

Assim não funciona, os teleport de hades não some, o de hades2 funciona normalmente, eh assim por diante, eu coloquei 7 mosntros ih soh funcionou o do ultimo, sempre o do ultimo que funciona... o.O

 

Alguma ideia de como arrumar isso??

Abraçoo



"Aqueles que não seguem as regras são lixo, mas aqueles que abandonam seus amigos são piores que lixo."

Vi Vanderlaysk

Vinnie Simon
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 07/10/06Posts: 108Char no Tibia: Vi Vanderlaysk

Cara ... tem q ser depois do ultimo ...

Se nao num tem graça ... mata um e vaza ;s

Tem q matar td mesmo xD

 

Bom Script .. muito bom !

 

Abraço!


Anges et Demóns Project ATS


Quer saber um pouco sobre Serviço?
"Meu filho, se entrares para o serviço de Deus,
permanece firme na justiça e no temor,
e prepara a tua alma para a provação;
humilha teu coração, espera com paciencia,
dá ouvidos e acolhe as palavras de sabedoria;
nao te perturbes no tempo da infelicidade,
sofre as demoras de Deus;
dedica-te a Deus, espera com paciência,
a fim de que no derradeiro momento tua vida se enriqueça.
Aceita tudo o que te acontecer.
Na dor, permanece firme,
na humilhação, tem paciência.
Pois é pelo fogo que se experimentam o ouro e a prata,
e os homens agradáveis a Deus, pelo cadinho da humilhação.
Põe tua confiança em Deus e Ele te salvará,
orienta bem o teu carinho e espera n'Ele.
Conserva o temor d'Ele até na velhice." Eclo 2;1-6



denniscm

dNs
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/10/06Posts: 5

Eu fiz uma area com 7 "Bosses", quando vc mata o 1 boss si abri o teleport ih sumi-se depois de 30seg!

Eu coloquei os script por ultimo, soh q soh funciona o ultimo!

Os teleport dos Boss 1 ao 6 ele não some, soh o do ultimo funciona!

Se os outros n sumirem fica facil pra eles correrem direto pro teleport sem matar o bixo :/

 

Mais eh um belo script!



"Aqueles que não seguem as regras são lixo, mas aqueles que abandonam seus amigos são piores que lixo."

koninhoo

Gogo Boy
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/08Posts: 26Char no Tibia: Rokzz

Ae pdzinhow, até que fim fez, née?

Valeu aí por ter me ajudado naquela hora..

Script bem legal, e um pouco facil de configurar.

 

Koninhoo~




(¯`·.¸¸.·´¯`·.¸¸.-> Quest Door <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Guild System 8.x <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Aviso de Quest terminada <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> NPCs 8.2x [Jiddo System] <-.¸¸.·´¯`·.¸¸.·´¯)
(¯`·.¸¸.·´¯`·.¸¸.-> Quest com Actions ótimas para o seu Server! <-.¸¸.·´¯`·.¸¸.·´¯)

pdzinhow

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/11/08Posts: 19
Eu fiz uma area com 7 "Bosses", quando vc mata o 1 boss si abri o teleport ih sumi-se depois de 30seg!

Eu coloquei os script por ultimo, soh q soh funciona o ultimo!

Os teleport dos Boss 1 ao 6 ele não some, soh o do ultimo funciona!

Se os outros n sumirem fica facil pra eles correrem direto pro teleport sem matar o bixo :/

 

Mais eh um belo script!

 

Olá denniscm, cara acho que isso aqui vai resolver seu problema vou postar aqui o script pra teleport de 6 bosses e tipo se quiser add mais é so cria apartir do ultimo o elseif... e ai vai e por lá em cima onde tem o nome desses boss ai vc adiciona uma tag igual e muda a coordenada o nome do boss e lá em remove function você copia o ultimo e cola la no final e faz mesma coisa coloca as coordenadas certas e talz. aqui o script que você vai colocar na pasta data/creaturescripts/script :

function onDeath(cid, corpse, killer)

registerCreatureEvent(cid, "inquisitionPortals")

local creaturename = getCreatureName(cid)

--- positions where the teleports will be created:

local ushuriel_in_pos = {x=859, y=837, z=6, stackpos=2} 
local annihilon_in_pos = {x=143, y=963, z=7, stackpos=2} 
local hellgorak_in_pos = {x=244, y=959, z=4, stackpos=2} 
local madareth_in_pos = {x=345, y=1017, z=7, stackpos=2} 
local zugurosh_in_pos = {x=509, y=1190, z=7, stackpos=2} 
local brothers_in_pos = {x=219, y=1041, z=7, stackpos=1}

--- positions where the teleports will be teleported you:

local ushuriel_to_pos = {x=588, y=1086, z=7, stackpos=1}
local annihilon_to_pos = {x=276, y=1045, z=6, stackpos=1}  
local hellgorak_to_pos = {x=169, y=1047, z=6, stackpos=1} 
local madareth_to_pos = {x=416, y=1017, z=7, stackpos=1} 
local zugurosh_to_pos = {x=424, y=1119, z=7, stackpos=1} 
local brothers_to_pos = {x=46, y=1109, z=7, stackpos=1}

local time_to_pass = 180 -- in seconds
local tpID = 1387
local doEffect = CONST_ME_TELEPORT
local message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear"

if creaturename == 'Ushuriel' then

		teleport = doCreateTeleport(tpID, ushuriel_to_pos, ushuriel_in_pos)

		doSendMagicEffect(ushuriel_in_pos, doEffect)

		doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

		addEvent(removeTeleportInUshurielWard, (1000*time_to_pass))

elseif creaturename == 'Annihilon' then

		teleport = doCreateTeleport(tpID, annihilon_to_pos, annihilon_in_pos)

		doSendMagicEffect(annihilon_in_pos, doEffect)

		doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

		addEvent(removeTeleportInAnnihilonWard, (1000*time_to_pass))

elseif creaturename == 'Madareth' then

		teleport = doCreateTeleport(tpID, madareth_to_pos, madareth_in_pos)

		doSendMagicEffect(madareth_in_pos, doEffect)

		doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

		addEvent(removeTeleportInMadarethWard, (1000*time_to_pass)) 

elseif creaturename == 'Hellgorak' then

		teleport = doCreateTeleport(tpID, hellgorak_to_pos, hellgorak_in_pos)

		doSendMagicEffect(hellgorak_in_pos, doEffect)

		doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

		addEvent(removeTeleportInHellgorakWard, (1000*time_to_pass)) 

elseif creaturename == 'Zugurosh' then

		teleport = doCreateTeleport(tpID, zugurosh_to_pos, zugurosh_in_pos)

		doSendMagicEffect(zugurosh_in_pos, doEffect)

		doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

		addEvent(removeTeleportInZuguroshWard, (1000*time_to_pass))

elseif creaturename == 'Latrivan' then

		teleport = doCreateTeleport(tpID, brothers_to_pos, brothers_in_pos)

		doSendMagicEffect(brothers_in_pos, doEffect)

		doCreatureSay(cid, message, TALKTYPE_ORANGE_1)

		addEvent(removeTeleportInBrothersWard, (1000*time_to_pass))


	end 
end

function removeTeleportInUshurielWard()
if getThingfromPos({x=859, y=837, z=6, stackpos=2}).itemid == 1387 then
doRemoveItem(getThingfromPos({x=859, y=837, z=6, stackpos=2}).uid,1)
doSendMagicEffect({x=859, y=837, z=6, stackpos=1}, CONST_ME_POFF)
return TRUE
end
end

function removeTeleportInAnnihilonWard()
if getThingfromPos({x=143, y=963, z=7, stackpos=2}).itemid == 1387 then
doRemoveItem(getThingfromPos({x=143, y=963, z=7, stackpos=2}).uid,1)
doSendMagicEffect({x=143, y=963, z=7, stackpos=1}, CONST_ME_POFF)
return TRUE
end
end

function removeTeleportInHellgorakWard()
if getThingfromPos({x=244, y=959, z=4, stackpos=2}).itemid == 1387 then
doRemoveItem(getThingfromPos({x=244, y=959, z=4, stackpos=2}).uid,1)
doSendMagicEffect({x=244, y=959, z=4, stackpos=1}, CONST_ME_POFF)
return TRUE
end
end

function removeTeleportInMadarethWard()
if getThingfromPos({x=345, y=1017, z=7, stackpos=2}).itemid == 1387 then
doRemoveItem(getThingfromPos({x=345, y=1017, z=7, stackpos=2}).uid,1)
doSendMagicEffect({x=345, y=1017, z=7, stackpos=1}, CONST_ME_POFF)
return TRUE
end
end

function removeTeleportInZuguroshWard()
if getThingfromPos({x=509, y=1190, z=7, stackpos=2}).itemid == 1387 then
doRemoveItem(getThingfromPos({x=509, y=1190, z=7, stackpos=2}).uid,1)
doSendMagicEffect({x=509, y=1190, z=7, stackpos=1}, CONST_ME_POFF)
return TRUE
end
end

function removeTeleportInBrothersWard()
if getThingfromPos({x=219, y=1041, z=7, stackpos=1}).itemid == 1387 then
doRemoveItem(getThingfromPos({x=219, y=1041, z=7, stackpos=1}).uid,1)
doSendMagicEffect({x=219, y=1041, z=7, stackpos=1}, CONST_ME_POFF)
return TRUE
end
end 

 

certo vou explicar onde tem inquisitionPortals ai é o nome do evento você bota como quiser pode botar bossesPortals sei lá.

o resto é a mesma coisa onde tem o nome ai dos bosses você coloca o nome dos seus bosses de seu ot. as coordenadas onde tem in_pos é onde o portal vai ser criado e onde tem to_pos é para onde o portal vai te teleportar quando entrar nele.

Onde tem If creaturename = Ushuriel é o nome do boss que você vai por ai.

onde tem teleport = doCreateTeleport(tpID, ushuriel_to_pos, ushuriel_in_pos) as partes que tem ushuriel você vai por o nome do seu boss.

Onde tem doSendMagicEffect(ushuriel_in_pos, doEffect) a mesma coisa onde tem ushuriel_in_pos você vai botar boss_in_pos ( boss ) ai é o nome do seu monstro.

onde tem addEvent(removeTeleportInUshurielWard, (1000*time_to_pass)) na parte Ushuriel mesma coisa você vai por o nome do seu boss e ai nessa parte aqui que fica no function removeTeleportInUshurielWard() mesma coisa você vai por o nome do seu boss igual como botou nos outros. agora o negoço da messagem não testei isso mais você pode por em local message a sua mensagem e no outro boss o 2 você tenta botar local message1 e cria lá em cima embaixo de local message o local message1 = "msg." e talz e onde tem : doCreatureSay(cid, message, TALKTYPE_ORANGE_1) você vai por o 1 do lado de "message". teste caso não funcione me avise.

Pronto.

 

Agora você vai em todos os seus monstros que você vai utilizar nesse script e vai por isso aqui :

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

Lembrando que isso você poe embaixo de </flags> se lembra como postei no 1 script.

onde tem inquisitionPortals você vai por igualzinho como colocou lá no script tipo bossesPortals entendeu? e coloca isso em todos os monstros que você utilizar no script.

 

certo em data/creaturescripts vai no arquivo creaturescripts.xml e adiciona isso :

<event type="death" name="inquisitionPortals" script="Inquisition/teleports_inquisition.lua"/>

sabendo que name="inquisitionPortals" é o nome do evento você teria que botar "bossesPortals" e script="Inquisition/teleports_inquisition.lua é o nome do arquivo que você criou dentro da pasta data/creaturescripts/scripts só que ai ele colocou em mais uma pasta ficando data/creaturescripts/scripts/Inquisition sacou? se você colocar seu arquivo só na pasta scripts de creaturescripts você só vai colocar lá em script="bosses_teleport ou o nome que você usar.

Espero que isso te ajude!

 

Flw! qualquer erro avisa aqui.

:smile_positivo:

 

Ae pdzinhow, até que fim fez, née?

Valeu aí por ter me ajudado naquela hora..

Script bem legal, e um pouco facil de configurar.

 

Koninhoo~

 

Vlw koninhoo ^^!

ahh seu script tbm é muito bom cara que avisa quando termina a quest coloquei no meu ot ^^

sucesso ;]

denniscm

dNs
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/10/06Posts: 5

@pdzinhow

 

Opa, ajudou sim cara!

Consegui! vlws mesmooo :)

 

Obrigado por trazer o script aki pra nós!

Vlwsss



"Aqueles que não seguem as regras são lixo, mas aqueles que abandonam seus amigos são piores que lixo."

pdzinhow

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/11/08Posts: 19
@pdzinhow

 

Opa, ajudou sim cara!

Consegui! vlws mesmooo :)

 

Obrigado por trazer o script aki pra nós!

Vlwsss

 

 

Nada ;)

Tamo ai pra isso ^^

gorno

God Gorno
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 21/12/07Posts: 121Char no Tibia: Jhonye Runner

@Pdzinhow

 

Cara, o teleprt não quer sumir!!

 

Atenciosamente,

Gorno.

Att,

Gorno.

 

 

e7bd2e64bd.gif

 

- Você é meu fã? Então use minha Fã Bar!

6eb71bf385.png

VictorWalking

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/06/12Posts: 2

funfa em 9.52 ? '-'

tfs 0.4