Queiroz Posted December 14, 2024 Posted December 14, 2024 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?
Moderators Lord Henry Posted December 16, 2024 Moderators Posted December 16, 2024 (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 December 16, 2024 by Lord Henry 1 Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
Recommended Posts