Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Who can repair my script please ? I don t understand how to fix th problems!

Who can fix my script i dont understand the problem of how to fix!

-- Define variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLenght = 50

-- 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 in to 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, players 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 character
				if not player then
					table.remove(plrs,i)
				end
			end
		end
	end
end

Also this is what i have in output:

17:07:45.998 - Test leaderboard auto-recovery file was created 17:07:47.557 - ServerScriptService.MainScript:7: attempt to index nil with 'WaitForChild' 17:07:47.557 - Stack Begin 17:07:47.558 - Script 'ServerScriptService.MainScript', Line 7 17:07:47.559 - Stack End Loaded! 17:07:58.995 - Disconnect from 127.0.0.1|61714

And i learned the scripts from AlvinBlox from this video

I was at part 2 of his series.If anyone can help me i would apreciate !

1 comment

2

1, please do not go to AlvinBlox for scripting tutorials. 2, put all of your code in the code block.

2 answers

✓ Accepted answer

You have made errors in your variables and missed an end in the last line. I've fixed the script and hopefully, this should work.

-- Define variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 50

-- 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 in to 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, players in pairs(plrs) do
    if player then
        character = player.Character
        if character then
            -- Teleport them 

            character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame + Vector3.new(0,10,0 )
            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 character
            if not player then
                table.remove(plrs,i)
            end
        end
    end
end
end

I found one error - when you defined 'Status' you missed out the 'game.' before ReplicatedStorage. I don't know if it's a formatting typo as well, but you need an = after local ServerStorage. Typos always stick out, don't worry!

This discussion is preserved as it was. New answers, comments, and votes are closed.