Общее
Урок посвящен редактированию ассортимента торговцев в игре. Эта, в общем-то несложная процедура у многих вызывает вопросы, поэтому я и решил разъяснить, что да как.
Файлы
Ассортимент товаров у торговцев хранится в файлах вида trade_[...].ltx, где ... - системное имя торговца. Это файлы:
* trade_barman.ltx - Бармен
* trade_dolg.ltx - полковник Петренко на базе группировки "Долг"
* trade_ecolog.ltx - Сахаров
* trade_freedom.ltx - Скряга на базе группировки "Свобода"
* trade_trader.ltx - Сидорович
* trade_generic.ltx - обычный сталкер
Все они хранятся в папке:
...\S.T.A.L.K.E.R\gamedata\config\misc\...
Структура файла
Разберем структуру файла trade_barman.ltx:
[trader]
buy_condition = barman_generic_buy
sell_condition = {+yan_labx16_switcher_primary_off} barman_after_brain_sell, {+bar_darklab_document_done} barman_after_darkvalley_sell, barman_start_sell
buy_supplies = { yan_labx16_switcher_primary_off} supplies_after_brain, { bar_darklab_document_done}
supplies_after_darkvalley, supplies_start
Здесь содержатся условия, от которых зависит диапазон продаваемых/покупаемых торговцем предметов. То есть, например, после выполнения квеста на "Янтаре" соответствующее условие считается выполненным, и ассортимент сменяется на новый, из другого раздела.
--91.124.26.131 21:31, 23 июля 2010 (UTC)
В скобках {...} задаются условия, а после скобок используемый раздел. Если перед названием раздела не поставить условия, то он будет использоваться изначально, по умолчанию.
Краткое описание предназначения всех разделов:
* buy_condition - описаны цены, по которым торговец будет покупать вещи у героя
* sell_condition - описание цен, по которым торговец продает вещи из своего ассортимента
* buy_supplies - доступный ассортимент торговца, то есть то, что будет у него в продаже
Детальное описание и пример смотрите далее.
--91.124.26.131 21:31, 23 июля 2010 (UTC)
После этого идет раздел [barman_generic_buy], содержащий предметы, которые бармен покупает.
Структура записи в этом разделе:
wpn_walther = 0.3, 0.1
* wpn_walther - имя предмета, в данном случае - пистолет "Вальтер"
* 0.3 - максимальная цена, по которой торговец купит предмет
* 0.1 - минимальная цена, по которой торговец купит предмет
Цена зависит от репутации игрока.
Далее идет раздел [supplies_start] - ассортимент, предоставляемый барменом в начале игры. Он поделен на категории:
[supplies_start]
;'''Аммуниция'''
ammo_9x18_fmj = 15, 0.6
...
;'''Оружие'''
wpn_pb = 3, 0.6
...
;'''Броники'''
stalker_outfit = 3, 0.7
...
;'''Медикаменты'''
bandage = 5, 0.6
...
;'''Еда'''
bread = 10, 0.5
...
На самом деле можете добавлять новый предмет, куда захотите, все эти "категории" существуют исключительно в целях удобства. Игра их не учитывает.
Теперь о структуре одной записи:
wpn_walther = 3, 0.6
* wpn_walther - имя предмета, в данном случае - пистолет "Вальтер"
* 3 - количество предметов этого типа у торговца
* 0.6 - вероятность появления каждого из них
То есть если значения равны 4, 0.5, то это означает, что у торговца в ассортименте появятся два предмета этого типа.
Далее идет раздел [barman_start_sell]. Рассмотрим структуру записи в нем:
wpn_walther = 2, 4
* wpn_walther - имя предмета, в данном случае - пистолет "Вальтер"
* Цена высчитываетя по формулае (2+4)/2 * базовую цену предмета*(МР).
* Модификатор Репутации (МР) - Цена зависит от репутации игрока. (по умолчанию = 1)
Расширяем ассортимент
Чтобы добавить в начальный ассортимент, например, винтовку FN2000, проделаем следующее:
1. Добавим её в раздел [supplies_start]:
;Оружие
...
wpn_fn2000 = 2, 0.5
2. Добавим её в раздел [barman_start_sell]:
;Оружие
...
wpn_fn2000 1, 3
Ну а чтобы оно не пропадало после выполнения важных заданий, запишите её и в ассортименты для выполненных условий.
Авторы
Статья создана:
* BAC9-FLCL
Редактор:
* Deja Vu