Инструкция по моддингу на сайте Egosoft
X Rebirth
x-rebirth.x3tc.net
X Rebirth  
 

Форум X Rebirth:


    10.06 Вопросница по X-Rebirth
    17.01 X Rebirth Lost Sectors Mod
    17.04 Вопросница по скриптам и модам для X-Rebirth
    15.09 Собрание скриптов и модов для X Rebirth
    21.09 Технические проблемы X Rebirth
    13.09 Мод "Меню строительства кораблей" (релиз)
    29.08 Захват и абордаж в X-Rebirth
    04.02 Русский перевод X-Rebirth
    19.10 Патчи, фиксы, ченджлоги
    04.09 Планы, дела, с кем воюем, что имеем, сколько денег, часы игры и т.д.

Форумы X:


    00:47 Вопросница по чистой X3:AP
    21:33 Вопросы по скриптам и модам для X3: Albion Prelude
    07.06 X3: Farnham's Legacy
    20.05 Дневники Пилота
    20.05 Вопросница по чистой игре X3:TC
    15.04 Прохождение X3: Farnham's Legacy.
    12.04 ПОЗДРАВЛЯЛКИ
 

Инструкция по моддингу на сайте Egosoft


Форум X Rebirth / Скрипты и моды X Rebirth / Инструкция по моддингу на сайте EgosoftПоиск :: Войти
Тема устарела

Количество: 11
1
Инструкция по моддингу на сайте Egosoft
17.11.2013 20:57:13
eliseeff

Репутация: 25259
Сообщений: 18270
Регистрация: 08.05.2009
На сайте разработчиков игры опубликован довольно обширный туториал (ака самоучитель) по моддингу для X-Rebirth.




А еще они выдали гайд по Mission Director.

Редактировалось 1 раз (а). Последний раз 07.12.2013 19:50:40.

20.11.2013 15:11:00
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
X Rebirth - Руководство по созданию модов.

Следующая информация представляет интерес  для тех кто желалает создать мод своей игры.
расположить мод в игре можно подобно папке mods в TC,но наименовать папку extensions, в чистой игре такая папка отсутствует.

Создаем папку с именем extensions, по пути: ..\Steam\ steamapps\common\x_rebirth\extensions\
У кого не стим версия создаем :..\x_rebirth\extensions\
Это папка ваших мод-расширений.
Для использования разных модов просто забрасываем их в папку extensions\.
Пример пути к нашему "творению" будет выглядеть :
..\Steam\steamapps\common\x_rebirth\extensions\AwesomeMod_v2\content.xml

Примечание:
Модинг в X Rebirth это создание или изменение содержания игры в основном по средством  изменения XML-файлов игры.Менять можно все:
-цвет магистралей.
-содержание миссий.
-материалы и предметы.
-карту вселенной.

самые важные папки для моддинга:

 \scripts - содержит скрипты для изменения различных аспектов игры.
 \extensions - папка с вашими модами
 \index - components.xml и macros.xml .Это два важных файла, которые ссылаются на другие файлы и папки .
 \libraries - файлы библиотек различных игровых элементов.
 \maps -  файлы карт галактики , сектора,  трассы и зоны.
 \md - файлы миссий.
 \t - "языковые" текстовые файлы.


Важно:
 Важный вопрос -- объединять или не объединять?
 Изменения вносимые Вашим модом никогда не следует объединять с базовыми игровыми файлами. Иначе, нет никакого способа разделить многократные моды, которые внесли изменения в общие файлы. Это означает, что все Ваши изменения должны входить в файлы мод-расширения и корректным способом применены.
 Когда Ваш мод будет активен, игра исследует Вашу структуру каталогов мод-расширения, чтоб определить, содержит ли Ваше мод-расширение файлы с названиями как и те, которые используются в базовой игрой. Если игра найдет "базовый" файл в Вашем моде, то она должна знать, что сделать с информацией.
 Также можно использовать другой формат XML-файла в модах. Он известен как формат патчей-"урывков", и он использует XML Patch стандарт , чтобы определить изменения в основном файле. Это мощный инструмент, поскольку может непосредственно изменить основной XML-документ, добавляя, изменяя и удаляя узлы и параметры.

