Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bug Reports

Development::Bug Reports Post detailed bug reports and what you would like to see next in the emu here.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-19-2005, 04:38 AM
Dakaar
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

Was really tired last night... Soo ignore some of that

The big question, is why does sendcorpsesbulk crash the player, and what can be done to prevent that!

I tried making a packet with just the new corpse, but I dont think that worked , using the template of sendcorpsesbulk
Reply With Quote
  #2  
Old 09-19-2005, 10:59 AM
Dakaar
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

This bug occurs because the new_corpse's id and the client's id are the same. when a player dies, that id is despawned.. the corpse gets despawned with the client.

The corpse and the client need to have differing ids.

Everything is working perfectly on my server, will have a fix in a few

Last edited by Dakaar; 09-19-2005 at 07:28 PM..
Reply With Quote
  #3  
Old 09-19-2005, 06:02 PM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

Nice one there., I've been searching for some times and did not find anything interesting.

Also, did u notice any bug when a player is killed by 'Pain and Suffering'? looks like his corpse just poofs.
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
Reply With Quote
  #4  
Old 09-20-2005, 06:08 AM
Dakaar
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

I think i remember seeing something in the code specifically about that where it is a seperate case, buuut i cant recall right now.


Actually while my fix worked, it apparently wasnt the root of the problem, FNW put up a new fix on CVS after I told him about what I did, im testing this out now as well
Reply With Quote
  #5  
Old 09-20-2005, 08:00 AM
Dakaar
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

Okay, FNW posted a CVS change based on what was going on, and it was right, sorta =P


grab the new cvs, fix the updateclientstruct so you can actually move around, then in attack.cpp, do this:


in client::death , after addCorpse like shown

entity_list.AddCorpse(new_corpse, GetID());

+ //become a corpse
+ EQZonePacket app(OP_BecomeCorpse, sizeof(BecomeCorpse_Struct));
+ BecomeCorpse_Struct* d = (BecomeCorpse_Struct*)app.pBuffer;
+ d->spawn_id = GetID();
+ d->x = GetX();
+ d->y = GetY();
+ d->z = GetZ();
+ entity_list.QueueClients(this, &app, true);

+ this->SetID(0);


Remove the //become a corpse through entity_list.Queueclients() from the top of the file and bring it down. You will need to change the name of the app and d variables on the second packet sent in client::death, because someone forgot to name them seperately =P

Thats it! enjoy
Reply With Quote
  #6  
Old 09-20-2005, 09:00 AM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

Many thanks
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
Reply With Quote
  #7  
Old 09-20-2005, 11:13 AM
Dakaar
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

Quote:
Originally Posted by Magoth78
Many thanks
Yup

....gonna work on bards next *shudder* =P
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 12:52 PM.


 

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