- Языки
- Английский
- Дополнительный плагин
-
О Nova Weather
Nova Weather - это готовая замена родной серверной погодной системы Rust. Она очень настраиваемая, с уникальными возможностями, такими как профили с событиями по времени, и исключительными особенностями, которые делают ее особенной, такими как поддержка погодных систем для конкретных зон.
Обратите внимание: этот мод не имеет необходимых зависимостей и может работать без Oxide. Только если вам нужна поддержка зон, вам понадобится Oxide и плагин ZoneManager.
Nova Weather - это готовая замена родной серверной погодной системы Rust. Она очень настраиваемая, с уникальными возможностями, такими как профили с событиями по времени, и исключительными особенностями, которые делают ее особенной, такими как поддержка погодных систем для конкретных зон.
Обратите внимание: этот мод не имеет необходимых зависимостей и может работать без Oxide. Только если вам нужна поддержка зон, вам понадобится Oxide и плагин ZoneManager.
Давайте перечислим некоторые из лучших особенностей Nova Weather. Ниже вы найдете описание каждой из основных функций мода.
Во-первых, у нас есть "Времена профилей". Это позволяет тщательно выстроить погодную систему, вводя элементы не все сразу, а постепенно. Например, вы можете устроить сильный ливень, сначала создав несколько облаков, затем через 30 секунд затемнив их, а когда они закончатся, медленно начать дождь, который будет усиливаться в течение 5 минут, пока не достигнет полной силы.
Вы можете изменять около 20 свойств погоды - от облачности до тумана и скорости ветра, и даже изменять температуру.
Впервые в мире можно создать несколько отдельных погодных систем, используя поддержку плагина ZoneManager в Nova Weather. На одном острове можно устроить дождь, на другом - тропики. Вы можете создать зоны для боссов, где небо темнеет от грозовых туч по мере приближения к ним, или сделать так, чтобы в кроватке администратора всегда было солнечно, а в остальном мире шел проливной дождь. Возможности безграничны.
Хотите, чтобы ваш VIP-персонал начал свой день с солнечной погоды? Хотите, чтобы над их головами постоянно бушевала буря? Теперь это можно сделать с помощью разрешений. Nova Weather поддерживает переопределения на основе разрешений, чтобы предоставить вам максимальную гибкость. Хотя это мод для Harmony, Nova Weather подключается к системе разрешений Oxide, чтобы вы могли управлять разрешениями так, как вы привыкли. Если Oxide не установлен, то вместо него будет запущена собственная система разрешений, созданная по образцу Oxide, чтобы вы могли работать с привычными командами.
Please note: If you're using Nova Weather's native permissions, instead of "o.<command> <arguments>" you should use "nw.perm.<command> <arguments>".
Вы можете не только использовать функцию Profile Timelines для создания красивых и реалистичных погодных моделей, но и создавать события, основанные на погоде, которую вы запустили.
Используя временную шкалу, вы можете создать элемент свойства или элемент команды. Если вы создадите элемент команды и поместите его на 30-секундную отметку на временной шкале, команда будет выполняться по истечении 30 секунд в этом профиле.
Хотите спаунить босса, когда начинается гром в грозу? Хотите начать событие, когда прекратится дождь? Хотите раздать всем валюту, когда туман продержится 10 минут?! Вы можете сделать это с помощью команд по расписанию!
Все погодные системы работают на основе нескольких простых концепций, и самая важная из них - профили. Профили определяют, что должно отображаться в мире. У вас будет профиль для "Ясно", "Дождь", "Туман" и т. д. Эти профили хранятся в папке конфигурации в виде отдельных файлов и полностью взаимозаменяемы.
Создали потрясающий профиль погоды, но не хотите возиться с перемешиванием и подбором файлов конфигурации? Просто скиньте им файлы профилей. Они могут просто перетащить их в папку с профилями, и они сразу же станут пригодными для использования. Делитесь!
Расширенные возможности требуют сложной настройки. Мы постарались сделать все как можно проще, и в главе "Конфигурация" ниже мы объясним, что все это делает. Здесь есть всевозможные настройки, чтобы ваша погода выглядела потрясающе или чтобы оптимизировать работу погодной системы для низкопроизводительных машин. Вы можете выбрать, использовать или нет поддержку ZoneManager, настроить количество раз в секунду, когда система обновляется, и т. д. В мод включено множество команд RCON (20+!), большинство из которых вы сможете выполнить, даже не заглядывая в JSON-файл.
Мод устанавливается с очень обширной конфигурацией по умолчанию, созданной для имитации родной погодной системы с небольшими изменениями при установке, чтобы вы могли просто установить и забыть о ней. В профилях по умолчанию есть временные шкалы и подправленные шансы загрузки, чтобы вернуть некоторые хорошо выглядящие типы погоды.
Nova Weather предлагает вам множество команд, чтобы облегчить вашу жизнь как администратора и дать вам полный контроль над погодой на вашем сервере. Не нравится конкретный профиль? Пропустите его! Хотите показать свой профиль, но веселье начинается только на 1 минуте? Перейдите к этому моменту на временной шкале! Все команды должны выполняться из RCON или консоли сервера, а не из игры!
Все команды должны начинаться либо с 'novaweather'. либо 'nw.'. В приведенном ниже списке для наглядности используется первый вариант, но вы можете использовать 'nw.'. в качестве замены для сокращения команд.
Аргументы, обозначенные символом "<аргумент>", являются обязательными для использования в команде, в то время как "(аргумент)" указывает на необязательный аргумент.
Обратите внимание: чтобы использовать любую из команд, связанных с зонами, вам необходимо установить Oxide и загрузить плагин ZoneManager.
Ниже вы найдете список всех доступных команд с кратким описанием.
Основные команды
novaweather.reload
Перезагружает мод и перезагружает все профили с диска, а также проверяет наличие зон ZoneManager. Если вы приобрели или загрузили профили в папку Profiles, перезагрузите мод, чтобы они вступили в силу.
novaweather.report (климат)
Сообщает о текущих погодных условиях для всех климатов, если не задан дополнительный аргумент climate. Если задан, отчет будет ограничен только этим климатом.
novaweather.tickrate (число)
Если число не задано, возвращает текущую скорость тика. Если передано число, то будет установлена частота тиков, равная этому числу. Частота тиков определяет, как часто погодная система рассчитывает и обновляет данные, меньшее число означает более частое обновление. По сути, это означает "Обновлять каждый <число>-й кадр", где 1 - наименьшее возможное число, а 50 - наибольшее. Чем меньше число, тем плавнее переходы.
Команды, связанные с климатом
novaweather.globalclimate (климат)
Если аргумент climate задан, устанавливает климат глобальной погодной системы на этот климат. Если аргумент climate не задан, возвращается имя климата, который в настоящее время назначен глобальной погоде.
Novaweather.load <климат> <профиль> (переход)
Используется для принудительной немедленной загрузки заданного профиля в климат. Если передан числовой аргумент перехода, он отменяет установленное время перехода профиля. "nw.load default default_clear 10" загрузит профиль default_clear и переопределит переход на 10 секунд, чтобы ускорить появление профиля.
novaweather.loadnext <климат> <профиль>
Принудительно устанавливает следующий профиль для климата. Когда текущий профиль погоды достигнет своего конца, автоматически загрузится следующий профиль.
novaweather.next <климат> (переход)
Принудительно завершает временную шкалу текущего активного профиля и загружает следующий профиль в очереди. Если передан числовой аргумент перехода, он отменяет установленное время перехода профиля.
novaweather.pause <климат>
Приостанавливает временную шкалу для указанного климата. При приостановке климата текущая погода будет заморожена в текущем состоянии на неопределенный срок, пока не будет снята с паузы.
novaweather.unpause <climate>
Противодействие команде pause. Разблокирует временную шкалу указанного климата (если она приостановлена).
novaweather.skipto <climate> <seconds>
Переход по временной шкале текущего профиля до указанной отметки секунд. Если ввести значение секунды, превышающее длительность временной шкалы, то она будет пропущена до последнего кадра, фактически завершая временную шкалу профиля.
novaweather.listclimates
Представляет вам аккуратный список всех работающих климатов и их состояния, а также список всех назначенных профилей.
Команды, связанные с зонами
novaweather.disablezones
Полностью отключает поддержку ZoneManager. Для экономии вычислительной мощности деактивирует все неглобальные климаты.
novaweather.enablezones
По сути, "контр-шарм" для disablezones. Вновь включает все отключенные зоны и загружает все неглобальные климаты, если таковые существуют.
novaweather.disablezone <zone>
Отключает переопределение одной зоны. Вот и все.
novaweather.enablezone <zone>
Брат вышеупомянутой команды. Снова включает зону.
novaweather.showzone <zone>
Скорее отладочная функция, показывает проволочный каркас для данной зоны, как будто вы редактируете его с помощью ZoneManager. Хорошо подходит для определения буферной зоны перехода зоны.
novaweather.zoneclimate <zone> (климат)
Это очень важный параметр. Она выполняет несколько действий в зависимости от заданных аргументов;
- Если аргумент climate задан, а зона уже зарегистрирована в Nova Weather, она изменит климат этой зоны и немедленно загрузит ее.
- Если аргумент climate задан, а зона еще не зарегистрирована, он зарегистрирует ее, установит климат зоны и загрузит ее.
- Если аргумент climate не задан, но зона зарегистрирована, вернется установленный климат этой зоны.
novaweather.removezone <zone>
В отличие от того, что вы можете подумать, эта функция не удаляет фактическую зону ZoneManager. Она просто удаляет ее из конфигурации Nova Weather и, таким образом, удаляет любые переопределения зоны. Это постоянное действие, если вы хотите временно отключить его, используйте команду 'disablezones', перечисленную выше.
novaweather.listzones
Перечисляет все зоны, настроенные в Nova Weather, с указанием их статуса и климата.
Команды, связанные с профилем
novaweather.getprofile <climate>
Возвращает имя текущего активного профиля для заданного климата.
novaweather.assignprofile <климат> <профиль> (шанс)
Добавляет профиль в список профилей климата для включения в ротацию. Если задан аргумент chance, он отменяет значение по умолчанию "100". Обратите внимание, что "шанс" не означает буквально % шанса, это вес для взвешенного рандома, просто назван "шанс", чтобы люди понимали его назначение.
novaweather.unassignprofile <климат> <профиль>
Противоположность вышеупомянутой команде. Удаляет профиль из ротации профилей климата навсегда.
novaweather.setprofilechance <климат> <профиль> <шанс>
Устанавливает шанс (вес) для данного профиля в контексте списка профилей данного климата.
novaweather.listprofiles
Перечисляет все профили, загруженные в память Nova Weather. Если вы только что создали файл профиля и не видите его в этом списке, перезагрузите плагин с помощью команды reload в этом списке и попробуйте снова.
Настройка Nova Weather довольно сложна, но мы постараемся сделать ее как можно более простой.
Существует два различных типа конфигурационных файлов для этого мода, это единый файл Configuration.json и отдельные файлы профиля. В этом разделе мы рассмотрим оба. Все файлы конфигурации Nova Weather можно найти в:
ROOT / HarmonyMods_Data / NovaWeather (/ Profiles).
Прежде чем перейти к рассмотрению этих опций, необходимо прояснить несколько ключевых понятий, чтобы вы могли полностью понять все способы настройки погоды на вашем сервере.
Профили
Профили - это отдельные файлы со свойствами. Они содержат все фактические данные о погоде, такие как уровень дождя, облачность и т. д. Сами по себе они ничего не делают, это просто временная шкала, которая показывает климату, какую погоду нужно представить.
Climates
Во-вторых, есть климаты. Климаты - это отдельные и изолированные погодные системы, которым назначается один или несколько профилей для циклического прохождения. Они считывают данные профилей и производят все расчеты по переходам, срокам и т. д. Они - мозг операции.
Зоны
Наконец, есть зоны. Зона - это зона ZoneManager, которая зарегистрирована в Nova Weather и содержит такую информацию, как ID зоны и климат, который должен быть представлен клиентам, находящимся в этой зоне. Само по себе это ничего не значит, это просто говорит нам о необходимости заменить глобальный климат погоды другим климатом.
Все климаты постоянно циклически изменяются в фоновом режиме. Применение климата к зоне не меняет климат, он просто как бы присоединяется к нему. Климат постоянно говорит моду: "Эй, парень, дождь должен быть 1, ветер - 0". Ему все равно, слушает ли его что-то.
Зона может подключиться к этому и услышать, что говорит климат, а затем показать это игроку. Таким образом, вы можете иметь 10 зон с одним климатом, экономя тонну вычислительной мощности.
Файлы конфигурации: Configuration.json
Итак, давайте перейдем к первой части нашей конфигурации. Сначала мы рассмотрим файл Configuration.json. Обратите внимание, что этот конфиг может быть изменен, и изображение ниже может быть не совсем точным отображением текущего состояния структуры файла конфигурации.
Модификация включена (true/false)
Булево значение для включения или выключения мода без необходимости его выгрузки. Если установить значение false, будет включена родная погодная система.
Включить журналы отладки (true/false)
Будет печатать довольно подробные журналы, призванные дать разработчику больше информации о потенциальных проблемах. Если вы обращаетесь в службу поддержки, убедитесь, что вы приложили логи с установленным значением true.
Global Options -> Pause weather if server empty (true/false)
Приостанавливает временные линии всех климатов, чтобы остановить обработку, так как никто не будет там, чтобы наслаждаться этим в любом случае. Я не могу придумать реальной причины, чтобы установить значение false, разве что для тестирования, но у вас есть такая возможность.
Глобальные параметры -> Глобальный климат погоды
Определяет, какой климат будет применяться к глобальной погоде. Говорит само за себя.
Опции ZoneManager -> Использовать зоны ZoneManager (true/false)
Если установлено значение true, то будет применен климат (климаты) к зоне (зонам) в списке климатов зоны. Если установить значение false, это полностью отключит все функции зон и ограничит мод только глобальной погодой.
Опции ZoneManager -> Климаты зон ZoneManager
Здесь вы регистрируете и изменяете информацию о зонах. Зона может быть отключена индивидуально, иметь установленный климат и измененный буфер перехода. Подробнее об этом ниже.
ZoneManager options -> ZoneManager zone climates -> Enabled (true/false)
Разрешает или запрещает данной конкретной зоне иметь переопределение климата.
ZoneManager options -> ZoneManager zone climates -> Climate
Климат, который должен быть показан клиентам в этой зоне.
ZoneManager options -> ZoneManager zone climates -> Zone transition buffer percentage (1-100)
Процент от радиуса зоны, который должен быть использован в качестве буфера перехода. Когда вы входите в зону, вы не хотите, чтобы сразу же появился другой тип погоды. Именно в этом случае буфер перехода зоны спасает положение: типы погоды постепенно сменяют друг друга, пока вы не окажетесь в зоне. Если установить значение 50%, то переход будет происходить в течение половины зоны. После того как вы пройдете половину зоны, вы не увидите никаких следов "внешнего" климата и будете видеть только климат зоны.
Опции ZoneManager -> Климаты зон ZoneManager -> Буфер перехода зоны макс. Размер (метры)
С помощью этого параметра вы можете установить абсолютное ограничение на размер буфера перехода. Это лучше всего работает, если вы не знаете точных размеров зоны (зон), которую вы собираетесь разместить. Это позволяет сделать так, чтобы буфер перехода не выходил за границы зоны на заданное количество метров. Так, если вы установите процент буфера на 50%, но зададите максимальное количество метров на 10, буфер либо перейдет на 50%, если он короче 10 м, либо остановится на 10 м.
Обратите внимание: из-за отсутствия надежного метода расчета расстояния, пройденного в зоне кубической формы, переходный буфер для них не предусмотрен. Мод по-прежнему будет работать, но погода не будет плавно переходить из зоны кубовидной формы и обратно.
На графике ниже показано визуальное представление буферной зоны в радиальной зоне, а "%" означает процент буферной зоны.
Определения климата
Здесь содержатся определения климатов, которые будут использоваться. Определения климата очень просты, нам нужен только включенный статус и список назначенных профилей.
Определения климата -> Включено
Это включает или выключает климат. Отключенный климат не будет производить никаких расчетов и передавать данные игрокам. Если у вас запланировано особое событие, в котором вы хотели бы использовать определенный климат, но не хотите случайно использовать его в другом месте, вы можете отключить его.
Определения климата -> Профили
Это список назначенных профилей. Вот и все.
Определения климата -> Профили -> Профиль
Имя профиля, который нужно назначить этому климату. Обратите внимание, что имя должно точно совпадать, с учетом регистра.
Определения климата -> Профили -> Шанс
Это шанс (вес) для данного профиля. Климат будет перебирать все профили в зависимости от их веса; если один профиль имеет вес 1, а другой - 10, то вероятность того, что последний будет выбран в качестве следующего загружаемого профиля, будет в 10 раз выше. Вес не ограничен значением 100, он просто назван "шанс", чтобы все понимали его функцию.
Из версии 1.1.0:
Обновление 1.1.0 вводит переопределения на основе разрешений. Это добавляет секцию в ваш конфиг:
"Permissions options": {
"Use Oxide permissions if possible (true/false)": true,
"Permission climate overrides (set 'disabled' to disable)": {
"novaweather.vip": "default_clear",
"novaweather.disabled": "disabled"
}
}
Хотя это довольно просто и не требует объяснений, он добавляет следующие поля:
Использовать разрешения Oxide, если возможно (true/false)
Это указывает моду использовать разрешения Oxide, если Oxide установлен. Если Oxide не установлен, эта опция игнорируется и используются родные разрешения. Если установить значение false, то родные разрешения будут использоваться всегда, независимо от статуса Oxide.
Переопределения климата разрешений (установите 'disabled', чтобы отключить)
Это фактические переопределения. Работает в паре ключ-значение, где ключ - это разрешение, а значение - климат, который он должен использовать. Обратите внимание, что разрешение должно быть полностью указано с префиксом 'novaweather.', если это специфическое для novaweather разрешение. Поэтому вы можете вставить сюда разрешение другого мода, если хотите.
Если климат установлен в 'disabled', пользователь не будет видеть изменения погоды, так как мод будет пропускать его при расчете изменений погоды. Это позволит другим модам влиять на погоду для этого пользователя.
Файлы конфигурации: Profiles/*.json
С этим покончено, давайте перейдем к настройке профилей.
{
"Transition time (seconds)": 300,
"Parent profile": "default_overcast",
"Duration": {
"Type": "range",
"Min. seconds": 900,
"Max. seconds": 1800
},
"Base properties": [
{
"Property": "wind",
"Value": 0.8
},
{
"Property": "rain",
"Value": 1
}
],
"Steps": {
"0": [
{
"Type": "Property",
"Property": "cloud_coverage",
"Value": 0.8,
"Fade (seconds)": 60
}
],
"60": [
{
"Type": "Property",
"Property": "cloud_attenuation",
"Value": 0.7,
"Fade (seconds)": 30
}
]
}
}
Время перехода (секунды)
Определяет длительность перехода между последним профилем и этим. Когда климат проходит по временной шкале профиля и временная шкала заканчивается, загружается следующий профиль, и переход к нему начинается с последнего кадра последнего профиля. Если вы установите значение 0, новый профиль просто появится. Если установить значение 10, то в течение 10 секунд старый профиль исчезнет, а новый появится.
Родительский профиль
Существует около 20 настроек погоды, с которыми можно возиться, и если бы вам приходилось вводить их каждый раз, это бы раздражало, как ****. Поэтому мы реализовали наследование профилей. Если вы оставите это поле пустым, вам придется вводить все 20 свойств самостоятельно, но если у вас уже есть профиль с понравившимися свойствами, которые вы хотите немного изменить, вы можете ввести их там.
Например, у вас есть профиль "Шторм" с обычным старым штормом. Но в дополнение к обычному шторму вы хотите профиль, в котором будет не только шторм, но и гром, а также насыщенное красное небо. Но вам не нужно копировать-вставлять профиль "Шторм".
Вместо этого вы можете установить родительский профиль на "storm", а затем просто установить свойство thunder на 1 и rayleigh атмосферы на то, что вы хотите. Профиль будет использовать свойства "storm" в качестве базовых, и использовать свои собственные базовые свойства для переопределения этих свойств. Таким образом, вы можете создавать бесконечные вариации похожих типов погоды.
Продолжительность
Говорит сама за себя; фактическая продолжительность профиля. Есть два типа: "статический" и "диапазон". Если тип установлен на "range", он случайным образом выберет число между минимальным и максимальным значениями. Если тип установлен на "статический", он всегда будет выбирать минимальное значение секунд в качестве своей продолжительности.
Базовые свойства
Это свойства профиля, которые всегда установлены и будут переходить к ним при загрузке профиля. Все возможные свойства можно найти в разделе "detailed convars" по следующему URL: https://wiki.facepunch.com/rust/Weather#detailedconvars.
В свойствах профиля вы не включаете префикс "weather." для этих свойств, поэтому "weather.rain" становится просто "дождем".
Единственное свойство, не включенное в этот список, которое можно использовать в Nova Weather, - это свойство "температура". Это свойство используется для переопределения локально вычисленной температуры (например, при понижении температуры ночью) и всегда будет соответствовать введенной вами температуре. Это свойство также можно анимировать с помощью шагов.
Шаги
Так вы анимируете погодный профиль. Используя шаги, вы можете заполнить временную шкалу профиля так, как считаете нужным. Помните забавный график временной шкалы в верхней части страницы?
Это примерно означает:
"Steps": {
"5": [
{
"Type": "Property",
"Property": "cloud_coverage",
"Value": 0.8,
"Fade (seconds)": 120
}
],
"30": [
{
"Type": "Property",
"Property": "rain",
"Value": 1.0,
"Fade (seconds)": 120
}
],
"130": [
{
"Type": "Property",
"Property": "thunder",
"Value": 1.0,
"Fade (seconds)": 150
}
]
}
Шаги помещаются в статичные позиции на временной шкале, устанавливая их на определенную секунду. Хотите, чтобы дождь шел на отметке 30 секунд? Вы добавляете шаг в "30".
Шаг также может быть анимирован: вы можете сделать так, чтобы дождь начался в 30 секунд, а чтобы он перешел из капель в ливень, потребуется 60 секунд. Все зависит от времени затухания.
Внутри шага есть четыре свойства:
- Тип - это либо "Свойство" (с учетом регистра!), либо "Команда".
- Свойство - название фактического свойства погоды, например "ветер" или "дождь" и т. п.
- Значение - значение этого свойства, обычно от 0 до 1.
- Fade (seconds) - время перехода от базового значения к новому.
Nova Weather будет выпущен с несколькими базовыми профилями погоды, которые демонстрируют функции мода с базовыми свойствами и временными шагами. Вы сможете играть с ними до бесконечности.
Но для тех, кому не очень хочется тратить часы на настройку идеальной погоды, мы опередили вас.
Наша команда работает над набором красивых погодных профилей, которые появятся на этой торговой площадке в ближайшем будущем. На это требуется значительное количество времени, так что, возможно, к моменту, когда вы будете читать эти строки, они еще не будут выпущены. Но если это произойдет, они будут выпущены либо бесплатно, либо за небольшую плату. Более подробную информацию можно найти в разделе "Сопутствующие товары". Важно отметить, что все пакеты профилей, которые вы приобретаете у нас, являются лицензионными, и поэтому не могут быть переданы другим людям, которые не купили этот пакет.
Профили - это отдельные файлы, которые находятся в папке /Profiles папки Nova Weather. Эти профили имеют формат .json и могут быть использованы практически везде. Чтобы импортировать их, достаточно поместить полученный .json-файл в папку /Profiles вместе с другими файлами профилей и перезагрузить мод с помощью соответствующей команды.
Плавность переходов определяется настройкой Tickrate. Если вы установили значение 10, то мод будет вычислять новые значения каждый 10-й кадр. Чтобы сделать переходы более плавными, уменьшите значение Tickrate, изменив файл Configuration.json или воспользовавшись соответствующей командой. Обратите внимание, что если вы уменьшите это число, нагрузка на ваш сервер немного увеличится из-за того, что ему придется вычислять значения чаще.
Поскольку это мод Harmony, вы устанавливаете его, закинув файл .dll в папку HarmonyMods в корневом каталоге вашего сервера Rust.