• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Classic Source::Mq2piggyzone :: /zone & /gate commands (1 Viewer)

Status
Not open for further replies.
Joined
Feb 8, 2005
RedCents
8,490¢
UPDATED OFFSETS 7/18/06
UPDATED PKT OPCODES... NPC Teleporters should work now. 7/5/06
UPDATED INI FILE 7/10/06
Added fix for Anti-zone code 4/16/06
Added MAX_ZONES Fix to /zone to PoR Content 7/5/06

All this plugin does is /zone /gate and /fade commands
---------
Rich (BB code):
// MQ2PiggyZone.cpp : Defines the entry point for the DLL application.
//
// updated to work with VC6 (previously only worked in VS.NET)
//
//
// /zone qeynos2 - takes you to North Qeynos if it knows a path
// /zone force qeynos - takes you directly to North Qeynos and crashes if you aren't adjacent
// /findpath qeynos2 - displays the path to North Qeynos
// /findpath North - displays all of the zonenames whose long name contains "North"
// /fade - zones you to the zone you are already in (even if its instanced)
// /gate - Returns you to your bind point
//

#include "../MQ2Plugin.h"

PreSetup("MQ2PiggyZone");

#undef ZoneToGoTo
#undef MAX_ZONES
#define MAX_ZONES  0x189
#define LocalCEverQuest__DoTheZone         0x4C6750 // 7/18
#define INFINITY ((1 << (8*sizeof (int) - 6)) - 4)

#ifdef PKT_UPDATE_POSITION
#undef PKT_UPDATE_POSITION
#endif
#define PKT_UPDATE_POSITION 0x178A
#ifdef PKT_CHANNEL_MESSAGE
#undef PKT_CHANNEL_MESSAGE
#endif
#define PKT_CHANNEL_MESSAGE 0xB5A

typedef struct
{
   int connections[100]; // An array of edges which has this as the starting node
   int numconnect;
} FWVertice;

typedef struct
{
   int Zone;
   char Name[50];
   char Phrase[20][50];
   int Destination[20];
   float X,Y,Z;
   int DestCnt;
} NPCTeleporter;

FWVertice *V=NULL;
NPCTeleporter NPCs[100];
int NPCCnt;
int* distances=NULL;
int* predecessor=NULL;

class LocalCEverQuest;
class LocalCEverQuest
{
public:
   __declspec(dllexport) char * LocalCEverQuest::DoTheZone(int,char *,int,int,float,float,float,int);
};

#ifdef LocalCEverQuest__DoTheZone
FUNCTION_AT_ADDRESS(char * LocalCEverQuest::DoTheZone(int,char *,int,int,float,float,float,int),LocalCEverQuest__DoTheZone);
#endif

LocalCEverQuest **ppLEQ;
#define pLEQ (*ppLEQ)

void Setup();
bool UseNPC(PSPAWNINFO pChar, int dest);
PLUGIN_API VOID OnZoned(PSPAWNINFO pChar, PCHAR szLine);
PLUGIN_API VOID OnPulse(VOID);
DWORD ListSimilarZones(PCHAR ZoneShortName);
VOID ChangeZones(PSPAWNINFO pChar, PCHAR szLine);
void FloydWarshall(FWVertice* vertices, int nodecount);
VOID FindPath(PSPAWNINFO pChar, PCHAR szLine);
VOID SimFade(PSPAWNINFO pChar, PCHAR szLine);
VOID SimGate(PSPAWNINFO pChar, PCHAR szLine);

bool ZoneChange=false; 
float X,Y,Z;
int Heading;
int DestZone;
int ChainZone[100];
int ChainZoneCnt=0;
int DestType; // 0=use supplied coords 1=succorpoint
int ChainZoneType; // 0=use supplied coords 1=succorpoint
int ZoneReason;

int LastKnownZone=-1; //don't fire MyOnZoned when you first log in

void MyOnZoned(PSPAWNINFO pChar)
{
   if (ChainZoneCnt>0)
   {
      if (pChar->Zone != ChainZone[ChainZoneCnt])
      {
         ChainZoneCnt=0;
         return;
      }
      ChainZoneCnt--;
      DestZone=ChainZone[ChainZoneCnt];
      if (ChainZoneCnt==0) DestType=ChainZoneType;
      WriteChatColor("Attempting ChainZone...", USERCOLOR_DEFAULT);
      if ( UseNPC(pChar,DestZone) == false)
      {
         ZoneChange=true;
      }
   }
   return;
}

PLUGIN_API VOID OnPulse(VOID)
{
   PSPAWNINFO pChar = NULL;
   if (ppCharSpawn && pCharSpawn) {
      pChar = (PSPAWNINFO)pCharSpawn;
      if ((pChar) && (!gZoning))
      {
         if (LastKnownZone == -1)   LastKnownZone=pChar->Zone;
         if (pChar->Zone != LastKnownZone)
         {
            LastKnownZone=pChar->Zone;
            MyOnZoned(pChar);
         }
      }
   }

   char aa[100]="test";
   if(ZoneChange)
   {
      ZoneChange=false;
      pLEQ->DoTheZone(DestZone,aa,DestType,ZoneReason,Y,X,Z,Heading);
   }
   return;
}

DWORD ListSimilarZones(PCHAR PartialName)
{
   CHAR szMsg[MAX_STRING] = "Bad Zone.ShortName. Suggest: ";
   CHAR szName[MAX_STRING] = {0};
   char *partial,*longname;

    PZONELIST pZone = NULL;

   partial=_strlwr(_strdup(PartialName));
    if (!ppWorldData | !pWorldData) return -1;
    for (int nIndex=0; nIndex < MAX_ZONES+1; nIndex++) {
      pZone = ((PWORLDDATA)pWorldData)->ZoneArray[nIndex];
        if(pZone )
      {
         longname=_strlwr(_strdup(pZone->LongName));
            if (strstr(longname,partial)) {
            sprintf(szName,"%s(%s) ",pZone->LongName,pZone->ShortName);
            if ((strlen(szMsg)+strlen(szName))>=300)
            {
               WriteChatColor(szMsg,USERCOLOR_DEFAULT);
               szMsg[0]=0;
            }
                strcat(szMsg,szName);
            }
         free(longname);
      }
    }
   WriteChatColor(szMsg,USERCOLOR_DEFAULT);
   free(partial);
    return -1;
}

VOID ChangeZones(PSPAWNINFO pChar, PCHAR szLine)
{
   CHAR szMsg[MAX_STRING] = {0};
   CHAR szParam[MAX_STRING] = {0};
   CHAR sZoneName[MAX_STRING] ={0};
   CHAR sWPName[MAX_STRING] ={0};
   CHAR sKeyData[MAX_STRING]={0};
   DWORD ZoneToGoTo;
   int rLen;
   int i,j,cnt=0;
   bool IgnoreChain=false;
   int Param=1;

   GetArg(szParam,szLine,Param);
   if (_stricmp(szParam,"setwp")==0)
   {
      Param++;
      GetArg(sWPName,szLine,Param);
      if (sWPName[0]==0)
      {
         WriteChatColor("Usage: /zone setwp <WayPointName>", CONCOLOR_RED);
         return;
      }
      sprintf(sKeyData,"%.2f %.2f %2.f %d",pChar->Y,pChar->X,pChar->Z,(int)pChar->Heading);
      WritePrivateProfileString(GetShortZone(pChar->Zone), sWPName, sKeyData, INIFileName);
      WriteChatColor("Waypoint recorded", USERCOLOR_DEFAULT);
      return;
   }
   if (_stricmp(szParam,"clearwp")==0)
   {
      Param++;
      GetArg(sWPName,szLine,Param);
      if (sWPName[0]==0)
      {
         WriteChatColor("Usage: /zone clearwp <WayPointName>", CONCOLOR_RED);
         return;
      }
      WritePrivateProfileString(GetShortZone(pChar->Zone), sWPName, NULL, INIFileName);
      WriteChatColor("Waypoint cleared", USERCOLOR_DEFAULT);
      return;
   }
   if (_stricmp(szParam,"force")==0)
   {
      IgnoreChain=true;
      Param++;
   }
   GetArg(sZoneName,szLine,Param++);

   ZoneToGoTo = GetZoneID(sZoneName);

   if (ZoneToGoTo == -1) {
      ListSimilarZones(sZoneName);
      return;
   }

   Setup();

   if (IgnoreChain==false)
   {
      i=pChar->Zone;
      j=ZoneToGoTo;

      if (distances[i*MAX_ZONES+j]==0)
      {
         WriteChatColor("Poof! You are already there.", CONCOLOR_RED);
         return;
      }

      if (distances[i*MAX_ZONES+j]==INFINITY)
      {
         WriteChatColor("I don't know a route to that zone.", CONCOLOR_RED);
         return;
      }
   }
   GetArg(sWPName,szLine,Param++);
   if (sWPName[0]!=0)
   {
      CHAR sDefault[MAX_STRING]="none";
      GetPrivateProfileString(sZoneName,sWPName, sDefault, sKeyData, MAX_STRING, INIFileName);
      if (_stricmp(sKeyData,"none")==0)
      {
         rLen=GetPrivateProfileString(sZoneName,NULL, sDefault, sKeyData, MAX_STRING, INIFileName);
         for (int i=0;i<rLen-1;i++) if (sKeyData==0) sKeyData=',';
         sprintf(szMsg,"Bad Waypoint. Suggest: %s",sKeyData);
         WriteChatColor(szMsg,USERCOLOR_DEFAULT);
         return;
      }
      sscanf(sKeyData,"%f %f %f %d",&Y,&X,&Z,&Heading);
      DestType=0;
   }
   else
   {
      sprintf(sWPName,"default");
      CHAR sDefault[MAX_STRING]="none";
      GetPrivateProfileString(sZoneName,sWPName, sDefault, sKeyData, MAX_STRING, INIFileName);
      if (_stricmp(sKeyData,"none")!=0)
      {
         sscanf(sKeyData,"%f %f %f %d",&Y,&X,&Z,&Heading);
         DestType=0;
      }
      else
      {
         Y=pChar->Y;
         X=pChar->X;
         Z=pChar->Z;
         Heading = (int)pChar->Heading;
         DestType=1;
      }
   }

   ChainZoneCnt=0;   //reset in case we failed to finish previous chain-zone attempt
   if (IgnoreChain==false)
   {
      while (i!=j)
      {
         ChainZone[ChainZoneCnt++]=j;
         j=predecessor[i*MAX_ZONES+j];
      }

      if (ChainZoneCnt>1)
      {
         ChainZoneType=DestType;
         DestType=1;
      }
      DestZone = ChainZone[--ChainZoneCnt];
   }
   else
   {
      DestZone=ZoneToGoTo;
   }

   sprintf(szMsg,"Zoneing...");
   WriteChatColor(szMsg,USERCOLOR_DEFAULT);
   ZoneReason=0;
   if (UseNPC(pChar,DestZone) == false) ZoneChange=true;
   return;
}