--------------------------------
Содержание:

 Это руководство демонстрирует различные методы, которые могут использоваться, чтобы изменить игру.Это руководство написано с целью "обучения на практике"в форме учебного пособия "ака самоучитель", включает различные примеры дополнений к карте Вселенной и других изменений.

Часть 1: Изображения и Эффекты 

 Пример 1: Создайте модифицирующее расширение (мод-расширение)
 Пример 2: Измените атрибуты цвета эффекта
 Пример 3: Создайте собственную рекламу для рекламного щитка

Часть 2 подраздел A: Редактирование Вселенной

 Пример 4: Добавьте новый кластер
 Пример 5: Добавьте новый Сектор
 Пример 6 Работа с зонами

Часть 2 подраздел B: Редактирование Вселенной

 Пример 7: Магистрали и Сверхскоростные Магистрали
 Пример 8: Работа с Областями - Полями
 Пример 9. Создание собственных кластерных бэкграундов
 Пример 10. Создание собственных текстур планеты

Часть 3: Приведение в чувство Вселенной "организация искуственной жизни"

 Пример 11: Работа с Jobs -"заданиями" (спаунд AI)
 Пример 12: Работа с Mission Director (директором миссий)

  Предлагаемое программное обеспечение и справочные материалы :

 1. Visual Studio Express (free) или аналогичный XML-редактор .
 2. Редактор изображений Photoshop (free CS2 version) с DDS плагином или GIMP.
 3. 7-Zip File Manager (или другой) для операций с файлами изображений.
 4. Для распаковки основных файлов данных игры Egosoft  XRCatTool.exe (ссылка в ближайшее время)
 5. Пример мод-расширения разработаного для этого руководства - osr_universe.rar
 6. документ RFC 5261.
 7. HHD Free Hex Editor (или другой)
 8. Официальный Mission Director "гайд" -(XRMissionDirectorGuide.pdf - eng.)

------------
Часть 1: Изображения и Эффекты
	
Пример 1: Создайте модифицирующее расширение (мод-расширение)
 В первую очередь необходимо создать папку для файлов нашего мода и назвать папку extensions.(где см. начало поста)
Качаем обучающие примеры модификаций  -  osr_universe.rar, этот небольшой архив содержит упомянутые в данном руководстве файлы. (примеры мод-расширений)
Ваша структура каталога будет выглядеть следующим образом :

..\x_rebirth\extensions\
                         - osr_universe\
                                        - assets
                                        - index
                                        - libraries
                                        - maps
                                        - md

Откройте в папке osr_universe файл content.xml вашим XML-редактором.Здесь Вы будете видеть различные текстовые поля для автора, описания и другое, связанное с идентификацией Вашего мода и информация, выводимая на экран в подменю расширений игры.
  Такое мод-расширение состоит из единственного модифицирующего каталога и файла content.xml. Такой мод ничего фактически не сделал бы, но покажет в меню что может быть активировано и деактивировано.
---------
           Пример 2: Измените атрибуты цвета эффекта.

   Здесь мы будем изменять атрибут цвета магистрали с желтого на синий.
Откройте файл material_library.xml который расположен в extensions\osr_universe\libraries
  Если вы открыли игру (используя XRCatTool.exe ) , вы сможете открыть material_library.xml файл основной  игры, для сравнения с нашим файлом примеров мод-расширения.
  В основном файле игры, врубаем поиск по слову " highway_tube "  в material_libary.xml . Вы увидите определение кода для цвета магистрали. Это выглядит примерно так:
	

 Код:
  1. <material name="highway_tube" shader="shaderfx\high\XU_highway_tube.fx" blendmode="additive" preview="none">
  2.        <properties>
  3.  .....
  4.          <property type="Color" name="color_tint" r="180" g="200" b="120" a="255" value="(color 180 200 120)"></property>
  5.  ......
  6.        </properties>
  7.        <variations></variations>
  8.      </material>
 

	
