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

GUI Intermission is broken! The label for the main GUI is broken, how do I fix it? [Solved]

Asked by 4 years ago
Edited by Ziffixture 4 years ago

So I watched AlvinBlox's tutorial on how to make a sword fighting game.

Link to part 1: https://www.youtube.com/watch?v=vCpl5M_9mcQ

I watched all parts and followed the script exactly to what was shown in the video. When there was an error, I rewatched the videos multiple times to tripple check if I had accidentally typed something wrong.

The problem is when you load into the game, the GUI at the top does not go to intermission. It stays blank.

GUI Script:

local Status = game:GetService("ReplicatedStorage"):WaitForChild("Status")

script.Parent.Text = Status.Value

Status:GetPropertyChangedSignal("Value"):Connect(function()

script.Parent.Text = Status.Value

end)

Main Script:

-- Define Variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 50

local reward = 1

-- Game Loop

while true do

Status.Value = "Waiting for enough players"

repeat wait(1) until game.Players.NumPlayers >= 2

Status.Value = "Intermission"

wait(10)

local plrs = {}

for i, player in pairs(game.Players:GetPlayers()) do
    if player then
        table.insert(plrs,player) -- Add each player into players table
    end
end

wait(2)

local AvailableMaps = MapsFolder:GetChildren()

local = ChosenMap = AvailableMaps[math.random(1,#AvailableMaps)]

Status.Value = ChosenMap.Name.." Chosen"

local ClonedMap = ChosenMap:Clone()
ClonedMap.Parent = workspace

--Teleport players to the map

local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")

if not SpawnPoints then
    print("Spawn points not found!")        
end

local AvailableSpawnPoints = SpawnPoints:GetChildren()

for i, players in pairs(plrs) do
    if player then
        character = player.Character

        if character then
            -- Teleport them

            character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame
            table.remove(AvailableSpawnPoints,1)


            -- Give them a sword

            local Sword = ServerStorage.Sword:Clone()
            Sword.Parent = player.Backpack

            local GameTag = Instance.new("BoolValue")
            GameTag.Name = "GameTag"
            GameTag.Parent = player.Character
        else
            -- There is no character
            if not player then
                table.remove(plrs,i)
            end
        end
    end
end


Status.Value = "Get ready to play!"

wait(2)

for i = GameLength,0,-1 do

    for x, player in pairs(plrs) do
        if player then

            character = player.Character

            if not character then
                -- Left the game
            else
                if character:FindFirstChild("GameTag") then
                    -- They are still alive
                    print(player.Name.." is still in the game!")
                else
                    -- They are dead
                    table.remove(plrs,x)
                    print(player.Name.." has been removed!")
                end
            end
        else
            table.remove(plrs,x)
            print(player.Name.." has been removed!")
        end
    end

    Status.Value = "There are "..i.." seconds remaining, and "..#plrs.." players left"

    if #plrs == 1 then
        -- Last person standing
        Status.Value = "The winner is "..plrs[1].Name
        plrs[1].leaderstats.Points.Value = plrs[1].leaderstats.Points.Value + reward
        break
    elseif #plrs == 0 then
        Status.Value = "Nobody won!"
        break
    elseif i == 0 then
        Status.Value = "Times up!"
        break
    end

    wait(1)
end

print("End of game")

for i, player in pairs(game.Players:GetPlayers()) do
    character = player.Character

    if not character then
        -- Ignore them
    else 
        if character:FindFirstChild("GameTag") then
            character.GameTag:Destroy()

        end

        if player.Backpack:FindFirstChild("Sword") then
            player.Backpack.Sword:Destroy()
        end

        if character:FindFirstChild("Sword") then
            character.Sword:Destroy()
        end

    end

    player:LoadCharacter()
end

ClonedMap:Destroy()

Status.Value = "Game Ended"

wait(2)

end

Status Script:

game.Players.PlayerAdded:Connect(function(player)

local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player

local points = Instance.new("IntValue")
points.Name = "Points"
points.Value = 0
points.Parent = leaderstats


player.CharacterAdded:Connect(function(character)

    character.Humanoid.Died:Connect(function()
        -- Whenever somebody dies, this event will run
        if character:FindFirstChild("GameTag") then
            character.GameTag:Destroy()
        end

        player:LoadCharacter()
    end)
end)

end)

Please help me figure out what is wrong!!

0
I fixed it! I accidentally put "local = ChosenMap =" instead of "local ChosenMap =" Squessica 0 — 4y
0
Please, for the sake of your game. For the sake of ROBLOX. Do. Not. Watch. AlvinBlox Ziffixture 6913 — 4y

Answer this question