Oolite
Имя
Пароль
 Запомнить
  Oopaedia - справочник по Oolite
Не в сети
Harmless

Зарегистрирован: 19.11.11
Сообщений: 2
Приветствую всех commander'ов!

Всегда интересно было, что же это такая за Elite, поиграть в которую возможности не было, так как 15 лет назад ее уже негде было запускать. Обнаружив проект Oolite, сразу поставил ее, понаставил кучу OXP и обнаружил, что в игре появилось столько всего, что не всегда понятно, что за оборудование предлагается, что за корабль или что за объект в космосе. Поэтому накидал кратенький справочник, этакую Oopaedia, где свел выжимку полезной информации по игре с учетом установленных OXP. Информация взята из англоязычных мануалов, русского руководства с этого сайта, описаний на Wiki. Справочник на русском, чтобы могли пользоваться те, у кого с английским не очень.


Справочник представляет из себя xls-файл с несколькими листами. Вот его текущее содержание (по листам):

"Станд. КА" - Характеристики базовых кораблей
"Корабли" - Сводная табличка с характеристиками кучи кораблей с Wiki
"Станции" - Описание всех объектов, к которым можно пристыковаться
"Оборуд." - Описание всего продаваемого оборудования
"Цены" - Информация по ценам на разных объектах торговли
"Управл." - Клавиши управления в игре
"HUD" - Описание всех элементов приборной панели
"Инфо" - Некоторая общая информация по игровой вселенной
"Миры" - Описание форм правления миров
"Деятельность" - Описание видов деятельности, которыми можно заниматься в игре
"Советы" - Некоторые моменты игрового процесса
"Ссылки" - Ссылки на основные интернет-ресурсы по игре

Качайте, пользуйтесь. Принимаются замечания и предложения по его дополнению (какие еще OXP стоит поставить и т.п.).

Всем удачи и успехов!


Вложения:
oopaedia.7z [108.25 KIB]

  Re: Oopaedia - справочник по Oolite
Не в сети
Competent
Аватар пользователя

Зарегистрирован: 01.12.09
Сообщений: 65
Очень приятно видеть такой вдумчивый подход к делу. Right on, commander!


  Re: Oopaedia - справочник по Oolite
Не в сети
Archangel
Аватар пользователя

Зарегистрирован: 21.11.09
Сообщений: 511
Да, достойная работа


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Хорошо сделано, камрад! Труд не пропал зря и будет востребован.
Можно бы и побурчать - таблицы в Экселе проматывать вправо-влево влом и вообще лучше бы сверстать справочник в PDF. Но это дело вкуса. Кому захочется - переделает ручками под себя.
Как насчет еще одного раздела - канонические OXP? Я думаю, пакет по минимуму выглядел бы так:

Модель вселенной Оолит - Famous Planets, Orbits, Planet Fall
Политическое устройство - Anarchies, Commies, Feudal States, Dictators, Galactic Navy, Random Hits
Корабли - Griff shipset all in 1

Я выбрал эти OXP исходя из простого критерия: они обогащают эстетику мира и пространство возможностей, не усложняя и не упрощая выживание юного Джеймсона.


  Re: Oopaedia - справочник по Oolite
Не в сети
Harmless

Зарегистрирован: 19.11.11
Сообщений: 2
Я для того и разместил файл здесь, чтобы выслушать предложения по его дополнению. Как наберем идей - дополним. Самую первую версию в pdf загонять не стал, наверняка еще справочник будет активно дополняться.

Файл верстал на своем 22" 1680х1050, у меня прокруток влево-вправо нет, так что звиняйте. :)


  Re: Выполнение миссий
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 02.12.12
Сообщений: 795
Как максимально использовать все возможности редактора сообщений для форумов на этом сайте - вставлять в текст ссылки, изменять цвет, размеры и шрифт текстов, вставлять в тексты рисунки и фотографии...
(азбука для пилотов и конструкторов).

Для создания текстов для сообщений на этом форуме используется язык гипертекстовой разметки. В нём есть служебные слова, которые называются управляющими тэгами. Они заключаются в квадратные скобки и обычно являются парными - один тэг открывающий, а другой тэг закрывающий. Всё, что между ними - будет обработано.

Вот примеры:
так изменяется цвет
так делается жирный шрифт
так делается шрифт с наклоном