В этом случае, всё, что я хочу сделать, изменить цвет магистрали. Если бы я хотел создать новый атрибут, то я мог простой добавлять единственную новую запись в своей модифицирующей версии этого файла, и игра нашла бы его, что его определений добавлено в конце material_libary.xml.

 Однако, так как я не хочу добавлять новую запись или объединять с записями оригинальной игры, я буду использовать метод "урывков", чтобы изменить существующее определение следующим образом (смотрим XML стандарт RFC 5261 для понимания, как это делается):
 
 Код:
  1. <diff>
  2.    <!-- Changes Tube Color from yellow to blue -->
  3.    <replace sel="/materiallibrary/collection[@name='effects']/material[@name='highway_tube']/properties/property[@name='color_tint']">
  4.      <property type="Color" name="color_tint" r="120" g="124" b="200" a="255" value="(color 33 13 98)"></property>
  5.    </replace>
  6.  </diff>
 


   Эта новая версия material_libary.xml отличается от стандартного файла следующим образом:

 a).Используеться <diff> <различный> корневой узел. Это указывает игре, что я применяю некоторое "различие <diff>" для существующих базовых определений. Используя <replace sel>, мы ищем значения, которые мы изменяем "replace-заменить" . В этом случае, мы изменяем color_tint для этого эффекта.

 b). Наш файл "замены урывков" содержит ТОЛЬКО изменения, которые мы производим. Он НЕ включает все другие записи (если бы это было сделано, то игра запуталась бы из-за двойных записей).

 Примечание: исходные базовые игровые файлы никогда не должны изменяться. Все, что Вы делаете, создаёте изменения и помещаете их в Ваши папки мод-расширений.

 Изображения, как мы изменили это в игре:
http://www.worldwidemods.com/ftp/images/rebirth/tube_color.jpg
----------
         Пример 3: Создайте собственную рекламу для рекламного щитка

  Давайте посмотрим, что необходимо для замены одной из существующих реклам.
 Определитесь, какою из существующих реклам, Вы хотите заменить.
  Найдите папку \assets\fx\textures\ads
 Распакуйте все .gz файлы в новую папку для просмотра.
 Переименуйте редактируемый файл  на *.* *.dds. Это  дает возможность редактировать файлы как изображения ( чем они по сути и являются).
  Используя DDSредактор изображений , найдите и откройте изображение, которое соответствует изображению рекламного щита который вы хотите заменить.
  Создайте и сохраните новое изображение в формате .dds, (оно должно точно соответствовать пропорциям изображения которое вы заменяете)
 В этом примере я назвал этот файл как : ads_osr_01.dds 
 Уберите .dds расширение вашего нового файла,( в оригинале пишут что это не обязательно, но делают по инструкции)
 С помощью архиватора создайте архив вашего файла с расширением  .gz , назовите этот архив ads_osr_01gz.  Архив файл положить в ..\extensions\osr_reborn\assets\fx\textures\ads
 Откройте  libraries\ material_library.xml файл и вставьте туда следующий код :
 Код:
  1. <!-- Replace ads-plamacells with Observe Space Research advertisement -->
  2.    <replace sel="/materiallibrary/collection[@name='ads']/material[@name='ads_plasmacells']/properties/property[@name='diffuse_map']">
  3.      <property type="BitMap" name="diffuse_map" value="extensions\osr_universe\assets\fx\textures\ads\ads_osr_01"></property>
  4.    </replace>
 

 В итоге мы заменили чужую  рекламу на свою.

http://www.worldwidemods.com/ftp/images/rebirth/osr_billboard_sm.jpg


worldwidemods.com

Редактировалось 11 раз (а). Последний раз 10.02.2014 21:43:11.

20.11.2013 15:13:16
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
Часть 2 подраздел A: Редактирование Вселенной.

