melhor colaborador de scripting do forum, parabens mano, belo topico
Eu Recomendo
melhor colaborador de scripting do forum, parabens mano, belo topico
Eu Recomendo
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Concordo com o saymon, ótimo tutorial, muito obrigado pela contribuição. Até um cavalo entenderia, não sei o karis valeu cara.
info
Grupo: Infante
Registrado: 15/05/10
Posts: 1.5k
Reputação: +230
Char no Tibia: Alia Dori

Excelente conteúdo Vodkart, não entendo de scripts mas para quem quer aprender será um "prato cheio". Obrigado por ajudar o XTibia!
Isso não se chama matrix ?
info
Grupo: Campones
Registrado: 16/05/09
Posts: 91
Reputação: +236
Char no Tibia: Dewolive

Show de bola ! :smile_positivo:
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Erro:
local tabela = {
{nome="Bruno", idade=22, sexo="Masculino"},
{nome="Thiago", idade=17, sexo="Masculino"},
{nome="Marina", idade=16, sexo="Feminino"}
}
tabela[1][1] nao retorna Bruno, somente tabela[1].nome retorna bruno ou tabela[1]["nome"]
Tirando isso ta bom o tutorial
Editado Fevereiro 28 por MatheusMkalo
info
Grupo: Campones
Registrado: 06/03/11
Posts: 24
Reputação: +8
Char no Tibia: Vigilante Rodoviario

Muito show gostei, espero que ajude a galera :*
info
Grupo: Barão
Registrado: 18/10/10
Posts: 246
Reputação: +89
Char no Tibia: Elite Pamcadaum

Esqueceu de falar que tabelas e nem váriaveis podem ter " "(espaço) no nome, e nenhum outro carácter além de números, letras e _(underline),
e esqueceu de dizer que podemos decclarar indexes de tabelas como tipo:
config ={
["Assassin"] = {life = 500, xp = 250},
["Dragon"] = {life = 1200, xp = 700},
["Demon"] = {life = 10000, xp = 4000},
}
e para chamar:
config[nomedoindex]
exemplo:
config["Demon"].life
retornará:
10000
config["Dragon"].xp
retornará
700
Abraços,
Maxwell Denisson
Exercícios, Favor Revisar:
1- Não irei fazer, não estou afim, kkk...
2-
local table = {
{nome="Noob1", sexo="M", Idade=1}
{nome="Noob2", sexo="F", Idade=2}
{nome="Noob3", sexo="M", Idade=3}
{nome="Noob4", sexo="F", Idade=4}
{nome="Noob5", sexo="M", Idade=5}
}
3-
a) tabela[1][2]= M
b) tabela[3][3]= 3
c) tabela[4][1]= Noob4
d) tabela[5][1]= Noob5
e) tabela[3].sexo= M
f) tabela[2].idade= 2
g) tabela[1]nome= Noob1
info
Grupo: Conde
Registrado: 07/05/08
Posts: 612
Reputação: +12
Char no Tibia: leviana luciferiana

vodkart só pra melhorar a explicação do seu tutorial.
tabelas não são variáveis são simplesmente tabelas.
as variáveis são os nome atribuido a elas.
você poderia explicar também sobre chaves de index nominais e atribuidos.
info
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: Knight Orion

Isso não se chama vetor ou matriz? Tabela que eu saiba é a representação visual de uma matriz.
Tutorial manero, ficou muito bem explicado.
info
Grupo: Campones
Registrado: 09/09/10
Posts: 23
Reputação: +1

