Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-30-2015, 04:09 PM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

Yes, the pets actually show up on the UI for a fraction of a second after logging in. I have been watching what happens in the DB the entire time and...

Quote:
(Looks like the profile packet was already sent to the client - with pet info - and you
were deleting the pet on the server afterwards.)
...seems to be true, for the log part.

The zone part deletes the entry immediately.

I will make it better. It's not exactly how I want even though it functions.

I'll check this out a little later, let it sit for a bit.

Thanks for your help.

EDIT: I tried as many variations as there are in that exact location you recommended Uleat. Although, I did not try anything after moving the bit to \zoning.cpp. I think I've let it sit long enough.
Reply With Quote
  #2  
Old 09-30-2015, 07:51 PM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

I reverted the bit in \client_process.cpp.

I could use a bit of assistance with something most would consider basic.

I need to insert something that checks the no rent code.

This is as far as I got:
Code:
	if (RuleB(Pets, PetLogPersistence) == false)
	{
		SetPet(0);
	}
		
	else (RuleB(Pets, PetLogPersistence) == true);
	{

		database.LoadPetInfo(this);
		/*
		This was moved before the spawn packets are sent
		in hopes that it adds more consistency...
		Remake pet
		*/
		if (m_petinfo.SpellID > 1 && !GetPet() && m_petinfo.SpellID <= SPDAT_RECORDS) {
			MakePoweredPet(m_petinfo.SpellID, spells[m_petinfo.SpellID].teleport_zone, m_petinfo.petpower, m_petinfo.Name, m_petinfo.size);
		if (GetPet() && GetPet()->IsNPC()) {
			NPC *pet = GetPet()->CastToNPC();
			pet->SetPetState(m_petinfo.Buffs, m_petinfo.Items);
			pet->CalcBonuses();
			pet->SetHP(m_petinfo.HP);
			pet->SetMana(m_petinfo.Mana);
			}
		m_petinfo.SpellID = 0;
		}
	}
This is some of the no rent code:
Code:
void Client::RemoveNoRent(bool client_update)


bool deletenorent = database.NoRentExpired(GetName());
	if (deletenorent) { //client was offline for more than 30 minutes, delete no rent items
		if (RuleB(Inventory, TransformSummonedBags))
			DisenchantSummonedBags(false);
		RemoveNoRent(false);
	}
More than hints please.

Thanks
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 08:30 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3