Ir para conteúdo

[Arquivado]Funções Dos Scripts De Lua #5


Izaiasousa

Posts Recomendados

Lista de Funções de Lua #5

 

Olá pessoal!



Hoje eu irei entrar em um assunto novo.

Vamos fazer um resuminho do que a gente já viu até aqui?

 

Vimos os tipos de function, vimos as "constantes" (prefiro chamar elas assim) que são do..get..is (ainda existem outras, mas não quis me aprofundar muito no assunto. Ate aqui da pra fazer scripts legais com elas.) Vimos a function onUse e tals.

 

Hoje iremos usar uma nova function:

 

onSay

 

Ela é usada na talkaction.

Talkaction é o seguinte.. O script só será executado quando o jogador falar uma coisa. Se ele falar exura o script do Lighting Heal irá ser executado, porquê ? Por que o jogador cid fez uma ação via sua fala, daí talkaction. Deram pra entender ?

 

:no:

 

Simplificando, o jogador fala uma coisa e o script é executado.

 

Vamos a sintaxe do onSay.

 

function onSay (cid,words,param)

 

Todo mundo conhece o cid e o function e acabaram de conhecer o onSay né ? Então vamos a essas partes: words e param.



words é uma palavra do inglês que significa palavras. Ou seja, aqui é o que o jogador irá dizer. A "variavel" que irá receber o que o jogador disse e fazer com que o script reconheça aquela palavra e execute o script.



params é tudo que vier depois das "" aspas.

 

Vamos a um exemplo pra vocês poderem compreender melhor o que significa words e param para vocês nunca esquecerem!

 

Se o jogador falar

 

utevo res " Crocodile
No caso, quem é words e quem é param?

 

Simples, a magia será words, certo ?

 

words = utevo res

 

E depois da "aspa" é o params. Entenderam o "tudo que vier depois das aspas?"

 

params = Crocodile

 

Bem, é isso ae!

Agora é só aplicar essa função em seus scripts!

 

Já tio ? :cry:

 

É ... Na verdade eu quis mostrar talkactions como introdução e tals, já que vocês viram actions e as sintaxes etc. Vou mostrar um exemplo aqui pra vocês compreenderem melhor (Y)

 

-----------------------------

 

Script de Promotion

 

function onSay(cid, words, param) -- Olha aqui! Começando o script, significa que é ...... uma talkaction! :w00t:

 

if getPlayerVocation(cid) <= 4 then -- Como é de promotion, o jogador tem que ser sorcerer 1, druid 2, paladin 3, knight 4.. ou seja, PlayerVocation menor ou igual à 4.

 

if doPlayerRemoveMoney(cid,20000) == TRUE then -- O preço da promotion aqui né? Aqui tá como 20000 (20k) alterar ao seu gosto. No caso esse comando vai fazer o que aqui? Quem se lembra da aula #2 ? Isso ae quem disse Remover 20k do jogador Cid!

 

doPlayerSetVocation(cid,getPlayerVocation(cid)+4) -- De sorcerer para master sorcerer é quanto ? 1+4.. certo?! Então aqui ele vai fazer o seguinte, Set significa que ele irá colocar um novo valor, ou seja, adicionar mais "4" fazendo com que a vocação seja promovida.

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have been promoted!") -- Enviar a mensagem para o jogador dizendo, You hav been promoted! Se lembrem do doPlayerSenTextMessage!!

 

doSendMagicEffect(getPlayerPosition(cid), 30) -- E por último vai dar aqueles efeitinhos que você escolhe ao seu gosto. :)

 

else -- Senão, se o jogador não tiver dinheiro $$...

 

doPlayerSendCancel(cid, "Sorry, you don't have enought money") -- Irá aparecer a mensagem Sorry, you don't have enought money.

 

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) -- E efeito denovo. [Titiioooooo Lakaaa e esse getPlayerPosition?] O get como eu já falei vai ler a informações do jogador e retornar, no caso ele vai ler a POSIÇÃO do jogador cid e tacar efeito!

 

end -- End do Else.

else -- Senão for por causa de dinheiro então vai ser por causa de ...

 

doPlayerSendCancel(cid, "Sorry, you are already promoted") ... que você já está promovido. Se você já estiver promovido e fazer aquela condição if getPlayerVocation(cid) <= 4 then

 

end

end



 

E tamrám! Nosso script de promotion foi vista parte por parte e espero que você tenha entendido como é que é o racíocinio e funcionamento de um script simples. Você que viu em todas essas aulas as functions e sintaxes de cada uma não se assustou com isso aqui.

Bem.. aqui termina mais um tutorial de ..

 

Senhor Lakinha Tariel

Oferecimento: Laka Tariel Ot serv!:)

Até a próxima pessoal!

Bons estudos, hoje não vai ter Atividade pra casa :cry:

Aconselho a vocês irem na pasta do seu Ot e ir em Datas.. Talkaction .. Script e abrir eles lá e ver como é que eles são feitos e comecem a fazer alguns também! :)

 

Adíos, Comentem!

 

Qualquer erro me avisa que eu corrijo.

 

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Ela é usada na talkaction.

Talkaction é o seguinte.. O script só será executado quando o jogador falar uma coisa. Se ele falar exura o script do Lighting Heal irá ser executado, porquê ? Por que o jogador cid fez uma ação via sua fala, daí talkaction. Deram pra entender ?

 

Magias utilizam a mesma função onSay e nem por isso ela está nas talkactions.

 

Vamos a sintaxe do onSay.

 

function onSay (cid,words,param)

 

você não mostrou a sintaxe da função e se quiz demonstrar os parâmetros da função adicione o parâmetro canal.

 

params é tudo que vier depois das "" aspas.

 

totalmente errado , "param" na função onSay() é uma string contendo tudo o que vier após o words.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

:button_ok: Como sempre muito bom!

 

___

 

Só me ficou uma dúvida:

Como eu tenho certeza do que vai retornar para o jogador? Tipo, O jogador ainda não se promoveu, mas não tem o dinheiro, como tenho certeza que o que vai acontecer vai ser isso...

else

 

doPlayerSendCancel(cid, "Sorry, you don't have enought money")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

?

Porque no caso, tinham 2 else.

 

Desculpa se a pergunta for meio noob.

 

Vlws!

Editado por Eskylo
Link para o comentário
Compartilhar em outros sites

  • 3 months later...

ow cara desculpa fala mais, eu so iniciante, mais eu lembrei de uma coisa, no funçoes dos scripts de lua 4#

 

se falo q n pode colocar true

ta vendo ? se falo q n podia colocar true, era so then, mais ai eu lembrei, eh so no IS essa regra , ou em todas?

 

 

if doPlayerRemoveMoney(cid,20000) == TRUE then

 

 

 

 

 

 

Editado por NeverCool
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 1 year later...
  • 1 year later...
  • 4 years later...
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...