From Cities

Jump to: navigation, search

While features are beng added to cities by the 'king and Great Lords all the time, some enterprising players have taken to implementing useful features themselves. Undoubtedly some are carefully hoarded, but others have been made available to anyone who might find them useful.

Please keep this page clean for succinct details about each tool, and add comments and questions to the Discussion page.

Latest Additions

  • Daily Something tells you, when you're holding an instrument or Cornucopia, how long it'll be until you can use it again.
  • Do That Thing gives links for you do do the obvious things with your newly-acquired equipment, and stuff in the Newfangled Inventory.
  • Vent Hopper will walk one square, in the direction you want, at the time you want, once.



Community-developed features fall into various categories. Not all are useful to all people. None of them can affect the basic gameplay, which is controlled by the Cities server.

  • The easiest for most players to benefit from are in-game modifications - these change the html (WWW page layout language) as soon as it arrives to make the page you view display differently, and sometimes offer new ways to interact with the game (extra buttons etc). These typically require the Firefox or Opera browser, and are written in Javascript using Greasemonkey (a browser extension) which terms them "user scripts". To use these, you need to install Greasemonkey first. Some tools have an in-game component and also rely on other servers, e.g. the Darksatanic Survey collects map data in a database and provides it to others.
In Opera, GM scripts are supported as a special case of the native userjs functionality - but certain GM-specific functions (GM_getValue etc) are not supported. Not all the scripts here need these, but you might find it useful to install this script which provides some emulation of the missing functionality.
  • Some tools are small progams written in a scripting language like Python or Perl, which need a suitable script processor, such as tend to be standard applications on Unix/Linux and Mac OSX systems, but are less widespread on Microsoft Windows.
  • Some tools are conpletely separate web pages with either javascript or some server-side processing which can produce informative output from data you provide.
  • A few Cities APIs for various languages are being developed. These provide a framework for other developers to write tools to interact with Cities, and most players will not have any use for them. Obviously, use these responsibly (no mad polling, mass character creation, etc).

If you use anything here, please take the time to let the developer know about it, maybe by a note on their talk page or by adding thanks here. For adding features like mappers and other utilities that can parse the cities output, Greasemonkey is probably a good bet.

A warning from the 'king

If I see scripts which are designed to give a benefit while negating the cost. ie. the stop-rotation script, then I'll be forced to mess with the HTML so the the scripts don't work. Consider yourself warned. Elseware 16:54, 11 Jan 2006 (GMT)

Resorts to turning head at funny angles again :)

XML Access

You can now view players' inventories and info as XML! Go to or and you'll notice buttons at the bottom that let you show/hide this information. If it's visible, anyone can then go to or

What does this mean? You can now make scripts, apps, and web thingies that just take a username as input and poke those two URLs for plenty of user info. Go make those hard knocks calculators, dashboard widgets, and interesting AJAX toys!

NB: We figured we'd leave it to you guys to work out what means what in the XML ;)

Okay, we'll figure it out. And list our findings here

Could it be made such that if no username is given then the results for the currently logged in user are given ? markles 10:12, 5 April 2007 (BST)

One request: could music skills be added? In comparing BruceStark and Lalumi, I can find nothing that could indicate the facts that BruceStark can Rock Out and Play for the Winds while Lalumi cannot. --BlaisedeC 05:09, 3 May 2011 (BST)

In-game tools

Inventory management


Version: 1.1 Now for the Newfangled interface! PotatoEngineer 23:52, 2 November 2008 (GMT)

This script feeds your pets, optionally at a specified time daily, and whenever you click the button button. Much like Outfitter and Button Masher, this script will set off a chain of page-loads as it feeds your pets, which can be cancelled.

