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 = 50 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 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 character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame + Vector3.new(0,10,0) table.remove(AvailableSpawnPoints,1) --giving sword local Sword = ServerStorage.Sword:Clone() Sword.Parent = player.Backpack local GameTag = Instance.new("BoolValue") GameTag.Name = "GameTag" GameTag.Parent = player.Character else 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 table.remove(plrs,x) else if character:FindFirstChild("GameTag") then print(player.Name.." is still in the game") else 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 standing Status.Value = "The winner is "..plrs[1].Name plrs[1].leaderstats.peons.Value = plrs[1].leaderstats.peons.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
end
print ("end of game")
for i, player in pairs(game.Players:GetPlayers()) do character = player.Character`
if not character then 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`
ServerScriptService.main script:164: Expected <eof>, got 'end' - Studio - main script:164
Expected <eof>, Got 'end'
implies that there's one too many end
statements, and as the error text says, said statement is located at the 164th line of your script.
Due to the way you've structured your code here, I have no clue where that line may be; by default, syntax errors are underlined in red, so it's relatively easy to find one.
Additionally, <eof>
errors are normally thrown at the end of the script unless you've put the extra end
statement elsewhere that's not at the bottom.
If looking at line 164 doesn't solve your problem, try formatting your pasted code here in a way that is readable so that people may help you more easily.