Возьмите под полный контроль патрульный вертолет и настройте каждый из его аспектов по своему вкусу, создавая неограниченное количество уровней с различной сложностью. Отличное дополнение как для PVE, так и для PVP-серверов.
Разрешения
CustomHelicopterTiers использует систему разрешений Oxides.
Чтобы назначить разрешение пользователю, используйте oxide.grant user "username|steam id" "permission" в консоли.
Чтобы назначить разрешение группе, используйте oxide.grant group "groupname" "permission" в консоли.
Подробнее о том, как использовать систему разрешений, можно прочитать здесь: uMod - Разрешения
Понимание системы весов
1. Назначение весов редкостям
В этой системе предметы делятся на разные редкости: Common, Uncommon, Rare и VeryRare. Каждой редкости назначается определенный вес, который определяет вероятность ее выбора при заполнении добычи. Вот пример того, как назначаются эти веса:
JSON-файл:
"Rarity Weights": {
"Common": 5,
"Uncommon": 3,
"Rare": 1,
"VeryRare": 1
}
Объяснить
«Обычный» имеет вес 5.
«Необычный» имеет вес 3.
И «Редкий», и «Очень редкий» имеют вес 1.
Если сложить эти веса, то получится 10 (5 + 3 + 1 + 1 = 10). Это означает, что из этих 10 предметов, если бы вы случайным образом выбрали предмет для появления, у вас было бы:
2. Выбор предметов на основе редкости
После выбора редкости на основе ее веса, определенный предмет из этого пула редкости выбирается случайным образом. Это означает, что не только редкость рандомизирована, но и определенный предмет в пределах этой редкости. Вот пример того, как это работает:
JSON-файл:
"Custom Loot Table": [
{
"Shortname": "ammo.rocket.basic",
"Rarity": "Common"
},
{
"Shortname": "explosives",
"Rarity": "VeryRare"
}
]
Объяснить
Если выбрана редкость "Common", любой предмет, отмеченный как "Common" в таблице добычи (например, "ammo.rocket.basic"), можно найти в ящике. Каждый предмет в той же категории редкости имеет равные шансы на появление.
Примечание:
- Ни один предмет не будет появляться несколько раз в одном ящике.
Команды чата
Консольные команды
Глобальная конфигурация
JSON-файл:
"Global Helicopter Config": {
"Turrets Bullet Accuracy": 2,
"Disable Rust Default Helicopter": true,
"Maximum Helicopter Life Time In Minutes": 15.0
},
Объяснить
Указанные выше конфигурации нельзя настроить индивидуально для каждого уровня, и их изменение повлияет на все созданные вертолеты.
"PVP": {
"Lock To The Invoker": true,
"Team Included On Invoker Lock": false,
"Invoker Has Priority In The Team": true,
"Do Not Allow Others To Trigger The Helicopter Until Reaching The Invoker": false,
"Lock To First Attacker": false
},
Объяснить
Урон, нанесенный другими игроками, также будет аннулирован.
Эта опция работает только если Team Included On Invoker Lockвключена.
"PVE": {
"Prevent Damage To Other Players Properties": false
},
Объяснить
"Damage": {
"Rockets - Blunt Damage": 175,
"Rockets - Explosion Damage": 100,
"Rockets - Explosion Radius": 6,
"Rockets - Max Launched Rockets": 12,
"Rockets - Time Between Each Rocket In Seconds": 1,
"Turrets - Bullet Damage": 20.0,
"Turrets - Max Bullet Range": 300.0,
"Turrets - Bullet Speed": 250,
"Turrets - Interval Between Bursts In Seconds": 3,
"Turrets - Duration of Burst In Seconds": 3,
"Turrets - Fire Rate In Seconds": 12
},
Объяснить
"Health": {
"Body": 10000.0,
"Main Rotor": 750.0,
"Tail Rotor": 375.0
},
Объяснить
"Speed": {
"Maximum Helicopter Speed": 25.0,
"Helicopter Startup Length In Seconds": 0.0,
"Initial Helicopter Startup Speed": 25.0
},
Объяснить
"Chat Broadcast": {
"Manual Spawn": false,
"Custom Spawn": false,
"Random Spawn": false
},
Объяснить
"Debris": {
"Spawn After Crash": true,
"Harvestable Hit Points": 500.0,
"Cooling Period Seconds": 480.0
},
"Loot": {
"Maximum Crates To Spawn": 10,
"Burn Crates": false,
"Fire Ball": {
"Minimum Lifetime Seconds": 20.0,
"Maximum Lifetime Seconds": 40.0,
"Spread Probability Percentage": 50,
"Elapsed Lifetime Percentage To Begin Spreading": 50,
"Burn Damage Reach": 0.5,
"Base Burn Damage Amount": 2.0,
"Damage Occurrence Frequency Seconds": 0.5,
"Water Amount To Extinguish": 200
},
"Delay Before Crates Become Lootable Minutes": 10.0,
"Always Lootable By Admins": true,
"Can Be Opened Only By Summoner": false,
"Can Be Opened By Summoner Team": false,
"Use Custom Loot Table": true,
"Minimum Loot Spawn Slots": 2,
"Maximum Loot Spawn Slots": 3,
"Rarity Weights Preset": {
"Common": 70,
"Uncommon": 30,
"Rare": 3,
"VeryRare": 1
},
"Custom Loot Table": [
{
"Shortname": "ammo.rocket.basic",
"Skin Id": 0,
"Minimum Spawn Amount": 3,
"Maximum Spawn Amount": 3,
"Spawn As Blueprint": false,
"Rarity": "Common"
},
{
"Shortname": "ammo.rocket.fire",
"Skin Id": 0,
"Minimum Spawn Amount": 3,
"Maximum Spawn Amount": 5,
"Spawn As Blueprint": false,
"Rarity": "Common"
}
]
},
Объяснить
Установите на -1без кулдауна.
JSON-файл:
"Custom Loot Table - Enabled": true,
"Custom Loot Table": [
{
"Item ID": -742865266,
"Item Short Name": "ammo.rocket.basic",
"Skin ID": 0,
"Minimum Amount": 2,
"Maximum Amount": 3,
"Blueprint": false
},
Объяснить
Создайте пользовательскую таблицу добычи с помощью команды heli.loot set <Tier>.
Перед вами появится ящик, в который вы можете положить желаемые предметы, чтобы создать таблицу добычи. После этого предметы и их количество будут автоматически сохранены в конфигурации.
Максимальное количество, которое вы бросили в ящик, будет использоваться как максимальное количество.
Если у вас уже была предварительно созданная таблица добычи, то ее предметы также появятся в созданном ящике, что позволит вам легко их изменять.
Вы также можете создать таблицу добычи вручную, дублируя конфигурации предметов.
Короткие названия и идентификаторы предметов можно найти здесь
"Spawn": {
"Spawn Chance (Default = 100)": 100.0,
"Minimum Spawn Time In Minutes": 60.0,
"Maximum Spawn Time In Minutes": 120.0,
"Randomized Spawn - Enabled (Vanilla)": true,
"Custom Spawn - Enabled": false,
"Custom Spawn - Locations": [
"Airfield"
]
},
Объяснить
Помните, что нельзя включить и то, Randomized Spawnи Custom Spawnedдругое.
Создайте пользовательские места появления с помощью heli.spawn set <Spawn Point Name> <Position>команды
Вы можете добавить столько пользовательских мест появления, сколько захотите, на каждый уровень, и каждый раз, когда вертолет появляется, он будет выбирать одно из них случайным образом.
"Kill Rewards": {
"Reward Points": 1000,
"Economics": 1000
},
Объяснить
Позвольте вашим игрокам получать деньги и призовые очки, уничтожая вертолет.
Награды выдаются на основе общего урона, нанесенного вертолету.
Статистика транслируется в сообщении чата после уничтожения вертолета и включает в себя:
"Call Command": {
"Default Cooldown In Minutes": 0.0,
"Default Daily Limit": 0,
"Custom Limits": {
"VIP": {
"Cooldown Minutes": 60.0,
"Daily Limit": 3
}
}
}
Объяснить
Чтобы добавить пользовательские ограничения, назначенные разрешению, перейдите в Custom Limitsконфигурацию и создайте его с именем VIP. Теперь замените <Name>разрешение customhelicoptertiers.limits.<Name>на VIP.
Это приведет к customhelicoptertiers.limits.VIP, которое при предоставлении будет иметь время восстановления 60 минут и 3 ограниченных использования в день.
Если у игрока есть 2 разрешения с разными ограничениями, он будет автоматически использовать наилучшие доступные ограничения из каждого из них.
JSON-файл:
"Monuments Spawn Locations": {
"Large Fishing Village": {
"Position": {
"x": -454.068848,
"y": 0.0,
"z": -1019.226
}
},
"Fishing Village": {
"Position": {
"x": 612.134949,
"y": 0.0,
"z": 489.8864
}
}
}
Объяснить
Места появления памятников автоматически генерируются при загрузке плагина и автоматически добавляются в Monuments Spawn Locationsсписок.
CustomHelicopterTiers использует систему разрешений Oxides.
Чтобы назначить разрешение пользователю, используйте oxide.grant user "username|steam id" "permission" в консоли.
Чтобы назначить разрешение группе, используйте oxide.grant group "groupname" "permission" в консоли.
Подробнее о том, как использовать систему разрешений, можно прочитать здесь: uMod - Разрешения
- customhelicoptertiers.call.<Tier>- Позволяет использовать команды чата heli.call для определенного вертолета
- customhelicoptertiers.call.all- Позволяет использовать команды чата heli.call для всех вертолетов
- customhelicoptertiers.limits.<Name>- Назначает набор ограничений команд.
- customhelicoptertiers.admin- Позволяет использовать команды администратора
Понимание системы весов
1. Назначение весов редкостям
В этой системе предметы делятся на разные редкости: Common, Uncommon, Rare и VeryRare. Каждой редкости назначается определенный вес, который определяет вероятность ее выбора при заполнении добычи. Вот пример того, как назначаются эти веса:
JSON-файл:
"Rarity Weights": {
"Common": 5,
"Uncommon": 3,
"Rare": 1,
"VeryRare": 1
}
Объяснить
«Обычный» имеет вес 5.
«Необычный» имеет вес 3.
И «Редкий», и «Очень редкий» имеют вес 1.
Если сложить эти веса, то получится 10 (5 + 3 + 1 + 1 = 10). Это означает, что из этих 10 предметов, если бы вы случайным образом выбрали предмет для появления, у вас было бы:
- 5 из 10 (50%) шансов выбрать «Обычный» предмет.
- 3 из 10 (30%) шансов выбрать «Необычный» предмет.
- 1 из 10 (10%) шанс выбрать «Редкий» предмет.
- 1 из 10 (10%) шанс выбрать «Очень редкий» предмет.
2. Выбор предметов на основе редкости
После выбора редкости на основе ее веса, определенный предмет из этого пула редкости выбирается случайным образом. Это означает, что не только редкость рандомизирована, но и определенный предмет в пределах этой редкости. Вот пример того, как это работает:
JSON-файл:
"Custom Loot Table": [
{
"Shortname": "ammo.rocket.basic",
"Rarity": "Common"
},
{
"Shortname": "explosives",
"Rarity": "VeryRare"
}
]
Объяснить
Если выбрана редкость "Common", любой предмет, отмеченный как "Common" в таблице добычи (например, "ammo.rocket.basic"), можно найти в ящике. Каждый предмет в той же категории редкости имеет равные шансы на появление.
Примечание:
- Ни один предмет не будет появляться несколько раз в одном ящике.
Команды чата
- heli.help- Выводит все команды и их использование
- heli.call <Tier>- Появляет вертолет в случайном месте.
- heli.call <Tier> here- Вызывает вертолет к вам
- heli.kill <Tier>- Убивает вертолет
- heli.kill all- Уничтожает все активные вертолеты на карте.
- heli.loot set <Tier>- Устанавливает таблицу добычи вертолета
- heli.spawn set <Spawn Point Name> <Position>- Устанавливает пользовательскую точку появления на основе координат
- heli.spawn set <Spawn Point Name> here- Устанавливает пользовательскую точку появления в вашем местоположении
- heli.spawn delete <Spawn Point Name>- Удаляет пользовательскую точку появления
- heli.spawn show- Показывает все созданные пользовательские точки появления
- heli.delete <Tier>- Удаляет вертолет
- heli.add <Tier>- Добавляет вертолет
- heli.list- Список всех созданных вертолетов
Консольные команды
- heli.call <Tier>- Появляет вертолет в случайном месте.
- heli.call <Tier> <Steam ID>- Вызывает вертолет к месту нахождения игрока
- heli.kill <Tier>- Убивает вертолет
- heli.kill all- Уничтожает все активные вертолеты на карте.
- heli.report- Распечатывает отчет по вертолетам
Глобальная конфигурация
JSON-файл:
"Global Helicopter Config": {
"Turrets Bullet Accuracy": 2,
"Disable Rust Default Helicopter": true,
"Maximum Helicopter Life Time In Minutes": 15.0
},
Объяснить
Указанные выше конфигурации нельзя настроить индивидуально для каждого уровня, и их изменение повлияет на все созданные вертолеты.
Конфигурация PVP
JSON-файл:"PVP": {
"Lock To The Invoker": true,
"Team Included On Invoker Lock": false,
"Invoker Has Priority In The Team": true,
"Do Not Allow Others To Trigger The Helicopter Until Reaching The Invoker": false,
"Lock To First Attacker": false
},
Объяснить
Привязка к Invoker
Если включено, вертолет не будет атаковать никого, кроме игрока, который его вызвал, и его не могут прервать другие игроки.Урон, нанесенный другими игроками, также будет аннулирован.
Команда включена в Invoker Lock
Члены команды и клана заклинателя будут добавлены в список враждебности вертолета.Invoker имеет приоритет в команде
Если включено, игрок, вызвавший вертолет, будет иметь наивысший приоритет среди своих товарищей по команде, но если он не жив или не виден, то вертолет будет нацелен на одного из членов его команды.Эта опция работает только если Team Included On Invoker Lockвключена.
Не позволяйте другим запускать вертолет, пока не достигнете Invoker
Останавливает вызванный вертолет от движения к месту назначения к вызвавшему его и пытается вместо этого атаковать игрока, который его прервал.Заблокировать первого атакующего
Это работает как система бронирования. Вертолет будет закреплен за первым игроком, который его атакует.ПВЕ
JSON-файл:"PVE": {
"Prevent Damage To Other Players Properties": false
},
Объяснить
Предотвращение ущерба имуществу других игроков
Это отлично подходит для PVE-серверов, поскольку предотвращает любые попытки совершить набег или разрушить строения других игроков во время атаки на вертолет.Ракеты и турели
JSON-файл:"Damage": {
"Rockets - Blunt Damage": 175,
"Rockets - Explosion Damage": 100,
"Rockets - Explosion Radius": 6,
"Rockets - Max Launched Rockets": 12,
"Rockets - Time Between Each Rocket In Seconds": 1,
"Turrets - Bullet Damage": 20.0,
"Turrets - Max Bullet Range": 300.0,
"Turrets - Bullet Speed": 250,
"Turrets - Interval Between Bursts In Seconds": 3,
"Turrets - Duration of Burst In Seconds": 3,
"Turrets - Fire Rate In Seconds": 12
},
Объяснить
Ракеты наносят тупой урон
Изменяет тупой урон, наносимый одной ракетой.Ущерб от взрыва ракет
Изменяет урон от взрыва одной ракеты.Радиус взрыва ракет
Изменяет радиус взрыва, вызванного одной ракетой.Ракеты Макс Запущенные Ракеты
Устанавливает максимальное количество ракет, запускаемых за одну атаку.Ракеты Время между каждой ракетой в секундах
Регулирует время запуска между каждой ракетой.Урон от пуль турелей
Регулирует урон, который может нанести одна пуля из вертолетных пулеметов (по умолчанию 20)Максимальная дальность стрельбы башен
Регулирует максимальную дальность стрельбы пулеметов (по умолчанию 300)Точность пуль турелей
Регулирует точность пулеметов (по умолчанию 2)Скорость пули турелей
Регулирует скорость полета пули (по умолчанию 250)Интервал между выстрелами турелей в секундах
Регулирует время перезарядки между выстрелами из пулеметов (по умолчанию 3)Продолжительность залпа турелей в секундах
Регулирует длительность стрельбы пулеметов (по умолчанию 3)Скорострельность башен в секундах
Регулирует скорость стрельбы пулеметов (по умолчанию 0,125)Здоровье
JSON-файл:"Health": {
"Body": 10000.0,
"Main Rotor": 750.0,
"Tail Rotor": 375.0
},
Объяснить
Тело
Базовое здоровье вертолета (по умолчанию 10000)Главный ротор
Состояние верхнего ротора (по умолчанию 750)Хвостовой ротор
Состояние хвостового винта (по умолчанию 375)Скорость
JSON-файл:"Speed": {
"Maximum Helicopter Speed": 25.0,
"Helicopter Startup Length In Seconds": 0.0,
"Initial Helicopter Startup Speed": 25.0
},
Объяснить
Максимальная скорость вертолета
Максимальная скорость полета вертолета (по умолчанию 25)Продолжительность запуска вертолета в секундах
Время, необходимое вертолету для изменения начальной скорости до максимальной (по умолчанию 0)Начальная скорость запуска вертолета
Начальная скорость вертолета до достижения максимальной скорости (по умолчанию 25)Конфигурация трансляции чата
JSON-файл:"Chat Broadcast": {
"Manual Spawn": false,
"Custom Spawn": false,
"Random Spawn": false
},
Объяснить
Ручной спавн
Транслирует сообщение в чате при появлении вертолета с помощью команды heli.call.Пользовательский спавн
Транслирует сообщение в чате, когда сервер создает вертолет из одной из предопределенных пользовательских точек появления.Случайный спавн
Транслирует сообщение в чате, когда сервер случайно создает вертолет в любом месте.Добыча
JSON-файл:"Debris": {
"Spawn After Crash": true,
"Harvestable Hit Points": 500.0,
"Cooling Period Seconds": 480.0
},
"Loot": {
"Maximum Crates To Spawn": 10,
"Burn Crates": false,
"Fire Ball": {
"Minimum Lifetime Seconds": 20.0,
"Maximum Lifetime Seconds": 40.0,
"Spread Probability Percentage": 50,
"Elapsed Lifetime Percentage To Begin Spreading": 50,
"Burn Damage Reach": 0.5,
"Base Burn Damage Amount": 2.0,
"Damage Occurrence Frequency Seconds": 0.5,
"Water Amount To Extinguish": 200
},
"Delay Before Crates Become Lootable Minutes": 10.0,
"Always Lootable By Admins": true,
"Can Be Opened Only By Summoner": false,
"Can Be Opened By Summoner Team": false,
"Use Custom Loot Table": true,
"Minimum Loot Spawn Slots": 2,
"Maximum Loot Spawn Slots": 3,
"Rarity Weights Preset": {
"Common": 70,
"Uncommon": 30,
"Rare": 3,
"VeryRare": 1
},
"Custom Loot Table": [
{
"Shortname": "ammo.rocket.basic",
"Skin Id": 0,
"Minimum Spawn Amount": 3,
"Maximum Spawn Amount": 3,
"Spawn As Blueprint": false,
"Rarity": "Common"
},
{
"Shortname": "ammo.rocket.fire",
"Skin Id": 0,
"Minimum Spawn Amount": 3,
"Maximum Spawn Amount": 5,
"Spawn As Blueprint": false,
"Rarity": "Common"
}
]
},
Объяснить
Здоровье Гибса
Здоровье собираемых упавших частей вертолета после его уничтожения (по умолчанию 500)Перезарядка Gibs Harvest за считанные секунды
Время ожидания, необходимое перед уборкой мусора (по умолчанию 480)Количество ящиков
Количество сброшенных ящиков после уничтожения вертолета (по умолчанию 4)Ящики предотвращают падение при принудительном убийстве
Если эта опция включена, вертолет не будет сбрасывать ящики с добычей, если его уничтожить с помощью команды heli.kill.Ящики разблокируются, время восстановления за считанные минуты
Время ожидания, необходимое для того, чтобы можно было получить доступ к ящикам и разграбить их.Установите на -1без кулдауна.
Ящики Ванильные слоты
Определяет минимальное и максимальное количество доступных слотов в одном ящике с добычей.Прикрепить к Invoker
Разрешите забирать ящики только игроку, вызвавшему вертолет.Включить команду
Разрешить членам команды и клана заклинателя грабить ящики.Административный обход ящиков Перезарядка
Позволяет администраторам обходить блокировку ящиков с добычей.Создание пользовательской таблицы добычи
JSON-файл:
"Custom Loot Table - Enabled": true,
"Custom Loot Table": [
{
"Item ID": -742865266,
"Item Short Name": "ammo.rocket.basic",
"Skin ID": 0,
"Minimum Amount": 2,
"Maximum Amount": 3,
"Blueprint": false
},
Объяснить
Создайте пользовательскую таблицу добычи с помощью команды heli.loot set <Tier>.
Перед вами появится ящик, в который вы можете положить желаемые предметы, чтобы создать таблицу добычи. После этого предметы и их количество будут автоматически сохранены в конфигурации.
Максимальное количество, которое вы бросили в ящик, будет использоваться как максимальное количество.
Если у вас уже была предварительно созданная таблица добычи, то ее предметы также появятся в созданном ящике, что позволит вам легко их изменять.
Вы также можете создать таблицу добычи вручную, дублируя конфигурации предметов.
Короткие названия и идентификаторы предметов можно найти здесь
Спаун
JSON-файл:"Spawn": {
"Spawn Chance (Default = 100)": 100.0,
"Minimum Spawn Time In Minutes": 60.0,
"Maximum Spawn Time In Minutes": 120.0,
"Randomized Spawn - Enabled (Vanilla)": true,
"Custom Spawn - Enabled": false,
"Custom Spawn - Locations": [
"Airfield"
]
},
Объяснить
Шанс появления
Вероятность появления вертолетаВремя появления в минутах
Максимальное и минимальное время появления вертолета.Случайный спавн
Если эта функция включена, вертолет будет появляться в любом месте случайным образом.Пользовательский спавн
Если включено, вертолет будет появляться из предопределенных пользовательских мест появления.Помните, что нельзя включить и то, Randomized Spawnи Custom Spawnedдругое.
Создайте пользовательские места появления с помощью heli.spawn set <Spawn Point Name> <Position>команды
- Можно Positionзаменить либо координатой X, Y, Z, либоhere
- Координаты игрока можно получить с помощью серверной команды server.printpos
Вы можете добавить столько пользовательских мест появления, сколько захотите, на каждый уровень, и каждый раз, когда вертолет появляется, он будет выбирать одно из них случайным образом.
Бонусные баллы и деньги
JSON-файл:"Kill Rewards": {
"Reward Points": 1000,
"Economics": 1000
},
Объяснить
Позвольте вашим игрокам получать деньги и призовые очки, уничтожая вертолет.
Награды выдаются на основе общего урона, нанесенного вертолету.
Статистика
Статистика транслируется в сообщении чата после уничтожения вертолета и включает в себя:
- Точность попадания в роторы
- Общий нанесенный ущерб
- Время, потраченное на уничтожение вертолета
Профили вызова
JSON-файл:"Call Command": {
"Default Cooldown In Minutes": 0.0,
"Default Daily Limit": 0,
"Custom Limits": {
"VIP": {
"Cooldown Minutes": 60.0,
"Daily Limit": 3
}
}
}
Объяснить
Время восстановления команды вызова в минутах
Время по умолчанию, необходимое для heli.callповторного использования команды.Дневной лимит команд вызова
Количество раз, которое игрок может использовать heli.callкоманду по умолчанию в день.Пользовательские лимиты
Предоставляет динамические разрешения, которые позволяют неограниченную настройку для каждого уровня.Чтобы добавить пользовательские ограничения, назначенные разрешению, перейдите в Custom Limitsконфигурацию и создайте его с именем VIP. Теперь замените <Name>разрешение customhelicoptertiers.limits.<Name>на VIP.
Это приведет к customhelicoptertiers.limits.VIP, которое при предоставлении будет иметь время восстановления 60 минут и 3 ограниченных использования в день.
Если у игрока есть 2 разрешения с разными ограничениями, он будет автоматически использовать наилучшие доступные ограничения из каждого из них.
Места появления памятников
JSON-файл:
"Monuments Spawn Locations": {
"Large Fishing Village": {
"Position": {
"x": -454.068848,
"y": 0.0,
"z": -1019.226
}
},
"Fishing Village": {
"Position": {
"x": 612.134949,
"y": 0.0,
"z": 489.8864
}
}
}
Объяснить
Места появления памятников автоматически генерируются при загрузке плагина и автоматически добавляются в Monuments Spawn Locationsсписок.