Otimo tutorial, vai ajudar bastante os iniciantes em scripting.
REP++
Kade o tutorial dos pairs e ipairs?
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Otimo tutorial, vai ajudar bastante os iniciantes em scripting.
REP++
Kade o tutorial dos pairs e ipairs?
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

Muito bom seus tutoriais.
Rep+
Seria bom adicionar alguns erros que podem ocorrer no uso também.
a = {"oi"}
b = {"oi"}
print(a == b) -- false
Embora os conteúdos das tabelas sejam iguais elas são diferentes.
a = {"oi"}
b = a
b[1] = "tchau"
print(a == b) -- true
Nesse caso o "b" é uma referência para o "a", ou seja, quando fazemos b[1] = "tchau" é a mesma coisa que a[1] = "tchau", logo elas são a mesma tabela.
Isso pode fazer com que a pessoa mude o valor de "a" sem saber.
Editado Maio 28 por kydrai
Muito bom brother, tão bom quanto os outros!
Eu to no tutorial
kkkkkk'
Continue fazendo apocarai.
Abraços. Aprovado!
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man

Valeu ae gente, to tentando trazer um pouco mais de conhecimento pra galera =D.
@Kydrai
Não entrei muito em detalhes técnicos até porque, o tutorial é voltado pro pessoal que n sabe nada de LUA.
flw
info
Grupo: Conde
Registrado: 13/05/07
Posts: 778
Reputação: +14
Char no Tibia: Shea Fald

Muito bom,
Concerteza aprovado.
+REP
Abraços
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man

Dois tutoriais aprovados em 1 semana =D. Valeu ae LorDz.
Você também pode pedir seu tutorial: Clique aqui
flw
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ótimo cara,estou meio sem tempo agora,até mesmo porque meu computador queimou,mais já consegui entender um pouco,e vou fazer as atividades quando meu pc chegar,o cara nem trouxe ainda...
mais as atividades são excelentes ajudam a estimular os conhecimentos!
parabens pelo seu trabalho
continue sempre assim
abraços
info
Grupo: Artesão
Registrado: 13/05/10
Posts: 114
Reputação: +11

Muito bom.
apocarai e seus ótimos tutoriais...
+REP
info
Grupo: Visconde
Registrado: 22/09/10
Posts: 474
Reputação: +47

mano brigadão eu tava fazendo o meu pet system por talkactions e tava precisando disso para por o level dos
summon nossa mano vc ajudo d++ mesmo ++REP
Fiquei só com uma duvida.
minha tabela
local pets = {
["Rat"] = {Level = 20},
["Dragon"] = {Level = 25}
}
como faço para o script identificar o level do summon
if getPlayerLevel(cid) < pets[tostring(a)].Level then
assim ? pfv aguardando respostas
Editado Julho 27 por eduardobean
info
Grupo: Visconde
Registrado: 03/02/09
Posts: 361
Reputação: +200
Char no Tibia: Fearless Man
Olha eu de novo por aqui. Dessa vez, o tutorial é sobre tabelas.
Muitas pessoas, por não conhecerem o poder das tabelas, acabam criando scripts enormes e de difícil configuração.
Após a leitura deste tutorial, você estará apto a criar scripts com tabelas simples ou intermediárias, possibilitando o encurtamento de scripts e até mesmo uma melhor compreensão de scripts feitos com o uso das mesmas.
Para ter uma noção da imensidade e importância das tabelas em LUA, este é o único modo de armazenamento de dados, sejam eles numéricos ou textos (strings).
Observe como a tabela é representada em LUA:
Quando verificar a existência das chaves “{}” em um script, estamos tratando de uma tabela.
Vamos criar agora uma tabelinha simples, somente para explicação:
Como pode ver, criei uma tabela de conteúdo misto, contendo strings e números. Cada valor separado por vírgulas pode ser chamado de célula, contendo um endereço único que veremos mais à frente.
Caso eu queira o valor da primeira célula, devo conhecer seu endereço, que nada mais é que o nome da tabela seguido de seu índice:
Os índices existem mesmo que ocultos. Sempre que você cria uma tabela e não os especifica, subentende-se que cada célula receberá um índice de numero crescente partindo do 1.
Caso sejam especificados, estes podem ser escritos assim (existe outra maneira, mais avançada):
Logo, para acessarmos qualquer valor da tabela, digitamos o endereço da célula, sendo que agora, o endereço é composto pelo nome da tabela, precedido de um ponto (.) e o índice.
Logo,
Após entender o básico, podemos passar para as tabelas múltiplas, que apesar de parecerem difíceis, seguem a mesma base das simples.
Exemplo de tabela múltipla:
Não, não desista ao se deparar com tabelas assim. A interpretação pode ser feita por meio de um organograma:
Já a parte dos índices são iguais. Por exemplo, quero pegar o valor 1 dos assuntos do xtibia:
Fácil, não?
Agora, iremos aprender a obter o “tamanho” de uma tabela. Podemos fazê-lo de duas formas. Criarei uma tabela simples para a explicação:
Maneira 1:
Usamos a função table.getn(tabela) ou a função table.maxn(tabela). O uso é da seguinte maneira:
Maneira 2 (fácil) :
Inserimos o caracter “#” seguido do nome da tabela. Assim:
Informações adicionais:
► O nome de uma tabela deve ser escrito sem espaços.
► O nome de uma tabela não deve conter caracteres coringas (!@%¨*)
► Tabelas não interpretam um valor vazio (nil)
Creio que seja isto por hoje. Vou deixar alguns exercícios simples, para fixação:
Respostas (tentem fazer primeiro, postando seus resultados):
1) Xtibia = {"apocarai", "matheusMkalo", "gustavo", "brumatt", "lordz", "carlos pain"}
2)Xtibia = {
Scripting = {"apocarai", "matheusmkalo"},
Design = {"moskitinho, "dj sky"},
Mapping = {"alissow", "brumatt"}
}
Materiais de apoio:
Funções LUA
Introdução à programação LUA + estruturas
Começando a "scriptear"
Tutorial sugerido por Vodkart.
Você também pode pedir o seu aqui
flw
Editado Maio 28 por apocarai