brunob22 Posted June 10, 2015 Share Posted June 10, 2015 Olá a todos.. to com problema com o math.random.. nao sei aplicar ele em uma tabela vou mostra o codigo abaixo oque acontece. spawns = { {-2142.9504394531,-2356.3515625,37.765151977539}, {-2142.9504394531,-2356.3515625,50.765151977539}, } function scriptdetest () for i,points in ipairs(spawns) do local points2 = spawns [ math.random( #spawns) ] local x,y,z = points2[1],points2[2],points2[3] --createVehicle(548,x,y,z,nil,nil,nil) outputChatBox(points2[3]) end outputChatBox( "OK SUCESSO" ) end addCommandHandler( "eventoon", scriptdetest ) como podem ver na imagem as vezes ele muda o numero mais sempre os 2 valors da tabela quero fazer ele gera apenas 1 valor da tabela e sim as 2 cord sao igual.. eu so mudei o Z para ter maior controle.. Link to comment
neves768 Posted June 10, 2015 Share Posted June 10, 2015 #Segura ai -- Client side / Lado do cliente spawns = { {33,-2356.3515625,37.765151977539}, {-2142.9504394531,-2356.3515625,50.765151977539}, } function scriptdetest() local points2 = math.random(#spawns) for i,all in ipairs(spawns) do if all[i] == all[points2] then local x,y,z = all[1],all[2],all[3] --createVehicle(548,x,y,z,nil,nil,nil) outputChatBox(all[1]) outputChatBox("SUCESSO!") end end end addCommandHandler("eventoon",scriptdetest) Link to comment
Banex Posted June 11, 2015 Share Posted June 11, 2015 Você precisa somente remover o loop-for spawns = { {-2142.9504394531,-2356.3515625,37.765151977539}, {-2142.9504394531,-2356.3515625,50.765151977539}, } function scriptdetest () local points2 = spawns [ math.random( #spawns) ] local x,y,z = points2[1],points2[2],points2[3] --createVehicle(548,x,y,z,nil,nil,nil) outputChatBox(points2[3]) outputChatBox( "OK SUCESSO" ) end addCommandHandler( "eventoon", scriptdetest ) Link to comment
brunob22 Posted June 11, 2015 Author Share Posted June 11, 2015 Você precisa somente remover o loop-for spawns = { {-2142.9504394531,-2356.3515625,37.765151977539}, {-2142.9504394531,-2356.3515625,50.765151977539}, } function scriptdetest () local points2 = spawns [ math.random( #spawns) ] local x,y,z = points2[1],points2[2],points2[3] --createVehicle(548,x,y,z,nil,nil,nil) outputChatBox(points2[3]) outputChatBox( "OK SUCESSO" ) end addCommandHandler( "eventoon", scriptdetest ) obrigado pela ajuda eu achei q para cria tabela precisava do for e do ipairs junto.. mais percebi que o for eo ipairs e se eu quizer que leia a tabela toda de 1 vez so? Link to comment
Banex Posted June 11, 2015 Share Posted June 11, 2015 Para construir uma tabela é necessário somente usar a expressão {} . Exemplo: tabela = {} -- constrói uma tabela vazia e atribui a variável tabela O loop for não vai retornar todos os valores de uma só vez. Ele vai repetir retornando o indicie e o valor de cada campo da tabela. Exemplo: tabela = {"a","b","c"} for indice, valor in pairs(tabela) do outputChatBox("índice: "..indice..". Valor: "..valor) --[[ resultado: índice: 1. Valor: a índice: 2. Valor: b índice: 3. Valor: c --]] end Você também pode mudar o valor do índice. Exemplo: tabela = {["i"] = "v"} -- índice = i, valor = v Caso você queria obter todos os valores da tabela de uma só vez. você pode usar a função table.contact . Exemplo: tabela = {"a","b","c"} outputChatBox(table.concat(tabela,", ")) -- resultado: a, b, c Link to comment
Estevam2d Posted June 11, 2015 Share Posted June 11, 2015 é isso que você quer ? local spawns = { {-2142.9504394531,-2356.3515625,37.765151977539}, {-2142.9504394531,-2356.3515625,50.765151977539}, } random = math.random(#spawns) x = spawns[random][1] y = spawns[random][2] z = spawns[random][3] function Cord() outputChatBox ( x..','..y..','..z, getRootElement() , 0, 255, 0, true ) outputChatBox ( "OK SUCESSO", getRootElement() , 0, 255, 0, true ) end addCommandHandler( "tes", Cord) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now