WI

[geral] End E Else

Por Wiltry, 23 de jun. de 2009 em Tutoriais de Scripting

script
5
1.4k
WiltryW
23 de junho de 2009 às 21:05

Olá galera, esse tutorial é para ajudar os iniciantes a saber quantos "end" o script terá, e para qual if será usado o else.

Bom, vamos começar com um exemplo de inicio script simples (que não foi testado):

function onUse(cid, item, frompos, item2, topos)

 

pos = {x = 100, y = 1000, z = 7}

 

if item.actionid == 6500 then

if getPlayerStorageValue(cid, 2070) == -1 then

if getPlayerVocation(cid) == 1 then

 

Regra: o else sempre irá se referir a ultima condição dita, então, o else que eu colocar agora irá se referir a vocação e o segundo irá se refereir ao storage value.

 

function onUse(cid, item, frompos, item2, topos)

 

pos = {x = 100, y = 1000, z = 7}

 

if item.actionid == 6500 then

if getPlayerStorageValue(cid, 2070) == -1 then

if getPlayerVocation(cid) == 1 then

doPlayerSendTextMessage(cid, 25, "Olá, senhor sorcerer")

else

doPlayerSendTextMessage(cid, 25, "Você não é um sorcerer")

end

O end foi usado para fechar a função if getPlayerVocation. Você pode por todos os ends no final do script, mas aconselho (só por organização) ir fechando a cada função usada.

Continuando o script:

 

function onUse(cid, item, frompos, item2, topos)

 

pos = {x = 100, y = 1000, z = 7}

 

if item.actionid == 6500 then

if getPlayerStorageValue(cid, 2070) == -1 then

if getPlayerVocation(cid) == 1 then

doPlayerSendTextMessage(cid, 25, "Olá, senhor sorcerer")

doTeleportThing(cid, pos)

else

doPlayerSendTextMessage(cid, 25, "Você não é um sorcerer")

setPlayerStorageValue(cid, 2070, 1)

end

else

doPlayerSendTextMessage(cid, 25, "Você ja recebeu a mensagem")

end

end

return TRUE

end

 

Certo: se olharem bem, percebam que temos 4 ends, 1 para cada if e 1 para fechar a função function onUse()

E sobre o else, seria em "portugues" como um:

se pegarVocação(doplayerque usou a alavanca) == sorcerer então

Mandarmensagem ...

mas se a vocação do player não for 1, retornará ao player: (else)

Seria basicamente isso, claro que essa não é a tradução ;~

Espero que tenham entendido, estou com um pouco de dor de cabeça, caso tenham alguma duvida, postem ou mandem PM.

 

Abraços,

Wiltry

Editado Junho 24 por Wiltry

XibataX
28 de junho de 2009 às 09:54

Realmente mto bom!!!

Adorei...

Um dos poucos tópicos que ensinam realmente os usuários a fazerem seus próprios scritps

 

Parabéns!!

 

Só uma dúvida:

a condição é determinada pelo "if"?

WiltryW
28 de junho de 2009 às 10:20

Creio eu que sim, em todos os scripts que vi até hoje, o if inicia uma condição, até porque em Portugues a tradução é se :)

 

Abraços,

Wiltry.

satan666S
28 de junho de 2009 às 10:38
Realmente mto bom!!!

Adorei...

Um dos poucos tópicos que ensinam realmente os usuários a fazerem seus próprios scritps

 

Parabéns!!

 

Só uma dúvida:

a condição é determinada pelo "if"?

 

sim.

o if e que faz a verificaçao de algo se e verdadeiro ou nao.

LorD SybianL
30 de junho de 2009 às 02:27

Sem palavras xD

 

Aprovado # :button_ok: