Loading From Files Error???

Hey i’m trying to save and load blocks from an .xml file(Well my version is .nps) ive got the saving done perfectly but when loading the second chunk of blocks i get an error that says:

NullReferenceException: Object reference not set to an instance of an object
SaveWorld.LoadSave () (at Assets/Scripts/Save/SaveWorld.cs:296)
SaveWorld.Start () (at Assets/Scripts/Save/SaveWorld.cs:28)

Here is my code:

using UnityEngine;
using System.Collections;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using System.Text;

public class SaveWorld : MonoBehaviour
{
	public Transform World;
	public GameObject BedrockBlock;
	public GameObject StoneBlock;
	public GameObject DirtBlock;
	public GameObject GrassBlock;
	
	public Transform Layer0;
	public Transform Layer1;
	public Transform Layer2;
	public Transform Layer3;
	public Transform Layer4;
	public Transform Layer5;
	public Transform Layer6;
	public Transform Layer7;
	public Transform Layer8;
	
	void Start()
	{
		LoadSave();
	}
	
	void Update()
	{
		if(Input.GetKeyDown(KeyCode.F))
		{
			Save();
		}
	}
	
	public void Save()
	{
		#region Variables
		int num = 0;
		StreamWriter writer;
		FileInfo Custom = new FileInfo(Application.dataPath +"\\"+ "Custom.nps");
	    FileInfo One = new FileInfo(Application.dataPath +"\\"+ "1.nps");
		FileInfo Two = new FileInfo(Application.dataPath +"\\"+ "2.nps");
		FileInfo Three = new FileInfo(Application.dataPath +"\\"+ "3.nps");
		FileInfo Four = new FileInfo(Application.dataPath +"\\"+ "4.nps");
		FileInfo Five = new FileInfo(Application.dataPath +"\\"+ "5.nps");
		FileInfo Six = new FileInfo(Application.dataPath +"\\"+ "6.nps");
		FileInfo Seven = new FileInfo(Application.dataPath +"\\"+ "7.nps");
		FileInfo Eight = new FileInfo(Application.dataPath +"\\"+ "8.nps");
		FileInfo g = new FileInfo(Application.dataPath + "\\" + "Count.nps");
		#endregion
		
		#region Count
		if(!g.Exists)
	    {
	       writer = g.CreateText();
	    }
	    else
	    {
	       g.Delete();
	       writer = g.CreateText();
	    }
		
		for(int cnt = 0; cnt < World.childCount; cnt++)
		{
			for(int x = 0; x < World.GetChild(cnt).childCount; x++)
			{
				num = x;
			}
		}
		writer.WriteLine("<count='" + num + "'/>");
		writer.Close();
		#endregion
		
		#region Custom Blocks
		//Write Bedrock Blocks:
	    if(!Custom.Exists)
	    {
	       writer = Custom.CreateText();
	    }
	    else
	    {
	       Custom.Delete();
	       writer = Custom.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(2).name);

		for(int x = 0; x < World.GetChild(2).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(2).GetChild(x).name + "' x='" + World.GetChild(2).GetChild(x).position.x + "' y='" + World.GetChild(2).GetChild(x).position.y + "' z='" + World.GetChild(2).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion

		#region Bedrock
		//Write Bedrock Blocks:
	    if(!One.Exists)
	    {
	       writer = One.CreateText();
	    }
	    else
	    {
	       One.Delete();
	       writer = One.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(6).name);
		
		for(int x = 0; x < World.GetChild(6).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(6).GetChild(x).name + "' x='" + World.GetChild(6).GetChild(x).position.x + "' y='" + World.GetChild(6).GetChild(x).position.y + "' z='" + World.GetChild(6).GetChild(x).position.z + "'");
		}
		
		writer.Close();
		#endregion
		
		#region Stone One
		//Write Stone One Blocks:
	    if(!Two.Exists)
	    {
	       writer = Two.CreateText();
	    }
	    else
	    {
	       Two.Delete();
	       writer = Two.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(0).name);

		for(int x = 0; x < World.GetChild(0).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(0).GetChild(x).name + "' x='" + World.GetChild(0).GetChild(x).position.x + "' y='" + World.GetChild(0).GetChild(x).position.y + "' z='" + World.GetChild(0).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Stone Two
		//Write Stone Two Blocks:
	    if(!Three.Exists)
	    {
	       writer = Three.CreateText();
	    }
	    else
	    {
	       Three.Delete();
	       writer = Three.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(1).name);

		for(int x = 0; x < World.GetChild(1).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(1).GetChild(x).name + "' x='" + World.GetChild(1).GetChild(x).position.x + "' y='" + World.GetChild(1).GetChild(x).position.y + "' z='" + World.GetChild(1).GetChild(x).position.z + "'");
		}

		writer.Close();
		#endregion
		
		#region Stone Three
		//Write Stone Three Blocks:
	    if(!Four.Exists)
	    {
	       writer = Four.CreateText();
	    }
	    else
	    {
	       Four.Delete();
	       writer = Four.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(3).name);
		
		for(int x = 0; x < World.GetChild(3).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(3).GetChild(x).name + "' x='" + World.GetChild(3).GetChild(x).position.x + "' y='" + World.GetChild(3).GetChild(x).position.y + "' z='" + World.GetChild(3).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Stone Four
		//Write Stone Three Blocks:
	    if(!Five.Exists)
	    {
	       writer = Five.CreateText();
	    }
	    else
	    {
	       Five.Delete();
	       writer = Five.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(4).name);
		for(int x = 0; x < World.GetChild(4).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(4).GetChild(x).name + "' x='" + World.GetChild(4).GetChild(x).position.x + "' y='" + World.GetChild(4).GetChild(x).position.y + "' z='" + World.GetChild(4).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Dirt One
	    if(!Six.Exists)
	    {
	       writer = Six.CreateText();
	    }
	    else
	    {
	       Six.Delete();
	       writer = Six.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(5).name);
		for(int x = 0; x < World.GetChild(5).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(5).GetChild(x).name + "' x='" + World.GetChild(5).GetChild(x).position.x + "' y='" + World.GetChild(5).GetChild(x).position.y + "' z='" + World.GetChild(5).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Dirt Two
	    if(!Seven.Exists)
	    {
	       writer = Seven.CreateText();
	    }
	    else
	    {
	       Seven.Delete();
	       writer = Seven.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(7).name);
		for(int x = 0; x < World.GetChild(7).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(7).GetChild(x).name + "' x='" + World.GetChild(7).GetChild(x).position.x + "' y='" + World.GetChild(7).GetChild(x).position.y + "' z='" + World.GetChild(7).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Grass One
	    if(!Eight.Exists)
	    {
	       writer = Eight.CreateText();
	    }
	    else
	    {
	       Eight.Delete();
	       writer = Eight.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(8).name);
		for(int x = 0; x < World.GetChild(8).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(8).GetChild(x).name + "' x='" + World.GetChild(8).GetChild(x).position.x + "' y='" + World.GetChild(8).GetChild(x).position.y + "' z='" + World.GetChild(8).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
	}
	
	public void LoadSave()
	{
		StreamReader reader = File.OpenText(Application.dataPath + "\\" + "Count.nps");
		StreamReader One = File.OpenText(Application.dataPath + "\\" + "1.nps");
		StreamReader Two = File.OpenText(Application.dataPath + "\\" + "2.nps");
		StreamReader Three = File.OpenText(Application.dataPath + "\\" + "3.nps");
		StreamReader Four = File.OpenText(Application.dataPath + "\\" + "4.nps");
		
		string[] stringSeparators = new string[] {"'"};

		int b = 564;
		/*
		string c = reader.ReadLine();
		string[] g;
		g = c.Split(stringSeparators, System.StringSplitOptions.None);
		b = int.Parse(g[1]);
		reader.Close();
		*/
		
		#region Read 1(Bedrock)
		for(int con = 0; con < b; con++)
		{
			string[] d;
			d = One.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);	
			if(d[1] == "Trigger")
			{
				GameObject TempBlock = Instantiate(BedrockBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer1;
			}
		}
		One.Close();
		#endregion
		
		#region Read 2(Stone)
		for(int con = 0; con < b; con++)
		{
			string[] d;
			d = Two.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
			if(d[1] == "StoneBlock")
			{
				GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer2;
			}
		}
		Two.Close();
		#endregion
		
		#region Read 3(Stone)
		for(int con = 0; con < b; con++)
		{
			string[] d;
			d = Three.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);	
			if(d[1] == "StoneBlock")
			{
				GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer3;
			}
		}
		Three.Close();
		#endregion
		
		#region Read 4(Stone)
		for(int con = 0; con < b; con++)
		{
			string[] d;
			d = Four.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);	
			if(d[1] == "StoneBlock")
			{
				GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer4;
			}
		}
		Four.Close();
		#endregion
	}
}

Thanks!

The error message says that you try to use an uninitialized object in line 296 (the following line):

d = Two.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);

I’m thinking the StreamReader Two causes the error. Does your file 2.nps really exists and isn’t blocked by another program?

I just checked the MSDN: ReadLine returns null if it reaches the end of the file. You’re reading for each file 564 lines and try to split them. If your file contains less than 564 lines the ReadLine method returns null and you get your exception.

Don’t read a fix number of lines from the file. Check instead the return value of ReadLine like in the following code:

string s = "";
while ((s = Two.ReadLine()) != null) 
{
    // Do something with s like splitting
}

It Works there is no more error But… now blocks are missing :confused:

Here is the updated Code:

using UnityEngine;
using System.Collections;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using System.Text;

public class SaveWorld : MonoBehaviour
{
	public bool Load = false;
	
	public Transform World;
	public GameObject BedrockBlock;
	public GameObject StoneBlock;
	public GameObject DirtBlock;
	public GameObject GrassBlock;
	
	public Transform Layer0;
	public Transform Layer1;
	public Transform Layer2;
	public Transform Layer3;
	public Transform Layer4;
	public Transform Layer5;
	public Transform Layer6;
	public Transform Layer7;
	public Transform Layer8;
	
	void Start()
	{
		if(Load)
			LoadSave();
	}
	
	void Update()
	{
		if(Input.GetKeyDown(KeyCode.F))
		{
			Save();
		}
	}
	
	public void Save()
	{
		#region Variables
		int num = 0;
		StreamWriter writer;
		FileInfo Custom = new FileInfo(Application.dataPath +"\\"+ "Custom.nps");
	    FileInfo One = new FileInfo(Application.dataPath +"\\"+ "1.nps");
		FileInfo Two = new FileInfo(Application.dataPath +"\\"+ "2.nps");
		FileInfo Three = new FileInfo(Application.dataPath +"\\"+ "3.nps");
		FileInfo Four = new FileInfo(Application.dataPath +"\\"+ "4.nps");
		FileInfo Five = new FileInfo(Application.dataPath +"\\"+ "5.nps");
		FileInfo Six = new FileInfo(Application.dataPath +"\\"+ "6.nps");
		FileInfo Seven = new FileInfo(Application.dataPath +"\\"+ "7.nps");
		FileInfo Eight = new FileInfo(Application.dataPath +"\\"+ "8.nps");
		FileInfo g = new FileInfo(Application.dataPath + "\\" + "Count.nps");
		#endregion
		
		#region Count
		if(!g.Exists)
	    {
	       writer = g.CreateText();
	    }
	    else
	    {
	       g.Delete();
	       writer = g.CreateText();
	    }
		
		for(int cnt = 0; cnt < World.childCount; cnt++)
		{
			for(int x = 0; x < World.GetChild(cnt).childCount; x++)
			{
				num = x;
			}
		}
		writer.WriteLine("<count='" + num + "'/>");
		writer.Close();
		#endregion
		
		#region Custom Blocks
		//Write Custom Blocks:
	    if(!Custom.Exists)
	    {
	       writer = Custom.CreateText();
	    }
	    else
	    {
	       Custom.Delete();
	       writer = Custom.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(2).name);

		for(int x = 0; x < World.GetChild(2).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(2).GetChild(x).name + "' x='" + World.GetChild(2).GetChild(x).position.x + "' y='" + World.GetChild(2).GetChild(x).position.y + "' z='" + World.GetChild(2).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion

		#region Bedrock
		//Write Bedrock Blocks:
	    if(!One.Exists)
	    {
	       writer = One.CreateText();
	    }
	    else
	    {
	       One.Delete();
	       writer = One.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(6).name);
		
		for(int x = 0; x < World.GetChild(6).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(6).GetChild(x).name + "' x='" + World.GetChild(6).GetChild(x).position.x + "' y='" + World.GetChild(6).GetChild(x).position.y + "' z='" + World.GetChild(6).GetChild(x).position.z + "'");
		}
		
		writer.Close();
		#endregion
		
		#region Stone One
		//Write Stone One Blocks:
	    if(!Two.Exists)
	    {
	       writer = Two.CreateText();
	    }
	    else
	    {
	       Two.Delete();
	       writer = Two.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(0).name);

		for(int x = 0; x < World.GetChild(0).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(0).GetChild(x).name + "' x='" + World.GetChild(0).GetChild(x).position.x + "' y='" + World.GetChild(0).GetChild(x).position.y + "' z='" + World.GetChild(0).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Stone Two
		//Write Stone Two Blocks:
	    if(!Three.Exists)
	    {
	       writer = Three.CreateText();
	    }
	    else
	    {
	       Three.Delete();
	       writer = Three.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(1).name);

		for(int x = 0; x < World.GetChild(1).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(1).GetChild(x).name + "' x='" + World.GetChild(1).GetChild(x).position.x + "' y='" + World.GetChild(1).GetChild(x).position.y + "' z='" + World.GetChild(1).GetChild(x).position.z + "'");
		}

		writer.Close();
		#endregion
		
		#region Stone Three
		//Write Stone Three Blocks:
	    if(!Four.Exists)
	    {
	       writer = Four.CreateText();
	    }
	    else
	    {
	       Four.Delete();
	       writer = Four.CreateText();
	    }
		
		Debug.Log("Saving Layer " + World.GetChild(3).name);
		
		for(int x = 0; x < World.GetChild(3).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(3).GetChild(x).name + "' x='" + World.GetChild(3).GetChild(x).position.x + "' y='" + World.GetChild(3).GetChild(x).position.y + "' z='" + World.GetChild(3).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Stone Four
		//Write Stone Three Blocks:
	    if(!Five.Exists)
	    {
	       writer = Five.CreateText();
	    }
	    else
	    {
	       Five.Delete();
	       writer = Five.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(4).name);
		for(int x = 0; x < World.GetChild(4).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(4).GetChild(x).name + "' x='" + World.GetChild(4).GetChild(x).position.x + "' y='" + World.GetChild(4).GetChild(x).position.y + "' z='" + World.GetChild(4).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Dirt One
	    if(!Six.Exists)
	    {
	       writer = Six.CreateText();
	    }
	    else
	    {
	       Six.Delete();
	       writer = Six.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(5).name);
		for(int x = 0; x < World.GetChild(5).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(5).GetChild(x).name + "' x='" + World.GetChild(5).GetChild(x).position.x + "' y='" + World.GetChild(5).GetChild(x).position.y + "' z='" + World.GetChild(5).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Dirt Two
	    if(!Seven.Exists)
	    {
	       writer = Seven.CreateText();
	    }
	    else
	    {
	       Seven.Delete();
	       writer = Seven.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(7).name);
		for(int x = 0; x < World.GetChild(7).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(7).GetChild(x).name + "' x='" + World.GetChild(7).GetChild(x).position.x + "' y='" + World.GetChild(7).GetChild(x).position.y + "' z='" + World.GetChild(7).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
		
		#region Grass One
	    if(!Eight.Exists)
	    {
	       writer = Eight.CreateText();
	    }
	    else
	    {
	       Eight.Delete();
	       writer = Eight.CreateText();
	    }
		Debug.Log("Saving Layer " + World.GetChild(8).name);
		for(int x = 0; x < World.GetChild(8).childCount; x++)
		{
			writer.WriteLine("block='" + World.GetChild(8).GetChild(x).name + "' x='" + World.GetChild(8).GetChild(x).position.x + "' y='" + World.GetChild(8).GetChild(x).position.y + "' z='" + World.GetChild(8).GetChild(x).position.z + "'");
		}
		writer.Close();
		#endregion
	}
	
	public void LoadSave()
	{
		StreamReader reader = File.OpenText(Application.dataPath + "\\" + "Count.nps");
		StreamReader One = File.OpenText(Application.dataPath + "\\" + "1.nps");
		StreamReader Two = File.OpenText(Application.dataPath + "\\" + "2.nps");
		StreamReader Three = File.OpenText(Application.dataPath + "\\" + "3.nps");
		StreamReader Four = File.OpenText(Application.dataPath + "\\" + "4.nps");
		
		string[] stringSeparators = new string[] {"'"};
		
		#region Read 1(Bedrock)
		string s = "";
		while((s = One.ReadLine()) != null)
		{
			string[] d;
			d = One.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);	
			if(d[1] == "Trigger")
			{
				GameObject TempBlock = Instantiate(BedrockBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer1;
			}
		}
		One.Close();
		#endregion
		
		#region Read 2(Stone)
		while((s = Two.ReadLine()) != null)
		{
			string[] d;
			d = Two.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);
			if(d[1] == "StoneBlock")
			{
				GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer2;
			}
		}
		Two.Close();
		#endregion
		
		#region Read 3(Stone)
		while((s = Three.ReadLine()) != null)
		{
			string[] d;
			d = Three.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);	
			if(d[1] == "StoneBlock")
			{
				GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer3;
			}
		}
		Three.Close();
		#endregion
		
		#region Read 4(Stone)
		while((s = Four.ReadLine()) != null)
		{
			string[] d;
			d = Four.ReadLine().Split(stringSeparators, System.StringSplitOptions.None);	
			if(d[1] == "StoneBlock")
			{
				GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
				TempBlock.transform.parent = Layer4;
			}
		}
		Four.Close();
		#endregion
	}
}

just incase here are one of the .nps files:

block='Trigger' x='16' y='0' z='17'
block='Trigger' x='9.999999' y='0' z='19'
block='Trigger' x='3.999999' y='0' z='1'
block='Trigger' x='9.999999' y='0' z='11'
block='Trigger' x='6.999999' y='0' z='1'
block='Trigger' x='6.999999' y='0' z='8'
block='Trigger' x='19' y='0' z='14'
block='Trigger' x='7.999999' y='0' z='6'
block='Trigger' x='13' y='0' z='18.00001'
block='Trigger' x='15' y='0' z='3'
block='Trigger' x='22' y='0' z='22'
block='Trigger' x='20' y='0' z='11'
block='Trigger' x='14' y='0' z='5'
block='Trigger' x='3.999999' y='0' z='4'
block='Trigger' x='2.999999' y='0' z='20'
block='Trigger' x='23' y='0' z='20'
block='Trigger' x='3.999999' y='0' z='14'
block='Trigger' x='3.999999' y='0' z='7'
block='Trigger' x='23' y='0' z='10'
block='Trigger' x='20' y='0' z='21'
block='Trigger' x='11' y='0' z='1'
block='Trigger' x='4.999999' y='0' z='0'
block='Trigger' x='5.999999' y='0' z='13'
block='Trigger' x='21' y='0' z='11'
block='Trigger' x='3.999999' y='0' z='0'
block='Trigger' x='12' y='0' z='11'
block='Trigger' x='17' y='0' z='13'
block='Trigger' x='3.999999' y='0' z='3'
block='Trigger' x='12' y='0' z='7'
block='Trigger' x='16' y='0' z='10'
block='Trigger' x='13' y='0' z='23'
block='Trigger' x='17' y='0' z='16'
block='Trigger' x='16' y='0' z='19'
block='Trigger' x='13' y='0' z='14'
block='Trigger' x='23' y='0' z='14'
block='Trigger' x='23' y='0' z='12'
block='Trigger' x='12' y='0' z='12'
block='Trigger' x='7.999999' y='0' z='19'
block='Trigger' x='16' y='0' z='21'
block='Trigger' x='12' y='0' z='21'
block='Trigger' x='8.999999' y='0' z='6'
block='Trigger' x='15' y='0' z='7'
block='Trigger' x='13' y='0' z='1'
block='Trigger' x='4.999999' y='0' z='10'
block='Trigger' x='1' y='0' z='2'
block='Trigger' x='8.999999' y='0' z='23'
block='Trigger' x='14' y='0' z='17'
block='Trigger' x='15' y='0' z='1'
block='Trigger' x='7.999999' y='0' z='14'
block='Trigger' x='11' y='0' z='8'
block='Trigger' x='1' y='0' z='5'
block='Trigger' x='19' y='0' z='3'
block='Trigger' x='4.999999' y='0' z='4'
block='Trigger' x='1.999999' y='0' z='14'
block='Trigger' x='16' y='0' z='14'
block='Trigger' x='1.999999' y='0' z='0'
block='Trigger' x='23' y='0' z='16'
block='Trigger' x='7.999999' y='0' z='2'
block='Trigger' x='15' y='0' z='16'
block='Trigger' x='1' y='0' z='3'
block='Trigger' x='0' y='0' z='14'
block='Trigger' x='1.999999' y='0' z='1'
block='Trigger' x='23' y='0' z='19'
block='Trigger' x='1.999999' y='0' z='15'
block='Trigger' x='1.999999' y='0' z='12'
block='Trigger' x='0' y='0' z='4'
block='Trigger' x='13' y='0' z='3'
block='Trigger' x='14' y='0' z='18.00001'
block='Trigger' x='17' y='0' z='11'
block='Trigger' x='7.999999' y='0' z='0'
block='Trigger' x='18' y='0' z='4'
block='Trigger' x='7.999999' y='0' z='10'
block='Trigger' x='18' y='0' z='23'
block='Trigger' x='0' y='0' z='0'
block='Trigger' x='22' y='0' z='6'
block='Trigger' x='6.999999' y='0' z='21'
block='Trigger' x='0' y='0' z='9.000002'
block='Trigger' x='5.999999' y='0' z='19'
block='Trigger' x='13' y='0' z='20'
block='Trigger' x='14' y='0' z='6'
block='Trigger' x='22' y='0' z='9.000002'
block='Trigger' x='9.999999' y='0' z='16'
block='Trigger' x='5.999999' y='0' z='12'
block='Trigger' x='22' y='0' z='20'
block='Trigger' x='19' y='0' z='13'
block='Trigger' x='9.999999' y='0' z='4'
block='Trigger' x='23' y='0' z='2'
block='Trigger' x='15' y='0' z='0'
block='Trigger' x='22' y='0' z='8'
block='Trigger' x='13' y='0' z='4'
block='Trigger' x='22' y='0' z='15'
block='Trigger' x='15' y='0' z='17'
block='Trigger' x='14' y='0' z='3'
block='Trigger' x='2.999999' y='0' z='10'
block='Trigger' x='11' y='0' z='17'
block='Trigger' x='1.999999' y='0' z='18.00001'
block='Trigger' x='14' y='0' z='4'
block='Trigger' x='9.999999' y='0' z='13'
block='Trigger' x='15' y='0' z='14'
block='Trigger' x='16' y='0' z='8'
block='Trigger' x='15' y='0' z='8'
block='Trigger' x='11' y='0' z='6'
block='Trigger' x='2.999999' y='0' z='11'
block='Trigger' x='13' y='0' z='8'
block='Trigger' x='5.999999' y='0' z='0'
block='Trigger' x='7.999999' y='0' z='9.000002'
block='Trigger' x='13' y='0' z='2'
block='Trigger' x='6.999999' y='0' z='4'
block='Trigger' x='20' y='0' z='10'
block='Trigger' x='1' y='0' z='9.000002'
block='Trigger' x='19' y='0' z='0'
block='Trigger' x='2.999999' y='0' z='16'
block='Trigger' x='4.999999' y='0' z='2'
block='Trigger' x='3.999999' y='0' z='21'
block='Trigger' x='7.999999' y='0' z='20'
block='Trigger' x='2.999999' y='0' z='19'
block='Trigger' x='18' y='0' z='15'
block='Trigger' x='6.999999' y='0' z='6'
block='Trigger' x='9.999999' y='0' z='6'
block='Trigger' x='5.999999' y='0' z='16'
block='Trigger' x='15' y='0' z='21'
block='Trigger' x='18' y='0' z='18.00001'
block='Trigger' x='15' y='0' z='6'
block='Trigger' x='14' y='0' z='14'
block='Trigger' x='14' y='0' z='10'
block='Trigger' x='11' y='0' z='11'
block='Trigger' x='18' y='0' z='12'
block='Trigger' x='14' y='0' z='23'
block='Trigger' x='16' y='0' z='22'
block='Trigger' x='16' y='0' z='23'
block='Trigger' x='8.999999' y='0' z='5'
block='Trigger' x='14' y='0' z='2'
block='Trigger' x='21' y='0' z='3'
block='Trigger' x='7.999999' y='0' z='1'
block='Trigger' x='1' y='0' z='23'
block='Trigger' x='11' y='0' z='16'
block='Trigger' x='23' y='0' z='18.00001'
block='Trigger' x='4.999999' y='0' z='21'
block='Trigger' x='0' y='0' z='13'
block='Trigger' x='19' y='0' z='20'
block='Trigger' x='2.999999' y='0' z='17'
block='Trigger' x='4.999999' y='0' z='11'
block='Trigger' x='12' y='0' z='15'
block='Trigger' x='3.999999' y='0' z='15'
block='Trigger' x='0' y='0' z='6'
block='Trigger' x='2.999999' y='0' z='0'
block='Trigger' x='8.999999' y='0' z='0'
block='Trigger' x='23' y='0' z='9.000002'
block='Trigger' x='13' y='0' z='21'
block='Trigger' x='20' y='0' z='13'
block='Trigger' x='13' y='0' z='15'
block='Trigger' x='0' y='0' z='1'
block='Trigger' x='18' y='0' z='3'
block='Trigger' x='11' y='0' z='21'
block='Trigger' x='20' y='0' z='9.000002'
block='Trigger' x='17' y='0' z='18.00001'
block='Trigger' x='12' y='0' z='2'
block='Trigger' x='12' y='0' z='13'
block='Trigger' x='21' y='0' z='1'
block='Trigger' x='3.999999' y='0' z='2'
block='Trigger' x='1.999999' y='0' z='21'
block='Trigger' x='1.999999' y='0' z='22'
block='Trigger' x='15' y='0' z='13'
block='Trigger' x='22' y='0' z='11'
block='Trigger' x='17' y='0' z='22'
block='Trigger' x='8.999999' y='0' z='20'
block='Trigger' x='8.999999' y='0' z='17'
block='Trigger' x='3.999999' y='0' z='17'
block='Trigger' x='11' y='0' z='12'
block='Trigger' x='6.999999' y='0' z='14'
block='Trigger' x='3.999999' y='0' z='22'
block='Trigger' x='2.999999' y='0' z='8'
block='Trigger' x='13' y='0' z='5'
block='Trigger' x='13' y='0' z='17'
block='Trigger' x='0' y='0' z='10'
block='Trigger' x='7.999999' y='0' z='15'
block='Trigger' x='11' y='0' z='20'
block='Trigger' x='17' y='0' z='0'
block='Trigger' x='0' y='0' z='7'
block='Trigger' x='23' y='0' z='6'
block='Trigger' x='15' y='0' z='23'
block='Trigger' x='0' y='0' z='19'
block='Trigger' x='13' y='0' z='9.000002'
block='Trigger' x='16' y='0' z='7'
block='Trigger' x='9.999999' y='0' z='2'
block='Trigger' x='7.999999' y='0' z='23'
block='Trigger' x='20' y='0' z='8'
block='Trigger' x='8.999999' y='0' z='18.00001'
block='Trigger' x='6.999999' y='0' z='18.00001'
block='Trigger' x='21' y='0' z='17'
block='Trigger' x='19' y='0' z='7'
block='Trigger' x='6.999999' y='0' z='20'
block='Trigger' x='3.999999' y='0' z='23'
block='Trigger' x='15' y='0' z='9.000002'
block='Trigger' x='11' y='0' z='15'
block='Trigger' x='5.999999' y='0' z='22'
block='Trigger' x='11' y='0' z='5'
block='Trigger' x='4.999999' y='0' z='22'
block='Trigger' x='4.999999' y='0' z='14'
block='Trigger' x='8.999999' y='0' z='16'
block='Trigger' x='4.999999' y='0' z='3'
block='Trigger' x='4.999999' y='0' z='1'
block='Trigger' x='12' y='0' z='1'
block='Trigger' x='9.999999' y='0' z='3'
block='Trigger' x='21' y='0' z='0'
block='Trigger' x='1' y='0' z='0'
block='Trigger' x='12' y='0' z='6'
block='Trigger' x='9.999999' y='0' z='23'
block='Trigger' x='9.999999' y='0' z='14'
block='Trigger' x='15' y='0' z='20'
block='Trigger' x='18' y='0' z='7'
block='Trigger' x='16' y='0' z='15'
block='Trigger' x='6.999999' y='0' z='7'
block='Trigger' x='0' y='0' z='12'
block='Trigger' x='1' y='0' z='13'
block='Trigger' x='13' y='0' z='16'
block='Trigger' x='15' y='0' z='18.00001'
block='Trigger' x='4.999999' y='0' z='18.00001'
block='Trigger' x='21' y='0' z='9.000002'
block='Trigger' x='8.999999' y='0' z='22'
block='Trigger' x='22' y='0' z='12'
block='Trigger' x='16' y='0' z='6'
block='Trigger' x='16' y='0' z='16'
block='Trigger' x='9.999999' y='0' z='20'
block='Trigger' x='20' y='0' z='2'
block='Trigger' x='17' y='0' z='8'
block='Trigger' x='21' y='0' z='19'
block='Trigger' x='20' y='0' z='18.00001'
block='Trigger' x='7.999999' y='0' z='5'
block='Trigger' x='11' y='0' z='4'
block='Trigger' x='19' y='0' z='6'
block='Trigger' x='1' y='0' z='12'
block='Trigger' x='0' y='0' z='15'
block='Trigger' x='22' y='0' z='18.00001'
block='Trigger' x='21' y='0' z='14'
block='Trigger' x='9.999999' y='0' z='9.000002'
block='Trigger' x='17' y='0' z='7'
block='Trigger' x='11' y='0' z='23'
block='Trigger' x='15' y='0' z='2'
block='Trigger' x='8.999999' y='0' z='21'
block='Trigger' x='6.999999' y='0' z='12'
block='Trigger' x='19' y='0' z='19'
block='Trigger' x='20' y='0' z='16'
block='Trigger' x='13' y='0' z='10'
block='Trigger' x='12' y='0' z='4'
block='Trigger' x='19' y='0' z='21'
block='Trigger' x='12' y='0' z='16'
block='Trigger' x='4.999999' y='0' z='15'
block='Trigger' x='17' y='0' z='6'
block='Trigger' x='23' y='0' z='11'
block='Trigger' x='16' y='0' z='5'
block='Trigger' x='7.999999' y='0' z='12'
block='Trigger' x='17' y='0' z='20'
block='Trigger' x='1' y='0' z='21'
block='Trigger' x='4.999999' y='0' z='6'
block='Trigger' x='17' y='0' z='4'
block='Trigger' x='23' y='0' z='21'
block='Trigger' x='17' y='0' z='19'
block='Trigger' x='2.999999' y='0' z='23'
block='Trigger' x='16' y='0' z='3'
block='Trigger' x='20' y='0' z='7'
block='Trigger' x='21' y='0' z='23'
block='Trigger' x='11' y='0' z='10'
block='Trigger' x='17' y='0' z='10'
block='Trigger' x='11' y='0' z='7'
block='Trigger' x='23' y='0' z='15'
block='Trigger' x='14' y='0' z='0'
block='Trigger' x='8.999999' y='0' z='9.000002'
block='Trigger' x='22' y='0' z='4'
block='Trigger' x='21' y='0' z='22'
block='Trigger' x='5.999999' y='0' z='18.00001'
block='Trigger' x='9.999999' y='0' z='0'
block='Trigger' x='3.999999' y='0' z='16'
block='Trigger' x='0' y='0' z='3'
block='Trigger' x='1.999999' y='0' z='8'
block='Trigger' x='11' y='0' z='22'
block='Trigger' x='1' y='0' z='18.00001'
block='Trigger' x='14' y='0' z='1'
block='Trigger' x='17' y='0' z='3'
block='Trigger' x='20' y='0' z='3'
block='Trigger' x='4.999999' y='0' z='5'
block='Trigger' x='23' y='0' z='8'
block='Trigger' x='1.999999' y='0' z='6'
block='Trigger' x='7.999999' y='0' z='18.00001'
block='Trigger' x='20' y='0' z='6'
block='Trigger' x='18' y='0' z='16'
block='Trigger' x='17' y='0' z='9.000002'
block='Trigger' x='4.999999' y='0' z='23'
block='Trigger' x='9.999999' y='0' z='15'
block='Trigger' x='15' y='0' z='5'
block='Trigger' x='2.999999' y='0' z='18.00001'
block='Trigger' x='11' y='0' z='3'
block='Trigger' x='15' y='0' z='12'
block='Trigger' x='6.999999' y='0' z='2'
block='Trigger' x='19' y='0' z='5'
block='Trigger' x='3.999999' y='0' z='5'
block='Trigger' x='8.999999' y='0' z='10'
block='Trigger' x='23' y='0' z='7'
block='Trigger' x='1' y='0' z='15'
block='Trigger' x='9.999999' y='0' z='10'
block='Trigger' x='1.999999' y='0' z='9.000002'
block='Trigger' x='17' y='0' z='21'
block='Trigger' x='11' y='0' z='19'
block='Trigger' x='18' y='0' z='19'
block='Trigger' x='1.999999' y='0' z='3'
block='Trigger' x='11' y='0' z='0'
block='Trigger' x='15' y='0' z='19'
block='Trigger' x='7.999999' y='0' z='4'
block='Trigger' x='23' y='0' z='4'
block='Trigger' x='1' y='0' z='8'
block='Trigger' x='16' y='0' z='1'
block='Trigger' x='1.999999' y='0' z='7'
block='Trigger' x='18' y='0' z='14'
block='Trigger' x='20' y='0' z='19'
block='Trigger' x='20' y='0' z='17'
block='Trigger' x='22' y='0' z='2'
block='Trigger' x='19' y='0' z='23'
block='Trigger' x='22' y='0' z='23'
block='Trigger' x='14' y='0' z='20'
block='Trigger' x='0' y='0' z='16'
block='Trigger' x='2.999999' y='0' z='1'
block='Trigger' x='16' y='0' z='4'
block='Trigger' x='2.999999' y='0' z='21'
block='Trigger' x='4.999999' y='0' z='16'
block='Trigger' x='2.999999' y='0' z='22'
block='Trigger' x='22' y='0' z='21'
block='Trigger' x='6.999999' y='0' z='5'
block='Trigger' x='12' y='0' z='20'
block='Trigger' x='13' y='0' z='22'
block='Trigger' x='21' y='0' z='2'
block='Trigger' x='1' y='0' z='14'
block='Trigger' x='13' y='0' z='13'
block='Trigger' x='21' y='0' z='8'
block='Trigger' x='20' y='0' z='4'
block='Trigger' x='6.999999' y='0' z='0'
block='Trigger' x='21' y='0' z='18.00001'
block='Trigger' x='14' y='0' z='16'
block='Trigger' x='3.999999' y='0' z='11'
block='Trigger' x='14' y='0' z='9.000002'
block='Trigger' x='13' y='0' z='11'
block='Trigger' x='15' y='0' z='22'
block='Trigger' x='14' y='0' z='13'
block='Trigger' x='3.999999' y='0' z='20'
block='Trigger' x='19' y='0' z='1'
block='Trigger' x='23' y='0' z='1'
block='Trigger' x='0' y='0' z='8'
block='Trigger' x='14' y='0' z='7'
block='Trigger' x='22' y='0' z='10'
block='Trigger' x='15' y='0' z='10'
block='Trigger' x='11' y='0' z='9.000002'
block='Trigger' x='6.999999' y='0' z='23'
block='Trigger' x='21' y='0' z='13'
block='Trigger' x='16' y='0' z='18.00001'
block='Trigger' x='18' y='0' z='0'
block='Trigger' x='16' y='0' z='2'
block='Trigger' x='14' y='0' z='15'
block='Trigger' x='22' y='0' z='7'
block='Trigger' x='7.999999' y='0' z='22'
block='Trigger' x='1.999999' y='0' z='11'
block='Trigger' x='14' y='0' z='22'
block='Trigger' x='8.999999' y='0' z='8'
block='Trigger' x='5.999999' y='0' z='5'
block='Trigger' x='0' y='0' z='21'
block='Trigger' x='1.999999' y='0' z='17'
block='Trigger' x='12' y='0' z='23'
block='Trigger' x='6.999999' y='0' z='22'
block='Trigger' x='21' y='0' z='20'
block='Trigger' x='17' y='0' z='17'
block='Trigger' x='11' y='0' z='18.00001'
block='Trigger' x='1.999999' y='0' z='19'
block='Trigger' x='1.999999' y='0' z='2'
block='Trigger' x='0' y='0' z='22'
block='Trigger' x='7.999999' y='0' z='16'
block='Trigger' x='0' y='0' z='5'
block='Trigger' x='20' y='0' z='14'
block='Trigger' x='8.999999' y='0' z='2'
block='Trigger' x='16' y='0' z='11'
block='Trigger' x='2.999999' y='0' z='4'
block='Trigger' x='6.999999' y='0' z='16'
block='Trigger' x='5.999999' y='0' z='15'
block='Trigger' x='2.999999' y='0' z='3'
block='Trigger' x='4.999999' y='0' z='12'
block='Trigger' x='8.999999' y='0' z='11'
block='Trigger' x='22' y='0' z='16'
block='Trigger' x='18' y='0' z='1'
block='Trigger' x='0' y='0' z='2'
block='Trigger' x='19' y='0' z='18.00001'
block='Trigger' x='2.999999' y='0' z='9.000002'
block='Trigger' x='8.999999' y='0' z='14'
block='Trigger' x='2.999999' y='0' z='2'
block='Trigger' x='7.999999' y='0' z='7'
block='Trigger' x='9.999999' y='0' z='5'
block='Trigger' x='6.999999' y='0' z='9.000002'
block='Trigger' x='23' y='0' z='3'
block='Trigger' x='18' y='0' z='22'
block='Trigger' x='8.999999' y='0' z='1'
block='Trigger' x='22' y='0' z='13'
block='Trigger' x='5.999999' y='0' z='4'
block='Trigger' x='0' y='0' z='18.00001'
block='Trigger' x='17' y='0' z='1'
block='Trigger' x='8.999999' y='0' z='12'
block='Trigger' x='19' y='0' z='8'
block='Trigger' x='20' y='0' z='23'
block='Trigger' x='9.999999' y='0' z='18.00001'
block='Trigger' x='1' y='0' z='4'
block='Trigger' x='20' y='0' z='20'
block='Trigger' x='0' y='0' z='23'
block='Trigger' x='0' y='0' z='17'
block='Trigger' x='3.999999' y='0' z='13'
block='Trigger' x='3.999999' y='0' z='19'
block='Trigger' x='1' y='0' z='10'
block='Trigger' x='20' y='0' z='5'
block='Trigger' x='11' y='0' z='13'
block='Trigger' x='1.999999' y='0' z='4'
block='Trigger' x='22' y='0' z='3'
block='Trigger' x='20' y='0' z='1'
block='Trigger' x='5.999999' y='0' z='2'
block='Trigger' x='9.999999' y='0' z='8'
block='Trigger' x='18' y='0' z='13'
block='Trigger' x='18' y='0' z='5'
block='Trigger' x='19' y='0' z='4'
block='Trigger' x='2.999999' y='0' z='6'
block='Trigger' x='3.999999' y='0' z='9.000002'
block='Trigger' x='6.999999' y='0' z='17'
block='Trigger' x='12' y='0' z='14'
block='Trigger' x='11' y='0' z='2'
block='Trigger' x='23' y='0' z='17'
block='Trigger' x='1' y='0' z='1'
block='Trigger' x='2.999999' y='0' z='7'
block='Trigger' x='21' y='0' z='10'
block='Trigger' x='17' y='0' z='15'
block='Trigger' x='22' y='0' z='0'
block='Trigger' x='15' y='0' z='11'
block='Trigger' x='3.999999' y='0' z='10'
block='Trigger' x='6.999999' y='0' z='10'
block='Trigger' x='18' y='0' z='21'
block='Trigger' x='18' y='0' z='17'
block='Trigger' x='18' y='0' z='6'
block='Trigger' x='14' y='0' z='21'
block='Trigger' x='13' y='0' z='6'
block='Trigger' x='23' y='0' z='23'
block='Trigger' x='23' y='0' z='0'
block='Trigger' x='1' y='0' z='20'
block='Trigger' x='7.999999' y='0' z='3'
block='Trigger' x='20' y='0' z='22'
block='Trigger' x='5.999999' y='0' z='21'
block='Trigger' x='5.999999' y='0' z='17'
block='Trigger' x='1' y='0' z='16'
block='Trigger' x='8.999999' y='0' z='13'
block='Trigger' x='3.999999' y='0' z='6'
block='Trigger' x='9.999999' y='0' z='7'
block='Trigger' x='6.999999' y='0' z='13'
block='Trigger' x='3.999999' y='0' z='18.00001'
block='Trigger' x='1' y='0' z='22'
block='Trigger' x='12' y='0' z='8'
block='Trigger' x='7.999999' y='0' z='11'
block='Trigger' x='14' y='0' z='8'
block='Trigger' x='14' y='0' z='19'
block='Trigger' x='7.999999' y='0' z='13'
block='Trigger' x='16' y='0' z='13'
block='Trigger' x='6.999999' y='0' z='15'
block='Trigger' x='1.999999' y='0' z='20'
block='Trigger' x='9.999999' y='0' z='21'
block='Trigger' x='19' y='0' z='17'
block='Trigger' x='22' y='0' z='19'
block='Trigger' x='2.999999' y='0' z='12'
block='Trigger' x='12' y='0' z='3'
block='Trigger' x='7.999999' y='0' z='21'
block='Trigger' x='12' y='0' z='10'
block='Trigger' x='1.999999' y='0' z='13'
block='Trigger' x='5.999999' y='0' z='1'
block='Trigger' x='3.999999' y='0' z='8'
block='Trigger' x='5.999999' y='0' z='6'
block='Trigger' x='18' y='0' z='20'
block='Trigger' x='1.999999' y='0' z='16'
block='Trigger' x='9.999999' y='0' z='22'
block='Trigger' x='22' y='0' z='1'
block='Trigger' x='21' y='0' z='12'
block='Trigger' x='21' y='0' z='6'
block='Trigger' x='23' y='0' z='5'
block='Trigger' x='16' y='0' z='0'
block='Trigger' x='23' y='0' z='13'
block='Trigger' x='6.999999' y='0' z='3'
block='Trigger' x='1.999999' y='0' z='10'
block='Trigger' x='17' y='0' z='5'
block='Trigger' x='6.999999' y='0' z='19'
block='Trigger' x='6.999999' y='0' z='11'
block='Trigger' x='8.999999' y='0' z='3'
block='Trigger' x='9.999999' y='0' z='17'
block='Trigger' x='20' y='0' z='12'
block='Trigger' x='1' y='0' z='7'
block='Trigger' x='21' y='0' z='7'
block='Trigger' x='20' y='0' z='0'
block='Trigger' x='18' y='0' z='8'
block='Trigger' x='22' y='0' z='5'
block='Trigger' x='12' y='0' z='18.00001'
block='Trigger' x='4.999999' y='0' z='8'
block='Trigger' x='14' y='0' z='12'
block='Trigger' x='15' y='0' z='4'
block='Trigger' x='20' y='0' z='15'
block='Trigger' x='2.999999' y='0' z='5'
block='Trigger' x='19' y='0' z='15'
block='Trigger' x='18' y='0' z='2'
block='Trigger' x='12' y='0' z='0'
block='Trigger' x='23' y='0' z='22'
block='Trigger' x='9.999999' y='0' z='12'
block='Trigger' x='5.999999' y='0' z='9.000002'
block='Trigger' x='12' y='0' z='9.000002'
block='Trigger' x='19' y='0' z='10'
block='Trigger' x='12' y='0' z='5'
block='Trigger' x='5.999999' y='0' z='10'
block='Trigger' x='5.999999' y='0' z='11'
block='Trigger' x='1.999999' y='0' z='23'
block='Trigger' x='22' y='0' z='14'
block='Trigger' x='13' y='0' z='19'
block='Trigger' x='12' y='0' z='19'
block='Trigger' x='13' y='0' z='12'
block='Trigger' x='21' y='0' z='15'
block='Trigger' x='12' y='0' z='22'
block='Trigger' x='4.999999' y='0' z='19'
block='Trigger' x='8.999999' y='0' z='4'
block='Trigger' x='4.999999' y='0' z='9.000002'
block='Trigger' x='21' y='0' z='16'
block='Trigger' x='19' y='0' z='9.000002'
block='Trigger' x='1' y='0' z='11'
block='Trigger' x='18' y='0' z='11'
block='Trigger' x='17' y='0' z='12'
block='Trigger' x='4.999999' y='0' z='13'
block='Trigger' x='16' y='0' z='20'
block='Trigger' x='5.999999' y='0' z='14'
block='Trigger' x='8.999999' y='0' z='15'
block='Trigger' x='5.999999' y='0' z='8'
block='Trigger' x='16' y='0' z='9.000002'
block='Trigger' x='21' y='0' z='4'
block='Trigger' x='8.999999' y='0' z='19'
block='Trigger' x='13' y='0' z='7'
block='Trigger' x='12' y='0' z='17'
block='Trigger' x='7.999999' y='0' z='8'
block='Trigger' x='18' y='0' z='9.000002'
block='Trigger' x='1' y='0' z='17'
block='Trigger' x='21' y='0' z='5'
block='Trigger' x='19' y='0' z='2'
block='Trigger' x='22' y='0' z='17'
block='Trigger' x='2.999999' y='0' z='14'
block='Trigger' x='1.999999' y='0' z='5'
block='Trigger' x='9.999999' y='0' z='1'
block='Trigger' x='19' y='0' z='11'
block='Trigger' x='2.999999' y='0' z='15'
block='Trigger' x='4.999999' y='0' z='20'
block='Trigger' x='5.999999' y='0' z='23'
block='Trigger' x='14' y='0' z='11'
block='Trigger' x='5.999999' y='0' z='3'
block='Trigger' x='19' y='0' z='12'
block='Trigger' x='0' y='0' z='20'
block='Trigger' x='15' y='0' z='15'
block='Trigger' x='5.999999' y='0' z='20'
block='Trigger' x='8.999999' y='0' z='7'
block='Trigger' x='13' y='0' z='0'
block='Trigger' x='11' y='0' z='14'
block='Trigger' x='4.999999' y='0' z='17'
block='Trigger' x='1' y='0' z='19'
block='Trigger' x='16' y='0' z='12'
block='Trigger' x='19' y='0' z='16'
block='Trigger' x='4.999999' y='0' z='7'
block='Trigger' x='17' y='0' z='14'
block='Trigger' x='1' y='0' z='6'
block='Trigger' x='2.999999' y='0' z='13'
block='Trigger' x='19' y='0' z='22'
block='Trigger' x='5.999999' y='0' z='7'
block='Trigger' x='17' y='0' z='23'
block='Trigger' x='0' y='0' z='11'
block='Trigger' x='18' y='0' z='10'
block='Trigger' x='21' y='0' z='21'
block='Trigger' x='17' y='0' z='2'
block='Trigger' x='7.999999' y='0' z='17'
block='Trigger' x='3.999999' y='0' z='12'

Here is what happens:

I Start A New Level And Then Save:

Then When I Load It(There are only meant to be 4 layers):

1428625--75682--$vALqhJO.png
1428625--75684--$5EmvYdy.png

Updated ^

When I compare your two pictures it looks to me as when the blocks are moved in z direction after loading.

I’m thinking you should start with a smaller level (maybe 4 * 4 blocks) to verify that your conversion (from float to text and from text to float) works correctly. And place the blocks on positions which are easily to compare before saving and after loading. E.g first block: x=0, y=0, z=0, second: x=1, y=0, z=0, theird: x=2, y=0, z=0 and so on.

Also it helps maybe if you set a breakpoint in your code and step through it. If you don’t know how to do it, here is a link in the Unity docs:

http://docs.unity3d.com/Documentation/Manual/Debugger.html

All the blocks were working before i added the while loop could it be something to do with that?
also the blocks haven’t been moved they have been removed

Lol.

Ok I checked your code. Of course its the while loop. Your now using just every second line from your file :smile:

The

while((s = Two.ReadLine()) != null)

statement already reads the line into s. Therefor you have to use s in the while loop

while((s = Two.ReadLine()) != null)
{
      string[] = s.Split(stringSeparators, System.StringSplitOptions.None);
      if(d[1] == "StoneBlock")
      {
          GameObject TempBlock = Instantiate(StoneBlock, new Vector3(float.Parse(d[3]), float.Parse(d[5]), float.Parse(d[7])), Quaternion.identity) as GameObject;
          TempBlock.transform.parent = Layer2;
       }
}

Hope this helps.

Hurr Durr Thanks!

Also, wrapping a Try{} Catch{} block around any IO operations is a good practice, as there could be an error while reading/writing because of various reasons you don’t have control over (acces permission, another program blocking the task etc.)