Waypoints are hit and miss
I don't understand why this is happening but things I need to rely on are just not happening all the time and it screws up a system of events that rely on a waypoint being triggered.
I echo'd the npc's waypoints to see what was going on and most of the time it's fine but occasionally it will echo a set of waypoints like 1 2 4 completely ignoring point 3! Now when I need to depop on point 3 this can become a disaster! Why is this happening? |
Check your grid pause time. Might be possible your timing is off. To test waypoints out, in your NPC's script file try this:
Code:
sub EVENT_WAYPOINT_ARRIVE { |
That's what I mean when echo'ing - it's saying i've reached 1, 2 then 4!
The pause is set to a variety of values from 0 to 200. 0 is ok isn't it? |
Did you check the grid numbers in the database to ensure there is a 3 on that grid? Is the wander type set to patrol? 0 is fine for the timer, was just saying to check just in case you were trying to stop on a waypoint that was set to 0 or something similar.
|
I've set them all to 1 but i'm still having the same issue! Yep i'm using patrol with full waits and am on the latest build of eqemu with perl 5.10.
Must.. fix...this! |
Here's one of the bug ones
Gets to wp 3 fine (which is wp4 i believe in the grid but starts at 0 in perl) Code:
sub EVENT_WAYPOINT_ARRIVE |
Wait, I'm confused then. Since the $wp starts at 0, and you are looking for 3rd waypoint, then you should be checking if == 2. Maybe show your grids and explain which waypoint you are interested in and I can help better.
EDIT: You should also use == instead of eq. I think I see what you are saying with 3/4. I just compiled 1395 and it doesn't skip any waypoints... |
Ok i swapped to == and it doesn't make a difference. I expect on this script when the spawn reaches waypoint 5 ($wp == 4) it will record the quest global. then when it reaches waypoint 6 ($wp == 5) it will depop.
At the moment I have that zone as static, i'm in another and I am looking at the quest global table and it has never changed from ootboatstatus '1' to '2' like it should when it his waypoint 5 ($wp == 4). What's happening!! |
Code:
"gridid","zoneid","number","x","y","z","heading","pause" |
Couple of last few questions. Is number 1 on your grid list at (or very near) the spawnpoint? Does the boat have qglobals enabled? Try using "F" instead of F? BTW, I wasn't saying that == would fix it, I was just saying that when using that type of condition check, it should be == instead of the string eq.
|
Yeah the spawn has qglobals enabled. It's definitely translating the F across because a previous script uses it and I can see it in the table. Number 1 is exactly where the spawn is when it pops.
|
Does the boat say "setting status 2..." and/or "Depopping..."? Want to post your most up-to-date code you are using?
|
It's almost like if I'm not in the static zone with the boat it will not set the qglobal and depop.
Whenever I sit on the 4 hour journey with it across OOT it will happily depop and set the qglobal to 2. Messed up! |
Eugh!
Quote:
|
Wait a minute.. that can't be right at all because when i'm in OOT and set the qglobal 2 to the boat will spawn fine at the other side. So perl is running in the static zones.
I also can confirm that the static zones can update Qglobals because when OOT first boots up an invisible NPC sets a qglobal to 0 which resets the whole process. I am seeing qglobal == 1 when i check the table so I know that the loop in OOT is seeing qglobal being 0, spawning the boat which itself sets the qglobal to 1 (i'm on my way to freeport). What the hell is wrong?! |
All times are GMT -4. The time now is 08:36 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.