Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-27-2007, 06:37 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default No-Click Zone Points

I have spent hours scouring the site, the Wiki, and code trying to figure out just how the hell we're doing the no-click zoning - like when you're running from ecommons to freeport, you hit a sweet spot that magically flings you into the next zone. I know about the 999999 thing, but no matter what I've tried, putting that or any other relative coordinate into the x,y,z, I cannot get a character to zone from [the new] Lavastorm back into Nektulos.

There are many other zones lacking "magic" zone points as well, so if I can figure out how to get any one of them to work, I can start setting up more. I've sat with table `zone`, `zone_points` open, pounding #loc just before the in-game zoner, and I swear... nothing lines up logically at all. I am going bonkers. The target_x,y,z is fine, just not that "cross this line, I zone you" coordinate.

HALP! Anyone, for the love of god and all that's holy, help me with this.

kthx.
/shootself
Reply With Quote
  #2  
Old 07-28-2007, 12:42 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

It seems to me that some of the zone points are hard coded into the client. I can delete the entry from the zone_points table and it still works.

I can't override them unless I use a quest and a proximity event on an invisible mob placed in front of the real zone line.
Reply With Quote
  #3  
Old 07-28-2007, 03:56 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

That is great info, now I do remember the invisible NPC / proximity thing. I will try that.

Hard coded... who the hell does that? I flog devs daily for trying to hard code things in my products. That's so... 90's
Reply With Quote
  #4  
Old 07-28-2007, 07:55 AM
DarkGothic's Avatar
DarkGothic
Fire Beetle
 
Join Date: Sep 2006
Posts: 12
Default

Are you useing the new maps for the new lavastorm or the old map file, not zone file but map file?
Reply With Quote
  #5  
Old 07-28-2007, 02:57 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Hmm. My lavastorm.map file is dated 9.3.2004... that sounds old. Are there newer maps? I have a oow_maps file someone did recently, but I do not see revamped lavastorm or nektulos in there. I'll have to dig around.
Reply With Quote
  #6  
Old 07-28-2007, 03:07 PM
DarkGothic's Avatar
DarkGothic
Fire Beetle
 
Join Date: Sep 2006
Posts: 12
Default

you can find it in the new_maps.zip on EQEmulator space at SourceForge
Reply With Quote
  #7  
Old 09-06-2007, 09:34 AM
wayneg
Fire Beetle
 
Join Date: Aug 2007
Posts: 11
Default

I have the same problem as John. I set up the zone point from EC to Nek and it works fine, but trying to go from Nek to EC does nothing.

I tried the new map files and same result.

I reduced my database entries down to one entry, and made it simple:
2, 'nektulos', 1, 0, 0, 0, 0, 999999, 607, 0, 65, 0, 22

What does the invisible mob solution look like?
Reply With Quote
  #8  
Old 09-06-2007, 09:46 AM
sfisque
Hill Giant
 
Join Date: Oct 2006
Posts: 248
Default

the invisible mob quest model for zoning shows up if you have the newer (or newest) peq quest database. in lavastorm you should have some quest perl files like lavnek.pl, laveye.pl, etc. these correspond to invisible mobs in the peq database (again, newer snapshots). the quest fires via proximity trigger and zones the toons into the respective zone it is sitting outside of.

== sfisque
Reply With Quote
  #9  
Old 09-06-2007, 10:45 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

You can also put in your own invis mob and use a proximity event to zone characters.
Reply With Quote
  #10  
Old 09-08-2007, 06:45 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I took the invisible man/proximity port approach finally, since using table `zone_points` ended in 8 wasted hours of my life I will never get back. Sigh.

Here's the info -
Create a new NPC "Zone_Out" (can be named anything) with race 1 (Human initially) and body type 1 (Humanoid). Any other stats you like, but they won't matter by the time we're done.

#dbspawn ###### (the ID of the newly created NPC)

Target him, and position him approximately mid-way between the sides of your zone out area - for example, it if is a mountain range, pop your zoner as close to the middle between the two walls of the mountain as you can, nearest to (or beyond) the point you wish to launch players from your zone.

#npcspawn add
This creates the entry in your tables to repop this guy every zone startup. Now, zone out and zone back in to reload the new spawn details. Your dude should now be popped precisely where you need him. A naked, human male that you can target.

Quest script:
Code:
# Tipt custom zone outs back to Nexus (152)

sub EVENT_SPAWN {
  my $x = $npc->GetX();
  my $y = $npc->GetY();
  quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}

sub EVENT_ENTER {
    quest::movepc(152,0,0,-24);
}

sub EVENT_EXIT {
  quest::clear_proximity();
  my $x = $npc->GetX();
  my $y = $npc->GetY();
  quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}

#End of File, Zone:tipt  NPC:289031 -- Zone_Out
Clearly described --
Code:
sub EVENT_SPAWN {
  my $x = $npc->GetX();
  my $y = $npc->GetY();
  quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}
This sub executes when your NPC spawns, getting it's current x,y coords, and setting a proximity of x +/- 100 (north and south - pay attention to what direction your zone out location faces and adjust accordingly.

In my zoner, the zone out is East/West, so I made the east/west coordinates as close to the NPC as possible without risking passing him up. The North/South coords are +/- 100, since that covers from the NPC in both directions and beyond the cavern walls so again, players cannot pass by the NPC. Not sure what happens if they go over his head though... anyway.


Code:
sub EVENT_ENTER {
    quest::movepc(152,0,0,-24);
}
Simple, this flings the player to the center of Nexus upon entering the above proximity. And finally...

Code:
sub EVENT_EXIT {
  quest::clear_proximity();
  my $x = $npc->GetX();
  my $y = $npc->GetY();
  quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}
If the player nears the NPC but somehow manages to not port and back up, we need to re-set the proximity or going forward again will allow the player to pass the NPC completely (I am not 100% certain of this, but it seemed to be a problem on my server).

Now, once your NPC is in place and porting you properly, edit his race and body type:
Race: 127 - Invisible Man
Body: 66 - InvisMan

And he is no longer visible, nor targettable, and players should not be able to kill him. This actually worked so well, I am considering using it throughout my world to make custom zone entries.
Reply With Quote
  #11  
Old 09-16-2007, 12:17 PM
wayneg
Fire Beetle
 
Join Date: Aug 2007
Posts: 11
Default

Thanks john, That works great !
Reply With Quote
  #12  
Old 09-17-2007, 07:12 AM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

The only problem is that sometimes this will fail. I am not sure if it's a lag issue or what, but every once in a while, someone on my server will run right through it and the proximity event never triggers. I have not been able to reproduce it though, so I put a second mob up just in case.
Reply With Quote
  #13  
Old 09-19-2007, 03:25 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

It is true with GM speed, you can slip through the cracks. I've tested in normal lowbie speed, and even bard speeds, and got caught every time (if the x,y was wide enough).
Reply With Quote
  #14  
Old 09-19-2007, 03:51 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Grand Creation has been using similar scripts for almost a year now and it's true every now and again players report never zoning but they are almost always mounted. GM speed as mentioned above also breaks this script. Back up and you'll zone. I also get reports from people that the script sometimes sends them to invalid zone coords. Often, if they log and then come back on they find themselves at correct coords. I haven't found a cause of that yet, but it may have something to do with multi people porting at once. Though, overall these scripts are solid.
Reply With Quote
Reply


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 05:54 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3