а так делается цитата:
ПЕНСИОНЕР:
Хоть Вы, ПЕНСИОНЕР, этого и не говорили, но весь текст между этими тэгами будет показан, как Ваша цитата :D


А теперь сравните, как выглядит этот комментарий на форуме, и как выглядит он при редактировании (Рис.01, щёлкните мышкой по рисунку, чтобы увеличить):
Гипертекстовая разметка-01.JPG



Например, нам надо разбить большой цитируемый текст на куски и отвечать на каждый такой кусок. За основу берём комментарий Романа, вот отсюда viewtopic.php?p=2370&sid=204885f7fd4fecc7d8f497a30c732238#p2370:

RomanNV:
Как я победил Констриктора.

Да неужели? :)
RomanNV:
После того, как я перешёл в систему, где по сообщениям местных жителей обосновался Констриктор, я стал докапываться до всех встречаемых кораблей, дабы выяснить с пристрастием- а не Констриктор ли он?

А они не настучали Вам по кумполу за такую невежливость? :)
RomanNV:
Но никто из них не захотел сознаваться в этом.

И правильно делали! :)


Я расставляю эти тэги обычным копированием: выделил - скопировал. Вот и весь фокус! (Роман, не обижайтесь - это я иллюстрировал, как цитирировать собеседника отдельными кусками в одном комментарии. :) )

Теперь смотрите, как выглядит такой комментарий при редактировании (Рис.02):
Гипертекстовая разметка-02.JPG



Если тэги для цитат лучше всего расставлять простым копированием, то вставку других тэгов для обработки шрифта лучше всего вставлять автоматически.

Для этого нужно сначала выделить кусок текста, а затем нажать на нужную кнопочку.

Вот смотрите: вот этот выделяемый кусок будет окрашен в зелёный цвет. (Рис.03):
Гипертекстовая разметка-03.JPG



А вот этот выделяемый кусок будет красным, да ещё и жирным: нужно сначала выделить эту часть и нажать на кнопочку цвета "красный", а потом ещё раз выделить вместе с тэгами и нажать на кнопочку "В".

Смотрите на рисунок (Рис.04):
Гипертекстовая разметка-04.JPG



Чтобы вставить в текст своего комментария ссылку на другой комментарий, надо знать адрес этого другого комментария. Это очень просто - в правом верхнем углу каждого комментария есть дата. Если мы нажмём на неё правой кнопкой мыши, то в браузере появится меню, а в нём нужная строчка. Я использую "Оперу", поэтому строчка в моём меню написана так: "Копировать адрес ссылки".

Итак, щёлкаем правой кнопкой мышки по дате сообщения, выбираем строчку из меню "Копировать адрес ссылки", нажимаем на "Enter" - и адрес ссылки лежит у нас в буфере обмена.

Подводим курсор в любому месту своего редактируемого комментария, нажимаем "Ctrl + V" - и адрес ссылки автоматически вставляется в текст.


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Выгружаю обещанную таблицу базовых цен, которые Оолит создает по умолчанию. Как я уже говорил, калькулятор цен не нужен - вся информация уместилась на одном листе A4. Вариантов рынка всего 8 по типу экономики.


Вложения:
market price.zip [36.83 KIB]

  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Обещанный мануал по визуальному оформлению Оониверсума выгрузил на box.com (линк с моей персональной рубрики). Читайте, критикуйте. Если что, буду дорабатывать.


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Я выгрузил на box.com исправленную и доработанную версию Ambience OXPs.pdf

• Переработан раздел, касающийся Famous Planets
• В список OXP-"разукрашек" добавлен Orbits
• Добавлена информация про иерархию OXP в суперпакетах

ну и еще кое-какие моменты, которые я отчетливо осознал после завершения System Redux 0.5


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 02.12.12
Сообщений: 795
Методическое пособие "Русский метод - практическое разрешение конфликтов между пакетами ОХР"
(азбука для пилотов и начинающих конструкторов).

В пособии подробно, на примерах с иллюстрациями, рассказано, как практически разрешать конфликты пакетов ОХР.

