EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Problem with start zones (https://www.eqemulator.org/forums/showthread.php?t=39120)

Bandor 12-16-2014 04:02 PM

Problem with start zones
 
So I modified the start_zones in my DB via SQL and everything is looking correct,all points (xyz) and headings are correct and I have players zoning into the zoneid I set. My problem is they are zoning in at the #zone area of the zone rather than the points I set in the DB. Any ideas how to resolve this?

The codes I ran are:


Code:

UPDATE `start_zones` SET `x` = '-231.28', `y` = '-887.93', `z` = '184.19', `heading` = '54.8', `zone_id` = '397', `start_zone` = `zone_id`, `bind_x` = `x`, `bind_y` = `y`, `bind_z` = `z`
Code:

INSERT INTO `variables` (`varname`,`value`,`information`) VALUES
('startzone','mesa','Setting default Startzone for all clients and races to mesa');


trevius 12-16-2014 04:41 PM

What is your SoFStartZoneID rule set to in the rule_values table? If it isn't -1, and you are using a client newer than Titanium, it will send new characters to the safe point in that zone per this code:


https://github.com/EQEmu/Server/blob...ient.cpp#L1442

I am guessing you set that rule to 397, and that will override your start_zones table settings for SoF+ clients.

EDIT: Actually, by setting your start zone in the variables table, you are overriding the settings in the start_zones table (shown in the code link above as well). So, you will need to remove that row from the variables table to allow the start_zones table to handle the location properly.

Bandor 12-16-2014 08:57 PM

It is currently set at -1. So if I understand you right. Simply removing this row from my client.cpp should correct this problem? Or is it a different file I need to remove this from?


Code:

if (ClientVersionBit & BIT_SoFAndLater && RuleI(World, SoFStartZoneID) > 0) {

Bandor 12-17-2014 10:00 AM

Found the variables table,Though theres only 1 row column for it,and it is correctly set. Not really sure where to find the line to remove.

trevius 12-17-2014 12:49 PM

No, you don't need to edit the source code. I think this should be the SQL you need to run:

Code:

DELETE FROM variables WHERE varname = 'startzone';

Bandor 12-17-2014 08:29 PM

Ran that and now they are spawning in crescent reach again lol

trevius 12-18-2014 01:06 PM

I see...

Looks like SoF+ calls this for start zones if none is set in variables or rules:

https://github.com/EQEmu/Server/blob...rlddb.cpp#L407

And that is probably failing to get any query results for the zone id you set it to in start_zones since that was designed to work for starting zones that are default for the client (not custom).

So, the easiest solution for you would be to just change the safe zone points for Mesa in your zones table. Then, set your startzone back to mesa in the variables table (or set it in rules for the SoFStartZoneID).

Bandor 12-18-2014 07:33 PM

Ok cool,considered doing that will give it a shot ,thank you sir!

Bandor 12-19-2014 10:11 AM

Switched all that. Changed safe zone locations and SoFstartzone and they are still spawning in Crescent Reach.

world.exe says: No start_zones entry in database,using defaults. Which doesnt make since because I changed the rows lol.

Bohbo 12-19-2014 02:08 PM

Quote:

Originally Posted by Bandor (Post 236226)
Switched all that. Changed safe zone locations and SoFstartzone and they are still spawning in Crescent Reach.

world.exe says: No start_zones entry in database,using defaults. Which doesnt make since because I changed the rows lol.

I am running into the same problem as well.

EDIT: Adding a VARIABLE StartZone (NAME) worked I tried StartZone (number) and it didn't work. No idea why.

Bandor 12-19-2014 09:36 PM

Did what you suggested Bohbo and it worked perfectly,ty sir!


All times are GMT -4. The time now is 01:06 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.