Fix to #zone to handle nektulos instances
Hi all. Noobie here. I posted this on the PEQ forums and figured I should post it here as well. I hope I am doing this right. :)
I noticed that with the current release of the database and the current EQEmulator code, using #zone to go to nektulos with the Underfoot client would place the player in the wrong instance of nek. The terrain would be right since the UF eqg file is the new version of the zone. However, the NPC and object placement would be all wrong. Bridge guards would be swimming in the river, the PoK book would be gone, the zones wouldn't work, etc. Doing the same zone command in the Titanium client worked properly, because it was putting the player in the old version of zone. The problem is that the EQEmulator zone command code does not account for zone instances. New nek is run as an instance (instance number 1). I endeavored to change the code to handle the zone command to nek the same way the doors and zone-points tables handle it. I needed a mapping between instance number and client version mask for each zone that can be instanced (in this case, only nektulos). I figured that I could add a client_version_mask column to the zone table that would be used to determine which instance of the zone to zone to based on the version of the current client being run. But rather than change the structure of an existing system table I decided to add a new table called 'zone_command_instances'. Here is the SQL to create the table and build the nektulos records and the changed version for the zone command code (in zone\command.cpp): Code:
create table if not exists zone_command_instances Code:
diff --git a/zone/command.cpp b/zone/command.cpp |
I thought there was a zone instance type command.
|
There is, #zoneinstance.
|
Ah. Thank you for pointing that out. I actually didn't see that command until after I was done with the work I did! :) It's ok, though. I wanted the #zone command to choose which version automatically based on the running client version as the PoK book does. So, I am still happy with my work.
|
All times are GMT -4. The time now is 03:26 AM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.