Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 05-15-2013, 05:09 PM
noudess
Discordant
 
Join Date: Sep 2012
Location: Upstate NY
Posts: 274
Default quest::pause(0)

I was working on a quest which has an NPC pathing a grid. When he arrives at waypoints, the code in the quest checks which one...

If he arrives at a certain waypoint, I want to stop here there until signaled.

In the waypoint arrival code, I placed a quest::pause(0).

From the viewpoint of the questmgt code, this is supposed to cease all pathing until we do a resume. It does this by setting the NPC grid to -(grid).

The MobAI code always checks the grid pathing timer to see if he's arrived at the next waypoint even if the grid is negative.

Code:
 if (AIwalking_timer->Check())^M
        {^M
            movetimercompleted=true;^M
            AIwalking_timer->Disable();^M
        }^M

Since I used pause(0) at his arrival point, the above check is true and movetimercompleted is set to true.

Then, the mobai code does the following - which just frees up the npc.

Code:
 else if (gridno < 0) ^M
        {   // this mob is under quest control^M
            if (movetimercompleted==true)    ^M
            { // time to pause has ended^M
                SetGrid( 0 - GetGrid()); // revert to AI control^M
                mlog(QUESTS__PATHING, "Quest pathing is finished. Resuming on grid %d", GetGrid());^M
^M
                if(GetAppearance() != eaStanding)^M
                    SetAppearance(eaStanding, false);^M
^M
                CalculateNewWaypoint();^M
            }^M
        }^M
Am I missing something. I turned path and waypoint logging on and followed the code. I was tempted to wrap the 1st check with an if (gridid > 0) but then the second snipet would never do the setAppearance stuff.

It seems to me that the quest:: routines should be responsible for pause and resume in all cases.

I am willing to work on this, but since I have nowhere near the experience with this code as some of you, I wanted to ask if you believe my data is correct.

Last edited by noudess; 05-15-2013 at 06:08 PM.. Reason: meant to say negative not -1
Reply With Quote
 


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 04:33 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