Concordo com o @MatheusMkalo
table[1][1] retorna nada
1. Crie uma tabela com 5 nomes de amigos do XTibia,não precisar conter index.
local t={{nome="João"}, {nome="Bruna"}, {nome="Pedro"}, {nome="Ana"}, {nome="Carlos"}}
2. Crie uma tabela que contenha 5 linhas(subtabelas),com nome, idade, sexo de pessoas aleatórias.
local t={
{nome="João", idade=15, sexo="M"},
{nome="Pedro", idade=14, sexo="M"},
{nome="Bruna", idade=17, sexo="F"},
{nome="Alex", idade=18, sexo="M"},
{nome="Carlos", idade=15, sexo="M"}}
3. Usando o exercicio 2, o que irá retornar:
a) tabela[1][2] nil
b) tabela[3][3] nil
c) tabela[4][1] nil
d) tabela[5][1] nil
e) tabela[3].sexo F
f) tabela[2].idade 14
g) tabela[1]nome João
Editado Março 21 por TheQuestion
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ok,é porque me ensinaram assim achei que funcionava,embora eu prefira chamar por index.
@UP
só era nomes de amigos
não precisava de informações
ficaria assim:
local t = {"João","Bruna","Pedro","Ana","carlos"}
@Marcryzius
Obrigado pela informação,estarei editando o tópico
abraços
@Romera
Muito bom rapaz,você jpa sabe manipular uma tabela ![]()
@All
obrigado pessoal,é bom ver que vocês tenham entendido um pouco mais sobre tabelas =]
se tiverem alguma dúvida só postar
Editado Março 21 por Vodkart
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino
Introdução a Tabelas
Tabelas antes de mais nada são variáveis que podem armazenar vários valores,que também podem ser sub-tabelas,sejam elas indexes ou valores(strings ou números).
Logo,se elas são variáveis,para abrir uma tabela em um script como devemos começar? Como se declara um variável em um script?
Simples!declaramos a tabela assim:
local tabble = {}Pergunta:
Mais poderia ser qualquer outra variável de vez de "tabble"?
Resposta:
Sim,poderia ser dado qualquer outro nome para sua variável exemplo:
local vodkart = {} ou local xtibia = {} ou local config = {} ou local x = {} ...Não importa o nome da sua variável,apenas certifique-se que ela está lá.-----------------------------------------------
Obs:
Lembre-se que tabelas sempre usam chaves, é como se fosse um "if" e um "end",abriu uma chave "{" você deve fecha-lá "}".
-----------------------------------------------
Manipulando e pegando valores dentro de Tabelas
já aprendemos como declarar uma tabela certo?,agora iremos colocar alguns valores dentro dela...Mas como fazer isso? OH MY GOD!
Vou escolher alguns números aleátorios e colocar dentro da nossa tabela:
local tabble = {150, 410, 25}Pronto, nós já tem uma tabela! Viram como é easy?
Agora prestem atenção a explicação cambada de vagabundo!
Para pegar os valores de uma tabela é mais fácil ainda,conforme você vai adicionando o elemento dentro de uma tabela elas vão ganhando posições,por exemplo:
150 = 1° posição
410 = 2° posição
25 = 3° posição
Então como pegar esses valores na tabela?
Você deve primeiro usar o nome da sua tabela seguido de colhetes "[]",entre esses colchetes ficam o valor de posição do que você quer pegar,exemplo:
Vamos supor que queremos pegar o valor 150 em um script e a nossa tabela foi declarada assim:
local tabble = {150, 410, 25}logo para pegar o valor 150 fariamos assim:
tabble[1]
Ou sejá:
tabble[1] retornaria 150
tabble[2] retornaria 410
tabble[3] retornaria 25
Tudo certo por aqui? espero que sim.
Criando tabelas avançadas:
Agora vamos estudar sub-tabelas e indexes,vou propor o seguinte problema:
Como prosseguir?
Primeiro de tudo vamos declarar nossa tabela:
local tabela = {}Agora vamos criar os chamados indexes,quais os index que temos nesse problema?
nome,idade e sexo certo?
Então :
local tabela = {nome="", idade=, sexo=""}Mais espera,como é uma tabela de múltiplas linhas devemos separar por vírgulas e abrir mais algumas chaves para surgir as sub-tabelas:
local tabela = { {nome="", idade=, sexo=""}, {nome="", idade=, sexo=""}, {nome="", idade=, sexo=""} }-----------------------------------------------
Obs:
Porque Nome e sexo tem ""?
"" significa string,são usados para nome e palavras.
-----------------------------------------------
Peço que vocês preencham a tabela antes de abrir o spoiler para que vocês possam aprender,depois que vocês preencherem sua tabela abram o spoiler para ver se está tudo de acordo.
local tabela = { {nome="Bruno", idade=22, sexo="Masculino"}, {nome="Thiago", idade=17, sexo="Masculino"}, {nome="Marina", idade=16, sexo="Feminino"} }Hmm e agora vamos para a parte complicadinha,vamos pegar os valores dentro da tabela,como fazer isso?
Nesse caso faríamos assim:
tabela[linha].index
-----------------------------------------------
Obs:
se a tabela tivesse só uma linha por exemplo:
local tabela = {idade=22, nome="Bruno", sexo="masculino"}para pegar o nome você usaria tabela.index ou seja:
tabela.idade retornaria 22
tabela.nome retornaria "Bruno"
tabela.sexo retornaria "masculino"
-----------------------------------------------
Agora quando a tabela tem várias linhas é preciso consultar os valores assim:
tabela[linha].index
Pegando o nosso exemplo
local tabela = { {nome="Bruno", idade=22, sexo="Masculino"}, {nome="Thiago", idade=17, sexo="Masculino"}, {nome="Marina", idade=16, sexo="Feminino"} }Se quiséssemos retornar o nome da linha 2 como faríamos?
tabela[2].index
ou seja
tabela[2].nome retornaria "Thiago"
tabela[2].idade retornaria 17
tabela[1].idade retornaria 22
tabela[1].sexo retornaria "Masculino"
tabela[3].nome retornaria "Marina"
é isso pessoal,espero que vocês tenham aprendido a criar e retirar valores de suas tabelas!
Exercícios:
Vou deixar alguns exercícios para vocês:
Favor colocar os exercicios em Spoiler,estarei vendo e auxiliando os membros do tópico que se interresarem em aprender.
Editado Maio 13 por Vodkart