Пособие лежит на файлообменнике в zip-файле "Russian_method_practical_solution_OXP_conflicts_RUS_opisanie.zip", ссылка находится в папке "Tch_Documentation_RUS" на форуме Авторские рубрики в теме Tch. Личная рубрика.


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 02.12.12
Сообщений: 795
Как быстро проверить работоспособность какого-либо пакета ОХР
(азбука для пилотов и конструкторов).

Иногда возникает необходимость быстро проверить работоспособность какого-либо пакета ОХР, но не хочется ломать уже сложившуюся привычную систему настроек многих сотен пакетов ОХР в папке "AddOns".

Как быть?

Вот простая технология, как это можно сделать очень быстро:

1. Изменяете название папки "AddOns" на какое-нибудь другое, например "AddOns-111".

2. Создаёте в том же месте рядом с прежней новую папку "AddOns".

3. Из папки "AddOns-111" КОПИРУЕТЕ в новую папку "AddOns" тот пакет ОХР, который нужно быстро проверить.

4. После чего запускаете игру и проверяете этот пакет. Это будет один-единственный пакет ОХР, дополнительно подключенный к дистрибутиву Игры. Если возникают ошибки в Игре, значит, это ошибки из этого проверяемого пакета ОХР.

5. Удаляете эту новую папку "AddOns" с проверяемым единственным пакетом ОХР.

6. Восстанавливаете прежнее название папки "AddOns-111" на то, какое оно было раньше: "AddOns".

Вот и всё. Проверка окончена, при этом ни одна настройка не сбита, все пакеты ОХР на месте в целости и сохранности.


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 02.12.12
Сообщений: 795
С учётом того, что stranger выложил свою новую разработку "Famous Planets ST 0.1.oxp", вот дополненная схема бесконфликтного подключения пакетов разукрашек Вселенной.

Папка "Universe_01.oxp" - сборник классических пакетов ОХР, которые были раньше.
Там пакет "Famous_Planets_v2.5.oxp" обновлён до версии 2.5.1 пакетом "Update_FamousPlanets2.5.1.zip" от Svengali,
пакет "System_Redux.oxp" обновлён до версии 1.2.3 пакетом "Update_SystemRedux1.2.3.zip" тоже от Svengali
из конфликтующих пакетов
"Darkspace_0.9.1_2011-12-07.oxp"
"farsun.oxp"
"RealisticStars SSC 1.1.oxp"
"Sensible Sun.oxp"
взяты универсальные лучшие настройки и размещены в пакете "Tch_Universal_for_Classic.oxp" от Tch, а прежние пакеты удалены за ненадобностью.
Пакет "Tch_Universal_for_Classic.oxp" можно скачать из приложения к этому комментарию.

Чтобы окончательно устранить конфликты, из пакета "System_Redux.oxp" придётся удалить секцию универсальных настроек, она находится в папке "System_Redux.oxp\Config" в файле "planetinfo.plist" и представляет собой кусок кода
Код:
   "universal" = {
      sky_blur_alpha = "0.25";
      sky_blur_cluster_chance = "0.10";
      ambient_level = "1.25";
      sky_blur_scale = "25";
      sky_n_stars = "3000";
      sky_n_blurs = "1000";
   };

Этот кусок кода нужно УДАЛИТЬ (можно сделать предварительно копию файла "planetinfo.plist", чтобы была возможность сохранить раритеный файл и откатить назад, если потребуется :) ).

Папка "Universe_02.oxp" содержит разукрашки Параллельного Мира номер 002 от Tch,

папка "Universe_03.oxp" содержит разукрашки от stranger,

а папка "Universe_04.oxp" - пакеты "Povray Planets" и др.

Важно! Из всех 4-х папок "Universe_01.oxp", "Universe_02.oxp", "Universe_03.oxp", "Universe_04.oxp" в текущий момент должна быть подключена ТОЛЬКО КАКАЯ-ТО ОДНА ПАПКА (на конце названия папки ".oxp"), остальные должны быть отключены (нужно дописать в названии папки на конце "===== off").

Вот пример правильного бесконфликтного подключения (щёлкнуть мышкой по картинке для увеличения):
2013-07-12 Настройки разукрашек Альтернативных Вселенных.jpg



Вложения:
2013-07-12 Tch_Universal_for_Classic.zip [5.62 KIB]

  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 15.05.11
Сообщений: 1531
Четыре технических дополнения к предыдущему посту.

