Кто онлайн:

Сегодня посетили:
Статистика посетителей
Подписка на новости
День рождения


Последнее видео: Новости сайта » Конкурсы » Мод месяца
Активист месяца:
Новостной активист месяца: - Nestor

Форумный активист месяца: - Nestor


  • Страница 1 из 1
  • 1
SoC. Генерирование предметов в трупах
NestorДата: Вторник, 14.10.2014, 19:11 | Сообщение # 1

Титул:
Циничный персонаж

Группа: Администраторы
Сообщений: 190
Статус: Offline
Введение

Разберу, как случайным образом в трупах генерируются предметы. За спавн предметов отвечают 4 файла в папке "gamedata\config\misc":

-death_generic.ltx
-death_items_by_communities.ltx
-death_items_by_levels.ltx
-death_items_count.ltx


Разберем их структуру.

DEATH_GENERIC.LTX

Является главным файлом с инклюдами остальных. В нем описываются зависимости спавна патронов при наличии определенного оружия (то есть если у нпс есть ТОЗ-34, то заспавненые патроны должны быть для него, а не для СВД, например), секция:

Цитата
[item_dependence]


Перечисляются уникальные, квестовые предметы, которые не должны удаляться, если они есть у нпс, секция:

Цитата
[keep_items]


И предметы, относящиеся к патронам (их надо спавнить другим методом), секция:

Цитата
[ammo_sections]


DEATH_ITEMS_BY_COMMUNITIES.LTX

В ней указывается вероятность заспаунить или нет какой либо предмет в процентах,например:

Цитата

af_medusa = 0.015
af_cristall_flower = 0.01
af_night_star = 0.005


Означает,что артефакт медуза заспавнится с вероятностью 1.5%,кристальная колючка с 1%,а ночная звезда с вероятностью 0.5%.Если стоит 1,то предмет заспавнится со 100% вероятностью.

P.S. В Чистом Небе и Зове Припяти минимальное значение для спавна это 0.01(1%). Игра больше не понимает значения ниже 1%...
Во всех остальных секциях пишется соответствие на именно эту секцию,например:


Цитата
[bandit]:stalker


Это значит,что у всех членов группировки "Бандиты" генерация предметов точно такая же,как и у сталкеров.Если необходимо задать другой шанс спавна,то просто пишется строка с новым значением, например у наемников отключен спавн хлеба,колбасы,водки,однако увеличен шанс сгенеретить энергетический напиток:

Цитата

[killer]:stalker
;Еда
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3


Стоит дополнительно оговориться, что учитываются только сотые доли, то есть писать меньше, чем 0.01 не имеет смысла, поскольку в этом случае цифра будет округляться до нуля. Иными словами, шанса меньше 1% в игре не может быть.

DEATH_ITEMS_BY_LEVEL.LTX
Генерирование предметов для разных уровней(локаций). Опять таки главной секцией является:

Цитата
[default]


А во всех других пишется соответствие на нее. В этом файле задается значение,спавнить или нет предмет на уровне:

Цитата

af_medusa = 1
af_cristall_flower = 0


То есть если стоит цифра 1, то спавним, если 0-не спавним.

DEATH_ITEMS_COUNT.LTX

Количественное отношение заспавненных предметов для разных уровней сложности прохождения игры.

Цитата

[item_count_0] -новичок
[item_count_1] -опытный
[item_count_2] -ветеран
[item_count_3] -мастер


Как видите,с каждым уровнем сложности спавн предметов уменьшается.Главной как всегда является первая секция(новичок). Отличительная особенность написания,это две цифры.Первая цифра указывает минимальное количество заспавненных предметов,вторая максимальное. Если стоит одно значение,то спавнится всегда в определенном количестве. Пример:

Цитата

bandage = 2
medkit = 1, 2


Значит будет генеретится всегда 2 бинта, и 1 или 2 атпечки.

ДОБАВЛЕНИЕ В ГЕНЕРАЦИЮ НОВОГО ПРЕДМЕТА
Для примера разберу добавление энергитического напитка "S.T.A.L.K.E.R."(патч 5,напиток отсутствует).Создание собственного предмета я разбирать не буду,так как такая статья уже имеется,я просто напишу его конфиг:

Цитата

[energy_drink_stalker]:vodka
$spawn = "food and drugs\energy_drink_stalker"
inv_name = energy_drink_stalker_name
inv_name_short = energy_drink_stalker_short_name
visual = equipments\drink_stalker.ogf
description = enc_equipment_energydrink_stalker
cost = 75

inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 11
inv_grid_y = 0
inv_weight = 0.3
inv_name = drink_stalker
eat_health = 0
eat_satiety = 0
eat_power = 1.0
eat_alcohol = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = 1
eat_max_power = 0.2

attach_angle_offset = 0.000000, 0.000000, 0.000000
attach_position_offset = 0.087266, -0.078540, 0.052360
attach_bone_name = bip01_r_hand
auto_attach = false


Само собой добавте описание... Сделаем упрощенное генерирование,то есть для всех:группировок,уровней сложности,локаций оно будет одинаковым... Для этого добавим наш энергетик во все главные секции:

-death_items_by_communities.ltx
Цитата

[stalker]
energy_drink_stalker =0.2
af_medusa = 0.015


-death_items_by_levels.ltx
Цитата

[default]
energy_drink_stalker = 1
af_medusa = 1


-death_items_count.ltx
Цитата

[item_count_0]
energy_drink_stalker = 1
af_medusa = 1


Вписывать спавн нашего предмета можно в любое место в этих секциях между другими предметами,не обращая внимание на записи разрабов(;Еда,;Медикаменты и т.п.),так как сделаны они просто для удобства,игра это не учитывает. Все,новый предмет добавлен в игру,появлятся он будет с 20%-ой вероятностью в количестве 1 шт.

Автор: Костя.н.ы.ч


 
  • Страница 1 из 1
  • 1
Поиск:
Посетители дня

Портал St-Atom.com является собственностью его владельца.
Авторское право на серию игр «S.T.A.L.K.E.R» и использованные в ней материалы принадлежат GSC Game World.
Для просмотра сайта рекомендуем использовать Mozilla Firefox или Opera.


Design by Nestor © 2013 - 2015 Year.




Войти на сайт