Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

my output says that it expected <eof> but got 'end' can someone help and tell me whats going on?

Asked by 3 years ago
Edited 3 years ago

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

0
yeah uh, can you put it all into 1 code so its easier to know where it is Gameplayer365247v2 1055 — 3y
0
how do i do that, i tried for like 10 minutes but it wont work CactusRequiem 0 — 3y

1 answer

Log in to vote
0
Answered by 3 years ago

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.

Ad

Answer this question