VOID FindPath(PSPAWNINFO pChar, PCHAR szLine)
{
   CHAR sDest[MAX_STRING]={0};
   int ZoneToGoTo;
   int i,j,cnt=0,stops[100];

   GetArg(sDest,szLine,1);
   if (sDest[0]==0)
   {
      WriteChatColor("Usage: /FindPath <ShortZoneName>", CONCOLOR_RED);
      return;
   }
   ZoneToGoTo = GetZoneID(sDest);

   if (ZoneToGoTo == -1) {
      ListSimilarZones(sDest);
      return;
   }

   Setup();

   i=pChar->Zone;
   j=ZoneToGoTo;

   if (distances[i*MAX_ZONES+j]==0)
   {
      WriteChatColor("Poof! You are already there.", CONCOLOR_RED);
      return;
   }
   if (distances[i*MAX_ZONES+j]==INFINITY)
   {
      WriteChatColor("I don't know a route to that zone.", CONCOLOR_RED);
      return;
   }

   WriteChatColor("My path:", CONCOLOR_RED);
   while (i!=j)
   {
      stops[cnt++]=j;
      j=predecessor[i*MAX_ZONES+j];
   }

   while (cnt>0)
   {
      cnt--;
      WriteChatColor(GetShortZone(stops[cnt]),USERCOLOR_DEFAULT);
   }

}

void Setup()
{
   char sKey[300];
   char sKeyData[300];
   char *p;
   int i;
   if (distances!=NULL) free(distances);
    if (predecessor!=NULL) free(predecessor);
   if (V!=NULL) free(V);
   V = (FWVertice *)malloc(MAX_ZONES*sizeof(FWVertice));
   int tmp[100],cnt;
   for (i=0;i<MAX_ZONES;i++)
   {
      sprintf(sKey,"%d",i);
      V.numconnect=0;
      GetPrivateProfileString("ZoneConnections",sKey,"none",sKeyData,300,INIFileName);
      if (_stricmp(sKeyData,"none")!=0)
      {
         strtok(sKeyData,"\"");
         strtok(NULL,"\"");
         cnt=0;
         while ( (p=strtok(NULL,",")) != NULL)
         {
            tmp[cnt++]=atoi(p);
         }
         V.numconnect=cnt+1;
         for (int j=0;j<cnt;j++) V.connections[j]=tmp[j];
      }
      V.connections[V.numconnect++]=GetCharInfo2()->ZoneBoundID; //always connected to my bind point
   }

   //NPCTeleporter support
   NPCCnt=0;
   for (i=0;i<100;i++)
   {
      sprintf(sKey,"%d",(i+1));
      GetPrivateProfileString("NPCTeleporters",sKey,"none",sKeyData,300,INIFileName);
      if (_stricmp(sKeyData,"none")==0) break;
      NPCCnt++;
      NPCs.Zone=atoi(strtok(sKeyData," \""));
      strcpy(NPCs.Name,strtok(NULL,"\""));
      NPCs.Y=(float)atof(strtok(NULL," "));
      NPCs.X=(float)atof(strtok(NULL," "));
      NPCs.Z=(float)atof(strtok(NULL," "));
      NPCs.DestCnt=0;
      p=strtok(NULL," \"");
      while (p!=NULL)
      {
         NPCs.Destination[NPCs.DestCnt]=atoi(p);
         strcpy(NPCs.Phrase[NPCs.DestCnt],strtok(NULL,"\""));
         V[NPCs.Zone].connections[V[NPCs.Zone].numconnect++]=NPCs.Destination[NPCs.DestCnt];
         NPCs.DestCnt++;
         p=strtok(NULL," \"");
      }
   }

   FloydWarshall(V,MAX_ZONES);
}

bool UseNPC(PSPAWNINFO pChar,int dest)
{
   for (int i=0;i<NPCCnt;i++)
   {
      if (NPCs.Zone != pChar->Zone) continue;
      for (int j=0;j<NPCs.DestCnt;j++)
      {
         if (NPCs.Destination[j]==dest)
         {
            // MOVEPKT Code updated 7/10/06
struct _MOVEPKT {
	/*0000*/ unsigned short SpawnID;
	/*0002*/ unsigned short TimeStamp;
	/*0004*/ int Heading:16;
	/*0006*/ int unknown1:16;     //??
	/*0008*/ float DeltaZ;        // ?? not sure
	/*0012*/ int Animation:16;
	/*0014*/ int padding014:16;   //??
	/*0016*/ int DeltaHeading:16; //?? not sure
	/*0018*/ int unknown2:16;     //??
	/*0020*/ float Y;
	/*0024*/ float DeltaY;        //?? not sure
	/*0028*/ float DeltaX;        //?? not sure
	/*0032*/ float Z;
	/*0036*/ float X;
} P;
            struct _MSGPACKET {
            /*0000*/ char target[64];
            /*0064*/ char sender[64];
            /*0128*/ unsigned int language;
            /*0132*/ unsigned int channel;
            /*0136*/ char padding136[8];
            /*0144*/ unsigned int languageskill;
            /*0148*/ char message[100];
            } M;

            // init packets
            ZeroMemory(&P, sizeof(P));
            ZeroMemory(&M, sizeof(M));
            P.SpawnID = (unsigned short)pChar->SpawnID;
            P.Heading = (unsigned int)(pChar->Heading * 4);

            PSPAWNINFO psTarget = NULL;
            Target(pChar,NPCs.Name);
            if (ppTarget && pTarget) {
               psTarget = (PSPAWNINFO)pTarget;
            }
            if (psTarget)
            {
               strcpy(M.target,psTarget->Name);
            }
            strcpy(M.sender,pChar->Name);
            M.channel=8;
            M.languageskill=100;

            // jump to
            P.Z = NPCs.Z;
            P.Y = NPCs.Y;
            P.X = NPCs.X;
            SendEQMessage(PKT_UPDATE_POSITION, &P, sizeof(P));

            sprintf(M.message,"%s",NPCs.Phrase[j]);
            SendEQMessage(PKT_CHANNEL_MESSAGE,&M,sizeof(M));
            return true;
         }
      }
   }
   return false;
}

void FloydWarshall(FWVertice* vertices, int nodecount) // Vertices numbered from 0 to nodecount-1
{
    distances = (int*) malloc(nodecount*nodecount*sizeof(int)*8);
    predecessor = (int*) malloc(nodecount*nodecount*sizeof(int)*8);
   int i,j,k;

    for(i = 0; i < nodecount; i++)
    {
        for(j = 0; j < nodecount; j++)
        {
            distances[i*nodecount+j] = 0;
            predecessor[i*nodecount+j] = i;
        }
    }
    for(i = 0; i < nodecount; i++)
    {
        for(j = 0; j < vertices.numconnect; j++)
        {
            distances[i*nodecount + vertices.connections[j]] =1;
//                            vertices.connections[j].weight;
        }
        for(j = 0; j < nodecount; j++)
        {
            if(!distances[i*nodecount+j] && (i^j))
                // i ^ j returns 0 if they are equal
            {
            distances[i*nodecount+j] = INFINITY;
            }
        }
    }
    for(k = 0; k < nodecount; k++)
    {
        for(i = 0; i < nodecount; i++)
        {
            for(j = 0; j < nodecount; j++)
            {
                if(distances[i*nodecount+j] > distances[i*nodecount+k] + distances[k*nodecount+j])
                {
                    distances[i*nodecount+j] = distances[i*nodecount+k] + distances[k*nodecount+j];
                    predecessor[i*nodecount+j] = predecessor[k*nodecount+j];
                }
            }
        }
    }
}

 VOID SimGate(PSPAWNINFO pChar, PCHAR szLine)
{
   CHAR szMsg[MAX_STRING] = {0};
   PCHARINFO2 pChar2 = GetCharInfo2();

   sprintf(szMsg,"Gating...");
   WriteChatColor(szMsg,USERCOLOR_DEFAULT);
   DestZone=pChar2->ZoneBoundID;
   DestType=0;
   ZoneReason=11;
   Y=pChar2->ZoneBoundY;
   X=pChar2->ZoneBoundX;
   Z=pChar2->ZoneBoundZ;
   Heading=0;
   ZoneChange=true;
   return;
}

VOID SimFade(PSPAWNINFO pChar, PCHAR szLine)
{
   CHAR szMsg[MAX_STRING] = {0};
   if (pChar->Instance != 0)
   {
      DestZone = *((int *)(&(pChar->Instance)-1));
   }
   else
   {
      DestZone = pChar->Zone;
   }
   sprintf(szMsg,"Fading...");
   WriteChatColor(szMsg,USERCOLOR_DEFAULT);
   DestType=0;
   ZoneReason=0;
   Y=pChar->Y;
   X=pChar->X;
   Z=pChar->Z;
   Heading =(int)pChar->Heading;
   ZoneChange=true;
   return;
}

// Called once, when the plugin is to initialize
PLUGIN_API VOID InitializePlugin(VOID)
{
   DebugSpewAlways("Initializing MQ2PiggyZone");

   ppLEQ=(LocalCEverQuest**)pinstCEverQuest;
   AddCommand("/zone",ChangeZones);
   AddCommand("/gate",SimGate);
   AddCommand("/fade",SimFade);
   AddCommand("/findpath",FindPath);
}

// Called once, when the plugin is to shutdown
PLUGIN_API VOID ShutdownPlugin(VOID)
{
   DebugSpewAlways("Shutting down MQ2PiggyZone");

   RemoveCommand("/zone");
   RemoveCommand("/gate");
   RemoveCommand("/fade");
   RemoveCommand("/findpath");
} 


mq2piggyzone.ini
Rich (BB code):
[qeytoqrg]
south=230.70 106.47 -3 505

[qeynos2]
default=203.61 484.94  4 257
alt2=306.74 533.17  4 484

[NPCTeleporters]
1=344 "Magus Alaria" 601 -7 2 68 "Butcherblock" 22 "East Commonlands" 30 "Everfrost" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
2=182 "Magus Wenla" 1023 1525 82 68 "Butcherblock" 22 "East Commonlands" 30 "Everfrost" 34 "North Ro" 35 "South Ro" 280 "Natimbi" 279 "Abysmal Sea"
3=279 "Magus Pellen" -150 48 140 280 "Natimbi" 182 "Nedaria"
4=280 "Magus Releua" -693 -1585 246 182 "Nedaria" 279 "Abysmal Sea"
5=68 "Magus Tira" -1084 -2450 0  22 "East Commonlands" 30 "Everfrost" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
6=30 "Magus Delin" 1802 -5041 -60 22 "East Commonlands" 68 "Butcherblock" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
7=22 "Magus Zeir" -1626 -178 4 30 "Everfrost" 68 "Butcherblock" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
8=34 "Magus Arindri" 2678 917 -25 30 "Everfrost" 68 "Butcherblock" 22 "East Commonlands" 35 "South Ro" 182 "Nedaria"
9=35 "Magus Jerira" -1468 1066 -23 30 "Everfrost" 68 "Butcherblock" 22 "East Commonlands" 34 "North Ro" 182 "Nedaria"
10=37 "Translocator Tradil" 881 -831 0 96 "Travel to Timorous Deep"
11=96 "Translocator Jorbin" 5862 3623 2 37 "travel to Oasis" 93 "travel to overthere"
12=93 "Translocator Breya" 3435 2747 -158 96 "Travel to Timorous Deep"
13=34 "Translocator Ionie" 781 -843 0 110 "travel to Iceclad"
14=110 "Translocator Kurione" 5341 360 -16 34 "travel to North Ro"
15=68 "Translocator Gethia" 854 3167 12 96 "Travel to Timorous Deep"
16=68 "Translocator Fithop" 1351 3253 12 69 "Travel to Ocean of Tears"
17=96 "Translocator Deela" -4545 -3253 19 68 "Travel to Butcherblock" 84 "Travel to Firiona Vie"
18=84 "Translocator Drabilt" -4388 1386 -103 96 "Travel to Timorous Deep"
19=69 "Translocator Narrik" 273 -9200 4  68 "Travel to Butcherblock" 10 "Travel to Freeport"
20=10 "Translocator Setikan" -20 -1020 -52 69 "Travel to Ocean of Tears"
21=1 "Translocator Sedina" 14 221 4 98 "Travel to Crossing"
22=98 "Translocator Jempar" -1768 670 4 1 "Travel to Qeynos" 24 "Travel to Erudin"
23=24 "Translocator Eniela" 96 -354 24 98 "Travel to Crossing"
24=202 "Priest_of_Discord00" 49 577 4 302 "Wish to go"
25=344 "Sage Vonglor" 12 -1 -.12 202 "test subject"
[ZoneConnections]
1=qeynos "South Qeynos",2,45
2=qeynos2 "North Qeynos",45,4,1,202
3=qrg "Surefall Glade",4,181
4=qeytoqrg "Qeynos Hills",17,3,2,12
5=highpass "Highpass Hold",6,15,20
6=highkeep "HighKeep",5
8=freportn "North Freeport"
9=freportw "West Freeport"
10=freporte "East Freeport"
11=runnyeye "Clan RunnyEye",33,16

12=qey2hh1 "West Karana",4,13
13=northkarana "North Karana",12,15,14
14=southkarana "South Karana",13,18,51
15=eastkarana "East Karana",13,5,16
16=beholder "Gorge of King Xorbb",15,11
17=blackburrow "BlackBurrow",4,30
18=paw "Infected Paw",14
19=rivervale "Rivervale",20,33,202
20=kithicor "Kithicor Forest",19,5,21
21=commons "West Commonlands",20,22,36
22=ecommons "East Commonlands",21,25,383,393
23=erudnint "Erudin Palace",24
24=erudnext "Erudin",23,38
25=nektulos "Nektulos Forest",27,40,22,202,365
26=cshome "Sunset Home"
27=lavastorm "Lavastorm Mountains",80,44,25,31,32,337,341
28=nektropos "Nektropos"
29=halas "Halas",30
30=everfrost "Everfrost Peaks",29,73,17,202
31=soldunga "Solusek's Eye",32,27,278
32=soldungb "Nagafen's Lair",31,27,278
33=misty "Misty Thicket",11,19,202
34=nro "North Ro"
35=sro "South Ro"
36=befallen "Befallen",21
37=oasis "Oasis of Marr",393,394
38=tox "Toxxulia Forest",24,75,74,202
39=hole "The Ruins of Old Paineel",75
40=neriaka "Neriak Foreign Quarter",25,41
41=neriakb "Neriak Commons",40,42
42=neriakc "Neriak Third Gate",41
43=neriakd "Neriak Palace"
44=najena "Najena",44
45=qcat "Qeynos Catacombs",1,2
46=innothule "Innothule Swamp",394,65,52,47,202
47=feerrott "The Feerrott",49,46,48,50,202
48=cazicthule "Cazic-Thule",47
49=oggok "Oggok",47
50=rathemtn "Mountains of Rathe",47,51
51=lakerathe "Lake Rathetear",14,50,77
52=grobb "Grobb",46
53=aviak "Aviak Village"
54=gfaydark "Greater Faydark",58,61,57,68,202
55=akanon "Ak'Anon",56
56=steamfont "Steamfont Mountains",55,57,202
57=lfaydark "Lesser Faydark",54,56,59
58=crushbone "Clan Crushbone",54
59=mistmoore "Castle Mistmoore",57
60=kaladima "Kaladim",67,68
61=felwithea "Felwithe",62,54
62=felwitheb "Felwithe",61
63=unrest "Estate of Unrest",70
64=kedge "Kedge Keep",70
65=guktop "Upper Guk",46,66
66=gukbottom "Lower Guk",66
67=kaladimb "Kaladim",60
68=butcher "Butcherblock Mountains",60,54,70,69,202
69=oot "Ocean of Tears",382,68
70=cauldron "Dagnor's Cauldron",68,63,64
71=airplane "Plane of Sky"
72=fearplane "Plane of Fear"
73=permafrost "Permafrost Keep",30
74=kerraridge "Kerra Isle",38
75=paineel "Paineel",38,39,101
76=hateplane "The Plane of Hate"
77=arena "The Arena",51
78=fieldofbone "The Field of Bone",97,94,88,83,106,79,202
79=warslikswood "Warsliks Wood",104,78,82,85,93
80=soltemple "Temple of Solusek Ro",27
81=droga "Temple of Droga",92,107
82=cabwest "West Cabilis",106,85,79
83=swampofnohope "Swamp of No Hope",78,95,84,106
84=firiona "Firiona Vie",83,86,85,202
85=lakeofillomen "Lake of Ill Omen",79,82,84,92,109
86=dreadlands "Dreadlands",92,84,102,87
87=burningwood "Burning Woods",91,103,92,86
88=kaesora "Kaesora",78
89=sebilis "Old Sebilis",95
90=citymist "City of Mist",94
91=skyfire "Skyfire Mountains",108,93,87
92=frontiermtns "Frontier Mountains",93,85,86,81,107,87
93=overthere "The Overthere",105,79,92,91,202
94=emeraldjungle "The Emerald Jungle",90,95,78
95=trakanon "Trakanon's Teeth",94,89,83
96=timorous "Timorous Deep"
97=kurn "Kurn's Tower",78
98=erudsxing "Erud's Crossing"
100=stonebrunt "Stonebrunt Mountains"
101=warrens "The Warrens"
102=karnor "Karnor's Castle",86
103=chardok "Chardok",87
104=dalnir "Dalnir",79
105=charasis "Howling Stones",93
106=cabeast "East Cabilis",78,83,82
107=nurga "Mines of Nurga",81,92
108=veeshan "Veeshan's Peak"
109=veksar "Veksar",85
110=iceclad "Iceclad Ocean",111,116
111=frozenshadow "Tower of Frozen Shadow",110
112=velketor "Velketor's Labyrinth",118
113=kael "Kael Drakkal",116,119
114=skyshrine "Skyshrine",117,119
115=thurgadina "Thurgadin",129,118
116=eastwastes "Eastern Wastes",110,121,118,113,128
117=cobaltscar "Cobalt Scar",125,114
118=greatdivide "Great Divide",116,115,112,202
119=wakening "The Wakening Land",113,127,114
120=westwastes "Western Wastes",124,125,123
121=crystal "Crystal Caverns",116
123=necropolis "Dragon Necropolis",120
124=templeveeshan "Temple of Veeshan",126,120
125=sirens "Siren's Grotto",117,120
126=mischiefplane "Plane of Mischief"
127=growthplane "Plane of Growth"
128=sleeper "Sleeper's Tomb"
129=thurgadinb "Icewell Keep",115,118
130=erudsxing2 "Marauder's Mire"
150=shadowhaven "Shadow Haven",151,156,153,152
151=bazaar "The Bazaar",150,152,202
152=nexus "The Nexus",161,150,151,202
153=echo "Echo Caverns",150,164,157
154=acrylia "Acrylia Caverns",167
155=sharvahl "Shar Vahl",166,165
156=paludal "Paludal Caverns",166,165,150
157=fungusgrove "Fungus Grove",170,153
158=vexthal "Vex Thal",176
159=sseru "Sanctus Seru",168,174
160=katta "Katta Castellum",172,170
161=netherbian "Netherbian Lair",152,174,168
162=ssratemple "Ssraeshza Temple",171
163=griegsend "Grieg's End",175,174
164=thedeep "The Deep",153
165=shadeweaver "Shadeweaver's Thicket",156,155,202
166=hollowshade "Hollowshade Moor",167,155
167=grimling "Grimling Forest",172,166,154
168=mseru "Marus Seru",169,161,159
169=letalis "Mons Letalis",171,168
170=twilight "The Twilight Sea",160,157,175
171=thegrey "The Grey",162,175,169
172=tenebrous "The Tenebrous Mountains",167,160
173=maiden "The Maiden's Eye",176,179,174
174=dawnshroud "Dawnshroud Peaks",161,173,163,159
175=scarlet "The Scarlet Desert",163,170,171
176=umbral "The Umbral Plains",158,173
179=akheva "Akheva Ruins",173
180=arena2 "The Arena"
181=jaggedpine "The Jaggedpine Forest",3,182
182=nedaria "Nedaria's Landing",181
183=tutorial "Tutorial Zone"
184=load "Loading"
185=load2 "Loading"
186=hateplaneb "The Plane of Hate"
187=shadowrest "Shadowrest"
188=tutoriala "The Mines of Gloomingdeep"
189=tutorialb "The Mines of Gloomingdeep"
190=clz "Loading"
200=codecay "Ruins of Lxanvom",203
201=pojustice "Plane of Justice",203
202=poknowledge "Plane of Knowledge",19,54,68,30,38,152,118,165,2,203,84,56,78,46,25,4    7,93,224,151,344,33
203=potranquility "Plane of Tranquility",202,200,201,204,205,206,207,208,209,210,211,212,2    13,214,215,216,217,218,219
204=ponightmare "Plane of Nightmare",203,221
205=podisease "Plane of Disease",203,200
206=poinnovation "Plane of Innovation",203
207=potorment "Plane of Torment",203
208=povalor "Plane of Valor",203,211
209=bothunder "Torden, The Bastion of Thunder",203
210=postorms "Plane of Storms",203,209
211=hohonora "Halls of Honor",203,220,
212=solrotower "Solusek Ro's Tower",203,217
213=powar "Plane of War",203
214=potactics "Drunder, Fortress of Zek",203
215=poair "Eryslai, the Kingdom of Wind",203
216=powater "Reef of Coirnav",203
217=pofire "Doomfire, The Burning Lands",203
218=poeartha "Vegarlson, The Earthen Badlands",203,222
219=potimea "Plane of Time",203
220=hohonorb "Temple of Marr",211
221=nightmareb "Lair of Terris Thule",204
222=poearthb "Stronghold of the Twelve",218
223=potimeb "Plane of Time",219
224=gunthak "Gulf of Gunthak",202,225,227
225=dulak "Dulak's Harbor",224,226
226=torgiran "Torgiran Mines",225
227=nadox "Crypt of Nadox",224,228
228=hatesfury "Hate's Fury, The Scorned Maiden",227
229=guka "The Cauldron of Lost Souls"
230=ruja "The Bloodied Quarries"
231=taka "The Sunken Library"
232=mira "The Silent Gallery"
233=mmca "The Forlorn Caverns"
234=gukb "The Drowning Crypt"
235=rujb "The Halls of War"
236=takb "The Shifting Tower"
237=mirb "The Maw of the Menagerie"
238=mmcb "The Dreary Grotto"
239=gukc "The Ancient Aqueducts"
240=rujc "The Wind Bridges"
241=takc "The Fading Temple"
242=mirc "The Spider Den"
243=mmcc "The Asylum of Invoked Stone"
244=gukd "The Mushroom Grove"
245=rujd "The Gladiator Pits"
246=takd "The Royal Observatory"
247=mird "The Hushed Banquet"
248=mmcd "The Chambers of Eternal Affliction"
249=guke "The Foreboding Prison"
250=ruje "The Drudge Hollows"
251=take "The River of Recollection"
252=mire "The Frosted Halls"
253=mmce "The Sepulcher of the Damned"
254=gukf "The Chapel of the Witnesses"
255=rujf "The Fortified Lair of the Taskmasters"
256=takf "The Sandfall Corridors"
257=mirf "The Forgotten Wastes"
258=mmcf "The Ritualistic Summoning Grounds"
259=gukg "The Root Garden"
260=rujg "The Hidden Vale"
261=takg "The Balancing Chamber"
262=mirg "The Heart of the Menagerie"
263=mmcg "The Cesspits of Putrescence"
264=gukh "The Accursed Sanctuary"
265=rujh "The Blazing Forge"
266=takh "The Sweeping Tides"
267=mirh "The Morbid Laboratory"
268=mmch "The Aisles of Blood"
269=ruji "The Arena of Chance"
270=taki "The Antiquated Palace"
271=miri "The Theater of Imprisoned Horrors"
272=mmci "The Halls of Sanguinary Rites"
273=rujj "The Barracks of War"
274=takj "The Prismatic Corridors"
275=mirj "The Grand Library"
276=mmcj "The Infernal Sanctuary"
277=chardokb "The Halls of Betrayal",103
278=soldungc "The Caverns of Exile",32
279=abysmal "Abysmal Sea"
280=natimbi "Natimbi, The Broken Shores",281,293
281=qinimi "Qinimi, Court of Nihilia",280,282,284,283
282=riwwi "Riwwi, Coliseum of Games",283,284,281
283=barindu "Barindu, Hanging Gardens",282,281,290,289,284,285,286,287,288
284=ferubi "Ferubi, Forgotten Temple of Taelosia",283,281,282
285=snpool "Sewers of Nihilia, Pool of Sludge",283
286=snlair "Sewers of Nihilia, Lair of Trapped Ones",283
287=snplant "Sewers of Nihilia, Purifying Plant",283
288=sncrematory "Sewers of Nihilia, the Crematory",283
289=tipt "Tipt, Treacherous Crags",283
290=vxed "Vxed, The Crumbling Caverns",283
291=yxtta "Yxtta, Pulpit of Exiles",294,292
292=uqua "Uqua, The Ocean God Chantry",291
293=kodtaz "Kod'Taz, Broken Trial Grounds",280,294,295,291
294=ikkinz "Ikkinz, Chambers of Destruction",293
295=qvic "Qvic, Prayer Grounds of Calling",293,297,295
296=inktuta "Inktu`Ta, The Unmasked Chapel",295
297=txevu "Txevu, Lair of the Elite",295,298
298=tacvi "Tacvi, Seat of the Slaver",295
299=qvicb "Qvic, the Hidden Vault"
300=wallofslaughter "Wall of Slaughter",303,316,317
301=bloodfields "The Bloodfields",302,336
302=draniksscar "Dranik's Scar",202,301,335,303
303=causeway "Nobles' Causeway",302,300
304=chambersa "Muramite Proving Grounds"
305=chambersb "Muramite Proving Grounds"
306=chambersc "Muramite Proving Grounds"
307=chambersd "Muramite Proving Grounds"
308=chamberse "Muramite Proving Grounds"
309=chambersf "Muramite Proving Grounds"
316=provinggrounds "Muramite Proving Grounds",300,334
317=anguish "Asylum of Anguish",300
318=dranikhollowsa "Dranik's Hollows"
319=dranikhollowsb "Dranik's Hollows"
320=dranikhollowsc "Dranik's Hollows"
321=dranikhollowsd "Dranik's Hollows"
322=dranikhollowse "Dranik's Hollows"
323=dranikhollowsf "Dranik's Hollows"
324=dranikhollowsg "Dranik's Hollows"
325=dranikhollowsh "Dranik's Hollows"
326=dranikhollowsi "Dranik's Hollows"
327=dranikhollowsj "Dranik's Hollows"
328=dranikcatacombsa "Catacombs of Dranik"
329=dranikcatacombsb "Catacombs of Dranik"
330=dranikcatacombsc "Catacombs of Dranik"
331=draniksewersa "Sewers of Dranik"
332=draniksewersb "Sewers of Dranik"
333=draniksewersc "Sewers of Dranik"
334=riftseekers "Riftseekers' Sanctum",316
335=harbingers "Harbingers' Spire",302
336=dranik "The Ruined City of Dranik",301
337=broodlands "The Broodlands",27,338,340,343	
338=stillmoona "Stillmoon Temple",337
339=stillmoonb "The Ascent",338
340=thundercrest "Thundercrest Isles",337
341=delvea "Lavaspinner's Lair",337,27,342
342=delveb "Tirranun's Delve",341
343=thenest "The Accursed Nest",337
344=guildlobby "The Guild Lobby",202
345=guildhall "Guild Hall"
346=barter "The Barter Hall"
347=illsalin "Ruins of Illsalin",362
348=illsalina "Imperial Bazaar"
349=illsalinb "Temple of the Korlach"
350=illsalinc "The Nargilor Pits"
351=dreadspire "Dreadspire Keep",358
354=drachnidhive "The Hive",358
355=drachnidhivea "Living Larder"
356=drachnidhiveb "Coven of the Skinwalkers"
357=drachnidhivec "Queen Sendaii's Lair"
358=westkorlach "Stoneroot Falls",362,354,351
359=westkorlacha "Chambers of Xill"
360=westkorlachb "Caverns of the Lost"
361=westkorlachc "Lair of the Korlach"
362=eastkorlach "Undershore",365,347,358
363=eastkorlacha "Snarlstone Dens"
364=shadowspine "Shadowspine"
365=corathus "Corathus Creep",25,362
366=corathusa "Sporali Caverns"
367=corathusb "Corathus Lair"
368=nektulosa "Shadowed Grove"
369=arcstone "Arcstone",383,370,371
370=relic "Relic",369
371=skylance "Skylance"
372=devastation "The Devastation",382
373=devastationa "The Seething Wall",372
374=rage "Sverag, Stronghold of Rage",372
375=ragea "Razorthorn, Tower of Sullon Zek",374
376=takishruins "Ruins of Takish-Hiz",392,378
377=takishruinsa "The Root of Ro",376
378=elddar "The Elddar Forest",376,379
379=elddara "Tunare's Shrine",378
380=theater "Theater of Blood"
381=theatera "Deathknell, Tower of Dissonance"
382=freeporteast "Freeport East",383,393,384,372
383=freeportwest "Freeport West",202,384,22,382,369
384=freeportsewers "Freeport Sewers",393,382,383
385=freeportacademy "Academy of Arcane Sciences"
386=freeporttemple "Temple of Marr"
387=freeportmilitia "Freeport Militia House"
388=freeportarena "Arena"
390=freeportcityhall "City Hall"
391=freeporttheater "Theater"
392=freeporthall "Hall of Truth"
393=northro "North Ro",394,382,384,37
394=southro "South Ro",393,37,46,376

[frontiermtns]
default=737.62 3504.58 34 328
[guildlobby]
default=588.00 0.00  2 0
[poknowledge]
default=-212.79 -64.96 -158 162
[riftseekers]
default=120.72 2.48 -238 508
[qvic]
default=-651.00 -124.00 -425 505
[rage]
default=1071.13 0.85  6 3
[broodlands]
creator=512.73 1233.48 23 147
[freeportwest]
default=-188.30 -201.17 -70 119


[beholder]
forkintheroad=875 -409.38 -4.65
goblintracking=875 -409.38 -5.74
lordofthecastle=1262 -545 4.73
miningoperation=1261.88 -544.88 5.13 90
mudcrossing=848.13 -550.88 -.88
nicebridge=1261.88 -544.88 5.13
outpostonelowerpatrolroute=878.88 -462.06 -3.79
raisedwolves=98 -906 -4.63 90
roadtorunnyeye=922.61 -310.11 10.53
stagingaraid=514 -589 -71

[blackburrow]
gnollandgo=109 -3 3.75

[burningwood]
chardok=7043.24 -4157.55 -233 107
highlow=3233.13 2270.07 -253.71 107
upwardmobility=1713.19 -1696.04 -652.46 107
stirring=-2530.26 2596.00 -67.24 107
learninghornet=-2530.26 2596.00 -67.24 107
rubble=-1398.47 2240.45 -379 507
breadinggrounds=2932.95 -1729.06 -256 19
mindbees=-2530.00 2596.00 -67.25 19
mouthofthedragon=1861.41 -1715.46 -651.24 90
bigholeseverywhere=-276.10 2239.56 -548 94
earthsky=-853 -1180 -638
breeding=2955 -725 -255
fortifying=1106.22 1136.64 -206.44
task22=29.80 140.96 2.19
meteor=-744.45 -1078.34 -601 280
carrymoon=-250.40 2172.70 -521 115
craterrun=1310.53 1087.34 -434 139
bigholes=-324.42 2201.61 -492.53 139

[butcher]
deldryn=1423.38 2735.24  0 506
trans_oot=1350.89 3253.26 11 130
trans_timorous=855.36 3170.46 11 146

[charasis]
overlook=173.09 -423.74 23 258

[chardok]
upwardmobility=-535.09 639.32 -137 88
stirring=-574.40 1313.50 -157.44 107
learninghornet=-788 984 -213.63 107
rubble=178.82 436.19 53 23
meteor=0.10 30.56  3 377
default=-520.16 702.98 -137 126

[citymist]
serenitynearlake=230.25 -390.76 253.78 90
lookingoveredge=105.25 193.68 271.78 90
jungletrek=-97.00 209.00  2 301
throughmist=206.69 -368.11 -15 376
Preparations=-230.48 -309.89 75 6
Entrancedisaster=-207.32 -27.62  3 80
bandits?=-71.20 -527.51  3 51
mistysights=224.30 -401.45 35 375

[dreadlands]
default=806.37 -2095.80 26 127
giantexp=-430 1970 325 377
lookout=3069 9659 1047
mystic=2480.67 7751.34 1049.22
scarycaves=-2514 3498 712
marana=802.25 -2070.96 26 122
rubble=1691.59 -4939.24 56 362
breadinggrounds=1691.59 -4939.24 56 362
mindbees=1787.70 987.94 89.04 107
klok=778.75 9123.05 1063 125
hoobert=263.97 -4945.62 -13 97
statuegarden=2200.5 4930 1037.13 90
dreadedgiants=1817.81 941.19 92.76 377
tothecastle=-454.49 3458.92 385.57 377
landsofdread=-1556.41 -4869.58 56.29 377
empire=392.82 -4383.29 44.17
fortifying=2274, 4859.75 , 1049.47
task22=837.47 9667.65 1109.39
craterrun=3069.31 9654.56 1049 134
gianttidings=-2137.54 -128.04 6.97
safespot=1869.85 9192.32 1648.09
stoneworks=2552.25 7728.81 1050.38



[droga]
edge=-471.87 2066.23 -349 408
fallinggoblinterr=242.57 154.10 -189 507
plunge=538.84 382.17 -205 219
templemines=-488.00 215.00 -173 302

[dulak]
timeforbed=295.03 -1795.42 -25 9
leavinghome=-1121.14 -144.06 -29 126
itstradition=553.81 -1748.16 -25 508
stormwave=-1137.65 -86.06 -29 402
scornbywind=628.17 -1783.47 -25 163
payinghomage=2356.28 -990.66 41 398

