Tutorial Talkactions

frerety
em Tutoriais de Scripting

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

HiHo!

 

Se você não souber programar em lua ou não conhecer direito as funções do SVN(ainda conhecida por muitos como CVS) dê uma olhadinha no tutorial de actions do colex primeiro

 

PS .: Faço apenas um pedido, se você for postar esse tutorial em outro lugar me mande uma pm me contando onde plz que eu mando o tópico até com o BBC pra não precisar reformatar tudo =)

 

Pergunta ~> Tá... Vou ler um tutorial de talkactions, mais o que isso faz?!?

Resposta ~> Simples =) Quando o player falar as palavras mágicas vai acontecer alguma coisa.

 

Começaremos analizando o talkactions.xml (data/talkactions/)

Abra e vai ter alguma coisa parecida com isso:

<?xml version="1.0"?>

<talkactions>

<talkaction words="open sesame" script="example.lua" />

</talkactions>

A parte que nos interessa agora é essa destacada.

Vamos analizá-la:

<talkaction words="open sesame" script="example.lua" />

words(vermelho) .: O que o player deve falar para acontecer alguma coisa

script(verde) .: o arquivo.lua das coisas que irão acontecer qndo o player falar as palavras

 

Até aqui não temos dúvidas... vamos agora aprender a programar uma talkaction...

Abra a pasta data/talkactions/scripts e crie lá dentro um arquivo chamado base_talkactions.lua...

Cole isso:

function onSay(cid, words, param)

return 1
end

Essa é a base de toda talkaction, tudo o que você precisar fazer terá que ter isso =)

Vamos "dissecar" essa função onSay...

function onSay(cid, words, param)

cid(vermelho) .: o famoso cid das actions... é o "UID" do player que disse a palavra mágica, para você usar nas funções

words(verde) .: A palavra mágica =)

param(azul) .: é tudo o que vem depois de "...

Exemplo:

exiva "frerety

Nesse caso exiva é a words e frerety é param =) Simples assim =)

 

TalkActions, assim como actions, podem ser recarregadas (qndo vc altera actions vc não precisa resetar o server para a alteração ter efeito, apenas recarregue elas) com o comando /reload... Apenas use /reload talk e não precisaremos ficar resetando o server toda hora =)

 

Muito fácil, não? Agora só para vocês irem se acostumando, aqui vai alguns exemplos de como usar:

 

Exemplo 01 .: Criar uma palavra mágica que remova uma pedra

RemPedra.lua

function onSay(cid, words, param)

pos = { x=1000, y=1000, z=7, stackpos=1 }
pedra = getThingfromPos(pos)
doRemoveItem(pedra.uid,1)

return 1
end

talkactions.xml

<talkaction words="open" script="RemPedra.lua" />

Palavra Mágica: open

Exemplo 02 .: Criar uma palavra mágica que mostre o Ml de um player

ShowMl.lua

function onSay(cid, words, param)

player = getPlayerByName(param)

if player > 0 then
 ml = getPlayerMagLevel(player)
 doPlayerSendCancel(cid,param .. "'s ML: " .. ml)
else
 doPlayerSendCancel(cid,"Please, type a valid player name.")
end

return 1
end

talkactions.xml

<talkaction words="getml" script="ShowML.lua" />

Palavra Mágica: getml "player

Exemplo 03 .: Remover uma parede com limite de distância
RemParDis.lua

function onSay(cid, words, param)

paredepos = { x=1000, y=1000, z=7, stackpos=1 } -- pos da parede
maxdist = 3 -- qntos SQM de distância o player tem que ficar lonje da parede
playerpos = getPlayerPosition(cid)
if math.max(math.abs(playerpos.x-paredepos.x), math.abs(playerpos.y-paredepos.y)) < maxdist then
 parede = getThingfromPos(paredepos)
 doRemoveItem(parede.uid,1)
 doSendAnimatedText(playerpos, "OPEN!", 120)
 return 0
else
 doPlayerSendCancel(cid,"Fique mais perto")
end
return 1
end

talkactions.xml

<talkaction words="abrate cesamo" script="RemParDis.lua" />

Palavra Mágica: abrate cesamo

Bom, termina aqui o tutorial... Espero que vocês tenham gostado e... sejam bem vindos à nova geração de OtServers =)

 

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


soulblaster

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/10/05Posts: 196

Hiho"

 

BOAAA frerety ;]

voltando a ativa em? ^^

bom tutorial, gostei x]

espero que continue demonstrando seus talentos aki ;]

 

aaah, seria bom vc dar uns exemplos utilizando isso:

if math.max(math.abs(playerpos.x-23), math.abs(playerpos.y-30)) < 3 then

^^ tem que ficar perto de uma certa posiçao para se falar =]

 

ah mais uma coisa: moderadores, FIXEM esse topico, esta muito bem explicado e ajudara muitas pessoas ^^

cya... :hi:

Assinatura feita por Kilerzinhow:
untitled3mg3.jpg
| Wey.Ctba | Wey.Ctba | Rafix | UnderNight | Xedegux |

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

