Тайники

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

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

  • собственно тайники (inventory_box)
  • ящики с сюрпризом (drop_box)

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