Windower Macro Guide


The Windower macro system is a very powerful macro system that is built into both 3.23 and 3.24 version of Windower (I think it was implemented on 3.21).How good is it? Ever got stripped by UFO or Lamia’s JA? Well I can dress myself up with 1 key in 1 second ^^;

Windower macros directly communicates with the FFXI program. That means you will not see Windower typing very fast in the chat log to input your command. Since Windower directly sends it to the FFXI program, it actually responds faster than the traditional FFXI macros. (When I mean faster, you know how you change equipment, the “Equipment Changed” message kind of appear very slow like movie credits in the end! Well in Windower, that change equipment message is instantaneous, hence faster than the FFXI built-in macro system!

So what is the advantage of Windower Macro system?

  • No more 6 line of macro restriction
  • the speed that it execute the macro owns FFXI macro system (video below)
  • your macro key is not limited to Alt 1-10 or Ctrl 1-10 (My silence macro is Alt+S)
  • You don’t accidentally jump to other macro palette (unlike the FFXI one)!
  • When you get a new piece of equipment, all you need to do is update the alias, and not go through all palette to update em (explained later)
  • Unlimited macro palette (FFXI is limited to 1-10)
  • You can now bind Alt+H (to heal) with all other macro such as wear errant body, hierarch belt, dark staff! (One key, but does more!)

Speed of Windower Macros!

Disadvantage of Windower Macro system

  • Jealous people blame it on the windower macro when you were able to beat hard stuff due to “better macros”. We all know even if I’ve given you the best gear (such as Glimpse), they are still not doing good damage. In a given fight, gear and macro is only 20% of it, the player skill is 80% of the fight, the key factor that makes something successful.
  • Windower fixed the unbind function, so its less likely to crash now when you unload script, but can still happen.

Regardless, you can have FFXI macro sets AND Windower macro sets working together. I will go in-depth later of how this is done. What a mouthful, so lets try make your first simple macro! Lets make a Cure macro. Btw, you do not have to logout FFXI to do these macros! All you need is some form of notepad program. (You can type your windower macro on palm, pocket pc, linux, in hotmail composer, whatever, it just have to be a text file)

Making Basic Macros

First, open up your Notepad by typing “notepad” under the Start > Run Menu! (or All Program –> Accessories –> Notepad)

Lets write! In Windower, Alt is represented by the symbol ^ (power of, the hat) and Ctrl is represented by ! (Exclamation mark). Lets say we want the Cure macro on Alt 1, we would type this into notepad. (Hence, your notepad should look like that)keyboard_bind ^1 input /ma “Cure” ;Note: the ; (Semi colan) in the end of the line. The semi colan signify that it is the end of line. If you do not, Windower will start typing weird stuff so be sure to end each line of macro with the semi-colan;

Now save the file into your C:\Your Desktop\Windower\Script\testmacro.txt folder. Give it a meaningful name such as testmacro.txt. Your file should look like this.

{Congradulations!}Your first Windower Macro!

Ok, now lets try this out. Login to FFXI. When you see your character, you can execute the macro.

  1. First, toggle console, the default console button should be ~ (tilda). When you see the console pop on the top left of Windower, type in
    exec testmacro.txt (In my case, I’ll load my in-game macro, propenovio.txt)
  2. Press enter. There is no notification but trust me, its already loaded.
    Now try pressing Alt+1! Yay a Cure is casted on .

The above steps is shown in this video, if you got it, move on!

What you just did was Windower detected the user pressing

Alt+1, therefore it will run the Alt+1 code, which is to type in /ma “Cure” into the chat log very quickly (just imagine it typing very fast!)

Now lets make Alt+2 as Cure II, to do that, open your testmacro.txt and it should look like this

keyboard_bind ^1 input /ma “Cure” ;
keyboard_bind ^2 input /ma “Cure III” ;

Unbinding Macros

Lets say you now want to remove those bind for whatever reason (return to FFXi macro), you have to unbind it! What unbind really means is to tell Windower to stop detecting Alt+1 and Alt+2 as cure macros! To do that, start your favorite program notepad by going into Start > Run, and run notepad (by typing “notepad” and pressing enter). Enter the following to remove the two above macros

unbind ^1;
unbind ^2;

Now save the text file in Windower\Script\unbind.txt

Go back to FFXi, open up console and type

  1. exec unbind.txt
  2. hit enter

Now the Windower will no longer detect the 2 keys above. You are back to the original Windower when you login!

Macroing “Curing” gear into the spell

Suppose you want to be perfect, and when you cure, you want to equip all the “correct” gear. (Maximum Cure Potency, MND Gear Healing Skill Item), but I have 16 gear to swap, that means I have to press 3 macro each time I cure? OMFG not doing it!

Rest assured, Windower have no 6 line restriction, so you can swap all those gear all at once. Here, I’m going to use MaiTalu’s curing gear as an example. In every cure, I need to equip these! (Light Staff, Hedgehog Bomb, Duelist Chapeau, Fenrir’s Torque, Locuaq Earring, Novia Earring, Dalamtica, Devotee Mitts +1, Communion Ring, Tamas Ring, Errant Cape, Penitent’s Rope, Zenith Slacks +1, Mahatma Pigaches.)

In FFXI, to swap gear, you would type the following in your macro system.

/equip main “Light Staff”
/equip ammo “Hedgehog Bomb”
/equip head “Duelist’s Chapeau”

Since Windower basically “types” the stuff in, and believe it or not, if you type /equip main “Apollo Staff” in chat, it changes the equipment (lol if you didn’t know that), so all we have to do is have Windower type all those /equip command in! Therefore, here’s what it looks like to equip all those crap gear above into your curing macros in the text files! (click on file to enlarge)

Making Advanced/Efficient Macros


Suppose you want to upgrade the NQ light staff to Apollo’s Staff. Damnit! Got to rewrite all my macros! Well one way around this is to use the search and replace function! But writing effective macros using alias also saves the day. Have you thought about “Macro-in-Macro”? Like have a macro call Cure III, then macro “Run Alt 10”, which got all the healing gear! You can do that in the Windower Macro :) Its call the Alias!

The concept is, put everything you repeat in one word, and by saying this word, it does its job! Here’s the concept of how it works…

Alias “MaiCureGear” = HQ Light Staff, -enmity, fast cast and MP generation gear.

