EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=621)
-   -   Fixed "start_zones" (https://www.eqemulator.org/forums/showthread.php?t=10113)

Avatarius 11-08-2003 09:45 AM

Fixed "start_zones"
 
Hi,

if not already done, i've fixed the source code for "Start_zones and BindPoints". I've testet it for example with "all" Human Wizards possibilities and it works 100%

so if any of the developers wants to save time, i would be glad to give out the code fixes....

Avatarius


(bad english....i know :)

PS: just forgot....it's for the newest CVS version of EQEmu

Trumpcard 11-08-2003 11:46 AM

Post the code diffs in this thread and we'll take a look at it..

Thanks

Avatarius 11-08-2003 12:22 PM

CVS (Original) database.cpp -> Line 12815
Code:

if (RunQuery(query, MakeAnyLenString(&query, "SELECT x,y,z,zone_id FROM start_zones WHERE player_choice=%i and player_class=%i and player_deity=%i and player_race=%i", in_cc->start_zone, in_cc->class_, in_cc->deity, in_cc->race), errbuf, &result)) {
CVS (Original) databse.cpp -> Line 12819
Code:

if (mysql_num_rows(result) == 4) {

                        row = mysql_fetch_row(result);

                        in_pp->x = atoi(row[0]);

                        in_pp->y = atoi(row[1]);

                        in_pp->z = atoi(row[2]);

                        in_pp->zone_id = atoi(row[3]);

                        mysql_free_result(result);

                        return true;

                }

My suggestion:
Code:

        if (RunQuery(query, MakeAnyLenString(&query, "SELECT x,y,z,zone_id,bind_id FROM start_zones WHERE player_choice=%i and player_class=%i and player_deity=%i and player_race=%i", in_cc->start_zone, in_cc->class_, in_cc->deity, in_cc->race), errbuf, &result)) {
       
                safe_delete_array(query);

                if (mysql_num_rows(result) != 0) {

                        row = mysql_fetch_row(result);

                        in_pp->y = atoi(row[0]);

                        in_pp->x = atoi(row[1]);
                       
                        in_pp->z = atoi(row[2]);
                       
                        in_pp->zone_id = atoi(row[3]);

                        in_pp->bind_zone_id = atoi(row[4]);

                        mysql_free_result(result);

                        return true;

                }


MYSQL Table for "start_zones" must be changed also:
Code:

CREATE TABLE start_zones (
 x float NOT NULL default '0',
 y float NOT NULL default '0',
 z float NOT NULL default '0',
 zone_id int(4) NOT NULL default '0',
 bind_id int(4) NOT NULL default '0',
 player_choice int(2) NOT NULL default '0',
 player_class int(2) NOT NULL default '0',
 player_deity int(4) NOT NULL default '0',
 player_race int(4) NOT NULL default '0'
) TYPE=MyISAM;

-- Values for Human Wizards

INSERT INTO start_zones VALUES (314,-653,3.75,1,2,1,12,396,1);
INSERT INTO start_zones VALUES (138,-710,17.75,9,9,4,12,396,1);
INSERT INTO start_zones VALUES (309,-353,-38.22,45,2,1,12,201,1);
INSERT INTO start_zones VALUES (-38,-250,-94.22,10,9,4,12,206,1);
INSERT INTO start_zones VALUES (314,-653,-3.75,1,2,1,12,207,1);
INSERT INTO start_zones VALUES (138,-710,17.75,9,9,4,12,204,1);
INSERT INTO start_zones VALUES (138,-710,17.75,9,9,4,12,208,1);
INSERT INTO start_zones VALUES (314,-653,-3.75,1,2,1,12,212,1);
INSERT INTO start_zones VALUES (314,-653,-3.75,1,2,1,12,213,1);
INSERT INTO start_zones VALUES (138,-710,-17.75,9,9,4,12,213,1);

and it works :)

--kathgar: I added [CODE] tags

bud9weiser 11-16-2003 04:46 PM

ok 2 qestions.
1. will this be going into the release
2. if so, what does bind_id equal?

Trumpcard 11-16-2003 11:38 PM

This didnt make it into the 0.5.0 release, but we can add it for the next one.

What should bind_id equal? What will change this bind_id field when you have your character somewhere else, how does this value change?

Initially , shouldnt all the bind id's be the same as the zone_ids?

11-17-2003 12:15 AM

Quote:

Initially , shouldnt all the bind id's be the same as the zone_ids?
As I remember (it was a long time ago, so I may be wrong), when I created my Half-Elf ranger, he first appeared in Surefall Glade, but when he died he would respawn in Qeynos Hills. I don't have access to live any more to confirm this.

Trumpcard 11-17-2003 12:50 AM

worked that way in halas too.. now i remember..

mangoo 11-17-2003 03:08 AM

freeport iirc you start by your class guild and then respawn just outside the gates


All times are GMT -4. The time now is 07:44 AM.

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