I'm making a minigame script and it's pretty long... But when the script randomizes the map before loading it, an error shows up in the output: "attempt to index a number value". i'm sorry if the script is too long, i'm not sure if the rest of the script is irrelevant or not.
local maps = game.ServerStorage:WaitForChild("Maps"):GetChildren()
local lobby = game.Workspace:WaitForChild("Lobby")
local message = game.Workspace:WaitForChild("Message")
local numplayers = game.Workspace:WaitForChild("NumPlayers")
local playersNeeded = 1 --Temporarily for testing
local chosenmap = game.Workspace:WaitForChild("ChooseMap")
local selected = game.Workspace:WaitForChild("SelectedMap")
function deleteLastMap()
selected:ClearAllChildren()
end
function checkPlayers()
if numplayers.Value >= playersNeeded then
return true
else
return false
end
end
function getAlivePlayers()
local n = 0
local players = game.Players:GetPlayers()
for i=1, #players do
if players[i].Settings.afk == false then
if players[i].Character ~= nil then
if players[i].Character.Humanoid.Health ~= 0 then
if players[i].Settings.Playing.Value ~= false then
n = n+1
end
end
end
end
return n
end
end
function getWinners()
local n = 0
local players = game.Players:GetPlayers()
for i=1, #players do
if players[i].Settings.afk == false then
if players[i].Character ~= nil then
if players[i].Character.Humanoid.Health ~= 0 then
if players[i].Settings.Winner.Value ~= false then
n = n+1
end
end
end
end
return n
end
end
function intermission()
for intermissiontime = 5, 1 do -- in seconds
wait(1)
message.Value = "||"..intermissiontime.."||"
end
end
function choosemap()
message.Value = "Choosing minigame..."
chosenmap.Value = math.random(1, #maps).Name -- where the error is
end
function displayChosen()
message.Value = "Minigame chosen:"..chosenmap.Value.."!"
end
function loadMinigame()
message.Value = "Loading map..."
local clone = game:GetService("ServerStorage").Maps:FindFirstChild(chosenmap.Value)
clone:Clone().Parent = workspace
end
function startGame()
end
while true do
wait()
if checkPlayers() then
intermission()
wait (1)
choosemap()
wait(3)
displayChosen()
wait(2)
loadMinigame()
wait(2)
end
end

2 comments
Thanks! That helped a lot!
No problem. :)