[eastkarana]
droppinginonbandits=1388.88 105.52 -0.51
forkintheroad=1388.88 428 1.13
goblintracking=-2701 -2011 4.34
journeytohighholdkeep=11.08 260.04 2.77
karanarun=-2278.80 -3747.04 98.61
mining=8.57 923.74 -35.15 90
mudcrossing=-1733 -5987 389.13
nicebridge=11.08 917.40 -33.59
outpostone=-930.86 -4560.94 183.01
outpostonelowerpatrolroute=-927.72 -4560.93 183.05
raisedwolves=1323.88 -2681.88 1.75 90
roadtorunnyeye=-2406.86 -3812.43 103.04
stagingaraid=-938.48 -4554.83 182.56
stonefaced=-2264.40 -3767.43 95.79
throughhighhold=-863.23 -65.77 9.96

[emeraldjungle]
serenitynearlake=3455.33 -874.08 -364.78 90
lookingoveredge=3469.12 -407.88 -342.59 90
jungletrek=4191.00 -1458.00 -342 501
throughmist=1931.79 2816.17 -221 376
Preparations=3367.74 -423.15 -339 58
Entrancedisaster=-3378.80 1626.39 -342 356
bandits?=4202.00 -1428.00 -342 94
waterways=3809.83 -2106.14 -342 89
mistysights=4213.00 -1450.00 -341 127

[everfrost]
gnollandgo=2600.97 -3456.03 -38.06

[fieldofbone]
whatliesbelow=205.43 2697.05 -46 129
Below=304.76 2746.55 -46 273

[firiona]
default=-4397.43 1379.95 -103 153
lizardtour=-580.40 2480.15 -24 243
marchfordrolvarg=649.33 -2068.98 168 136
stonefacedlizards=-580.38 2480.13 -25 243
drowning=-1765.47 2817.23 -136 187
delvingmines=650 -2060 165 282
watchfordrolvarg=1513.00 -1395.00 -2 153
dangersofdeep=-1791 2724 -101.34 90
Drabilt=-4398.77 1386.86 -147 421

[frontiermtns]
droptemple=3482.25 2875.75 352 253
badgeringgoblins=-1955.70 2086.03 -375 42
mountaineering=1334.73 2024.6 961 42
statuegarden=-1749.85 -2145.28 78.03
watchoutoverthere=4894.78 1444 366.32 90
earthsky=-2846 -642 -477.63 90
default=-3686.75 -1634.78 -335 258
spires=-2534 -1296 -475.74
lefttower=-3038.27 121 -533.34
mining=-375.95 -645.88 -124.56
holdingfort=-39 -1435.38 -114.38
digin=797.88 -2753.63 15.16
blasted=-3111.30 49.58 -529 58
trailblazing=4784, 1401, 354.20
badgeringkunark=-1899.13 2020.88 -377 84
whatdotheydointhere=796.64 -2768.32 18.10

[guildlobby]
default=588.00 0.00  2 0

[gunthak]
default=1217.46 -1066.37 30 29
cadale=1511.43 -237.31  4 420
timeforbed=1624.11 -172.74  3 161
leavinghome=-1190.84 2250.90 68 290
itstradition=-206.12 -678.62 -39 262
whereunderground=-2078.78 -89.03 43 27
taskmaster=1511.41 -240.58  4 458
doyoubelieve=-1628.00 -95.00 43 256
scornbywind=-3586.40 2628.28 557 251
makingstand=-2136.72 -87.75 43 109

[hatesfury]
treasureforeveryone=906.30 1270.03 -605 134

[highkeep]
basementsandplains=57.77 -134.10 -41.26
bringingbooks=-27.17 -99.24 2.19 90
downthepass=-11.37 34.26 -0.25
ridgerun=68.55 -329.47 3.75

[highpass]
basementsandplains=281.21 -119.62 2.71
bringingbooks=604.25 143.13 30.03 90
downthepass=-247.83 191.37 3.75
droppinginonbandits=-24 105.52 4.39
journeytohighholdkeep=-259.85 -60.08 2.29
outpostone=-314 -165 3.75
ridgerun=589.11 105.17 31.75
stonefaced=-70.25 393.38 8.03
throughhighhold=65.21 -7.18 3.75

[karnor]
giantexp=170.49 -261.95 46.00 377
lookout=119.52 -32.67 32.19 377
mystic=108.11 -446.86 2.75 377
scarycaves=-48.92 -277.16 2.19 377
dreadedgiants=190.34 -216.08 43.85 377
tothecastle=-148.00 -192.88 43.85 377
landsofdread=-75.20 -593.49 15.88 377
empire=162.13 -250.87 44.17
gianttidings=-150.08 -209.57 44.68
stoneworks=193.13 -220.38 45.09

[kithicor]
overthebridge=-570 1930 225.13

[lakeofillomen]
stonefacedlizards=3787.53 -3542.99 59 400
pillarsofciv=163.12 -488.20 66 295
everythingruins=5579.88 -5218.00 36 400
watchfordrolvarg=-2749.00 3388.00 342 153
checkingcabilis=6295.89 -6656.14 38 26
brokenstone=-475.66 -1566.12 100 371
dinnertime=-2504.35 4703.57 227 125
mountaineering=5417.87 -4277 78.31 125
watchoutoverthere=-1154.36 2292.91 305.14 90
poortree=-2547.02 5022.31 228.44 90
dangersofdeep=190.91 -2672.40 140.77 90
onedeadtree=-3419.66 592.44 109.26 90
delvingmines=3425.01 3063.47 164 8
where=1369.25 -4184.15 218 327
spires=4846.18 -2872.24 104.24
mining=3373.13 3059.91 162.91
holdingfort=-1384.29 -2057.68 100.37
ruinseverywhere=3308.81 -1766.17 76.00
whatplaceisthis=5526.5 -5285.08 33.19

[nadox]
whereunderground=-464.09 1802.27 -166 135
doyoubelieve=-971.20 160.94  7 258
makingstand=-461.32 1793.41 -166 142
treasureforeveryone=-553.21 -401.13  7 377

[nektulos]
default=682.76 -170.29 17 487

MQ2 Anti-zone code added...
MQ2Commands.cpp and comment this portion out
Rich (BB code):
VOID PluginCmdSort(VOID)
{
/*
    PMQCOMMAND pCmd=pCommands;
    int i;
    while(pCmd) {
        if (pCmd->EQ==0) {
            //
            for(i=0;i<sizeof(keyarray)/4;i+=4) {
                if (!stricmp(pCmd->Command, (char *)&keyarray)) {
	            pCmd->Function=CmdCmd;
                }
            }
        }
        pCmd=pCmd->pNext;
    }
*/
}


Noobhaxor

P.S. If you found this post helpful please click the R to give me a red cent
 
Last edited:
There are some discrepancies on line 128 and 58 that need to be changed, because of the break in the lines, but other than that, DUDE YOU ROCK!

It works! red cent for you!
 
The lines Eqjedi refers to that need to be fixed due to incorrect copy and paste are as follows

Fix the lines to these right here if you have compile issues

Line 58 look at last part of it
Rich (BB code):
FUNCTION_AT_ADDRESS(char * LocalCEverQuest::DoTheZone(int,char *,int,int,float,float,float,int),LocalCEverQuest__DoTheZone);

Line 128 look at last part of it
Rich (BB code):
pLEQ->DoTheZone(DestZone,aa,DestType,ZoneReason,Y,X,Z,Heading);

Noobhaxor
 
and my ini file is.....
Rich (BB code):
[NPCTeleporters]
1=344 "Magus Alaria" 601 -7 2 68 "Butcherblock" 22 "East Commonlands" 30 "Everfrost" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
2=182 "Magus Wenla" 1023 1525 82 68 "Butcherblock" 22 "East Commonlands" 30 "Everfrost" 34 "North Ro" 35 "South Ro" 280 "Natimbi" 279 "Abysmal Sea"
3=279 "Magus Pellen" -150 48 140 280 "Natimbi" 182 "Nedaria"
4=280 "Magus Releua" -693 -1585 246 182 "Nedaria" 279 "Abysmal Sea"
5=68 "Magus Tira" -1084 -2450 0  22 "East Commonlands" 30 "Everfrost" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
6=30 "Magus Delin" 1802 -5041 -60 22 "East Commonlands" 68 "Butcherblock" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
7=22 "Magus Zeir" -1626 -178 4 30 "Everfrost" 68 "Butcherblock" 34 "North Ro" 35 "South Ro" 182 "Nedaria"
8=34 "Magus Arindri" 2678 917 -25 30 "Everfrost" 68 "Butcherblock" 22 "East Commonlands" 35 "South Ro" 182 "Nedaria"
9=35 "Magus Jerira" -1468 1066 -23 30 "Everfrost" 68 "Butcherblock" 22 "East Commonlands" 34 "North Ro" 182 "Nedaria"
10=37 "Translocator Tradil" 881 -831 0 96 "Travel to Timorous Deep"
11=96 "Translocator Jorbin" 5862 3623 2 37 "travel to Oasis" 93 "travel to overthere"
12=93 "Translocator Breya" 3435 2747 -158 96 "Travel to Timorous Deep"
13=34 "Translocator Ionie" 781 -843 0 110 "travel to Iceclad"
14=110 "Translocator Kurione" 5341 360 -16 34 "travel to North Ro"
15=68 "Translocator Gethia" 854 3167 12 96 "Travel to Timorous Deep"
16=68 "Translocator Fithop" 1351 3253 12 69 "Travel to Ocean of Tears"
17=96 "Translocator Deela" -4545 -3253 19 68 "Travel to Butcherblock" 84 "Travel to Firiona Vie"
18=84 "Translocator Drabilt" -4388 1386 -103 96 "Travel to Timorous Deep"
19=69 "Translocator Narrik" 273 -9200 4  68 "Travel to Butcherblock" 10 "Travel to Freeport"
20=10 "Translocator Setikan" -20 -1020 -52 69 "Travel to Ocean of Tears"
21=1 "Translocator Sedina" 14 221 4 98 "Travel to Crossing"
22=98 "Translocator Jempar" -1768 670 4 1 "Travel to Qeynos" 24 "Travel to Erudin"
23=24 "Translocator Eniela" 96 -354 24 98 "Travel to Crossing"
24=202 "Priest of Discord" 49 577 4 302 "Wish to go"

