Перейти к содержанию

Рекомендуемые сообщения

 
 

какой за основу мод можно взять из существующих тч, на котором лучше вести разработку? подскажите, а то я до сих пор сижу на оригинале. 10 лет назад начал возиться и вот потихоньку пытаюсь возобновить деятельность, уже тут некоторые темы прочитал и даже что-то скачал, но не могу определиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel за основу брать тот, который предлагает больше функционала для разработчиков, в данном случае ОГСР (но лишаешься всех рендеров кроме r4), чего попроще - X-ray extensions (вродь правильно написал)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 минут назад, imcrazyhoudini сказал:

Pepel за основу брать тот, который предлагает больше функционала для разработчиков, в данном случае ОГСР (но лишаешься всех рендеров кроме r4), чего попроще - X-ray extensions (вродь правильно написал)

Это который вот этот OGSR MOD? А на счет второго - я нашел сообщество в ВК, и еще тему ЗДЕСЬ и ЗДЕСЬ и что-то не совсем понимаю - то ли я ошибся, то ли я просто не туда забрел. Вроде как это дополнение к ЗП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

monk в схеме или когда в бою падают? Если в бою - вроде как в движке время задано

Изменено пользователем N42
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
39 минут назад, imcrazyhoudini сказал:

а что там по количеству полигонов? их можно делать больше чем... вроде больше 1.5млн или 2 млн уже всё - нельзя было. это как-то исправлено?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel да попробуй для начала их сделать, а так явно тянет больше нежели оригинал, это я про первый движок, второй более для скриптеров

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini в топике амк вообще какой-то фигня - chm не скачать, битые ссылки.


Дополнено 5 минуты спустя
5 минут назад, imcrazyhoudini сказал:

Pepel да попробуй для начала их сделать, а так явно тянет больше нежели оригинал, это я про первый движок, второй более для скриптеров

блин, я же вообще не скриптер, ты што) я даже не рублю что с этими ссылками делать. качать и компилировать новый сдк? а зачем? а нет готового уже сдк-здорового человека чтобы просто установить его и заниматься?)


Дополнено 7 минуты спустя

imcrazyhoudini там даже вон чо написано "Инструкции по сборке: Требуется актуальная версия Visual Studio 2022. Открываете Engine.sln. В студии выбираете Сборка -> Собрать решение, предварительно выставив платформу x64 и конфигурацию Release"". Я VS2022 никогда в глаза не видел)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel на ап-про посмотри, тоже было тут

или на гите найди

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini не совсем понял. что именно искать то? VS2022? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini не, ты меня не так понял) я не скорее всего заниматься созданием нового сдк вряд ли стану. это точно не мое, это слишком сложно для меня, а изучать скорее всего еще лет пять потребуется чтобы во всем разобраться. Я просто хотел узнать какой мод взять за основу - который более совершенный и менее багованный, чтобы на его основе можно было бы сделать свой мод. Я уже понял что собирать всякие аддончики и пытаться их как-то адаптировать к какому нибудь огср той версии которая у меня стоит (из далеких нулевых наверное) и чтобы они не цапались - тухлый номер, а тут наверное не найдется того человека который помог бы это дело прикрутить, хотя в принципе мне не много то и надо.


Дополнено 0 минут спустя
18 минут назад, imcrazyhoudini сказал:

но за помощь с ссылками и поиском - спасибо. я походил, почитал инфу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel ну я тебе то и кинул)
огср предлагает много фич прямо с коробки (читай external.ltx), второй так же, правда пропатчивать файлы надо самому выбрав предварительно нужные правки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini это мне получается надо сначала огср поставить, а потом правки искать и устанавливать? убиццца можно... там столько всяких ссылок и т.д. попроще никак нельзя? нет уже с установленными парвками огср мода?) Я умру)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, Pepel сказал:

а потом правки искать и устанавливать?

зачем искать?
всё в external.ltx включается и отключается

с XRE уже посложнее, там надо самому библиотеки собирать с нужными правками

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

imcrazyhoudini ну ты што, для меня отключить что-то - это целый квест... про библиотеки - я вообще молчу. единственная библиотека где я могу находиться и что то шарить - это книжная, все остальные библиотеки вот с этими правками - это только наверное в присутствии продвинутого надо юзать. 


Дополнено 2 минуты спустя
50 минут назад, imcrazyhoudini сказал:

зачем искать?
всё в external.ltx включается и отключается

вот с этого места поподробнее. я скачал AI additions, хотел добавить его в огср, но он из-за дубликата метания гранат выдает ошибку, я не понимаю как его отключить, хотя в самом редми AI additions написано что отключается как-то через модуль. Я нифига не могу разобраться, помогай

Спойлер

AI additions
версия 2.0 fix2
для S.T.A.L.K.E.R. Тень Чернобыля (1.0004/1.0006)

Официальная тема: www.amk-team.ru/forum/topic/4653-ai-additions/

В данном аддоне использованы нароботки и идеи от таких модмейкеров:
xStream,Charsi,Monnoroch,Alundaio и других товарищей.

=====================================================
--- Установка ---
Внимание! Версия 2.0 не совместима с более ранними версиями
Если у вас уже установлен Ai Additions или AI Pack, их необходимо полностью удалить

Не советую пытаться адаптировать файлы state_mgr*.script, полная замена предпочтительна

адаптация для 4 патча в _patch4.rar
=====================================================
--- Краткое описание ---

Дополнение, улучшающее игровой ИИ, главным образом в боевой части

