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

Will this script work? Give swords at the start of a round?

Asked by 10 years ago

Hi I'm working on a game and I'm trying to work out a few script problems since I'm a beginner. This is what I have so far;

--Line 1
minigames = game.ReplicatedStorage.Minigames:GetChildren()

h = Instance.new("TextLabel", game.StarterGui.ScreenGui.TextLabel)
h.Size = UDim2.new(0, 980, 0, 20) --Make sure to use UDim2, NOT Vector3
h.Position = UDim2.new(.5, -500, .5, -1)
h.Text = "Stuff" --Make sure this is a string
h.BackgroundColor3 = Color3.new(0, 0, 0) --GUIs only accept Color3 values, which range from 0 to 1. To convert other colors to Color3, divide each number by 255. In this case, white is (255, 255, 255) and 255/255 = 1.
h.TextColor3 = Color3.new(1, 1, 1)
h.BackgroundTransparency = (0.5)

function removePlate()
    plates = game.Workspace.Disappearing Plates.Plates:GetChildren()
    ranNum1 = math.random(1,#plates)
    ranNum2 = 1
    while ranNum1 == ranNum2 do
        ranNum2 = math.random(1,#plates)
        wait(1)
    end
    plateChosen = plates[ranNum1]
    plateChosen2 = plates[ranNum2]
    for i = 0, 1, 0.05 do
        plateChosen.Transparency = i
        plateChosen2.Transparency = i
        wait()
    end
    plateChosen:Destroy()
    plateChosen2:Destroy()
end


while true do

    if game.Players.NumPlayers > 1 then
        h.Text = "Randomly choosing a map..."
        wait(5)
        ranGame = math.random(1, #minigames)
        gameChosen = minigames[ranGame]
        h.Text = "Map chosen: " .. gameChosen.Name
        wait(5)
        gameChosenClone = gameChosen:Clone()
        gameChosenClone.Parent = game.Workspace
        wait(5)
        --Teleporting people to map
        spawns = gameChosenClone.Spawns:GetChildren()
        for i,v in pairs(game.Players:GetPlayers()) do
            name = v.Name
            check = game.Workspace:FindFirstChild(name)
            if check then
                checkHumanoid = check:FindFirstChild("Humanoid")
                if checkHumanoid then
                    v.Character:MoveTo(spawns[i].Position)
                    v.InGame.Value = true
                end
            end
        end
        for i = 3, 0, -1 do
            h.Text = "Game begins in: " .. i
            wait(1)
        end

        if game.ChosenClone.Name == "Disappearing Plates" then
            time = 20
        --Countdown until game ends
        for i = time, 1, -1 do
            h.Text = "Time left: " .. i
            removePlate()
        end
        elseif game.ChosenClone.Name == "Sword Frenzy" then
            gameChosenClone.SwordFrenzyScript.Disabled = false
            while script.RoundFinished.Value == false do
                wait(1)
            end
            elseif game.ChosenClone.Name == "Office Terror" then
            gameChosenClone.SwordFrenzyScript.Disabled = false
            while script.RoundFinished.Value == false do
                wait(1)
            end
            script.RoundFinished.Value = false
        end

        h.Text = "Game over!"
        wait(5)
        h.Text = "Giving points to the winner(s)..."
        for i, v in pairs(game.Players:GetPlayers())do
            inGame = v:FindFirstChild("InGame")
            if inGame then
                if inGame.Value == true then
                v.leaderstats.PointsValue = v.leaderstats.Points.Value + 10
                end
            end
        end
        wait(5)
        gameChosenClone:Destroy()
    else
        h.Text = "There are not enough players to start..."
    end
    wait(1)

end
--Line 101

What I want to do is make sure this script will run without errors and add a few elements. First thing I want to add is a way for players InGame to recieve swords at the start of the round ( and if they purchased any I'd want those to be the ones they'd recieve ). Anyone know how to do this?

This is what my script analysis says;

http://prntscr.com/5skolx

Thanks for the help!

Answer this question