Queiroz Posted Saturday at 04:11 Share Posted Saturday at 04:11 Olá pessoal, Gostaria de entender mais sobre tabelas. Alguém poderia me dá um exemplo de tabela do tipo: tenho 3 posições x,y,z | x,y,z | x,y,z queria que criar uma marker em cada uma dessas posições só que ultílizando tabela. Como posso fazer isso? Link to comment
Other Languages Moderators Lord Henry Posted Monday at 16:27 Other Languages Moderators Share Posted Monday at 16:27 (edited) Faça assim: -- TABELA COM ÍNDICES DECLARADOS: (substitua os X, Y, Z pelos valores das posições respectivamente) local tabela = { -- Abre e fecha a tabela com chaves. Você pode declará-la toda em 1 linha ou separar cada item por linha, sempre entre vírgulas. [1] = {x, y, z}, -- Por se tratar de 1 posição com 3 valores xyz, crie uma sub-tabela. Como se cada item fosse uma tabela de 3 itens. [2] = {x, y, z}, -- Não é obrigatório declarar o "[índice] =" se for inteiro sequencial, mas é bom para ficar mais fácil de entender. -- Entre cada item, é obrigatório ter vírgula. Só não precisa da vírgula após o último item. [3] = {x, y, z}, [4] = {x, y, z} } -- Tabelas também podem ser declaradas em 1 linha se forem pequenas, apesar de ser mais difícil de ler. local tabela = {[1] = {x, y, z}, [2] = {x, y, z}, [3] = {x, y, z}, [4] = {x, y, z}} -- TABELA SEM DECLARAR ÍNDICES: local tabela = { {x, y, z}, {x, y, z}, {x, y, z}, {x, y, z} } -- Ou: local tabela = {{x, y, z}, {x, y, z}, {x, y, z}, {x, y, z}} -- Script para acessar essa tabela e criar vários markers utilizando essas posições: function criaTodos() for i,v in ipairs(tabela) do -- Para cada item da tabela (de 1 até 4), faça: -- i = índice do item, ou seja: 1, 2, 3 ou 4. -- v = valor do item, ou seja: {x, y, z}. -- isso significa que: v[1] = x, v[2] = y, v[3] = z. createMarker (v[1], v[2], v[3], "checkpoint") -- Cria o marker com os respectivos valores x, y, z. end end addCommandHandler("eae", criaTodos) -- Script para criar 1 marker específico, declarando qual índice quer pegar a posição: (client-side) function criaUnico(comando, i) i = tonumber(i) -- Converte o que foi digitado após o comando. De texto para número. local v = tabela[i] -- Obtém o {x, y, z} do item de índice [i] createMarker (v[1], v[2], v[3], "checkpoint") -- Cria o marker com os respectivos valores x, y, z. end addCommandHandler("opa", criaTodos) -- Exemplo /opa 2 Edited Monday at 16:29 by Lord Henry 1 Link to comment
Recommended Posts