The script is fairly simple: you enter how fed you want your pets to be (in percentile, but don't use the % symbol), and the script goes and feeds them when you click the button (or when the daily timed feeder triggers). You cannot set individual feeding-levels for different pets, you cannot select the particular food to feed them with, and you cannot select the order they are fed in. On the plus side, you can specify a fed-level greater than 100, and the script will use only the right stuffing-food once each pet hits 100% fed.

You may use this script if you have not completed the Animal Sanctuary quest, but the script will round down when it comes to feeding. (i.e., 100% is still 100%, but 80% rounds down to the bottom of the "mostly full" level, to 76%, and you can only stuff your animal by a single feeding; once it's stuffed, the script will not stuff it further, because there's no good way to tell the difference between 130% and 150% without the quest; I'm too lazy to read the screen and see what the result of feeding is.)


PotatoEngineer 07:12, 18 June 2008 (BST)

Discussion cleared on 23:52, 2 November 2008 (GMT), because all the bugs should be fixed now, and the multi-threadedness was getting confusing. Please do leave a note here (and/or on my talk page) if you spot another bug. PotatoEngineer

Grocery Clerk

Update: Version 1.1 Now works with the Newfangled interface, and does bulk-bagging, to greatly reduce the number of page-loads! PotatoEngineer 05:48, 20 October 2008 (BST)

You tell it what you want in bags, and it puts them there. Great for cleaning up your inventory from time to time without being forced to spend 15 minutes fiddling around in the Sorting Office.

Operating instructions: First, open the config and configure a bag or two. The config screen displays your items in the same order as your inventory, so it's easy to group your bags by item type. Then, once you're done configuring your bags (and you don't need to configure all of them if you only want to automate a couple of them), select the bag and click "Bag it!". The script takes over from there; much like Outfitter, it will reload the screen a number of times.


Anything to say about it? Drop me a line. PotatoEngineer 23:19, 25 March 2008 (GMT)


Updated: Version 2.2 Now for the Newfangled interface! PotatoEngineer 21:02, 2 November 2008 (GMT)


This script is the dream of anyone who wears armor or fashion: it can strip you naked, and it can make you wear any number of items, in sequence. It will store any number of outfits. It's also slightly easier on the servers, as it takes roughly half as many refreshes as a normal cities player would take, even if it performs them a bit faster than an alert human.

Basic Usage

The usage should be fairly clear: click "get naked!" to, er, get naked. Click "get dressed" to get dressed with the currently selected outfit. The configuration screen should be self-explanatory, but you will need to click "apply outfit changes" to save your changes to each outfit. The script can equip any exact number of blings; for other multi-equippable items, you'll have the option to equip one or equip all of an item. I recommend you configure your outfits while naked, so all possible items will show. The drop-down select at the top of the outfit configuration is for your held item; most of the time, you won't want one, but if, for example, you like to wander around in a Speedboat holding your favorite alignment wand, and kill things with a Caravel Cannon, you can set up your Speedboat-wearing and Caravel-wearing outfits that way. (It's also good for Goth fashion, where holding a silver item gives you one Goth fashion point.) Note that if you have a caravel, you will get the option to hold a Caravel Cannon once you're dressed. If somebody can tell me what the howitzer on the tank is called, I can add that, too.

In this basic method of using Outfitter, you will always unequip all of your items before equipping your new stuff (with the exception of items that are in the outfit you're changing into, and anything specifically excluded in the configuration options).

Advanced Usage, or the "Only unequip items if space is needed" checkbox

You'll notice a checkbox labeled "Only unequip items if space is needed" below the outfit select box. This changes the way that Outfitter decides to unequip items. When the box is unchecked, you get the "classic" behavior described in Basic Usage. When the box is checked, it's a bit different: Outfitter will only unequip things if what you are wearing now gets in the way of what you want to wear. To be precise: it looks at every "slot" of equipment that you want to wear, and checks whether what you're wearing plus what's in your outfit is larger than the "slot size" of that slot. (i.e., the "bling" slot size is 10, because you can wear 10 blings at a time. "arms" is two, "neck" is also two (but most neck items take both slots), but most other slots ("body", "head", "mirror", "transport", etc.) are one.

What this means: It's now possible to have different "sub-outfits" that only change a few of your slots, and leave the rest alone. You might have sub-outfits for boats (to swap between speedboat and caravel, for instance) or shoes (winged boots vs. magic boots), or pets (if you have more than 12 slots' worth of pets, you'll need to change your pets from time to time to get maximum use out of them).

Things to consider: The blings slot is awfully large. If you're switching between outfits with blings (i.e., a "mining walking" outfit with 3 sun/moon stone blings, and a "mining mining" outfit with 6 misril blings), you might not unequip your blings. In the previous example, there's a total of only 9 blings, so Outfitter will not unequip the blings when switching these outfits with the "only unequip..." checkbox checked, regardless of how much you want it to unequip those blings.


  • The "werewolf?" checkbox (and its associated time input and outfit selection) can be set to equip a particular outfit at the same time every day. Very useful if you're inflicted with lycanthropy and want to stay fashionable. Just check the checkbox, select an outfit, and enter the time in HH:MM format for when you stop being a werewolf. The script accepts both 24-hour time and am/pm time formats,but not 24-hour formats with "pm"; that'll just confuse it. (Useless information: The outfit selector selects outfits by their "outfit index." For the most part, this won't matter, but if you select your last outfit, then delete it, then make a new (unrelated) outfit, then recreate your old (deleted) outfit, the "werewolf?" feature will equip your new, unrelated outfit.)
  • If you add a glowing item to your outfit (the sun/moon blings, sunday mail, daily mail), that item will only be equipped if it is glowing, and it will be equipped first. This allows you to create a generic "Armored" outfit that can have Sunday Mail, Daily Mail, and your favorite breastplate checked, and you will wear one of the glowing armors if it's useful. WARNING: this part of the script is not toggleable (yet), so if you're using moon/sun blings for fashion purposes, they will not be equipped if they aren't glowing.
  • The "don't unequip lanterns while underground" checkbox does exactly that.
  • The "don't unequip pets" checkbox does exactly that, except when you're trying to equip a pet and need the space (while the "only unequip if needed" checkbox is checked)
  • The "Create Outfit From Equipped Items" button does just that: it wanders over to your equipment screen, and creates an outfit based on what you're wearing right this moment. (Though it's currently pretty bad at determining exactly how many blings you have equipped; if you have more than one, it'll probably create an outfit that has an "equip all" for that bling type.) The checkbox that says "with held item?" adds your currently held item to the outfit, too, as your held item for that outfit.
  • This script uses PotatoConsole.



I have trouble with items I only have one of being unequipped when I change outfits, could there be an option to not unequip certain things (Like my oil lantern, for example)?--Hamelin 05:09, 10 October 2007 (BST)
If the oil lantern is in both your outfits, it will not be unequipped when you change between outfits. There are two possible solutions here: strip naked and then set both outfits, or wear what you want, click "Add Equipped Outfit" to create the first outfit, change any components, and then click "Add Equipped Outfit" again to create a second outfit from what you're wearing. PotatoEngineer 06:48, 10 October 2007 (BST)
  • Note - the current version has 2.16 in the code but the web version is looking for 2.17. Phw
Fixed. If you're still getting the 2.16 version, clear your web cache. PotatoEngineer 04:21, 12 July 2008 (BST)


Modified version fixed problems with Ant's inventory search script. Darksatanic 13:39, 28 September 2007 (BST)
  • Could be considered cheating (avoids having to complete a quest)

PotatoEngineer's Modifiled Quickdraw

Version 1.32 Latest change: The script now works. There was a bug that prevented QD from initializing, but the script worked fine once the quickdraw data had been saved once. Of course, without being initialized, it wouldn't work when you tried to save it... PotatoEngineer 21:46, 30 December 2008 (GMT)

Originally designed to simply load faster than the original Quickdraw, this script has diverged enough that it really needs its own subsection. There are three major things that my version does better: 1) it loads much, much faster, 2) it plays nicely in the newfangled interface, and 3) it allows hotkeys so you can equip an item before you attack or move, without an extra page-load. Gotten into the habit of aligning everything with a Fire Wand before you hit it with your Daemonic Rocket Launcher? Configure the Fire Wand to be equipped with f, and the DRL with d (or whatever your favorite keys are). Then, just before you click on a monster, type f, and you'll attack with the fire wand. On the next load, type d and then click to attack, and you'll attack with the DRL. Then just keep clicking as normal until the monster dies. If you accidentally hit a hotkey without intending to use it (while talking, for example), typing any non-hotkey will turn it off.


PotatoEngineer 00:31, 9 November 2008 (GMT)

Item Selector

Adds a quick-search textbox to find inventory items easily.

If you have any problems with it, feel free to get in touch... just leave a note on my wiki page.

Cities Item Selector Cities Item Selector (below the inventory dropdown)

I think this breaks the Quickdraw script.--Hamelin 22:36, 21 September 2007 (BST)
Noooooooooooooooooooo! Right I'll grab the Quickdraw script and have a think :) Thanks for telling me! Ant 23:06, 21 September 2007 (BST)
OK, I've fixed this, by tweaking Nick's quickdraw script. See above. Darksatanic 13:28, 28 September 2007 (BST)
This script breaks four or five other scripts, too; anything that deals with the inventory at all. This can be fixed in two possible ways: fix all other scripts, and make a special case for all future scripts, or move the box this script creates to below the inventory drop-down. PotatoEngineer 18:27, 18 October 2007 (BST)
I did consider that - I thought that it made a lot more sense above it. If people'd like I can make an alternative version below the normal dropdown, but I think that in many ways it would be better to fix the others. This situation is rather too easy to get into. Ant 23:48, 18 October 2007 (BST)
Ok, I've uploaded an alternate version that places the selector textbox and listbox at the bottom of that frame. Hopefully that will resolve some of the issues with the other user scripts. If you download it and want to switch, there's a line of code that I've commented to turn one into the other :) Ant 23:24, 26 October 2007 (BST)
Side note to script authors: if you want to use the inventory drop-down and be compatible with this script, the inventory is document.forms.namedItem('controls').elements.namedItem('item') PotatoEngineer 19:36, 17 March 2008 (GMT)
Updated the links!
Yay!Now I can...uh...more easily sit and gain AP on holiday island? Gaby 23:23, 16 July 2008 (BST)

Tribble Alert

[1] is a very useful script if you don't want tribbles eating your food. I didn't write it; but when I wanted it I had to search all over the wiki (found it on Old Conversation) so I'm linking to it here for everyone else's edification :-) --naath 10:32, 20 October 2008 (BST)


Message Qty

Update: Version 1.01 Plays slightly more nicely with other messagebox-modifying scripts, most notably Do That Thing. Slightly. (also slightly worse in some ways. Bug me if I broke your favorite script.) PotatoEngineer 05:40, 29 January 2009 (GMT)

Whenever you gain or lose an item, Message Qty tells you how many you have left. This script was originally created by Stevie-O, who appears to have gone dormant.


PotatoEngineer 21:30, 28 March 2008 (GMT)

Nice Counter

Version 1.4: Works with Newfangled interface. PotatoEngineer 10:08, 13 January 2008 (GMT)

Commissioned and named by Bubba, this script will look for any number of phrases in the messages window, and decrement a counter every time it finds that phrase. It pushes no buttons, it takes no actions, it just keeps track of how many times that phrase has occurred. The initial value of the counter, and the phrase to look for, are set in the control panel. A counter will appear across the top of the page, on every page refresh, until you tell the counter to go away.

This script uses the PotatoConsole.


PotatoEngineer 15:46, 14 December 2007 (GMT)

Note: as mentioned, this script was a commission. If you actually use this thing, please let me know how you use it. I'm really dying to know how this script is useful. PotatoEngineer 22:17, 20 December 2007 (GMT)
Right now I'm using it to keep track of how many tribbles I've got. I think it will also come in handy for counting how many Baskets of Plums I've managed to grow - I often plant lots of beans in quick succession with the aim of, say, 20 baskets of plums so I could use this to keep track rather than having to keep count; indeed running it in parallel to button masher I could just sit back and watch and hit the "stop button masher, stop!" button when I had enough plums. --naath 11:06, 21 December 2007 (GMT)
I'm in space, and I'm using it to be sure I don't miss or overlook getting the power crystal from asteroids.--Che-T۞ 05:26, 24 February 2008 (GMT)

User Interface

Do That Thing

Updated: Version 1.1 Do That Thing now adds links to the Newfangled Inventory, and it also adds cast/force links to spells. The configuration is also hidden away behind a button, so it takes up a little less space. PotatoEngineer 23:56, 15 February 2009 (GMT)

Creates some links for the "obvious" actions when you acquire an item, namely to Hold, Use (or eat), and Equip (and equip all). These links can be toggled individually, so if you don't want to have all of your acquired Talismans to have an easy-to-press link taking you out of the inaccessible hole you've dug your way into, you can disable just the "use" link, etc. As always, I stand by my scripts, so if you have any bugs, complaints, feature requests, etc, go ahead and send them my way. It works for both fangles of interfaces, but in the oldfangled version, the links are created below the messagebox, not in it.


PotatoEngineer 05:45, 29 January 2009 (GMT)

If you know of any items that don't work right, please let me know here or on my talk page. Unique items (like guild passes and custom weapons) will never be supported, but I know Gold Pieces don't work right, so let me know what else doesn't work right. PotatoEngineer 23:44, 31 January 2009 (GMT)


You know that little "expand" link under the message box, which expands/shrinks the box to fit all of the text in it? This script clicks that button on every page-load, so all of the text will always be visible. I find this useful when slaughtering Dragons with a Furious Bow (so I can see the loot I get), but less useful for general wandering-about, so you might turn this script on and off depending on circumstances.


PotatoEngineer 02:34, 3 November 2008 (GMT)

Max AP, Quick Tarot and more

PotatoEngineer has kindly hosted my evergrowing script of doom (tm). It currently does the following:

  • Calculates time until Max AP (including parties but not hats or fashion)
  • Calculates how many AP required to first aid / heal yourself and puts that under HP (very useful for first aid v dragon stone calculations)
  • Puts current mana under XP
  • Adds a tarot deck ability next to [history]
  • Adds an AP @ ability allowing you to find out what ap you'll have at a certain time (24hr) and puts that under gold when calculated
NOTE: The tarot deck is static and as such monsters which were not in the deck when I made it will not be there, and if they are not available they will still be listed. If you're looking for a rare monster, you might want to use the actual deck first (whale springs to mind).

Get it here Phw 04:13, 21 June 2008 (BST)

  • New Interface version: here Phw 23:22, 25 September 2008 (BST)
NOTE: The new version also dynamically updates the tarotdeck options. However, it no longer does mana due to the inventory changes.

Three column display

This script moves the Repeat Action section and the equipment to a new column on the right of the screen and removes it from the left. This also serves to reduce the width of the left column in the new interface section.

Now moves shops and the mall elevator.
Fixed issue where it would not create the third column if you didn't have anything equiped.
Fixed issue with Empty Lots.
Fixed for removal of 'viewport' tag. Last updated:Phw 13:18, 28 September 2008 (BST)
  • Get It: here Phw 23:59, 25 September 2008 (BST)

Shrink Pets

Pets take up quite a bit of space. Too much I thought (with 4 pets... urgs). So this script rearranges some of the items in a pet box. Snarfer 17:35, 23 May 2007 (BST)

I can't seem to download it.--Hamelin 02:45, 12 July 2007 (BST)
I was server-less for a while, but I'm back --Snarfer 12:55, 15 August 2007 (BST)
I am having some trouble getting this at the moment... ford_prefect 00:02, 2 June 2008 (BST)
Note - after upgrading to Firefox 3 it doesn't seem to work. I did a little playing and apparently you can't use var parent= any more. I changed it to var tparent= and it works fine... Phw 22:37, 21 June 2008 (BST)
That doesn't help me fix mine though! :P Rhapsodie 04:40, 28 June 2008 (BST)
Script's unavailable again. Does anyone have a copy?--LimeHan 06:13, 21 August 2008 (BST)
Not only do I have a copy, my copy also removes the little bit at the bottom! And it works! Download! PotatoEngineer 01:22, 22 August 2008 (BST)
It is of note, that little identifier on the bottom is invaluable information for horsie owners who pass their steeds over to another for any reason. When arranging for petsitting, when breeding, when lending a horse for some purpose, any number of reasons, that unique number is the single fastest and most effective piece of information you can have to get it back if your horse is lost in the ether.
It may be a pain in the arse, but before you use this script, make sure you've got that number somewhere you can find it. I recommend a line on your User page, right under your horsie's pedigree information. S. Mackie 08:55, 24 August 2008 (BST)
The ID# only shows up when a pet is held. So script or not, you can't see equipped pets ID#. Kaos Dragon 18:26, 24 August 2008 (BST)
Still, just disable the script and refresh the page, not like it takes that long.--LimeHan 19:38, 24 August 2008 (BST)
My second equipped pet isn't shrunk [2]. - Isambard 22:16, 28 August 2008 (BST)
Hunger level not showing up for some reason. Can it be fixed?--Che-T 20:02, 28 August 2008 (BST)
Fixed! (I think.) The script accounts for evilness now, and should try to fit it into the same data-display area as another table item. To keep the clutter down, the unit for age (days/minutes/seconds/hours/weeks) has been truncated to one letter, so 33 weeks is now 33 w. Just use the same link above to download. As a side note, when you're holding the pet in your hands, it no longer does the shrinking thing. I have decided that this is a feature. (Honest, it's not a bug! Really!) PotatoEngineer 00:24, 7 September 2008 (BST)
It's still not showing hunger level though. Couldn't you replace the pet rating with hunger percent? Not like we need to-hit and the level, since they basically tell the same information (regarding to-hit chance).--LimeHan 00:35, 7 September 2008 (BST)
Fixed again! Hunger level now shows, pet level now doesn't, and I think I've fixed the bug where some pets aren't being shrunk. Again, same link as before. PotatoEngineer 07:47, 7 September 2008 (BST)
Hunger level isn't showing again. I updated GreaseMonkey to new version perhaps that is the problem? Unless Cities changed something that's the only thing different. --TheRealKilgore 05:59, 19 February 2009 (GMT)
"Works for me." But I haven't made any GM changes recently. Are you on the old or the new interface? --Dragon 06:20, 19 February 2009 (GMT)
I am using the new interface and version 0.8.20090123.1 which was recently updated. I lost hunger level until I disabled this script. --TheRealKilgore 03:33, 21 February 2009 (GMT)--TheRealKilgore 03:33, 21 February 2009 (GMT)
Hey PE - can you add a Fly node to your script and put it back? I didn't know Clancy flew for weeks :) Phw 21:54, 26 April 2009 (BST)
var flyNode = xpathOneNode('.//input[@value="Fly (20AP)"]', petNode);
var flyNode = xpathOneNode('.//input[@value="Land (20AP)"]', petNode);

Chemical Info Mover

Obsoleted by Newfangled Interface (and, most importantly, the page layout editor!)

The quest reward for the Blue Flowers quest is at the very bottom of the screen, below even the AP counter, and on low-resolution screens, it's off the bottom of the viewing area. This script moves the information about the chemicals in your bloodstream up into the Abilities box, or right after your inventory if you don't have any Abilities.


Updated to handle both the newfangled and oldfangled interfaces. PotatoEngineer 01:08, 29 September 2008 (BST)

Heal The Needy First!

This GM script sorts the selector after "Heal" according to (my criteria of) neediness. It sorts fully healed to the end (and disables them, so you cannot heal them anyway). And anyone needing less than 10 health (I don't like wasting AP).

um, doesn't the drop down do that automatically? the sorting i mean, the people who are fully healed are just at the end of the list. Spugmeistress 15:51, 6 May 2007 (BST)
It normally sorts by percentage of HP. But since people with 1000 HP can't really benefit from a piddly 100AP of healing, this script will sort it so that people who can benefit from random acts of kindness are the ones who get it. (no, I didn't write this script.) PotatoEngineer 15:57, 6 May 2007 (BST)

What PE said. I've tweaked it again an again... I've now come back to just sorted based on the HP players have, with lowest HP first, regardless of max HP. Snarfer 17:35, 23 May 2007 (BST)

doesn't disable the fully healed if there is only one other person on the square with you. Normat 22:07, 5 November 2007 (GMT)

Message Box History

Ever been clicking away, and suddenly notice something happened that you want to read more of -- just before the next page load kicks in? Fret no more and go to

  • History is 5 messages, although to increase that is changing 1 line in the source code. Some enterprising XUL-knowing person might try to make a nice dialog to configure it with.
  • History is per-character. (I mostly did that as a test to see if I could make it work. I could.)
  • As an added bonus, it shortens messages like this:
    • You cause 20 points of damage, and receive 40 experience.
    to this:
    • You cause 20 damage, and receive 40 xp.
    This makes most of those messages fit in 1 line of text.

If you like this script, please head over to User_talk:Stevie-O and let me know :)

Update: Someone changed the page structure and broke the multiple-users code. On the plus side, they broke it by adding a 'username' field, which removes the need to try parsing the "Sir/Baron/Earl/Duke Foo MD" into "Foo". The new version has a fixed namespace (it had Hamelin's namespace instead), so you'll need to manually uninstall the old version first. Make sure you check the 'purge settings' box, too. Stevie-O 21:31, 10 September 2006 (BST)

The script is now compatible with the Newfangled interface, and displays both Old and New fangles well, even in the other interface. Download! PotatoEngineer 23:24, 18 October 2008 (BST)

Taller Messagebox

  • Want more rows in your messagebox? Try this - User:Jmb
    • My thoughts are to put various small UI treaks in this - first up is messagebox size
    • To change settings use the Tools->User Script Commands->Set messagebox rows menu
I'm getting 403 Forbidden on uifrig.user.js at the moment. :( Greycat 13:58, 24 July 2007 (BST)
Appears to have a new command to delete the MOTD at the bottom of the screen. PotatoEngineer 18:02, 15 October 2007 (BST)

Spelling Fixes

  • Image:Spellingscript.user.js. Uses a collection of regexps to correct some spelling mistakes. Note that this is really beta and that inventory corrections are disabled to make things a bit faster. Moj 00:53, 13 Jan 2006 (GMT)

Nice Movement Costs

Just a small script that takes the movement/attack cost tooltip and adds it to a small box in road squares.

Cities Movement Cost MrFoo 15:44, 6 June 2007 (BST)

Fast AP Cost Hints

Update: The download link now actually points to the updated script. It handles movement, cutting, and attacking.

  • Fast AP Cost Hints. A while back, Elseware added 'title' attributes to the movement buttons, so that hovering the cursor over them causes a little tooltip to pop up showing you how much AP clicking that button is going to cost. The problem is, that FF's handling of this feature is a bit glitchy, and more often than not, no tooltip is displayed unless the page is reloaded.

Mana Monitor

Version 1.1: Bugfix release. The value shown was wrong when the player only had 1 mana.

Adds a "Mana" item inside the status box that shows HP/AP/Exp/Gold.

Download here! --Pip 17:49, 20 June 2008 (BST)


Notes on PotatoConsole and the PotatoLibrary

A recent update to the Universal Solver, Safe Fight, Button Masher, Autofeeder, Big Brother, and Outfitter scripts has created the option to lump all of the scripts into a single control panel, which starts out mostly invisible. Click the SHOW CONTROLS button, and all of those scripts will appear.

The other part of this update was to make every control box individually placeable, so the scripts you use often can be under your Abilities or Item control,and the scripts you use rarely can be in the PotatoConsole or at the bottom of the screen. All scripts start, by default, in the PotatoConsole, and the console itself starts under the preferences control box. Move the script to another location via the dropdown in each script's control box.

PotatoEngineer 13:42, 15 November 2007 (GMT)

And I've just updated PotatoConsole: now the console will stay open on page refresh if you uncheck the "close console on refresh" box. This means that every single script that uses PotatoConsole has updated. If I need to do more changes to PotatoConsole in the future, I'll create some kind of PotatoLibrary script to handle this kind of thing and keep the number of updates to a minimum. PotatoEngineer 02:36, 3 December 2007 (GMT)
The PotatoLibrary is waiting on the public release of Greasemonkey 0.8; that's the version that lets me summon up scripts from elsewhere. Unfortunately, development on GM is best described as "glacial." They've been close to release for over 4 months now, but recent evidence shows that they're almost nearly ready to release, honest..... PotatoEngineer 17:30, 4 April 2008 (BST)
For any interested script-writers, PotatoLibrary now exists! It has a scattering of useful functions to get basic information from the page, process some data, depluralize items, place an item in any of several places on the page, and, of course, install the PotatoConsole; for bonus points, it's reasonably flexible on handling both the New- and Old-Fangled interfaces. The auto-updating functionality is currently limited to my webspace, but I'm always willing to host scripts. WARNING: PotatoLibrary is still under development, as I work out how to handle the inventory, so hang onto your hats. It's also not documented, but Button Masher, Secretary, and Nice Counter work with it, so you should be able to see how it's useful. PotatoEngineer 08:18, 11 October 2008 (BST)
Update: all my scripts are updated now, which means the PotatoLibrary is now pretty stable. PotatoEngineer 00:08, 3 November 2008 (GMT)

Daily Something

Commissioned by Incen, this script will tell you how long it is until you can practice and instrument, or eat/drink from your Cornucopia. It also has a warning that displays at the top of the page when you're within two days of the "square one" timer for practicing music. Note that the timings are all estimated (at exactly one day for practicing/eating, and two weeks for the "square one" timer), so if you spot an error, please let me know.


PotatoEngineer 12:26, 1 March 2009 (GMT)

Vent Hopper

Version 1.01: Apologies to Macksting, and it now works with times before the current hour. PotatoEngineer 12:38, 1 March 2009 (GMT)

Commissioned by Macksting/Glamdring/HihoSilver_Away, this script walks in the direction you specify, at the time you specify, once. The time is local to you, and it's your job to figure out how that relates to server time. Hopefully it'll make walking the Vents a little easier.


PotatoEngineer 04:39, 2 January 2009 (GMT)

Monster Masher

Updated: Version 1.1 Now tracks leagues individually, so you'll know which of your "favorite" leagues you're winning/losing, and by how much. PotatoEngineer 22:58, 29 November 2008 (GMT)

Commissioned and named by naath, this script will go look at the monster leagues page, tell you how many (and which) you're winning, and how many you're reasonably close to winning, every time you push a button. You can mark certain leagues as "favorites", so it will always tell you the state of those particular leagues, no matter how badly you're losing.


PotatoEngineer 21:32, 27 November 2008 (GMT)

Golden Condor Navigator

Version 1.5: Updated to handle the newfangled interface! Also disabled Vents data, because it's unreliable, does not accurately detect being broomed, and doesn't account for air mastery. PotatoEngineer 01:39, 29 June 2008 (BST)

Tired of climbing out of the Condor so you can remember where you are? Hit a wall, and not sure where you ended up? The Golden Condor Navigator will keep track of your location, even if you hit an obstacle. As an added bonus, it will forbid you from moving onto the High Plateau or Strange Crags. (Side note: when an action is forbidden, it will still refresh the screen, but the Condor will not move.)

This script sends data to the Big Brother database for display. Get a Golden Condor Navigator/Big Brother key from PotatoEngineer here or on IRC, or Cor in-game. While you're at it, why not install Big Brother? The same data-key will work on both scripts. As an added bonus, this script will also track your location underground, if you enter via a cave.

Installation note: the GCN requires a copy of the Glendale Map, and will prompt you to download it when you first install the script. It takes a few minutes, and you will need to tell Firefox to keep running the script a few times, because this initial processing takes so long.

This script uses the PotatoConsole. As a bonus, you may have this script display in one location normally, and in a different location when you are actually inside the Condor; there's also the option to have the control box display in PotatoConsole, but display the GCN's GPS info when you don't have any GPS. (Personally, I stuff it in the PotatoConsole when I'm not using it, and bring it up to under the Abilities box when I'm in the Condor.)

  • Version 1.3 allows you to search the map: just select the search you want, click "find it", and the script will gleefully look for the closest terrain that matches your search. The bits for adding your own user-defined searches is in the configuration, and you can change the maximum distance that GCN will search from your location (default 40 spaces).


As usual, drop me a line if it fails, succeeds beyond your greatest dreams, or manages to get you a date with a hot woman. PotatoEngineer 20:49, 6 March 2008 (GMT)


Version 1.1 Now functions with the Newfangled interface! (also backwards-compatible with oldfangled version.) PotatoEngineer 10:08, 13 January 2008 (GMT)

Adds a notepad-thing to the screen. The default position is the top, but like all of my scripts, it can be moved to the PotatoConsole or any of several other places on the screen. It takes notes and remembers them. That's about it. The width can be configured, and it will always be as tall as the number of lines of text you are displaying (minimum 2 lines). If you get tired of looking at it on every page refresh, you can banish the Secretary to any of several other places for 3 hours by clicking a button in the config.

This script uses PotatoConsole.


PotatoEngineer 02:42, 3 December 2007 (GMT)

Is the config for this supposed to be in the PotatoConsole? Because it isn't, for me anyway.--LimeHan 05:44, 1 April 2008 (BST)
The default position for this is at the top of the screen. And the config for the script should be in the same box as Secretary; look for the "show config" button. PotatoEngineer 16:44, 1 April 2008 (BST)
Yeah, exactly, can the config for this be in the potato console? And just have it display a nice clean text box with nothing around it somewhere else on the page? There's enough clutter as it is, I don't like extra buttons. Oh, it'd be cool if it looked like the message box too, with the same background and stuff, if that's possible.--LimeHan 17:06, 1 April 2008 (BST)
The config is exactly one button, until you open it. Splitting the script between the PotatoConsole and the actual textbox would be a pain to implement, just to recover half an inch of screen space. I really don't see the point. If you display Secretary at the top of the screen, then make the textbox a little narrower so the button is off the right side. On a side note, how many lines of notes do you keep in Secretary? PotatoEngineer 01:03, 2 April 2008 (BST)

Universal Solver

Version 1.4: Updated for newfangled interface. PotatoEngineer 10:08, 13 January 2008 (GMT)

A tool for Shamans fighting Huge Reptiles. You have a number of universal solvents in your inventory, but you're not sure what to dissolve to get the most Es, Ss, and Ts, while still getting that Q you're after. Worry no more, a solution is here! Get this script, type the letters you want into the textbox (under the speaking input), and click FIND ITEMS, and the script will list all of the items you have with those letters, ordered by the number of letters in the item. You can ask for just one letter, or for any number of letters. Happy hunting! (Have kudos, comments, complaints, death threats, or letter bombs about this script? Let me know!)

Download! ...or just use the online version.

PotatoEngineer 14:14, 6 November 2007 (GMT)

Safe Fight

Broken by new interface, but I don't actually care enough to fix this one. PotatoEngineer 02:49, 6 October 2008 (BST)

Version 1.2: PotatoConsole update. PotatoEngineer 10:08, 13 January 2008 (GMT)

Pretty self-explanatory: if you're at or under the HP Threshold, Safe Fight will disable the fighting buttons. PotatoEngineer 00:48, 29 September 2007 (BST)

Note: Button Masher is designed to click disabled buttons, so it will ignore this script.


Button Masher

Update: Version 2.1 Records sequences of actions, and plays them back---for any number of repetitions---on demand! Also bugfixed auto-updating. PotatoEngineer 00:30, 4 January 2009 (GMT)

This is the industrial-sized version of Stevie-O's BulkBuy script (wherever it's gotten to). It'll create another controls box on the left side of the screen, below the "say" box. Enter the number of repetitions into the textbox, and click any button, and the Button Masher will cheerfully click that many times. Works just fine for shopping, fighting, moving, crafting, foraging, farming, and the like.

If you enter a number, and then change your mind, there are two ways to cancel: either delete the number, or refresh the page without clicking any buttons. If the button you're clicking has ceased to exist (for instance, you're attacking a creature, and you killed it, so the act_fight_ button turns into an act_move_ button), the script will stop.

