программа делает все тоже, что мы руками: ищет определенную строку в текстовом файле, и читает/записывает данные стоящие после него. Например: в файле "menus.txt" ищется строка " mno_cattle_drive_away 0 Drive_the_cattle_onward. 4 501 3 144115188075856110 7 1 1640 2 144115188075856110" после которой читается число (по умолчанию для Натива это 11). При записи программа опять находит эту строку, и заменяет число, которое там стоит, на то которе введено в соответствующем поле. И трудность тут такая - в разных версиях и в разных модулях текст (для простоты именуемый флагом), после которого идет нужный параметр + может быть различным. Например, предположим, что в неком модуле XXX параметр управление коровами стоит не после вышеназванной строки, а скажем после "mno_cattle_drive_away 0 Drive_the_cattle_onward. 1111 1 11111111111 1 1 1111 1 111111111111111111". т.е моя программа будет искать другой флаг, и его не найдет. А некоторые параметры занимают целый абзац, менять который требуется целиком, и в этом случае, чтоб найти этот абзац требуется найти абзац перед нужным, и после него. А если вы своими руками измените тот абзац, который стоит перед искомым, или который после него, то программа опять же не найдет эти абзацы (потому что ищет их в том виде, которые стоят по умолчанию). Девственно чистыми файлами считаются файлы, в том виде, в котором они сразу пребывают после установки, или после изменения ПРОГРАММОЙ, т.к. она флаги не меняет.
Программу можно написать для любой версии, для любого модуля ЕСЛИ: найти флаги, после которых стоит искомый параметр. Т.о. вы видели, что люди выложили какие данные надо изменить в файлах, чтоб получить искомый результат (например увеличить базовое количество солдат в вашей армии), и если найти, где в файлах прячутся параметры для вашей версии или модуля - то можно будет сделать...