Тайники

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

Тайники бывают трех видов:

  • собственно тайники (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

inventory-box-01.jpg

В ЧН тайники такого вида наполняются скриптом (например, когда на них дадут наводку). Соответственно в их 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.

surprise-box-01.jpg


Добавляются так: 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 — задает набор предметов, которые будут гарантировано заспавнены при разрушении объекта. Указываются секции предметов и их количество.

Тайники ЗП

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

hiding-place-07.jpg

Алгоритм создания.
Добавить на карту 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.