Adjacent Zones Macro Help... Code Included

Need help with a macro you are writing? Ask here!

Moderator: MacroQuest Developers

PhoenixZorn
Macro Czar
Posts: 127
Joined: Fri Dec 12, 2003 2:20 pm
Contact:

Adjacent Zones Macro Help... Code Included

Post by PhoenixZorn » Sat Jul 03, 2004 1:52 pm

Code: Select all

||adjacent.mac
|
|Had this really cool idea to make a plugin that would tell you all the adjacent zones to the zone you are currently in.
|This will not only assist veterans in remembering not only where they are, but also where they are going, and it will help
|newbies learn the mapping of the world.  The command to get your zone list is /mac adjacent which will list the nearby zones
|in KHiTS ini format... Basically:
|	
|	[Greater Faydark]
|	1=Butcherblock
|	2=Felwithe
|	3=Lesser Faydark
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

#define INIPATH "d:\apps\mq2\Release\Macros"

Sub Main

|Name of the Zone you are currently in.  Used to get the list of Adjacent Zones.
/declare zoneName         string  local   NOT_SET 
|Checks to see if you have the Current Zone in the list.
/declare zoneCheck        string  local   NOT_SET  
/declare currentZone	  string  local   NOT_SET
/declare zonesAdjacent    string  local   NOT_SET
| Only declare outer variables once, this is in case you use this as an include 
    /if (${Defined[zones]}==FALSE) { 
        | Zone info 
        
        | Array of zones used to make the list 
        /declare zones[10]     string  outer 
        | The number of zones in this list 
        /declare adjacentCount     int     outer   0
	/declare iZoneLoop	   int     local   1
	| The results of what we are making 
        /declare zoneList           string  outer   NOT_SET 
} else {

	/deletevar zones
	/declare zones[10]
	}

|Get Current Zone Name
/varset currentZone ${Zone.Name}
/echo ${currentZone}
/echo Adjacent: Reading List


    |Get the List of Adjacent Zones from the ini
    /varset iZoneLoop 0
    :adjacentZonesLoop
    /varset zonesAdjacent ${Ini[INIPATH,${currentZone},Zone${iZoneLoop}]}
    /if (${String[${zonesAdjacent}].NotEqual[null]}) {
	/varcalc zoneLoop ${zoneLoop}+1
	/echo ${zonesAdjacent}
	
	/goto :adjacentZonesLoop
    }
    /varset adjacentCount ${zoneLoop}
    


:endmacro
/endmacro

Its not working for me for reasons unknown. Thanks to Kaitain for KHiTS and the basic idea for using the ini in a similar fashion.
Last edited by PhoenixZorn on Sun Jul 04, 2004 12:50 pm, edited 1 time in total.

PhoenixZorn
Macro Czar
Posts: 127
Joined: Fri Dec 12, 2003 2:20 pm
Contact:

The Ini...

Post by PhoenixZorn » Sat Jul 03, 2004 1:56 pm

Code: Select all

[Greater Faydark}
Zone1=Butcherblock Mountains
Zone2=Felwithe
Zone3=Lesser Faydark

Chill
Contributing Member
Contributing Member
Posts: 435
Joined: Fri May 07, 2004 5:06 pm
Location: Erie, PA

Maps

Post by Chill » Sat Jul 03, 2004 3:20 pm

While its an interesting idea, this seems like a lot of unnecessary work.

Im guessing you dont have LOY or a set of current maps. Might be easier and more rewarding to buy LOY and go to one of the sites like http://maps.eq-toolbox.com/ where you can download current maps for pretty much every zone.

I hit backspace and it shows me all the adjacent zones as well as where I am in the zone and more.

If you dont want to buy LOY for whatever reason, another solution you might consider: My UI has a list of locs for all connecting zones off of each zone, organized by expansion. I didnt add it myself, so Im not sure where the author got it from, but I bet you could search for something like that on www.eqinterface.com or some other UI site like that.

I love MQ, but honestly I think you might find better non-macro solutions.

Drumstix42
a grimling bloodguard
a grimling bloodguard
Posts: 808
Joined: Mon May 03, 2004 4:25 pm

Post by Drumstix42 » Sat Jul 03, 2004 4:33 pm

Well this would be useful in one way I could think of, especiall for those with low memory to be ALT-TABing out of screen to go look at online maps.

Reason being, if your doign a quest and you either haven't been to a zone, or just can't remember could do something like:

/mac adjacent "zoneName"

and spark that little memory of yours. Would be a lot of work though, but I'd probably do it if the code work working correctly ;)

Chill
Contributing Member
Contributing Member
Posts: 435
Joined: Fri May 07, 2004 5:06 pm
Location: Erie, PA

Post by Chill » Sat Jul 03, 2004 4:48 pm

Drumstix42 wrote:Well this would be useful in one way I could think of, especiall for those with low memory to be ALT-TABing out of screen to go look at online maps.
Who's talking about ALT-TABing? Im talking about downloading maps from the site I posted (one time preferably while not in-game), then pressing BACKSPACE (in game) to pull up the map feature added a year or two ago with LOY.

Drumstix42
a grimling bloodguard
a grimling bloodguard
Posts: 808
Joined: Mon May 03, 2004 4:25 pm

Post by Drumstix42 » Sat Jul 03, 2004 10:09 pm

Ok, what I mean is if your in PoK, you can't easily check adjacent zones to.... Western Wastes.... for example, with just downloading maps.

PhoenixZorn
Macro Czar
Posts: 127
Joined: Fri Dec 12, 2003 2:20 pm
Contact:

Post by PhoenixZorn » Sun Jul 04, 2004 11:39 am

Chill, thanks for the suggestion, but I have all 7 expansions enabled on both of my accounts... I also have all the maps, but for some reason, the labels don't show for zone lines, thus I needed something, a listed array of adjacent zones, to tell me the names of the nearby zones. It's very handy in PoK seing that there are like 20 stones, and with all the map spam you can't see any labels... It wouldn't tell yu where the zones are, just the names, because admittedly, I sometimes forget where I am going.

I'd like someone to correct the code, as I can't get it to output anything properly.

Drumstix42
a grimling bloodguard
a grimling bloodguard
Posts: 808
Joined: Mon May 03, 2004 4:25 pm

Post by Drumstix42 » Sun Jul 04, 2004 2:58 pm

Lol, make sure you mess with the buttons on the Map Editor, like teh Labels button, and the buttons with 1 2 and 3 (Forget the name, like level or something)