[Atualizado] - Vocations Door

leleos
Por leleos
em Tutoriais de Mapping

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Vocations Door

 

 

Bom galera to aqui hoje pra ensinar a vocês como fazer uma Vocation door por Action Id.

 

Va no seu mapa editor e coloque um dos seguintes Actions IDs.

4531 = Sorcerers e Master Sorcerers

 

4532 = Druids e Elder Druids

 

4533 = Paladin's e Royal Paladin's

 

4534 = Knight's e Elite Knight's

 

Veja um exemplo:

 

imagemcrw.jpg

(Nessa Porta só Knight's e Elite Knight's poderão passar.)

 

Agora vamos ao Script.

 

 

Depois de adicionar o action id na porta, va em data/actions/scripts, criem um arquivo chamado vocdoor.lua.

 

No arquivo vocdoor.lua adicione:

 

 

 

function onUse(cid, item, frompos, item2, topos)

playervoc = getPlayerVocation(cid)

 

 

if item.actionid == (4531) then

if getPlayerVocation(cid) == 1 or playervoc == 5 then

 

 

pos = getPlayerPosition(cid)

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

else

doPlayerSendTextMessage(cid,22,'Você precisa estar na frente da porta.')

return 1

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(topos,12)

else

doPlayerSendTextMessage(cid,22,"Apenas Sorcerer's podem passar.")

end

 

elseif item.actionid == (4532) then

if getPlayerVocation(cid) == 2 or playervoc == 6 then

 

 

pos = getPlayerPosition(cid)

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

else

doPlayerSendTextMessage(cid,22,'Você precisa estar na frente da porta.')

return 1

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(topos,12)

else

doPlayerSendTextMessage(cid,22,"Apenas Druid's podem passar.")

end

 

elseif item.actionid == (4533) then

if getPlayerVocation(cid) == 3 or playervoc == 7 then

pos = getPlayerPosition(cid)

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

else

doPlayerSendTextMessage(cid,22,'Você precisa estar na frente da porta.')

return 1

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(topos,12)

else

doPlayerSendTextMessage(cid,22,"Apenas Paladin's podem passar.")

end

 

elseif item.actionid == (4534) then

if getPlayerVocation(cid) == 4 or playervoc == 8 then

pos = getPlayerPosition(cid)

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

else

doPlayerSendTextMessage(cid,22,'Você precisa estar na frente da porta.')

return 1

end

 

doTeleportThing(cid,pos)

doSendMagicEffect(topos,12)

else

doPlayerSendTextMessage(cid,22,"Apenas Knight's podem passar.")

end

return 1

else

return 0

end

end

 

 

 

Agora va em data/actions/actions.xml e adicione a seguinte tag:

 

<action actionid="4531" event="script" value="vocdoor.lua"/>

<action actionid="4532" event="script" value="vocdoor.lua"/>

<action actionid="4533" event="script" value="vocdoor.lua"/>

<action actionid="4534" event="script" value="vocdoor.lua"/>

 

Explicando

 

 

Vermelho = Os numeros em vermelho são os numeros das actions id's de cada porta.

Azul = Aonde esta em Azul são os numeros de cada vocação.

 

1 = Sorcerer

2 = Druid

3 = Paladin

4 = Knight

5 = Master Sorcerer

6 = Elder Druid

7 = Royal Paladin

8 = Elite Knight

 

Laranja = Laranja é a menssagem que aparecera caso o player tente passa na porta com a vocação errada.

 

Bom é isso ai, qualquer coisa é só pergunta.

Ahh não esquece de comentar =).

 

 

Creditos:

 

Leleo = EU

 

 

Obrigado pela atenção.

 

Abraços.

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

Muito bom, aprovado!! explicando tudo 100% muito bom mesmo

 

do inicio até o fim..

 

Aprovado

Atenciosamente, Vilden.

\Mattheus ~*

Ex Moderador
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 11/02/09Posts: 559Char no Tibia: Deep Druid

Nossa mano, excelente tutorial, tudo explicado e uma excelente formatação irá ajudar e muito aqueles que estão começando com Scripting.

 

Tutorial Aprovado.

 

Abraços.

[/ Construçãao .

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Nossa vindo de vocês fico até emocionado xD.

 

Obrigado pessoal.

 

Espero que ajude muitas pessoas.

 

Agora é espera para ver oque os MODS vão falar.

 

Abraços.

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

Ficou sim um excelente tutorial de ótima qualidade, poderia centralizar as imagens para ficar melhor.

Como o nosso Coordenador está ausente e é preciso a votação dele para a aprovação do tópico, você terá de aguardar.

 

Abraços.

KaKilo ~
 


Lom14fD.png

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

se foi você quem fez o script que tal aprender um pouco sobre tables e aprender sobre todos os elementos da função onUse()?

 

só assim você vai retirar tudo isso do script.

 

if pos.x == topos.x then

if pos.y < topos.y then

pos.y = topos.y + 1

else

pos.y = topos.y - 1

end

elseif pos.y == topos.y then

if pos.x < topos.x then

pos.x = topos.x + 1

else

pos.x = topos.x - 1

end

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Foi eu sim só que não sou muito bom em scripts, mais vou estudar mais a função.

 

Pode me indicar algum tutorial bom pra isso?

 

Last Seeker

Membro
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 29/04/09Posts: 136

O tutorial está bom, bem explicado, só que como o Marcryzius disse, ele poderia estar menor.

Tutorial aprovado.

Att,
Last Seeker.




Meus Avatares

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Bom sobre o script, ele vai ficar assim por enquanto porque não sou muito chegado em scripts.

 

Eu vou ta estudando um pouco mais essa area para ver, pois não disponho de muito tempo.

 

Bom e isso ai gente qualquer coisa é só pergunta.

 

Abraços.

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

Tutorial aprovado :button_ok:

Boa formatação, organização, imagens que facilitão o aprendizado e informação correta direto ao ponto.

 

Obrigado por trazer conteúdo ao XTibia!

KaKilo ~
 


Lom14fD.png

bevils

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/01/10Posts: 5Char no Tibia: GOD Bevil

Muito bom mesmo :)

Eu nao sabia disso :S muito rox vlws....

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

esse mostrair spoil n ta mostrando nada ;O

Contato: DevilMoon@Xtibia.com

luisonego

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/03/10Posts: 2Char no Tibia: Sorcerer Carandiru

Cara tutorial muito bom.

Eu sou novo nesse ramo e tal.

Essas pessoas como vc fazem a diferença na hora de fazer um server.

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Bom gente eu atualizei o topico agora da pra ver os spoiler certim, e tambem mudei algumas cores dsculpa a demora pra atualiza.

 

é isso ai galero abraços.