Quote:
	
	
		| 
					Originally Posted by screamingogre
					
				 This is the fix I made to get rid of the ZoneID =0 error.   
Add this to the Client.cpp file for the world compile.  Under case OP_EnterWorld: // Enter world.  
 
Replace the Current call "charid = database.GetCharacterInfo(char_name, &tmpaccid, &zoneID);" with this
 
	Code: long LOCounter;
			do {
			    charid = database.GetCharacterInfo(char_name, &tmpaccid, &zoneID);
				LOCounter++;
			}while ((zoneID == 0) && (LOCounter > 10000)); This will call the database until the ZoneID is not equal to 0 or the counter hits 10001.  You may need to tweek the counter number for your server depending on how fast or slow it is.
 
**SO | 
	
 Id just like to point out that i was having the zoneid=0 problem, and was getting frustrated, Until i noticed that:
}while ((zoneID == 0) && (LOCounter > 10000));
should be
}while ((zoneID == 0) && (LOCounter < 10000));
Its checking if LOCounter is LESS THAN 10k and entering the loop if is, and increasing it by 1 every time it loops until its GREATER THAN 10k.
And that's rogean's math lesson of the day. tks