Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Can somebody fix this script? It won't generate, nor bring up the map voter. It won't do nothing.

Asked by 10 years ago

Here it is, good luck please help me with it. The problem is that nothing will run. Literally nothing.

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

1 answer

Log in to vote
-1
Answered by 10 years ago

Ok, for minigame scripts like this, dont use _G. And have you put the Maps in lighting?; If you havent done that, of course nothing will work.

and for messages, use this:

msg = Instance.new("Message")
msg.Parent = nil
msg.Parent = game.Workspace
msg.Text = "Choosing Minigame."
wait(3)
msg:remove()

Try this :D

For map pickers use this:

local m = math.random(1,4)
if m == 1 then
game.Lighting.Minigame1:clone().Parent = game.Workspace

the local m = math.random(1,4) ----- This is how many minigames are in the game. Maps must be in lighting, and be named Minigame1, Minigame2, etc.

0
That ruins almost everything in the script.... I have to literally delete almost everything I did and connect it to that. Wrongmistake 0 — 10y
Ad

Answer this question