Here is my code: You don't have to read all of it, just read from line 139 and on. Line 139 was given an error (bad argument). You'll see the output under the code. Help?
Code:
script.Parent.Disabled = true
local playerstorage = game:GetService("Players")
local storage = game:GetService("ServerStorage")
local guifolder = storage.Guis
local players = {}
local holder = game.Workspace:WaitForChild("MapHolder")
local maps = game.Lighting:WaitForChild("Maps")
local message = game.Lighting.Message
local roundtime = 1 * 5
for _, player in pairs(game.Players:GetPlayers()) do
local humanoid = player.Character:WaitForChild("Humanoid")
if humanoid and humanoid.Health > 0 then
table.insert(players, player)
end
end
message.Value = "Map Being Chosen..."
holder:ClearAllChildren()
wait(2)
local allmaps = maps:GetChildren()
local newmap = allmaps[math.random(1, #allmaps)]
newmap:Clone().Parent = holder
print 'Map put!'
wait(2)
-- Tell players the map!
if (holder:FindFirstChild("Warehouse")) then
message.Value = "Map Chosen: Space Warehouse"
wait(5)
end
-- Alien Only!
local alien = table.remove(players, math.random(#players))
local alieng = guifolder.Alien
local alieng2 = alieng:Clone()
alieng2.Parent = alien.PlayerGui
for _, player in pairs(players) do
-- only into non-aliens!
print(player)
guifolder.Soldier:Clone().Parent = player.PlayerGui
end
-- TP the players!
for _, player in pairs(game.Players:GetPlayers()) do
local humanoid = player.Character:WaitForChild("Humanoid")
if humanoid and humanoid.Health > 0 then
table.insert(players, player)
end
end
local spawnmodel = newmap:WaitForChild("Spawns")
local spawns = spawnmodel:GetChildren()
for _, player in pairs(players) do
if player and player.Character and #spawns > 0 then
local Torso = player.Character:WaitForChild("Torso")
local spawnindex = math.random(1, #spawns)
local spawn = spawns[spawnindex]
if spawn and Torso then
table.remove(spawns, spawnindex)
Torso.CFrame = CFrame.new(spawn.Position + Vector3.new(0, 3, 0))
local activetag = Instance.new("StringValue")
activetag.Name = "activetag"
activetag.Parent = player.Character
end
end
end
message.Value = "Round In Progress"
-- TIMER
local localtimer = roundtime
while localtimer > 0 do
wait(1)
localtimer = localtimer - 1
message.Value = "Round Time Left: (" .. localtimer .. ")"
activeplayers = {}
alienactive = false
local player = players[math.random(1, #players)]
for _, players in pairs(players) do
if player then
local character = player.Character
if character then
local activetag = character:FindFirstChild("activetag")
local humanoid = character:FindFirstChild("Humanoid")
if activetag and humanoid and humanoid.Health > 0 then
alienactive = true
end
table.insert(activeplayers, player)
break
end
end
if #activeplayers <=1 or not alienactive then
break
end
end
end
local gameresults = "The Alien Lost!"
if alienactive then
if #players > 2 then
--alien failed!
message.Value = "The Alien Lost!"
else
gameresult = "The Alien Has Killed Everybody!"
message.Value = "The Alien Has Killed Everybody!"
end
else
--Alien Captured
end
--TP THEM BACK!!!
local lobbyspawns = {}
local lobby = game.Workspace.Lobby
for _, v in pairs(lobby) do
if v and v.Name == "spawn" then
table.insert(lobbyspawns, v)
end
end
for _, player in pairs(activeplayers) do
if player then
if player.Character then
local humanoid = player.Character.Humanoid
if humanoid then
humanoid:UnequipTools()
end
end
local randomspawn = lobbyspawns[math.random(1, #lobbyspawns)]
player.Character:MoveTo(randomspawn.Position)
local backpack = player:FindFirstChild("Backpack")
if backpack then
backpack:ClearAllChildren()
end
end
end
script.Parent.Disabled = false
script.Disabled = true
Output:
11:24:16.724 - ServerScriptService.Game.G:139: bad argument #1 to 'pairs' (table expected, got Object)
