public LOCATION_DATA ACR_StringToLocationData(string sLocation)
{
LOCATION_DATA LocationData = new LOCATION_DATA();
int iPos, iCount, iLen = Script.GetStringLength(sLocation);
if (iLen > 0)
{
iPos = Script.FindSubString(sLocation, "#A#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
LocationData.AreaTag = Script.GetSubString(sLocation, iPos, iCount);
iPos = Script.FindSubString(sLocation, "#X#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
LocationData.Position.y = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iCount));
iPos = Script.FindSubString(sLocation, "#Y#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
LocationData.Position.y = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iCount));
iPos = Script.FindSubString(sLocation, "#Z#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
LocationData.Position.z = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iCount));
iPos = Script.FindSubString(sLocation, "#O#", 0) + 3;
LocationData.Facing = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iLen - iPos));
}
return LocationData;
}