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.