AutoExec (2.7)

Plugin Information

Information
Developer: Aikar
Download: AutoExec
Download Count: 5017
Support: Click Here
Release Date: April 28th 2008
Changelog: Click Here

What is AutoExec

AutoExec (2.7) 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.7) 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

Usage

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.

Plugin Commands

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 file Format

autoExec XML files have 2 tag names it expects to see, <register> and <import>

<autoexec>
   <import>common.xml</import>
   <register [attributes]>[command]</register>
</autoexec>

<register>

Attributes:

  • REQUIRED: Event - What Event to run this command on Example: <register event=“login”>echo logged in</register>
  • OPTIONAL: ID - Specify an ID to use instead of automated.
  • OPTIONAL: RunOnce - Specifies if this command should be automatically unregistered once its been ran. Supported values for “true” is: true,t,y,yes
  • OPTIONAL: Silent - Silences the register and unregister messages for the command. Great for making console less spammy.

Data: The data contents of a <register> command is the Windower command that should be executed. <register event=“login”>CommandToExecuteHere</register>

<import>

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>

Current Events

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
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
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:

Command Examples

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.

XML Examples

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>
plugins/autoexec.txt · Last modified: 2008/07/26 02:13 by apollyon
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0