Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Can somebody fix this script, of rounds?

This script wont work, it's a round script here it is fix it please:

Maps = {"Wobbly Bridge","Tower Of Magic"}
Time_Per_Round = 60
HowLongMessageLasts = 5
HowLongVotingPeriodLasts = 15
MessageToBeStated = "Seconds Left: "
Option = 1
COLOR = 1
function Op1()
	m = Instance.new("Message", Workspace)
	m.Text = "Map Selected: ".. MAP .."!"
	wait(3)
	m:Destroy()
end
function Op2()
	m = Instance.new("Message", Workspace)
	m.Text = "".. MAP .."____ was picked!"
	wait(3)
	m:Destroy()
end
function Op3()
	m = Instance.new("Message", Workspace)
	m.Text = "You will be playing on the ".. MAP .." map"
	wait(3)
	m:Destroy()
end
function Op4()
	m = Instance.new("Message", Workspace)
	m.Text = ""
	wait(3)
	m:Destroy()
end
Players = game.Players:GetPlayers()
Ls = game.Lighting:GetChildren()
_G.MAPA = {"Wobbly Bridge"}
_G.MAPB = {"Tower Of Magic"}
_G.MAPC = {}
_G.MAPD = {}
_G.MAPE = {}
_G.MAPF = {}
_G.MAPG = {} 
_G.MAPH = {}
_G.MAPI = {}
_G.MAPJ = {}
_G.MAPK = {}
_G.MAPL = {}
_G.MAPM = {}
_G.MAPN = {}
_G.MAPO = {}
_G.MAPP = {}
_G.MAPQ = {}
_G.MAPR = {}
_G.NothingCurrently = {}
Lasting = HowLongVotingPeriodLasts
while true do
	HowLongVotingPeriodLasts = Lasting
	if #Players > 1 then
		for o = 1,#Players do
			gui = game.Lighting.Vote:Clone()
			gui.Parent = Players[o].PlayerGui
		end
		repeat
			a = HowLongVotingPeriodLasts
			wait(1)
			m = Instance.new("Message", Workspace)
			m.Text = "Voting Time: "
			a = a - 1
			wait(1)			
		until a == 0
		m:Destroy()
		for i = 1,#Players do
			val = Players[i].Map.Value
			table.insert(_G[val], val)
		end
			mapn = math.max(#_G.MAPA, #_G.MAPB, #_G.MAPC, #_G.MAPD, #_G.MAPE, #_G.MAPF, #_G.MAPG, #_G.MAPH, #_G.MAPI, #_G.MAPJ, #_G.MAPK, #_G.MAPL, #_G.MAPM, #_G.MAPN, #_G.MAPO, #_G.MAPP, #_G.MAPQ, #_G.MAPR)
			if #_G.MAPA == mapn then
				for u = 1,#Ls do
					if Ls[u]:FindFirstChild("A") ~= nil then
						Pick = Ls[u]
					end
				end
			end
		Mapp = Pick:Clone()
		Mapp.Parent = Workspace
		MAP = Mapp.Name
		if Option == 1 then
			Op1()
		elseif Option == 2 then
			Op2()
		elseif Option == 3 then
			Op3()
		elseif Option == 4 then
			Op4()
		else
			print("Invalid option")
		end
		for y = 1,#Players do
			if COLOR == 1 then
				Players[y].TeamColor = BrickColor.new("Really red")
				COLOR = 2
			elseif COLOR == 2 then
				Players[y].TeamColor = BrickColor.new("Really blue")
				COLOR = 1
			end
		end
	end
end

1 comment

0

There's nothing wrong with it, the functions must be arranged..

1 answer

Maps = {"Wobbly Bridge","Tower Of Magic"}
Time_Per_Round = 60
HowLongMessageLasts = 5
HowLongVotingPeriodLasts = 15
MessageToBeStated = "Seconds Left: "
Option = 1
COLOR = 1
function Op1()
    m = Instance.new("Message", Workspace)
    m.Text = "Map Selected: ".. MAP .."!"
    wait(3)
    m:Destroy()
end
function Op2()
    m = Instance.new("Message", Workspace)
    m.Text = "".. MAP .."____ was picked!"
    wait(3)
    m:Destroy()
end
function Op3()
    m = Instance.new("Message", Workspace)
    m.Text = "You will be playing on the ".. MAP .." map"
    wait(3)
    m:Destroy()
end
function Op4()
    m = Instance.new("Message", Workspace)
    m.Text = ""
    wait(3)
    m:Destroy()
end
Players = game.Players:GetPlayers()
Ls = game.Lighting:GetChildren()
_G.MAPA = {"Wobbly Bridge"}
_G.MAPB = {"Tower Of Magic"}
_G.NothingCurrently = {}
Lasting = HowLongVotingPeriodLasts
while true do
    HowLongVotingPeriodLasts = Lasting
    if #Players > 1 then
        for o = 1,#Players do
            gui = game.Lighting.Vote:Clone()
            gui.Parent = Players[o].PlayerGui
        end
        repeat
            a = HowLongVotingPeriodLasts
            wait(1)
            m = Instance.new("Message", Workspace)
            m.Text = "Voting Time: "
            a = a - 1
            wait(1)         
        until a == 0
        m:Destroy()
        for i = 1,#Players do
            val = Players[i].Map.Value
            table.insert(_G[val], val)
        end
            mapn = math.max(#_G.MAPA, #_G.MAPB)
            if #_G.MAPA == mapn then
                for u = 1,#Ls do
                    if Ls[u]:FindFirstChild("A") ~= nil then
                        Pick = Ls[u]
                    end
                end
            end
        Mapp = Pick:Clone()
        Mapp.Parent = Workspace
        MAP = Mapp.Name
        if Option == 1 then
            Op1()
        elseif Option == 2 then
            Op2()
        elseif Option == 3 then
            Op3()
        elseif Option == 4 then
            Op4()
        else
            print("Invalid option")
        end
        for y = 1,#Players do
            if COLOR == 1 then
                Players[y].TeamColor = BrickColor.new("Really red")
                COLOR = 2
            elseif COLOR == 2 then
                Players[y].TeamColor = BrickColor.new("Really blue")
                COLOR = 1
            end
        end
    end
end

Try this, I believe what was wrong is that it was selecting maps that wasn't listed. So you thought it was 'breaking'.

Also, please just don't say that the script is broke and paste it. No one has any idea what to look for and we have to try to find what's wrong when you could have told us what was broke. (Even simple things like, maps won't generate, maps won't get kicked ext.)

2 comments

0

That's the point. Nothing works.

0

Add prints, see where it gets before it messes up, Tell us the output it has. If it doesn't work, the output will say what line it gets to before it breaks.

This discussion is preserved as it was. New answers, comments, and votes are closed.