1. farsun.oxp через скрипт умножает расстояние до солнца в 3 раза, так что если стоит настройка из Sensible Dun
Код:
sun_distance_modifier = 55;

то farsun отодвигает солнце на расстояние 55*3 = 165 единиц.

2. В System Redux ST 0.5 кусок кода с универсальными настройками уже удален.

3. Universal Sky делает то же, что и Tch_Universal_for_Classic.oxp, но его зона компетенции уже - пакет устанавливает только глобальную фоновую освещенность, вид звездного поля и туманностей. Я сознательно пошел на этот шаг, как как солнца у меня охвачены Sun Gear. Какой пакет выбрать в качестве универсальной заглушки - решать геймеру.

4. Famous Planets ST бесконфликтно работает в каноническом Оониверсуме при условии, что не установлен Povray Planets.

В целом с моей точки зрения Дерево Реальностей Оониверсума выглядит так:
1. Миры ВПЧ
2. Все остальное.
2а. System Redux + Famous Planets и их моды
2b. Povray Planets


  Re: создание OXP
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 02.12.12
Сообщений: 795
Как использовать оборудование, первоначально уже стоящее на корабле в самом начале игры
(азбука для начинающих пилотов).

На чистом корабле уже изначально стоит Система распознавания и захвата цели (сокращённо СРЗЦ).

Когда корабль вылетает с любой станции, первоначально всё отключено, и можно тыкать перекрестьем лазера в любой объект - ничего не произойдёт.

Чтобы активировать Систему распознавания и захвата цели, нужно нажать или кнопку "r" или кнопку "t".

Когда СРЗЦ активирована кнопкой "r", то разворачивая корабль вручную и наводя перекрестье лазера на цель, мы можем её захватить. При этом будет характерный звук и появится примерно такое сообщение "Цель захвачена, корабль Piton". Далее можно разворачиваться и лететь в другую сторону - цель при этом будет храниться в памяти СРЗЦ.

Другой способ активации СРЗЦ - это кнопка "t". Нажав её, мы включаем панель вооружений с ракетами, и при этом первая ракета встаёт на боевой взвод. Кнопкой "y" мы можем перебирать ракеты, последняя выбранная ракета останется на боевом взводе.

Всё готово, и мы можем также теперь выбрать цель, разворачивая корабль вручную и наводя перекрестье лазера на нужный корабль. Как только корабль попадёт точно в перекрестье, то опять будет характерный звук и появится надпись ""Ракета нацелена на корабль Piton". Это означает, что цель захвачена и лежит в памяти СРЗЦ.

Мы можем лететь дальше, в другую сторону, но в любой момент можем запустить ракету кнопкой "m" - и ракета полетит в ту цель, которая хранится в памяти СРЗЦ.

Чтобы захватить новую цель, нужно повторно нажать клавишу "t" - при этом прежняя цель сотрётся из памяти. Как только мы тыкнем перекрестьем лазера по новой цели, она опять запомнится в памяти Системы распознавания и захвата цели.

Если мы теперь нажмём кнопку "u", то ракета снимется с боевого взвода, а Система распознавания и захвата цели деактивируется. Можно теперь наводить перекрестьем лазера на любой корабль - он уже не будет захвачен на прицел.

Если Вы расстреляете все ракеты, и панель вооружений будет пуста, то кнопка "t" перестанет работать, и захватить цель в память СРЗЦ можно будет только кнопкой "r".

Это, так сказать, основы работы с системой СРЗЦ. Важно хорошо уяснить - на чистом корабле можно захвать в память СРЗЦ только одну цель, и только ручным способом - наводя перекрестье лазера на нужный корабль при активированной СРЗЦ.

Далее начинаем прикупать оборудование. Удобная штука - Сканер-целеуказатель (Scanner Targeting Enhancement), обычно к нему наворачиваются все другие прибамбасы.

Так вот - Сканер-целеуказатель лишь обводит маркером (зелёным квадратиком) текущую цель, которая хранится в памяти СРЗЦ, пишет около неё марку корабля, его легал-статус ("законопослушный", "нарушитель", "преступник") и дальность до цели в "км".

Как только мы нажимаем кнопку "u", то система СРЗЦ деактивируется, текущая цель стирается из памяти, и Сканер-целеуказатель отключает маркер цели.

