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

I did something wrong while following this tutorial by AlvinBlox. can somebody help me find it?

This is the code from the episode with the problem...

	
	
	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
					table.remove(plrs,x)
				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 left, and "..#plrs.." players left."
		
		if #plrs == 1 then
			-- last person standing
			Status.Value = "The Winner is "..plrs[1].Name
			plrs[1].leaderstats.Bucks.Value = plrs[1].leaderstats.Bucks.Value + reward
			break
		elseif #plrs == 0 then
			Status.Value = "Nobody Won!"
			break
		elseif i == 0 then
			Status.Value = "Time is up!"
			break		
		end
		
		wait(1)
	end
	
	print("The game has ended!")
	
	wait(3)
	
	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

...and the link to the video here. can somebody help find out what I did wrong?

Edit: For the people asking what the output was, it said "leaderstats is not a valid member of player name here, on line 121, which is on line 36 here.

Edit 2: Here is the script that I am having the Instance problem with.

game.Players.PlayerAdded:Connect(function(player)
	
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player
	
	local bucks = Instance.new("IntValue")
	bucks.Name = "Bucks"
	bucks.Value = 0
	bucks.Parent = leaderstats
	
	
	player.CharacterAdded:connect(function(character)
		character.Humanoid.WalkSpeed = 16
		character.Humanoid.Died:Connect(function()
			-- whenever somebody dies, the event will run
			
			if character.Humanoid and character.Humanoid:FindFirstChild("creator") then
				game.ReplicatedStorage.Status.Value = tostring(character.Humanoid.creator.Value).." KILLED "player.Name
			end
			
			if character:FindFirstChild("GameTag") then
				character.GameTag:Destroy
			end
			
			player:LoadCharacter()
		end)
		
	end)
end)

On line 3, you see that there is an Instance there. But, for some reason, when I type it, it doesn't turn blue.

13 comments

0

What's the error message? It looks like you might have one too many ends.

0

Scripts should be of your own attempt, and alvinbloxx teaches very bad code as shown here

0

sounds like he already went through puberty compared to a recent video

0

Can you put the error in the output here?

0

i give this question a 1/10

0

for everyone asking, I edited the post with the output that happens at the end of each round.

0

Based on the error you need to create a leaderstats folder on player joined with a Bucks value inside it.

0

So, I think I may have found my problem. In the place where I make the leaderstats folder, there was something not right. The word instance wasn't blue like it was supposed to be, even though I spelt it correctly, as Instance. Yet, it is not turning blue. So, that brings up a new problem that I have. How do I make that text blue?

0

Can you post the script.

0

Alright. I'll edit the post with both scripts.

0

Maybe attempt writing it yourself? Alvin doesn't teach anything.

0

alvinbloxx's tutorials dont work dude. If u want to learn coding i recommend going to the roblox wiki.

1 answer

try this, it will not work completely but maybe it will help so try it

-- 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 

local reward = 20

--Game loop 

while true do
	
	Status.Value = "Waiting for 2 (or more) Players to Join!"
	
	repeat wait(1) until game.Players.NumPlayers >= 2
	
	Status.Value = "Intermission (15 seconds)"
	
	wait(15)
	
	local plrs = {}
	
	for i, player in pairs (game.Players:GetPlayers())do
		if player then
			table.insert(plrs,player)
		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 character
				if not player then
					table.remove(plrs,i)
				end
			end
		end
	end
	
	
	
	
	Status.Value = "Get ready for Battle!"
	
	wait(5)
	
	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
					table.remove(plrs,x)
				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 left, and "..#plrs.." players left."
		
		if #plrs == 1 then
			
			--Last person standing 
			Status.Value = "The winner is "..plrs[1].Name 
			plrs[1].leaderstats.Bucks.Value = plrs[1].leaderstats.Bucks.Value + reward 
			break 
		elseif #plrs == 0 then 
			Status.Value = "Nobody won!" 
			break 
		elseif i == 0 then 
			Status.Value = "Time up!" 
			break
		end
		
		wait(1) 
	end 
	
	print("GAME ENDED") 
	
	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

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