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
No caso, quem é words e quem é param?utevo res " Crocodile
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 ?
É ... 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
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.