Редактирование: Система сюжетной информации (инфопорции)

Перейти к: навигация, поиск

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
 +
==Введение==
 +
 
Система сюжетной информации (ССИ) нужна для обеспечения происхождения и запоминания сюжетных событий в игре.
 
Система сюжетной информации (ССИ) нужна для обеспечения происхождения и запоминания сюжетных событий в игре.
 +
При помощи ССИ можно создавать порции сюжетной информации (info portions).
  
При помощи ССИ можно создавать абстрактные порции сюжетной информации (инфопорции). Они не могут передаваться от одного объекта к другому. Они могут либо присутствовать, либо отсутствовать; либо устанавливаться, либо сниматься. Фактически наличие инфопорции означает то, что мы дошли до какого-то этапа в сюжете, сценке, последовательности. Условно они разделяются на три группы:
+
При помощи скриптовых функций можно давать или забирать информацию у объектов Inventory Owner в игре.
* '''сюжетные'''. Могут только устанавливаться. Снимать их как минимум некорректно. Обычно обозначают завершение какого либо события, квеста и так далее;
 
* '''квестовые'''. Могут и устанавливаться, и сниматься. Описывают продвижение персонажа внутри одного квеста.
 
* '''вспомогательные'''. Могут и устанавливаться, и сниматься. Используются обычно для синхронизации скриптов или событий.
 
 
 
Вне зависимости от типа инфопорций, все они описываются идентично и обладают равными возможностями. Разница только в смысловом наполнении. Следует также понимать, что '''''инфопорция всегда находится у одного объекта'''''. Следовательно, если вы установили у игрока инфопорцию, то она не появится у торговца. Если вы установили её у торговца – то она не появится у игрока. Об этом следует помнить, и следить за тем, кому выдаёте инфопорции и у кого проверяете их наличие. Это очень большой источник ошибок и чаще всего ошибаются именно здесь.
 
  
  
 
==Функции скриптового game_object==
 
==Функции скриптового game_object==
При помощи скриптовых функций можно давать или забирать информацию у объектов Inventory Owner в игре.
 
  
 
* '''''give_info_portion(info_id)''''' - получить информацию по идентификатору(строковому).
 
* '''''give_info_portion(info_id)''''' - получить информацию по идентификатору(строковому).
Строка 30: Строка 27:
  
  
==Структура инфопорций в XML-файле==
+
==Структура Info Portion в XML-файле==
Практически все подразделы необязательны.
+
 
<syntaxhighlight lang="xml">
+
<syntaxhighlight lang="xml"><info_portion id="actor_start">
<!-- id = "название инфопорции"-->
 
<info_portion id="actor_start">
 
  
 
       <!-- скриптовые функции, которые будут вызваны при получении info_portion персонажем, аргументом скриптовый объект персонажа -->
 
       <!-- скриптовые функции, которые будут вызваны при получении info_portion персонажем, аргументом скриптовый объект персонажа -->
       <action>info_test1.test_task1</action>    <!-- например, здесь запускается функция для квеста -->
+
       <action>info_test1.test_task1</action>
 
       <action>...</action>
 
       <action>...</action>
  
 
       <!-- локации, которые будут показаны на карте -->
 
       <!-- локации, которые будут показаны на карте -->
       <location>
+
       <location >
 
             <level>0</level>
 
             <level>0</level>
 
             <x>-250</x>
 
             <x>-250</x>
Строка 59: Строка 54:
 
       <actor_dialog>trader_job</actor_dialog>
 
       <actor_dialog>trader_job</actor_dialog>
  
       <!-- список id, деактивируемых info_portions у персонажа при получении данной инфопорции-->
+
       <!-- список id, деактивируемых info_portions у персонажа при получении данной-->
 
       <disable>actor_start01</disable>
 
       <disable>actor_start01</disable>
 
       <disable>actor_start02</disable>
 
       <disable>actor_start02</disable>
Строка 95: Строка 90:
  
 
</info_portion></syntaxhighlight>
 
</info_portion></syntaxhighlight>
 
Теперь о методике создания инфопорций. Злоупотреблять их количеством не следует. В source_safe GSC хранились графы всех сюжетных и квестовых инфопоршнов, и его поддерживали в живом состоянии, чтобы каждый видел взаимосвязь между ними и представлял общую картину.
 
 
Инфопоршны привязаны к уровням, на которых они выдаются. Находятся они в папке ''gamedata\config\gameplay'' в файлах с названием '''info_(название уровня).xml''', например: '''info_l01_escape.xml''', '''info_l03_agropprom.xml''' и т.д.
 
  
  
 
==Источник==
 
==Источник==
Доки GSC за 2005г., X-Wiki за 2004г.
+
Доки GSC, X-Wiki
  
 
[[Категория:A-Life]]
 
[[Категория:A-Life]]

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. xrWiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)