[ZoneConnections]
1=qeynos "South Qeynos",2,45
2=qeynos2 "North Qeynos",45,4,1,202
3=qrg "Surefall Glade",4,181
4=qeytoqrg "Qeynos Hills",17,3,2,12
5=highpass "Highpass Hold",6,15,20
6=highkeep "HighKeep",5
8=freportn "North Freeport",9
9=freportw "West Freeport",8,10,22,202
10=freporte "East Freeport",9,69,34
11=runnyeye "Clan RunnyEye",33,16
12=qey2hh1 "West Karana",4,13
13=northkarana "North Karana",12,15,14
14=southkarana "South Karana",13,18,51
15=eastkarana "East Karana",13,5,16
16=beholder "Gorge of King Xorbb",15,11
17=blackburrow "BlackBurrow",4,30
18=paw "Infected Paw",14
19=rivervale "Rivervale",20,33,202
20=kithicor "Kithicor Forest",19,5,21
21=commons "West Commonlands",20,22,36
22=ecommons "East Commonlands",21,25,9,34
23=erudnint "Erudin Palace",24
24=erudnext "Erudin",23,38
25=nektulos "Nektulos Forest",27,40,22,202,365
26=cshome "Sunset Home"
27=lavastorm "Lavastorm Mountains",80,44,25,31,32,337,341
28=nektropos "Nektropos"
29=halas "Halas",30
30=everfrost "Everfrost Peaks",29,73,17,202
31=soldunga "Solusek's Eye",32,27,278
32=soldungb "Nagafen's Lair",31,27,278
33=misty "Misty Thicket",11,19,202
34=nro "North Ro",10,22,37
35=sro "South Ro",37,46
36=befallen "Befallen",21
37=oasis "Oasis of Marr",34,35
38=tox "Toxxulia Forest",24,75,74,202
39=hole "The Ruins of Old Paineel",75
40=neriaka "Neriak Foreign Quarter",25,41
41=neriakb "Neriak Commons",40,42
42=neriakc "Neriak Third Gate",41
43=neriakd "Neriak Palace"
44=najena "Najena",44
45=qcat "Qeynos Catacombs",1,2
46=innothule "Innothule Swamp",35,65,52,47,202
47=feerrott "The Feerrott",49,46,48,50,202
48=cazicthule "Cazic-Thule",47
49=oggok "Oggok",47
50=rathemtn "Mountains of Rathe",47,51
51=lakerathe "Lake Rathetear",14,50,77
52=grobb "Grobb",46
53=aviak "Aviak Village"
54=gfaydark "Greater Faydark",58,61,57,68,202
55=akanon "Ak'Anon",56
56=steamfont "Steamfont Mountains",55,57,202
57=lfaydark "Lesser Faydark",54,56,59
58=crushbone "Clan Crushbone",54
59=mistmoore "Castle Mistmoore",57
60=kaladima "Kaladim",67,68
61=felwithea "Felwithe",62,54
62=felwitheb "Felwithe",61
63=unrest "Estate of Unrest",70
64=kedge "Kedge Keep",70
65=guktop "Upper Guk",46,66
66=gukbottom "Lower Guk",66
67=kaladimb "Kaladim",60
68=butcher "Butcherblock Mountains",60,54,70,69,202
69=oot "Ocean of Tears",10,68
70=cauldron "Dagnor's Cauldron",68,63,64
71=airplane "Plane of Sky"
72=fearplane "Plane of Fear"
73=permafrost "Permafrost Keep",30
74=kerraridge "Kerra Isle",38
75=paineel "Paineel",38,39,101
76=hateplane "The Plane of Hate"
77=arena "The Arena",51
78=fieldofbone "The Field of Bone",97,94,88,83,106,79,202
79=warslikswood "Warsliks Wood",104,78,82,85,93
80=soltemple "Temple of Solusek Ro",27
81=droga "Temple of Droga",92,107
82=cabwest "West Cabilis",106,85,79
83=swampofnohope "Swamp of No Hope",78,95,84,106
84=firiona "Firiona Vie",83,86,85,202
85=lakeofillomen "Lake of Ill Omen",79,82,84,92,109
86=dreadlands "Dreadlands",92,84,102,87
87=burningwood "Burning Woods",91,103,92,86
88=kaesora "Kaesora",78
89=sebilis "Old Sebilis",95
90=citymist "City of Mist",94
91=skyfire "Skyfire Mountains",108,93,87
92=frontiermtns "Frontier Mountains",93,85,86,81,107,87
93=overthere "The Overthere",105,79,92,91,202
94=emeraldjungle "The Emerald Jungle",90,95,78
95=trakanon "Trakanon's Teeth",94,89,83
96=timorous "Timorous Deep"
97=kurn "Kurn's Tower",78
98=erudsxing "Erud's Crossing"
100=stonebrunt "Stonebrunt Mountains",101,224
101=warrens "The Warrens",100
102=karnor "Karnor's Castle",86
103=chardok "Chardok",87
104=dalnir "Dalnir",79
105=charasis "Howling Stones",93
106=cabeast "East Cabilis",78,83,82
107=nurga "Mines of Nurga",81,92
108=veeshan "Veeshan's Peak"
109=veksar "Veksar",85
110=iceclad "Iceclad Ocean",111,116
111=frozenshadow "Tower of Frozen Shadow",110
112=velketor "Velketor's Labyrinth",118
113=kael "Kael Drakkal",116,119
114=skyshrine "Skyshrine",117,119
115=thurgadina "Thurgadin",129,118
116=eastwastes "Eastern Wastes",110,121,118,113,128
117=cobaltscar "Cobalt Scar",125,114
118=greatdivide "Great Divide",116,115,112,202
119=wakening "The Wakening Land",113,127,114
120=westwastes "Western Wastes",124,125,123
121=crystal "Crystal Caverns",116
123=necropolis "Dragon Necropolis",120
124=templeveeshan "Temple of Veeshan",126,120
125=sirens "Siren's Grotto",117,120
126=mischiefplane "Plane of Mischief"
127=growthplane "Plane of Growth"
128=sleeper "Sleeper's Tomb"
129=thurgadinb "Icewell Keep",115,118
130=erudsxing2 "Marauder's Mire"
150=shadowhaven "Shadow Haven",151,156,153,152
151=bazaar "The Bazaar",150,152,202
152=nexus "The Nexus",161,150,151,202
153=echo "Echo Caverns",150,164,157
154=acrylia "Acrylia Caverns",167
155=sharvahl "Shar Vahl",166,165
156=paludal "Paludal Caverns",166,165,150
157=fungusgrove "Fungus Grove",170,153
158=vexthal "Vex Thal",176
159=sseru "Sanctus Seru",168,174
160=katta "Katta Castellum",172,170
161=netherbian "Netherbian Lair",152,174,168
162=ssratemple "Ssraeshza Temple",171
163=griegsend "Grieg's End",175,174
164=thedeep "The Deep",153
165=shadeweaver "Shadeweaver's Thicket",156,155,202
166=hollowshade "Hollowshade Moor",167,155
167=grimling "Grimling Forest",172,166,154
168=mseru "Marus Seru",169,161,159
169=letalis "Mons Letalis",171,168
170=twilight "The Twilight Sea",160,157,175
171=thegrey "The Grey",162,175,169
172=tenebrous "The Tenebrous Mountains",167,160
173=maiden "The Maiden's Eye",176,179,174
174=dawnshroud "Dawnshroud Peaks",161,173,163,159
175=scarlet "The Scarlet Desert",163,170,171
176=umbral "The Umbral Plains",158,173
179=akheva "Akheva Ruins",173
180=arena2 "The Arena"
181=jaggedpine "The Jaggedpine Forest",3,182
182=nedaria "Nedaria's Landing",181
183=tutorial "Tutorial Zone"
184=load "Loading"
185=load2 "Loading"
186=hateplaneb "The Plane of Hate"
187=shadowrest "Shadowrest"
188=tutoriala "The Mines of Gloomingdeep"
189=tutorialb "The Mines of Gloomingdeep"
190=clz "Loading"
200=codecay "Ruins of Lxanvom",203
201=pojustice "Plane of Justice",203
202=poknowledge "Plane of Knowledge",19,54,68,30,38,152,118,165,2,203,84,9,56,78,46,25,47,93,224,151,344,33
203=potranquility "Plane of Tranquility",202,200,201,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219
204=ponightmare "Plane of Nightmare",203,221
205=podisease "Plane of Disease",203,200
206=poinnovation "Plane of Innovation",203
207=potorment "Plane of Torment",203
208=povalor "Plane of Valor",203,211
209=bothunder "Torden, The Bastion of Thunder",203
210=postorms "Plane of Storms",203,209
211=hohonora "Halls of Honor",203,220,
212=solrotower "Solusek Ro's Tower",203,217
213=powar "Plane of War",203
214=potactics "Drunder, Fortress of Zek",203
215=poair "Eryslai, the Kingdom of Wind",203
216=powater "Reef of Coirnav",203
217=pofire "Doomfire, The Burning Lands",203
218=poeartha "Vegarlson, The Earthen Badlands",203,222
219=potimea "Plane of Time",203
220=hohonorb "Temple of Marr",211
221=nightmareb "Lair of Terris Thule",204
222=poearthb "Stronghold of the Twelve",218
223=potimeb "Plane of Time",219
224=gunthak "Gulf of Gunthak",100,202,225,227
225=dulak "Dulak's Harbor",224,226
226=torgiran "Torgiran Mines",225
227=nadox "Crypt of Nadox",224,228
228=hatesfury "Hate's Fury, The Scorned Maiden",227
229=guka "The Cauldron of Lost Souls"
230=ruja "The Bloodied Quarries"
231=taka "The Sunken Library"
232=mira "The Silent Gallery"
233=mmca "The Forlorn Caverns"
234=gukb "The Drowning Crypt"
235=rujb "The Halls of War"
236=takb "The Shifting Tower"
237=mirb "The Maw of the Menagerie"
238=mmcb "The Dreary Grotto"
239=gukc "The Ancient Aqueducts"
240=rujc "The Wind Bridges"
241=takc "The Fading Temple"
242=mirc "The Spider Den"
243=mmcc "The Asylum of Invoked Stone"
244=gukd "The Mushroom Grove"
245=rujd "The Gladiator Pits"
246=takd "The Royal Observatory"
247=mird "The Hushed Banquet"
248=mmcd "The Chambers of Eternal Affliction"
249=guke "The Foreboding Prison"
250=ruje "The Drudge Hollows"
251=take "The River of Recollection"
252=mire "The Frosted Halls"
253=mmce "The Sepulcher of the Damned"
254=gukf "The Chapel of the Witnesses"
255=rujf "The Fortified Lair of the Taskmasters"
256=takf "The Sandfall Corridors"
257=mirf "The Forgotten Wastes"
258=mmcf "The Ritualistic Summoning Grounds"
259=gukg "The Root Garden"
260=rujg "The Hidden Vale"
261=takg "The Balancing Chamber"
262=mirg "The Heart of the Menagerie"
263=mmcg "The Cesspits of Putrescence"
264=gukh "The Accursed Sanctuary"
265=rujh "The Blazing Forge"
266=takh "The Sweeping Tides"
267=mirh "The Morbid Laboratory"
268=mmch "The Aisles of Blood"
269=ruji "The Arena of Chance"
270=taki "The Antiquated Palace"
271=miri "The Theater of Imprisoned Horrors"
272=mmci "The Halls of Sanguinary Rites"
273=rujj "The Barracks of War"
274=takj "The Prismatic Corridors"
275=mirj "The Grand Library"
276=mmcj "The Infernal Sanctuary"
277=chardokb "The Halls of Betrayal",103
278=soldungc "The Caverns of Exile",32
279=abysmal "Abysmal Sea"
280=natimbi "Natimbi, The Broken Shores",281,293
281=qinimi "Qinimi, Court of Nihilia",280,282,284,283
282=riwwi "Riwwi, Coliseum of Games",283,284,281
283=barindu "Barindu, Hanging Gardens",282,281,290,289,284,285,286,287,288
284=ferubi "Ferubi, Forgotten Temple of Taelosia",283,281,282
285=snpool "Sewers of Nihilia, Pool of Sludge",283
286=snlair "Sewers of Nihilia, Lair of Trapped Ones",283
287=snplant "Sewers of Nihilia, Purifying Plant",283
288=sncrematory "Sewers of Nihilia, the Crematory",283
289=tipt "Tipt, Treacherous Crags",283
290=vxed "Vxed, The Crumbling Caverns",283
291=yxtta "Yxtta, Pulpit of Exiles",294,292
292=uqua "Uqua, The Ocean God Chantry",291
293=kodtaz "Kod'Taz, Broken Trial Grounds",280,294,295,291
294=ikkinz "Ikkinz, Chambers of Destruction",293
295=qvic "Qvic, Prayer Grounds of Calling",293,297,295
296=inktuta "Inktu`Ta, The Unmasked Chapel",295
297=txevu "Txevu, Lair of the Elite",295,298
298=tacvi "Tacvi, Seat of the Slaver",295
299=qvicb "Qvic, the Hidden Vault"
300=wallofslaughter "Wall of Slaughter",303,316,317
301=bloodfields "The Bloodfields",302,336
302=draniksscar "Dranik's Scar",202,301,335,303
303=causeway "Nobles' Causeway",302,300
304=chambersa "Muramite Proving Grounds"
305=chambersb "Muramite Proving Grounds"
306=chambersc "Muramite Proving Grounds"
307=chambersd "Muramite Proving Grounds"
308=chamberse "Muramite Proving Grounds"
309=chambersf "Muramite Proving Grounds"
316=provinggrounds "Muramite Proving Grounds",300,334
317=anguish "Asylum of Anguish",300
318=dranikhollowsa "Dranik's Hollows"
319=dranikhollowsb "Dranik's Hollows"
320=dranikhollowsc "Dranik's Hollows"
321=dranikhollowsd "Dranik's Hollows"
322=dranikhollowse "Dranik's Hollows"
323=dranikhollowsf "Dranik's Hollows"
324=dranikhollowsg "Dranik's Hollows"
325=dranikhollowsh "Dranik's Hollows"
326=dranikhollowsi "Dranik's Hollows"
327=dranikhollowsj "Dranik's Hollows"
328=dranikcatacombsa "Catacombs of Dranik"
329=dranikcatacombsb "Catacombs of Dranik"
330=dranikcatacombsc "Catacombs of Dranik"
331=draniksewersa "Sewers of Dranik"
332=draniksewersb "Sewers of Dranik"
333=draniksewersc "Sewers of Dranik"
334=riftseekers "Riftseekers' Sanctum",316
335=harbingers "Harbingers' Spire",302
336=dranik "The Ruined City of Dranik",301
337=broodlands "The Broodlands",27,338,340,343
338=stillmoona "Stillmoon Temple",337
339=stillmoonb "The Ascent",338
340=thundercrest "Thundercrest Isles",337
341=delvea "Lavaspinner's Lair",337,27,342
342=delveb "Tirranun's Delve",341
343=thenest "The Accursed Nest",337
344=guildlobby "The Guild Lobby",202
345=guildhall "Guild Hall"
346=barter "The Barter Hall"
347=illsalin "Ruins of Illsalin",362
348=illsalina "Imperial Bazaar"
349=illsalinb "Temple of the Korlach"
350=illsalinc "The Nargilor Pits"
351=dreadspire "Dreadspire Keep",358
354=drachnidhive "The Hive",358
355=drachnidhivea "Living Larder"
356=drachnidhiveb "Coven of the Skinwalkers"
357=drachnidhivec "Queen Sendaii's Lair"
358=westkorlach "Stoneroot Falls",362,354,351
359=westkorlacha "Chambers of Xill"
360=westkorlachb "Caverns of the Lost"
361=westkorlachc "Lair of the Korlach"
362=eastkorlach "Undershore",365,347,358
363=eastkorlacha "Snarlstone Dens"
364=shadowspine "Shadowspine"
365=corathus "Corathus Creep",25,362
366=corathusa "Sporali Caverns"
367=corathusb "Corathus Lair"
368=nektulosa "Shadowed Grove"

[dreadlands]
default=2561.89 10103.45 1068 377
giantexp=-430 1970 325 377
lookout=3069 9659 1047
mystic=2480.67 7751.34 1049.22
scarycaves=-2514 3498 712
marana=802.25 -2070.96 26 122
rubble=1691.59 -4939.24 56 362
breadinggrounds=1691.59 -4939.24 56 362
mindbees=1787.70 987.94 89.04 107
klok=778.75 9123.05 1063 125
hoobert=263.97 -4945.62 -13 97
statuegarden=2200.5 4930 1037.13 90
dreadedgiants=1817.81 941.19 92.76 377
tothecastle=-454.49 3458.92 385.57 377
landsofdread=-1556.41 -4869.58 56.29 377

[karnor]
giantexp=170.49 -261.95 46.00 377
lookout=119.52 -32.67 32.19 377
mystic=108.11 -446.86 2.75 377
scarycaves=-48.92 -277.16 2.19 377
dreadedgiants=190.34 -216.08 43.85 377
tothecastle=-148.00 -192.88 43.85 377
landsofdread=-75.20 -593.49 15.88 377

[firiona]
default=-4397.43 1379.95 -103 153
lizardtour=-580.40 2480.15 -24 243
marchfordrolvarg=649.33 -2068.98 168 136
stonefacedlizards=-580.38 2480.13 -25 243
drowning=-1765.47 2817.23 -136 187
delvingmines=650 -2060 165 282
watchfordrolvarg=1513.00 -1395.00 -2 153
dangersofdeep=-1791 2724 -101.34 90
Drabilt=-4398.77 1386.86 -147 421

[burningwood]
chardok=7043.24 -4157.55 -233 107
highlow=3233.13 2270.07 -253.71 107
upwardmobility=1713.19 -1696.04 -652.46 107
stirring=-2530.26 2596.00 -67.24 107
learninghornet=-2530.26 2596.00 -67.24 107
rubble=-1398.47 2240.45 -379 507
breadinggrounds=2932.95 -1729.06 -256 19
mindbees=-2530.00 2596.00 -67.25 19
mouthofthedragon=1861.41 -1715.46 -651.24 90
bigholeseverywhere=-276.10 2239.56 -548 94

[skyfire]
highlow=2248.88 2946.96 -108.50 107
jawsofdeath=-156.64 4100 62.6 90
mouthofthedragon=2472.75 3797.43 -73.20 90

[chardok]
upwardmobility=-535.67 630.45 -137.44 107
stirring=-574.40 1313.50 -157.44 107
learninghornet=-838.75 929.25 -179.43 107
rubble=84.47 436.19 53 23

[gunthak]
default=1217.46 -1066.37 30 29
cadale=1511.43 -237.31  4 420
timeforbed=1624.11 -172.74  3 161
leavinghome=-1190.84 2250.90 68 290
itstradition=-206.12 -678.62 -39 262
whereunderground=-2078.78 -89.03 43 27
taskmaster=1511.41 -240.58  4 458
doyoubelieve=-1628.00 -95.00 43 256
scornbywind=-3586.40 2628.28 557 251
makingstand=-2136.72 -87.75 43 109

[torgiran]
timeforbed=-65.54 24.55  5 327
itstradition=1157.01 -1073.95 -79 381
stormwave=1239.20 -1314.88 -145 257
payinghomage=1156.31 -1060.89 -78 385

[dulak]
timeforbed=295.03 -1795.42 -25 9
leavinghome=-1121.14 -144.06 -29 126
itstradition=553.81 -1748.16 -25 508
stormwave=-1137.65 -86.06 -29 402
scornbywind=628.17 -1783.47 -25 163
payinghomage=2356.28 -990.66 41 398

[swampofnohope]
lizardtour=3858.99 1568.77 72 260
taskmaster=2643.09 2739.22 42 410
marchfordrolvarg=3817.37 1542.44 78 193
sses=3802.68 1601.53 71 295

[poknowledge]
lizardtour=-441.63 861.18 -126 9
marchfordrolvarg=23.21 930.14 -62 126
whatliesbelow=20.64 49.66 -125 456
TrepThilcan=-432.88 861.16 -141 43
scornbywind=-558.69 1210.91 -123 99
makingstand=-117.85 60.03 -125 275
Below=21.63 37.93 -126 80

[fieldofbone]
whatliesbelow=205.43 2697.05 -46 129
Below=304.76 2746.55 -46 273

[warslikswood]
whatliesbelow=3247.50 4018.45 -155 442
pillarsofciv=3271.82 3986.66 -150 428
everythingruins=-806.23 2586.06 263 122
checkingcabilis=-856.21 2612.07 263 490
brokenstone=-856.13 2612.00 263 490
dinnertime=-2503.23 1461.99 78 249
followingbandits=-2497.65 1468.32 78.89 90
Below=3259.22 3999.05 -154 464

[lakeofillomen]
stonefacedlizards=3787.53 -3542.99 59 400
pillarsofciv=163.12 -488.20 66 295
everythingruins=5579.88 -5218.00 36 400
watchfordrolvarg=-2749.00 3388.00 342 153
checkingcabilis=6295.89 -6656.14 38 26
brokenstone=-475.66 -1566.12 100 371
dinnertime=-2504.35 4703.57 227 125
mountaineering=5417.87 -4277 78.31 125
watchoutoverthere=-1154.36 2292.91 305.14 90
poortree=-2547.02 5022.31 228.44 90
dangersofdeep=190.91 -2672.40 140.77 90
onedeadtree=-3419.66 592.44 109.26 90
delvingmines=3425.01 3063.47 164 8

[timorous]
default=5862.75 3621.14  1 198
drowning=-6444.15 3482.91 -1 165
delvingmines=-4535 -3254 17.50 68

[butcher]
deldryn=1423.38 2735.24  0 506
trans_oot=1350.89 3253.26 11 130
trans_timorous=855.36 3170.46 11 146

[overthere]
default=-2924.80 3147.90 133 142
skizz=-2924.80 3147.90 133 142
jawsofdeath=1617.28 286.15 -51.22 90

[nurga]
fallinggoblinterr=-2118.50 -1679.03 -194 373
droptemple=-2124.81 -1679.02 -179 380
longwaydown=-1919.55 -1333.27 -173 132
badgeringgoblins=-1877.03 1394.76 -313 142

[frontiermtns]
droptemple=3482.25 2875.75 352 253
badgeringgoblins=-1955.70 2086.03 -375 42
mountaineering=1334.73 2024.6 961 42
statuegarden=-1749.85 -2145.28 78.03 90
watchoutoverthere=4894.78 1444 366.32 90
earthsky=-2846 -642 -477.63 90
default=-3686.75 -1634.78 -335 258

[citymist]
serenitynearlake=230.25 -390.76 253.78 90
lookingoveredge=105.25 193.68 271.78 90

[emeraldjungle]
serenitynearlake=3455.33 -874.08 -364.78 90
lookingoveredge=3469.12 -407.88 -342.59 90

[nadox]
whereunderground=-464.09 1802.27 -166 135
doyoubelieve=-971.20 160.94  7 258
makingstand=-461.32 1793.41 -166 142
treasureforeveryone=-553.21 -401.13  7 377

[veksar]
poortree=113.79 586.20 -26.25 135
onedeadtree=-340.70, 44.00, -26.25 135

[hatesfury]
treasureforeveryone=906.30 1270.03 -605 134

[highkeep]
bringingbooks=-27.17 -99.24 2.19 90

[highpass] 
bringingbooks=604.25 143.13 30.03 90

[qeytoqrg]
south=230.70 106.47 -3 505

[qeynos2]
default=203.61 484.94  4 257
alt2=306.74 533.17  4 484
 
for siddin 8-)

Rich (BB code):
369=arcstone "Arcstone",383,370,371
370=relic "Relic",369
371=skylance "Skylance"
372=devastation "The Devastation",382
373=devastationa "The Seething Wall",372
374=rage "Sverag, Stronghold of Rage",372
375=ragea "Razorthorn, Tower of Sullon Zek",374
376=takishruins "Ruins of Takish-Hiz",392,378
377=takishruinsa "The Root of Ro",376
378=elddar "The Elddar Forest",376,379
379=elddara "Tunare's Shrine",378
380=theater "Theater of Blood"
381=theatera "Deathknell, Tower of Dissonance"
382=freeporteast "Freeport East",383,393,384,372
383=freeportwest "Freeport West",202,384,22,382,369
384=freeportsewers "Freeport Sewers",393,382,383
385=freeportacademy "Academy of Arcane Sciences"
386=freeporttemple "Temple of Marr"
387=freeportmilitia "Freeport Militia House"
388=freeportarena "Arena"
389=freeportcityhall "City Hall"
390=freeporttheater "Theater"
391=freeporthall "Hall of Truth"
392=northro "North Ro",393,382,384,37
393=southro "South Ro",392,37,46,376

army
 
EQLOGS said:
[Fri Mar 17 17:22:34 2006] Buttfuck tells the guild, 'hiya cumdumpster'
[Fri Mar 17 17:22:35 2006] You say, 'Can I have a task?'
[Fri Mar 17 17:22:38 2006] Buttfuck tells the guild, 'hi everyone'
[Fri Mar 17 17:22:38 2006] You begin to hide...
[Fri Mar 17 17:22:38 2006] You have hidden yourself from view.
[Fri Mar 17 17:22:39 2006] You have been assigned the task 'Kunark Landing'.
[Fri Mar 17 17:22:49 2006] Kangarroo tells the guild, 'heyas Buttfuck'
[Fri Mar 17 17:22:49 2006] Smohker tells the guild, 'Hail'
[Fri Mar 17 17:22:50 2006] LOADING, PLEASE WAIT...
[Fri Mar 17 17:23:08 2006] You have entered Frontier Mountains.
[Fri Mar 17 17:23:10 2006] LOADING, PLEASE WAIT...
[Fri Mar 17 17:23:47 2006] You have entered The Dreadlands.
[Fri Mar 17 17:23:48 2006] Your Home Zone is unavailable, going back to Character Selection Screen!

Um my home zone is not available, you mean I dont have that AA Ability cause I am level 40? Is there away to get rid of this home zone shit? Its not the first time its killed me (ctd) even used to do it onmylevel 70 necro cause I never gotthe AA ability to go home at the drop of a hat
:mad:
 
it means that the chain zone does not recognize a chian of zones you are requesting...

what was it trying to call ..

check your ini file .. for the fix

8-)
 
While this works as posted for /zone <adjacent zone>, Tone is of course correct that the move packet and the opcodes need to be updated for full functionality.

For zoning using NPC's (i.e. Magus), you'll need to update:
#define PKT_UPDATE_POSITION = 0x7B59
#define PKT_CHANNEL_MESSAGE = 0x37E3

Also update the move packet later in the source...

struct _MOVEPKT {
/*0000*/ unsigned short SpawnID;
/*0002*/ unsigned short TimeStamp;
/*0004*/ int DeltaHeading:16;
/*0006*/ int padding0020:16;
/*0008*/ float DeltaZ;
/*0012*/ float Y;
/*0016*/ int Animation:16;
/*0018*/ int Heading:16;
/*0020*/ float X;
/*0024*/ float DeltaY;
/*0028*/ float DeltaX;
/*0032*/ float Z;
} P;

from the MQ2CSUM thread (thanks to Odessa and randomguy_01)
 
Last edited:
I've never had a linking problem before ... popped in the .cpp data just like I normally do and I get the following in output:

Rich (BB code):
Compiling...
MQ2Piggyzone.cpp
EQLIB_IMPORTS
Linking...
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.
"/OUT:..\Release/MQ2Piggyzone.dll" /INCREMENTAL:NO "/LIBPATH:..\Detours\lib" "/LIBPATH:..\Release" /DLL /DEBUG "/PDB:..\Release/MQ2Piggyzone.pdb" /MAP /MAPINFO:EXPORTS /MAPINFO:LINES /SUBSYSTEM:WINDOWS /OPT:NOREF /OPT:NOICF "/BASE:0x04000000" "/IMPLIB:..\Release/MQ2Piggyzone.lib" /MACHINE:X86 /OPT:NOICF wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
".\intermediate\MQ2Piggyzone.obj" 
LINK : fatal error LNK1104: cannot open file 'MQ2Main.lib'

Build log was saved at "file://d:\Development\MacroQuest\Mq2-20060316\MQ2Piggyzone\Intermediate\BuildLog.htm"
MQ2Piggyzone - 1 error(s), 0 warning(s)


---------------------- Done ----------------------

    Rebuild All: 0 succeeded, 1 failed, 0 skipped



Any ideas?
 
It warms my heart to see that my plugin is still kickin around. I am glad to see that some folks understand the .ini too =) Nice job to all those who have kept it alive!

-piggy
 
Cosmic said:
It warms my heart to see that my plugin is still kickin around. I am glad to see that some folks understand the .ini too =) Nice job to all those who have kept it alive!

-piggy

And a big thank you for developing it. One of the most frequently used pluggins I think for me and possibly anyone. :)
 
Looking for alittle help.
98% of the time I use /zone (any oow zone name) I get stuck in pok with a fake Priest of Discord on my target. I tried moving the loc in the ini over just alittle but I guess that loc isnt a place it puts you for you to do the phrase "wish to go"
I have used TheZ, NDawg and my own compile of both mq and piggyzone. Is anyone else having this happen and if so has anyone fixed it?
Here is my line from the ini:
24=202 "Priest of Discord" 48 577 4 302 "Wish to go"
And yes I have tried it with the default one posted in this thread. With 49 instead of 48.

fyi: loc of fake priest is like 67 577 3 and has a different con from real. He cons as 70 Invisible Man Cleric Priest of Discord NPC *Timer*
 
Last edited:
OK that didnt fix it but I think I know the problem in general. I am using it via globby. So when I jump out of lobby Im at dru/wiz port in. Which put me on a side that has the fake between me and the real. So it targets the fake first.
But, if I goto the other side of pok like pot port in or whatever it will target to real because he is closer to me. And from there bam I zone off.
So what I dont understand is no one else is seeming to have this problem.
 
Basically after you replace that line... It target the name of the NPC... now generally you give MQ2 a "clean" name, but in this instance you could have issues with that. MQ2 also accepts just the raw name. Which in this case was Priest_of_Discord00
Now, if you ever wanna do it yourself and figure out exactly what MQ2 seens the mobs name as... just target the mob and type /echo ${Target.Name} and it will spit the raw name into your MQ2 box. This is very useful with macroing specific spawns.

Enjoy,
Noobhaxor
 
Need to get an up to date piggyzone.ini... I don't have PoR on any of my accounts yet.

Note: /zone will not got you in any FLAGGED or AA req. Zones. ONLY Key Only Zones. Sleepers Tomb, Vex Thal, Veeshan's Peak. Anything PoP after is flag based.
 
Last edited:
Can't get theater of blood to work...anyone else have any luck? Or is the aa required to enter

The aa is required to zone in, and is the *only* way to get there. No amount of /zone'ing will get you there.
 
Anyone else not able to /zone to westkorlach eastkorlach or basically all the newer zones. I have them in my mq2piggyzone.ini, with connectors and everything, but everytime i get a bad Zone.ShortName if I put in a partial name, like under or something, it says the right Zone.ShortName, and when I put that in, it gives me the same error. Any suggestions would be great, I can use this plugin everywhere pre DoD basically.
 
Cosmic said:
It warms my heart to see that my plugin is still kickin around. I am glad to see that some folks understand the .ini too =) Nice job to all those who have kept it alive!

-piggy

If it wasnt for you AdvTaskWarp would have died long time ago.

Great work!
 
hi i am not sure if this is the right place or not but will the /zone command get you banned or is it safe to use?
 
Debated issue... many people have been using this for years any yet to be banned. So, I'd say its relitivly safe to use, I use it on a daily basis... come to think of it I don't remember the last time I accually ran across a zone line. Anyways, just like anything in MQ2 you can get banned, but I highly doubt it will be from the use of this plugin. IMO, you are more likely to be busted using /warp.
 
Found a Bug in the code in the first page


---Extra Spaces in the word highlighted--

Rich (BB code):
PLUGIN_API VOID OnPulse(VOID)
{
   PSPAWNINFO pChar = NULL;
   if (ppCharSpawn && pCharSpawn) {
      pChar = (PSPAWNINFO)pCharSpawn;
      if ((pChar) && (!gZoning))
      {
         if (LastKnownZone == -1)   LastKnownZone=pChar->Zone;
         if (pChar->Zone != LastKnownZone)
         {
            LastKnownZone=pChar->Zone;
            MyOnZoned(pChar);
         }
      }
   }

   char aa[100]="test";
   if(ZoneChange)
   {
      ZoneChange=false;
      pLEQ->DoTheZone(DestZone,aa,DestType,ZoneReason,Y,X,Z,He  ading);
   }
   return;
}

Also Extra Spaces in this part...

Rich (BB code):
FUNCTION_AT_ADDRESS(char * LocalCEverQuest::DoTheZone(int,char *,int,int,float,float,float,int),LocalCEverQuest__  DoTheZone);
 
Last edited:
Can't seem to make it work for PoR zones, I don't see anything about it having been updated for PoR, and I'm too noob to figure it out on my own :(
 
in your MQ2Piggyzone.ini or w/e your zone .ini is you need to have PoR stuff in there.

add:
Rich (BB code):
369=arcstone "Arcstone",383,370,371
370=relic "Relic",369
371=skylance "Skylance"
372=devastation "The Devastation",382
373=devastationa "The Seething Wall",372
374=rage "Sverag, Stronghold of Rage",372
375=ragea "Razorthorn, Tower of Sullon Zek",374
376=takishruins "Ruins of Takish-Hiz",392,378
377=takishruinsa "The Root of Ro",376
378=elddar "The Elddar Forest",376,379
379=elddara "Tunare's Shrine",378
380=theater "Theater of Blood"
381=theatera "Deathknell, Tower of Dissonance"
382=freeporteast "Freeport East",383,393,384,372
383=freeportwest "Freeport West",202,384,22,382,369
384=freeportsewers "Freeport Sewers",393,382,383
385=freeportacademy "Academy of Arcane Sciences"
386=freeporttemple "Temple of Marr"
387=freeportmilitia "Freeport Militia House"
388=freeportarena "Arena"
390=freeportcityhall "City Hall"
391=freeporttheater "Theater"
392=freeporthall "Hall of Truth"
393=northro "North Ro",392,382,384,37
392=southro "South Ro",393,37,46,376
just woke up so if this isn't what you're looking for sry

EDIT: Armysoldier already posted this on first page, but here it is again anyways...
 
Classic Source::Mq2piggyzone :: /zone & /gate commands
Status
Not open for further replies.

Users who are viewing this thread

Back
Top