Alt 1 = Cure + MaiCureGear
Alt 2 = Cure II + MaiCureGear
Alt 3 = Cure III + MaiCureGear
Alt 4 = Cure IV + MaiCureGear

Therefore, when you have an equipment update, all you need to do is replace that gear’s name under “MaiCureGear”, and everything’s fine, since it refers to the “MaiCureGear” each time I cast a Cure spell :)

Here’s how you do it in the Windower Macro!

So the method of using this function is

alias [recall name] [windower command]

So since my alias is followed by “MaiCureGear”, this means whenever the macro (Windower macro only) sees the word MaiCureGear, it will attach everything that is within that command.

Example is if I press Alt + 1

Windower will see it as

  • First type /ma “Cure II”
  • then the word MaiCureGear is detected, keep typing the stuff that is in MaiCureGear which is equipping Apollo’s Staff, Duelist Chapeau etc…

Note: Alias must go at the end of each macro and must be closed with a ; symbol.

Just remember to close each command, else stuff won’t work ^^

The “select target” workaround.

As you might know, Windower types these thing in. Unlike FF, when you have a macro like

/ma “Refresh” (st)
/equip body “Vermillion Cloak”
/equip waist “Swift Belt”

Windower actually stops, wait until you “selected a target”, then continue to execute the command such as wearing Vermillion Cloak, Swift Belt etc…

If you do that in windower, the first line of (st) will be fine, but without selecting a target, typing in equip vermy would only prompt you an error. Go try it! /ma “Spell” (st), then type /equip main “Dark Staff”, it would return an error.

So instead of using Windower, I’ve used a combination of Windower AND FFXI macro system. The concept is…

/ma “Cure IV” (st)
/run my windower macro!

Therefore, until you select a target, it will not run my Windower script. Here’s a workaround that I’ve done for my Blue Mage’s cure macro. Due to the fact that Blue’s cure potency is strictly dependent on MND, so having all possible 16 pieces of MND helps! Also, since most of the time I am engaged, so therefore I have to use “select target” for my cure!

To do this, make a script like the one I’ve screen-shot above, call it magicfruit.txt! Put it in the Windower’s script folder! Then macro it in FFXI’s macro system like I’ve shown above! Therefore, I first select my target, then it runs my macro :)

FAQ / Tips in Macros!

ZOMG its so good! Where do you get this plugins!

Do you use Windower? If you do, its already installed ^^ So start scripting mai taru readers!

Your guide kinda sucks! Anymore / better guides?

I’ve got a question not answered here, can I ask you in-game?

No please! I don’t want my account getting the banstick talking about “Windower Macros”, since SE consider this as a 3rd party program too! Please leave your question here in this thread or in my latest post, I’ll be checking once per day ^^

Any 1337 tips in macroing?

For sure :) Here are cool stuff that you can do with Windower macros :)

  • Bind !h (Alt H) with errant body, dark staff :) You will love me for this XD!
  • Create macros like Alt + B = Bind, Alt A = Aspir, Alt D = Drain ^^; it works nicely for your brain!
  • I kinda do it for fun, but I bind !x (Alt X) my “Town gear” XD so I look like one adorable taru ^^ (that’s why Istari fell into it)
  • Duplicate your script and make it for situations like ENM etc, so you don’t have to edit the script everytime! Duplicating macros is as easy as duplicating files!
  • Maintain an organized structure of macro like always go left to right, top to bottom. Here’s what I mean
    /equip main; /equip sub; /equip range; /equip ammo;/equip head;/equip neck; etc…
  • Make !m (m for maiev!) as..
    /wave maiev
    /toss in 1million gil

If you want an example of how I do mines, here it is! (propenovio.txt). I keep this on my webserver so whenever I go, I have my macros with me :) Feel free to use it as reference to help you make yours! As always, thanks for dropping by :) Keeps me going and provide nice information hehehe!

