| -Post Information- |
| Author: | Genesisx |
| Last Updated: | 7/25/09 |
| Comment: | Works |
This guide will show you how to setup a functional area key. The purpose of this key is to easily toggle your /regionnmap, /besiegemap, or /campaignmap commands depending on the area you are in.
For example if you are doing campaign and you need to quickly see which areas are currently active you can press this binded key and it will bring up your /campaignmap. Press it again and it will close it. If you are waiting for besiege to start you can use this key the same way to bring up your /besiegemap. The same also works with /regionmap if you are in the correct areas. The key will be disabled when entering any misc. area like dynamics, any ship or airship, or other areas where an area key would seem to be more in the way then helpful.
To start you will need to set up some windower commands, you can add the below code directly to your init.txt
//
// Area Map Key
bind %pagedown input /ma "Aeroga V";
alias region.toggle region.toggle.1;
alias region.toggle.1 region.set;alias region.toggle region.toggle.2;
alias region.toggle.2 setkey escape down;wait .1;setkey escape up;alias region.toggle region.toggle.1;
alias region.set null;
alias region.set.1 input /regionmap;
alias region.set.2 input /besiegemap;
alias region.set.3 input /campaignmap;
alias region.setup.1 alias region.set region.set.1;
alias region.setup.2 alias region.set region.set.2;
alias region.setup.3 alias region.set region.set.3;
Do notice the first line on the code, the [bind %pagedown]. This is the key that will be used to trigger the area key, you can press this key once to open and again to close. You can also change this key if you desire, but I highly recommend leaving the % (percent sign) modifier so that no matter what key you set this to. It will not trigger when the FFXI chat log is open. Save and close that and now lets move on to the SpellCast code.
This is the SpellCase code needed for this key to work correctly. It works by changing the binded key to the correct alias when the zone criteria matches. You do not need to alter this code. Be sure to place the variable in your variable section. It will not work without it.
<variables>
<var name="regionset">0</var>
</variables>
<if spell="Aeroga V"> <!--- Dummy Trigger --->
<!--- Detect IF CampaignArea --->
<if area = "*[S]*|Ruhotz*|Everbloom*|*Reverie" advanced='"$regionset"!="1"'>
<action type="var" cmd="set regionset 1" />
<action type="Command">region.setup.3;pause 0.2;region.toggle</action>
<action type="cancelspell" />
<action type="return" />
</if>
<!--- Detect IF BesigedArea --->
<elseif area = "Nashmau|*Reef|*Mire|Hazhalm*|Ilrusi*|Leujaoam*|Nashmau|Periqia|Talacca*|Ashu*|Halvung|Lebros*|*Zhayolm|Navukgo*|Aydeewa*|Jade*|Mamook|Mamool*|Wajaom*|Alzadaal*|Nyzul*|Silver*|Arrapago*|Bhaflau*|Zhayolm*|*Whitegate|Al Zahbi|Bhaflau*|*Colosseum" advanced='"$regionset"!="2"'>
<action type="var" cmd="set regionset 2" />
<action type="Command">region.setup.2;pause 0.2;region.toggle</action>
<action type="cancelspell" />
<action type="return" />
</elseif>
<!--- Detect IF Other Misc Area --->
<elseif area = "*Transference*|Promyvion*|Spire*|Apollyon|Temenos|Dynamis*|Chocobo Circuit|Diorama*|Mordion*|Walk of*|*Airship|Ship*|Open sea*|Silver Sea*|Manaclipper|Phanauet*" advanced='"$regionset"!="3"'>
<action type="var" cmd="set regionset 3" />
<action type="cancelspell" />
<action type="return" />
</elseif>
<!--- If no above critera match, area must be RegionMap --->
<else>
<if advanced='"$regionset"!="4"'>
<action type="var" cmd="set regionset 4" />
<action type="Command">region.setup.1;pause 0.2;region.toggle</action>
<action type="cancelspell" />
<action type="return" />
</if>
<else>
<action type="Command">region.toggle</action>
<action type="cancelspell" />
<action type="return" />
</else>
</else>
</if>
This is all that is needed to have the key functional. The default key is PageDown when the FFXI chat log is closed.