I am making a vote for map gui but suddendly it gave me an error i do not know how to fix or where it is cause the error is in the gamescript but it errors on a RemoteEvent line so it's in another script but i do not know where here are the scripts

Game Script

local allmaps = {1,2,3}

-- Main game code
math.randomseed(tick())
local ss = game:GetService("ServerStorage")
local rs = game:GetService("ReplicatedStorage")
local stats = workspace.GameStats
local inPlayPlayers = {}

function Intermission()
	stats.InProgress.Value = true
	if workspace:FindFirstChild("Map") then
		workspace.Map:Destroy()
	end
	stats.GameStatus.Value = "Intermission"
	for i = 5,0,-1 do
		wait(1)
		stats.SecondaryMessage.Value = i
	end
	
	
	local map = game.ServerScriptService.ChooseMap.Choose:Invoke(allmaps)
	game.ReplicatedStorage.RoundEvent.MapChosen:FireAllClients(map)
	
	workspace.GameStats.GameStatus.Value = "Loading Map"
	
	game.ServerStorage.Maps[map]:Clone().Parent = workspace
	
end

function getReadyPlayers()
	local players = {}
	for _,v in pairs(game.Players:GetPlayers()) do
		--if v.Data.Playing.Value == true then
			table.insert(players,v)
		--end
	end
	return players
end

while true do
	if workspace.GameStats.InProgress.Value == false then
		if #getReadyPlayers() < 1 then
			stats.GameStatus.Value = "Waiting for players"
		else
			Intermission()
		end
	end
	wait(1)
end

ChooseMap Script

local map1Votes = nil
local map2Votes = nil
local map3Votes = nil

local info = require(game.ReplicatedStorage.MapInformation)

function script.Choose.OnInvoke(tabsOfMaps)
	
	map1Votes = 0
	map2Votes = 0
	map3Votes = 0
	
	local choose3 = tabsOfMaps
	
	int1 = math.random(1,#choose3)
	map1 = choose3[int1]
	table.remove(choose3,int1)	
	
	int2 = math.random(1,#choose3)
	map2 = choose3[int2]
	table.remove(choose3,int2)
	
	int3 = math.random(1,#choose3)
	map3 = choose3[int3]
	table.remove(choose3,int3)	
	
	game.ReplicatedStorage.ServerRequest.ShowMapOptions:FireAllClients(map1,map2,map3)
	
	local countdown = 100
	workspace.GameStats.GameStatus.Value = "Map Voting"
	repeat
		wait(.1)		
		countdown = countdown - 1
		workspace.GameStats.SecondaryMessage.Value = "Map Voting: "..math.ceil(countdown/10)
		game.ReplicatedStorage.ServerRequest.ShowMapScores:FireAllClients(map1Votes,map2Votes,map3Votes)
	until countdown == 0
	
	if map1Votes > map2Votes and map1Votes > map3Votes then
		winner = map1
	elseif map2Votes > map1Votes and map2Votes > map3Votes then
		winner = map2
	elseif map3Votes > map1Votes and map3Votes > map2Votes then
		winner = map3
	elseif map1Votes == map2Votes then
		winner = map1
	elseif map1Votes == map3Votes then
		winner = map3
	elseif map2Votes == map3Votes then
		winner = map2
	end
	
	local mapInfoWinner = info.GetDetails(winner)
	
	if winner == map1 then
		loser1 = map2
		loser2 = map3
	elseif winner == map2 then
		loser1 = map1
		loser2 = map3
	else
		loser1 = map1
		loser2 = map2
	end	
	
	local mapInfoL1 = info.GetDetails(loser1)
	local mapInfoL2 = info.GetDetails(loser2)
	
end

game.ReplicatedStorage.ClientRequest.VoteForMap.OnServerEvent:connect(function(player,bool,mapChoise)
	if mapChoise == 1 then
		if bool then
			map1Votes = map1Votes + 1
		else
			map1Votes = map1Votes - 1
		end
	elseif mapChoise == 2 then
		if bool then
			map2Votes = map2Votes + 1
		else
			map2Votes = map2Votes - 1
		end
	elseif mapChoise == 3 then
		if bool then
			map3Votes = map3Votes + 1
		else
			map3Votes = map3Votes - 1
		end	
	end
end)

errors:

06:57:16.440 - ServerScriptService.GameScript:27: bad argument #2 to '?' (string expected, got nil)
06:57:16.443 - Stack Begin
06:57:16.448 - Script 'ServerScriptService.GameScript', Line 27 - global Intermission
06:57:16.449 - Script 'ServerScriptService.GameScript', Line 46
06:57:16.451 - Stack End

1 comment

0

Well if you mean the choosemap script, on the first 3 lines you can have nil on a varible