New: Nitro Boost our Discord server and receive full donation perks here on the website! Join the Scripting Helpers Discord Server to learn more! You can also Support on Patreon as always.
Ad
Still have questions? Join our Discord server and get real time help.
Log in to vote
0

My sword fighting game doesnt start a new game after the first game is done Can you guys help ?

Asked by 11 days ago

I tried to make a game same as AlvinBlox's Sword Fight game and I couldn't loop my script After the match ended it would never start a new one It would be stuck as "Player 1 has won" Here is my script: local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local reward = 10

local GameLength = 120

-- Game Loop

while true do

Status.Value = "Waiting for more 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) -- Adding each player into plrs 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 map

local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")

if not SpawnPoints then print("Spawnpoints not found") end

local AvailableSpawnPoints = SpawnPoints:GetChildren()

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

    if  character then
        -- Teleport them

        character:FindFirstChild("HumanoidRootPart"). CFrame = AvailableSpawnPoints[1].CFrame + Vector3.new(0,10,0)
        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 = "Prepare to Fight!"

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 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.Coins.Value = plrs[1].leaderstats.Coins.Value + reward
    break
elseif #plrs == 0 then
    Status.Value = "Nobody has won!"
    break
elseif i == 0 then
    Status.Value = "Times up!"
    break
end
wait(1)

end print("End of game") wait(2)

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

if not character then
    table.remove(plrs,x)
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:Destory()

Status.Value = "Game ended" wait(2) end

0
Use proper code blocking; You're more likely to receive help this way. SteelMettle1 265 — 11d
0
Yes please organize your code and I will help. I made the same sword game and it works for me. TheLastHabanero 231 — 11d

Answer this question