There's a half-second delay on actions, and a button is at top of the screen that you can click to stop the script. Also, it stops automatically under the following circumstances: you're mining (and the mine you're on just collapsed), you're purchasing (and your hat just got stolen), you're walking (and your boots/tank just wore out), you're fighting (and your last weapon of that type just broke), or you're fighting (and your HP falls below a threshold set in the Button Masher box).

Leech breeding! If the leech you're attacking with breaks, it will automatically select another leech. Furthermore, it will stop when you are holding a large leech (size configurable by user). Alternately, you can set the script to always use the smallest leech you have available. This currently only works for the oldfangled interface.

When growing beans, Button Masher will automatically climb down any beanstalks if you set the checkbox in the config. It will never use your last AP doing so.

Button Masher will click disabled buttons, if you have another script which is disabling buttons. I figure that if you got around your disabling script, you must REALLY mean it. Let me know if this isn't the case, and/or the conditions where you run into this sort of thing.

To use stop texts (actually stop regexs), open up the config and change the number of stop texts to 1 or more, then click SET. This will create some number of text inputs, which you can change to set up particular text strings (in your messages) to stop at. One of my favorites for this is "You are magically aligned with (spirit|ice|neutral|goth|dark|pure|sewage|shrimp)", for use with Rainbow Wands, but you can use it to grow a single plum, stop growing when you so up the beanstalk, and anything else that I haven't already set up stop-conditions for in Button Masher.

To record a sequence, click "Start Recording", then do whatever you want. When you're done recording, you can set the number of repetitions at the new box that shows up at the top of the screen, or you can save the sequence for later. The most recent sequence (and basic button-mashing counts as a one-item sequence, by the way) can be repeated via the controls in the usual Button Masher box. If you don't like sequences, you can move the recording-controls down into the config section via a checkbox in the config. Note that Button Masher still cancels mashing when it can't find a button, so this isn't terribly good for tunnel-mining or slaying everything in a straight line, but it is good in situations where you know every click, such as cutting through jungle. (It will always be one cut west followed by one move west, until you hit somebody else's cut path or a monster.)

This script uses PotatoConsole.


PotatoEngineer 00:50, 29 September 2007 (BST)


So, to further combat deaths due to end-user error, rampant clicking and occasional carelessness, Cities Dead-o-matic 0.1 is now in widespread beta.

It's a greasemonkey script that will visually alert you to your current HP status within your characters square.

  • HP at >25% is a happy, content green bar.
  • HP at <25% is a concerned orange bar.
  • HP at <10% is an ominous red bar.
  • HP at <5% is a surprise... but trust me you'll know.

Install as a normal GM script, it will ask for your username the first go around... I did not include a check for multiple characters - that means you ya mules! PAYG me with any ?'s.

The images are local on my server, if bandwidth gets crazy I may have to rethink, but I doubt it with these.

Known issues:

  • Time-idle backgrounds broken.
  • Not active when tripping.

Feedback & requests appreciated. Would anybody use one for hot/cold if i could jimmy that?

Typical disclaimer: I make no guarantees of the reliability. Use at your own risk. Don't fight mimics with phasers - it still wont save you. -Eyepeel 22:10, 2 May 2006 (BST)

Always make sure you have at least 601 HP before attacking Large Mimics with Phasers. Droll 21:09, 21 July 2006 (BST)

Inline health bar

This GM userscript adds a health bar underneath your character in the centre of the viewport. Health level is shown in green and shrinks to the left as you take damage; the background is shown in white above 25%, orange between 10-25%, and red below 10%.

  • Now shows health bar for other players too!
  • Updated URL for script to better ISP - jmb 18:34, 16 December 2006 (GMT)

Tested on these browser versions so far - reports from others welcome:

  • Linux: Firefox 1.0.4 and 2.0
  • Linux: Opera 9.20
  • OSX: Firefox (thanks MikeJ)
  • Windows: Opera 9.00 (thanks Solune)

by jmb 14:35, 10 September 2006 (BST)

<div style="clear: both" />

Max AP Countdown

Hamelin wrote a GM script (for Firefox, of course) that tells you how long it's going to be before you hit max AP. Good for knowing when you need to login next ;)

  • currently 404ing for me Alaric 08:19, 26 April 2007 (BST)
  • Yeah, I changed hosts and it seemed to disappear off of my fileserver when I transfered everything to the new url. Should be working now.--Hamelin 20:02, 2 July 2007 (BST)
  • I love this script, and use it on all my computers. My only complaint is that it doesn't have a line break before it starts, meaning that it runs together with all the rest of the text in the message box. Adding a line break or carriage return would make it perfect. -- X-Himy 20:28, 4 August 2007 (BST)
    • I noticed that too, it used to make a new line automatically. How do you add a line break into it? I'm not very good with the javascript, if someone takes a look at the code and tells me, I'll add it in.--Hamelin 07:06, 14 September 2007 (BST)
      • (actually, the text box used to end with a new line automatically; it no longer does so since that could cause the message box to scroll unnecessarily.) Anyway, add a "\n" before the text, e.g. messages.value += '\nMax AP in .... --Dragon 08:08, 14 September 2007 (BST)
        • I fixed it, a new version is uploaded with the line break. By the by, mine reads "Max AP in roughly -8254 hours 0 minutes" maybe I should add days?--Hamelin 17:17, 14 September 2007 (BST)


Hamelin also wrote (lifted and edited) a GM script that takes out all those stuffy titles on people's names and leaves nothing but their username. This'll prolly take out any other instance of those titles in the game (it is case sensitive) but there's no way around that (I guess).

Currently it blanks out the following:

  • Sir
  • Baron
  • Earl
  • Duke
  • Pvt.
  • Cpl.
  • Sgt.
  • Apprentice
  • Shaman
  • Wizard
  • Smith
  • Armourer
  • Master Armourer
  • MD

But not Great Lord or 'king, that would be disrespectful. =P

(It's just for fun)

Just for fun? Are you kidding me? This script is incredibly useful! Thank you so much for making it available. -Scrumbucket 17:56, 14 September 2007 (BST)
Well thank you!--Hamelin 18:49, 14 September 2007 (BST)


  • [Landmarks greasemonkey userscript]. Uses the landmarks described here to give you handy location info while playing. Caches the info until next refresh, and remembers your last selected landmark. Very beta :)
  • (also here)
Very nifty! Nick 09:35, 11 Jan 2006 (GMT)

Don't Break It

Dragon: I've been trying some changes (removed old link) - I preferred keeping the button and greying it out rather than replacing with a piece of text. More... - jmb 13:52, 20 February 2007 (GMT)

  • Version 2.0 is here. It includes a UI to customize settings, a quick "enable everything" button, the ability to disable the buttons at Alchemists, the "Discard" button on misc. items like Treasure Maps, all actions costing over a set number of AP. for the script, here for screenshot. --Dragon 05:14, 26 February 2007 (GMT)
  • Latest version: 2.3 Prevents you from attacking if you're holding a healing item. (2.23: Added super-aligned swords, 2.2: Added prevention of shops/vaults, as well as a movement AP threshhold (ever forget to wear your Winged Boots, or not notice when one wears out?).) --Dragon 05:12, 10 September 2007 (BST)
Can we get this rolled into the potato console? There's not much reason for it to visible most of the time I think.--LimeHan 16:26, 21 May 2008 (BST)
Heh, PE is taking over the WORLD. --naath 18:39, 21 May 2008 (BST)
YES, YES I AM. For those with an interest in having it with PotatoConsole and auto-updating, check out this link. PotatoEngineer 05:36, 22 May 2008 (BST)
Fixed! And now fully PotatoLibrary-9000 compliant. Current release is 2.5. PotatoEngineer 02:49, 6 October 2008 (BST)
Doesn't seem to work with the newfangled interface.--LimeHan 18:55, 30 March 2009 (BST)
Works for me. Exactly which part is broken? PotatoEngineer 04:42, 1 April 2009 (BST)
All of it. It doesn't appear in PotatoConsole and nothing is unclickable. There doesn't seem to be any conflicts, I've disabled all my other scripts and it's still not appearing.--LimeHan 16:35, 26 April 2009 (BST)


Having problems finding Snakes? Confused over what monsters are really the same? RealTarot includes in your Tarot dropdown the internal name of monsters alongside their displayable name.

by jmb 21:41, 18 April 2007 (BST)


Another GM script which may be of some use for those trying to fill their trophy cabinet - it flags visible monsters that you haven't yet caught (and stuffed and mounted), and also notes them in your Tarot deck.


  • It doesn't track kills - it updates when you re-select the Cabinet, and remembers betweentimes.
    • could use data from MJ's recent info.xml addition?
  • It has problems with certain indistinguishable monsters (e.g. snakes, mimics, flying/pigs)
  • Likewise with variably-named monsters (n Vorder Man, Gulls, Leprichaun)
by jmb 23:29, 20 April 2007 (BST)
  • Updated 22:58, 21 April 2007 (BST) to fix a minor bug when there is no item element in the page. Thanks PE.

<div style="clear: both" />

Tarot Tool Lazifier

Adds your current position to the beginning of tarot messages so that you only need to copy/paste one line into PotatoEngineer's Tarot Tool.

v1.2 now also adds a "Tarot Tool This!" button below the messages box when a tarot reading is detected. This name is actually a bit of a lie; it only opens a new window/tab with Tarot Tool in ready for you to paste to.

Download here! --Pip 17:49, 20 June 2008 (BST)

For the new interface, you'll need to change messages.text to messages.innerHTML. Phw 14:29, 25 September 2008 (BST)
That was nice and simple. Fixed, thanks. :) Pip 16:17, 25 September 2008 (BST)

Glendale GPS Link

Turns innate GPS into a link to Glendale Maps.

Download here! --Ream 15:47, 26 March 2009 (GMT)

Coming soon: Reptile Basher

Still in development...

  • automatic weapon selection for Huge Reptiles
  • colorised thesaurus word based on letter availability

Any takers? - jmb 14:36, 6 October 2007 (BST)

Mapping Tools

Glendale Cities Mapper

Best mapping tool out there, beats DSS any day. Get your key today!! (Requires GreaseMonkey)

It's back! --Ra 10:44, 18 March 2012 (UTC)

DSS Interactive Survey Map

The Darksatanic Survey has its map online in an interactive form. Source code available from the subversion repository

The DSS Mapper now has a mid-range scale map, covering a 15x15 area. It is also considerably faster. Larger scales will follow shortly. Darksatanic 11:59, 26 August 2006 (BST)

DSS AutoMapper

The Darksatanic Survey automapper is now available! If you use Firefox, installing the script will automatically update the map when you move your player. Note that you will require the GPS intrinsic (i.e. you'll need to have done the Time and Space quest). Here's how to get it working:

  • Install GreaseMonkey
  • Get a user key. Ask darksatanic (or darkersatanic, or darkling) in the #cities IRC channel on
  • Head to and install the plugin.
  • Head to Cities and enter your key. Press OK to store it.
  • You might want to install the survey link too :)

Source code available from the subversion repository

DSS Survey Link

Provides a direct link from the Cities interface to the DSS map. Requires the GPS intrinsic (i.e. the Time and Space quest).

New version out, opens link in a new window. Darksatanic 23:38, 11 Jan 2006 (GMT)

DSS Locator

This Greasemonkey user script provides a dropdown with a few useful location types (Healer, Hospital etc) which when selected will show the x/y position of the nearest such type known in the DSS database - the displayed text also being a link to the DSS map. jmb 12:40, 13 March 2006 (GMT)


  • Tested with Firefox 1.0 and 1.5
  • The script calls this PHP page to retrieve the data from the database, taking query params for x,y and type.
  • The cgi and database run from a free web hosting service. If this hits its transfer limit, the tool will stop working.
  • This add-on uses a dump of the DSS map data from 2006-03-11 so does not include subsequent updates. If it doesn't cause too much server load it might get linked to the live database.
  • Debug output in the messages area - now switchable by a menu item
  • TODO
    • Retrieve a fuller list of location types instead of using a fixed list; alternatively, let the user configure the list themselves.
    • Include icon to show a compass direction
    • Offer several nearest locations, to allow player to go in the most convenient direction.
  • Known bugs and limitations
    • Unique locations are not well handled - e.g. Healers in town with custom names are not found as "Healer"s
    • Data is not live.
    • Script re-requests location on each reload. This is partly intentional - it should update as you move - but at present it can't tell the difference between a move and a reload.
    • The query CGI returns a text string/html snippet; it should be XML and parsed client-side.
    • As most DSS tools, cannot distinguish what map level you are on.

Please suggest desirable location types you might like to have in the dropdown.


BeBe Googles

If you are up in the Frozen North, you can't wear both the Bebe Googles and snow goggles/shades. Until we have Bebe contacts or LASIK, you can try these greasemonkey scripts. They simply apply the Bebe CSS stylesheet over the cities HTML page.

  • Bebe Styler changes Cities to use the styles from the Bebe Goggles permanently (useful for new characters, the original reason it was created).
There's also a version I modify a bit for my own use as I go along here - at the moment it just fixes grass track images in the Festival and makes the text on grass and swamp squares white since I find it easier to read like that, but read the comments at the top for up-to-date info. --Pip 01:37, 18 June 2006 (BST)

Assorted Tools

  • CitiesBerg Dashboard Widget
    • Watch the price of your favourite market items rise and fall! This widget fetches the current lowest available market prices for the list of items you specified. Powered by citiesberg xml api.
    • Requires Mac OS X Tiger (probably 10.4 or newer).
  • Caverns Route Planner A tool I've bodged together for finding the best route through the Caverns for those about to embark on the Bomb Squad challenge. Feed back appreciated Darksartago 21:08, 29 July 2006 (BST)

Big Brother

See the data!

Update: Version 3.7 Fixed for Newfangled interface! NOTE: because I was foolish and tweaked the name, you must uninstall the "Cities' Big Brother" script after you've updated (note the apostrophe). Write down your data-reporting key first. PotatoEngineer 00:04, 14 October 2008 (BST)

Big Brother collects information about what happens to your character, and reports the statistics in a central location so we can all learn the internal mechanics of the game. You gain a "contributor score" for participating, with rarer data giving you more points. The web interface does not list who is racking up which statistics, but it will list your username with your contributor score.

So far, BB will collect data about monster drops, ruins and storeroom and ambulance searching, treasure chest contents, monster accuracy, mining, farming, foraging, fishing, flying healer stations, milking, weapon breakage (plus some extra data for custom weapon breakage), armor breakage, cornucopia drops, wood-gathering in both jungle and forest, angry bow upgrades, daemonic weapon melting, bowling, the ballroom, whip-snatching, sand-gathering, fairy nuff trades, Harvey Farm digging, poisoning, thief actions, cute seal kudo losses, dragon ninja dodges vs. silver weapons, equipment wearing out while you walk (also equipment that breaks with AP spending, and Iron Blings), nightly spell drops for wizard-types, mines collapsing, wormholes and summon stones breaking, success rates for player thefts, flash gun breaking, tunnel mining, the odds of getting to the Universe of Shrimp via Astral travel, falling stars from harvest songs, the colors of a Rainbow Wand, what a Northern Rock does, the rate at which a Vorpal Blade eats things (and what it won't snicker-snack), and what monsters eat adventurers the most. (Sadly, the average number of partidges per pear tree has not yet been implemented, and probably never will be.)

Palantir Cor, or leave a message with PotatoEngineer on the wiki (or IRC), to get your key; you can't submit data without it! As always, feedback appreciated, whether it's bug reports, kudos, comments, suggestions, death threats, or letter bombs. PotatoEngineer 19:07, 10 March 2007 (GMT)

This script uses PotatoConsole.


I used the updater, and it still told me I was out of date, on 2.02 rather than 2.1 I then went as far as to uninstall and reinstall the script, and I still get the warning. -- X-Himy 18:32, 9 April 2007 (BST)
Ditto --smudgepuss 19:31, 9 April 2007 (BST)
Clear your web cache. This is a known issue when I update the script twice in succession, but solutions to date have been unsatisfying. The version on the web right now has the right version number, but it was misnumbered for a bit before I fixed it. PotatoEngineer 22:40, 10 April 2007 (BST)


Questr Enter your username (After pressing the share buttons on your me and inventory pages) and it will tell you your personalised current quest progress for nearly every quest there is with just one or 2 exceptions. All blended together with your Inventory and Citiesberg data for a fresher smoother taste. - Timekeeper 28th April

Just a couple of things... it's saying I've entered the Rainbow Castle when I have only learnt how to make an Astrolabe - rcastle is set 1 when you learn how to make such as thing.
I'm also getting "Warning: in_array() []: Wrong datatype for second argument in /usr/home/lee/public_html/questr/index.php on line 2065" for Paparazzi
But otherwise all looks good :) --Duke angelsk MD 10:57, 28 April 2007 (BST)
Thanks Angelsk, both fixed. Very noble for a fellow contender :). - Timekeeper 30th April 14:07
Excellent! But one minor quibble.... I've started the Paparzzi quest, and have a picture of Smelly Gerald - the page looks like it's looking for Dirty Martin. Andrewsi 17:01, 29 April 2007 (BST)
Im working on a fix for that variably named guy. Thanks for pointing it out. - Timekeeper 30th April 14:08
Questr now has its own Wiki Page. All feedback to be directed there please. The more the merrier. Ta! - Timekeeper 30th April 14:10


