Elite Games - Свобода среди звезд!

X2 - Скрипты - Деинсталятор неиспользуемых программных модулей

ОПИСАНИЕ

Скрипт: Деинсталятор неиспользуемых программных модулей
Версия: 2
Автор: akm



Наверное уже многие знакомы с ситуацией, когда после удаления более ненужных вам скриптов, на ваших кораблях остаются все апгрейды, добавленные этим скриптом в виде ReadText-####. Более того, эти программные модули остаются и в продаже на станциях, куда когда-то были добавлены init-скриптом. Они уже намертво поселились в ваших сэйвах и выковырять их оттуда может лишь спец. скрипт.

Все это касается и официальных, подписанных Egosoft скриптов, т.к. авторы просто ленятся поставлять в комплекте своего пакета скриптов спец. скрипт-деинсталятор. Но лень все же иногда бывает двигателем прогресса :) Поэтому, чтобы не делать свой спец. деинсталятор для каждого из моих пакетов, я решил сделать универсальный скрипт-деинсталятор, вычищающий от «ReadText-####»-мусора абсолютно все станции в игре (верфи, доки, пир.базы, даже фабрики) и все корабли, принадлежащие игроку. У него есть только 1 недостаток: подобная глобальная чистка занимает целую 1 минуту. Но т.к. это делать приходится только 1 раз, то думаю не смертельно.

Теперь, как именно следует удалять чей-либо пакет скриптов из игры.

1. Удалить в папке Scripts игры файлы init.*.xml и setup.plugin.*.xml, что шли в комплекте с данным пакетом скриптов (ну или все файлы, входившие в пакет скриптов).

2. Удалить в папке T все файлы 44.xml и 7.xml, что шли в комплекте с данным пакетом скриптов.

3. Скопировать мой скрипт-деинсталятор !setup.plugin.SoftUpgradesUninst.xml в папку Scripts игры.

4. Загрузиться с вашего последнего сэйва.

5. Подождать пока в вашем логе не появится сообщение вида «Search for uninstalled software upgrades is completed ...». На моем Athlon 3000+ это занимает порядка 55 секунд. На время влияет количество секторов в игре и количество ваших кораблей.
Внимание: ни в коем случае не делать Reinit Script Caches в редакторе и не сохраняться, пока выполнение п.5 не завершено! (Спасибо General за замечание)

6. Сохраниться и в дальнейшем использовать только этот сэйв (или более новые).

7. Удалить мой скрипт-деинсталятор из папки Scripts (иначе он будет запускаться каждый раз при загрузке сэйва, что впрочем не страшно, просто будет вам лог засорять и игру тормозить первую 1 минуту).

Процедура длинная, но все претензии к Egosoft. Просто авто-удаление неиспользуемых программных модулей в игре не было предусмотрено :(

Принцип работы моего деинсталятора основан на поиске всех апгрейдов только с именем «ReadText-####», т.е. ничего лишнего он вам не удалит ;)
Если ни одного апгрейда не удалено, то в логе появится сообщение вида:
Search for uninstalled software upgrades is completed in 55 sec. No uninstalled upgrades were found.

В противном случае, на каждый найденный программный модуль (всего их 20) в логе появится сообщение вида:
Upgrade id 5833 is no longer in use and has been removed from 14 stations and 2 ships.


19.09.2004 Выложил версию 2. Был найден и устранен небольшой недочет: не производился поиск апгрейдов на борту кораблей игрока, пристыкованных к какому-либо кариеру.
akm
К началу раздела | Наверх страницы Сообщить об ошибке
X2 - Скрипты - Деинсталятор неиспользуемых программных модулей
Все документы раздела: Главная |


Дизайн Elite Games V5 beta.18
EGM Elite Games Manager v5.17 02.05.2010