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

X2 - Скрипты - Программный Модуль АвтоРемонта/Замены Кораблей (aka Ship Auto Service Software)

ОПИСАНИЕ

Скрипт: Программный Модуль АвтоРемонта/Замены Кораблей (Ship Auto Service Software)
Версия: 1.1
Автор: akm



Данный пакет скриптов изменяет алгоритм поведения всех транспортов игрока классов TS и TP при их атаке, а также добавляет в командную консоль ваших станций в раздел «Station Commands» (Команды Станции) две команды:

1. «Send Damaged Ships for Service and Replace Killed [AutoSvc]»
или «АвтоРемонт Поврежд. Кораблей и Замена Убитых [АвтоРем]»

2. «Global Tuning of Auto Ship Service and Replacement [AS.Tune]»
или «Глоб. Настройка АвтоРемонта/Замены Кораблей [АР.Настр]»

При атаке ваши транспорты (только TS и TP) будут теперь действовать следующим образом:

1. При попадении по транспорту, он сразу делает защитный маневр «уж на сковородке» продолжительностью 3 сек и интенсивностью 99 с целью увернуться от остальных зарядов текущего залпа, при условии что транспорт еще не заходит на посадку (т.е. дистанция до станции более 2км).

2. Анализируется уровень щитов и, если он 80% или ниже, запускается 5 дронов с командой защищать транспорт, если дроны конечно есть на борту, либо оставшиеся, если их меньше 5. В случае, если это не первый запуск дронов, проверяется сколько их осталось в космосе, и выпускается именно столько, сколько необходимо чтобы поддерживать заданное количество 5 дронов.

3. Если щит транспорта просел до 70% и ниже и макс. скорость атакующего больше макс. скорости транспорта, запускается скрипт бегства к ближайшей станции, по достижении которой транспорт будет отсиживаться на ней и ждать пока в радиусе 10 км от этой станции не будет ни одного врага. По окончанию «отсидки» транспорт вернется к своему прежнему заданию.


Теперь описание команд, которые кстати никак не влияют на вышеизложенный алгоритм.

1. «Send Damaged Ships for Service and Replace Killed [AutoSvc]»
или «АвтоРемонт Поврежд. Кораблей и Замена Убитых [АвтоРем]»

Когда данная команда активирована в одном из слотов консоли фабрики, все приписанные к данной фабрике корабли классов TS, TP, M5, M4 и M3 могут полностью автоматически обслуживаться на ближайшей к данной фабрике верфи (любой малой/большой) на предмет ремонта, пополнения запаса дронов и полной замены корабля, каким бы образом он не был уничтожен, т.е. будет закупаться точно такой же новый корабль и покупаться и устанавливаться все оборудование и апгрейды, которые присутствовали на уничтоженном корабле.
Безусловно ближайшая к фабрике верфь вовсе не обязана продавать такой же корабль и все необходимые апгрейды. Но с целью упрощения скрипта (читай нагрузки на процессор) я решил не делать многократный поиск всех верфей, доков и фабрик, по которым бы затем пришлось прогонять наш корабль чтобы полностью его оснастить. Принята такая условность, что все верфи во вселенной Х2 как бы сотрудничают между собой и всегда могут «добыть» нужные железки для своих VIP клиентов :) естественно за доп. оплату. Т.е. за подобный сервис, не зависимо от оборудования и вида услуг, верфь возьмет с игрока доп. 10% от стоимости всего закупленного оборудования и стоимости ремонта.

Проверку, необходим ли кораблю ремонт, регулярно производит фабрика для всех своих кораблей (т.е. у которых Homebase установлен на эту фабрику), но только если в ее консоли запущена команда АвтоРемонта/Замены и только в пределах сектора, где эта фабрика установлена. Кроме того, такая проверка производится каждый раз после завершения атаки на корабль (в любом секторе). И, если уровень корпуса корабля в % ниже установленного в глобальных настройках для данного класса кораблей, то он приостановит свою работу и будет отправлен ремонтироваться. Ремонт и загрузка израсходованных дронов производится за несколько секунд, с основного счета игрока будет автоматически снята оплата и данная верфь отправит в лог сообщение вида:

"Поврежденный Деметра 1, приписанный к Ваша Пшеничная Ферма 1, отремонтирован. С вашего основного счета были перечислены 38724 кредитов за ремонт плюс 3872 сбор за сервис. Спасибо!"
или
"Damaged Demeter 1 from Your Wheat Farm 1 is repaired. Your main account was billed 38724 credits for the repair plus 3872 service fee. Thank you!"

После чего отремонтированный корабль будет немедленно отправлен выполнять ту же самую команду и с теми же параметрами, что он выпонял в момент, когда его прервали. А с вашей фабрики в лог будет отправлено следующее сообщение:

"Ваш корабль Деметра 1 отправлен Загружать товар по лучшей цене... Батареи"
или
"The ship Demeter 1 is sent to Buy ware for best price... Energy Cells"

В случае, если на основном счету игрока недостаточно денег, чтобы полностью оплатить сервис, будь то ремонт или замена убитого корабля и его оборудования, данная операция будет приостановлена а в лог верфью будет отправлено сообщение:

"На вашем основном счету недостаточно денег для ремонта поврежденного Деметра 1. Необходимы 42596 кредитов."
или
"You have no sufficient funds on your main account to repair damaged Demeter 1. The funds required are 42596 credits."

Как только на вашем счету появятся необходимые верфи деньги, все дальше пойдет стандартным ходом :)

Аналогичным образом производится АвтоЗамена уничтоженных кораблей, т.е. уже через несколько секунд сбитый кораблик будет подменен точно таким же новеньким на ближайшей к фабрике верфи. http://a-k-m.nm.ru/X2/MyScripts/AotoSvc1.jpg

