Leaderboard
Popular Content
Showing content with the highest reputation on 09/24/2025 in all areas
-
Version 1.0.0
534 downloads
Ну как бы, мне его слил 1 относительно популярный бразильский сервер. Что в нем есть я хз) Знаю что есть уведомление со звуком ".. Мейдей мейдей..." Well, as it were, 1 relatively popular Brazilian server leaked it to me. What is in it I xs) Know that there is a notification with sound. ". Mayday Mayday..." Конфиг для настройки (Добавьте недостоющие строчки) Settings.rarFree1 point -
1 point
-
Немного структурированные знания по скриптингу в Dayz Введение Моддинг и скриптинг в DayZ Standalone — это процессы создания и изменения игрового контента с помощью внешних модификаций и программных скриптов. Моддинг позволяет добавить новые возможности, изменить баланс или добавить уникальный контент, а скриптинг — это инструмент расширения функционала игры за счёт написания кода на языке Enfusion Script. Существует несколько основных типов модов: Балансные моды — корректируют игровые параметры, например, урон оружия, здоровье персонажей или частоту появления ресурсов. Контентные моды — добавляют новые предметы, сущности, анимации или даже целые игровые механики, как кастомные рецепты крафта или уникальные задания. Серверные моды — расширяют возможности управления сервером, добавляют админ-команды, систему логирования или настройки экономики. Скриптинг необходим для реализации логики, которая не поддерживается стандартными средствами игры. Например, создание взаимодействия с окружением, динамический спавн лута, реализация уникальных действий для персонажа или разработка сложных игровых событий. Знания скриптинга важны как для начинающих, так и для опытных моддеров. Новички смогут создавать собственные простые моды, экспериментировать с игровыми механиками, а профессионалы — разрабатывать комплексные модификации, оптимизировать код и интегрировать новые функции в DayZ с максимальной гибкостью. Структура модов и файлов Стандартная структура мода для DayZ Standalone построена так, чтобы обеспечить удобство разработки, сборки и подключения модификаций как на клиентской, так и на серверной стороне. Рассмотрим подробно основные папки и ключевые файлы. Основные папки мода addons — содержит скомпилированные PBO-файлы, которые игра загружает как готовые модули. Это конечный формат мода для запуска. scripts — исходный код скриптов на Enfusion Script, включая логику игрового поведения, классы, функции и т.д. config — файлы конфигурации, такие как config.cpp, определяющие параметры сущностей, предметов, настройки мода. meta — метаданные, в том числе системные файлы, описывающие зависимости и структуру мода. Ключевые файлы конфигурации config.cpp — основной конфигурационный файл, содержащий описание классов, наследования, определение настроек объектов и скриптов. types.xml — определяет параметры лута и спавна предметов в мире игры: частоту появления, количество, зоны генерации. events.xml — задаёт группы событий со списком предметов, которые могут появляться при наступлении определённых условий. Процесс сборки и подключение мода Для упаковки мода создаётся PBO-файл — специальный архив, который содержит все важные файлы и папки. PBO формат используется движком DayZ для быстрого и упорядоченного доступа к ресурсам. Для создания PBO применяются инструменты: Addon Builder — официальный инструмент из Arma Tools для упаковки папки с модом в PBO. Community Tools — сторонние программы, например, PBO Manager, которые позволяют упаковывать и распаковывать PBO. После сборки мод помещается на сервер и/или клиент, подключается в конфигурационных файлах сервера (например, serverDZ.cfg) через параметр mods=. При запуске игры или сервера мод автоматически загружается и используется. Пример простой структуры модификации MyMod/ ├── scripts/ │ └── 4_World/ │ └── Entities/ │ └── MyCustomEntity.c ├── config.cpp ├── mod.cpp └── types.xml Основы Enfusion Script Enfusion Script — это специализированный скриптовый язык, разработанный компанией Bohemia Interactive для управления игровой логикой в DayZ Standalone. Он основан на синтаксисе, похожем на C++ и SQF, но адаптирован под особенности движка Enfusion, обеспечивая мощный и гибкий инструмент для моддинга. Переменные и типы данных В Enfusion Script поддерживаются основные типы данных: int — целочисленные значения float — числа с плавающей точкой bool — логические значения (true/false) string — текстовые строки ref — ссылки на объекты и классы В примере класс CustomPlayer наследует базовые свойства и методы PlayerBase, переопределяя метод OnPlayerHit с вызовом родительской реализации через super. Особенности языка Enfusion Script Строгая типизация — ошибки типов легко обнаруживаются на этапе компиляции. Поддержка событий и хуков для реакций на игровые действия. Интеграция с движком игры через специальные API для работы с объектами, игроками и окружением. Поддержка декларативных конфигураций файлов, таких как config.cpp, в тесной связке со скриптами. Знание этих основ критично для успешной работы с моддингом в DayZ, поскольку понимание структуры и возможностей Enfusion Script позволяет создавать не только простые корректировки, но и сложные игровые механики, интегрируя собственный код с базовой логикой игры. Объявление переменной происходит с явным указанием типа: int playerHealth = 100; float speed = 4.5; bool isAlive = true; string playerName = "Survivor"; Функции и методы Функции объявляются с использованием ключевого слова void или возвращаемого типа, если функция возвращает значение. Параметры передаются в круглых скобках: void PrintPlayerName(string name) { Print("Player: " + name); } int Add(int a, int b) { return a + b; } Наследование классов Enfusion Script поддерживает объектно-ориентированное программирование с наследованием. Для создания нового класса от существующего используется оператор :: class CustomPlayer : PlayerBase { override void OnPlayerHit(int damage) { super.OnPlayerHit(damage); Print("Custom damage reaction"); } } Работа с сущностями В DayZ ключевыми игровыми сущностями являются PlayerBase, ItemBase и AnimalBase. Эти базовые классы представляют игрока, предметы и животных соответственно. Создание и модификация сущностей позволяет добавлять новые игровые механики, расширять взаимодействия и изменять поведение объектов в мире. Основные классы сущностей PlayerBase — отвечает за логику и состояния персонажа: здоровье, инвентарь, движения, взаимодействия. ItemBase — базовый класс для всех предметов в игре, включая оружие, снаряжение, расходники. AnimalBase — класс, управляющий поведением дикой природы, включая передвижения, агрессивность и реакции. Создание кастомной сущности Для создания собственной сущности используется наследование из одного из базовых классов. Например, создадим новый предмет с дополнительной логикой: class CustomItem : ItemBase { void CustomItem() { Print("Создан кастомный предмет"); } override void OnUse() { super.OnUse(); Print("Использован кастомный предмет"); } } Здесь CustomItem наследуется от ItemBase, добавляет конструктор и переопределяет метод OnUse(), чтобы выполнить дополнительный код при использовании предмета. Модификация поведения сущностей Расширение классов позволяет изменять логику без переписывания всего кода. Например, для игрока можно добавить дополнительную реакцию на получение урона: class CustomPlayer : PlayerBase { override void OnHit(int damage, string source) { super.OnHit(damage, source); Print("Игрок получил " + damage + " урона от " + source); } } Особенности работы с сущностями Все кастомные классы необходимо прописывать в config.cpp для правильной регистрации игры. Взаимодействие с миром и лутом В DayZ спавн объектов и лута в игровом мире регулируется с помощью файлов types.xml и events.xml. Эти конфигурации определяют, какие предметы и с какой частотой появляются, а также в каких зонах и в каких условиях. Такой подход позволяет гибко настраивать генерацию ресурсов, настроить уникальные локации и события, влияющие на игровой процесс. Наследование позволяет переопределять методы, расширяя базовый функционал, сохраняя при этом совместимость. Используйте вызов super для вызова методов родительского класса, чтобы не потерять основную логику Файл types.xml В types.xml задаётся базовый список объектов для спавна — оружие, еда, медикаменты, бытовые предметы и многое другое. Каждая запись описывается с помощью параметров: name — идентификатор предмета; nominal — желаемое количество предметов на карте; lifetime — время существования объекта в секунду; restock — через сколько секунд после спавна объект может появиться вновь; min и quantmin — минимальное количество предметов и минимальный стэк; max и quantmax — максимальное количество и стек. Пример записи в types.xml для нового предмета: <type name="CustomBandage" nominal="20" lifetime="7200" restock="3600" min="1" max="3" quantmin="1" quantmax="1" /> Файл events.xml Файл events.xml описывает группы предметов, которые появляются вместе при определённых игровых событиях, например, в заброшенных складах или в лагере рейдеров. События помогают создавать больше живых и уникальных точек интереса, повышая реализм и разнообразие. Пример события, создающего набор лута: <event name="RaidersLoot" chance="0.2"> <item name="CustomBandage" count="2" /> <item name="Ammo_9mm" count="15" /> </event> Создание спавна через скрипты Кроме XML-конфигов, в DayZ можно создавать и управлять спавном объектов программно через Enfusion Script. Для этого используются методы создания объектов в мире, например: Entity SpawnCustomItem(vector position) { return GetGame().CreateObject("CustomBandage", position, false, true); } Данный код создаёт экземпляр объекта CustomBandage в указанной позиции без прикрепления к персонажу. Особенности событийного спавна Событийный спавн может быть привязан к определённым триггерам — началу миссии, достижению локации игроком, изменению игрового времени и другим условиям. Использование таких триггеров позволяет делать динамичный и адаптивный игровой мир, в который постоянно что-то происходит. Важно тщательно балансировать частоты и зону появления лута, чтобы сохранять интерес и вызов для игроков, не делая игру слишком простой или хаотичной. Обработка событий и хуки В DayZ Standalone жизненный цикл объектов охватывает три ключевых этапа: создание, обновление и уничтожение. Во время создания объект инициализируется с базовыми параметрами, на стадии обновления происходит обработка логики поведения, а при уничтожении — освобождение ресурсов и возможное выполнение завершающих действий. Для отслеживания важных игровых событий применяются хуки — специальные точки подключения к внутренним функциям движка, позволяющие моддерам вставлять свой код и расширять логику игры без изменения исходного кода. События игрока Рождение (OnPlayerSpawn) — инициализация состояния персонажа после входа в игру. Смерть (OnPlayerDeath) — момент обработки смерти для сохранения состояния или запуска дополнительных эффектов. Действия (например, OnItemUse, OnHit) — реакции на использование предметов, получение урона и другие игровые взаимодействия. Action-система Action-система отвечает за выполнение и обработку пользовательских действий (например, взятие предмета, открытие двери). Добавление нового действия требует создания класса-наследника ActionBase, определяющего логику, условия запуска и анимации. Пример простого добавления действия: class ActionCustom : ActionBase { override void OnStartClient(ActionData action_data) { super.OnStartClient(action_data); Print("Пользователь начал кастомное действие"); } } Пример подписки на событие и обработка Возьмём пример подписки на событие смерти игрока через хук: modded class PlayerBase { override void EEKilled(Object killer) { super.EEKilled(killer); Print("Игрок погиб, убийца: " + killer); // Дополнительная логика при смерти } } Здесь EEKilled — виртуальный метод, вызываемый в момент смерти. Использование ключевого слова override позволяет модифицировать поведение без уничтожения базовой логики, а вызов super.EEKilled(killer) гарантирует сохранение стандартной обработки. Благодаря хукам и системе событий в DayZ моддеры получают мощный инструмент для гибкого расширения и глубокой кастомизации игрового поведения. Пользовательские предметы и крафт Создание собственного предмета в DayZ требует последовательного подхода, включающего создание моделей, конфигурацию и добавление логики и рецептов крафта. Рассмотрим основные шаги. 1. Создание модели и текстур Первый этап — подготовка 3D-модели предмета в стороннем редакторе (например, Blender или 3ds Max) и экспорт в формат, поддерживаемый движком (обычно .p3d). Также необходимы текстуры в форматах .paa или .tga, которые создаются на основе исходных изображений. 2. Описание предмета в config.cpp В конфигурационном файле описывается класс предмета с указанием модели, информации для инвентаря и параметров взаимодействия. Пример: class CfgVehicles { class Inventory_Base; class CustomKnife : Inventory_Base { scope = 2; displayName = "Кастомный нож"; descriptionShort = "Острый нож, подходящий для выживания."; model = "\MyMod\Models\custom_knife.p3d"; weight = 500; itemSize[] = {2,1}; lootTag[] = {"Survival", "Weapon"}; }; }; 3. Добавление рецепта крафта в config.cpp и скрипты Чтобы игрок мог создавать новый предмет, следует описать рецепт крафта. Для этого в cfgRecipes (кастомном или существующем) задаются необходимые компоненты и количество. class CfgRecipes { class CraftCustomKnife { name = "Создать кастомный нож"; tools[] = {"Knife"}; inputs[] = { {"MetalPlate",1}, {"WoodenStick",1} }; output = "CustomKnife"; }; }; В скриптах можно дополнительно контролировать логику крафта, проверку условий или создавать кастомные действия. 4. Добавление анимаций и взаимодействий Анимации для новых предметов задаются в cfgMoves и связаны с Action-системой. Для кастомных взаимодействий обычно создают новые классы действий (ActionBase). Например, можно добавить уникальное использование ножа для добычи ресурсов или нанесения урона. Итоговый пример использования в скрипте class CustomKnife : Inventory_Base { void CustomKnife() { Print("Кастомный нож создан."); } override void OnUse() { super.OnUse(); Print("Использован кастомный нож."); // Дополнительная логика, например, нанесение урона } } Таким образом, создание предмета включает работу с моделью, описанием в конфиге, настройкой рецепта крафта и добавлением логики поведения и анимаций через скрипты и Action-систему для полноценного взаимодействия с игровым миром. Работа с инвентарём и характеристиками В DayZ Standalone управление инвентарём и характеристиками игрока осуществляется через сочетание скриптов и конфигурационных файлов. Моддеры могут изменять параметры здоровья, голода, жажды, а также добавлять, удалять или передавать предметы между персонажами и объектами. Изменение характеристик игрока Для изменения параметров состояния персонажа (здоровья, голода, жажды и др.) используются методы класса PlayerBase. Например, чтобы изменить здоровье игрока, доступен метод SetHealth, а для работы с голодом и жаждой — свойства, связанные с компонентом StaminaHandler или Stats. void SetPlayerHealth(PlayerBase player, float health) { player.SetHealth("", "", health); } void AddHunger(PlayerBase player, float amount) { float currentHunger = player.GetStatEnergy().Get(); player.GetStatEnergy().Add(amount); // Добавляет энергию, уменьшая голод } Работа с инвентарём: добавление и удаление предметов Взаимодействие с инвентарём реализуется через классы EntityAI и Inventory. Для выдачи предмета игроку используется метод GiveItem или создание объекта с последующим добавлением в инвентарь. // Создание и выдать предмет игроку void GiveItemToPlayer(PlayerBase player, string itemType) { EntityAI item = player.GetInventory().CreateInInventory(itemType); if (item) { Print("Предмет " + itemType + " выдан игроку."); } } // Удалить предмет из инвентаря void RemoveItemFromPlayer(PlayerBase player, string itemType) { array items = new array; player.GetInventory().EnumerateInventory(InventoryTraversalType.PREORDER, items); foreach (EntityAI item : items) { if (item.GetType() == itemType) { player.GetInventory().DropEntity(item); item.Delete(); Print("Предмет " + itemType + " удалён."); break; } } } Передача предметов между игроками Для передачи предмета от одного игрока к другому предмет сначала удаляется из инвентаря донора и добавляется в инвентарь получателя: void TransferItem(PlayerBase fromPlayer, PlayerBase toPlayer, string itemType) { array items = new array; fromPlayer.GetInventory().EnumerateInventory(InventoryTraversalType.PREORDER, items); foreach (EntityAI item : items) { if (item.GetType() == itemType) { // Удаляем у донора fromPlayer.GetInventory().DropEntity(item); item.SetPosition(toPlayer.GetPosition()); // Добавляем в инвентарь получателя toPlayer.PredictiveTakeEntityToInventory(toPlayer, item); Print("Предмет передан игроку."); break; } } } Типичные задачи и решения Выдача стартового набора: при спавне игрока. Автоматическое лечение: изменение показателей здоровья через скрипты при использовании аптечек. Удаление нелегальных предметов: проверка инвентаря и удаление через цикл. Пользовательский интерфейс и HUD В DayZ Standalone пользовательский интерфейс (UI) создаётся с помощью встроенного UI API, позволяющего создавать окна, кнопки, текстовые поля и другие элементы для взаимодействия с игроком. Основу UI составляет система виджетов, которые можно размещать на экране и управлять ими через скрипты на Enfusion Script. Структура UI и взаимодействие со скриптом UI элементы создаются в виде классов, наследующих Widget или WidgetScript. Основная сцена HUD реализована в виде специального виджета, который отвечает за отображение информации поверх игрового мира. Для взаимодействия с игровым кодом UI использует события и методы на скриптовой стороне. Пример создания простого HUD Ниже пример создания простого HUD, выводящего здоровье игрока в левом верхнем углу экрана: class CustomHUD extends UIScriptedMenu { TextWidget healthText; override Widget Init() { layoutRoot = GetGame().GetWorkspace().CreateWidgets("MyMod/gui/layouts/customhud.layout"); healthText = TextWidget.Cast(layoutRoot.FindAnyWidget("HealthValue")); return layoutRoot; } override void Update() { PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer()); if (player) { float health = player.GetHealth("", ""); healthText.SetText("Здоровье: " + Math.Floor(health).ToString()); } } } В данном примере создаётся класс CustomHUD, который инициализирует виджет из layout-файла и обновляет текст с текущим значением здоровья игрока каждое игровое обновление. Советы по отладке и оформлению UI Используйте встроенный Workspace Debugger для просмотра иерархий виджетов и свойств; Разделяйте логику и оформление: храните лейауты в .layout файлах, а логику — в скриптах; Минимизируйте количество обновлений: обновляйте UI только при изменении данных, чтобы снизить нагрузку; Проверяйте Null-ссылки: всегда убеждайтесь, что виджеты корректно инициализированы перед использованием; Используйте стили и шаблоны: для единообразия интерфейса и удобства поддержки кода. Серверная логика и администрирование В DayZ Standalone скрипты могут исполняться как на стороне клиента, так и на сервере. Разделение ролей важно для оптимизации и безопасности. Клиент отвечает за отображение, управление пользовательским интерфейсом и локальную логику, тогда как сервер обрабатывает важные игровые процессы, валидацию действий, управление состояниями и синхронизацию между игроками. Основные различия между серверным и клиентским кодом: Сервер: контролирует игровые правила, спавн объектов, обработку событий и действия игроков; все критичные вычисления выполняются здесь. Клиент: отвечает за визуализацию, анимации, интерфейс и локальный отклик на действия игрока. Админ-команды и их обработка Администрация сервера может использовать кастомные команды для управления игровым процессом, выдачи предметов или выполнения других операций. Для добавления админ-команды в Enfusion Script необходимо: Создать класс команды, реализующий интерфейс ChatCommandHandler или аналогичный. Зарегистрировать команду в системе через специальный менеджер команд. Обработать ввод и выполнить соответствующие действия. Пример простой админ-команды для выдачи предмета: class GiveItemCommand : ChatCommandHandler { override string GetCommandName() { return "give"; } override void Execute(PlayerIdentity sender, array params) { if (params.Count() != 2) { sender.SendDirectMessage("Использование: /give <player> <item>"); return; } string playerName = params[0]; string itemName = params[1]; PlayerBase targetPlayer = FindPlayerByName(playerName); if (!targetPlayer) { sender.SendDirectMessage("Игрок не найден."); return; } targetPlayer.GetInventory().CreateInInventory(itemName); sender.SendDirectMessage("Предмет " + itemName + " выдан игроку " + playerName + "."); } } Работа с логами сервера Логирование – важный инструмент для мониторинга работы сервера, отладки и аудита админских действий. В DayZ можно писать собственные сообщения в лог с помощью функции Print или специализированных методов сервера. Print("Сообщение") — выводит строку в общий лог сервера и консоль. Для разделения логов рекомендуется добавлять теги или префиксы, например: Print("[MyMod] Действие выполнено"). Для более сложной логики можно реализовать запись в отдельные файлы через API сервера или внешние плагины. Рекомендации по эффективному управлению сервером и модами Всегда разграничивайте серверный и клиентский код, минимизируя выполнение тяжелых операций на клиенте. Используйте проверки прав администратора перед выполнением команд, чтобы избежать злоупотреблений. Логируйте важные действия админов и критичные события для последующего анализа. Тестируйте моды в условиях, максимально приближенных к боевым, чтобы выявлять возможные ошибки и утечки производительности. Регулярно обновляйте и чистите логи, чтобы сервер не тормозил из-за больших файлов. Оптимизация и best practices Оптимизация кода и соблюдение лучших практик имеют решающее значение для создания стабильных, производительных и совместимых модификаций в DayZ Standalone. Ниже представлены ключевые рекомендации для моддеров любого уровня. Рекомендации по стилю и структуре кода Чёткая организация файлов: разделяйте логику по папкам и классам, используйте понятные имена для файлов и классов, чтобы упростить навигацию и поддержку. Комментирование: сопровождайте сложный или нестандартный код комментариями, чтобы облегчить понимание и последующую доработку. Избегайте дублирования кода: выносите часто повторяющиеся операции в функции или базовые классы, что улучшает читаемость и снижает вероятность ошибок. Типовые ошибки и их предотвращение Null-ссылки: всегда проверяйте объекты на >null< перед использованием, особенно при работе с инвентарём и сущностями. Неправильное наследование: при переопределении методов не забывайте вызывать super для сохранения базовой логики. Чрезмерная частота вызовов: минимизируйте вычисления в методах Update или на каждую итерацию, используйте события и таймеры. Совместимость и тестирование Тестируйте моды в изолированном окружении и на сервере с другими модификациями, чтобы выявить возможные конфликты. Используйте уникальные префиксы в именах классов и функций, чтобы избежать коллизий с другими модами. Регулярно обновляйте моды в соответствии с изменениями клиента и сервера, следя за актуальностью API и форматов конфигов. Советы по производительности Оптимизируйте циклы и алгоритмы — избегайте вложенных вызовов без необходимости. Используйте локальные переменные, где это возможно, для снижения нагрузки на память и уменьшения доступа к объектам. Минимизируйте количество создаваемых объектов и спавн объектов строго при необходимости. Профилируйте скрипты и анализируйте точки узкого места с помощью встроенных средств и логов. Примеры реализации В этом разделе представлены три законченных примера кода с подробным объяснением их работы и инструкциями по интеграции в игру DayZ Standalone 1.24+. 1. Кастомный игровой ивент с уникальным поведением Этот пример демонстрирует создание кастомного игрового ивента, который при активации спавнит группу врагов в радиусе от игрока. Ивент можно вызывать по триггеру или вручную из скрипта. class CustomEnemyEvent { void TriggerEvent(PlayerBase player) { vector pos = player.GetPosition(); int enemyCount = 5; for (int i = 0; i < enemyCount; i++) { vector spawnPos = pos + Vector(Math.RandomFloat(-10,10), 0, Math.RandomFloat(-10,10)); EnemyBase enemy = EnemyBase.Cast(GetGame().CreateObject("ZomBear", spawnPos, false, true)); enemy.SetAIBehaviour("Aggressive"); enemy.SetTarget(player); } Print("[CustomEnemyEvent] Спавн врагов у игрока: " + player.GetIdentity().GetName()); } } Интеграция: вызовите метод TriggerEvent, например, по выполнению определённого условия в игровом событии или через консоль. Ивент автоматически создаст врагов рядом с игроком и заставит их атаковать игрока. 2. Админ-команда для управления игроками на сервере Пример реализации простой админ-команды /kick, которая позволяет администратору выгнать игрока с сервера по имени. class KickPlayerCommand : ChatCommandHandler { override string GetCommandName() { return "kick"; } override void Execute(PlayerIdentity sender, array params) { if (params.Count() != 1) { sender.SendDirectMessage("Использование: /kick <имя_игрока>"); return; } string targetName = params[0]; PlayerBase target = FindPlayerByName(targetName); if (!target) { sender.SendDirectMessage("Игрок " + targetName + " не найден."); return; } target.GetPlayerAgent().Kick("Вы были кикнуты администратором."); sender.SendDirectMessage("Игрок " + targetName + " был кикнут."); Print("[KickPlayerCommand] Админ " + sender.GetName() + " кикнул игрока " + targetName); } } Использование: зарегистрируйте этот класс в системе команд серверного скрипта. Админы смогут вызвать команду в чате /kick JohnDoe, где JohnDoe — ник игрока. 3. Простой мод для изменения поведения животных Модификация, которая изменяет поведение стандартных животных, делая их более агрессивными и быстрее реагирующими на игрока. modded class AnimalBase { override void OnInitialize() { super.OnInitialize(); SetAggressionLevel(3); // Увеличение агрессии (1-5) SetReactionDistance(40); // Расстояние реакции на игрока в метрах } override void OnPlayerApproach(PlayerBase player) { super.OnPlayerApproach(player); if (player) { Print("Животное заметило игрока: " + player.GetIdentity().GetName()); } } } Интеграция: данный мод необходимо добавить в скрипты, перекрыв базовый класс AnimalBase. После этого все животные будут обладать улучшенными параметрами агрессивности и быстрее реагировать на подход игроков. КОМУ ПОМОГЛА ДАННАЯ СТАТЬЯ СТАВЬТЕ РЕКЦИИ😄1 point
-
1 point
-
Version 1.0.0
689 downloads
Всем привет! Данный мод добавит на ваеш сервер ряд таких конструкций как, высокие заборы, двери, ворота (деревянные и металлические) так же имеется еще около 3х конструкций пол крыша лестница. И даже почтовый ящик. Важно: я скидываю вам только мод, пункты которые опишу ниже вы сделаете сами, так как в этом нет ни чего сложного. Все kit для строительства данных объектов, вы сможете посмотреть сами через любую админку. Тайпы были утерянные так что в базу добавляем id предметов сами ручками. Hello everyone This mod will add to your server a number of structures such as high fences, doors, gates (wooden and metal) there are also about 3 more structures floor roof stairs. And even a mailbox. Important: I'm only giving you honey, the points that I will describe below you will do yourself, since there is nothing complicated about it. All the kit for the construction of these objects, you can see for yourself through any admin panel. The types were lost, so we add the item ids to the database with our own handles.Free1 point -
Version 3.0.0
263 downloads
В данном моде собрано 108 моделей для статических построек. Постройки добавляются на карту через init.c, cfggameplay.json, либо через админку VPPAdminTools (object builder). Я рекомендую вам последний вариант - он позволит вам строить любые объекты максимально быстро и в онлайне размещать их на Вашем сервере. Все модели и текстуры были сделаны лично мной. В пак входят как стенки, плиты, заборы, мосты, лифты, платформы, башни, здания, гаражи, рампы, решетки, окна, проезды, так и полностью готовые базы с забором. Сложно написать описание для каждого элемента, но тут можно найти - здания с раздвигающейся крышей и с вертолетной площадкой, здания с грузовым подъёмным лифтом. Открывающиеся изнутри окна - для комфортной стрельбы и кемпинга, комфортные башни для охраны территории. Высокие заборы и въезды с решетками для буферных дверей. Здесь можно найти здания, которые подойдут под базу как огромным кланам и так одиночкам. Все дверные проемы сделаны под размер ванильных ворот, но сборка прекрасно подходит и для таких модов как BaseBuildingPlus и т.д. This mod contains 108 models for static buildings. Buildings are added to the map via init.c, cfggameplay.json, or via the VPPAdminTools admin panel (object builder). I recommend you the last option - it will allow you to build any objects as quickly as possible and place them online on your server. All models and textures were made by me personally. The pack includes both walls, slabs, fences, bridges, elevators, platforms, towers, buildings, garages, ramps, grilles, windows, driveways, and fully finished bases with a fence. It is difficult to write a description for each element, but here you can find - buildings with a sliding roof and a helipad, buildings with a cargo lift. Windows opening from the inside are for comfortable shooting and camping, comfortable towers for territory protection. High fences and entrances with bars for buffer doors. Here you can find buildings that will suit the base of both huge clans and singles. All doorways are made to fit the size of vanilla gates, but the assembly is also perfect for mods such as BaseBuildingPlus, etc.Free1 point -
Version 1.0.12
205 downloads
Большой оружейный пак. Более 70 единиц огнестрельного оружия + ретекстуры к некоторому оружию, Полтора десятка единиц холодного оружия, обвесы, пара ящиков и много чего еще. Холодное оружие: Огнестрел и магазины/ленты: Контейнер: Глушители: Боеприпасы: Оптика: Все модели, использованные в паке, находятся в свободном доступе на просторах интернета. Деньги берутся не за модели, а за кропотливую работу и затраченное время Ретекстуры старого оружия: Разные обвесы + магазины: Обновление 12.01.2022 Обновление 22.02.2022 Взамен ванильных магазинов, чтоб принимали кастомный патрон Калибры: Обмотка для оружия: A large weapons pack. More than 70 firearms + retextures for some weapons, a dozen and a half cold weapons, body kits, a couple of boxes and much more. Cold weapons: Firearms and magazines/tapes: Container: Silencers: Ammo: Optics: All models used in the pack are freely available on the Internet. Money is taken not for models, but for painstaking work and time spent Retextures of old weapons: Different body kits + shops: Update 12.01.2022 Update 22.02.2022 Instead of vanilla stores, to accept a custom cartridge Calibers: Winding for weaponsFree1 point -
1 point
-
Version 0.2 Beta
74 downloads
🌟 Stringtable Dayz Editor – лучшее решение для перевода модов! 🎉 Ты создаешь свои собственные моды? Хочешь, чтобы они были качественно переведены на все доступные языки в игре? Не теряй время – Stringtable Dayz Editor здесь, чтобы помочь тебе превратить твои моды в настоящие шедевры! С нашей программой ты сможешь облегчить себе жизнь – она предоставляет идеальное решение для создания, редактирования и слияния файлов перевода stringtable.csv. Более того, Stringtable Dayz Editor способен не только переводить с любого языка на все доступные в игре языки, используя популярные сервисы Яндекс, Гугл, Азур и Бинг, но и автоматически извлекать ссылки для локализации из config.cpp. Мы буквально сократили твои усилия до минимума! ✨ Удобная и понятная навигация по таблице stringtable.csv даст тебе возможность быстро находить нужные фразы и ключи к ним. Забудь о бесконечных поисках и ошибочных переводах – наша программа сделает все это за тебя! Но это еще не все! Stringtable Dayz Editor дает возможность объединять несколько таблиц stringtable в одну. Ты можешь максимально оптимизировать и структурировать свои переводы, чтобы сделать их очень легкими в использовании. И самое приятное – наша программа локализована на два языка! Ты можешь наслаждаться ее функциональностью на русском или английском языке, выбирая подходящую для себя опцию. ✨ Не упусти свой шанс! Усовершенствуй свои моды с помощью Stringtable Dayz Editor уже сегодня и поддержи разработчика, чтобы мы могли продолжать удивлять тебя новыми возможностями! 👏🎮💡 https://github.com/Romgrafist/Stringtable-Dayz-Editor/releases 🌟 Stringtable Dayz Editor - the best solution for mod translations! 🎉 Do you create your own mods? Want them to be accurately translated into all available languages in the game? Don't waste time - Stringtable Dayz Editor is here to help you turn your mods into true masterpieces! With our program, you can make your life easier - it provides the perfect solution for creating, editing, and merging stringtable.csv translation files. Moreover, Stringtable Dayz Editor is capable of translating from any language to all available languages in the game, using popular services such as Yandex, Google, Azure, and Bing, and also automatically extracting localization links from config.cpp. We have literally reduced your efforts to a minimum! ✨ Convenient and intuitive navigation through the stringtable.csv table will allow you to quickly find the necessary phrases and their keys. Forget about endless searches and inaccurate translations - our program will do it all for you! But that's not all! Stringtable Dayz Editor allows you to merge multiple stringtable tables into one. You can optimize and structure your translations to make them very user-friendly. And the best part - our program is localized in two languages! You can enjoy its functionality in Russian or English, choosing the option that suits you. ✨ Don't miss your chance! Enhance your mods with Stringtable Dayz Editor today and support the developer so that we can continue to amaze you with new possibilities! 👏🎮💡 https://github.com/Romgrafist/Stringtable-Dayz-Editor/releasesFree1 point -
1 point
-
1 point
