joga a array do pro começo do script...
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

info
Grupo: Campones
Registrado: 22/11/13
Posts: 25
Reputação: 0

como é que é slicer ?
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

O table remove funciona por posição.Geraldoida, em 22 Abr 2014 - 17:28, disse:
como é que é slicer ?
local array = {2, 2160, 2159, 9323, 3, 4, 5, 6}table.remove(array, 2)print(table.concat(array, " "))Assim printando:2 2159 9323 3 4 5 6Usa isso aqui:
local array = {2160, 2159, 9323}
local rand = array[math.random(#array)]
print(rand)
for k, v in ipairs(array) then
if(v == rand) then
table.remove(array, k)
end
end
Editado Abril 22 por Skymagnum
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

/\ ui como q n reparei nisso?
ty kk'
info
Grupo: Campones
Registrado: 22/11/13
Posts: 25
Reputação: 0

sky , muito obrigado cara. Mas n sei se vc sabe eu sou scripter iniciante, e teve uma vez que tentei aprender 'for k, v in ipairs(table)' mas tava muito dificil e deixei para aprender mais tarde. Agora que vc postou o codigo tem como vc me explicar o que vc fez ali ? ?De todo jeito fico muito agradecido a voce e ao slicer. Valeu ! Rep + pros 2
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

sky , muito obrigado cara. Mas n sei se vc sabe eu sou scripter iniciante, e teve uma vez que tentei aprender 'for k, v in ipairs(table)' mas tava muito dificil e deixei para aprender mais tarde. Agora que vc postou o codigo tem como vc me explicar o que vc fez ali ? ?De todo jeito fico muito agradecido a voce e ao slicer. Valeu ! Rep + pros 2
Então eu fiz assim, for k, v in ipairs(array), v vai retornar os elementos da tabela e k a posição dele, então eu chequei se o random é igual um elemento da tabela e coloquei pra remover com k(que é a posição dele).
Então eu fiz assim, for k, v in ipairs(array), v vai retornar os elementos da tabela e k a posição dele, então eu chequei se o random é igual um elemento da tabela e coloquei pra remover com k(que é a posição dele).
Poxa gostei Muito Tbm Estavá Procurando Entender um pouco + disso Agora Pq vir ums tutorial aprendir + só que n sabia direito agora sei 100%
info
Grupo: Campones
Registrado: 22/11/13
Posts: 25
Reputação: 0

Simplesmente perfect. Parabéns sky ! Podem fechar !
Editado Abril 22 por Geraldoida




info
Grupo: Campones
Registrado: 22/11/13
Posts: 25
Reputação: 0
Alô povo tô eu aí de novo com outra dúvida. Espero que possam me responder, to fazendo um código de npc aqui , e parte dele taí :
if msgcontains(msg, 'yes') then
local array = {11454,12415,6543}
local var = array[math.random(1,#array)]
doPlayerAddItem(cid,var,1)
table.remove(array,var)
addEvent(table.insert,60000,array,var)
O que eu quero que isso faça , é que ao player falar 'yes' , math random sorteie 1 numero dos que estão dentro do array, e assim o table.remove retirar esse numero sorteado do array, e por último, depois de 1 minuto o addEvent execute o table.insert e adicione o item no array novamente. O meu problema está sendo que o table.remove não está retirando o numero da tabela, quando eu falo yes 2 ou mais vezes , o mesmo item está sendo sorteado mais de uma vez em menos de 1 minuto. Gostaria que vcs criticassem e me ajudassem a concertar esse erro. Valeu galera !
Editado Abril 22 por Geraldoida