Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 02-06-2004, 06:09 PM
toolh3
Sarnak
 
Join Date: Jul 2003
Posts: 35
Default Got akanon to steamfont zoneline to work (code & db)

I've been pulling my hair out trying to figure out why akanon->steamfont zoneline didn't work. I finally got it. The first problem is that the zoneline number is 1000. This is a problem because the database is looking for this to be a 3 digit tinyint so 1000 wouldn't fit in the field anyway. The second problem is that the code has number as an int8 which I believe can be between -127 & 127 (0 - 255 if unsigned), so even if you did change the number to 1000 in the DB, the code still wouldn't handle it correctly. Anyway, here are the changes.

In the DB we need to alter the zone_points table so that number can handle a bigger number.
Code:
ALTER TABLE `zone_points` CHANGE `number` `number` SMALLINT(4)  UNSIGNED DEFAULT "1" NOT NULL
I believe that is correct. At least that's what MySQL-Front did when I changed the field using their field editor.

Now we need to update the akanon zone line so that number is reflected correctly.
Code:
update zone_points set number = 1000, x = -76, y = 54, z = 2, target_y = -2062, target_x = 528, target_z = -110, target_heading = 999, target_zone = 'steamfont' where id = 148
Next, is the code change. You will need to recompile zone.exe to get this to work. If you don't have access to a compiler, you can get the zone.exe with this fix, from here. That exe by the way is DR3 with Perl quest support.

In \zone\zone.h :
Code:
struct ZonePoint {
	float x;
	float y;
	float z;
	float heading;
	int8 number;
	float target_x;
	float target_y;
	float target_z;
	float target_heading;
	char  target_zone[16];
};
should look like this:

Code:
struct ZonePoint {
	float x;
	float y;
	float z;
	float heading;
	int16 number;
	float target_x;
	float target_y;
	float target_z;
	float target_heading;
	char  target_zone[16];
};
All we did was change int8 to int16. int16 should be able to handle up to 32,767, I believe. Anyway, it can at least hold 1000. Now you just have to recompile zone.exe and you should be able to zone into steamfont from akanon.

I'm still trying to figure out how to be able to zone from lavastorm to soltemple correctly, but so far, not getting anywhere. That by the way is a different problem than this.
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 03:51 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