--math.randomseed(os.time())

--// Tables
Winners = {}

--// Modules
Settings = require(script.Settings)

--// Game Variables
Intermission = Settings.Intermission
GameTime = Settings.GameTime

--// Functions
function ChangeText(Text)
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
		Players[i].PlayerGui.Main.Time.Text = Text
	end
end

function GetMap()
	local Maps = game.ReplicatedStorage.Maps:GetChildren()
	local PickMap = math.random(1, #Maps)
	local SelectedMap = Maps[PickMap]:Clone()
	SelectedMap.Name = 'Map'
	SelectedMap.Parent = game.Workspace
end

function RemoveMap()
	if game.Workspace:FindFirstChild('Map') then
		game.Workspace.Map:remove()
	end
end

--// Game
while true do
	for i = Intermission, 0, -1 do
		ChangeText('Intermission ' ..i)
		wait(1)
	end
	
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
		Players[i].Playing.Value = true
	end
	
	ChangeText('Game starting...')
	wait(2)
	GetMap()
	wait(1)
	
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
		if Players[i].Playing.Value == true and Players[i].isAFK.Value == false then
			local Spawn = game.Workspace.Map.Spawns.Spawn
			Players[i].Character.Torso.CFrame = CFrame.new(Spawn.Position)

			local Sword = game.ReplicatedStorage.Sword
			Sword:Clone().Parent = Players[i].Backpack
			
			--[[local AllPlayers = game.Players:GetPlayers()
			for i = 1, #AllPlayers do
				local PickPlayer = math.random(1, i)
				local SelectedPlayer = AllPlayers[PickPlayer]
				print(SelectedPlayer.Name)
				local Sword = game.ReplicatedStorage.Sword
				Sword:Clone().Parent = game.Players:FindFirstChild(SelectedPlayer.Name).Backpack
			end]]
			
			Spawn:remove()
			Players[i].Character.Humanoid.WalkSpeed = 0
		end
	end
	
	for i = 5, 0, -1 do
		ChangeText('Starting in  ' ..i)
		wait(1)
	end	
	
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
		if Players[i].Playing.Value == true then
			Players[i].Character.Humanoid.WalkSpeed = 16
		end
	end
	
	ChangeText('BEGIN!')
	
	for i = GameTime, 0, -1 do
		ChangeText('GameTime ' ..i)
		wait(1)
	end
	
	-- Awarding players
	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
		if Players[i].Playing.Value == true then
			table.insert(Winners, Players[i].Name)
			Players[i].leaderstats.Money.Value = Players[i].leaderstats.Money.Value + 50
			Players[i].leaderstats.Wins.Value = Players[i].leaderstats.Wins.Value + 1
			Players[i].Character.Humanoid.Health = 0
			Players[i].Playing.Value = false
			
			Players[i].PlayerGui.Main.MoneyShower.TextLabel.Visible = true
		end
	end
	
	RemoveMap()
	ChangeText('GAME OVER!')
	wait(4)	
	
end

That's the Main Script, there are more scripts to make this work.. but can you help me make different rounds for each map? :/

1 comment

0

This is not q request site. You probably copied a place and want to change it,