Далее мнения разделяются - сторонники лазерной пальбы обычно прикупают прибор типа Интеллектуальный прицел (Target Reticle) (например, мой пакет "Tch_Equipment_Target_Reticle.oxp"). Он работает вместе со Сканером-целеуказателем и делает только одно: если лазер смотрит мимо цели - оставляет маркер цели зелёного цвета, а вот как только лазер наведён точно на цель - маркер цели тут же окрашивается красным цветом (кровавым! :) ). Но есть уже HUD (кабины пилотов) со встроенным Интеллектуальным прицелом, так что в этом случае дополнительно прикупать подобное оборудование не надо.

А вот для "ракетчиков" следующей удобной покупкой как раз будет Самонаводящийся прицел (можно мой пакет "Tch_Equipment_Target_Autolock_Plus.oxp", можно пакет "Target Autolock Plus 1.12.oxp", author Thargoid).

Это штука очень удобна в групповом бою, когда тебя лупцуют со всех сторон сразу несколько врагов, и когда нападают неожиданно.

Технология при этом такая: выныриваешь из гипер-пространства и сражу же кнопкой "t" активируешь Систему распознавания и захвата цели и панель вооружений с ракетами. Очередная ракета встаёт на боевой взвод.

Летишь дальше. Рядом мирные корабли (желтым цветом на радаре). Ты поворачиваешься к ним боком - а они неожиданно нападают и стреляют лазерами. Как только удар лазера попадает в корпус твоего корабля, то Самонаводящийся прицел автоматически захватывает тот корабль, который попал в тебя лазером и ракета с боевого взвода наводится на эту цель (цвет ракеты на панели вооружений при этом изменяется с жёлтого на красный).

Обратите внимание - не надо разворачиваться, искать атакующего и наводить на него перекрестье лазера - цель захватывается мгновенно, когда ты продолжаешь лететь своим курсом. Нужно только лишь нажать на клавишу "m" - и ракета полетит в захваченную цель.

При этом на радаре захваченная цель начинает мигать. Таргоид сделал в своём пакете мигающий цвет красно-синий, а я у себя переделал на красно-розовый - чтобы не спутать с летящей ракетой. Ракета на радаре синим цветом, можно подумать, что в тебя пуляют. :)

Так вот - тут говорили, что воевать ракетами дорого и неэффективно - обычно их уничтожают Системой противоракетной обороны ECM (E.C.M. System). Или враги, или ты сам - если видишь, что в тебя стреляют ракетами, то запускаешь свою ECM, а она уже без разбора уничтожает все ракеты подряд - и чужие, и свои. :)

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

Так вот, если нападают группой и дело жаркое, то я делаю так: запускаю ракету по захваченной цели клавишей "m" и сразу же опять жму кнопку "t" - тем самым Самонаводящийся прицел опять готов к захвату новой цели. Ещё один вражеский удар лазером - и новая цель на прицеле, и опять очередная ракета уходит на врага. Сразу же опять нажимаю "t" и опять готов к захвату новой цели. Такая вот круговерть. :)

При этом тут некогда разбираться - то ли один и тот же корабль в тебя попадает, то ли разные корабли врагов. Тут не надо терять время - пусть лучше несколько ракет летят в один и тот же нападающий корабль. Ведь если он попадает в тебя несколько раз подряд, то прицел у него точный, и лучше гарантировано вывести такой корабль из боя. А если повезло, и захвачены были разные корабли врага, то несколько твоих ракет полетят по разным врагам - и тогда сразу несколько кораблей вынуждены будут уклоняться от ракет, прекращая лазерную стрельбу.

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

А если все ракеты выпущены, а тебя мочат по-прежнему сильно - то самое время уносить задницу из пекла боя. :) Для этого нужно включать форсаж Топливным инжектором (Witchdrive Fuel Injectors), а лучше всего отскакивать с помощью моего Нуль-транспортировщика "Попрыгунчик" из пакета "Tch_Equipment_Tiny_Jumper_1.2.0_2013-09-06.oxp":) .

Следующая покупка - это Расширенная память Системы наведения на цели (Target System Memory Expansion). Это матрица памяти на 16 целей. Теперь все цели, которые захватывает СРЗЦ, не теряются при захвате очередной цели, а запоминаются в Расширенной памяти, и их можно перебирать по очереди клавишами "+" или "-". При этом Сканер-целеуказатель обведёт маркером выбранную цель (она станет текущей), и ракета будет нацелена именно на неё.

Тут важно понимать: способ захвата целей может быть разный - или ручной, перекрестьем лазера, или автоматический, с помощью Самонаводящегося прицела. И уже захваченные цели запоминаются, и их можно перебирать. Корабль при этом не меняет курса, перепрыгивает лишь маркер выбранной цели, и ракета готова ударить именно по выбранной цели.

На первый взгляд - штука только для "ракетчиков". Действительно, хороша тем, что помогает готовить ракетную атаку по заранее захваченным целям. Захватил цель издалека, подлетел ближе - и всадил ракетой.

На самом деле, не очень удобно. Потому что запоминаются все цели подряд - и "законопослушные", и "преступники" - все в одном флаконе, и в горячке боя можно по ошибке выпустить ракету не в того, в кого следовало бы. Да и в бою уже некогда запоминать цели, обычно первая же захваченная и расстреливается, а уже после боя смотришь - что же ты там назапоминал и что осталось? :)

Но всё изменяется, когда прикуплен Автоматический наводчик - робот "Ванюша" из пакета "Tch_Equipment_Automatic_Gunlayer_1.2.0_2013-09-09.oxp".

Вот тут уже как раз Расширенная память Системы наведения на цели очень нужна - потому что "Ванюша" удерживает цель на мушке лазера лишь несколько секунд, а затем отпускает. Маркер цели по-прежнему указывает на эту же цель, а она уже отпущена. Как быть?

А вот как: кнопками "-" или "+" Расширенной памяти можно опять выбрать эту же цель! Правда, чтобы до неё добраться, надо быстро перебрать все захваченные цели - и "законопослушных", и "преступников".

Но это не страшно - теперь "Ванюша" умный. Он удерживает на мушке только "преступников", а на "законопослушных" лазер не поднимает. :) Удерживает также только тех "преступников", которые в конусе захвата - это позволяет не отклоняться сильно от маршрута. И, наконец, по первому же требованию (переключению на другую цель) тут же отпускает любую удержанную ранее цель.

Таким образом, Расширенная память помогает быстро найти прежнюю цель и "Ванюша" снова возьмёт её на мушку - и можно опять расстреливать её лазером. Затем опять можно выбрать эту же цель - и опять будет новое удержание. И так до тех пор, пока цель не будет расстреляна окончательно.

Вот такой краткий обзор основных приборов и оборудования корабля. :)


  Re: Oopaedia - справочник по Oolite
Не в сети
---Elite---
Аватар пользователя

Зарегистрирован: 02.12.12
Сообщений: 795
Как быстро проверить работоспособность пакетов ОХР, создающих корабли в Игре
(азбука для пилотов и конструкторов).

1. Создаём свой тестирующий пакет с оригинальным названием, например "vasig_test_ships.oxp", в пакете создаём папку "Config", в этой папке создаём файл "script.js", в этот файл записываем вот такой код:
Код:
//--- Главное событие: Корабль стартует из станции, ПОСЛЕ прохода туннеля
this.shipLaunchedFromStation = function( station ){

   system.addShips("Роль корабля", 10, player.ship.position, 10000);
}


2. В проблемном пакете ОХР в папке "Config" ищем файл "shipdata.plist", в этом файле ищем тип корабля, который почему-либо не появляется в игре, и смотрим, какая задана роль у этого типа корабля, затем копируем название этой роли и подставляем в код, который написан выше, вместо "Роль корабля".

Обычно в пакетах для корабля задаются несколько ролей - стандартные (например, "pirate") и оригинальная, с особым именем. Нужно брать оригинальную роль. А если там есть только стандартные, то временно вместо "pirate" пишем что-нибудь своё латинскими буквами, например, "vasig_test_this_ship" и эту же фразу подставляем вместо "Роль корабля" в коде.

Таким образом, сразу после вылета из любой орбитальной станции у нас в игре около корабля должно появиться сразу 10 таких кораблей именно этого типа, на расстоянии 10000 м от корабля. Такую шайку легко заметить. :)

