What I ended up with was a dictionary where you could specify how many times you want that weather type to be added to the weather list.
Useful Links:
http://wiki.roblox.com/index.php?title=Function_dump/Table_manipulation
http://wiki.roblox.com/index.php?title=Table#Dictionaries
local weatherRaw = {
["Rain"] = 3;
["Snow"] = 2;
["Sunny"] = 4;
}
function selectWeather()
local weatherList = {}
for (key, value in pairs(weatherSettings)) do
for (i = 1, value) do
table.insert(weatherRaw, #weatherRaw + 1, key)
end
end
return weatherRaw[math.random(1, #weatherList)]
end
local currentWeather = selectWeather()
The selectWeather function gets the weather name, and how many times you want it to be added to the list. It then adds each weather type the specified number of times and returns a random one.
In essence, it is almost exactly the same as:
local weather = {"Rain", "Rain", "Rain", "Snow", "Snow", "Sunny", "Sunny", Sunny", "Sunny"}
local selectedweather = weather[math.random(1, #weather)]
That is, except for the fact that it is more automated, and quite a bit less messy.
If you found my solution helpful, consider leaving an upvote and accepting my answer. Also, check out my website: http://robloxguides.com/!
2 comments
From the looks of it, that's the best way
No, it's not. I'll work on an answer.