Тайники
Тайники бывают трех видов:
- собственно тайники (inventory_box)
- ящики с сюрпризом (drop_box)
- тайники образца ЗП (hiding_place)
Первые состоят из двух элементов: статический меш (ящик, электрошкаф, пень и т.п.) и spawn-объекта inventory_box.
Вторые представляют собой разрушаемый объект, из обломков которого выпадают ценные предметы.
Третьи же состоят из непосредственно из свободно лежащих предметов и связаного с ними рестриктора.
Тайники[править]
Чтобы добавить тайник, нужно поставить Spawn -> devices -> inventory_box, и в его custom data указать примерно следующее:
[logic]
cfg = scripts\treasure_inventory_box.ltx
Если ничего не указывать, то тайник останется пуст. Однако можно добавить его в опции ближайшего смарттеррейна:
[smart_terrain]
type = esc_lager
capacity = 13
squad = 1
groups = 5
respawn = esc_respawn_inventory_box ; здесь
И в опции респавна:
[respawn]
respawn_section = wpn_pm,2,vodka,2,medkit,1,energy_drink,2,ammo_9x18_fmj,3
idle_spawn = -1
parent = 2000
item_spawn = true
max_count = 7
В ЧН тайники такого вида наполняются скриптом (например, когда на них дадут наводку). Соответственно в их custom data ничего указывать не нужно.
После того, как спавн-объект тайника добавлен на карту и переименован во что-то осмысленное, например, esc_backpack, нужно зарегистрировать его в файле типа configs/misc/treasure_escape.ltx:
[list_treasure_escape]
esc_backpack
[esc_backpack]
target = esc_backpack ; имя тайника в LE
name = esc_backpack_name ; заголовок описания в XML
description = esc_backpack_descr ; тело описания в XML
items = af_cristall, 1, af_night_star, 1 ; содержимое тайника
community = stalker ; при обыске тела сталкера какой фракции выдавать тайник
condlist = {=actor_on_level(escape)} true, false ; условия выдачи тайника
Затем нужно добавить описание тайника в configs\text\rus\st_treasures.xml:
<?xml version="1.0" encoding="windows-1251" ?>
<string_table>
<string id="esc_house_of_rising_bed_backpack_name">
<text>Бандитская нычка</text>
</string>
<string id="esc_house_of_rising_bed_backpack_descr">
<text>Где-то здесь сховал награбленное матёрый бандит, порешивший сталкера-одиночку.</text>
</string>
</string_table>
Теперь после обыска тела сталкера с некоторой долей вероятности выпадет тайничок.
Ящики с сюрпризом[править]
Представляют собой обычный разрушаемый объект с необычной custom data.
Добавляются так: Spawn -> physics -> destroyable_object, в свойствах которого указыватся подходящий visual и custom data примерно такого вида:
; для ТЧ
[drop_box]
community = small_box_army
items = ammo_5.45x39_fmj, 3
; для ЧН
[logic]
active = nil
[drop_box]
items = energy_drink,1,conserva,1
community — устанавливает случайный набор предметов, который будет заспавнен при разрушении объекта. По умолчанию установлена секция def_box, которая ничего не спавнит.
items — задает набор предметов, которые будут гарантировано заспавнены при разрушении объекта. Указываются секции предметов и их количество.
Тайники ЗП[править]
Примечательны тем, что присутствуют на локации с самого начала. Сбор тайника засчитывается только после сбора всех принадлежащих к нему предметов. Рассмотрим путь создания тайника на примере тайника на лесничестве Затона.
Алгоритм создания.
Добавить на карту Spawn Elements -> ai -> space_restrictor, установив ему значение NOT a restrictor. По его положению будет отображаться метка тайника на карте.
Так же следует прописать ему следующую Custom Data:
[secret]
cfg = misc\secret_zaton.ltx
Конфиг secret_zaton.ltx имеет следующее содержание:
[list_zaton]
zat_hiding_place_7 (список секций тайников)
[zat_hiding_place_7]
wpn_spas12 = 1, 1 (список предметов, где первая цифра обозначает число предметов, а вторая шанс спавна(?))
ammo_12x70_buck = 2, 1
В Spawn Elements выбираются и добавляются на карту предметы, которые будут служить наполнением тайника. Все предметы следует прописать в предыдущий конфиг. В Custom Data этих предметов следует прописать следующее:
[secret]
name = zat_hiding_place_7
где zat_hiding_place_7 - название секции из configs\misc\secret_zaton.ltx.