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

Izaiasousa
em Noticias - Arquivo

Izaiasousa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/06/10Posts: 22

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.

 

Meus Trabalhos Aqui - Confiram: http://www.xtibia.co...34entry894534

 

 

-- É meu fã ?

 

usebarq.jpg

 

 

 

-- Campeã..

 

1277162990-U5886.png

ka9

~> Scripter <~...~> Diias <~
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/02/09Posts: 18Char no Tibia: Nabuconozzor

Tutorial Show de bola, gostei :D

 

Continue assim...

sou botafogo de coração

hsb.gif

 

Sou Tricolor de Coração

 

diilasrullez.gif

Dเเαร яuℓℓэž

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

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

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.

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."

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gênero: Masculino

: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!

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.

eduardo98

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/12/10Posts: 8Char no Tibia: Secret ¬¬

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

 

 

 

 

 

 

Roksas Owna     ,*



userbanner.jpg

meusidolosth6.gif

fanbarlr7.gif

bbdmfanck9.jpg



ironm.png

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gênero: Masculino

n tem necessidade do

== TRUE

pode por só

 

if doPlayerRemoveMoney(cid,20000) then

 

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.

exorcist

Nossos dias nunca voltarão
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 14/06/11Posts: 172

cara adorei denovo seus tutoriais sao muito bons

Titiioooooo Lakaaa

auhuhehuauhae eu ri nessa parte
251899_278013482304915_1728848852_n.jpg

snowks

Staff do Digimon Shinka
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 15/12/12Posts: 103Char no Tibia: ggabrielssilv

acho q vc poderia fazer um rezumão de tudo ensinando a como criar um script do zero.

101380992851.png

 

221375320586.png

Sou : Mapper/Scripter/Designer

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino
Esta noticia foi arquivada.
Este tópico está fechado e foi movido para Noticia - Arquivo.

+ Caso tenha atualizações você poderá criar outro tópico.

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel