![]()  | 
	
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
	
	
		
		
			
			 I died twice in Chardok while recovering corpse. I managed to pull all 3 corpses to entrance for rez but I accidentally clicked on empty corpse and clicked done. (I thought I clicked on Mob's corpse). So one of the corpse has no way to recover xp. I know it's going to be a long shot but is there anyway I can recover the lost corpse?  
		
		
		
		
		
		
		I wish i was smart enough not to click on done even after I clicked on empty corpse. so someone else still can cast rez on it before it expired [You must be logged in to view images. Log in or Register.]  | ||
| 
		 
			 
			#2  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
	
	
		
		
			
			 unfortunately the xp from your empty corpse is gone for good 
		
		
		
		
		
		
		shit happens, you'll get the xp back look at it this way, you'll have that much more xp-time worth of loot farmed  | ||
| 
		 
			 
			#3  
			
			
			
			
			
		 
		
	 | 
||||
		
		
  | 
	
	
		
		
			
			 Quote: 
	
  | |||
| 
		 
			 
			#4  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
	
	
		
		
			
			 if you do that again either /q out while the corpse is still open, or /load d (loadskin default) to reload your UI, both will force you off the corpse without actually looting it 
		
		
		
		
		
		
		 | ||
| 
		 
			 
			#5  
			
			
			
			
			
		 
		
	 | 
||||
		
		
  | 
	
	
		
		
			
			 Quote: 
	
 20+ years of EQ and theres always something new to learn  | |||
| 
		 
			 
			#6  
			
			
			
			
			
		 
		
	 | 
||||
		
		
  | 
	
	
		
		
			
			 Quote: 
	
  | |||
| 
		 
			 
			#8  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
	
	
		
		
			
			 ive done this at least a couple dozen times myself 
		
		
		
		
		
		
		think of it as an opportunity to acquire more plat on the road to 60 / buffer xp  | ||
| 
		 
			 
			#9  
			
			
			
			
			
		 
		
	 | 
||||
		
		
  | 
	
	
		
		
			
			 Quote: 
	
 https://github.com/EQEmu/Server/blob...one/corpse.cpp Code: 
	void Corpse::EndLoot(Client* client, const EQApplicationPacket* app) {
	auto outapp = new EQApplicationPacket;
	outapp->SetOpcode(OP_LootComplete);
	outapp->size = 0;
	client->QueuePacket(outapp);
	safe_delete(outapp);
	being_looted_by = 0xFFFFFFFF;
	if (IsEmpty())
		Delete();
	else
		Save();
}
Code: 
	void Corpse::Delete() {
	if (IsPlayerCorpse() && corpse_db_id != 0)
		database.DeleteCharacterCorpse(corpse_db_id);
	corpse_db_id = 0;
	player_corpse_depop = true;
}
Code: 
	bool ZoneDatabase::DeleteCharacterCorpse(uint32 db_id) {
	std::string query = StringFormat("DELETE FROM `character_corpses` WHERE `id` = %d", db_id);
	auto results = QueryDatabase(query);
	if (results.Success() && results.RowsAffected() != 0)
		return true;
	return false;
}
Code: 
	The DELETE statement deletes rows from tbl_name and returns the number of deleted rows.  | |||
| 
		 
			 
			#10  
			
			
			
			
			
		 
		
	 | 
||||
		
		
  | 
	
	
		
		
			
			 Quote: 
	
  | |||
![]()  | 
	
	
		
		
  | 
	
		
  |