Ir para conteúdo
Entre para seguir isso  
victorthegreenot

Tutorial Teleports 3 em 1.

Recommended Posts

victorthegreenot    0
victorthegreenot

Tutorial Teleports 3 em 1.

* Item que teleporta.

* Adicionar mensagem ao ser teleportado. (2 maneiras)

* Teleport com a morte de monstro.

 

--- Item que Teleporta ---

 

Vá até a pasta data\actions\scripts, copie um arquivo .lua, renomeie para escolhaonome.lua, abra-o com bloco de notas, apague tudo dentro e adicione:

 

[b]function onUse(cid, item, frompos, item2, topos)[/b]
[b]pos= [color=magenta]{x=82, y=71, z=7}[/color][/b]
[b]posplayer = getPlayerPosition(cid)[/b]

[b]if item.actionid == [color=purple]7777[/color] then[/b]
[b][color=darkorange]doSendMagicEffect(posplayer,[color=darkgreen]10[/color])[/color][/b]
[b]doTeleportThing(cid,pos)[/b]
[b][color=darkorange]doSendMagicEffect(pos,[color=darkgreen]10[/color])[/color][/b]
[b]end[/b]
[b]end[/b]

 

 

Rosa = Posição para onde o teleport te levará.

 

Roxo = Está é ActionID que vai estar no Item que teleportará o player(Você deverá colocar pelo map editor). O Número que você colocar aqui, deverá ser o mesmo número que você colocará na TAG que será criada no Actions.xml.

 

Laranja: Em português significa "Mandar efeito mágico", ou seja, vai ser o efeito que irá aparecer na hora do teleport.

 

Verde: Esse número é o efeito que será usado, ao final do tutorial irei listar os efeitos mais usados.

 

 

 

 

 

 

 

Depois de ter editado as coordenadas, o ActionID e o efeito, vá no data/actions/ e abra o arquivo actions.xml.

 

Embaixo de qualquer outra tag, adicione a seguinte:

 

<action actionid="[color=purple][b]7777[/b][/color]" script="[color=red][b]escolhaonome.lua[/b][/color]"/>

 

 

Roxo: Aqui a ActionID, a mesma que você colocou no script, vale lembrar que essa actionID não poderá estar em uso, para certificar que ela não está sendo usada, aperte Ctrl+F e pesquise pelo número da Action no Actions.xml.

 

 

Vermelho: Aqui você deverá colocar o nome do seu script.

 

Pronto, seu item agora é um teleport, basta dar "Use" nele! (Y)

 

 

 

--- Adicionar mensagem ao ser teleportado. ---

 

 

 

*Em caixa de Diálogo*

 

 

 

É um processo bem simples, entre "pos= {x=82, y=71, z=7}" e "posplayer = getPlayerPosition(cid)" adicione "msg = "MENSAGEM"".

Depois, entre "if item.actionid == 7777 then" e "doSendMagicEffect(posplayer,10)" adicione "doShowTextDialog(cid, 4543, msg)"

(Esse número é o ID do item que ficará como uma "Miniatura" no topo da caixa de diálogo.)

 

Exemplificando:

[b][color=blue]function onUse(cid, item, frompos, item2, topos)[/color][/b]
[b][color=blue]pos= {x=82, y=71, z=7}[/color][/b]
[color=darkgreen][b]msg = "Você acaba de ser Teleportado!"[/b][/color]
[b][color=blue]posplayer = getPlayerPosition(cid)[/color][/b]

[b][color=blue]if item.actionid == 7777 then[/color][/b]
[color=darkgreen][b]doShowTextDialog(cid, 4543, msg)[/b][/color]
[b][color=blue]doSendMagicEffect(posplayer,10)[/color][/b]
[b][color=blue]doTeleportThing(cid,pos)[/color][/b]
[b][color=blue]doSendMagicEffect(pos,10)[/color][/b]
[b][color=blue]end[/color][/b]
[b][color=black][color=blue]end[/color][/color][/b]

 

Pronto, agora ao ser teleportado, aparecerá a caixa de diálogo com a sua mensagem! (Y)

 

 

 

*No meio de tela(Igual à mensagem de invasão)*

 

Para que apareça a sua mensagem no meio da tela, sem caixa de diálogo, é um processo ainda mais simples.