Здесь мы присоеденим (добавим) новую часть к стандартной галактике. Ограниченая область, отделённая от стандартной игры, может быть полезна как "песочница"модификаций для испытания новых идей, не затрагивая остальную часть игры.

 В этом примере я скопировал и изменил части из существующих файлов карты (Омикрон Лиры) в мои файлы части галактики. Это легче (и быстрее) чем создание всего на пустом месте.

 Примечание:См.(описание Структуры Вселенной , чтобы понять различные включенные элементы.) Обратитесь к Аппендиксу :lol:

Пример 4: Добавьте новый кластер.

 1. Откроем файл galaxy.xml он в extensions\osr_universe\maps\XU_ep1_universe

 2. Откройте galaxy.xml базовой игры для сравнения.

 В коде нашей модификации мы продолжаем использовать метод "урывков"(как бы пишим новые урывки кода, незаменяя прежний), но здесь (сейчас), мы используем add<добавить> вместо replace <заменить>. Это означает, что мы создали (добавили) новую связь с галактикой для нашего кластера (Cluster_OSR_macro)
 
 Код:
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  <diff>
  3.    <add sel="/macros/macro[@name='XU_EP1_universe_macro']/connections">
  4.      <connection name="Cluster_OSR_connection" ref="clusters">
  5.        <offset>
  6.          <position x="1000000000" y="0" z="-1000000000" />
  7.        </offset>
  8.        <macro ref="Cluster_OSR_macro" connection="galaxy" />
  9.      </connection>
  10.    </add>
  11.   
  12.    <add sel="/macros/macro[@name='XU_EP1_universe_macro']/connections">
  13.      <connection name="ClusterGate04" ref="destination" path="../cluster_A_connection/Cluster_A_Sector02_connection/tzoneCluster_A_Sector02_Zone107_connection/clustergate_connection888">
  14.        <macro connection="destination" path="../../../../../Cluster_OSR_connection/Cluster_OSR_Sector08_connection/tzoneCluster_OSR_Sector08_Zone87_connection/clustergate_connection666" />
  15.      </connection>
  16.    </add>
  17.  </diff>
 


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

 4. Откроем файл extensions\osr_universe\index\macros.xml. Здесь Вы видите, что мы указали пути наших файлов карты. На них ссылаются различные другие файлы.

 5. Откроем файл extensions\osr_universe\index\macros.xml. Здесь Вы видите, что в пути определено, где могут быть найдены различные описания нашего кластера (модели).

 6. Откроем файл extensions\osr_universe\maps\XU_ep1_universe\osr_clusters.xml.

В (Cluster_OSR_macro) определено расположение Секторов и Зон, которые будет находится в его пределах. Здесь, можно поменять Кластерное имя, музыку, и другие атрибуты.

Примечание: Изначально как основа для нового кластера был взят существующий кластер С (Омикрон Лиры). Посмотрете в примеры мод-расширения extensions\osr_universe\assets\environments\cluster, Вы увидете несколько файлов. Они по существу скопированы с файлов кластера С основной игры, уменьшены, изменены и переименованы, под мой мод.Исследуете эти файлы, посмотрите как они отличаются от оригинала.

  7. Откройте файл extensions\osr_universe\assets\environments\cluster\cluster_osr.xml. В этом файле указаны параметры планет, текстур, освещенность, туманности и множество других глобальных характеристик этого кластера. Мы будем возвращаться к этому файлу подробно позже.

Пример 5: Добавьте новый Сектор.
 
 1. Откроем файл extensions\osr_universe\maps\XU_ep1_universe\osr_sectors.xml. Это соединение нашего Сектора (Cluster_OSR_Sector08_macro), на который ссылаются в файле osr_clusters.xml, здесь указаны позиции различных Зон, которые находятся в его пределах. В этом файле указаны также музыка Сектора, описание и другие атрибуты .

 Пример 6: Работа с зонами.

1. Откроем файл extensions\osr_universe\maps\XU_ep1_universe\zones.xml. Здесь Вы видите, что я использую <diff> "урывок" в zones.xml чтоб зделать (добавить) соединение перехода врат,чтоб мы соединили одну из наших пользовательских зон с одним из секторов ксенонов.

