I need help please this does not work on the GUI it says 4 players but there is 2 and at the end of every match it does not give you Bucks (game money). And it does not teleport the players back when a player has won and it does not say the name on the GUI to show the player won! Please help me!

The script is here...

-- Define variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 100

local reward = 25

-- 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 plrs 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("SpawnPoints not found!")
	end
	
	local AvailableSpawnPoints = SpawnPoints:GetChildren()
	
	for i,player in pairs(game.Players:GetPlayers()) do
		if player then
			table.insert(plrs,player)
			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 reamaining, and "..#plrs.." left"
	if #plrs == 1 then
		-- Last person standing
		Status.Value = "The winner is"..plrs[1].Name
		plrs[1].leaderstats.Bucks.Value = plrs[1].leaderstats.Bucks.Value + 50
		break
	elseif #plrs == 0 then
		Status.Value = "Nobody won!"
		break
	elseif i == 0 then
		Status.Value = "Time 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

5 comments

0

Sorry, way too long scripts to read right now.

0

Is this from the AlvinBlox Sword Game Tutorial?

0

Edited for code block.

0

Yes this is from AlinBlox but i have corrected some parts based on feedback from here but still it does not work fully!

0

Please help!!