Scripting

As always, these tutorials were gathered from now defunct websites like FRWorld, and they may have broken links or missing images. However, the information in them is still invaluable.

Scripting Tutorials:


Scripting Tools and Resources:

Python Package and Editors

Scripting for FF and FFvsTTR is done in the Python language (except for EZ Script code which is written in, well, EZ Script). Python.org is the official site for the language. You really (really) should install the Python language interpreter, standalone console and help files. You’re probably better off downloading the (free) Python package from ActiveState instead of the official Python.org version, because it’s a bit easier to use due to the included PythonWin editor, which is simple and yet powerful enough.

Other free Python editors include:

My suggestions:
PyScripter: maybe the best alternative to PythonWin for FF scripting.
Kommodo Edit: has improved a lot in the last year; I’m currently trying it out as my main editor. This general-purpose editor supports well a variety of languages (good enough for light web development, among other things).
Stani’s Python Editor: interesting features for use when developing for wxWidget, wxGlade or Blender, but that’s beside the point here.
NetBeans: a full-featured pro app which has recently gained beta support for Python.

Other interesting solutions:
Pype
PyDev: for advanced users on a powerful computer: it’s a plugin for that 800 lbs gorilla, Eclipse; probably way overkill for our needs.

A dedicated Python editor usually offers some very valuable amenities not available in a standard text editor, such as code highlighting, auto-indentation, integrated Python console, syntax validation and auto-completion. This will reduce significantly the number of errors you do and make them much easier to spot.

Python Language Resources

Both the standard Python distribution and the ActiveState version include the language reference, plus a nice tutorial in help file format. Caveat when reading Python documentation: some things won’t work if you follow up to date docs, as FF and FFvsTTR use the old 1.5.2 version of Python (circa 1999). The Python.org docs usually give you the info on compatibility. You can also check the Python 1.5 documentation itself and install Python the Python 1.5 package.

A few other Python resources:

How to Think Like a Computer Scientist, Python version: http://www.ibiblio.org/obp/thinkCSpy/ – a good starting point to learn programming
A Byte of Python
Learning to Program
Dive Into Python

Other Tools

In addition, you still need a plain text editor to edit language files (strings.txt, etc.) and view log files. While Windows’ own Notepad might do, there are some good fuller-featured editors available such as:
Notepad++
Crimson Editor
PSPad – nice and full-featured, but a bit buggy when checking log files while the game is running; in this case, use a dedicated log file checker, such as BareTail.

Want to check that backup which worked correctly against the supposedly improved version which is broken to know where the issue is? A text-diff program is very useful. PSPad has a basic one, but there’s a more complete standalone solution in WinMerge.

And of course…

Obviously, the FF mod tools and the FF scripting manual are still your number one stop, so if you haven’t checked them in detail, do this first!