EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Is there a more elegant way? (https://www.eqemulator.org/forums/showthread.php?t=29488)

Tharkun 09-08-2009 02:21 PM

Is there a more elegant way?
 
I want to change Arias in tutorialb, to send the PC to their start point.

Seems like I need to do a huge chain of nested IF statements to accomplish this. If that's what I have to do, that's what I'll do.

If someone knows a better way.. please share.

Not looking for this to be written for me... but a point to a simpler way would be great. :)

Thanks

So_1337 09-08-2009 02:33 PM

There's already a door in the zone that can be clicked to accomplish the same thing. I learned that by looking in the player.pl quest file for the zone. Here's the part that would interest you:

Code:

sub EVENT_CLICKDOOR {
        my $d_id = ($doorid % 256);
        if($d_id == 11)
        {
                my $s_zone = $client->GetStartZone();
                if($s_zone == 9)
                {
                        quest::movepc(9,-60.9,-61.5,-24.9);
                }
                elsif($s_zone == 19)
                {
                        quest::movepc(19,-98.4,11.5,3.1);
                }
                elsif($s_zone == 24)
                {
                        quest::movepc(24,-309.8,109.6,23.1);
                }
                elsif($s_zone == 25)
                {
                        quest::movepc(25,-965.3,2434.5,5.6);
                }
                elsif($s_zone == 29)
                {
                        quest::movepc(29,12.2,-32.9,3.1);
                }
                elsif($s_zone == 45)
                {
                        quest::movepc(45,-343,189,-38.22);
                }
                elsif($s_zone == 49)
                {
                        quest::movepc(49,520.1,235.4,59.1);
                }
                elsif($s_zone == 50)
                {
                        quest::movepc(50,560,-2234,3);
                }
                elsif($s_zone == 52)
                {
                        quest::movepc(52,1.1,14.5,3.1);
                }
                elsif($s_zone == 54)
                {
                        quest::movepc(54,-197,27,-0.7);
                }
                elsif($s_zone == 55)
                {
                        quest::movepc(55,7.6,489.0,-24.9);
                }
                elsif($s_zone == 61)
                {
                        quest::movepc(61,26.3,14.9,3.1);
                }
                elsif($s_zone == 68)
                {
                        quest::movepc(68,-214.5,2940.1,0.1);
                }
                elsif($s_zone == 75)
                {
                        quest::movepc(75,200,800,3.39);
                }
                elsif($s_zone == 106)
                {
                        quest::movepc(106,-415.7,1276.6,3.1);
                }
                elsif($s_zone == 155)
                {
                        quest::movepc(155,105.6,-850.8,-190.4);
                }
                else
                {
                        quest::movepc(202,-55,44,-158.81);
                }
        }
}

You can use nearly the exact same thing for Arias, if you choose.

Tharkun 09-08-2009 03:13 PM

Thanks, I didn't even think to check the door, I just assumed it behaved the same way Arias did.

are there race/class combinations that do not have a start zone defined?

I could be wrong but I'm pretty sure zone 202 is PoK.
The only thing that come to mind is a Human Druid... if that the case I can change the final statement to Surefall with the half-elves

Thanks again

Sinister 09-09-2009 11:25 AM

Also can be diety if you're trying to be like EQLive. If you're a monk that worships Quellious you start in Qeynos, but if you worship the other god (I forgot which one it is) you start in Freeport. There might be other cases of this, but this is the only one I can think of.

joligario 09-09-2009 04:07 PM

There has been a new method to figure out starting city added recently. You may just want to use that.

Tharkun 09-14-2009 01:24 PM

do you have a link?


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

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