Value Randomiser Script

I am asking for help and support regarding a script that randomly changes the value of something. I have no idea how the script would go which is why I’m asking on here - the script I was thinking of would be a list of values and it would change the value in workspace to one of the values in the script every 10-20 seconds (in a random order of course).

This sounds quite complicated but that’s only due to the way I’m explaining it. In simple terms, how would you go about creating a code that changes a value to a different number chosen from a list in a script. (In a random order).

Any help would be greatly appreciated.

You could:

  • Have that list of numbers.
  • Get a random index from 1 to the amount of numbers in that list.
  • Get the element in the list that has that index local newNumber = list[randomNumber]
  • Change the value in the workspace to equal the newNumber
  • Put this all in a while loop that has a wait of 10-20 seconds
1 Like

I understand that I could do a while true do code and have it run a code that changes the value, what I don’t understand is how to actually script the code itself so that it chooses the random number out of my list. I am able to do the part that changes the value and loops it, along with the wait time. I just need help scripting the part that chooses a random number to set it as.

My reply after your post was for someone else, sorry - so how would I use this? By this, I mean what would this do, would it choose a number, and if so, how would I then change the value using this?

1 Like
 local numbers = {1,2,3,4,5,6,7,8,9,10} -- whatever

 local function randomNumber()
       return numbers[Random.new():NextInteger(1, #numbers)])
 end

 print("random number was", randomNumber())

Call randomNumber() whenever you need a random number.

local number = randomNumber()
-- do anything with the number

It would select a value with the numerical index of x, where x is a random integer generated through Random.new():NextInteger(min, max).

No, only out of the numbers you defined, as it selects a number 1 through the amount of values you define in your numerically indexed table.

But wouldn’t this generate a completely random number instead of one out of my list?

For example, if I had a code like this:

local number =

while true do
wait(20)
game.Workspace.NumberGeneratorValue.Value = local number
end)

Where would I use your code? (The local number would be the randomly generated number)

I apologize for all of this, I’ve never really done this type of code so I am very confused.

Say, you had a list of three numbers:
local list = {3,5,7}

You can then reference the values in that list like so:
list[1] would give you the value 3
list[2] would give you the value 5
list[3] would give you the value 7

So now that you know this, you can see that you need to get a random number (the index) that represents the first, second or third value in your list.

To get that random number, you can use local randomNumber = math.random(MIN, MAX)
where MIN would be 1 and MAX would be the amount of numbers in your list (#list).

list[randomNumber] would give you the first/second/third/etc number in the list.

1 Like

I explained how to get the random number above, and here is the code. I gotta go, so farewell and good luck.

local list = {1,2,4,65,7,9,555,54,34,55}

while true do
    local index = math.random(1, #list)
    local number = list[index]
    game.Workspace.NumberGeneratorValue.Value = number
    wait(20)
end
1 Like