Syntax error: Expected Identifier when parsing expression, got 'end' | What do I do?

Down below, is my script! I tried searching it up but there was no good answer for me!

function teleportOnTouch(partTouching)
	if partTouching.Parent:FindFirstChild("Humanoid") then
		local pos =  workspace.Levels.level2.level2Spawn.Position + Vector3.new(0,5,0)
		partTouching.Parent.HumanoidRootPart.Position = pos
	end
		
		local player = game.Players:GetPlayerFromCharacter(partTouching.Parent)
		player.RespawnLocation = workspace.level2.level2Spawn
		player.leaderstats.Level.Value = 2
		
		script.Parent.Touched:Connect(function()
		workspace.TeleportButton2.Part.Color = Color3.new(0, 0, 1) -
				
			end)
		end
	


script.Parent.Touched:Connect(teleportOnTouch)
1 Like

You kinda uh, forgot to finish your equation which is why the error happens

Also you don’t need to encase 2 Touched events inside each other

	workspace.TeleportButton2.Part.Color = Color3.new(0, 0, 1)
1 Like

What do I write to finish it? Sorry I’m new to scripting.

This should do it


function teleportOnTouch(partTouching)
	local player = game.Players:GetPlayerFromCharacter(partTouching.Parent)

	if player then
		player.RespawnLocation = workspace.level2.level2Spawn
		player.leaderstats.Level.Value = 2
		
		local pos =  workspace.Levels.level2.level2Spawn.Position + Vector3.new(0,5,0)
		partTouching.Parent.HumanoidRootPart.Position = pos
		
		workspace.TeleportButton2.Part.Color = Color3.new(0, 0, 1) 
	end
end



script.Parent.Touched:Connect(teleportOnTouch)

Also fixed a couple of things to hopefully make it more efficient :wink:

1 Like

I think you have to do this:

function teleportOnTouch(partTouching)
	if partTouching.Parent:FindFirstChild("Humanoid") then
		local pos =  workspace.Levels.level2.level2Spawn.Position + Vector3.new(0,5,0)
		partTouching.Parent.HumanoidRootPart.Position = pos
	end
		
	local player = game.Players:GetPlayerFromCharacter(partTouching.Parent)
	player.RespawnLocation = workspace.level2.level2Spawn
	player.leaderstats.Level.Value = 2
		
	script.Parent.Touched:Connect(function()
		workspace.TeleportButton2.Part.Color = Color3.new(0, 0, 1) 
	end)
end
	


script.Parent.Touched:Connect(teleportOnTouch)

Thank you! It worked and and now the teleport is working!