2. Откроем файл extensions\osr_universe\maps\XU_ep1_universe\osr_zones.xml. Этот файл описывавает контент Зон в Секторе, которые мы создали. Здесь можно указать различные объекты - станции, корабли, врата, обломки и другие компоненты.

 Содержание этого файла было в значительной степени основано на информации зон из кластера C ,но Вы заметили, что я добавил новую зону (Pirate Haven "Пиратская Гавань")  tzoneCluster_OSR_Sector08_Zonepirate_macro.
Координаты позиции для этой новой зоны были указаны относительно расположения других зон.

расположение пользовательской зоны : http://www.worldwidemods.com/ftp/images/rebirth/osr_zone_sm.jpg

Редактировалось 12 раз (а). Последний раз 09.02.2014 13:06:02.

20.11.2013 15:14:10
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
 Часть 2 подраздел B: Редактирование Вселенной

 Пример 7: Магистрали и Сверхскоростные Магистрали

 Так как пример мода (osr_universe) содержит только один сектор, я не использовал Super Highways Супер Магистрали. Они могут быть добавлены для нашего кластера, посмотрите как это делается в существующем кластере C в соотвествующих файлах.
 Я не иследовал детали определения splinetube (шаг-линия-тонель). Если Вы посмотрите файл extensions\osr_universe\maps\XU_ep1_universe\osr_zonehighways Вы увидете, что это часть - копия Кластера C ,его основы файл zonehighways.xml.
 Вы могли скопировать любое существующее splinetube определение в свой пользовательский zonehighways файл, и у Вас будет связанное локальное магистральное расположение. Вы получили магистраль зоны,и хотите удостовериться, что расположения зон соответствуют  магистрали . Инструменты для модификации будут доступными для "строительства" магистралей зон и проектов расположения супермагистралей.
 Также возможно создать сектор, содержащий зоны, но не имеющий магистралей. Это может быть интересным (и забавным) возможность геймплея, когда необходимо облететь сектора без удобств магистралей.

Пример 8: Работа с Областями - Полями

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

Поля также используются для того, чтобы указать туманные области, не обязательно ресурс для добычи.
 Есть два файла, связанные с полями: extensions\osr_universe\maps\XU_ep1_universe\osr_clusters.xml  и  extensions\osr_universe\libraries\region_definitions.xml.

В osr_clusters.xml Вы увидете, что у каждой зоны есть "region ref", который указывает на определение поля в region_definitions.xml.
Ресурсы полей крайне важны для функционирующей экономики.

---------------------

 Пример 9: Создание собственных кластерных бэкграундов.

 Здесь мы сделаем свой бэкграунд для нашего нового кластера.
Кластеры используют различные метки (петли) со встроенными материальными ссылками.
 В нашем примере, мы могли бы просто изменить материальное определение в (material_library.xml). Беда в том, делая так, также заменим бэкграунд который используется для Омикрон Лиры (который в наших примерах основа).
 Пока нет в наличии инструментов моделирования ,есть "прием", который мы можем использовать, чтобы создать новую уникальную петлю, указывающую на нашу фоновую текстуру.Так как файлы сетки в двоичном формате, нам понадобится Hex Editor, чтобы сделать необходимые изменения.

1. Откроем файл extensions\osr_universe\assets\environments\cluster\cluster_osr.xml. Поиском находим строки "part_bg". Вы увидеть, что у этой части есть материальный идентификатор
ID ref=environments.cluster_c_bg2.

2. Вам понадобится HEX-редактор (я использую - HHD Free Hex Editor),откроем файл extensions\osr_universe\assets\environments\cluster\cluster_osr_data\part_bg-lod0.xmf.

3. В верхней части этого файла, вы увидите текстовую строку "environments.cluster_c_bg". Она ссылается на запись в material_library.xml.

4. Измените текстовую строку "environments.cluster_c_bg2" (без кавычек). Просто, добавили символ '2' в конце существующей строки.

5. Сохраните файл. Вероятно, следует переименовать этот файл и изменить ссылку в кластерном определении (cluster_osr.xml), так, чтобы это никогда не путалось с оригиналом, но я не делаю этого в этом примере.

