players are teleporting to map and everything is going well till the winner is declared once the winner id declared game ic not restarting an not even giving rewards here goes my local script....
local Status = game:GetService("ReplicatedStorage"):WaitForChild("Status")
script.Parent.Text = Status.Value
Status:GetPropertyChangedSignal("Value"):Connect(function()
script.Parent.Text = Status.Value
end)
here is the Stats script....
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local Vcoins = Instance.new("IntValue") Vcoins.Name = "V-coins" Vcoins.Value = 0 Vcoins.Parent = leaderstats player.CharacterAdded:Connect(function(chatacter) chatacter.Humanoid.Died:Connect(function() --whenever nobody dies, this will run if chatacter.Humanoid and chatacter.Humanoid:FindFirstChild("creator") then game.ReplicatedStorage.Status.Value = tostring(chatacter.Humanoid.creator.Value).." KILLED "..player.Name end if chatacter:FindFirstChild("GameTag") then chatacter.GameTag:Destroy() end player:LoadCharacter() end) end)
end)
and finally this is the MainScript....
-- 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 = 20
--Game loop
while true do
Status.Value = "Waiting for 2 (or more) Players to Join!" repeat wait(1) until game.Players.NumPlayers >= 2 Status.Value = "Intermission (15 seconds)" wait(15) local plrs = {} for i, player in pairs (game.Players:GetPlayers())do if player then table.insert(plrs,player) 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("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 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 for Battle!" wait(5) 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 table.remove(plrs,x) 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 left, and "..#plrs.." players left." if #plrs == 1 then --Last person standing Status.Value = "The winner is "..plrs[1].Name plrs[1].leaderstats.Vcoins.Value = plrs[1].leaderstats.Vcoins.Value + reward break elseif #plrs == 0 then Status.Value = "Nobody won!" break elseif i == 0 then Status.Value = "Time up!" break end wait(1) end print("GAME ENDED") 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
Marked as Duplicate by JesseSong
This question has been asked before, and already has an answer. If those answers do not fully address your question, then please ask a new question here.
Why was this question closed?