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
Group: Conde
Joined: 31/10/08
Posts: 871
Reputation: +199
Tibia Character: 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
Group: Campones
Joined: 09/09/10
Posts: 23
Reputation: +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"???
Edited Novembro 16 by TheQuestion
Bom tutorial, vo almoçar agora, mais eu volto daqui a pouco para ler mais atencioso.
![]()
Abraços
info
Group: Visconde
Joined: 03/02/09
Posts: 361
Reputation: +200
Tibia Character: Fearless Man

Belo tutorial hein... Voltou com tudo!
Respostas abaixo:
local var = 28 print((20 <= var and var == 28) and "Xtibia" or "Scripting")
![]()
flw
Edited Novembro 13 by apocarai
Vlw cara me ajudo d+ espero q continue assim, trazendo sempre seus tutoriais.
info
Group: Campones
Joined: 03/02/08
Posts: 18
Reputation: +1
Tibia Character: 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 -.-
Edited Novembro 16 by nightshade
info
Group: Infante
Joined: 27/07/09
Posts: 1.5k
Reputation: +405
Tibia Character: Gean Riot

local var == 28
if var > 20 and var < 30
if var == 28 then
print ("Xtibia")
else
print ("Scripting")
end
end
info
Group: Campones
Joined: 09/09/10
Posts: 23
Reputation: +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
Group: Campones
Joined: 03/02/08
Posts: 18
Reputation: +1
Tibia Character: Ysuldur

hmm é mesmo, dhsauidhiusada mas dai ja testei com var ele fala que precisa de then perto de if
sei lah negocio complicado ![]()
info
Group: Campones
Joined: 31/10/10
Posts: 33
Reputation: +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
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas

realmente excelente.
tao bom para pessoas novatas quanto para os mais avançados que tem alguma duvida =d
rep +
info
Group: Marquês
Joined: 05/07/09
Posts: 1.3k
Reputation: +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!
Edited Novembro 13 by Oneshot