HiHo!

 

@soulblaster

3º exemplo adicionado ^^

vlw pla sugestão =)

 

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


colex

Serviços Prestados a Comunidade
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/10/05Posts: 301Gênero: Masculino

Ficou muito bom o tutorial

voce sabe explicar bem, acho que qualquer um vai entender

 

bom trabalho Frerety

 

 

vou fixar ele, realmente ajuda muito

se algum outro membro da moderação achar que não merece avise.

 

Abraços,

Colex

tibiaa4e

Ex amante de Tibia
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 18/12/05Posts: 912Gênero: MasculinoChar no Tibia: Kohzete

mto bom

mto bom msm

Dai só num sabia o 3º exemplo

apesar q eu nunca ter feito isso

 

flws :hi:

Aposentado de OTserver e Tibia

Meus melhores tutoriais
Enciclopédia Pasta Data
Tutorial de quest

Chakau

Banido
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 09/11/06Posts: 278

Simplesmente magnifico

vlws bro

[Usuário banido, Ofensas/Xingamentos a Equipe]
Addict

buster287

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/12/05Posts: 27

Seus tutoriais são muito cara!

 

Esse fico muito bom e útil.

 

vlw! :hi:

Retired.

Loscar

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 20/10/06Posts: 118Char no Tibia: Denny

o.O num entendi muita coisa.. mas deu pra aprend algo heheeh.. vlw.

Voltando a brincar, por enquanto apenas Zoando ;)

 

Pegar uma xícara de café e aprender a mappear!

 

 

Faça seu mapa e coloque lá para comentarem eles disseram.. pra ver como você esta indo eles disseram!

so sad!

biriba.png

hopugop

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 08/01/06Posts: 154

Simplesmente PERFEITA!! Genial!

 

Será que é possível fazer um 'The Oracle' de Rook sem usar NPCs?

 

Que ótimo!!

Una-se à minha cruzada: Alternativas ao RapidShare!!

Exordium

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 24/01/06Posts: 190

Não entendo muita coisa, mas deu pra ver que ficou simples e bem explicado

valeu :D

 

flw.

Sou fã de:







GM Matthor

Zarthiano 4ever :D
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 21/09/06Posts: 182

Cara ótimo tutorial, me ajudo muito!!!

Eu nem tinha ideia do q era issu....xD

Vlw Veiu

[]s

 

//GM Matthor

Espaço Fan~~ Sou Fan :




______________________________________
l_____________________GM Matthor Fan___l

Presentes:
{Luiz}.:':.{MUTANO}


Roleplay em Neptera, entre nessa você também <sorri>

GOD Zé

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/12/06Posts: 255

Muito util muito bem explicado merecedor de fixo otimo tutorial parabéns

~*~Cya~*~

QUOTE
Aí GaLeRa CoM Um BrAçO Só ( _o/ _o/ _o/ ) AgOrAaa cOm O OuTrO ( \o_ \o_ \o_ ) AgOraaa COm Os DoiS ( \o/ \o/ \o/ ) VaMo Lá!! MãO Na CaBeÇa ( <o> <o> <o> ) PrA CimA (|o| |o| |o|) AGorA NenhUm DoS doiS ( _o_ _o_ _o_ ) IsSo... aGoRa QuErU VeR GeRaL PrUm LaDo ( o/ o/ o/ ) GeRaL PrO OuTrO ( \o \o \o ) BaTeNu PaLmInHa ( /o\ \o/ /o\ ) AgOrA AnImAe!¡!¡!

Universal Storm Ats União :-)

~*~~*~
Use minha fan bar
~*~~*~

masstermix

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/12/07Posts: 39Char no Tibia: looney coyote

aeee, bem explicadinhu

 

 

bem util tambem

 

 

parabens..

KimeraDelf

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/10/07Posts: 3

Ow cara tava querendo fazer uma talkaction q compre bless...faz um tuto ai plz...q nem !buyhouse so q !buybless

pedr0

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 22/10/05Posts: 223

otemo

pedr0signcopy.jpg

~~Meus Trabalhos~~

Quoted Do Mes:

__Pє∂яσ__ diz:

c eh cadastrado no xtibia?

[c=0] Lukas xD[/v][a] diz:

n tenhu isso no meu pc

[c=0] Lukas xD[/v][a] diz:

só o e ip-changer

__Pє∂яσ__ diz:

c ta falando serio?

[c=0] Lukas xD[/v][a] diz:

s

__Pє∂яσ__ diz:

po cara tenhu dô de vc

[c=0] Lukas xD[/v][a] diz:

cara n gosto de x tibia

[c=0] Lukas xD[/v][a] diz:

mas pera

[c=0] Lukas xD[/v][a] diz:

vo baxa rapidim

[c=0] Lukas xD[/v][a] diz:

ele é pessado?

recuseno7.jpg

http://www.xtibia.com/forum/Dofus-t83745.h...012#entry527012

http://www.xtibia.com/forum/Dofus-t83745.h...012#entry527012

http://www.xtibia.com/forum/Dofus-t83745.h...012#entry527012