Depois de "doSendMagicEffect(pos,10)" e antes do primeiro "end" adicione "doPlayerSendTextMessage(cid,22,"MENSAGEM")".

 

Exemplificando:

[b][color=blue]function onUse(cid, item, frompos, item2, topos)[/color][/b]
[b][color=blue]pos= {x=82, y=71, z=7}[/color][/b]
[b][color=blue]posplayer = getPlayerPosition(cid)[/color][/b]

[b][color=blue]if item.actionid == 7777 then[/color][/b]
[b][color=blue]doSendMagicEffect(posplayer,2)[/color][/b]
[b][color=blue]doTeleportThing(cid,pos)[/color][/b]
[b][color=blue]doSendMagicEffect(pos,10)[/color][/b]
[b][color=darkgreen]doPlayerSendTextMessage(cid,22,"Você foi teleportado!")[/color][/b]
[b][color=blue]end[/color][/b]
[b][color=blue]end[/color][/b]

 

 

Pronto, agora ao ser teleportado, irá aparecer a sua mensagem no centro da tela!(Como de uma invasão, branca.) (Y)

 

 

 

 

--- Teleport com a morte de monstro ---

 

 

Vá na pasta Data/creaturescripts/scripts copie qualquer arquivo e renomeie para "Nomedomonstro_teleport.lua".

Abra-o no bloco de notas, apague tudo e cole isso:


[left]function onDeath(cid, corpse, killer)
registerCreatureEvent(cid, "[color=red][b]jacksparrowTeleport[/b][/color]")
local creaturename = getCreatureName(cid)
--- positions where the teleports will be created:
local jacksparrow_in_pos = [color=blue][b]{x=140, y=256, z=7[/b][/color], stackpos=2}
--- positions where the teleports will be teleported you:
local jacksparrow_to_pos = [color=purple][b]{x=169, y=260, z=7[/b][/color], stackpos=1}
local time_to_pass = [color=darkorange][b]20[/b][/color] -- in seconds
local tpID = 1387
local doEffect = CONST_ME_TELEPORT
local message = [color=darkgreen][b]"Teleport fechará em 20 segundos."[/b][/color]
if creaturename == [color=magenta][b]'Jack Sparrow[/b][/color]' then
teleport = doCreateTeleport(tpID, jacksparrow_to_pos, jacksparrow_in_pos)doSendMagicEffect(jacksparrow_in_pos, doEffect)
doCreatureSay(cid, message, TALKTYPE_ORANGE_1)
addEvent(removeTeleportInjacksparrowWard, (1000*time_to_pass))
end
end
function removeTeleportInjacksparrowWard()
if getThingfromPos([color=plum][b]{x=140, y=256, z=7[/b][/color], stackpos=1}).itemid == 1387 then
doRemoveItem(getThingfromPos([b][color=plum]{x=140, y=256, z=7[/color][/b], stackpos=1}).uid,1)
doSendMagicEffect([b][color=plum]{x=140, y=256, z=7[/color][/b], stackpos=1}, CONST_ME_POFF)
return TRUE
end
end[/left]

 

Vermelho: Nome do seu monstro + Teleport.(Se for um nome composto, como no meu caso, deixe tudo junto. Isso será o nome do evento.)

Azul: É onde o teleport será criado. - NÃO MEXA NO STACKPOS -

Roxo: É pra onde o teleport levará o player. - NÃO MEXA NO STACKPOS -

Laranja: Tempo até o teleport desaparecer.

Verde: Mensagem que irá aparecer quando o teleport for criado(quando o monstro morrer).

Rosa: Nome do seu monstro, aqui você deve por o nome correto do seu monstro, com espaços e etc.

Rosa-Claro: As coordenadas que irão remover o teleport. - COLOQUE IGUAL AO QUE ESTÁ EM AZUL, MAS, PRESERVANDO O STACKPOS.

 

Dica: Ao começar a editar o Script, clique em "Editar", depois em "Substituir", em Localizar, coloque "jacksparrow"(tudo junto) e em substituir coloque o nome do seu monstro(Se for composto coloque tudo junto), após fazer isso, clique em "Substituir Tudo".

Depois de fazer isso, não esqueça de editar o "If Creaturename"(Rosa) com o nome de seu monstro.

 

 

 

