Jump to content

[DUVIDA] MATH.RANDOM


Recommended Posts

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

Z3kuMbM.png

e sim as 2 cord sao igual.. eu so mudei o Z para ter maior controle..

Link to comment

#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

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
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

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

é 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...