• Guest, before posting your code please take these rules into consideration:
    • It is required to use our BBCode feature to display your code. While within the editor click < / > or >_ and place your code within the BB Code prompt. This helps others with finding a solution by making it easier to read and easier to copy.
    • Don't share a wall of code. All we want is the problem area, the code related to your issue.


    To learn more about how to use our BBCode feature, please click here.

    Thank you, Code Forum.

Get Error in roblox studio

Eternal587

New Coder
getting this error in my main code 13:11:39.407 ServerScriptService.Main Script:31: invalid argument #1 to 'insert' (table expected, got number) - Server - Main Script:31 And heres the code

table.insert(plrs,player) -- Add each player into plrs table can someone help
 

Eternal587

New Coder
It's telling you that plrs is invalid. It expects it to be a Table, but it is a Number. I would need to see more code to help you any further than that.
Main Script:
-- Define variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status  = ReplicatedStorage:WaitForChild("Status")

local GameLength = 200

local reward = 25

-- Game Loop

while true do
    
    Status.Value = "Waiting for more players"
    
    repeat wait(1) until game.Players.NumPlayers >=2
    
    Status.Value = "Intermisson"
    
    wait(5)
    
    local plrs = (1)
    
    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
    
    --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].CFrame
                table.remove(AvailableSpawnPoints,1)
                
                
                --Give them a sword
                
                local Sword = ServerStorage.Sword:Clone()
                Sword.Parent = player.Backpack
                
                local GameTag = Instance.new("BoolValue")
                GameTag.Name = "GameTag"
                GameTag.Parent = player.Character
                
            else
                --there is no player
                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 i, 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
                        --there 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 "playars are left"
        
        
        if #plrs == 1 then
            --last player standing
            Status.Value ="the winner is  "..plrs[1].Name
            plrs[1].leaderstats.Moneys.Value = plrs[1].leaderstats.Moneys.Value + reward
            break
        elseif #plrs == 0 then
            Status.Value = "Nobody won!"
            break
        else if i == 0 then
                Status.Value = "Time Up!"
                break
            end
        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:Destory()
            end
            
            if  player.Backpack:FindFirstChild("Sword") then
                player.Backpack.Sword:Destory()
            end
            if  character:FindFirstChild("Sword") then
                character.Sword:Destory()
            end

            
        end
        
        player:LoadCharacter()
    end
    
    ClonedMap:Destroy()
    
    Status.Value ("Game Ended")
    
    wait(2)
end
 
You defined local plrs = (1) which certainly does not look like a database table to me. Unfortunately I don't know Roblox's API so I can't guide you. The reason it's getting an error is that plrs is not a database table. Any further help will need to come from somebody who understands Roblox programming.
 

Top