Как создать тайник

Материал из Modders-wiki - Библиотека знаний модмейкеров S.T.A.L.K.E.R.
Перейти к: навигация, поиск
X-Ray SDK LE Icon.pngТребуется X-Ray SDK
Перед тем, как приступить, предварительно установите необходимую версию X-Ray SDK.
Без наличия инструментария, внести необходимые изменения не получится!
Spawn compile.pngТребуется компиляция *.spawn-файла
После завершения работ с уровнем в Level Editor, скомпилируйте *.spawn-файл.
Без него увидеть изменения в игре не получиться!


Как создать тайник
Описание
АвторWo1fRam, stalker_grez
Редакцияaka_sektor
Тип статьируководство
АктуальностьЗП
Необходимый софтX-Ray SDK CoP, Текстовый редактор
Необходимые файлыsecrets.ltx

Система тайников в Зове Припяти[1][2]

В Зове Припяти система тайников немного изменилась: все предметы тайника заранее расположены на уровне, и если вы их всех поднимите — получите сообщение на КПК о том, что «Найден тайник».

Как создать тайник

  1. Откройте с помощью Level Editor выбранный вами уровень, и перейдите к месту на уровне, в котором хотите создать тайник.
  2. Заспавните и расположите в этом месте все предметы тайника, после чего выделите их (курсором или каждый по очереди с зажатой клавишей Ctrl) кликните по одному из них правой кнопкой мыши, и в контекстном меню выберите пункт Properties...
    1. По очереди, снимите галочки с пунктов Used AI locations, Useful for AI, Visible for AI в секции каждого из предметов. Это нужно обязательно делать для того, чтобы предметы тайника расположенные вне AI-сетки оставались на своих местах, а также, чтобы NPC не могли их подобрать.
    2. По очереди, запишите в графе Custom Data каждого из предметов следующий код:
      [secret]
      name = your_secret_name
      
      [secret] — это секция, которая указывает движку, что предмет является тайником (см. treasure_manager.script).
      your_secret_name — имя тайника, любое.
  3. Заспавните и расположите Shape (вкладка Edit Mode -> Shape -> Sphere или Box), так чтобы все предметы тайника находились внутри него.
  4. Рядом с Shape'ом заспавните Space Restrictor (вкладка Edit Mode -> Spawn Element -> ai -> space_restrictor).
  5. Выделите заспавненные Shape, а затем и Space Restrictor, после чего нажмите Attach Object... (вкладка Edit Mode -> Spawn Element -> Commands...) и кликните по Shape'у. Если вы все сделали правильно, он сменит свой цвет с серого на зеленый — это значит, что они объединились в один спавн-элемент.
  6. Кликните по Shape'у правой кнопкой мыши, и в контекстном меню выберите пункт Properties...
    1. В графе Name, впишите имя соответствующее имени тайника в Custom Data предметов, т.е. в данном случае: your_secret_name
    2. Снимите галочку с пункта Used AI locations, чтобы спавн-элемент Shape'а мог находится вне AI-сетки.
    3. В графе restrictor type укажите NOT A restrictor
    4. В графе Custom Data, запишите следующий код:
      [secret]
      cfg = misc\your_secret_desc.ltx
      
      [secret] — это секция, которая указывает движку, что этот restrictor контролирует тайник (см. treasure_manager.script).
      cfg = misc\your_secret_desc.ltx — ссылка на *.ltx-файл с описанием тайника. Его необходимо создать в папке gamedata/configs/misc, для этого можете использовать любой текстовый редактор, и записать в него следующий код:
      [list_level_name]
      your_secret_name
      
      [your_secret_name]
      section_name = 1, 1
      
      [list_level_name] — это секция, в которой регистрируется секция тайника.
      [your_secret_name] — это секция тайника, в которой записываются секции предметов в тайнике.
      section_name — это имя секции предмета. После символа = первое число — это кол-во предметов, а второе — это вероятность спавна, по умолчанию она равна 1 (например: 1 = 100%; 0.5 = 50%)
  7. Чтобы движок прочитал файл your_secret_desc.ltx, его необходимо прописать в файл по пути: gamedata/configs/misc/secrets.ltx
    1. Откройте файл secrets.ltx, запишите в него следующий код:
      #include "your_secret_desc.ltx"
      
      А также после секции [list], через двоеточие допишите list_level_name
      Применительно к оригинальной игре, должно получится так:
      [list]:list_zaton, list_pripyat, list_jupiter, list_level_name
      
  8. Последнее, что нужно сделать — скомпилировать в Level Editor' *.spawn-файл уровня (см. статью Компиляция *.spawn-файла).

Источники