ONLamp.com    
 Published on ONLamp.com (http://www.onlamp.com/)
 See this if you're having trouble printing code examples


O'Reilly Book Excerpts: Gaming Hacks

Gaming Hacks for Geeks, Part 1

by Michael Zenke

Editor's note: In this two-part series, Gaming Hacks author Simon Carless has selected two hacks for your gaming pleasure. This week, Simon says, if you don't like your world, change it with this hack by Michael Zenke on writing MMORPG macros. Next week, Simon will show you how to create your own animations. Needless to say, Simon's got game.

Related Reading

Gaming Hacks
100 Industrial-Strength Tips & Tools
By Simon Carless

expert

Hack #32: Write MMORPG Macros

Turn tedious sequences of commands into click-and-forget aliases.

Like real life, MMORPG play has its moments of repetitive tedium (especially while you’re grinding—“Grind Without Going Crazy” [Hack #30]). Fortunately, computers are very good at doing repetitive tasks; they rarely slip up and never complain. Many modern MMORPGs offer macro features to help you record and play back long sequences of events; Star Wars Galaxies and Final Fantasy XI are two examples of this phenomenon. In particular, Galaxies includes good macro features to automate your gaming experience.

Star Wars Galaxies Macros

In order to access the macros menu, hit Ctrl-A or the small firework symbol on your menu bar. This will open the actions menu, on which the macros tab hangs. To start a new macro, hit the New Macro button. Give the macro a name, choose an icon that represents it, and type the macro into the text box.

WARNING: Capitalization counts in commands. If your macro doesn’t behave properly, double-check your spelling, capitalization, and semicolons. To refer to other macros or to loop self-referentially, a macro must call a slot in the User Interface toolbar. Grab your toolbar and drag it to encompass two rows so that you have as many slots as possible for actions and macros.

To refer to a toolbar slot, use the call /ui action toolbarSlotxx, where xx is the number of the slot. Keep in mind that the first slot in the upper right corner is slot 00, not 01. The last slot in the lower left is slot 23.

Now that you know how to define macros, let’s explore some useful ones.

Bleed pull. This macro can begin combat with an accurate shot that will cause your opponent to bleed health over time:

  /prone;
  /pause 2;
  /mindshot2; Replace this with any bleeding shot
  /pause 2;
  /stand;

AFK combat. You can grind on combat and scouting without being at the keyboard. Your first task is to find a place to run the macro. Choose a lowrisk location far from other players. This macro won’t differentiate between unclaimed creatures and those already under attack by others, so this is a highly antisocial macro.

The macro targets the nearest creature and moves you toward it. In order to stay in the same location, move the camera directly above your character, and use your options menu to increase your field of view to its maximum:

  /ui action targetSelf;
  /pause 1;
  /ui action cycleTargetOutward;
  /follow
  /pause 5
  /attack;
  /pause 1;
  /loot;
  /ui action toolbarSlotxx;

The final command is self referential, so place the macro in slot xx.

This macro has several tweaks. Train your scouting skills by adding the following line just after the /loot command:

  /harvest hide Or meat or bone
  /pause 1;

If you have a pet, train your creature handling by adding this just before or in place of the attack command:

 /tellpet attack;

Then add a command to the end of the macro, before the self-referential command, to command your pet to heel.

Healing. Healing in SWG is just another action that queues up with other commands. To heal yourself promptly, use this macro:

  /ui action clearCombatQueue
  /healdamage self

Crafting. Grinding artisan skills can be the most tedious clickfest of your game experience. Thankfully, the following macro makes it much easier:

  /ui action toolbarSlotxx; Reference to crafting tool
  /sel 57; Schematic number; see note below
  /pause 8;

  /nextC;
  /nextC;
  /nextC;
  /createPrototype Practice No Item;
  /createPrototype Practice No Item;
  /pause 2;
  /ui action toolbarSlotxx; Reference to next macro in line

To use this macro for an extended session, place a series of crafting tools on the toolbar. Refer to these tools in turn at the start of the macro. The macro will choose the schematic you want to create. See the datapad for the number of the appropriate schematic. The macro then pauses for eight seconds, during which you must click furiously to fill the schematic slots with resources. The macro then moves through the next screens and finishes the product as a practice item. This will give you the XP for the item (with a slight bonus) without actually creating the item.

For an extended crafting session, duplicate this macro and refer to the next example of the macro on the UI toolbar in the last line.

AFK entertainer. Combine the following macro with another macro referencing several dancing or music flourishes (labeled flourishrun here) to gain Entertainer XP without attending to your character. Remember to start this macro in a cantina. Replace startdance with startmusic as necessary.

  /stand;
  /pause 5;
  /startdance rhythmic2; Use your highest level
  /macro flourishrun;
  /pause 72;
  /macro flourishrun;
  /pause 72;
  /macro flourishrun;
  /pause 72;
  /macro flourishrun;
  /pause 72;
  /macro flourishrun;
  /pause 72;
  /stopdance;
  /pause 5;
  /sit;
  /pause 60;
  /ui action toolbarSlotxx; Recall this macro

Final Fantasy XI Macros

FFXI macros are much more basic than their SWG counterparts. These macros are simple ways to improve the combat experience of soloing and grouping. Each character has 20 available macro slots. To access the macros on a PC, hit Alt or Ctrl to bring up the two sets of 10 slots. On the PS2, hit R2 or L2. To edit them, select a macro slot and choose Edit. To access a macro in combat, hit Ctrl or Alt and the number of the macro you wish to use.

Here are some sample macros to start your adventures.

Stat ping. This simple macro alerts your teammates to your health, technique points (tp), and mana status:

  /p HP: <hp> TP: <tp> MP: <mp>

Aggro warning. Alert party members to the possibility of an aggroing monster:

  /p Warning! Possible Aggro! <call0>

Pull announcement. Alerts party members to the name of the creature you are pulling:

  /p Targeting a <t>. Get ready! <call1>

Spell macros. Use the /ma command followed by the name of a spell and a target indicator to cast a spell quickly:

  /ma "Cure" <t> Casts cure 2 on current target
  /ma "Protect" <me> Casts protect on yourself

Group spell announcement. Use this to announce your plan to cast a group spell:

  /p I'm going to cast a group cure! <call0>
  /wait 5
  /ma "Curera# " <me>

These examples, while specific to Final Fantasy XI and Star Wars Galaxies, are just a small selection of your options. EverQuest, Dark Age of Camelot, and World of Warcraft also have macro systems of limited degrees with their own specific syntaxes and quirks.

Of course, you can also produce macros using third-party programs. UOCurse, a third-party, text-based Ultima Online hack, is one such tool. A host of other programs bring results both legitimate and, much more often, illegitimate. Not only do most MMOG players consider them immoral, they often violate Terms of Service agreements. If the publisher catches you, they can ban you and may even seek legal relief against you. For most simple tasks, internal macroing should be more than enough to assist you.

Michael Zenke is the sectional editor for Slashdot Games.


View catalog information for Gaming Hacks.

Return to ONLamp.com.

Copyright © 2009 O'Reilly Media, Inc.