Jump to content

[AJUDA|RESOLVIDO] Tabela e math.random


Recommended Posts

Galera, queria pegar uma dessas cores (por math.random) e setar na cor do carro:

Cores:

local r, g, b = { 
    {255, 0 ,0}, 
    {255, 0 , 255}, 
    {0, 0, 255}, 
    {0, 255, 255}, 
    {0, 255, 0}, 
    {255, 255, 0}, 
    {255, 90, 0}, 
} 

Queria colocar uma dessas (por math.random) como cor dos veículos

function RainbowCar() 
    for _, carro in ipairs(getElementsByType("vehicle")) do 
        setVehicleColor(carro, r, g, b) 
    end 
end 
local rcTimer = setTimer (RainbowCar, 500, 0 ) 

Edited by Guest
Link to comment

Você definiu a tabela de maneira errada, Uma tabela corresponde a apenas uma variavel (independente do tamanho ou da quantidade de itens), Ou seja, No seu código apenas a variável r vai corresponder a tabela, g e b vão ter um valor nulo (nil), O código 'correto' ficaria assim:

local cores = { 
    {255, 0 ,0}, 
    {255, 0 , 255}, 
    {0, 0, 255}, 
    {0, 255, 255}, 
    {0, 255, 0}, 
    {255, 255, 0}, 
    {255, 90, 0}, 
} 

Observe que agora nossa tabela irá se chamar cores e não r, Agora, Para 'gerarmos' um item aleatório da tabela, podemos fazer da seguinte forma:

local item = math.random ( #cores ) 

#cores com o # na frente corresponde ao tamanho da tabela, Nesse caro a função math.random vai gerar um numero de 1 ao tamanho da tabela (7), Agora para pegarmos a cor em si fazemos da seguinte maneira:

setVehicleColor( carro, cores[item][1], cores[item][2], cores[item][3] ) 

cores[item] é para acessarmos o índice que a função math.random nos passou e o [1] é para pegarmos o primeiro item do índice e assim por diante.

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