View Single Post
  #1  
Old 10-12-2008, 03:11 PM
LeftRoad
Sarnak
 
Join Date: Aug 2005
Location: Maine
Posts: 38
Default NORENT & TEMPORARY items disappear

I use the Grandmaster's Satchel often when I hunt, but if I camp and switch toons when I return the norent stuff is gone. This had been annoying me for a long time and I finally went digging, finding the following...

First off, in the client_process.cpp there is this function (I just included the beginning part of the function, starting at line 664. The NoRentExpired function can be found in the zonedb.cpp file beginning at line 742.):
Code:
void Client::BulkSendInventoryItems()
{
	// Search all inventory buckets for items
	bool deletenorent=database.NoRentExpired(GetName());
	// Worn items and Inventory items
	sint16 slot_id = 0;
	if(deletenorent){//client was offline for more than 30 minutes, delete no rent items
		RemoveNoRent();
	}
...it checks when you log in and it does what it should. Well, it would do what it should if the following IF statement wasn't in the same file, different function: (In the Client::Process() function at lines 597-599.)
Code:
		if (!zoning) {
			RemoveNoRent(); //Get rid of ze no rent stuff if logging out
		}
This effectively removes all norent items when you log out, then that first function that checks for the 30 minutes will never find anything to delete. I commented out this IF statement and now the satchels work as advertised. I can switch toons and return with the bags still there. If I log and come back hours later, they are gone, just like they should be.
Reply With Quote