Если они появляются, то, значит, в конструкциях корабля проблем нет, надо уже проверять скрипты из этого проблемного пакета - ошибка может быть уже в скриптах.


Будьте внимательны! Роль корабля и тип корабля - это две большие разницы, этот момент необходимо чётко уяснить.

Покажу на примере корабля-убийцы "Cobra3 XT".

Откройте в пакете "Cobra3 XT.oxp" в папке "Config" файл "shipdata.plist"

Обратите внимание: сколько там типов этих кобр - "cobra3XT-pirate", "cobra3XT-black_knave", "cobra3XT-alternate", "cobra3XT-player" - это всё ТИПЫ кораблей.

Тип корабля - это то название, которое открывает программную конструкцию объекта, вот код для примера с открывающей скобкой начала конструкции:
Код:
"cobra3XT-pirate" =
   {

А роль корабля - это то, что этот тип корабля будет делать в игре: изображать пирата или изображать торговца, либо вообще выполнять свою индивидуальную задачу. Ищем в этой же конструкции следующие строчки кода
Код:
      name = "Cobra Mk3-XT";
      roles = "pirate";

Итак, что получается:
тип корабля - "cobra3XT-pirate"
имя корабля - "Cobra Mk3-XT", оно будет видно на маркере цели
роль корабля- "pirate", это то, что будет делать корабль в игре.

Теперь, в зависимости от этих названий, можно вводить этот корабль в игру. Это можно сделать несколькими разными способами. Для справки лучше заглянуть на страничку "Methods", вот по этой ссылке: http://wiki.alioth.net/index.php/Methods

Ищем там тему "Looking for, and adding ships". Там полный перечень функций, каким образом это можно сделать. :)

Если мы посмотрим для примера, каким способом вводится в игру тот же корабль-убийца "Cobra3 XT", то в пакете "Cobra3 XT.oxp" в папке "Scripts" в файле "spawnknave-script.js" увидим, что введение корабля задаётся непосредственно в выбранной позиции:
Код:
      system.addShips(this.role1, this.count1, player.ship.position, 10000);

т.е. прямо около корабля игрока! :)

Этот код стоит показать полностью и прокомментировать:
Код:
this.role1 = "black_knave";
this.count1 = 1;

Итак, роль корабля в игре - "black_knave". Такая необычная роль означает на практике, что в игре может появиться только один-единственный тип корабля, у которого эта роль записана в его конструкции - "cobra3XT-black_knave". Думаю, что во всех пакетах нет больше кораблей, у которых есть эта роль. Ни Питон, ни Мамба, ни Боа - только кобра-убийца "cobra3XT-black_knave" :)

Следующая строчка кода - это задаётся количество кораблей с этой ролью, которое должно появиться. Я уже писал в своих "Демонстрационных полётах", что пытался запустить в игру сразу 100 этих Кобр-убийц, но компилятор выдал ошибку: "Error: System.addShips: Invalid arguments (100) -- expected number (positive count no greater than 64)."

Далее код такой:
Код:
this.shipWillExitWitchspace = function()
{
   if (Math.random() >= 0.99 && player.score >= 128)   
   {
      system.addShips(this.role1, this.count1, player.ship.position, 10000);
   }
};

Это означает, что Кобра-убийца появится в системе в непосредственной близости от корабля игрока, в случайной точке пространства в пределах дальности 10000 м (player.ship.position, 10000), сразу после того, как корабль игрока вынырнет из гипер-пространства (this.shipWillExitWitchspace), при этом если игрок уже имеет достаточный боевой опыт (player.score >= 128) и если представится удобный случай - один шанс из 100 (Math.random() >= 0.99)

Обратите внимание - генератор случайного числа Math.random() очень редко выдаёт число, которое более 0.99 (0.992674884, или 0.99868577 или т.п) - вот почему вероятность появления Кобры-убийцы будет здесь 1 процент.

А если мы хотим получить 100-процентную вероятность появления Кобры-убийцы, нам нужно изменить строчку кода вот так: Math.random() >= 0 - и тогда, какое бы число не сгенерировал генератор, оно всегда будет больше 0 и поэтому Кобра появится гарантировано в 100 случаях из 100. :)


Новая тема  Ответить  
Показать сообщения за:  Сортировать по:  









Список форумов / Обсуждение игры и OXP

cron