![]() |
|
![]() |
![]() |
Новости | Конференция | Чат | База данных | Творчество | Сообщество | О сайте | English |
![]() |
Помощь сайту |
![]() |
![]() |
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ОПИСАНИЕ Скрипт: Программный Модуль Ассистент Пирата (Pirate Assistant Software) Версия: 6.1 Автор: akm Разработан на базе модуля Ассистент Захвата 5.0 и полностью его заменяет и значительно расширяет функционально. Требует русской либо английской версии 1.4 X2-The Threat. Данный программный модуль можно приобрести на любой пиратской базе по цене 158 204 кредита. После его установки на любой из ваших кораблей, в его консоли появятся следующие команды: Раздел «Piracy» (Пиратство) 1."Find Nearest Pirate Bases [Find.Pir.Base]" или «Найти ближайшие Пиратские Базы [Поиск Пир.Баз]» Параметр: Количество пиратских баз. Требует наличия на корабле Advanced Satellite (Навигационный спутник Мк2) Распечатывает в лог указанное количество наиближайших пиратских баз, а также их ID, координаты, дальность. Указание в качестве параметра 0 или отрицательного числа приведет к выводу всех пиратских баз. Базы будут упорядочены по дальности. Имена враждебно настроенных к вам пиратских баз будут выделены красным цветом. Далее автоматом запускается автопилот следования на ближайшую невраждебную пиратскую базу.
Производит сканирование грузов во всех малых кораблях текущего сектора (М5-М3, TS, TP). Найденные корабли, имеющие в трюме заданный вами груз, упорядочиваются по количеству этого груза, а с одинаковым количеством по удаленности от вашего корабля. Затем три лучших варианта распечатываются в лог с указанием имени корабля, его ID, дистанции, к какой базе приписан, куда следует, сколько данного груза везет. Имена враждебно настроенных к вам кораблей будут выделены красным цветом. Далее автоматом запускается автопилот следования за лучшим из этих кораблей (т.е. самым верхним в логе).
Производит сканирование всех астероидов в текущем секторе. Астероиды заданного в параметре типа упорядочиваются по их «жирности» (Yield), а одинаковые астероиды по удаленности от вашего корабля. Десять лучших астероидов выводятся в лог с указанием их жирности, ID, координат и удаленности. Далее автоматом запускается автопилот следования за лучшим из этих астероидов (т.е. самым верхним в логе). Раздел «Additional Ship Commands» (Доп. Команды) 4. «Send Captured Ships to the Nearest Carrier or Shipyard [C.Assist]» или «АвтоОтправка захв. кораблей на ближ. М1/TL или верфь [АЗ]» Когда данная команда активирована в одном из доп. слотов консоли вашего корабля, все захваченные вами корабли будут автоматически и немедленно отправляться с поля боя «куда следует», а именно: 1) если в текущем секторе имеется одна или несколько верфей, то корабль будет отправлен на ближайшую «совместимую»; 2) иначе будет произведен поиск среди всех ваших M1 и TL, находящихся в текущем секторе и на которых активирована эта же каоманда «АвтоОтправка захв. кораблей...». Далее все найденные M1 и TL будут упорядочены по удаленности и будет определено свободное место в трюме ближайшего, а также будут проверены все ваши малые корабли в секторе на предмет их пункта следования, т.е. для всех кораблей, уже направляющихся на данный M1/TL будет зарезервировано место в ангаре. Если место в ангаре все еще имеется для «новенького» только что захваченного корабля, то он будет отправлен на этот M1/TL, иначе аналогичная проверка производится для следующего ближайшего M1/TL. 3) Если не удалось найти место в ангаре одного из M1/TL с активированной командой, будет произведен поиск ближайшей верфи дружественной или нейтральной расы и захваченный корабль отправляется на нее. Корабль не будет отправлен на ту верфь, на пути следования к которой есть вражеский сектор. Также корабль не будет отправлен через неисследованные вами сектора. Причем подсчитывается реальная дальность до каждой верфи, т.е. полный путь следования корабля без джамп-драйва, и выбирается оптимальная верфь. И большие, и малые верфи участвуют в поиске. Здесь можно ознакомиться с результатами работы алгоритма поиска ближайшей верфи из каждого из секторов. 4) Если не удалось найти ни одной верфи (например вы в одном из секторов хааков), то будет произведен дополнительно поиск среди всех М2 с активированной командой «АвтоОтправка захв. кораблей...» и захваченный корабль будет отпрален на ближайший М2 со свободным местом в ангаре. Если при достижении пункта назначения кораблю не удалось состыковаться, будет произведен повторный поиск, начиная с п.1. Любые действия захваченного корабля будут корректно отображаться как в его консоли, так и в меню собственности <R>. 5. «Adv. Autopilot of Target Interception by the Shortest Route [AP]» или «Автопилот Перехвата цели по кратчайшему маршруту [АП]» Когда данная команда активирована в одном из доп. слотов консоли корабля, стандартный автопилот этого корабля будет подменен модифицированным, суть которого упреждение движения цели, т.е. двигаться наперерез для перехвата цели по наикратчайшему маршруту. Причем не важно, каким образом вы запускаете автопилот, командой «Следовать» в консоли или же клавишей <U>. Т.е. команда «Автопилот Перехвата цели» в доп. слоте корабля работает как переключатель. Когда она активна, всякий раз вы нажимаете <U> будет запускаться автопилот с упреждением. Если вы ее выключили будет работать стандартый автопилот. "Автопилот Перехвата цели" также обучен подбирать контейнеры, т.е. если цель контейнер, то достаточно нажать <U> и корабль подлетит и подберет его (добавлено в версии 6.1). Эта функция требует наличия Special Command Software MK1 (Специальный программный модуль Мк.1). Теперь как работает упреждение. Фактически каждые 2 секунды производится анализ вектора скорости цели и его усреднение на интервале 18 секунд, т.к. цель редко двигается прямо. Производится расчет численными методами ближайшей точки встречи нашего корабля и цели с учетом нашей макс. скорости, текущих координат и вектора скорости цели. Собственно в эту точку наш корабль и направляется. При сближении на дистанцию менее 10*скорость нашего корабля, происходит переключение на стандартный автопилот, в результате чего наш корабль аккуратно сядет на хвост цели. Т.е. теперь достаточно взять цель в прицел, нажать <U>, по желанию <J> и попить пивка :alco: , пока наш корабль сам прокладывает кратчайший маршрут к цели. Причем есть хорошие шансы перехватить корабль даже более скоростной чем наш, т.к. даже в этом случае мы летим наперерез, и если этот корабль сохранит свой курс, то встреча просто неизбежна. :) Но и это еще не все :) Спустя первые 18 секунд, когда уже рассчитаны достаточно точно координаты «места встречи», система упреждения производит анализ пункта назначения цели и что ближе, та станция/ворота к которым летит наша цель, или предсказанное «место встречи». Если первое ближе, то наш корабль полетит туда же :) Цель прыгнула в ворота он туда же и дальше с упреждением к ней же. Если цель села на станцию, наш корабль полетит на стыковку с этой же станцией. Если до нашей стыковки цель вылетела со станции, то наш корабль снова включает упреждение и станет двигаться ей навстречу. Пару замечаний. Ни тригонометрических функций, ни тем более решения уравнений в скриптах не предусмотрено. Поэтому рассчеты производятся численными методами. Тем не менее, мне удалось так заоптимзировать алгоритм и формулы, что фактически производится лишь 1 итерация в 2 секунды! Причем формулы там смешные и нагрузка на движек скриптов мизерная. Единственное, точность первого предсказания (т.е. 2 сек спустя нажатия <U>) порядка 10-15%, спустя еще 2 сек 5-7%, ну и т.д. Т.е. немного подергавшись первые 10 сек (или 1сек в 10хСЕТА), наш корабль уже довольно уверенно полетит по оптимальной траектории наперерез. Тем не менее, цель иногда маневрирует, т.е. например избегает коллизию, и естественно наш корабль будет подстраиваться и менять свое направление. Как я уже заметил выше, анализируется перемещение цели в течении 18 последних секунд. Желайщим поиграться с этим параметром и интервалом итераций, что 2 сек, вы их найдете в самом верху скрипта 'akm.ship.predict.interception.p'. Только не ставьте меньше 5 и 1 соответственно ;) P.S. Когда вы только вылетели из ворот и жмете <U> просьба не удивляться тому, что ваш корабль понесло куда-то совсем в сторону. Это работает алгоритм избежания коллизий, что Egosoft добавил то ли в 1.3, то ли в 1.4, и отключить его никак нельзя :( т.к. он не в скриптах запрограммирован. Как только мы отлетим от ворот, дальше все будет ОК. 6. Кроме вышеперечисленных команд, наличие на борту Вашего корабля программного модуля «Ассистент Пирата» активирует систему деактивации собственных запущенных ракет в только что захваченный корабль. Т.е. все ваши ракеты, запущенные во вражеский корабль до того как он посинел, и в течении 5 секунд после, будут уничтожены. Установка Как вы уже заметили, программный модуль подорожал, т.е. это уже совсем не тот модуль, что использовался в 5.0. Поэтому, те пилоты, у кого уже установлен «Ассистент Захвата 5.0», внимательно прочитайте следующий пункт 1! Остальные его могут скипать :) 1. Перед установкой 6.0 из папки «scripts» игры удалите файлы «!setup.plugin.Capture.Assistant.xml» и «init.akm.Capture.Assistant.xml» (был в ранних версиях 5.0), можно и остальные, что шли в комплекте с 5.0. Перед или после установки текущей версии 6.0 желательно выкинуть прежний апгрейд «Ассистент Захвата» (Capture Assistant Software) за борт всех ваших кораблей, кроме того, на котором вы сидите сами. После установки 6.0 только на текущем вашем корабле будет совершена подмена на новый модуль «Ассистент Пирата» (Pirate Assistant Software). Т.е. его вам подарят бесплатно как постоянному клиенту :) 2. Скопировать содержимое архива в корневую папку игры. 06.10.2004 Обучил автопилот подбирать контейнеры. Т.е. если активирована команда «Автопилот Перехвата цели» в доп. слоте, то нажатие <U> когда в качестве цели контейнер, приведет к подбору этого контейнера.
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
Дизайн Elite Games V5 beta.18 EGM Elite Games Manager v5.17 02.05.2010 |
![]() |