Расширение возможностей НПС за счёт добавления новых схем поведения:
1 Стрельба с подствольных гранатомётов
2 Перезарядка оружия после боя
3 Перевязка (самолечение)
4 Удар в лицо (рукопашный бой)
5 Использование ножа
6 Выбор подходящего оружия
7 Проверка друзей на линии огня
8 Надевание аддонов на оружие
9 Лечение раненых
10 Собирательство
+
11 Ожидание после боя
12 Оборона от монстров
13 Метание гранат
14 Камикадзе
15 Переодевание в лучшую броню
16 Оттаскивание трупов
17 Хромание НПС

Также исправлены некоторые баги общего поведения НПС, улучшены оригинальный схемы.

=====================================================

--- Особенности: ---


Перезарядка оружия - модуль rx_reload
    НПС перезаряжают оружие для сохранения боеготовности.
    Исправление ситуации, когда НПС встречал обнаруженного врага с пустым/полупустым магазином,
    так как потратил патроны в перестрелке или подобрал разряженное оружие.
    -дополнительно- Перезаряжается всё используемое оружие, а не только активное
    -дополнительно- Чистка оружия при перезарядке (починка на небольшой процент)

Менеджер оружия - модуль rx_wmgr
    Выбор лучшего оружия на основе параметров/цены/заданного приоритета
    Выбор оружия в бою исходя из исходя из конкретной ситуации
    Возможность управления оружейными предпочтениями персонажей
    Ограничение использования гранатомётов (проверка безопасности для окружающих)
    -дополнительно- Функционал управления выбором оружия из сторонних скриптов

Перевязка - модуль rx_bandage
    НПС лечатся, используя бинты и аптечки
    Используются соответствующие анимации
    В бою лечение происходит в укрытии
    -дополнительно- Спавн медикаментов при необходимости

Удар в лицо - модуль rx_facer
    НПС бьёт руками/прикладом оказавшихся рядом противников
    Если нет оружия, может подкрадываться к врагам для удара
    Сила и частота ударов зависит от ранга персонажа

Стрельба с подствольных гранатометов - модуль rx_gl
    НПС используют подствольный гранатомёт
    Стрельба как по видимым целям, так и по врагам в укрытии. Использование упреждения.
    Перезарядка гранатомёта после выстрела
    Проверка безопасности для стреляющего и дружественных персонажей (исключён суицид методом самоподрыва)
    Эффективность зависит от ранга персонажа

Бой с ножом - модуль rx_knife
    НПС использует нож в бою с людьми и мутантами
    Преследование цели
    Нож спавнится автоматически
    Урон зависит от ранга персонажа

По своим не стрелять - модуль rx_ff
    Если на линии огня оказался союзник, НПС прекращает огонь и меняет позицию

Напяливание аддонов - модуль rx_addons
    НПС могут прикреплять к своему оружию аддоны: оптический прицел, глушитель, подствольный гранатомет.
    Также снимают аддоны и переодевают на лучшее оружие
    Продажа лишнего (неиспользуемого) оружия

Добивание раненых - модуль rx_kill_wounded
    Заменяет багнутую движковую схему
    Разные вырианты добивания
    Разные предпочтения у группировок

Лечение раненых - модуль xr_help_wounded
    НПС будут лечить лежачих больных
    Озвучка присутствует

Собирательство - модуль xr_corpse_detection (3.06)
    НПС обыскивают трупы, собирают предметы.
    Анимации обыска, подбора предметов, отделения частей мутантов.
    Озвучка обыска трупов из Зова припяти (в комплекте русская озвучка)
    Динамический выбор цели
    Широкие возможности настройки

Исправление боевой системы - модуль rx_combat
    Раненые НПС перемещаются в укрытие бегом

Ожидание после боя ( импорт схемы ЧНЗП) - модуль post_combat_idle
    После убийства врагов НПС некоторое время сидят на месте,
    отыгрывая соответствующие анимации и озвучку

Оттаскивание трупов ("анти-веселая понихида" от xStream) (модифицированный xr_kamp.script)
    NPC находящиеся на отдыхе (у костра, например) будут оттаскивать в сторону трупы людей и животных.

Переодевание (схема "тамагочи" от xStream) - модуль xrs_armor
    теперь NPC можно продать какой-нибудь костюм и если его устроит, то он его оденет.
    Неписи очень стеснительные, поэтому переодеваются только тогда, когда гг их не видит и находится как минимум за 15 метров от них
    Кроме того введена система апгрейда брони - теперь NPC развиваются, вполне возможно встретить по прошествии времени NPC новичка, который обзавелся, например, костюмом сталкера или даже СЕВОЙ.

Метание гранат (ремейк схемы "гренадер" от xStream) - модуль xrs_grenade
    НПС. кидают гранаты. во врагов.

Камикадзе (ремейк схемы от Monnoroch)
    Психи-камикадзе (некоторые монолитовцы) достают гранату, выдергивают чеку и бегут на противника.

Хромание НПС (модифицированный xr_wounded.script)
    Добавлен новый режим "легкого тяжелого ранения", в котором НПС:
    - при наличии врага стараются спрятаться от него, ковыляя в укрытие
    - находясь в укрытии, могут сами себя вылечить (при наличии аптечки)
    - используют сидячую анимацию вместо лежачей

Оборона от монстров (monster_defend)
    Теперь вместо того, чтобы прятаться от монстров по укрытиям, НПС будет увеличивать дистанцию, чтобы расстрелять мутанта с безопасного расстояния, а также пытаться уклониться от атаки.

=====================================================

--- Другие исправления/улучшения: ---


Озвучка
    Добавлена реакция на дружественный огонь/гранаты
    Ограничение озвучки смерти при попадании в голову

move_mgr
    Исправлен баг, приводящий к сбою логики
    Добавлена блокировка управления персонажем во время работы общих схем

xr_combat_ignore
    функция is_ignored

xr_danger
    добавлен флаг для скриптов
    фикс реагирования на трупы

xr_motivator
    включены колбеки on_item_take,on_item_drop

state_mgr
    Исправление багов, оптимизация

xr_sleeper
    исправлена ненадежная работа схемы на путях с двумя точками (синдром Толика)

xr_meet
    оптимизация
    правка "не пялиться часами"
    правка "возникать по оружию, если только гг целится в меня"

xr_kamp
    добавлено случайное смещение направления взгляда от центра кампа
    исправлено продолжение музыки без инструмента

=====================================================

История изменений

------------------------
fix2 (25.12.2016)
    ~Настроено положение гранат и ножа в руке
     +Добавлен постпроцесс эффект удара в лицо
    ~Исправлен вылет 'e_entity->ID_Parent == id_parent'
    ~Фикс вылета 'dBodyStateValide(b)'
    ~Фикс вылета 'error in stalker wih visual'
    +поддержка гранат с нестандартной массой (xrs_grenade)

------------------------
fix1 (06.11.2016)
    ~ Исправлена ошибка в state_mgr
    ~ Increased grenade respawn time
    + Добавлена инструкция по добавлению гранат для схемы grenadier

------------------------
Версия 2.0 (16.10.2016) - Глобальное обновление

Расширен состав сборки, интегрирован AI Pack
Схемы добавлены:
    Ожидание после боя
    Оборона от монстров
    Метание гранат
    Камикадзе
    Переодевание в лучшую броню
    Оттаскивание трупов
    Хромание НПС

Серьёзно обновлены:
    схема "Перевязка"
    схема "Бой с ножом" (полноценный вариант из ЧНЗП)
    менеджер оружия


rx_addons
    Оптимизация
    Модифицирован механизм трансфера оружия
    Отслеживание приобретения нового аддона
    Добавлена функция продажи лишнего оружия

rx_bandage
    +Добавлена поддержка профилей и управление из логики
    +Теперь отображается именно тот предмет, который НПС использует; фейковый бинт убран
    +Добавлены анимации для разных медикаментов
    ~Исправлено не отображавшийся в руке предмет при включенном фонаре
    ~Исправлены глюки анимации в присяде

rx_combat
    +Новая схема борьбы с монстрами
    +Раненые НПС перемещаются в укрытие бегом
    +фикс некоторых движковых багов

rx_facer
    ~Исправлена работа при критическом ранении
    ~Исправлен период проверки
    +Добавлена настройка разрешённых целей
    +Добавлены анимации критического ранения для жертвы

rx_ff
    +Добавлена проверка при стрельбе вслепую
    ~исправлено вмешательство в перемещение персонажа

rx_gl
    ~Исправлено одновременное проигрывание нескольких звуков предупреждения
    +Работа в схеме danger
    ~Улучшена работа по скрытой цели
    +Реакция на гранаты при перезарядке
    ~Исправлена перезарядка при критическом ранении

rx_kill_wounded
    +Добавлена пауза после убийства
    ~Исправлена пауза между выстрелами

xrs_armor
    Проведена серьёзная оптимизация

xr_kamp (оттаскивание трупов)
    Оптимизация
    Исправление множества недоработок и настройка
    Улучшение внешнего вида

xrs_grenade
    Схема полностью переделана
    Улучшена аудиовизуальная составляющая ( правильные анимации и озвучка )
    Улучшена проверка безопасности
    НПС начинают кидать гранаты, если противник скрылся из виду
    Добавлен разброс при прицеливании
    Улучшено уклонение от гранат
    Добавлена схема камикадзе
    Добавлены маркеры на худе на кинутую гранату в стиле ЧН/ЗП (автор Charsi)
    Ну и конечно много других улучшений, всё перечислить невозможно.


Плюс ещё множество различных правок платформы и схем аддона.


state_mgr
    Менеджер состояний серьезно модифицирован:
    - исправление ошибок, оптимизация, небольшое расширение функционала.

move_mgr
    Исправлен баг, приводящий к сбою логики
    Добавлена блокировка управления персонажем во время работы общих схем

xr_danger
    фикс реагирования на трупы
xr_sleeper
    исправлена ненадежная работа схемы на путях с двумя точками (синдром Толика)
xr_meet
    оптимизация
    правка "не пялиться часами"
    правка "возникать по оружию, если только гг целится в меня"
xr_kamp
    добавлено случайное смещение направления взгляда от центра кампа
    исправлено продолжение музыки без инструмента


------------------------
Версия 1.933 (22.08.2016)

rx_gl : Исправление возможной ошибки при удалении НПС во время боя
Поддержка схемы corpse detection версии 3.05
Пара мелких правок

(rx_ai.script,rx_gl.script,rx_utils.script,xr_help_wounded.script,bind_monster.script,xr_motivator.script,state_mgr_weapon.script)

------------------------
Версия 1.932 (03.08.2016)

Исправлен вылет при убийстве НПС с ножом в руке (death_manager.script)

------------------------
Версия 1.931 (05.06.2016)

rx_sound
    +добавлен список исключений НПС

rx_kill_wounded
    ~фикс включения схемы при наличии здорового врага
    ~включена реакция на гранаты

xr_help_wounded
    ~фикс включения схемы при наличии здорового врага
    ~включена реакция на гранаты и ранения

------------------------
Версия 1.93 (03.06.2016)

Общее:
    убраны файлы state_lib.script,state_mgr_animation_list.script

state_mgr
    +добавлена пара state_mgr_to_idle_off из АМК

state_mgr_weapon
    ~исправлено возможное зависание менеджера при смене оружия

rx_kill_wounded
    ~предохранитель от гранатомёта в пистолетном слоте

rx_reload
    ~исправлена ошибка в биндере
    ~отключен стейт менеджер

rx_sound
    +модульность загрузки озвучки
    ~починена задержка проигрывания звука

rx_utils
    +функции get_mag_size,get_wpn_type (перенесены из rx_reload)

xr_help_wounded
    ~исправлено зависание, если лекаря отпинывают в сторону
    +в анимацию добавлен визуал бинта

------------------------
Версия 1.925 (24.05.2016)

Общее:
    Исправлено несколько проблем
    (rx_ai,rx_utils,rx_gl,rx_kill_wounded,rx_reload,xr_help_wounded)

------------------------
Версия 1.92 (17.05.2016)

Общее:
    +добавлена схема xr_help_wounded
    +добавлена поддержка схемы xr_corpse_detection ( сама схема отдельно )
    ~Исправлено в настройках название групировки военных (было army из ЗП)
    %Затронуты файлы:
        bind_monster.script    (death_callback)
        xr_logic.script        (reset_schemes)
        state_mgr.script    (block_sound, фикс movement_enable)
        state_lib.script    (анимации)
        state_mgr_animation_list.script    (анимации)

rx_ai
    +Возможность настройки вероятности отыгрывания озвучки смерти и реакции на дружественный огонь

rx_sound
    ~Добавлена поддержка движковой озвучки
    ~Заблокирована лишняя озвучка тревоги при переключении с боевых схем на движковую боёвку
    +Добавлен класс для проигрывания звуков из конфига объекта

rx_facer
    ~исправлен сброс текущей анимации перед ударом

rx_gl
    +Добавлено предупреждение игрока

rx_knife
    ~Исправление дальности атаки
    +Добавлены партиклы крови
    ~Исправлена пауза в 30 секунд после спавна ножа

rx_kill_wounded
    ~Небольшие исправления

------------------------
Версия 1.91 (01.04.2016)

Общее:
    +добавлена схема rx_kill_wounded
    +добавлена схема rx_knife
    +добавлен модуль озвучки персонажей
    +включена озвучка дружественного огня
    +парсинг списков группировок и рангов из конфига
    ~исправлен конфликт схем с менеджером оружия

rx_bandage
    ~исправлена возможность повторного спавна rx_attach_bandage
    ~фикс залипания анимации
    +добавлено выпадение бинта при смерти персонажа во время перевязки

rx_facer
    ~исправлена проблема с запоминанием обиды
    +озвучка избиения друзей
    ~фикс поворота после удара
    +поддержка rx_knife
    ~исправлена ошибка, приводившая к отключению менеджера оружия

rx_ff
    +добавлен учёт разброса оружия
    +поддержка rx_knife
    ~улучшено определение кемпера

rx_gl
    +озвучка
    ~фикс звука перезарядки
    ~фикс стрельбы по раненым/мёртвым врагам


rx_reload
    ~оптимизация схемы
    ~запрет для торговцев
    +поддержка rx_kill_wounded

------------------------
Версия 1.9 (27.01.2016)

схема rx_ff "По своим не стрелять"
    Оптимизация, небольшие правки.

Схема rx_facer "Удар в лицо"
    Оптимизация, небольшие правки.

Схема rx_bandage "Перевязка"
    Оптимизация
    улучшен поиск укрытия
    Полноценная работа схемы в любое время, а не только в бою
    Зависимость времени перевязки от ранга
    и другие правки


Схема rx_reload "Перезарядка оружия"
    Работает независимо от менеджера оружия. 
    Перезаряжает лучшее оружие каждого типа.
    В наличии опция для перезарядки только одного лучшего оружия.
    Функция "чистки" ствола - немного повышает состояние оружия при перезарядке.


Схема rx_gl "Стрельба с подствольных гранатометов"
    Переделана сама концепция.
    Теперь есть 2 режима стрельбы:
    1 Стрельба "на глаз" по видимой цели, без использования проверочного снаряда. Осуществляется из любого положения: сидя, стоя, на ходу и даже на бегу. Обеспечивает быстрое и точное поражение цели при отсутствии препятствий на траектории. Возможна стрельба на упреждение движения цели.
    2 Обстреливание позиции, где последний раз был виден враг. Выполняется при отсутствии видимой цели, используется проверочный снаряд. Реализована групповая память - члены группы обмениваются иформацией о расположении врага.
    ещё
    Увеличена возможная дальность и точность, по сути дальность теперь не ограничена (т.е. ограничена баллистической досягаемостью).
    Убрано расходование боеприпасов, НПС могут стрелять неограниченно одной гранатой - как с обычными патронами; есть опция автоматического спавна гранаты при наличии подствола.
    улучшена анимация и эффекты выстрела
    Настройки времени прицеливания, точности и скорострельности для рангов.

=====================================================
25.12.2016
Rulix aka Bak
 

 


Дополнено 4 минуты спустя

может быть как-то где-то в файле что-то надо закомментировать? я просто нифига вот от слова "совсем" не могу понять куда лезть, а в доках что-то тоже не написано этого


Дополнено 17 минуты спустя

такой еще файл есть, но почему то ошибки вылетают всякие

Спойлер

 


-----------------------------------------------------------
Список модулей:

[post_combat_idle.script]
[rx_addons.script]
[rx_bandage.script]
[rx_combat.script]
[rx_facer.script]
[rx_ff.script]
[rx_gl.script]
[rx_kill_wounded.script]
[rx_knife.script]
[rx_reload.script]
[rx_wmgr.script]
[xr_corpse_detection.script]
[xr_help_wounded.script]
[xrs_armor.script]
[xrs_grenade.script]

Для отключения отдельного модуля достаточно удалить соответствующий файл скрипта
-----------------------------------------------------------
Настройки аддона находятся в configs\misc\ai_additions

[rx_addons]:misc.ltx
[rx_bandage]:bandage.ltx
[rx_combat]:misc.ltx
[rx_facer]:facer.ltx
[rx_ff]:misc.ltx
[rx_gl]:gl.ltx
[rx_kill_wounded]:kill_wounded.ltx
[rx_knife]:knife.ltx
[rx_reload]:misc.ltx
[rx_wmgr]:weapon_manager.ltx
[xr_corpse_detection]:corpse_detection.ltx
[xr_help_wounded]:help_wounded.ltx
[xrs_grenade]:grenadier.ltx

-----------------------------------------------------------
Принадлежность дополнительных файлов

[anims\facer.ppe]
постпроцесс для rx_facer

[configs\misc\ai_additions\_system.ltx]
предметы для rx_gl,rx_wmgr,xrs_grenade

[configs\misc\items.ltx,configs\creatures\m_stalker.ltx]
настройки прикрепления медикаментов для rx_bandage,xr_help_wounded

[configs\weapons\]
правильные координаты положения гранат и ножа для сталкеров

[configs\ui\map_spots.xml]
метки миникарты для rx_gl

[configs\ui\grenade_mark.xml,textures\ui\ui_hud_grenade_mark.dds,ui_grenade_marks.script]
метки гранат для xrs_grenade

[meshes\grenadier,textures\grenadier]
невидимые модели гранат для rx_gl(rx_wmgr),xrs_grenade

[sounds\characters_voice]
озвучка обыска трупов из ЗП для xr_corpse_detection
дополнительная озвучка friendly_grenade из ЗП
озвучка для post_combat_idle, xrs_grenade

[sounds\device\pda\pda_alarm.ogg]
звук сигнала предупреждения для rx_gl

-----------------------------------------------------------
Удаление
Аддон добавляет новые объекты, которые будут сохраняться в игровых сейвах;
Для их загрузки необходимо оставить файлы: 
configs\misc\ai_additions\_system.ltx
meshes\grenadier

-----------------------------------------------------------
Некоторые особенности адаптации/настройки

при добавлении новых группировок желательно добавить для них настройки в knife.ltx,kill_wounded.ltx,bandage.ltx,grenadier.ltx

[rx_addons]
функция surplus_sales производит удаление лишнего оружия.
срабатывает на первом апдейте НПС и при переходе в оффлайн.
Чтобы защитить предмет от удаления, необходимо добавить его в список no_sale_items (misc.ltx)

[rx_bandage]
При добавлении новых медикаментов нужно включить их в списки medkits,bandages,animation (bandage.ltx), чтобы НПС могли их применять.
Если присутствуют персонажи, которым не нужно себя лечить, добавить их в forbidden_npcs
Для запрета самолечения есть 2 способа:
1 добавить их в forbidden_npcs
2 прописать в логику "bandage = disabled"

[rx_facer]
По надобности можно настраивать силу удара и доступные для избиения классы существ.

[rx_gl]
Желательно настроить параметры min_dist,max_dist под актуальные конфиги подствольных гранатомётов
min_dist не должен быть меньше минимально возможного радиуса поражения взрыва гранаты
max_dist должен соответствовать максимально возможной дальности полёта гранаты

[rx_knife]
Для запрета использования ножа есть 2 способа:
1 внести персонажа в список forbidden_npcs (knife.ltx)
2 прописать в логику "can_use_knife = false"

[xr_help_wounded]
Для запрета лечения раненых есть 2 способа:
1 внести персонажа в список forbidden_npcs (help_wounded.ltx)
2 прописать в логику "help_wounded_enabled = false"

Для запрета лечения определённых персонажей необходимо добавить их в список forbidden_patients
или добавить "not_for_help = true" в секцию [wounded]

[xr_corpse_detection]
Для запрета собирательства есть 2 способа:
1 внести персонажа в список forbidden_npcs (corpse_detection.ltx)
2 прописать в логику "corpse_detection_enabled = false"

Для запрета собирания определенных предметов необходимо добавить их в список forbidden_items
Для запрета оббирания определённых трупов необходимо добавить их в список forbidden_corpses

Решение вопроса с попытками подобрать артефакт во время активации:
в файле xr_corpse_detection.script раскомментировать строки с пометкой "ARTEFACT ACTIVATION FIX"

[post_combat_idle]
для отключения схемы прописать в логику "post_combat_idle = 0,0"

[xrs_grenade]
Для отключения меток гранат на экране достаточно удалить ui_grenade_marks.script, при этом будет использоваться старый вариант с этметками на миникарте.

Для запрета схемы
внести персонажа в список forbidden_npcs (grenadier.ltx)

Для запрета только кидать гранаты
 прописать в логику "grenadier = dont_throw"

Добавление новых гранат для схемы
 Чтобы НПС кидали новые гранаты, необходимо провести следующую процедуру:
1. Если у гранаты новая модель - создать на ее основе невидимую модель для тестовой гранаты, заменив текстуру и материал (на примере существующих - meshes\grenadier)
2. Добавить секции фейк-гранат (_fake,_test) в ai_additions\_system.ltx по аналогии с имеющимися
3. Добавить секцию новой гранаты в таблицу xrs_grenade.grenade_params
4. (если нужно) Настроить спавн новой гранаты в grenadier.ltx (spawn_grenades)

[xrs_armor]
Костюмы вместе с визуалами, а также исключения прописываем в xrs_armor.script

-----------------------------------------------------------
Управление схемами из логики персонажей
-----------------------------------------------------------

Список доступных параметров:
(читаются как из секции активной схемы, так и из секции логики, первая приоритетней)

===========
bandage = profile    ; string
-----------
профиль схемы bandage (самолечение) профили c настройками находятся в bandage.ltx

===========
grenadier = profile    ; string
-----------
профиль схемы grenadier (метание гранат) профили c настройками находятся в grenadier.ltx

===========
post_combat_idle = 5,10 ; int,int
-----------
минимальное,максимальное время ожидания после боя

===========
can_use_knife = false    ; bool
-----------
возможность запретить работу схемы knife (бой с ножом)

===========
help_wounded_enabled = false    ; bool
-----------
запрещение работы схемы wounded_enabled (лечение раненых)

===========
corpse_detection_enabled = false    ; bool
-----------
запрещение работы схемы corpse_detection (собирательство)

===========
corpse_detection_profile = profile    ; string
-----------
профиль схемы corpse_detection (собирательство) профили c настройками находятся в corpse_detection.ltx

===========
weapon_manager = profile    ; string
-----------
секция менеджера оружия. секции c настройками находятся в weapon_manager.ltx


-----------------------------------------------------------

Для схемы wounded добавлен дополнительный параметр для запрещения помощи другими НПС

not_for_help    = true    ; bool


-----------------------------------------------------------


 

 


Дополнено 11 минуты спустя

кое-что я всетаки поотключал, игра запустилась, но во время диалога зависла и я словил вылет 

Спойлер

Expression    : no_assert
Function      : CXML_IdToIndex<class CPhraseDialog>::GetById
File          : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
Line          : 112
Description   : item not found, id
Arguments     : escape_trader_repair

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Добрый день!

 

1. Возможно ли сделать тайники с рандомным наполнением?

 

2. Кто-нибудь использовал ChatGPT для создания модов? Он, вроде как, знает LUA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
13 часов назад, Pepel сказал:

escape_trader_repair

Походу инфопоршня нет.

20 минут назад, John Doe 2023 сказал:

1. Возможно ли сделать тайники с рандомным наполнением?

В АМК и на этой основе делалось давно. Примера нет.

20 минут назад, John Doe 2023 сказал:

2. Кто-нибудь использовал ChatGPT для создания модов? Он, вроде как, знает LUA

Знаю что С++ он хорошо знает.
Можешь и LUA попробовать, но ручками явно придётся дорабатывать.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

John Doe 2023 тайники возможно. Затронут ли в твоём моде treasure_manager? Если да, то дай мне его сюда.

  • Лайк 1

76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

John Doe 2023 

Спойлер

--' Выдача тайника
function CTreasure:give_treasure(k)
    local v = self.treasure_info[k]
    local sim = alife()
    local obj = sim:story_object(v.target)
    if obj ~= nil then
        news_manager.send_treasure(v.name)

        --' Пометить на карте        
        local text = "%c[255,238,155,23]"..game.translate_string(v.name).."\\n".."%c[default]"..game.translate_string(v.description)
        level.map_add_object_spot_ser(obj.id, "treasure", text)

        local item_ids = {}
        local pos, lvid, gvid, pid, new_obj
        local need_workaround = level.object_by_id(obj.id) ~= nil
        local spawn_items = {"wpn_pm","wpn_pb","wpn_fort","wpn_walther","wpn_sig220","wpn_colt1911","wpn_usp","wpn_desert_eagle","wpn_bm16","wpn_wincheaster1300","wpn_spas12","wpn_ak74u","wpn_mp5","wpn_ak74","wpn_abakan","wpn_l85","wpn_lr300","wpn_sig550","wpn_groza","wpn_val","wpn_vintorez","wpn_svu","wpn_svd","wpn_rg-6","wpn_rpg7","wpn_gauss","wpn_addon_scope","wpn_addon_scope_susat","wpn_addon_silencer","wpn_addon_grenade_launcher","wpn_addon_grenade_launcher_m203","bandit_outfit","killer_outfit","monolit_outfit","soldier_outfit","specops_outfit","military_outfit","stalker_outfit","scientific_outfit","exo_outfit","svoboda_light_outfit","svoboda_heavy_outfit","dolg_outfit","dolg_scientific_outfit","ecolog_outfit","protection_outfit","af_medusa","af_cristall_flower","af_night_star","af_vyvert","af_gravi","af_gold_fish","af_blood","af_mincer_meat","af_soul","af_electra_sparkler","af_electra_flash","af_electra_moonlight","af_rusty_thorn","af_rusty_kristall","af_rusty_sea-urchin","af_ameba_slime","af_ameba_slug","af_ameba_mica","af_drops","af_fireball","af_cristall","af_dummy_glassbeads","af_dummy_pellicle","af_dummy_battery","af_dummy_dummy","af_dummy_spring","af_fuzz_kolobok","antirad","bandage","bread","conserva","detector_advances","detector_elite","detector_simple","energy_drink","kolbasa","medkit","medkit_army","medkit_scientic","vodka"}
        local spawn_ammos = {"ammo_9x18_fmj","ammo_9x18_pmm","ammo_9x19_pbp","ammo_9x19_fmj","ammo_11.43x23_hydro","ammo_11.43x23_fmj","ammo_12x70_buck","ammo_12x76_dart","ammo_12x76_zhekan","ammo_5.45x39_ap","ammo_5.45x39_fmj","ammo_9x39_sp5","ammo_9x39_ap","ammo_9x39_pab9","ammo_5.56x45_ss190","ammo_5.56x45_ap","ammo_7.62x54_7h14","ammo_7.62x54_7h1","ammo_7.62x54_ap","ammo_gauss"}                
        if need_workaround then
            pos = db.actor:position()
            lvid = db.actor:level_vertex_id()
            gvid = db.actor:game_vertex_id()
            pid = db.actor:id()
        else
            pos = obj.position
            lvid = obj.m_level_vertex_id
            gvid = obj.m_game_vertex_id
            pid = obj.id
        end
        for kk,vv in pairs(v.items) do
                if ammo_section[vv.section] == true then
                    local left, box_size = vv.prob, system_ini():r_u32(vv.section, "box_size")
                    while left > box_size do
                        new_obj = sim:create_ammo(spawn_ammos[math.random(20)], pos, lvid, gvid, pid, box_size)
                        table.insert(item_ids, new_obj.id)
                        left = left - box_size
                    end
                    if left > 0 then
                        new_obj = sim:create_ammo(spawn_ammos[math.random(20)], pos, lvid, gvid, pid, left)
                        table.insert(item_ids, new_obj.id)
                    end
                else
                    for i = 1,vv.prob do
                        new_obj = sim:create(spawn_items[math.random(86)], pos, lvid, gvid, pid)
                        table.insert(item_ids, new_obj.id)
                    end
                end
            end        
            if need_workaround then
                self.loss_workaround_queue[v.target] = item_ids
            end
        
            --' Пометим тайник как выданный
            self.treasure_info[k].active = true
            self.treasure_info[k].done = true
        end
    end
end

простенькая реализация рандомного лута в тайниках из моей сборки, достаточно в treasure_manager.script заменить эту функцию 

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
30 минут назад, ian98 сказал:

John Doe 2023 тайники возможно. Затронут ли в твоём моде treasure_manager? Если да, то дай мне его сюда.

А я только-только начал, пока просто задаю вопросы)))

 

24 минуты назад, StrawFlux сказал:

John Doe 2023 

  treasure_manager (Показать контент)

--' Выдача тайника
function CTreasure:give_treasure(k)
    local v = self.treasure_info[k]
    local sim = alife()
    local obj = sim:story_object(v.target)
    if obj ~= nil then
        news_manager.send_treasure(v.name)

        --' Пометить на карте        
        local text = "%c[255,238,155,23]"..game.translate_string(v.name).."\\n".."%c[default]"..game.translate_string(v.description)
        level.map_add_object_spot_ser(obj.id, "treasure", text)

        local item_ids = {}
        local pos, lvid, gvid, pid, new_obj
        local need_workaround = level.object_by_id(obj.id) ~= nil
        local spawn_items = {"wpn_pm","wpn_pb","wpn_fort","wpn_walther","wpn_sig220","wpn_colt1911","wpn_usp","wpn_desert_eagle","wpn_bm16","wpn_wincheaster1300","wpn_spas12","wpn_ak74u","wpn_mp5","wpn_ak74","wpn_abakan","wpn_l85","wpn_lr300","wpn_sig550","wpn_groza","wpn_val","wpn_vintorez","wpn_svu","wpn_svd","wpn_rg-6","wpn_rpg7","wpn_gauss","wpn_addon_scope","wpn_addon_scope_susat","wpn_addon_silencer","wpn_addon_grenade_launcher","wpn_addon_grenade_launcher_m203","bandit_outfit","killer_outfit","monolit_outfit","soldier_outfit","specops_outfit","military_outfit","stalker_outfit","scientific_outfit","exo_outfit","svoboda_light_outfit","svoboda_heavy_outfit","dolg_outfit","dolg_scientific_outfit","ecolog_outfit","protection_outfit","af_medusa","af_cristall_flower","af_night_star","af_vyvert","af_gravi","af_gold_fish","af_blood","af_mincer_meat","af_soul","af_electra_sparkler","af_electra_flash","af_electra_moonlight","af_rusty_thorn","af_rusty_kristall","af_rusty_sea-urchin","af_ameba_slime","af_ameba_slug","af_ameba_mica","af_drops","af_fireball","af_cristall","af_dummy_glassbeads","af_dummy_pellicle","af_dummy_battery","af_dummy_dummy","af_dummy_spring","af_fuzz_kolobok","antirad","bandage","bread","conserva","detector_advances","detector_elite","detector_simple","energy_drink","kolbasa","medkit","medkit_army","medkit_scientic","vodka"}
        local spawn_ammos = {"ammo_9x18_fmj","ammo_9x18_pmm","ammo_9x19_pbp","ammo_9x19_fmj","ammo_11.43x23_hydro","ammo_11.43x23_fmj","ammo_12x70_buck","ammo_12x76_dart","ammo_12x76_zhekan","ammo_5.45x39_ap","ammo_5.45x39_fmj","ammo_9x39_sp5","ammo_9x39_ap","ammo_9x39_pab9","ammo_5.56x45_ss190","ammo_5.56x45_ap","ammo_7.62x54_7h14","ammo_7.62x54_7h1","ammo_7.62x54_ap","ammo_gauss"}                
        if need_workaround then
            pos = db.actor:position()
            lvid = db.actor:level_vertex_id()
            gvid = db.actor:game_vertex_id()
            pid = db.actor:id()
        else
            pos = obj.position
            lvid = obj.m_level_vertex_id
            gvid = obj.m_game_vertex_id
            pid = obj.id
        end
        for kk,vv in pairs(v.items) do
                if ammo_section[vv.section] == true then
                    local left, box_size = vv.prob, system_ini():r_u32(vv.section, "box_size")
                    while left > box_size do
                        new_obj = sim:create_ammo(spawn_ammos[math.random(20)], pos, lvid, gvid, pid, box_size)
                        table.insert(item_ids, new_obj.id)
                        left = left - box_size
                    end
                    if left > 0 then
                        new_obj = sim:create_ammo(spawn_ammos[math.random(20)], pos, lvid, gvid, pid, left)
                        table.insert(item_ids, new_obj.id)
                    end
                else
                    for i = 1,vv.prob do
                        new_obj = sim:create(spawn_items[math.random(86)], pos, lvid, gvid, pid)
                        table.insert(item_ids, new_obj.id)
                    end
                end
            end        
            if need_workaround then
                self.loss_workaround_queue[v.target] = item_ids
            end
        
            --' Пометим тайник как выданный
            self.treasure_info[k].active = true
            self.treasure_info[k].done = true
        end
    end
end

простенькая реализация рандомного лута в тайниках из моей сборки, достаточно в treasure_manager.script заменить эту функцию 

О, спасибо большое!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

John Doe 2023 не за что, только смотри может я end где лишний поставил, у меня просто идет переключение в АМК опциях с классических тайников на случайные, держи может пригодится 

treasure_manager.script

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, Sir Allone сказал:

Походу инфопоршня нет.

это можно как-то вылечить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Так, ребят, важное уточнение: мне нужно не рандомное наполнение тайников, а рандомный выбор между несколькими вариантами наполнения, которые я сам пропишу

 

Рандомное наполнение сломает баланс игры. Допустим, тайник на Кордоне, а сила великого рандома туда поместит "Экзоскелет". Так дело не пойдёт

 

Но и одно и тоже наполнение уже надоело, поэтому я хотел бы прописать для тайника 5-10 вариантов, а программа пусть потом сама выбирает, чем его наполнить

Попросил я помощи у ChatGPT

Он мне предложил вот это:

 

Спойлер

 

[esc_secret_bridge_vagon]
target = 5000
name = esc_secret_0000_name
description = esc_secret_0000_descr
condlist = {=npc_rank(experienced) =actor_on_level(l01_escape)} 10
community = military

; список возможных вариантов содержимого тайника
items_list = {
    ammo_5.45x39_ap,30,medkit_army,2
    2,medkit_army,2,bread
    3,mre,1,energy_drink,1
}

; выбираем случайный вариант из списка
random_item = items_list[math.random(#items_list)]

; устанавливаем содержимое тайника в соответствии с выбранным вариантом
items = random_item

 

И предложил он это вставить в treasure_manager.ltx


То есть строку items он убрал, а вместо этого предложил items_list

Был вылет. Что такое "mre" я не знаю, но поправил))) 

Наверное изменения нужно вносить в treasure_manager.script

Он много чего предлагает, но постоянно путается и меня путает, тем более, что я не соображаю ничего

Затем предложил вот это:
 

void give_items_to_actor_random(ref_location, string:items, int:quality)
{
    object tmp_ob, tmp2_ob;
    string tmp_item, tmp_count;

    string[] item_list = split(items, ",");
    int item_count = sizeof(item_list);
    int item_index = random(item_count);

    tmp_item = item_list[item_index];
    tmp_count = get_token(tmp_item,",", 1);
    tmp_ob = object_from_section(get_token(tmp_item,",", 0));

    if (tmp_ob) 
    {
        if (tmp_count=="inf") tmp2_ob = tmp_ob;
        else tmp2_ob = spawn_item(tmp_ob,tmp_count);
        if (tmp2_ob) 
        {
            if (quality>0) set_item_quality(tmp2_ob,quality);
            location().add_item(tmp2_ob);
        }
    }
}

 

[esc_secret_bridge_vagon]
target = 5000
name = esc_secret_0000_name
description = esc_secret_0000_descr
items = random_item,ammo_5.45x39_ap,30,medkit_army,2
condlist = {=npc_rank(experienced) =actor_on_level(l01_escape)} 10
community = military

[random_item]
type = script
script = treasure_manager.give_items_to_actor_random



Просьба к тем, кто понимает Lua: скажите, этот электронный парень дело говорит или, как и я, ничего не соображает?)))




 

 



 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel возрадуйся, меня разбанили
 

23 часа назад, Pepel сказал:

кое-что я всетаки поотключал

это необязательно, просто адаптируй через WinMerge свой аипак, у меня всё работает

7 часов назад, Pepel сказал:

это можно как-то вылечить?

конечно, добавь его в info_portions.xml, например

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу