public NWLocation ACR_StringToLocation(string sLocation)
{
UInt32 oArea;
Vector3 vPosition;
float fOrientation, fX, fY, fZ;
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);
oArea = Script.GetObjectByTag(Script.GetSubString(sLocation, iPos, iCount), 0);
iPos = Script.FindSubString(sLocation, "#X#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
fX = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iCount));
iPos = Script.FindSubString(sLocation, "#Y#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
fY = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iCount));
iPos = Script.FindSubString(sLocation, "#Z#", 0) + 3;
iCount = Script.FindSubString(Script.GetSubString(sLocation, iPos, iLen - iPos), "#", 0);
fZ = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iCount));
vPosition.x = fX;
vPosition.y = fY;
vPosition.z = fZ;
iPos = Script.FindSubString(sLocation, "#O#",0) + 3;
fOrientation = Script.StringToFloat(Script.GetSubString(sLocation, iPos, iLen - iPos));
return Script.Location(oArea, vPosition, fOrientation);
}
vPosition.x = 0.0f;
vPosition.y = 0.0f;
vPosition.z = 0.0f;
return Script.Location(CLRScriptBase.OBJECT_INVALID, vPosition, 0.0f);
}