6. Откроем extensions\osr_universe\libraries\material_library.xml. Вы увидеть, что мы добавили запись для "cluster_c_bg2", у которого есть ссылка на наш diffuse_map и diffuse2_map пользовательские изображения (osr_cluster_c_bg_red_diff и osr_cluster_c_bg_green_diff).

Эти изменения сделают новый наш бэкграунд  для нашего кластера.

Пример 10: Создание собственных текстур планеты.

 В настоящий момент, есть ограниченное разнообразие планет для использования в игре. Здесь, мы создадим новую текстуру планеты, чтобы дать нашему кластеру уникальное различие. Метод, которые мы будем использовать, подобен тому, что мы использовали для замены бэкграунда.

1. extensions\osr_universe\assets\environments\cluster\cluster_osr.xml. Поиском находим текст "part_GeoSphere01". Это - петля планеты, которую мы используем в нашем кластере.

2. Откроем extensions\osr_universe\assets\environments\cluster\cluster_osr_data\part_geosphere01-lod0 .xmf в Вашем HEX-редакторе. Вы увидете, что я изменил материальную ссылку на "environments.cluster_osr_gaslike_planet".

3. Откроем extensions\osr_universe\libraries\material_library.xml. Вы увидете, что у меня есть материальное определение для "cluster_osr_gaslike_planet", указывающее на мое пользовательское изображение diffuse_map.

Пример пользовательский бэкграунд и пользовательская планета:http://www.worldwidemods.com/ftp/images/rebirth/osr_custom_background.jpg

Редактировалось 9 раз (а). Последний раз 10.02.2014 22:26:26.

20.11.2013 15:14:38
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
Часть 3: Приведение в чувство Вселенной "организация искуственной жизни"

Пример 11: Работа с Jobs -"заданиями" (спаунд AI)

Без AI 'жизнь' у нашего нового кластера не будет в движенении. Это имеет отношение к тому, что известно как 'Jobs'.

 Придумывая свои задания custom Jobs  это хитрое уравновешивание! Если у Вас будет слишком много заданий, то Вы ухудшите игровую производительность - потому что каждое задание должно выполнить свой собственный сценарий в фоновом режиме. Это использует машинную память и ресурсы ЦП ( возможно также GPU из-за необходимости рендеринга, если у Вас слишком много кораблей в поле зрения). С другой стороны, если у Вас слишком мало заданий, Ваша экономика может перестать работать, и Ваша пользовательская область станет 'слишком безжизненной'.
 Есть два файла, отвечаут за определение, какие типы, и сколько различных торговцев, врага, и различных других кораблей будет "порождено" и работать в пределах нашей пользовательской области.

1.Откроем extensions\osr_universe\libraries\jobs.xml.Вы видите, что я использую метод "урывков" (<diff>), чтобы добавить задание Jobs для моей пользовательской области.

 Есть несколько атрибутов, которые может иметь каждое задание. Отдельное задание может быть ограничено работой в определенной зоне, секторе, или где угодно в галактике. Разные способы спецификации кораблей  владелец, локальность, сценарий, и различные другие характеристики.

2.Откроем extensions\osr_universe\libraries\quotas.xml.Файл определяет, какой тип NPC будет присутствовать на станциях, работать в Вашем пользовательском кластере. Без этого файла Ваши станции не будут посещать NPC.

Пример 12: Работа с Mission Director

 Изучение Mission Director(MD) выходит за рамки этого руководства.
 Здесь гайд -- (XRMissionDirectorGuide.pdf - eng.)
 Будет достаточно сказать, Mission Director чрезвычайно гибкий и мощный инструмент. Он может использоваться не только для того, чтобы создавать игровые миссии, но также и для того, чтобы влиять на большое разнообразие условий в пределах вселенной.

 Пример мода содержыт в качестве примера, демонстрационный MD файл :
extensions\osr_universe\md\osr_universe.xml.Файл что-то вроде мешанины вещей, который я сделал, разрабатывая это руководство и сопутствующий пример мод-разширения, для знакомства. Вот несколько из главных особенностей кода в этом файле MD:

