Tutorial TalkActions
Página 1 de 1
Tutorial TalkActions
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:
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:
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
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!
Créditos by Frerety
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:
A parte que nos interessa agora é essa destacada.<?xml version="1.0"?>
<talkactions>
<talkaction words="open sesame" script="example.lua" />
</talkactions>
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:
- Código:
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
- Código:
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
- Código:
<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
- Código:
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
- Código:
<talkaction words="getml" script="ShowML.lua" />
Palavra Mágica: getml "player
Exemplo 03 .: Remover uma parede com limite de distância
RemParDis.luafunction 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
- Código:
<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!
Créditos by Frerety
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos