Прочие компьютерные игры

Как восстановить вырезанных мутантов в сталкер тень Чернобыля?

Ребят, хочу поиграть в сталкер тень Чернобыля с вырезанными мутантами, но в интернете никаких советов нет, только малолетки которые пишут "Ыыыы СкОчай мод" Кто-нибудь знает как их восстановить в игру и заселить?
Я так понял, что все ресурсы для монстров в игре есть, но самих монстров нужно грамотно прописать в множество игровых файлов, плюсом надо их где то расставить, а для этого придётся расковырять all.spawn. Сам искал способы монстров вернуть, но нашёл только такую инструкцию, возни достаточно:
.
Для примера возьму кошек
Добавить их можно отредактировать файл all.spawn
Вылет при появлении обычно сопровождается сообщением в логе:
Arguments : Can't open section 'cat_weak'
Это значит, что монстр у нас не до конца описан. В файле конфигурации идет секция [m_cat_e]:monster_base
Но для создания разных по силе конфигураций монстров обычно используется такая штука. Создается секция вида [cat_weak]:m_cat_e
то есть ссылка на основную конфигурацию, а потом указываются параметры, которые отличаются от нее. Например сила, здоровье, угол обзора и тд. Мы пока ограничимся просто добавлением этой секции. В файле config\creatures\m_cat.ltx в конце допишем [cat_weak]:m_cat_e. Запускаем, добавляем кошку, вылетаем с ошибкой:
Arguments : Can't find variable smart_terrain_choose_interval in [cat_weak]
Что ж, добавим и этот параметр. Посмотрим, какой он у собак, и сделаем также:
smart_terrain_choose_interval = 00:15:00
Запускаем, вылетаем с ошибкой:
Arguments : Can't find variable satiety_threshold in [cat_weak]
Вобщем, добавляем параметры, по кошка не станет нормально появлятся. Такие ошибки легко локализуются и исправляются.
Ну, на всякий случай, нужно добавить еще две строчки:
critical_wound_threshold = 0.4
critical_wound_decrease_quant = 0.
После этого кошка появляется, стреляем в нее, и у нас происходит Вылет при убийстве - это знаменитая ошибка:
Arguments : LUA error: e:\stalker\gamedata\scripts\_g.script:20 ...
Путем логических размышлений решение было найдено. Происходит добавление в статистику убитого объекта (монстра, нпс-а). Поэтому лезем в скрипт xr_statistic.script. В самом начале видим объявление переменной
local killCountProps = {...}
в которой кошек нет. Поэтому добавляем их туда (например, в конец), для начисления очков опыта:
cat_weak = 1, cat_normal = 2, cat_strong = 3,
Хотя мы сделали только cat_weak, но на будущее добавим и остальных. Затем идет перечисление используемых классов монстров:
monster_classes = {
кошек нет и здесь, добавляем:
[clsid.cat_s] = "cat",
Смотрим дальше, видим функцию addKillCount(npc), которая определяет сообщество (community) убитого. Функция вызывает getNpcType(npc), которая находится в этом же скрипте. А там идет обращение к функции IsStalker(npc), и возвращает сообщество и ранг убиенного.
Но тут про мостров ни слова, а значит идем дальше. Функция IsStalker(npc) обнаруживается в скрипте _g.script. Просматривая его обнаруживаем следующие интересующие нас функции:
is_object_monster(obj)
кошек нет, добавляем рядом с собаками:
otype == clsid.cat or
IsMonster (object, class_id)
кошки есть, ничего не трогаем.

Для страховки проверим еще одни файл, class_registrator.script. Находим в нем строку
cs_register (object_factory, "CCat", "se_monster.se_monster", "SM_CAT_S", "cat_s")
и успокаиваемся на этом. Запускаем, убиваем, подходим, пытаемся обыскать - вылетаем. Потому что случился вылет при обыске. Проверяем m_cat.ltx -
параметр icon отсутствует. Тут появляется два пути.
Первый - нарисовать новую иконку, вставить ее в файл ui_npc_monster.dds, определить координаты и добавить их в xml-описатель ui_npc_monster.xml. И так для каждого нового монстра.
Второй - использовать общую иконку для всех монстров, у которых отсутствует этот параметр.
Для этого отредактируем файл defines.ltx, так как именно в нём содержится секция monster_base, общая для всех монстров. Открываем, ищем секцию, и вставляем
icon = ui_frame_error_sign_red
Это будет такой красный крест в круге. Запускаем, убиваем, обыскиваем и не вылетаем.
АС
Анатолий Сапронов
363
Лучший ответ
Сергей Сокирко Блин, чел, спасибо тебе большое, наконец нормальная инструкция
Никак
Сергей Сокирко Умные мысли приследовали его, но он быстрей.
Алексей Ишалёв У вас есть мама?: а) Нет б) Нет, конечно в) Я ее продал ради бабл сраса на гемы
именно модами, идиот
Сергей Сокирко Ты 3блан? как тогда мододелы добавляют в свои моды вырезанных мутантов? путем магии?
Алексей Ишалёв Ого! Ты заслужил достижение: Клоун ?
модов на новых мутантов не знаю, касаемо того как их восстановить так же без вариантов. пробуй связаться с разрабами игры, ну или с теми кто делает моды может они чем помогут тебе.
хотя 100% нет
Максим Исаев
Максим Исаев
13 114
мод новая война ган дон
Сергей Сокирко он на старую версию еб лан
Алексей Ишалёв Ты заслужил достижение: Клоун ?