Загальне
Урок присвячений редагуванню асортименту торговців у грі. Ця, загалом, нескладна процедура у багатьох викликає питання, тому я і вирішив роз'яснити, що та як.
Файли
Асортимент товарів у торговців зберігається у файлах виду trade_[...].ltx, де... - системне ім'я продавця. Це файли:
- trade_barman.ltx - Бармен
- trade_dolg.ltx - полковник Петренко на базі угруповання "Борг"
- trade_ecolog.ltx - Сахаров
- trade_freedom.ltx - Скнара на базі угруповання "Свобода"
- trade_trader.ltx - Сидорович
- trade_generic.ltx - звичайний сталкер
Усі вони зберігаються у папці:
...\STALKER\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 y_off } supplies_after_brain , { bar_darklab_document_done } supplies_after_darkvalley , supplies_start
Тут містяться умови, від яких залежить діапазон предметів, що продаються/купуються продавцем. Тобто, наприклад, після виконання квесту на "Янтарі" відповідна умова вважається виконаною і асортимент змінюється на новий, з іншого розділу.
У дужках {...} задаються умови, а після дужок використовується розділ. Якщо перед назвою розділу не поставити умови, він буде використовуватися спочатку, за замовчуванням.
Короткий опис призначення всіх розділів:
- buy_condition - описані ціни, за якими продавець купуватиме речі у героя
- sell_condition - опис цін, за якими продавець продає речі зі свого асортименту
- buy_supplies – доступний асортимент торговця, тобто те, що буде у нього у продажу
Детальний опис та приклад дивіться далі.
Після цього йде розділ [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
А щоб воно не пропадало після виконання важливих завдань, запишіть її і в асортименти для виконаних умов.