Depois de editar tudo, salve.

Agora vá em data/creaturescripts e abra o "creaturescripts.xml" com o bloco de notas, adicione o seguinte:

<event type="death" name="[color=#ff0000]jacksparrowTeleport[/color]" script="[color=#0000ff]jacksparrow_teleport.lua[/color]"/>

Vermelho: Nome do evento.(O mesmo que você colocou em "Registercreatureevent" no passo anterior)

Azul: é o nome do script, o nome que você deu ao arquivo.(nomedomonstro_teleport.lua)

 

 

Feito? Você está quase lá!

Vá em data/monster e procure pelo seu monstro, no meu caso é data/monster/greenot, lá está o Jack Sparrow.xml .

Abra o arquivo xml do seu monstro, e embaixo de </flags> adicione o seguinte:

[b]<script>[/b]
[b]<event name="[color=#ff0000]jacksparrowTeleport[/color]"/>[/b]
[b]</script>[/b]

Vermelho: Nome do evento. (O mesmo que você colocou na Tag em que você adicionou no "Creaturescripts.xml".)

 

Pronto, agora um teleport irá aparecer quando o seu monstro for morto. (Y)

 

 

 

 

--- Os Efeitos mais usados ---

 

1 - Ataque de água da Hydra

2 - Fumaça

3 - Quando você toma um hit e seu shield defende

4 - Explosão da magia Ultimate Explosion

5 - Explosão da runa Explotion

7 - Quando é tomado poison

9 - Efeito da magia Bersek "Exori"

10 - Efeito de teleport

11 - Quando é tomado energy

12 - Efeito de quando se heala Uh

15 - Quando é tomado fire

17 - Efeito da magia "Exori Mort"

18 - Notas musicais

 

 

 

 

 

Fim do meu primeiro tutorial, esperto que tenha sido proveitoso para todos! (Y)

 

Hug of the bear

 

Créditos à: Allan1001(Outro fórum) e _leon_, com os quais apreendi a fazer o que expliquei nesse tópico, meu tutorial foi "baseado" em seus respectivos tutoriais.

Editado por victorthegreenot

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gpwjhlkdcf    21
Gpwjhlkdcf

  • Aprovado e Movido para Pseudo-Tutoriais.

Editado por Skyen Hasus

Compartilhar este post


Link para o post
Compartilhar em outros sites
victorthegreenot    0
victorthegreenot

Valeu Skyen ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
Seven    0
Seven

Paguei pau velho, você explica muito bem como configurar e a função e talz

Se alguém ficar com dúvida no seu tópico, dificilmente leu tudo e corretamente...

Meus PARABÉNS.

Compartilhar este post


Link para o post
Compartilhar em outros sites
victorthegreenot    0
victorthegreenot

Nossa, valeu mesmo Seven, fico muito grato de ouvir elogios assim! ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
victorthegreenot    0
victorthegreenot

Ninguém tem o hábito de olhar o "pseudo-tutoriais", pelo menos é a impressão que eu tenho.

Compartilhar este post


Link para o post
Compartilhar em outros sites
victorthegreenot    0
victorthegreenot

Meu tutorial tá arquivado :o

Compartilhar este post


Link para o post
Compartilhar em outros sites
vione    0
vione

Muito bom cara, o servidor que eu trabalhava havia um sistema semelhante, obrigado por me ensinar como reproduzi-lo. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
eduardoimpo    0
eduardoimpo

So tenho uma duvida...exemplo vc colocou o script no xml do bicho...entao tipo todo bicho que eu mata no meu server que estiver espalhado pelo mapa..ao ser morto vai aparece o teleport naquela cordenada que eu coloquei?

 

exemplo: coloquei isso no ferumbras....ai se tiver outro ferumbras espalhado pelo mapa em outro lugar que eu não queira que apareça tp..ai ao matar ele vai aparece o tp la onde eu queria do primeiro ferumbras?

Compartilhar este post


Link para o post
Compartilhar em outros sites
rafa09    0
rafa09

muito bom mesmo valeooo aee

 

jah vou colocar no ot :) !!!

 

jah vi um parecido um pouco diferente ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites
gy1briel2    0
gy1briel2

Parabens , muito bom

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×