EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Zone Lines? (https://www.eqemulator.org/forums/showthread.php?t=31661)

blindaviator 07-14-2010 06:11 PM

Zone Lines?
 
I have been trying to figure out how setting up zone lines works... Are they configurable or are they hard-coded??

If they are configurable I cannot, for the life of me, figure out how they are working... I have tried everything I can think of to set one up but nothing seems to work... Can someone point me in the right direction??

I know it's possible to setup clickable objects for doors or zones but I want to setup one that is invisible just like most zone lines are...

Any help would be appreciated..

blackdragonsdg 07-14-2010 09:58 PM

Zone lines are fun...if the data for the zone line already appears in the zone_points table in the db you can modify parts of it like target_zone_id, target_z, target_y, target_x but you can not modify the actual location of the zone line(x,y,z).

Example:
Code:

***Dragonscale Hills -> Crystallos***
REPLACE into zone_points(`zone`, `number`, `y`, `x`, `z`, `heading`, `target_y`, `target_x`, `target_z`, `target_heading`, `zoneinst`, `target_zone_id`, `buffer`) VALUES('dragonscale', 200, 0, 0, 0, 0, -64, -60, -78, 0, 0, 446, 0);

***Dragonscale Hills -> Dragonscale Hills***
update zone_points set target_x = 1689, target_y = 1425, target_z = 212, target_heading = 222, target_zone_id = 442 where target_zone_id = 446 and zone = 'dragonscale';

The Dragonscale Hills -> Dragonscale Hills update causes you to zone back to the center of Dragonscale Hills when you attempt to zone to Crystallos.

The only way I am aware of that can circumvent the zone lines is by quest trigger. The following will add invisible npc's to the bazaar which makes the portals for the red and blue sections function properly.

Code:

/* BazaarRed_Up */
delete from spawnentry where spawngroupID = 75160;
delete from spawngroup where id = 75160;
delete from spawn2 where id = 750160;
delete from npc_types where id = 750160;
INSERT INTO `spawnentry` (`spawngroupID`, `npcID`, `chance`) VALUES (75160, 750160, 100);
INSERT INTO `spawngroup` (`id`, `name`, `spawn_limit`, `dist`, `max_x`, `min_x`, `max_y`, `min_y`, `delay`) VALUES (75160, '75160', 1, 0, 0, 0, 0, 0, 0);
INSERT INTO `spawn2` (`id`, `spawngroupID`, `zone`, `version`, `x`, `y`, `z`, `heading`, `respawntime`, `variance`, `pathgrid`, `_condition`, `cond_value`) VALUES (750160, 75160, 'bazaar', 0, -53.6, 302.5, 35.3, 20.1, 0, 0, 0, 0, 1);
INSERT INTO `npc_types` (`id`, `name`, `lastname`, `level`, `race`, `class`, `bodytype`, `hp`, `gender`, `texture`, `helmtexture`, `size`, `hp_regen_rate`, `mana_regen_rate`, `loottable_id`, `merchant_id`, `npc_spells_id`, `npc_faction_id`, `adventure_template_id`, `trap_template`, `mindmg`, `maxdmg`, `npcspecialattks`, `aggroradius`, `face`, `luclin_hairstyle`, `luclin_haircolor`, `luclin_eyecolor`, `luclin_eyecolor2`, `luclin_beardcolor`, `luclin_beard`, `drakkin_heritage`, `drakkin_tattoo`, `drakkin_details`, `armortint_id`, `armortint_red`, `armortint_green`, `armortint_blue`, `d_meele_texture1`, `d_meele_texture2`, `runspeed`, MR, CR, DR, FR, PR, `see_invis`, `see_invis_undead`, `qglobal`, AC, `npc_aggro`, `spawn_limit`, `attack_speed`, `findable`, STR, STA, DEX, AGI, _INT, WIS, CHA, `see_hide`, `see_improved_hide`, `trackable`, `isbot`, `exclude`, ATK, `Accuracy`, `slow_mitigation`, `version`, `maxlevel`, `scalerate`) VALUES (750160, 'BazaarRed_Up', '(Zone NPC)', 85, 127, 1, 67, 120000, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 4000, 5000, 'ABH', 100, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 0, -75, 0, 500, 500, 500, 500, 500, 500, 500, 1, 1, 0, 0, 1, 8000, 75, 0, 0, 0, 100);

/* BazaarRed_Down */
delete from spawnentry where spawngroupID = 75161;
delete from spawngroup where id = 75161;
delete from spawn2 where id = 750161;
delete from npc_types where id = 750161;
INSERT INTO `spawnentry` (`spawngroupID`, `npcID`, `chance`) VALUES (75161, 750161, 100);
INSERT INTO `spawngroup` (`id`, `name`, `spawn_limit`, `dist`, `max_x`, `min_x`, `max_y`, `min_y`, `delay`) VALUES (75161, '75161', 1, 0, 0, 0, 0, 0, 0);
INSERT INTO `spawn2` (`id`, `spawngroupID`, `zone`, `version`, `x`, `y`, `z`, `heading`, `respawntime`, `variance`, `pathgrid`, `_condition`, `cond_value`) VALUES (750161, 75161, 'bazaar', 0, -887.6, 1162.4, 2.9, 1.1, 0, 0, 0, 0, 1);
INSERT INTO `npc_types` (`id`, `name`, `lastname`, `level`, `race`, `class`, `bodytype`, `hp`, `gender`, `texture`, `helmtexture`, `size`, `hp_regen_rate`, `mana_regen_rate`, `loottable_id`, `merchant_id`, `npc_spells_id`, `npc_faction_id`, `adventure_template_id`, `trap_template`, `mindmg`, `maxdmg`, `npcspecialattks`, `aggroradius`, `face`, `luclin_hairstyle`, `luclin_haircolor`, `luclin_eyecolor`, `luclin_eyecolor2`, `luclin_beardcolor`, `luclin_beard`, `drakkin_heritage`, `drakkin_tattoo`, `drakkin_details`, `armortint_id`, `armortint_red`, `armortint_green`, `armortint_blue`, `d_meele_texture1`, `d_meele_texture2`, `runspeed`, MR, CR, DR, FR, PR, `see_invis`, `see_invis_undead`, `qglobal`, AC, `npc_aggro`, `spawn_limit`, `attack_speed`, `findable`, STR, STA, DEX, AGI, _INT, WIS, CHA, `see_hide`, `see_improved_hide`, `trackable`, `isbot`, `exclude`, ATK, `Accuracy`, `slow_mitigation`, `version`, `maxlevel`, `scalerate`) VALUES (750161, 'BazaarRed_Down', '(Zone NPC)', 85, 127, 1, 67, 120000, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 4000, 5000, 'ABH', 100, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 0, -75, 0, 500, 500, 500, 500, 500, 500, 500, 1, 1, 0, 0, 1, 8000, 75, 0, 0, 0, 100);

/* BazaarBlue_Up */
delete from spawnentry where spawngroupID = 75162;
delete from spawngroup where id = 75162;
delete from spawn2 where id = 750162;
delete from npc_types where id = 750162;
INSERT INTO `spawnentry` (`spawngroupID`, `npcID`, `chance`) VALUES (75162, 750162, 100);
INSERT INTO `spawngroup` (`id`, `name`, `spawn_limit`, `dist`, `max_x`, `min_x`, `max_y`, `min_y`, `delay`) VALUES (75162, '75162', 1, 0, 0, 0, 0, 0, 0);
INSERT INTO `spawn2` (`id`, `spawngroupID`, `zone`, `version`, `x`, `y`, `z`, `heading`, `respawntime`, `variance`, `pathgrid`, `_condition`, `cond_value`) VALUES (750162, 75162, 'bazaar', 0, 302.8, 49.7, 35.4, 223.9, 0, 0, 0, 0, 1);
INSERT INTO `npc_types` (`id`, `name`, `lastname`, `level`, `race`, `class`, `bodytype`, `hp`, `gender`, `texture`, `helmtexture`, `size`, `hp_regen_rate`, `mana_regen_rate`, `loottable_id`, `merchant_id`, `npc_spells_id`, `npc_faction_id`, `adventure_template_id`, `trap_template`, `mindmg`, `maxdmg`, `npcspecialattks`, `aggroradius`, `face`, `luclin_hairstyle`, `luclin_haircolor`, `luclin_eyecolor`, `luclin_eyecolor2`, `luclin_beardcolor`, `luclin_beard`, `drakkin_heritage`, `drakkin_tattoo`, `drakkin_details`, `armortint_id`, `armortint_red`, `armortint_green`, `armortint_blue`, `d_meele_texture1`, `d_meele_texture2`, `runspeed`, MR, CR, DR, FR, PR, `see_invis`, `see_invis_undead`, `qglobal`, AC, `npc_aggro`, `spawn_limit`, `attack_speed`, `findable`, STR, STA, DEX, AGI, _INT, WIS, CHA, `see_hide`, `see_improved_hide`, `trackable`, `isbot`, `exclude`, ATK, `Accuracy`, `slow_mitigation`, `version`, `maxlevel`, `scalerate`) VALUES (750162, 'BazaarBlue_Up', '(Zone NPC)', 85, 127, 1, 67, 120000, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 4000, 5000, 'ABH', 100, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 0, -75, 0, 500, 500, 500, 500, 500, 500, 500, 1, 1, 0, 0, 1, 8000, 75, 0, 0, 0, 100);

/* BazaarBlue_Down */
delete from spawnentry where spawngroupID = 75163;
delete from spawngroup where id = 75163;
delete from spawn2 where id = 750163;
delete from npc_types where id = 750163;
INSERT INTO `spawnentry` (`spawngroupID`, `npcID`, `chance`) VALUES (75163, 750163, 100);
INSERT INTO `spawngroup` (`id`, `name`, `spawn_limit`, `dist`, `max_x`, `min_x`, `max_y`, `min_y`, `delay`) VALUES (75163, '75163', 1, 0, 0, 0, 0, 0, 0);
INSERT INTO `spawn2` (`id`, `spawngroupID`, `zone`, `version`, `x`, `y`, `z`, `heading`, `respawntime`, `variance`, `pathgrid`, `_condition`, `cond_value`) VALUES (750163, 75163, 'bazaar', 0, 924.1, 1163.6, 2.9, 255.9, 0, 0, 0, 0, 1);
INSERT INTO `npc_types` (`id`, `name`, `lastname`, `level`, `race`, `class`, `bodytype`, `hp`, `gender`, `texture`, `helmtexture`, `size`, `hp_regen_rate`, `mana_regen_rate`, `loottable_id`, `merchant_id`, `npc_spells_id`, `npc_faction_id`, `adventure_template_id`, `trap_template`, `mindmg`, `maxdmg`, `npcspecialattks`, `aggroradius`, `face`, `luclin_hairstyle`, `luclin_haircolor`, `luclin_eyecolor`, `luclin_eyecolor2`, `luclin_beardcolor`, `luclin_beard`, `drakkin_heritage`, `drakkin_tattoo`, `drakkin_details`, `armortint_id`, `armortint_red`, `armortint_green`, `armortint_blue`, `d_meele_texture1`, `d_meele_texture2`, `runspeed`, MR, CR, DR, FR, PR, `see_invis`, `see_invis_undead`, `qglobal`, AC, `npc_aggro`, `spawn_limit`, `attack_speed`, `findable`, STR, STA, DEX, AGI, _INT, WIS, CHA, `see_hide`, `see_improved_hide`, `trackable`, `isbot`, `exclude`, ATK, `Accuracy`, `slow_mitigation`, `version`, `maxlevel`, `scalerate`) VALUES (750163, 'BazaarBlue_Down', '(Zone NPC)', 85, 127, 1, 67, 120000, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 4000, 5000, 'ABH', 100, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 0, -75, 0, 500, 500, 500, 500, 500, 500, 500, 1, 1, 0, 0, 1, 8000, 75, 0, 0, 0, 100);


These must be accompanied by quest scripts in the bazaar quest folder of the emulator.


BazaarBlue_Down.pl
Code:

sub EVENT_SPAWN
{
        $x = $npc->GetX();
        $y = $npc->GetY();
        quest::set_proximity($x - 15, $x + 15, $y - 15, $y + 15);
}

sub EVENT_ENTER
{
        quest::movepc(151,255,32,33);
}
#END of FILE Zone:bazaar teleporter

BazaarBlue_Up.pl
Code:

sub EVENT_SPAWN
{
        $x = $npc->GetX();
        $y = $npc->GetY();
        quest::set_proximity($x - 15, $x + 15, $y - 15, $y + 15);
}

sub EVENT_ENTER
{
        quest::movepc(151,921,1213,2);
}
#END of FILE Zone:bazaar teleporter

BazaarRed_Down.pl
Code:

sub EVENT_SPAWN
{
        $x = $npc->GetX();
        $y = $npc->GetY();
        quest::set_proximity($x - 15, $x + 15, $y - 15, $y + 15);
}

sub EVENT_ENTER
{
        quest::movepc(151,-22,258,33);
}
#END of FILE Zone:bazaar teleporter

BazaarRed_Up.pl
Code:

sub EVENT_SPAWN
{
        $x = $npc->GetX();
        $y = $npc->GetY();
        quest::set_proximity($x - 15, $x + 15, $y - 15, $y + 15);
}

sub EVENT_ENTER
{
        quest::movepc(151,-891,1212,2);
}
#END of FILE Zone:bazaar teleporter


bufferofnewbies 07-15-2010 12:56 AM

Might check out these two posts:

First is when we had a discussion about zonelines due to an issue with a zone:
http://www.eqemulator.org/forums/showthread.php?t=22050

Second is a listing of how i set some of the zonelines for a few zones we didnt not have:
http://www.eqemulator.org/forums/showthread.php?t=22022

Hope those help you.


All times are GMT -4. The time now is 08:18 PM.

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