| Information | |
|---|---|
| Developer: | Aikar |
| Download: | AutoExec (2.76) |
| Download Count: | 0 |
| Release Date: | July 14th 2011 |
| Support: | Click Here |
| Changelog: | Click Here |
AutoExec (2.76) is a plugin that monitors for 'events' in FFXI such as login, logout, changing jobs, day change, weather change, time change, moon change, buffs wearing and being gained, and more. AutoExec (2.76) will give you the ability to configure Windower commands that will be run upon the trigger of these events.
You can configure Windower to automatically load your White Mage macros any time you change to white mage, and load thief macros as soon as you switch to thief, without needing to manually execute the script files yourself or change in game macro books yourself.
It enables you to load plugins and such upon character login.
It's also very useful for loading 3rd party programs upon login to certain characters when combined with the Run Plugin
Upon plugin load, /windower/plugins/autoexec/autoexec.xml will be parsed to automatically register commands. If this file does not exists, it will automatically be created for you.
These commands may be issued by typing //autoexec <command>
| Command | Parameters/Description |
|---|---|
| register(q) | <id> eventname command |
| Register's an event. q for silent mode. id is optional. Examples: register 12532 login_Aikar drawdistance set 10 |
|
| regonce(q) | <id> eventname command |
| Registers an event to run only once. q for silent mode. Same as above, but unregisters after being triggered. | |
| unregister | id |
| Unregisters the specified ID to no longer be triggered. | |
| on | |
| off | |
| Turns autoexec on and off. | |
| list | <echo> |
| Lists all registered events. Adding echo after list is optional and will make it print to the games chat log instead of the console. Useful if too many commands are registered to display in the console. | |
| clear | |
| Clears all events triggers completely | |
| trigger | eventname |
| Manually triggers an event | |
| load | <filename.xml> |
| Loads an xml file to register events in the autoexec folder. This will CLEAR all registered commands before adding these. If filename is not specified, the default file AutoExec.xml will be loaded. | |
autoExec XML files have 2 tag names it expects to see, <register> and <import>
<autoexec> <import>common.xml</import> <register [attributes]>[command]</register> </autoexec>
Attributes:
Data: The data contents of a <register> command is the Windower command that should be executed. <register event=“login”>CommandToExecuteHere</register>
the <import> tag does not have any attributes, and the Data for it is a filename located in the autoexec folder to import additional commands from. <import>common.xml</import>
| Event Format | Parameters/Description |
|---|---|
| pluginload_$1x$2_$3 | $1: X(Width) Resolution - $2: Y(Hieght) Resolution - $3: Language ID (0 = JP, 1 = NA, 2 = EU) |
| Triggered upon load of the plugin after the autoexec.xml is parsed. This contains the games startup resolution and language. Example: pluginload_1024x768_1 |
|
| login | See Below |
| login_$1 | $1: Character's name |
| Triggered upon login of game for first time. Example: login_Aikar Note: As indicated, this will not work again unless the game is reloaded. |
|
| logout | See Below |
| logout_$1 | $1: Character's name |
| Triggered upon logout of the game. Example: logout_Aikar |
|
| jobchange_$1/$2 | $1: Main Job - $2: Sub Job |
| jobchangefull_$1$2/$3$4 | $1: Main Job - $2: Main Job LVL - $3: Sub Job - $4: Sub Job LVL |
| Triggered on job change Example: jobchange_WHM/BLM && jobchangefull_WHM75/BLM37 |
|
| time_$1.$2 | $1: Hour - $2: Minute |
| Triggered everytime the time changes in game Example: time_18.00 && time_0.12 |
|
| chat_$1_$2_$3 | $1: Chat Mode (say/tell/shout/party/linkshell/emote) - $2: Sender Name - $3: Message |
| Triggered anytime you RECEIVE a chat message. This does not trigger on chat log entries such as enemies casting abilities so dont bother trying to bot with it. Example: chat_tell_aikar_whats_up |
|
| gainbuff_$1 | $1: (de)Buff Name Gained |
| losebuff_$1 | $1: (de)Buff Name Lost |
| Triggered when you gain or lose a buff or debuff. Example: losebuff_Reraise |
|
| invite_$1 | $1: Name of person who invited you |
| Triggered when someone invites you to join a party. Example: invite_Aikar |
|
| day_$1 | $1: Day Name (Firesday, Earthsday, Watersday, Windsday, Iceday, Lightningday |
| Triggers when the current day changes. Example: day_Firesday |
|
| moon_$1 | $1: Moon Phase (New Moon/Full Moon/etc) |
| moonpct_$1 | $1: Moon Percentage |
| Triggered when the current moon phase or percent changes. Example: moon_Full_Moon && moonpct_100 |
|
| zone_$1 | $1: Zone Name |
| Triggered when you change zones. Example: zone_Port_Windurst |
|
| lvup | |
| lvdown | |
| Triggered when you level up or level down. | |
| gainexp_$1 | $1: Experience Points Earned |
| chain_$1 | $1: Chain # |
| Triggered when you gain experience points. Example: gainexp_212 && chain_32 |
|
| weather_$1 | $1: Weather Name |
| Triggered when the weather changes Example: weather_Thunder_x2 |
|
| status_$1 | $1: Status Name (resting/idle/engaged/zoning/dead) |
| Triggered when Player Status changes. Example: status_resting |
|
| hp_$1 | $1: Current HP # |
| mp_$1 | $1: Current MP # |
| tp_$1 | |
| hpp_$1 | $1: Current HP Percent |
| mpp_$1 | $1: Current MP Percent |
| Triggers when HP/MP/TP (and percents) change. Examples: hp_644 && hpp_75 && mp_900 && mpp_90 && tp_100 |
|
| lowhp | |
| lowmp | |
| Triggers when HP/MP drop below 20%. This event will not trigger again until the players HP/MP reaches 40% | |
| criticalhp | |
| criticalmp | |
| Triggers when HP/MP drop below 5%. This event will not trigger again until the players HP/MP reaches 20% | |
| hpplt76 | |
| hppgt75 | |
| Triggers when HP Percent is less than 76% or greater than 75% respectively. This is for notification of level 50 latent ring triggers. | |
| mpplt50 | |
| mppgt49 | |
| Triggers when MP Percent is less than 50% or greater than 50% respectively. This is for ghetto mages who want non accurate notification of Ugg Pendant latent amounts. | |
| hpmax_$1 | $1: HP Max Amount |
| mpmax_$1 | $1: MP Max Amount |
| Triggers when the menu opens to update your max hp, or sent on zone. This is not a reliable event. | |
| examined_$1 | $1: Name of person who examined you |
| Triggered when someone examines you. Example: examined_Aikar |
|
| noammo | |
| Triggers when your ammo slot goes empty (when you run out of ammo), can be used to auto reload ammo | |
All Event names support Windower Plugin Wild Card & Regex Parser, example shown below:
Example commands (console/scripts):
autoexec registeronce login echo LoggedIn;load Plugin;LoadPlugin; autoexec register jobchange_whm/* exec whm/whm.txt;input /echo == WHM Macros Loaded == autoexec register jobchange_war/nin exec war/warnin.txt;input /echo == war/nin Macros Loaded == autoexec register jobchange_war/thf exec war/warthf.txt;input /echo == war/thf Macros Loaded == autoexec register jobchange_nin/*|jobchange_???/nin .run -kill apps/shadowcounter.exe;input /echo == Shadow Counter Loaded ==
You can use registerq instead to make it quiet (silent) also and not print register/unregister messages)
You can see the | separator on last one, specifying to run on BOTH those events. ??? means any 3 characters, so in other words main job does not matter, anything with sub nin (I believe * wildcard matches everything after it and cannot be used in the middle, unsure, so use ???)
You may do //autoexec list OR //autoexec list echo to view all registered events. If echo is not specified console is used. (you may need to use echo if you use too many that scroll past in console)
All registered events are assigned an ID#. You can do //ae unregister 3.
Where 3 would be the ID# to unregister shown in //autoexec list
When registering a new event trigger you may also specify which ID to assign it too – outside of the reserved zone at least. ID#'s 1-9999 are reserved for automated ID's, so you may do the following:
//autoexec register 34533 login input /echo Logged In!
Then that event will ALWAYS be on ID 34533. I will setup a thread upon release for authors of scripts to list ID's they used in scripts so no one uses an ID someone else is using for their scripts (to prevent problems with people making scripts un/register things. Valid id's go up to 65000.
AutoExec.xml
<autoexec> <import>plugins.xml</import> <register silent="true" event="login">drawdistance set 10</register> <import>JobChange.xml</import> </autoexec>
Plugins.xml
<autoexec> <register event="login" runonce="true">load expwatch</register> <register event="login" runonce="true">load spellcast</register> <register event="login" runonce="true">load drawdistance</register> </autoexec>
JobChange.xml
<autoexec> <register id="23443" event="jobchange_whm/*">exec whm/whm.txt</register> <register id="23444" event="jobchange_blm/*">exec blm/blm.txt</register> <register id="23445" event="jobchange_rdm/*">exec rdm/rdm.txt</register> </autoexec>
This is essentially:
<autoexec> <register event="login" runonce="true">load expwatch</register> <register event="login" runonce="true">load spellcast</register> <register event="login" runonce="true">load drawdistance</register> <register silent="true" event="login">drawdistance set 10</register> <register id="23443" event="jobchange_whm/*">exec whm/whm.txt</register> <register id="23444" event="jobchange_blm/*">exec blm/blm.txt</register> <register id="23445" event="jobchange_rdm/*">exec rdm/rdm.txt</register> </autoexec>