a). Играя в игру в "свободном режиме" (не кампания), Вы будете перенесены в зону в новом кластере. В коде Вы видете <event_cue_signalled cue="md.Setup.GameStart" />.
Это переключение (тригер) связанный код,сработает, как только игра запустилась.

b). Корабль игрока (Skunk)загружается различным оружием и боеприпасами, и игроку дают 51 миллионов кредитов.

c). Все зоны в пользовательском секторе 'известны'. Это означает, что они уже на карте.

d). Две станции создаются ,использовано <create_station>, с кораблями защиты станции.

e).Появилисьспаунились несколько Крупных боевых кораблей находящихся в собственности игрока ,использовано <create_ship>. Они соедены в группу.

Редактировалось 7 раз (а). Последний раз 10.02.2014 19:10:17.

20.11.2013 15:15:05
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
 
Observe
 
Conclusion 

 Modding X Rebirth may at first seem like a daunting task if you don't even know where to start, or where the various modable files reside, or how to create a basic mod. Hopefully, this guide will be useful as an introduction to some of the ways this game can be modified.

 It is possible some of the procedures outlined in this guide, will be replaced by superior methods as more knowledge is gained about modding Rebirth, and as future modding tools may become available.

 Please let me know if you notice any serious omissions and/or incorrect statements within this guide that could lead the reader astray, or if you know of simpler ways of doing things.

 Happy modding!
 


Итог
 Моддинг X Rebirth может показаться на первый взгляд сложной задачей, если вы даже не знаете с чего начать, или где файлы моддифицирования  находятся, или как создать основу мода. Будем надеяться, что это руководство будет полезно как знакомство с вариантами способов моддификации игры.

  Вполне возможно, некоторые из процедур, описанных в данном руководстве, будут заменены когда будет больше знаний о моддинге Rebirth, и будут доступны инструменты для моддинга.

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

  Удачного моддинга!

Редактировалось 1 раз (а). Последний раз 10.02.2014 19:50:29.

20.11.2013 15:38:31
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
резерв
20.11.2013 15:38:52
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
 ( TUTORIAL ) XML Patch Guide
этот пост - ознакомительный "перевод" поста с сайта Егософт.

Гайд XML патчей - "урывков".

Вот Я ознакомился с стандартом  IETF XML Patch и хотел бы поделиться своими выводами о возможностях XML-патчей. Примеры получены из modding guide см. перевод выше, IETF spec и xmlpatch library.
Каждый XML-файл патчей должен иметь строку заголовок -- diff -- root -- tag:

 
<?xml version="1.0" encoding="utf-8"?>

 <diff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

    ...

 </diff>
 


Есть три типа операторов, которые могут выполняться:
add        - добавить блок XML текста
replace  - заменить блок XML текста
remove  - удалить блок XML текста

  После выбора одного из них, блок XML, что должен быть изменен, необходимо выбрать с помощью команды "SEL". Аргумент "SEL" должны однозначно описать один узел.

  Существует параметр мульти-узлового выбора (MSEL), который не входит в IETF спецификацию, но поддерживается библиотекой xmlpatch. Я не знаю, X -иксы поддерживает его, вот, так что я рекомендую делать многократные записи вместо множественного выбора.

Основные примеры 

Все они будут использовать этот основной исходный файл:

 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="1"/>
     <foo a="2"/>
   </bar>
 </root>
 


Оператор - Add:

Patch (патч)
 
<add sel="root/bar">
     <foo a="3"/>
   </add>
 


Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="1"/>
     <foo a="2"/>
     <foo a="3"/>
   </bar>
 </root>
 


Оператор - Replace:

Patch (патч)
 
<replace sel="root/bar/foo[@a='1']">
     <foo a="3"/>
   </replace>
 


Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="3"/>
     <foo a="2"/>
   </bar>
 </root>
 


Оператор - Remove:

Patch (патч)
 
<remove sel="root/bar/foo[@a='1']"/>
 


Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="2"/>
   </bar>
 </root>
 


Расширенные параметры