4cities - Cities Quest Progress


Shows your progress with Cities Quests, part of the win a Soul competition entries.

Enter your username (must share info and inventory first) and it shows you which quests you have done, can do and can't do next - with explanations of the next stage.

There is also a Reading, Treasure Hunt, Standing Stones, Creature Survey, Trophy Cabinet, Wizard CDs, Herb Collecting, Mixology, Paparazzi, Bomb Squad, School of Hard Knocks and Tarot Card progress page, (mashed up with your inventory and Citiesberg for estimated costs).

Personalized to user for all quests, especially for Standing Stones, Harvey Farm, Paparazzi and Smelly Pete.

Feedback on my talk page please :)

<div style="clear: both" />


  • Mallr - Gives you the lowest prices for all items on sale at the Mall and compares them to the market prices in a colour coded way.

Will also get the highest prices that vendors are buying items for compares them to the lowest market price available and checks to see if you have that item in your inventory, again in a colour coded fashion

Updates -

3rd May 07 - Now totals up how much money you can theoretically make selling it all at the mall.

4th May 07 - Implemented a tool for Vendors to compare their shop selling/buying prices to their nearest rivals and the markets.

Feedback - Very much appreciated and welcome, good or bad, on my userpage if you would so as not to clutter this page up. Thanks.

