caotic 393 Postado Agosto 31, 2012 Share Postado Agosto 31, 2012 (editado) Tabelas são estruturas de facil edição e são ultilizadas para diminuição e simplificação de um script lua. Muitos pessoas tem duvidas sobre elas vamos resolver todas elas: <-------------------------------------------------------------------------------------------------------------------------------------------------------------> Vamos ver uma tabela vazia. tab = { } Para adicionar um valor na tab usamos table.insert Para ver a quantidade de valores na tabela usamos #tab print(#tab) que retornaria 0 ja que não existe nenhum valor na tabela Outros exemplo e usar a estrutura for para a repetição dos valores na tabelas. <-------------------------------------------------------------------------------------------------------------------------------------------------------------> Considere outra tabela tab = { "rad", "leg" } Esta tabela apresenta as seguintes string(rad e leg)Sendo Rad[1] e leg[2] Para acessar o valor delas podemos defenir sua posição por numeros crescentes. Logo podemos fazer assim: print(tab[1])Que retornaria radouprint(tab[2)Que retornaria leg <-------------------------------------------------------------------------------------------------------------------------------------------------------------> Vamos agora em uma estrutura mais complexa. local transf = {["Morte"] = {level = 1, type = "(Dark)", health = 2222, addlevel = 10, looktype = 300, spell = exori, addmana = 2000},["Demon"] = {level = 1, type = "(Demonio)", health = 22622, addlevel = 20, looktype = 35, spell = exori, addmana = 1800},["Dragon"] = {level = 1, type = "(Dragon)", health = 22622, addlevel = 20, looktype = 34, spell = exori, addmana = 1222}} Esta tabela veem do Sistema de Transformação logo e usada num script de Opentibia. Para colocar uma string em um valor da tabela simplesmente colocamos "..." ou '...' normalmente. Se quisermos adicionar um numero não ultilizamos ".." nem '..' ja que não e uma string. Para acessar uma coluna corresponde da tabela ultilizamos a seguinte maneira: local transflevel = transf[Valor].level Logo se o valor for "Demon" o script acessaria a coluna tal: ["Demon"] = {level = 1, type = "(Demonio)", health = 22622, addlevel = 20, looktype = 35, spell = exori, addmana = 1800}, Exemplo de um valor: local transflevel = transf[param].level Como pode observar escolhi param de talkactions.Logo se o player falar Demon a coluna seria do "Demon" <------------------------------------------------------------------------------------------------------------------------------------------------------------->Funçoes Tables table.sort (table) --Ordena uma tabletable.insert (table, value) – Acrescentar um valor da tabelatable.remove (table, value) – Remove o valor da tablea Editado Agosto 31, 2012 por caotic Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/ Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Agosto 31, 2012 Share Postado Agosto 31, 2012 O.0'? Isso é seu tutorial? Coloca mais sobre ela.. Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/#findComment-1328816 Compartilhar em outros sites More sharing options...
notle2012 233 Postado Agosto 31, 2012 Share Postado Agosto 31, 2012 (editado) cade Exemplo na prática local tabela = { ["Morte"] = {level = 1, type = "(Dark)", health = 2222, addlevel = 10, looktype = 300, spell = exori, addmana = 2000}, ["Demon"] = {level = 1, type = "(Demonio)", health = 22622, addlevel = 20, looktype = 35, spell = exori, addmana = 1800}, ["Dragon"] = {level = 1, type = "(Dragon)", health = 22622, addlevel = 20, looktype = 34, spell = exori, addmana = 1222} } -- peguei um pedaço aqui incompleto Editado Agosto 31, 2012 por notle2012 Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/#findComment-1328836 Compartilhar em outros sites More sharing options...
caotic 393 Postado Agosto 31, 2012 Autor Share Postado Agosto 31, 2012 Sem querer quando tava fazendo o tutorial cliquei em ENTER. hehe mais ja pus o resto do tuto Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/#findComment-1328853 Compartilhar em outros sites More sharing options...
Skymagnum 234 Postado Setembro 2, 2012 Share Postado Setembro 2, 2012 Tipo bem legal até mais esqueceu do table.find e poderia colocar uns tutoriais. table.find (procura algo na tabela) table.find(tabela, oque procurar) function onAttack(cid, target) local blockedTargets = {"Rat", "Demon", "Cave Rat"} if isMonster(target) and table.find(blockedTargets, string.lower(getCreatureName(target))) then doPlayerSendTextMessage(cid, 28, "You can't attack this creature.") return false end return true end Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/#findComment-1330134 Compartilhar em outros sites More sharing options...
caotic 393 Postado Setembro 2, 2012 Autor Share Postado Setembro 2, 2012 Existe outros sim. Mais eu coloquei mais para a manipulação da tabela como adicionar e remover valores. Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/#findComment-1330231 Compartilhar em outros sites More sharing options...
Critical 70 Postado Setembro 3, 2012 Share Postado Setembro 3, 2012 Seu tutorial foi aprovado, está sendo movido para seção correta. Atenciosamente, Critical. Link para o comentário https://xtibia.com/forum/topic/193129-tabelas/#findComment-1330722 Compartilhar em outros sites More sharing options...
Posts Recomendados