Для оператора add есть три атрибута, которые могут использоваться:

sel
type
pos


Для оператора replace есть только один атрибут:

sel

Для оператора remove есть два атрибута:

sel 
ws


Вот некоторые примеры.

Add an attribute - (добавить атрибут)

Patch (патч)
 
<add sel="root/bar" type="@cat">3</add>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar cat="3">
     <foo a="1"/>
     <foo a="2"/>
   </bar>
 </root>
 

Add something before - (добавить что-то прежде)

Patch (патч)
 
<add sel="root/bar" pos="before">
   <foo a="3"/>
</add>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <foo a="3"/>
   <bar>
     <foo a="1"/>
     <foo a="2"/>
   </bar>
 </root>
 

Add something as first child node - (добавить что-то как первый дочерний узел)

Patch (патч)
 
<add sel="root/bar" pos="prepend">
  <foo a="3"/>
</add>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="3"/>
     <foo a="1"/>
     <foo a="2"/>
   </bar>
 </root>
 

Add something as last child node (default) - (добавить что-то как последний дочерний узел (по умолчанию))

Patch (патч)
 
<add sel="root/bar">
  <foo a="3"/>
</add>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="1"/>
     <foo a="2"/>
     <foo a="3"/>
   </bar>
 </root>
 

Wildcard Add #1 - (добавить после аргумента)

Patch (патч)
 
<add sel="*/bar">
  <foo a="3"/>
</add>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="1"/>
     <foo a="2"/>
     <foo a="3"/>
   </bar>
 </root>
 

Wildcard Add #2 - (добавить после аргумента)
 
Patch (патч)
 
<add sel="*/foo[@a='1']">
  <cat a="3"/>
</add>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="1">
       <cat a="3"/>
     </foo>
     <foo a="2"/>
   </bar>
 </root>
 

Wildcard Replace - (заменять)

Patch (патч)
 
<replace sel="*/foo[@a='1']">
   <cat a="3"/>
 </replace>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <cat a="3"/>
     <foo a="2"/>
   </bar>
 </root>
 

Replace an attribute - (заменять атрибуты)

Patch (патч)
 
<replace sel="root/bar/foo[@a='1']/@a">3</replace>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="3"/>
     <foo a="2"/>
   </bar>
 </root>
 

Remove an attribute - (удалить атрибут)

Patch (патч)
 
<remove sel="root/bar/foo[@a='1']/@a"/>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo/>
     <foo a="2"/>
   </bar>
 </root>
 

Remove node with plaintext (a.k.a. whitespace text) - (Удалить узел из текста
"a.k.a пробелы текст")

Source(исходный текст)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="1">Some text here</foo>
     <foo a="2"/>
   </bar>
 </root>
 

Patch (патч)
 
<remove sel="root/bar/foo[@a='1']" ws="after"/>
 

Result (резултат)
 
<?xml version="1.0" encoding="UTF-8"?>
 <root>
   <bar>
     <foo a="2"/>
   </bar>
 </root>
 

Редактировалось 11 раз (а). Последний раз 12.02.2014 10:45:27.

11.02.2014 23:13:33
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
резерв
11.02.2014 23:13:56
i-tolik

Репутация: 67
Сообщений: 346
Регистрация: 11.03.2013
резерв
24.12.2014 21:28:21
Karador

Репутация: 0
Сообщений: 1
Регистрация: 24.12.2014
Привет! Не могу нигде найти osr_universe, на официальном сайте файл не найден, гугл тоже не помог... может кто-нибудь выложить? А то я совсем чайник)
1

При полном или частичном использовании материалов сайта активная (прямая) ссылка на x-rebirth.x3tc.net обязательна.
Внимание! На сайте строго запрещается затрагивать/обсуждать/ссылаться на всевозможные незаконные программы и способы, позволяющие обойти/взломать (и т.п.) защиту игры X Rebirth - т.н. крэки (crack, а также: nocd, nodvd и другие). Attention! On this site forbidden any discussions of crack programs for X Rebirth (any cracks, nocd, nodvd etc).