12:03, 2 May 2007 (BST)

Timekeeper 12:03, 2 May 2007 (BST)

Snarfer's Mess

A bit of a mess of scripts (grown organically, ya'know...).

What they give you is:

  • Keep tabs on all your alts (I have... too many, 's why I started these)
  • Keep tabs on max AP (when it's reached... no support for fashion/hats, yet, but it does auto-detect partying)
  • Keep tabs on your pets status (hunger... warns when they get hungry)
  • Sort-of nifty "what can I make/need to make, and where can I buy the stuff" script... output could be better I think, but... it's useful. Lots of stuff in there.
  • It keeps all of the data it uses in a sqlite db... nifty for quick SQL sessions ;)

Why not use 4cities/Questr? For one, they didn't exist back then. For another, there's still info you cannot get without a password (your chars' coords for example... and yes, the "nifty script" mentioned uses that). Or the party status. Or your pets' info when you have them "by your feet".

Requires Python 2.4, pysqlite2 and lxml. Maybe more, not sure. Probably won't run on Windows. (I develop them on Debian, where pysqlite2 and lxml are just an apt-get away :))

Docs are scarce ("scares" wasn't too far off the mark either ;))... there's a README now. Just be sure to give them their own directory. Then seed the db with cities.checkap <playername>, and keep tabs on your chars with cities.checkall. "--help" is helpful :) More in the new README. :P

Any questions/comments: email, or catch me on IRC. Or maybe write on my User talk:Snarfer

(And this text is as messy... ;)

Sample Output

What cities.checkall gives you (well, actually, what it gives me, right now, but you'll get the idea). Except the colors are missing...

Baron Jim Snearth MD has 201/225 AP (89.3%). (Max AP in   3h 35m 27s, at      17:14:44)
      Duke Snarfy MD has 227/263 AP (86.3%). (Max AP in   5h 23m 18s, at      19:02:35)
   Baron Aerohead MD has 182/230 AP (79.1%). (Max AP in   7h 03m 03s, at      20:42:20)
     Duke Snarler MD has 180/245 AP (73.5%). (Max AP in   9h 41m 35s, at      23:20:52)
     Duke Snarfer MD has 169/354 AP (47.7%). (Max AP in  12h 16m 32s, at Sun, 01:55:49) PARTYING
     Duke Snarfie MD has  94/260 AP (36.2%). (Max AP in  24h 47m 35s, at Sun, 14:26:52)
                     Goldfish   Bibo is very hungry (48)
                     Goldfish Sparky is very hungry (48)
    Duke Snarfire MD has  41/235 AP (17.4%). (Max AP in  28h 58m 27s, at Sun, 18:37:44)

Web tools

  • A list of everything you can build Compares build.xml against your inventory and gives you a list of everything that you can make. More work needs doing since it was developed against my build.xml / inventory. This is currently hosted on a development machine and hence may not always be available. Is anyone able to host it for me on a more permament basis ? markles 12:42, 29 September 2006 (BST)
Now updated with to allow you to make the recipes - note: making multiple currently doesn't have the discounts applied since they are not in the build.xml file. markles 14:30, 29 January 2007 (GMT)
  • The Hard Knocks Calculator Calculates the number of levels you can complete at the School of Hard Knocks with your current equipment. Ant 00:19, 26 April 2006 (BST)
Just updated it to use the new XML inventory interface. Now should only need one request to the cities server to get the data, and probably less overhead too. Thanks to mikej for telling me about the new interface! Any problem, let me know! Ant 23:16, 25 February 2007 (GMT)
  • Wool Calculator Calculates your AP expenditure when developing your stock of fleece/wool. Ant 00:19, 26 April 2006 (BST)
  • I'm playing with it; I'm also looking at expanding it to be useful for the snark and undead dragon... -- BlaisedeC 06:30, 27 May 2006 (BST)
Cool. Talk about it here. (Also let me know how well it works!) --Dragon 06:52, 27 May 2006 (BST)
  • The Cities Worth calculator. How much is your inventory worth? MrFoo 17:17, 10 October 2006 (BST)
  • The Cities Inventory compare tool. Want to know what you have which someone else doesn't to help you find good trades? Put both names in here, and hit the button. MrFoo 23:20, 27 October 2006 (BST)
  • Time To Max AP calculator. Sadly, you have to enter all of the data yourself (current AP, max AP, regen time, hattedness, fashion sense, party, bleak island, number of monster leagues you're top of), but otherwise, it gives you a good idea of when your AP will top out. It adjusts time to GMT or BST, so it should be accurate to within a few minutes. PotatoEngineer 18:31, 4 May 2007 (BST)

Tarot Tool

  • The Tarot Tool tells you what tiles a monster can be on when you've taroted, and if you've taroted a creature twice, it can usually narrow down a creature's location to one or two tiles, as long as the directions are different. As usual, please send me your kudos, comments, complaints, death threats, or letter bombs. PotatoEngineer 06:13, 5 July 2007 (BST)

Arms Cost

  • The Arms Cost Calculator can tell you how much metal your new Killy Thing is going to need, and how long it'll take you, before you even start sketching. Darksatanic 21:34, 8 June 2007 (BST)

Stall Profiteer

  • The Stall Profiteer can tell you how much money you've made from your stall, based on the reports given by your stall monkey. Of course, this won't consider any goods or money you've deposited or stolen, but it's a way to determine how successful your stall is in general. If you're getting a negative number, then people are selling you more things than they're purchasing. PotatoEngineer

Mixology Shopping List

Download from: (version 2, 100kB)

This is a Microsoft Excel 2002 document that, given your current inventory, will tell you what you need to complete the Mixology quest (and pointers for where you can get stuff from). Full instructions for use are included in the spreadsheet.

Note that this file contains no script. If Excel warns you that this file contains macros then do not use it! For security, I have purposefully not included any VBA automation, so any version of this file that contains macros may be hacked to include malicious code.

Feel free to play with this as you will. If you want it available in a different format (such as an earlier version of Excel, or for a different spreadsheet package) then do let me know. -Stelio 21:11, 11 April 2007 (BST)

You missed one ingredient step -- Baskets of Crushed Plums. (Between Baskets of Plums and Bottles of Brandy, of course.) Otherwise, very nice! (I'm thinking about converting this to an AJAX webpage that will pull the info from the XML feeds.) --BlaisedeC 15:33, 2 May 2007 (BST)
Ah, fantastic! Good spot. :-) Right, I've fixed that and updated the version number to 2. Thank you also for the positive feedback. Feel free to rip this spreadsheet apart in any way you want to achieve a more integrated tool. I merely did what I could, not having the l33t skillz to pick up XML feeds and the like. -Stelio 18:59, 2 May 2007 (BST)

Auto Scripts (bots)


  • For those who can't stay up to worship or offer at the stones.
Python Auto Worship Runs on unix machines (Linux, Mac OS X, etc) using the at command. It only connects to the server once and no check is done to see if the worship is successful. You are welcome to improve it.
Greasemonkey Auto Worship Obviously you'll need Firefox. This one seems to poll the server once every hour at 10 past.
Just so you know, it's actually twice an hour, at 10 past and at 40 past. This is due in part to the fact that the game considers 30 seconds in the future to be 'in about an hour' (which is why it hits 10 minutes after, to account for system clock skew.), in part due to the fact that there are time zones, most notably India, that are at half-hour offsets from GMT (which is why it also hits 40 minutes after). It could probably be made more efficient by parsing the 'in about xxx' hours, although things are still annnoying because Cities considers 15 seconds in the future to be 'in about an hour'. Anyway, it doesn't do any of that becasue the script was originally written for the Time and Space shrines, which don't give you an estimated time. 03:26, 21 October 2006 (BST)
Does this script work for the Standing Stones too? Because I tred it, and all it did is turn off all the Greasemonkey scripts. --Duke angelsk MD 10:47, 7 May 2007 (BST)


  • AutoExit Greasemonkey script which automates getting off the Space Elevator. Operates exactly like Stevie-O's Autoworship script (no great surprise, as it's just a modified version of the latter). Make sure you're standing on the entrance square when you turn it on, and that the elevator has left the starting point.

Baby AutoFeeding (UNIX)

  • For those who have better things to do in RL then feeding babies.
AutoFeedingScript, also written python and requires the unix command at. Also only connects to the server once.

Baby AutoFeeding (GreaseMonkey)

Updated: Version 1.3 Newly freed from its prison of incredible indentation, the Autofeeder script arises to tackle the Newfangled interface. PotatoEngineer 20:12, 25 October 2008 (BST)

This script is for feeding babies in the Animal Sanctuary quest: it will equip your baby, and then feed it until there is no longer a baby to feed. It refreshes the page every half-hour. Note: this script is a jealous God script, and it will not tolerate you having any item before The Baby. If you want to drink potions, eat pills, craft things, or hold any item at all except a baby, you must disable the script to do so. Otherwise, it'll refresh the page again (while frantically trying to equip the baby) on every other page-load. (This script is not responsible for bad connections, white screens, etc.)


PotatoEngineer 20:12, 25 October 2008 (BST)


So, you're in the Vents, and you want to move a step north, or a step east, or both? While you sleep? And you're on a Unix-like system? Then try AutoMove! -Greycat 22:01, 27 September 2008 (BST)


BlogMaker - based on the Firefox extension. Monitors what you do, and creates a narrative automatically. 'Broke another sword, dammit', 'Weather in cloud city: cloudy', etc.

(some ideas for future GM extensions - yell if too likely to weight gameplay)

  • Market plugins: Search on stock and see where cheapest items are
  • Director: Given a landmark, gives direction + distance information when moving (requires GPS)
  • Compass: Always displays true north
  • Diktionary: Corrects speling dainamicly.

These sound OK. In fact the compass could be a real object.

  • How about something to place health remaining (and health bars) for monsters, using intristic abilities or magic opal? And a time one using a pocket watch/intristic Eruantion 17:51, 11 January 2007 (GMT)
The Time and Space quest gives you the time all the time as it were. I think there is a script to show monster health floating around somewhere? --Theendisnigh 11:57, 9 February 2007 (GMT)

X-Himy's Suggestions

I've not the skill to make GM scripts or Firefox addons, but I do have a couple ideas for things I would like to see:

  • Hat-Stealer drop-down
Basically a drop-down menu that lists whatever people have hats (and the hats they have equipped in parenthesis), with a button that let's you steal it. Not sure this is possible with the game code, but it would keep people (such as myself) from just hiding in parties with hats.
  • Pet Equipper/Feeder
Basically something that works like the Outfitter, but especially for pets. An added bonus is if you could use it to feed your pets based on available food, with it calculating the amount needed and not overfeeding or wasting food.
  • Pet Food Reminder
Something that would add in the percentage that each foodstuff feeds a pet. I often forget how much each item feeds each pet, and have to keep flipping back to the wiki.

Let me know what you think of these. -- X-Himy 02:29, 17 February 2008 (GMT)

More Suggestions

I've got a few suggestions, too.

  • Bag It: A script that puts every item on a user-defined list in a specified bag. Advanced version might include multiple lists for different bags.
Neat, I did that. See Grocery Clerk.
  • Enhanced Outfitter: Manages different types of outfits separately, so you can for example swap pets out without changing footwear or put your fashion outfit on without taking off your pets.
The "Don't unequip items unless space is needed" checkbox is your friend for Outfitter; if that's checked, it will only unequip items if they're in the way of equipping new items. So now you can have separate outfits for each slot. (And at some point, I'm going to bring back the "quick-equip one slot" functionality.)
  • Bigger Brother: I'd love to see the statistics gathered graphed vs. time. That way we could see when item drop percentages change, how the popularity of monsters change over time, etc.
Done! Monster kills vs. time, items from particular monsters vs. time, items vs. time. Only for monster drops so far, rather than everything, but it's the most important bit.

-Scrumbucket 09:20, 27 February 2008 (GMT)

In-line comments by PotatoEngineer 06:58, 5 November 2008 (GMT) (Much, much later.)

Other Firefox extensions

For those of you using Greasemonkey, there is an extension which works very well with it worth checking out too, Platypus ( It allows you to make changes to a web page in what is in effect a WYSIWYG editor and save your changes as a Greasemonkey script to be applied to the page on every visit. For example, the text box where all the game actions are displayed is too small for my liking. So a simple edit of its properties within Platypus and saving this as a script lets me always have it's height as 300 pixels and so I don't have to scroll anymore (basic script example here: Dourotextboxsize.user.js.

Not about GM

citieswiki.src, the CitiesWiki Firefox Ubuntu Search Plugin

There are apparently other ways to go about this, as might be found at or . A Cities Wiki Firefox search plugin. Plagiarized from the wikipedia.src bundled with Ubuntu 7.10, as found in '/usr/share/firefox/searchplugins' . If this causes you problems, bear in mind that I've no idea what I'm doing. I just know it works for me. Also note the favicon for the wiki and the game is converted here to .gif as image:citieswiki.gif. It should probably go in the same folder; I know that worked on my system.
Please bear in mind, everything about this is hacked together. If anybody would like to make this clearly compatible with IE7, or to reformat the remarks in the above file, they may feel free to do so or make their own. I encourage them to edit this entry and make it fit in better. S. Mackie 01:22, 27 December 2007 (GMT)

Alternative version in xml (icon included): Media:Cities-wiki.xml

Perl API

Cities Perl module available from - includes an example IRC bot to control a Cities character.


The morgue contents is available from:

Recipe Book

The cities recipe book is available from:

That should give you some fun tools.


Interesting Issue

Damn, I'm gullible. Even when I already have negative AP... -- Sertularian 01:35, 23 March 2006 (GMT)

Some Bugs you never saw

I discovered some interesting bugs when playing normally (say hi to Bob, he is my no-cheats test character. I quite enjoy playing the game myself and so if something isn't fun for Bob I consider changing the way it works).

A while back there was a bug in long-retreats that they reduced your caffine tolerance by 25. But I forgot to stop it going below zero so I discovered I had negative caffine tolerance - coffee had MORE effect than normal. Knurd anyway?

Long bows only fire up to 5 arrows but the code said...

attacks = 5 if attacks>10;

because I cut-and-pasted from the normal bow. That meant if you had _exactly_ 10 arrows it would fire 10 times instead.

Messages at the bottom of the screen

I was thinking that if the messages over-run the message textarea then they could also appear in full at the bottom of the page under the footer.

It might look a bit ugly, but would be useful. Comments? Suggetions? Elseware 10:39, 12 Dec 2005 (GMT)

Good idea Darksatanic 18:54, 20 Dec 2005 (GMT)

There is no cabal.user.js
Personal tools