banner
Рейтинг
Голоса0

Моб Айлиб

Категория - Разное для Valheim
0
Версия мода:1
Версия игры:all
Mод успешно проверен на отсутствие вирусов
721.46K107.14K

Репорт мод

  • image
modalImage

Об этом моде

## RagnarsRökare MobAILib ##

MobAILib - это библиотека, используемая для замены встроенного ИИ персонажей в Valheim.

Цель - предоставить набор типов ИИ и моделей поведения, которые моделлеры могут использовать для создания более яркого мира.

RagnarsRökare MobAILib.

MobAILib - это библиотека для замены ИИ персонажей, встроенного в Valheim.

Цель - предоставить ряд различных типов ИИ и моделей поведения, которые моделлеры могут использовать для создания более ярких миров.


Как использовать.

Во-первых, добавьте ссылку на MobAILib в свой мод-проект.


RagnarsRokare.MobAI.MobManager используется для регистрации и мониторинга управляемых мобов.

Он содержит список MobAI, которые могут быть использованы в качестве «мозга» моба и управлять его поведением. 

Каждый MobAI имеет свой собственный конфигурационный файл, содержащий его настройки: WorkerAIConfig и FixerAIConfig.

Они наследуют от MobAIBaseConfig, который содержит основные атрибуты:  

Awareness - общая осведомленность. Используется для расчета дальности поиска и способности обнаруживать врагов. 

Агрессивность - Агрессивность определяет поведение в бою и то, когда нужно сдаться и убежать. 

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

Интеллект - общий интеллект определяет, насколько моб способен запоминать.


-LabourerAI.

Позволяет персонажу передвигаться и заполнять плавильные печи, духовки, камины и факелы. Он ищет предметы на земле и в сундуках.

Сражается, когда ранен, но легко сдается (низкий уровень атаки) Настройка FeedDuration действительна только в том случае, если к игровому объекту прикреплен компонент Tameable. 


WorkerAIConfig.

  public int FeedDuration = 1000;  

  public string[] IncludedContainers = new string[] { «piece_chest_wood» }  

  public int TimeBeforeAssignmentCanBeRepeated = 120;  

  public int TimeLimitOnAssignment = 60;  


- Ремонт искусственного интеллекта.  

Если вы обнаружили поврежденную структуру, отправьте ее на ремонт. Экипируйте предмет из 0 в инвентаре или молоток, если он есть, и используйте анимацию атаки при повторном ремонте. Если он ранен, то будет сражаться агрессивно (повышенная сила атаки). 

Параметр FeedDuration действует только в том случае, если к игровому объекту прикреплен компонент Tameable. 


FixerAIConfig.

Это значения по умолчанию. 

  public int PostTameFeedDuration = 1000;  

  public int TimeLimitOnAssignment = 30;  

  public string[] IncludedContainers = new string[] { 'piece_chest_wood' }  


RegisterMobAI(Type mobAIType) Используется для регистрации пользовательского MobAI. 

MobAIType должен наследоваться от MobAIBase и быть классом, реализующим интерфейс IMobAIType. 

Пример реализации mobAI можно найти на [GitHub](https://github.com/di98feja/RagnarsRokare/wiki))のwikiを参照。). 


RegisterMob(Character character character, string uniqueId, string mobAIName, string configAsJson)Используется для регистрации моба с помощью MobAI.

- character - компонент Character моба.

- uniqueId - строка, используемая для уникальной идентификации моба среди всех других мобов.

- mobAIName - тип MobAI, который будет использоваться. Доступные типы можно найти в **``MobManager.GetRegisteredMobAIs()``**.

- configAsJson - конфигурация, специфичная для MobAI, сериализованная в виде JSON.


RegisterMob(Character символ, string uniqueId, string mobAIName, object config) используется для регистрации моба с помощью MobAI.

- character - это компонент Character моба.

- uniqueId - строка, используемая для уникальной идентификации моба среди всех других мобов.

- mobAIName - тип MobAI, который будет использоваться. Доступные типы можно найти в **``MobManager.GetRegisteredMobAIs()``**.

- config - конфигурация, специфичная для MobAI.


UnregisterMob(string uniqueId)

Используется для отключения контроля над мобом.


IsRegisteredMob(string uniqueId)Проверяет, зарегистрирован ли моб с заданным уникальным идентификатором.


IsAliveMob(string uniqueId)Проверяет, активен ли моб в соответствии с заданным уникальным идентификатором.

Моб становится активным, когда его MobAI инстанцирован и назначен.


Словарь<string, MobAIBase> AliveMobВсе живые мобы хранятся в словаре, где UniqueId является ключом. Value является базовым классом MobAI и имеет доступ к CurrentAIState.


Код доступен на GitHub.

В этом репозитории также есть мод SlaveGreylings, который использует эту библиотеку.

Под капотом он использует (или может быть неправильно использует) Stateless State Machine (также на GitHub).  

Спасибо, команда Stateless.


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

Поэтому даже при наличии обратной связи мы не сможем выполнить пожелания каждого. 

// Берг и Морг.


Планы на будущее.

- Добавить более специфическое боевое поведение, которое смогут использовать все классы MobAI.

- Добавить шаблоны интерфейса и стратегии, позволяющие выбирать боевое поведение во время выполнения.

- Больше встроенных классов MobAI.

- Больше общих моделей поведения.


Журнал изменений.

- Версия 0.3.9.  

 Изменено то, что мобы контролируют только 2D расстояние при движении к цели.  

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


- Версия 0.3.8

 Исправлены ошибки.


- Версия 0.3.7

 Исправления ошибок.


- Версия 0.3.6.

 Добавление поведения BasicFarmingBehaviour


- Версия 0.3.5

 Переработана для Valheim v0.206.5


- Версия 0.3.4

Обновлено для Hearth&Home


-версия 0.3.3

Исправления ошибок.


- Версия 0.3.1

Обратная совместимость с версией 0.2  


- Версия 0.3.0  

Добавлены маркеры для мобов на карте  

Различные исправления и улучшения стабильности  

Роуминг ИИ отключен по умолчанию. Хорошо работает в одиночной игре и в одиночной игре на частных серверах. Требуется настройка в мультиплеере.


- Версия 0.2.1.

Удален [BepInProcess («valheim.exe»)], чтобы сделать его совместимым с частными серверами.


- Версия 0.2.0.  

Добавлен базовый атрибут мобов для управления поведением. 

Требуется прямая видимость для контейнеров и заданий. 

Добавлен FeedingBehaviour и удалена необходимость в компоненте Tameable. 

Перестроено дерево механизмов. 

Утратили актуальность некоторые значения конфигурации.


- Версия 0.1.3.  

Добавлена базовая функция FightingBehaviour для FixerAI и WorkerAI.  

Исправлена ошибка при добавлении топлива в камин без мобов.


- Версия 0.1.2.  

Добавлена возможность сохранения пользовательских классов MobAI


- Версия 0.1.1.  

Добавлена перегрузка в RegisterMob для приема настроек в виде объектов


- Версия 0.1.0  

Первоначальный релиз

Похожие Моды/Аддоны

Версия игры *

all (MobAILib.v0310.zip-1188-0-3-10-1650306292.zip)