Ремонтировать ли корабли данного класса, при каком уровне корпуса и покупать ли новые корабли в замен уничтоженным, все эти настройки вы можете поменять сами с помощью команды:

2. «Global Tuning of Auto Ship Service and Replacement [AS.Tune]»
или «Глоб. Настройка АвтоРемонта/Замены Кораблей [АР.Настр]»

Команду можно запустить на любой фабрике, но изменяемые ей настройки являются глобальными для всех кораблей всех фабрик. Команда имеет два параметра:

1. Ship Class, допустимые значения:
TS;
TP;
M5;
M4;
M3;
Истребитель
(Fighter), т.е. M5-M3;
Небольшой корабль (Little Ship), т.е. TS, TP, M5-M3.
Т.е. есть возможность менять настройки как индивидуально для каждого класса, так и группами. Указание любого другого класса не из списка приведет к тому, что будут только распечатаны все текущие настройки в лог, что тоже бывает полезно.

2. Hull Percentage Limit for Repair , допустимые значения:
0отключает АвтоРемонт для данного класса, режим АвтоЗамены убитых кораблей данного класса не меняется;
1..100включает АвтоЗамену убитых кораблей данного класса и выставляет порог для их АвтоРемонта (корабль будет отправлен в ремонт как только его hull% опустится ниже этого порога);
-1..-100 — то же самое, но отключает АвтоЗамену убитых кораблей данного класса.

Каждый раз, после выполнения данной команды, http://a-k-m.nm.ru/X2/MyScripts/AotoSvc2.jpg в лог будут распечатаны текущие настройки для всех классов кораблей::/url::, для которых в данный момент активизированы либо АвтоРемонт, либо АвтоЗамена. Т.е. если вы в распечатанной в лог таблице настроек не видите какого-то класса, значит для этого класса полностью отключены и АвтоРемонт, и АвтоЗамена.
Сразу после установки данного пакета скриптов, настройки будут следующими:
АвтоРемонт и АвтоЗамена только кораблей классов TS и TP, порог для авторемонта 85% для обоих классов.

Таким образом, имеем весьма простую и в тоже время гибкую систему настройки, где первой командой можно «пометить» те фабрики, обслуживание транспортов и охраны которых необходимо, а второй можно менять какого рода обслуживание требуется для каждого из классов. К слову первая команда параметров не имеет вообще, запустил и забыл ;)

Установка

Скопировать содержимое архива в корневую папку игры. Скрипт требует русской либо английской X2-The Threat версии 1.4.

Несколько замечаний и наблюдений работы данных скриптов.
Не смотря на довольно высокую сложность и функциональность данных скриптов, они не будут значительно нагружать процессор. Тот же скрипт реакции корабля на сигнал «атакован» едва ли стал сложнее оригинального, т.к. просто выкинуто все лишенее, а казалось бы сложная процедура поддержания заданного количества дронов охраны, на самом деле не производит ресурсоемкий поиск и подсчет дронов в секторе, а просто производится декремент глоб.счетчика дронов когда очередного сбивают в обработчике сигнала «убит» дрона.
А подспорье от дронов неплохое ;) Даже от «снайпера» Khaak M3, от которого дроны хлопаются как мыльные пузыри :) транспорт как правило успевает оторваться на 10 км (наблюдал за Paranid Demeter, у которого 175м/с), пока какский М3 (макс. заапгрейдженный) игрался всего с пятеркой дронов. А тому же Ксенон L этих дронов надолго хватает ;)
Так что я бы советовал кинуть 10-20 дронов в трюм транспорту, на случай если он нарвется на кого-то зубастого. Только если у транспорта меньше 50МВт щитов, дроны тут уже вряд ли помогут, просто не успеют :)
Запас дронов пополняется на верфи при ремонте и замене транспорта. Причем докупаться будет именно столько дронов, сколько данный транспорт израсходовал за все время полета со времени последнего ремонта.

Насчет возврата кораблей к прежним заданиям после их ремонта и замены.
Как покупка нового, так и ремонт старого корабля фактически создают новый корабль-клон и процедура выцепливания старого задания и его параметров и назначения этого же задания новому кораблю-клону имеет ряд ограничений. Я проверял ряд стандартных команд, как торговых, так и боевых и навигационных, — все великолепно «переезжали» на новый корабль. Не проверял автоторговца. К слову, мои скритпты пока что не пересаживают пилота в новый корабль. Т.е. все те скрипты, где ведется учет статистики и уровня пилота, при АвтоРемонте и АвтоЗамене обнулят уровень пилоту и статистику. Проблемка из разряда легко решаемых, так что если кому нужно, могу реализовать в следующей версии «пересадку» пилота.
Насчет совмещения с другими нестандартными скриптами-командами. Если эти команды написаны по тем же правилам, что пользуется Egosoft в стандартных скриптах, то с большой вероятностью корабль после АвтоРемонта/Замены благополучно вернется к выполнению этой же команды с прежними параметрами. В общем, сторонние скрипты обязаны содержать следующие команды:
[THIS]-> set command — для установки команды;
[THIS]-> set target, [THIS]-> set target2 — для установки ее параметров.
И еще, если корабль болтался без какой-либо команды в космосе или на станции, то после ремонта/замены он будет отправлен домой.


23.09.2004 Новая версия 1.1. Исправлен баг, приводивший к исчезновению команд в меню фабрики при загрузке сейва.
Добавлено автоотключение уже запущенных команд «АвтоРемонт» после удаления данного пакета скриптов.
akm
К началу раздела | Наверх страницы Сообщить об ошибке
X2 - Скрипты - Программный Модуль АвтоРемонта/Замены Кораблей (aka Ship Auto Service Software)
Все документы раздела: Главная |


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