81 Responses to “Windower Macro Guide”

  1. Gambyt says:

    Great Stuff, found this while surfing google!

    Good work.

  2. Mastergendre says:

    awesome guide ty men

  3. Vann says:

    Imposable to gage guide lots of info and very helpful Step-by-Step instuctions and examples. Helped me alot. Thank you.

  4. Akubane says:

    Aye, great guide! I was wondering if anyone knew of a guide that didnt use a mage job as a base? i need to swtich in like 14 pieces of gear for weaponskills and using 5 macro keys is such a pain ; ; But i cant seem to figure out how to get it to work with a weaponskill. im a huge windower noob lmao

  5. Maiev says:

    What are you trying to accomplish, swap 14 piece of gear then WS? Well you can have a mixture of macros.

    Lets say I want to keep myself in ACC gear. I’d make a file (macro) that just have ACC gear, a file that just got WS gear (the way I did it for magic fruit) then I’d go into ffxi and do the following :O (not sure if that’s what you mean, a 1 button swap gear to WS then back to TP gear)

    FFXI Macro for WS
    /console exec ws_gear.txt
    /wait 2
    /ws “Rampage”
    /wait 2
    /console exec tp_gaer.txt

    So basically when you press that button, swaps to WS gear, then Swaps back to Tp gear :O! I’ve never tired it but don’t see a reason why it wouldn’t work :D

    I play a Samurai too, the way I do it is have a macro just for TP gear, a macro for WS gear and do it manually. Since timing is sometime important for sam WS (such as while you are meditating and WS, you want to WS at 100tp, and not have wasted TP, so I’d be spamming that WS button)

    • Kae says:

      Hey That doesn’t work D:. I tried to do a blu magic set and wait 2 and then occultation followed by my melee and it will not fire off. I am not sure if it is me or the program.

  6. Lulale says:

    I’m trying to swap chr and charm+ gear for charming on bst. My equip script in .txt format looks the same as your magicfuit.txt. I try and run the macro and it gives me either:

    Could not execute charmgear.txt – File was not found. – 2


    Could not execute chr – System was out of memory, executable file was corrupt, or relocations were invalid – 0

    charmgear.txt and chr being identical equip scripts that I made to test them out. I have reinstalled windower, but it still does not work. Any help will be appreciated.

  7. Maiev says:

    Since its “file” not found. Are you sure its at the right place? Did you put it in the windower’s script folder? Assuming your file is call charmgear.txt, make sure its placed within Windower/Script/charmgear.txt

    IMO it doesn’t seem like a Windower problem, but a file location problem. Test that out and let me know if there’s still problem ;)

  8. Lulale says:

    Yes all of the files are in the correct place. I’ve deleted, renamed, moved to and from, checked, rechecked, and rechecked my rechecks. Still the console gives me errors.

  9. Maiev says:

    Um… assuming its not file and macro error, could it be stuff/code inside the file itself? sure you didn’t leave out some ” “, or ; at the end of each line?

    Also, are you using the proper Windower and not Windower Lite? You need to be at least Windower 3.23 to support Windower Macros :3

  10. Lulale says:

    I’m using windower 3.4, which I believe is the most up-to-date version. My macro looks like:
    input /equip main “light staff”;
    input /equip head “beast helm”;
    input /equip legs “beast gaiters”;

    etc etc.

    I’ve discussed this with a few of my macro/pc saavy friends and we cannot find the problem. At this point I’m out of ideas.

  11. Maiev says:

    I’m honestly out of ideas :3 I’ll let u know if I kinda think of what it could be wrong but.. so far no dice :x
    ur symptom is pretty rare!

  12. Faenar says:

    My macro file looks like this:

    keyboard_bind ^9 input /equip head “Spiahi Turban”;
    keyboard_bind ^9 input /equip hands “Pallas’s Bracelets”;
    keyboard_bind ^9 input /equip ring1 “Puissance Ring”;
    keyboard_bind ^9 input /equip ring2 “Puissance Ring”;
    keyboard_bind ^9 input /equip legs “Myochin Haidate”;
    keyboard_bind ^9 input /equip body “Hachiman Domaru”;
    keyboard_bind ^9 input /equip back “Smilod. Mantle +1”;

    but when I press the corresponding keys in game, only 1 piece of my gear changes (the back) and none of the others. Did I do something wrong?

  13. Maiev says:

    I found the error. But I’m on my Blackberry and not by my PC. I’ll post the exact way to do it when I get home.
    On the run atm!

  14. Maiev says:

    Hello there. Thanks for dropping by.

    The problem with your macro is the use of keyboard_bind. When you keyboard_bind, you’re telling Windower to “do the following” whenever a ^9 is detected.

    Cut to the chase, you don’t need to type keyboard_bind on those macros. Just once, to specify “what to do when this key is pressed”, and not “what to do when this key is pressed”, 9 times.

    Look at this screenshot of mines above.

    By doing what you did above

    keyboard_bind ^9 input /equip head “Spiahi Turban”;
    keyboard_bind ^9 input /equip hands “Pallas’s Bracelets”; (replaces Turban)
    keyboard_bind ^9 input /equip ring1 “Puissance Ring”; (replaces Bracelets’ macro)
    keyboard_bind ^9 input /equip ring2 “Puissance Ring”; (replaces’ ring’s macro)…
    keyboard_bind ^9 input /equip legs “Myochin Haidate”;
    keyboard_bind ^9 input /equip body “Hachiman Domaru”;
    keyboard_bind ^9 input /equip back “Smilod. Mantle +1″; (replaces Domaru’s macro)

    So after executing the above macro, the only thing you’ve instructed Windower is whenever ^9 is pressed, please equip mantle +1, because Windower assume you “now” want your keyboard bind to do “something else” instead of doing “this too”. You were replacing macros instead of “doing this too”. haha!

    The correct way for the above macro is.

    keyboard_bind ^9 input /equip head “Spiahi Turban”; input /equip hands “Pallas’s Bracelets”; input /equip ring1 “Puissance Ring”; input /equip ring2 “Puissance Ring”; input /equip legs “Myochin Haidate”; input /equip body “Hachiman Domaru”; input /equip back “Smilod. Mantle +1″;

    All in a single line. By doing so, you’ve instructed Windower to “when detect ^9, do all of the following, like equip turban, bracelet, pussance ring” etc…

    Hope that kinda makes sense ‘.’ Sleepy head haha

  15. Lorena says:

    Ok, I’m doing something wrong and idk what it is, one of my scripts works, but the other 2 make the game crash >.< to me they look exactly the same, so what am I missing?

    This was just my first test, just for gear changing, and it works:

    alias MPheal
    input /equip main “Dark staff”;
    input /equip head “Yigit Turban”;
    input /equip neck “Grandiose chain”;
    input /equip l.ear “Magnetic Earring”;
    input /equip r.ear “Relaxing earring”;
    input /equip body “Yigit gomlek”;
    input /equip hands “Yigit gages”;
    input /equip legs “Yigit seraweels”;
    input /equip feet “yigit crackows”;
    input /equip waist “Hierarch belt”;

    then I made this, but it doesn’t:

    alias cast
    input /equip body “Igqira weskit”;
    input /equip r.ear “Moldavite earring”;
    input /equip waist “Ocean rope”;
    input /equip legs “Jet seraweels”;
    input /equip l.ear “Novio earring”;
    input /equip hands “Zenith mitts”;
    input /equip head “Yigit Turban”;
    input /equip neck “Uggalepih pendant”;
    input /equip feet “Yigit crackows;

    The moment I hit enter after /console exec cast.txt FFXI shuts down

    P.S. Yes I named the file the same as the alias XD

  16. Maiev says:

    Yea, well alias are usually used for “recalling” later within the same “text” file, not to be used for calling in-game. I mean it could be done but your macro already crashing =P

    Assuming ur macro file are call “MPheal.txt” and “cast.txt”, to fix the above to files, you have to remove the alias line (the first line for both file), fix the last line of the cast file, your gitiy crackows forgot a quote in the end (makes a difference), and when you type the macro in-game such as

    /console exec cast.txt
    /console exec MPheal.txt

    It should run the macro fine.

  17. Lorena says:

    Yeah, I’m an idiot, I realized my mistake later XD
    Thank you!

  18. Sope says:

    Hey Lulale, I think I know what your problem is. I’m thinking that you have file extensions turned off in explorer, so what looks to you like charmgear.txt is actually charmgear.txt.txt

  19. Zora says:

    Whenever i try to execute my charm macro and a npc is near, i get the message that this action cannot be used on that target. then only 1 item will be changed. for example apollo’s staff.

    my ingame macro looks like this:

    /console exec BST_CHARM.txt
    /ja “Charm” stnpc

    what makes me nuts is that my macros did perfectly work with 3.3 , but now with 3.4 they just dont work. (i just copied the whole script folder from 3.3 into 3.4 windower)
    oh and by the way i just deleted the “;” behind every line in script folder, just to test. it seems same to me.
    well can someone help? thanks in advance ;)

  20. seifer says:

    im having the same problem

  21. Zora says:

    it must have something to do with stnpc. My attack macro, works w/o any problem and let me change to all my ATT / ACC gear.:

    /console exec BST_ATTACK.txt
    /attack t

  22. Maiev says:

    Hello Zora,

    /console exec BST_CHARM.txt
    /ja “Charm” stnpc

    Actually there’s a little changes to Windower 3.4’s macro system. I haven’t migrated yet but it has something to do with alias.

    Even alias is now capped at 255 (before there wasn’t).

    I’ll have to read into it but for the time being, I’d suggest just using Windower 3.3 ^_^ Works fine!

  23. Zora says:

    thx Maiev , 3.3 works fine again :)

  24. Resist says:

    Hey, great guide! Taught me alot. Wonder if i could ask a question? ive made a macro to skill up my string skill on my brd, but i cant figure out how to get it to loop. Do you know?^^ and also how to stop it looping when i need to? Thanks alot!

  25. Hiromoto says:

    I have two suggestions that I use. I would suggest building multiple folders within your scripts folder for each job.

    For example:

    /console exec monk/chiblast.macro

    The other suggestion I would use is to bind “special abilities – blink, cure, etc to Page UP, or Page Down – as it is very close to your number pad.

  26. Mannie says:

    For some reason when i type my windower macro into the ffxi macro book it doesnt work. Wehn i type it manually in the chat log it works just fine.

  27. Maiev says:

    Hello there,

    Did you check your syntax? What exactly are you typing in your FFXI Macro Book? If you could provide a little bit more details, then I could help you resolve it!

  28. hainsu says:

    cant get my macro to work too all it does is crass ff any ideas?

    bind ^2 input /equip main “gawain’s axe”; input /equip sub “mythril grip +1”; input /equip ammo “bibiki seashell”; input /equip head “optical hat”; input /equip neck “chivalrous chain”; input /equip l.ear “fowling earring”; input /equip r.ear “assault earring”; input /equip body “hauberk +1”; input /equip hands “alkyoneus’s brc.”; input /equip l.ring “flame ring”; input /equip r.ring “flame ring”; input /equip back “smilod. mantle +1”; input /equip waist “warwolf belt”; input /equip legs “exorcist hose”; input /equip feet “marine m boots”;

  29. Maiev says:

    Hello there, thanks for dropping by.

    I think you forgot “keyboard_bind”, not just “bind”. The older version of Windower would except bind but they changed it later, so you must put the full string “keyboard_bind”

    eg. keyboard_bind ^2 input /equip main “gawain’s axe”;

    Another thing I would suggest is capitalize the first character for all equipment such as “Gawain’s Axe”. I never tested if it works or not, but doesn’t hurt to do it i mean… afterall its only a one-time process. Let me know if you still encounter problems.


  30. Maximillian says:

    would anyone be willing to buy their RDM macros so i can see plz, or a zip file of it, anything would be appreciated

  31. Bobsaget says:

    question. I’m a Xbox 360 user that occasionally uses the pc when the 360 is being used. I still use my 360 controller on the PC. Can I still set up all these macros for Windower and launch them from the FFXI macro pallette. I’m not using the keyboard at all, but the different triggers on the controller bring up FFXI’s CTRL and ALT macro sets. I see you’re running windower macros from the FFXI macros…but I guess my question is more “does it need the input of me hitting ALT 1-9 on the keyboard, or does accessing it from the controller triggers get the same results accomplished?”

    I hope that makes sense.

  32. Maiev says:

    Hello Bobsaget, sorry it took awhile for me to get back to you.

    1st concern is does it require you to input Alt 1-9 to run those macros. No actually, I havne’t play with a controller but as long as that “button” of that macro palette is pressed, it will run the code/macro inside! So it doesn’t really matter if you press Alt 1 or Controller button.

    However, since xbox 360 does not run windower, it will not have access of the library or dll required to run those .txt files. So say you have macro Alt 1

    input /equip main “Joyeuse”

    You press that on a PC with windower, it will equip joyeuse because Windower understands that function

    You press that on a PC without windower, it doesn’t know what the hell you’re talking about, it doesn’t understand so it does nothing

    You press that on Xbox360, it doesn’t run windower so it won’t understand what it is, and will do nothing.

    For sure you can have it in there and saved to the server, it just won’t do anything :)

    I hope that clarifies your question. One more tip, since its saved to the server. If they do a search of everyone’s macro palette, they would obviously know anyone that uses “input /equip main “Joyeuse”” are using or used Windower. Doesn’t mean you still use it but… just something you should be caution about.

    Although Se is against Windower, they never really banned anyone unless they openly admit they use it so.. it should be fine. But just something to keep in mind of :)

  33. Bobsaget says:

    thank you very much. Yeah, i have my Xbox360 macros saved on the server, but I don’t load them from the server on the PC. It has its own set that I made a while ago…i’m guessing they’re saved on the PC somewhere. I always have to go through and update them when I gain more levels on the 360.

    I didn’t make any in depth macros to try, but I made a few simple ones and they worked. So I can confirm that they will execute from FFXI’s macro palletes when opened from the 360 controller on the PC. Which is what you just answered. Can’t wait to sit down and get started on my BLM and THF macros. It won’t be ridiculous hitting 3-4 macros to get one thing accomplished anymore! And having more options available per “book” of macros is nice.

    Thank you so much! (sorry if I should have responded some other way instead of posting here. my search brought me here)

  34. Maiev says:

    That’s one thing I hate about ffxi to be honest. It seems like the fun of the game is taken away when u have to focus so much into pressing macros. The strategy to half of the game is about having good macros… Its just emo.

    Windower macro takes the hassle away and allow us to focus in stuff that is more important, such as stunning mobs and timing spells… But ya, that was taken away when they decided that swqpping gear is the way they want it to be.

    When u have ur macros set, you will find the game is a lot more fun :) so hope u finish it and just enjoy what’s fun again, instead of remember what order of macro to press for a blizzard 4 lol

  35. mark says:

    im on xbox360 ,i cant find anywhere at all that shows me how to set a macro.if you could show me an example line for line what it looks like that would be cool,im a beastmaster.

  36. Shrew says:

    hey i’ve made two scripts for armour change but the last item on both “L.ear” doesn’t swap in properly and i have to hit the macro twice. I think I might be missing something >.< Does the last item end with ; or is there a command i’m missing? Here are my codes

    input /equip head “Cobra Cap”;
    input /equip neck “Chivalrous Chain”;
    input /equip body “Scorpion Harness”;
    input /equip hands “Cobra Mittens”;
    input /equip waist “Potent Belt”;
    input /equip legs “Cobra Subligar”;
    input /equip feet “Cobra Leggings”;
    input /equip R.ear “Merman’s Earring”;
    input /equip L.ear “Merman’s Earring”;

    input /equip head “Coral Cap”;
    input /equip neck “Flower Necklace”;
    input /equip body “Justaucorps +1”;
    input /equip hands “Dancer’s Bangles”;
    input /equip waist “Royal Knight’s Belt +2”;
    input /equip legs “Dancer’s Tights”;
    input /equip feet “Dancer’s Shoes”;
    input /equip R.ear “Melody Earring +1”;
    input /equip L.ear “Melody Earring +1”;

  37. Shrew says:

    Hai I’m having a problem with my script D: I have two armour swap macros but on both of them the last item “L.ear” doesn’t swap in properly and I end up having to use the macro 2-3 times before it does. Is there a command for the last item in a script or is it always ;? Here are my scripts (I’ve prolly missed something, lol)

    input /equip head “Coral Cap”;
    input /equip neck “Flower Necklace”;
    input /equip body “Justaucorps +1”;
    input /equip hands “Dancer’s Bangles”;
    input /equip waist “Royal Knight’s Belt +2”;
    input /equip legs “Dancer’s Tights”;
    input /equip feet “Dancer’s Shoes”;
    input /equip R.ear “Melody Earring +1”;
    input /equip L.ear “Melody Earring +1”;

    input /equip head “Cobra Cap”;
    input /equip neck “Chivalrous Chain”;
    input /equip body “Scorpion Harness”;
    input /equip hands “Cobra Mittens”;
    input /equip waist “Potent Belt”;
    input /equip legs “Cobra Subligar”;
    input /equip feet “Cobra Leggings”;
    input /equip R.ear “Merman’s Earring”;
    input /equip L.ear “Merman’s Earring”;

  38. Maiev says:

    Hello Shrew, thanks for dropping by.

    For Windower macros that have 2 slots like rings and earrings, they tend to have a delay especially both item are the same. The reason is when you press, its too fast and they haven’t equip the first merman’s earring yet, so when you press a windower macro, say you equip R.ear firs then L.ear, the system was “in the process” or equipping R.ear with the FIRST merman’s earring, so when L.Ear was trying to equip, it tries to equip the first earring also and doesn’t automatically take the second because it’s not marked as… “equipped” yet.

    One way I found to go around it is, give it a little spacing. Put R.Ear first of your equipment macro swap, and put L.Ear the LAST of the equipment swap macro. This gives time for the system to equip it and marked item as “being used”, so when it does get to the second ear, it will hopefully hook your 2nd ear with the 2nd merman’s earring.

    I personally just don’t do combo macros, like

    1. equip change WS set
    2. WS
    3. equip change to TP set

    because there are chances that your equip has not completely swapped. But if you want combo macros, I’d suggest doing macro spacing for both rings and earrings and give it a try again.


    input /equip L.ear “Merman’s Earring”;
    input /equip head “Cobra Cap”;
    input /equip neck “Chivalrous Chain”;
    input /equip body “Scorpion Harness”;
    input /equip hands “Cobra Mittens”;
    input /equip waist “Potent Belt”;
    input /equip legs “Cobra Subligar”;
    input /equip feet “Cobra Leggings”;
    input /equip R.ear “Merman’s Earring”;

    Sorry for the late reply but hope that helps :)

  39. Maiev says:

    Hello mark, thanks for dropping by.

    The Windower macro guide is specifically for the PC platform and with a 3rd party program call Windower. It’s the “good” 3rd party program, still violates the ToS but… we don’t want to just use our PC for FFXI.

    For Xbox360, the only macro it supports is the conventional FFXI macro, such as (say you’re a BST)

    /ma “Charm”
    /ja “Release”
    /item “Crab Jug”

    Sorry :( there’s no way around it :x it was only written for the Windows platform :x

  40. Shrew says:


    thankies for your reply, I did what you suggested and it works now ^^. makes sense when you think about it, lol.

  41. Sei says:

    Does the macro work even with the PS2 controller playing from PC?

  42. Maiev says:

    Hello Sei, thank you for your comment and thanks for dropping by.

    I would think it would be the same, as long as you can press that “macro” with your controller on the PC.

    When you press that macro, the macro runs the Windower Macro code, and then the Windower takes over in typin the rest for you.

    However, you cannot do native key bindings , since you are not “technically” pressing the macro palette. A good example is key bind “Alt 1” to a specific command, because your controller cannot press “Alt 1” on the Macro. Your controller presses the in-game macro. So that means you can only do in-game macro running a Windower macro.

    Order of Macro Processing
    — Windower Macro Key Bind. (this one you cannot do)
    — In-Game Macro
    – In-Game Script.

    I hope this helps and wasn’t too confusing.

  43. Ste says:

    i’ve been trying to make ws macros for my thf with a equip change in it but i cant seem to make the waits inbetween them work.
    atm its
    input /equip neck “Breeze Gorget”;
    input /wait 1;
    input /ja “Sneak Attack” ;
    input wait 1;
    input /ja “Trick Attack” ;
    input /wait 1;
    input /ws “Dancing Edge” ;

    i’m probably doing something wrong i also tried
    wait 1
    /wait 1 and
    pause 1
    would be cool to get help what i’m doing wrong.
    thank you

  44. Maiev says:

    @Ste Thanks for dropping by!

    since all that Windower does is “type it all into the keyboard very quick”, it doesn’t interpret it at all.

    If you want windower to wait, you got to use a windower code that is interpreted by windower.

    try putting
    wait 1;

    just wait 1;, with semi colans, without the /input. It should fix all your problems.

    I hope this helps!

  45. Claire says:

    Am i able to put in autotranslate in these macros? X_x for my whm i have for my buffs “gather together protectra and shellra” but it’s in the autotranslate brackets.

  46. Maiev says:

    Hello Claire,

    Thanks for dropping by and sorry for the late reply.

    I do not think autotranslate is even available, since all that Windower does is “type quickly for you”. The Auto Translate requires you to type a word, then use the TAB function for the system to lookup. It might be able but I am not sure how or even know that’s even possible.

    I did look aorund Windower forum and didn’t find it so… I don’t think its doable.

    However, you can use FFXI macro to run a Windower macro. Like

    FFXI In-Game Macro:
    /p {Protectra} {Shellra}
    /clap motion
    /console exec ProtectScript.txt

    You can do that :D Hope that helps.

  47. wunderboy says:

    I’m tring to make a SCH macro to do accession > P3 > accession >S2

    and others of that type erase ss etc.
    the 1st accession goes off then no more macro i have it as thus…

    input /ja “Accession” ;input /wait 1;input /ma “Protect III” ;input /wait 5;input /ja
    “Accession” ;input /wait 1;input /ma “Shell II”

    ive done alot of gear swap >spell or gear swap> ability. but never tried a gear swap>ability>spell>ability>spell is it possible?

  48. Silverflame says:

    I had a question for you, a problem I ran into while I was doing Salvage. Is there a way to unload windower macros. Like I have macros for my WAR,DRG and MNK. I loaded my MNK macros cause I was on MNK, but I switched to WAR for Salvage and my MNK stuff was still loaded so my normal Provoke macro would not fire, it kept trying to do my Chakra. The reason I asked is because I wanted to have the same binding for multiple jobs. Like CTRL1 For Provoke/Chakra. And CTRL4 for 2 of my jobs WSes. is there any way to do this?

  49. Maiev says:

    Hello Silverflame, thanks for dropping by.

    You can do so by “unbinding” the macros you did for your MNK WIndower Macro.

    You can either do it line by line by pulling up the console and type

    1. Pull Up Console
    2. unbind ^1;
    3. Hit Enter

    It should now unbind Alt 1, same goes for Ctrl.

    The way I do it is, I have a text file to unbind all possible keys I bind with “any” job. So say my MNK job, have Alt Z for Boost, Alt X for Chi Blast, and my Blue Mage have Alt C for CA Affinity, then I have a file which contains

    unbind ^x
    unbind ^z
    unbind ^c
    etc etc for any key that I used in any macro.

    All I do is run this “file”, and it would unbind/undo any bindings I do on the keyboard without relogging.

    I hope this helps.

  50. Maiev says:

    Hello WUnderboy, sorry for the late reply.

    You could do Equip > Spell > Change Equip > Spell. It’s very not ideal to do it like that since… the windower macro do not stop once you execute, so if you walk, you can mess up the timings and you just have to end up waiting till its done (same thing I say to people who try to do gear swap > ws > gear swap)

    Anyway, to do what you said, you

    input /equip GEAR SWAP
    wait 1;
    input /ja ABILITY
    wait 1;
    input /ma SPELL
    wait 1;
    input /ja ABILITY
    wait 1;
    input /ma SPELL

    Note: to make windower wait, you must use the internal built-in windower wait function since it’s just basically a “typing machine”. Hence you do not need to use

    input /wait 1; ”

    I hope that helps and sorry for late reply.

  51. Jayhawk says:

    Quick question:

    Is it possible to put in things similar to spellcast where you have it set to equip a specific piece of equipment such as:

    /console exec ballad.txt
    /magic “Mage’s Ballad”

    and inside the ballad.txt it goes:
    input /equip Body “Yigit Comlek”;
    input /equip Range “Storm Fife”;
    input /equip Main “Terra’s Staff”;
    and then have something like if HP<50% input /equip Ring1 "Minstrel's ring"

  52. Maiev says:


    Hello Jay, sorry for the delay in reply. For some odd reason your message entered the spam queue. :(

    Anyway, spellcast is something that works even before windower macros. If you want to specify a condition, i’d actually rather make 2 ballad.txt, one for 50% or higher, one for lower.

    So in your spellcast xml, there should be a line with the condition

    if hp = 50% or more
    use ballad1.txt
    use ballad2.txt

    it makes it simplier, rather than evaluating within your windower macros, (which I don’t even think its possible).

    you could include your /ma mage’s ballad inside your txt.

    Let me know if it worked. :)

  53. TJ says:

    i made a macro and everytime i add this part to it the game quits completely, any suggestions? here’s the code:

    alias PLD_Base_Gear input /equip main “Macuahuitl +1”; input /equip sub

    “Koenig Shield”; input /equip head “Koenig Schaller”; input /equip body

    “valor Surcoat”; input /equip hands “Valor Gauntlets”; input /equip waist

    “Warwolf Belt”; input /equip back “Resentment Cape”; input /equip legs

    “Valor Breeches”; input /equip feet “Glt. Leggings +1”; input /equip

    l.ring “Bomb Queen Ring”; input /equip r.ring “Jelly Ring”; input /equip

    l.ear “Loquacious Earring”; input /equip r.ear “Ethereal Earring”; input

    /equip neck “Irn.Msk. Gorget”; input /equip range “Rosenbogen”; input

    /equip ammo “Wooden Arrow”;

    keyboard_bind ^n PLD_Base_Gear;

  54. Maiev says:

    Hello TJ, thanks for dropping by and sorry for the late reply.

    If the whole purpose of your macro is just to bind ^n with those gear, why not just bind ^n directly, instead of making an alias to Pld_Base_Gear, then bind Pld_Base_Gear to ^n :D


    keyboard_bind ^n input /equip main Macuahuitl +1?; input /equip sub Koenig Shield; input /equip head Koenig Schaller; input /equip body valor Surcoat; input /equip hands Valor Gauntlets; input /equip waist Warwolf Belt; input /equip back Resentment Cape; input /equip legs Valor Breeches; input /equip feet Glt. Leggings +1?; input /equip l.ring Bomb Queen Ring; input /equip r.ring Jelly Ring; input /equip l.ear Loquacious Earring; input /equip r.ear Ethereal Earring; input /equip neck Irn.Msk. Gorget; input /equip range Rosenbogen; input /equip ammo Wooden Arrow;

    Try this and let me know! Cheers

  55. Krazy says:

    came off of spellcast since its crashing in W7 for me and trying to make a bind for quick equip change for rdm kite using keyboard_bind ^z

    keyboard_bind ^z input /equip main “Earth Staff”;
    input /equip sub “Bugard Leather Strap +1”;
    input /equip ring1 “Insect Ring”;
    input /equip ear1 “Moldavite Earring”;
    input /equip head “Wlk. Chapeau +1”;
    input /equip neck “Beck Necklace +1”;
    input /equip body “Duelist’s Tabard”;
    input /equip hands “Goliard Cuffs”;
    input /equip back “Prism Cape”;
    input /equip waist “Penitent’s Rope”;
    input /equip legs “Crimson Cuisses”;
    input /equip feet “Nashira Crackows”;
    input /equip ring2 “Snow Ring”;
    input /equip ear2 “Loquac. Earring”;

    when i load it to the console everything changes, when i hit ctrl+z just teh staff changes

  56. Branwen says:

    For some reason my commmands are backwards. I sat here scratching my head over the ^ = alt, when it was doing nothing. Tried CTRL and it worked XD
    Do you know of a reason for this?

  57. Maiev says:

    Hello Branwen :D Thanks for dropping by.

    The reason is ^ is for Ctrl
    Alt is !

    So say you want Alt S to be silence, then it’s

    keyboard_bind !s input /ma “Silence”

    I hope that resolves your problem :)

  58. Maiev says:

    Hello Krazy, thanks for dropping by.

    I really can’t see anything wrong with your macro set. Hell I’d even copy yours and see if I crashed. I didn’t ‘.’ I’m on XP. You’d really have to consult with the pros at :x something that I believe is a Windows prob than a macro prob :x

    Sorry I didn’t really help there >.>

  59. Snow says:

    ok i was uaseing windower macros fine and everything for about a week and then i updated my comp to windows7 and now when i clikc my macro nothing happens at all none of the macros change or anything

  60. suit says:

    i have an issue but only appears with my sam macros… ws never works…
    i’m trying to change lot of my gear, use ws and change to haste gear again but it stucks before WS…
    im using that
    input /equip body “kirin’s osode”
    input /equip waist “warwolf belt”
    input /equip head “wyvern helm”
    input /equip neck “chivalrous chain”
    input /equip legs “Blitzer Poleyn”
    input /equip hands “myochin kote+1”
    input /equip feets “askar gambieras”
    /wait 1
    input /ws “tachi: gekko”
    /wait 4
    input /equip body “askar korazin”
    input /equip waist “swift belt”
    input /equip head “walahra turban”
    input /equip neck “peacock charm”
    input /equip legs “Byakko’s haidate”
    input /equip hands “askar manopolas”
    input /equip feets “fuma sune-ate”

    what’s wrong?

  61. Machiavelli says:

    Hello everyone,

    Thank you Maiev, you’re my hero =P
    My question is concerning equipment swapping and i hope you can answer this question ^^;

    How does this macro work?

    Input /equip hands “Goliard cuffs” / “Duelist’s Gloves” /

    Just wondering what exactly this does with 2 gloves on the same macro.

  62. Maiev says:

    Hello suit :) thanks for taking your time to drop by!

    I bet your macro works just before /wait 1 (ur tachi gekko probably even going off with weird gear).

    Remember windower simply types all that in, it doesn’t evaluate the statement. hence your /wait 1 or / wait4 was never really a wait.

    you need to replace

    /wait 1
    wait 1;

    wait 1; <-- this is recognized by windower, and will wait, using /wait 1 will not be recognized by windower, and will just keep typing, making your macro not working! Hope that helps and happy holidays ;)

  63. Maiev says:

    Hello Machiavelli! Thanks for dropping by and your kind words lol!

    Input /equip hands Goliard cuffs / Duelists Gloves /

    I don’t think that does anything. It’s not even properly written for windower to evaluate. Is that a statement for another plugin? for equipment evaluation based on conditions?

  64. tyler says:

    hey i just downloaded windower and when i made my macros none of them work i made a folder called rdm and i saved my notepad txt as idle so my macro line is /console rdm/idle.txt but when i hit it only says unfound any suggestions?

  65. Lion says:

    Heya Maiev,

    Whether its fourth of july fireworks, or windower scripts I go to the extreme. I wanted to do a single script that would load up all my keybinds and set up all my macros on the keyboard just as if i was still playing World of Warcraft :P
    Is there a maximum character count in a single .txt file that windower will read? If not i mean… heres what i have working so far!

    alias Samws input /equip head “Shura zunari kabuto”;input /equip neck “Chivalrous Chain”;input /equip ear1 “Fowling

    Earring”;input /equip ear2 “Bushinomimi”;input /equip body “Haubergeon”;input /equip hands “Pallas’s

    Bracelets”;input /equip ring1 “Rajas ring”;input /equip ring2 “Victory Ring”;input /equip back “Amemet mantle

    +1”;input /equip waist “Warwolf Belt”;input /equip legs “Royal Knight’s breeches”;input /equip feet “Marine M

    keyboard_bind ^z Samws;

    alias Samtp input /equip head “Walahra turban”;input /equip neck “Chivalrous chain”;input /equip ear1 “Brutal

    Earring”;input /equip ear2 “Bushinomimi”;input /equip body “Haubergeon”;input /equip hands “Hachiman kote”;input

    /equip ring1 “Rajas ring”;input /equip ring2 “Iota ring”;input /equip back “Amemet mantle +1”;input /equip waist

    “Swift belt”;input /equip legs “Byakko’s haidate”;input /equip feet “Sarutobi kyahan”;

    keyboard_bind !x Samtp;
    keyboard_bind ^y input /ws “Tachi: Yukkikaze”
    keyboard_bind ^g input /ws “Tachi: Gekko”
    keyboard_bind ^k input /ws “Tachi: Kasha”
    keyboard_bind ^h input /ws “Tachi: Hobaku”

    alias Meditate input /equip head “Myochin Kabuto”;input /equip neck “Chivalrous chain”;input /equip ear1 “Brutal

    Earring”;input /equip ear2 “Bushinomimi”;input /equip body “Haubergeon”;input /equip hands “Saotome kote”;input

    /equip ring1 “Rajas ring”;input /equip ring2 “Iota ring”;input /equip back “Amemet mantle +1”;input /equip waist

    “Swift belt”;input /equip legs “Byakko’s haidate”;input /equip feet “Sarutobi kyahan”;wait 1;input /ja “Meditate”

    ;wait 1;input /equip head “Walahra turban”;input /equip neck “Chivalrous chain”;input /equip ear1 “Brutal

    Earring”;input /equip ear2 “Bushinomimi”;input /equip body “Haubergeon”;input /equip hands “Hachiman kote”;input

    /equip ring1 “Rajas ring”;input /equip ring2 “Iota ring”;input /equip back “Amemet mantle +1”;input /equip waist

    “Swift belt”;input /equip legs “Byakko’s haidate”;input /equip feet “Sarutobi kyahan”;

    keyboard_bind ^m Meditate;

    err anyways imagine that but all connected. The problem with alias is that everything has to be connected after the ; with no spaces, so everthing isn’t as neat as you would want.

    Anyways all Im asking for is some tips really :o

    • Maiev says:

      Hello Lion, thanks for dropping by :P

      I’ve organized your macro so I can take a good look.

      There are a few advantage of not doing it in a file. However, yes I’ve had a long and huge file and as long as the code is right, it will run. Something to keep in mind is Windower runs hella faster than FFXI. So sometimes using the FFXI macro system to run Windower would work better. You do it too fast, stupid FFXI can’t catch up and you need to spam it a few times.

      Anyway, here’s a few tip, you set alias, then you set ur alias to a key. You can actually combine those code. Refer to this screencap.

      Last is your last line, I see it is a super combo line to do a 1 button do all. I would not advice :P sometimes you want to say, get 80TP, then swap, med 20, then do ws, let the 100 TP pour in then WS again. (Assuming you swap correct gear for the extra TP). Then, the 1 combo do all wouldn’t really work, since you need to let 1 tick of meditate to kick in before WS. Modular macro gives more control but i’m sure you just wanna keep life simple with this. Also, remember that windower runs faster than ffxi. When you press that super macro button, it might run it too fast causing some stuff to skip. If you aren’t having problems with it then by all means stick with it. If you are, I’d suggest breaking it down into multiple text file :P and just use FFXI Macro System to recall those stuff :D

      Hope it helps :D

  66. Gils says:

    Hello! I was just wondering if there was anyway to make it so if it was say , Iceday/weather You could make it equip The Obi / Legs For BLM When It is. Kinda new to this so was just wondering :)

  67. Odepa says:

    I just came back to the game after a very long break and this is exactly what I have been looking for, by any chance have you upgraded yet to spellcaster? I still cant understand that plug in.


  68. Chris says:

    Hello and thank you for making such a wonderful guide Maiev!
    It will prove most useful for my gear swapping needs throughout my adventures in Vana’diel. However, I have a question regarding windower macros and the targeting loophole. Is there any other way to have your alias command (gear swap) kick in after having selected a target through the selective manner of or like commands? I know it would be ideal to select your target first then use the bind key, but forcing myself to use FFXI initial macros almost defeats the purpose of my binds to begin with, and with its use further complicates my organization of spells, abilities, etc. Not to mention being engaged to a target makes this impossible to begin with. Do you have any suggestions or solutions to my problem?
    I greatly appreciate your time and patience.

    • Maiev says:

      Hello there and thank you for dropping by.

      Can you give me an example of a macro that you want to execute before targeting? Are you simply wanting to swap gear? Do a specific task? :)

      • Chris says:

        I suppose the best example would be using a windower macro script with gear alias to put on my cure potency gear yet selecting my party or player characters via or . However, we know that windower cannot essentially switch my gear as I’m attempting to target something, hence why it works best within the FFXI macro bar. However, because I am dual boxing that makes it all the more difficult and redundant especially if they are engaged to the mob. I need to find a way to allow myself to choose a party or player target while engaged without it blocking my equipment changes. I appreciate the help on this minor dilemma.

        • Chris says:

          My apologies, the post didn’t seem to accept my targeting command hooks well.
          I meant stpc or stpt.

        • Maiev says:

          I see what you mean.

          Consider this example:

          Line 1: /ma “Cure II”
          line 2: /console exec gear.txt

          Inside gear.txt, you’d have

          alias curepotency input /equip “AllGearExceptStaffForExample”;

          keyboard_bind !1 input /equip “Light Staff”; curepotency;

          That’s one solution.

          Another one is this. Consider this below.

          When I 2box, I ensure my windows only got the 2 character opened, not even a browser. That way, my alt tab sure goes to the right person. (I 3box before, so you’d have to get your alt tab sorted out first).

          You’d still use FFXi macro because you are engaged and need to utilize the “st” mode. However, once you selected a person, it will start casting Cure II, and while it cast Cure II, it runs the cure.txt, where cure.txt is simple the gear u wanna change. It’s still speedy, and will wait till u select a target.

          I hope that solves your problem :O!

          • Chris says:

            That sounds quite nifty. I’ll have to give that a shot.
            I’m rather new to dual boxing, so finding a level of comfort in controlling two characters simultaneously is proving rather difficult.
            However, I did find a nifty program that allows me to send commands to the second instance of FFXI through one active FFXI window. Perhaps I can try using these advanced windower macros while being bound to a separate set of key combination so I can have some sort of synergy between standardized macros in FFXI and key bindings strictly reserved for the second character.
            Again, I appreciate your help and patience, and I’ll be sure to tell you how it goes!

  69. Zanowar says:

    Hiya.. I have loved following your site and posts, and this guide has been invaluable to me for my gaming experience. now I have updated to windows7 and got windower installed. but now my script macros don’t seem to be working. it will cast spells the same, but wont swap gears. any suggestions?

  70. Scott says:

    Hey, ive been making macros and ive made a SATA one for my love level THF. not yet got all the gear, for the SA and TA and got hardly any for the WS but heres what i got so far

    input /ja “Sneak Attack” ;
    wait 1;
    input /ja “Trick Attack” ;
    wait 1;
    input /equip body “scorpion harness”;
    input /equip waist “life belt”;
    wait 1;
    input /ws “Viper Bite” ;

    the plan is b4 SA ill equip what ever gear will imporve SA same for just b4 TA and same just b4 WS…. now i seen u said wait 1; works, i am afraid mine doesnt my char changes straight to WS gear, does SA and then stands there

    • Jack says:

      Not too sure if things have changed, however back when i played a year or so ago you needed to specify a target after Job abilities and WS’s

      For example
      input /ja “Meditate”
      input /ja “Tachi: Hobaku”

      tranlating into your char’s name
      tranlating into your target’s name
      so the system would see that as /ja “Tachi: Hobaku” Wild Rabbit

      Or perhaps im outdated and the issue you are experiancing is with something else


  1. […] MaiTalu’s Windower Maco Guide! […]

  2. […] Its pretty much the best invention since sliced bread. Now you can create Windower Macros on the fly, better than home-made because you don’t even have to worry about spelling errors now! You can read more about Windower Macros here. […]

Leave a Reply