EverQuest: Putting links in hotkeys

Most players in EverQuest quickly learn how to send a /tell or /ooc that includes a link to an item. (If you don't know: First open the Item Window by holding down right-mouse on the item, or by doing ALT-leftclick on it. Start typing your /tell or whatever, and when you want to include the link, click on the item's graphic in the top left of the Item Window.) These links not only show up in a special color in the message, they are also active in the sense that whoever receives the message can click on the colored text and open up the same Item Window.

Most players also quickly learn how to create hotkeys, or more properly, “socials”. Socials are often called hotkeys, but really a hotkey (or “hotbutton”) is more general. A hotkey is one of the twelve buttons in the game's hotbars; it can be invoked by clicking on it or by typing whatever key is bound to that button. (The keys “1”, “2”, “3”, etc., and more recently “-” and “=”, are bound to the buttons on the first hotbar. The Option Window can be used to set up keys or key combinations to invoke buttons on the other bars.) A hotkey can be simply a copy of an ability or spell slot, or even a clickable item. It can also be a Social Button, which is one of 120 special buttons each of which can contain up to five lines of “slash” commands just as you'd type them in a chat window.

Alas, you cannot simply click on an item's graphic to insert an active link into the text of a social button. With a bit of effort, however, it is possible to create a hotkey that includes an active item link. This can be useful to Bazaar traders, for example, who use hotkeys to hawk their wares. As it happens, you can also change the name of the item. By changing it to “%T” — which gets replaced by the name of your current target when you use the key — you can create a “pull” hotkey where the incoming target's name stands out in a different color. As a fringe benefit, you also get to choose what item window pops up if someone tries clicking on the target's name in your pull message.

Here's an example of the pull message I use as a Shadowknight of Innoruuk, and the item window that opens when the link is clicked.

I am often asked how I make my pull hotkey do that. The page where I learned about it has long been lost to the webs of time, so I decided to write this page describing the technique. Be warned: if you make keys with links, you may need to repair them occasionally when SOE makes changes to EverQuest that affect how links are represented inside the game. Sometimes after a major patch I discover (usually when I'm in the middle of a pull) that not only do the links not work, but the entire pull message is screwed up. So far, though, I've always been able to get my keys working again by repeating the steps described here.

Step 1: Getting the link

An item link includes a long number (in hexadecimal, so it may include the letters A-F as well as normal digits) that identifies the item, including augments and ornamentations. You need to find the number that describes the item you are trying to link. To do this, you need to be able to link the item normally, which means you need some way to get an item window for the item.

The easiest way, of course, is if you have the item in your inventory, so you can just link it as described above. If you have a link to it in your chat window, you can click on that to get an item window. If you don't have either of those, but the item is tradeable, you might find it for sale in the Bazaar, in which case you can open the item window from the bazaar search results. Finally, if you're in the Bazaar you can open a /buyer window and search for the item, as though you were going to set up an offer to buy it.

Assuming you have the item window so you're ready to send someone a link to it, here's the first magic step: send a tell to the item. But it can't be just a normal /tell. You need to send it using the cross-server chat command, which starts with either a semi-colon or a left bracket: ;tell or [tell . You would normally use that command to send to someone on another server (or even another SOE game besides EverQuest), but here the idea is to trick it into trying to send to a nonsense name that includes the internal parts of the item link.

So, type “;tell” and a space, and then click to put the item link as though it were the person to whom you're sending the tell. Then just hit Enter. You'll get back an error as in this screenshot:

Notice that the error ends with the first word of the item name. The long string of numbers (and perhaps some A-Fs) in front of that word is the internal link representation. Copy it carefully. (The easiest way is to have chat logging turned on, and just find the line in your log file.)

If you've recently gotten a message saying “The Universal Chat service is temporarily unavailable. You will be notified when it is restored.” it means the cross-server chat isn't working, so you can't use it to get the link details. Try zoning (or logging out/in) to see if that restores the chat service for you.

Step 2: Modifying the hotkey

Typically you'll want to create the hotkey with some sort of placeholder text like “LINK” where you want the link to go. (If this is your pull hotkey, the placeholder text is probably “%T”.) Then you'll need to edit the file where the hotkey commands are recorded. Don't do this while the game is running! The game reads the file when your character first zones in, and won't look at the file again after that, but it may write the file to save other changes and thus destroy your modifications.

If you've installed EverQuest in a privileged directory, such that it asks for Administrator privileges when you run it (so that EverQuest can make changes to its own files), you'll need to edit the file as an administrator, too. Otherwise, current versions of Windows will silently create your very own special copy of the file where you can make your changes, and the game will continue to use the original, un-edited version. Thank you, Windows. (Not.)

All of the socials for a character are stored in a file in your EverQuest folder. The file is of type “.ini” and is named with your character name and server name, such as Teviron_erollisi.ini. Open the file with your favorite editor. (I use one called emacs that makes it easy for me to do the tricky step given below, but I'll describe a way to do what you need in Notepad.)

Within the character file, look for a section marked [Socials]. (There's also sections called [Hotbuttons], [Hotbuttons2], etc., but those aren't what you want. Those just say which Social or other action each hotbar button does.) Under the [Socials] heading will be lots of lines saying things like Page1Button10Color=0, Page2Button12Name=Pull, etc. These lines describe the label names/colors and the five lines of commands for each of the social buttons. (There are ten pages of socials with twelve buttons per page, but the file won't include anything for socials that are still blank.)

Find the lines for the social you want to modify. The lines might not all be together; when you modify a social within the game, it rewrites the file with the modified parts at the end of the [Socials] section but the unchanged parts usually stay where they were, so searching for the social's name might not find you the section with the commands. It's best to search for the text of the social, e.g. “LINK” or “Incoming”. You should find it on a line that starts with Page#Button#Line#=....

Now the fun part. In the line that says Page#Button#Line#=/etc., change part of the text to be a link. Here's what a link looks like.

First comes a special character that is hard to type. In computer lingo it is a control-R, character code 18 (octal 22). This is where my emacs editor helps: control-Q control-R puts a control-R in the file. I tried to find a way to display a control-R on this web page so you could just copy/paste from here, but can't get my browser to show it. I also couldn't find a way to type the character in Notepad or to find it in the Windows “Character Map” application, so if you're using Notepad you need an example of the character to copy/paste.

To get a sample of the control-R character, tell your browser to save a copy of this page on your computer. (This is just a text page, not an application, so there's no risk of a virus from this.) Open the saved page in Notepad. You should see some text near the front saying, “Control-R character you can copy/paste:”, and then probably some sort of box-shaped character. That box is what you need to copy. A little further on I give five in a row in case you have trouble selecting it, but you need to make sure you end up with just one when you copy it into your file.

So anyway, once you figure out how to get that character into your file, the rest is easy. You put that character, then the long string of numbers you got for the item link. After the numbers put a space, then the name of the item, and finally another copy of the control-R character. Again, you don't need to use the real name of the item, so in particular you can use %T for the name if this is your pull hotkey. Save the file, fire up the game, and try out your new key!

Here's the line from my .ini file for the picnic-linking pull key, with ⊗ standing in for the control-R characters. Note that in addition to %T for the target name, I use %O to get the pronoun corresponding to that target.

Page2Button6Line1=/gs Here comes ⊗013F310000000000000000000000000000000000000000005441A517 %T⊗ ... I hate to see %O die.