Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Server Code Submissions

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #7  
Old 09-21-2008, 02:34 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I haven't had a lot of time to play with this, but it looks like the group and raid types crash the zone when used. This happens whether you are in a group/raid or not. Here is the output:

Code:
#0  0x08155ec3 in Database::setGroupInstFlagNum (this=0x836ac24, charID=22,
    orgZoneID=223) at /usr/include/stdlib.h:336
#1  0x08248eee in QuestManager::setinstflag (this=0x836a920, charID=1,
    orgZoneID=0, type=1) at questmgr.cpp:1572
#2  0x08250883 in XS__setinstflag (my_perl=0x83c6f20, cv=0x8430954)
    at perlparser.cpp:2174
#3  0xb79d22dd in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#4  0xb79d0a8f in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#5  0xb797108e in ?? () from /usr/lib/libperl.so.5.8
#6  0x083c6f20 in ?? ()
#7  0xb7a4f14e in ?? () from /usr/lib/libperl.so.5.8
#8  0x00000000 in ?? ()
Your line numbers will probably differ from mine, so if something doesn't line up, just ask. I can tell you though that questmgr.cpp:1572 is database.setGroupInstFlagNum(charID, orgZoneID);
in my source. The raid dump is the same, just with the raid code. If you want that, just let me know.

Another small problem, /goto doesn't seem to work in instances. The red text pops telling you who you're going to, but you don't actually move. This may be unrelated to your code, but /goto does indeed work in normal zones.

The single player function works perfectly, and the instances themselves from what I can tell work great as well. I had a couple of toons in two instances of the same zone, and the spawns and quests worked great in each instance. No overlapping at all. Very impressive.

Now some suggestions, since your system forces instances to be dynamic (static versions of the zone are ignored, and can only be accessed by players without an instance flag) is there anyway that you can add a rule that will allow server ops to keep the instances open for a certain amount of time after the last player left it? If the op sets the rule to 10 minutes, then the zone stays open for 10 minutes after it became empty of players.

Also, could raid type 2 be changed to flag group members as well? The idea behind this is so we could just set everything to type 2. If a group comes along that aren't in a raid, they can get flagged with this single function instead of having an extra elsif in the script to check for non-raid groups.

Can a variable be added to enable Perl to check if a player is already flagged for an instance? Also, can a new Perl function be added that will delete the flags from a player/group/raid (set both columns to 0?)

Finally, I'm not sure how your system handles this, but what happens to players that join a raid/group after they've been flagged? Can it be made so that they inherit those flags?

Last edited by cavedude; 09-21-2008 at 10:42 PM..
 


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 11:56 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