Este tutorial foi APROVADO.
- Tutorial muito organizado
- Imagens que auxiliam a organização
- Conteúdo ótimo
- Muito bem explicativo
Continue sempre trazendo tutoriais ao XTibia.
info
Grupo: Conde
Registrado: 31/10/08
Posts: 871
Reputação: +199
Char no Tibia: Luis Felipe Knight

Este tutorial foi APROVADO.
- Tutorial muito organizado
- Imagens que auxiliam a organização
- Conteúdo ótimo
- Muito bem explicativo
Continue sempre trazendo tutoriais ao XTibia.
info
Grupo: Campones
Registrado: 09/09/10
Posts: 23
Reputação: +1

Exercício:
local var=28
if var > 20 and var < 30 then
if var == 28 then
print("Xtibia")
else
print("Scripting")
end
end
Dica:
Acho que no próximo Tutorial poderia mostrar algum interpretador e 'debugador'(o ScriptLive(único bom que conheço))
E o que é "Léxica"???
Editado Novembro 16 por TheQuestion
Bom tutorial, vo almoçar agora, mais eu volto daqui a pouco para ler mais atencioso.
![]()
Abraços
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man

Belo tutorial hein... Voltou com tudo!
Respostas abaixo:
local var = 28 print((20 <= var and var == 28) and "Xtibia" or "Scripting")
![]()
flw
Editado Novembro 13 por apocarai
Vlw cara me ajudo d+ espero q continue assim, trazendo sempre seus tutoriais.
info
Grupo: Campones
Registrado: 03/02/08
Posts: 18
Reputação: +1
Char no Tibia: Ysuldur

local var = 28
if var > 20 and var < 30
if var = 28 then
print ("Xtibia")
else
print ("Scripting")
end
end
postei mas acho que nao esta certo to usando o script live pra ver se compila ele falo que nao da sempre tem algo errado -.-
Editado Novembro 16 por nightshade
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

local var == 28
if var > 20 and var < 30
if var == 28 then
print ("Xtibia")
else
print ("Scripting")
end
end
info
Grupo: Campones
Registrado: 09/09/10
Posts: 23
Reputação: +1

local var = 28 if war > 20 and var < 30 if var = 28 then print ("Xtibia") else print ("Scripting") end end
postei mas acho que nao esta certo to usando o script live pra ver se compila ele falo que nao da sempre tem algo errado -.-
è porque ta escrito 'war' e não 'var'(na 2ª linha)
info
Grupo: Campones
Registrado: 03/02/08
Posts: 18
Reputação: +1
Char no Tibia: Ysuldur

hmm é mesmo, dhsauidhiusada mas dai ja testei com var ele fala que precisa de then perto de if
sei lah negocio complicado ![]()
info
Grupo: Campones
Registrado: 31/10/10
Posts: 33
Reputação: +7

local var == 28
if var > 20 and var < 30
if var == 28 then
print ("Xtibia")
else
print ("Scripting")
end
end
ta falho isso ai errou em 2 lugares
certo é
local var = 28
e faltou um "then" nesta linha,certo é:
if var > 20 and var < 30 then
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas

realmente excelente.
tao bom para pessoas novatas quanto para os mais avançados que tem alguma duvida =d
rep +
info
Grupo: Marquês
Registrado: 05/07/09
Posts: 1.3k
Reputação: +732
Bem-vindos ao primeiro tutorial da série Scripting!, escolhi abordar um tema simples, mas que fará muita diferença nos próximos temas que irei abordar.
Aprender a linguagem LUA é como aprender matemática. Sabe por quê?
Na matemática, para resolver equações, você não precisa ter aprendido soma e subtração? No campo da LUA, para aprender (por exemplo) a construção do escopo do operador FOR, deverá primeiro, aprender o tema de hoje: Controladores Lógicos.
Está preparado? Se sim, vamos lá!
Para começar, galera, temos que pensar nas estruturas de controle lógico mais comuns no ramo da LUA, são as que trabalham com condições. Provavelmente quando você estava fazendo sua aula de inglês ou de português, seu professor falou algo parecido com isso abaixo:
Veja que o Se ali remete a nossa condição (não chover) e ao que irá acontecer (não irei para a escola), por incrível que pareça, no campo da LUA, a coisa é exatamente a mesma, só que usamos o controlador IF. Vejamos abaixo como usar ele:
O IF funciona desse jeito mostrado acima, se ele verifica que algo retorna verdadeiro, ele executa o escopo atribuído a ele. Seguem abaixo exemplos do que poderia ser verdadeiro.
Para verificar se algo é verdadeiro, você precisa fazer uma relação entre algo declarado e o argumento, para o LUA não é diferente. Para fazer essas verificações, você deverá usar os operadores de relação. Você deve conhecer alguns desses operadores das suas aulas de matemática, são eles:
São os operadores que vão retornar o true ou o false da estrutura de controle IF para que ela funcione. Agora veremos um código simples abaixo:
local var = 3 if(var <= 4) then print("Legal") endO seu interpretador que, na maioria dos casos, será o executável do seu servidor, entende o bloco acima como algo mais ou menos assim:
Certo, se você entendeu tudinho, deixe eu falar algo sábio: "Para tudo existe algo contrário."
É com isso que apresento-lhe nosso segundo controlador lógico: ELSE.
O ELSE é um controlador lógico que remete a "do contrário". Ele é usado juntamente com o IF, de modo que, podemos nos aproveitar do true e do false. Sendo assim, vamos voltar ao exemplo dado acima:
Como já sabemos montar o escopo do IF, vamos prosseguir com o código.
local var = 3 if(var <= 4) then print("Legal") else print("Chato") endLembre-se! Que o ELSE não precisa do then, pois ele se aproveita da verificação do IF que ele é atribuído. Agora existe um último controlador que funciona como junção de ELSE e de IF e o nome não é nada criativo: ELSEIF.
Ele foi criado mais com o objetivo de evitar as construções de escopos abaixo:
if true then --[[bloco 1]] else if true then --[[bloco 2]] else if true then --[[bloco 3]] end end endEle tem a função de permitir outra verificação ou outra efeito para a condição, de modo que:
De modo que o escopo com o uso do ELSEIF fica assim:
Um exemplo básico para fixar o conteúdo passado acima é esse abaixo:
local var = math.random(1, 3) if var == 1 then print("var tem valor 1") elseif var == 2 then print("var tem valor 2") elseif var == 3 then print("var tem valor 3") endAgora existem dois "operadores-controladores" que são usados para atribuir várias condições a um controlador lógico.
São eles o AND e o OR, eles como o nome remete, tem significado lógico de "E" e "OU", respectivamente. Sendo assim, imagine a seguinte frase:
Sim, creio que você entendeu. A estrutura montada fica mais ou menos assim:
Esse dois operadores fazem um papel grandioso no campo do LUA. Eles, igual ao ELSEIF, evitam construções de escopos do tipo:
if true then if true then --[[bLOCO]] end elseif true then --[[bLOCO]] endVeja, é um mesmo bloco (escopo) executado se todas essas condições retornarem verdadeiro. O AND faz o papel daqueles dois IF e o OR faz o papel do ELSEIF. Concorda comigo que esses operadores reduzem o código em muito?
O AND verifica todas as condições ligadas, se todas retornarem verdadeiro, ele executa o escopo. Se uma delas for falso, ele pula o escopo. Se houver presença do OR, ao invés do interpretador pular o escopo, ele verifica se a condição do OR é verdadeira.
E assim acabamos a matéria do nosso primeiro tutorial. Será que vocês conseguem fazer o exercício de fixação?
Com a variável passada acima, quero que vocês montem uma estrutura que faça tudo isso abaixo:
O exercício está bem simples, se você ler o conteúdo, você conseguirá fazer.
Abraços, galera!
Editado Novembro 13 por Oneshot