The log's at the bottom of the FLMM window. Reviewing it can be a pain, especially if you have have dozens and dozens of mods loaded.
Since I'm almost done building my XML codebase mod, I'll post up one of the bits of documentation here, for reference to those of you using XML/FLMM or trying to debug other people's code:
2. XML scripts that cause looping operations will cause FLMM to crash. For example:
<data file="data\equipment\st_equip.ini" method="replace" numTimes="0">
<dest>
hp_type = hp_fighter_shield_special_1
</dest>
<source>
;////////////////////////////////////////////////////CHANGED BY ARGH XML TOOLKIT MOD
hp_type = hp_fighter_shield_special_2
;///////////////////////////////////////////////////////////////////////////////////
</source>
</data>
;///////////////////////////////////////////////////////////////////////////////////////
;///////////////////////////////////////////////////////////////////////////////////////
;///////////////////////////////////////////////////////////////////////////////////////
<data file="data\equipment\st_equip.ini" method="replace" numTimes="0">
<dest>
hp_type = hp_fighter_shield_special_2
</dest>
<source>
;////////////////////////////////////////////////////CHANGED BY ARGH XML TOOLKIT MOD
hp_type = hp_fighter_shield_special_1
;///////////////////////////////////////////////////////////////////////////////////
</source>
</data>
If you look at the script, above, you will see that all that differs between the first script and the second one is that one looks for "special_2" and changes it to "special_1", and the other does the opposite. Doing something like that will (for obvious reasons) cause an endless loop- which will make FLMM crash and burn
3. XML scripts that refer to something that isn't in a given INI will almost certainly crash. **mod-specific notes followed here**
4. XML/FLMM has several known limitations:
A. You cannot make new Faction names and descriptions with it very well, because of the numbering conventions used. To make brand-new (not just renamed) Factions, you need to hand-code some DLL entries. Sorry, but this is a very specialized case, and FL's coders apparantly did this to tie Factions and Voices together properly, which was a huge job, and to keep the game engine straight about who/what/where/how/why.
B. It isn't magic. XML modding requires that you understand the limitations of the FL engine, how INIs are structured, and what various things can/cannot do. This will take you at least a month or two, even if you're already comfortable programming with scripting languages like Javascript or the like.
You can make some amazingly cool things with FL's game engine if you are willing to put the work in, but it requires patience and practice, and it's not simple. What I have provided here is a great way to get started, but it's not going to solve every possible problem. If you're brand-new to modding... please, read the available tutorials on The Lancer's Reactor (
www.lancersreactor.com) and download the EOA FL SDK, which you can find at Lancer's Reactor and EOA's FL modding 'site.
C. XML scripts must use PROPER NAMING CONVENTIONS. What exactly is "proper", anyhow? Some kind of Miss Manners thing? No... "proper naming conventions" means that they have to follow RULES in order to work like you expect them to, every time. Here are the rules:
C1. Only use alphanumeric characters for the titles of your XML! This means A-Z, a-z, 0-9, and underscores (the "_" symbol on your keyboard).
C2. DO NOT USE SPACES IN XML TITLES!!! PERIOD.
This is a good script, that will run in the order we want: 001_Argh_Amazing_Script.xml
This is a BAD script, that will not run in the order we want: Argh Amazing Script.xml
C3. Scripts run in ALPHANUMERIC ORDER. This means that 001_A will run BEFORE 001_B, and 003_A will run AFTER 001_A. So, if one script needs to make important changes before another one runs... name them appropriately