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

My game is stuck on Intermission can u fix it pls?

Asked by
Sartaz110 -17
5 years ago

-- Define variables

local ReplicatedStorge = game:GetService("ReplicatedStorage")

local serverstorage =game:GetService("ServerStorage")

local MapFolder = serverstorage:WaitForChild("Maps")

local Status = ReplicatedStorge:WaitForChild("Status")

local GameLength = 120

local reward = 100

-- 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 = MapFolder: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].CFrme

table.remove(AvailableSpawnPoints,1)

-- Give them a sword

local sword = serverstorage.Sword:Clone()

sword.Parent = player.Character

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 remaining, and "..plrs.." players left"

if #plrs == 1 then

-- Last person standing

Status.Value = "The winner is"..plrs[1].Name

plrs[1].leaderstats.Gold.Value = plrs[1].leaderstats.Gold.Value + reward

break

elseif i == 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

1
.GetPlayers() should be :GetPlayers(). It's a method. DeceptiveCaster 3761 — 5y
0
Then it should be very clear since the output would specifically say that that's the reason tbh. noammao 294 — 5y
0
Not everything is very clear. For example, Lua would not throw an error if a property/method doesn't exist. If a property/method exists, it calls it. SaltyIceberg 81 — 5y

Answer this question