Пользовательские правила: различия между версиями

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
[досмотренная версия][досмотренная версия]
(→‎Пример использования: Исправлена очепятка)
Метки: правка из мобильной версии, правка с мобильного устройства
 
(не показано 14 промежуточных версий 1 участника)
Строка 1: Строка 1:
Пользовательские правила - это те правила, которые доступны в игре и для изменения на сервере.
+
'''Пользовательские правила''' — это те правила, которые доступны в игре и для изменения на сервере.
 +
 
 
== Настройка правил на сервере ==
 
== Настройка правил на сервере ==
Чтобы добавить или удалить правило, используйте <code>rule add правило</code> и <code>rule remove правило</code> соответственно.</br>
+
Чтобы добавить или удалить правило, используйте <code>rule add правило</code> и <code>rule remove правило</code> соответственно.<br>
 
Для понимая что такое типы данных, Вы можете прочесть [[Тип данных|статью]]
 
Для понимая что такое типы данных, Вы можете прочесть [[Тип данных|статью]]
  
Строка 25: Строка 26:
 
| <code>reactorExplosions || true || Взрывы реакторов с нанесением большого урона
 
| <code>reactorExplosions || true || Взрывы реакторов с нанесением большого урона
 
|-
 
|-
| <code>limitedRespawns || false || Ограничены ли появления игроков
+
| <code>limitedRespawns || false || Ограничены ли появления игроков.
 
|-
 
|-
 
| <code>waitForWaveToEnd || false || Ждёт ли таймер для волн, пока враги будут уничтожены
 
| <code>waitForWaveToEnd || false || Ждёт ли таймер для волн, пока враги будут уничтожены
 
|-
 
|-
| <code>attackMode || false || Режим атаки
+
| <code>attackMode || false || Режим атаки.
 
|-
 
|-
| <code>editor || false || Режим редактора
+
| <code>editor || false || Режим редактора. Всё замирает. Можно использовать для смены команд, но лучше [[JS]]
 
|-
 
|-
| <code>tutorial || false || Режим обучения
+
| <code>tutorial || false || Режим обучения. Практически бесполезно, т.к. багнутое.
 
|-
 
|-
| <code>lighting || false || Освещение
+
| <code>lighting || false || Освещение.
 +
|-
 +
| <code>drawDarkness || true || Эксперементальное в 6.0. Отрисовка теней.
 
|}
 
|}
  
Строка 45: Строка 48:
 
! Название !! По умолчанию !! Описание
 
! Название !! По умолчанию !! Описание
 
|-
 
|-
| <code>unitBuildSpeedMultiplier || 1 || Множитель скорости постройки боевых единиц
+
| <code>unitBuildSpeedMultiplier || 1 || Множитель скорости постройки боевых единиц.
 
|-
 
|-
| <code>unitHealthMultiplier || 1 || Множитель здоровья боевых единиц
+
| <code>unitHealthMultiplier || 1 || Множитель здоровья боевых единиц.
 
|-
 
|-
| <code>playerHealthMultiplier || 1 || Множитель здоровья игрока
+
| <code>playerHealthMultiplier || 1 || Множитель здоровья игрока.
 
|-
 
|-
| <code>blockHealthMultiplier || 1 || Множитель здоровья построек
+
| <code>blockHealthMultiplier || 1 || Множитель здоровья построек.
 
|-
 
|-
| <code>playerDamageMultiplier || 1 || Множитель урона игрока
+
| <code>playerDamageMultiplier || 1 || Множитель урона игрока.
 
|-
 
|-
| <code>unitDamageMultiplier || 1 || Множитель урона боевых единиц
+
| <code>unitDamageMultiplier || 1 || Множитель урона боевых единиц.
 
|-
 
|-
| <code>buildCostMultiplier || 1 || Множитель затрат строительства
+
| <code>buildCostMultiplier || 1 || Множитель затрат на строительство.
 
|-
 
|-
| <code>buildSpeedMultiplier || 1 || Множитель скорости строительства
+
| <code>buildSpeedMultiplier || 1 || Множитель скорости строительства.
 
|-
 
|-
| <code>deconstructRefundMultiplier || 0.5 || Множитель возврата ресурсов при разбирании постройки
+
| <code>deconstructRefundMultiplier || 0.5 || Множитель возврата ресурсов при разбирании постройки.
 
|-
 
|-
 
| <code>enemyCoreBuildRadius || 400 || Радиус, в котором нельзя строить относительно ядра
 
| <code>enemyCoreBuildRadius || 400 || Радиус, в котором нельзя строить относительно ядра
Строка 67: Строка 70:
 
| <code>dropZoneRadius || 300 || Радиус зоны высадки врагов
 
| <code>dropZoneRadius || 300 || Радиус зоны высадки врагов
 
|-
 
|-
| <code>respawnTime || 60 * 4 || Время респауна игрока (указывается в тиках)
+
| <code>respawnTime || 60 * 4 || Время респауна игрока (указывается в тиках)<ref>60 тиков это, примерно, 1 секунда.</ref>
 
|-
 
|-
| <code>waveSpacing || 60 * 60 * 2 || Время между волнами (указывается в тиках<ref>1 тик это примерно 16.7 миллисекунд</ref>)
+
| <code>waveSpacing || 60 * 60 * 2 || Время между волнами (указывается в тиках<ref>60 тиков это, примерно, 1 секунда.</ref>)
 
|-
 
|-
 
| <code>bossWaveMultiplier || 3 || Множитель спауна волны с боссом
 
| <code>bossWaveMultiplier || 3 || Множитель спауна волны с боссом
 
|-
 
|-
| <code>launchWaveMultiplier || 2 || Множитель
+
| <code>launchWaveMultiplier || 2 || Множител
 
|-
 
|-
| <code>solarPowerMultiplier || -1 || Множитель энерговыработки солнечных панелей  
+
| <code>solarPowerMultiplier || -1 || Множитель энерговыработки солнечных панелей.
 
|}
 
|}
  
Строка 82: Строка 85:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Название !! По умолчанию !! Описание
+
! Название !! Описание
 +
|-
 +
| <code>zone  || Режим, при включении которого в игре разрешается отправка ресурсов с помощью стартовой площадки. Поднобности [[JS|здесь]].
 
|-
 
|-
| <code>zone ||  || Режим, при включении которого в игре разрешается отправка ресурсов с помощью стартовой площадки
+
| '''Пример использования''' || <code>rules add zone groundZero
 
|}
 
|}
  
 
=== Array<SpawnGroup> / Правило с массивом данных ===
 
=== Array<SpawnGroup> / Правило с массивом данных ===
  
 +
Для лёгкого редактирования просто зайдите в Редактор->Меню->Информация про карту->Настройки волн.</br>
 +
После настройки волн: Редактировать->Cкопировать в буфер обмена.
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 96: Строка 103:
 
| <code>spawns ||  ||  ||
 
| <code>spawns ||  ||  ||
 
|}
 
|}
 +
'''Пример использования:'''</br>
 +
<code>rule add spawns [{type:dagger,scaling:1},{type:crawler,begin:4,spacing:2,scaling:2},{type:titan,begin:14,spacing:2,scaling:2},{type:fortress,begin:24,spacing:2,scaling:5},{type:eruptor,begin:49,spacing:3,scaling:10},{type:chaos-array,begin:74,spacing:4,scaling:20},{type:eradicator,begin:99,spacing:5,effect:8},{type:wraith},{type:reaper}]</code>
  
 
=== Int / Правило с целочисленным значением ===
 
=== Int / Правило с целочисленным значением ===
Допускаются только целые числа.</br>
+
Обратите внимание, что limitedRespawns должно быть истинным (true).
Полное названия этого типа данных - Integer
+
Допускаются только целые числа.<br>
 +
Полное названия этого типа данных — Integer.
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 105: Строка 115:
 
! Название !! По умолчанию !! Описание
 
! Название !! По умолчанию !! Описание
 
|-
 
|-
| <code>respawns || 5 || Количество возрождений игрока на одну волну
+
| <code>respawns || 5 || Количество возрождений игроков (всех) на одну волну.
 
|}
 
|}
  
Строка 116: Строка 126:
 
|-
 
|-
 
| <code>loadout ||  || <code>[{item:руда,amount:1},{item:руда,amount:1}] || Стартовые ресурсы
 
| <code>loadout ||  || <code>[{item:руда,amount:1},{item:руда,amount:1}] || Стартовые ресурсы
 +
|-
 +
| '''Пример использования.'''
 +
|
 +
|rowspan=2| <code>'''rules add loadout''' [{item:copper,amount:1},{item:lead,amount:1},{item:sand,amount:1},{item:titanium,amount:1},{item:thorium,amount:1},{item:plastanium,amount:1},{item:graphite,amount:1},{item:metaglass,amount:1},{item:silicon,amount:1},{item:phase-fabric,amount:1},{item:surge-alloy,amount:1}]</code>
 
|}
 
|}
  
 
=== ObjectSet<Block> / Правило с ?! ===
 
=== ObjectSet<Block> / Правило с ?! ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Строка 126: Строка 139:
 
| <code>bannedBlocks ||  || <code>[блок, блок] || Блоки, которые нельзя использовать
 
| <code>bannedBlocks ||  || <code>[блок, блок] || Блоки, которые нельзя использовать
 
|}
 
|}
 +
'''Запрет всех блоков:'''</br>
 +
<code>rules add bannedBlocks [duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, ripple, meltdown,mechanical-drill,pneumatic-drill,laser-drill,blast-drill,water-extractor,cultivator,oil-extractor,conveyor,titanium-conveyor,armored-conveyor,junction,bridge-conveyor,phase-conveyor,sorter,inverted-sorter,router,distributor,overflow-gate,underflow-gate,mass-driver,mechanical-pump,rotary-pump,thermal-pump,conduit,pulse-conduit,plated-conduit,liquid-router,liquid-tank,liquid-junction,bridge-conduit,phase-conduit, power-node,power-node-large,surge-tower,diode,battery,battery-large,combustion-generator,thermal-generator,turbine-generator,differential-generator,rtg-generator,solar-panel,solar-panel-large,thorium-reactor,impact-reactor,vault,container,unloader,launch-pad,launch-pad-large, draug-factory,spirit-factory,phantom-factory,command-center,wraith-factory,ghoul-factory,revenant-factory,dagger-factory,crawler-factory,titan-factory,fortress-factory,repair-point,power-source,power-void,item-source,item-void,liquid-source,message,illuminator,dart-mech-pad, delta-mech-pad, tau-mech-pad, omega-mech-pad, javelin-ship-pad, trident-ship-pad, glaive-ship-pad,vault,container,unloader,launch-pad,launch-pad-large,graphite-press,multi-press,silicon-smelter,kiln,plastanium-compressor,phase-weaver,alloy-smelter,cryofluidmixer,blast-mixer,pyratite-mixer,melter,separator,spore-press,pulverizer,coal-centrifuge,incinerator,copper-wall,copper-wall-large,titanium-wall,titanium-wall-large,plastanium-wall,plastanium-wall-large,thorium-wall,thorium-wall-large,phase-wall,phase-wall-large,surge-wall,surge-wall-large,door,door-large,mender,mend-projector,overdrive-projector,force-projector,shock-mine]
 +
</code>
  
 
=== Color / Правило с ?! ===
 
=== Color / Правило с ?! ===
Для работы этого правила Вам надо указать в значении правила <code>lighting</code> <code>true</code></br>
+
Для работы этого правила Вам надо указать в значении правила <code>lighting</code> <code>true</code><br>
Допускаются значения с десятичными дробями.
+
Допускаются значения с десятичными дробями. Не используйте значения больше единицы.<br>
 +
'''ВАЖНО:''' чтобы это работало должно быть включено правило '''lighting'''.
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 135: Строка 152:
 
! Название !! По умолчанию !! Структура записи значений !! Описание
 
! Название !! По умолчанию !! Структура записи значений !! Описание
 
|-
 
|-
| <code>ambientLight || || <code>{r: значение, g: значение, b: значение, a: значение}<ref>Цвета в этом правиле указываются в цветовой модели RGB. <code>a</code> - это густота тумана</ref> || Освещение на карте
+
| <code>ambientLight || <code>{r: 0.005, g: 0.0, b: 0.02, a: 0.8}</code> || <code>{r: значение, g: значение, b: значение, a: значение}<ref>Цвета в этом правиле указываются в цветовой модели [https://ru.wikipedia.org/wiki/RGB RGB]. <code>Red</code> — красный, <code>green</code> — зелёный, <code>blue</code> — синий.<code>a</code> — это густота тумана</ref> || Освещение на карте.
 +
|}
 +
 
 +
==== Пример использования ====
 +
{| class="wikitable"
 +
|-
 +
! Название !! Команда
 +
|-
 +
| <code>rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.8}</code> || Значение по умолчанию.
 +
|-
 +
| <code>rules add ambientLight {r: 0.9, g: 0.9, b: 0.9, a: 0.15}</code> || Туман.
 +
|-
 +
| <code>rules add ambientLight {r: 0.0, g: 0.0, b: 0.0, a: 1.0}</code> || Просто темнота.
 +
|-
 +
| <code>rules add ambientLight {r: 0.11, g: 0.01, b: 0.18, a: 0.95}</code> || Хэллоуин.
 +
|-
 +
| <code>rules add ambientLight {r: 0.0, g: 0.0, b: 0.0, a: 0.92}</code> || Полная ночь(без оттенка).
 +
|-
 +
| <code>rules add ambientLight {r: 0.01, g: 0.0, b: 0.05, a: 0.92}</code> || Полная ночь(с оттенком).
 +
|-
 +
| <code>rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.93}</code> || Сбалансированная ночь.
 +
|-
 +
| <code>rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.95}</code> || Тёмная ночь.
 +
|-
 +
| <code>rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.98} </code> || Очень тёмная ночь.
 
|}
 
|}
  
 
=== Team / Правила со строковым типом данных ===
 
=== Team / Правила со строковым типом данных ===
 
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Название !! По умолчанию !! Структура записи значений !! Описание
 
! Название !! По умолчанию !! Структура записи значений !! Описание
 
|-
 
|-
| <code>defaultTeam || Team.sharded ?! || <code>Team.команда ?! || Стандартная команда
+
| <code>defaultTeam || 1 || <code>айди команды || Стандартная команда
 +
|-
 +
| <code>waveTeam || 2 || <code>айди команды || Команда волн
 +
|}
 +
ID должно быть в промежутке [0,32383].
 +
{| class="wikitable"
 +
|-
 +
! ID !! Цвет команды
 +
|-
 +
| 0 || gray (серые).
 +
|-
 +
| 1 || sharded (жёлтые)
 +
|-
 +
| 2 || crux (красные)
 +
|-
 +
| 3 || green (зелёные)
 +
|-
 +
| 4 || фиолетовые
 +
|-
 +
| 5 || blue (синие)
 +
|-
 +
| 6 || розовые
 
|-
 
|-
| <code>waveTeam || Team.crux ?! || <code>Team.crux ?! || Вражеская команда
+
| 7 || тёмно-синие
 
|}
 
|}
  
 
=== StringMap / ?! ===
 
=== StringMap / ?! ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-

Текущая версия на 00:34, 10 августа 2020

Пользовательские правила — это те правила, которые доступны в игре и для изменения на сервере.

Настройка правил на сервере

Чтобы добавить или удалить правило, используйте rule add правило и rule remove правило соответственно.
Для понимая что такое типы данных, Вы можете прочесть статью

Boolean / Логические правила

Эти правила имеют значения: true (да) и false (нет).

Название По умолчанию Описание
infiniteResources Бесконечные ресурсы у игроков (дает возможность строить источники ресурсов и повышает скорость строительства)
waveTimer true Таймер для волн
waves Есть ли волны иль нет
enemyCheat Бесконечные ресурсы у врагов (ИИ), с включенным правилом вражеским турелям не потребуются боеприпасы
pvp Режим пвп
unitDrops true Оставляют ли вражеские боевые единицы после смерти неподалеку от ядра ресурсы
reactorExplosions true Взрывы реакторов с нанесением большого урона
limitedRespawns false Ограничены ли появления игроков.
waitForWaveToEnd false Ждёт ли таймер для волн, пока враги будут уничтожены
attackMode false Режим атаки.
editor false Режим редактора. Всё замирает. Можно использовать для смены команд, но лучше JS
tutorial false Режим обучения. Практически бесполезно, т.к. багнутое.
lighting false Освещение.
drawDarkness true Эксперементальное в 6.0. Отрисовка теней.

Float / Правила с вещественными числовыми значениями

Правила со вещественными числовыми значениям, вписанное значение это множитель.

Название По умолчанию Описание
unitBuildSpeedMultiplier 1 Множитель скорости постройки боевых единиц.
unitHealthMultiplier 1 Множитель здоровья боевых единиц.
playerHealthMultiplier 1 Множитель здоровья игрока.
blockHealthMultiplier 1 Множитель здоровья построек.
playerDamageMultiplier 1 Множитель урона игрока.
unitDamageMultiplier 1 Множитель урона боевых единиц.
buildCostMultiplier 1 Множитель затрат на строительство.
buildSpeedMultiplier 1 Множитель скорости строительства.
deconstructRefundMultiplier 0.5 Множитель возврата ресурсов при разбирании постройки.
enemyCoreBuildRadius 400 Радиус, в котором нельзя строить относительно ядра
dropZoneRadius 300 Радиус зоны высадки врагов
respawnTime 60 * 4 Время респауна игрока (указывается в тиках)[1]
waveSpacing 60 * 60 * 2 Время между волнами (указывается в тиках[2])
bossWaveMultiplier 3 Множитель спауна волны с боссом
launchWaveMultiplier 2 Множител
solarPowerMultiplier -1 Множитель энерговыработки солнечных панелей.

Zone / ?!

Название Описание
zone Режим, при включении которого в игре разрешается отправка ресурсов с помощью стартовой площадки. Поднобности здесь.
Пример использования rules add zone groundZero

Array<SpawnGroup> / Правило с массивом данных

Для лёгкого редактирования просто зайдите в Редактор->Меню->Информация про карту->Настройки волн.
После настройки волн: Редактировать->Cкопировать в буфер обмена.

Название По умолчанию Структура массива Описание
spawns

Пример использования:
rule add spawns [{type:dagger,scaling:1},{type:crawler,begin:4,spacing:2,scaling:2},{type:titan,begin:14,spacing:2,scaling:2},{type:fortress,begin:24,spacing:2,scaling:5},{type:eruptor,begin:49,spacing:3,scaling:10},{type:chaos-array,begin:74,spacing:4,scaling:20},{type:eradicator,begin:99,spacing:5,effect:8},{type:wraith},{type:reaper}]

Int / Правило с целочисленным значением

Обратите внимание, что limitedRespawns должно быть истинным (true). Допускаются только целые числа.
Полное названия этого типа данных — Integer.

Название По умолчанию Описание
respawns 5 Количество возрождений игроков (всех) на одну волну.

Array<ItemStack> / Правило с массивом данных

Название По умолчанию Структура массива Описание
loadout [{item:руда,amount:1},{item:руда,amount:1}] Стартовые ресурсы
Пример использования. rules add loadout [{item:copper,amount:1},{item:lead,amount:1},{item:sand,amount:1},{item:titanium,amount:1},{item:thorium,amount:1},{item:plastanium,amount:1},{item:graphite,amount:1},{item:metaglass,amount:1},{item:silicon,amount:1},{item:phase-fabric,amount:1},{item:surge-alloy,amount:1}]

ObjectSet<Block> / Правило с ?!

Название По умолчанию Структура записи значений Описание
bannedBlocks [блок, блок] Блоки, которые нельзя использовать

Запрет всех блоков:
rules add bannedBlocks [duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, ripple, meltdown,mechanical-drill,pneumatic-drill,laser-drill,blast-drill,water-extractor,cultivator,oil-extractor,conveyor,titanium-conveyor,armored-conveyor,junction,bridge-conveyor,phase-conveyor,sorter,inverted-sorter,router,distributor,overflow-gate,underflow-gate,mass-driver,mechanical-pump,rotary-pump,thermal-pump,conduit,pulse-conduit,plated-conduit,liquid-router,liquid-tank,liquid-junction,bridge-conduit,phase-conduit, power-node,power-node-large,surge-tower,diode,battery,battery-large,combustion-generator,thermal-generator,turbine-generator,differential-generator,rtg-generator,solar-panel,solar-panel-large,thorium-reactor,impact-reactor,vault,container,unloader,launch-pad,launch-pad-large, draug-factory,spirit-factory,phantom-factory,command-center,wraith-factory,ghoul-factory,revenant-factory,dagger-factory,crawler-factory,titan-factory,fortress-factory,repair-point,power-source,power-void,item-source,item-void,liquid-source,message,illuminator,dart-mech-pad, delta-mech-pad, tau-mech-pad, omega-mech-pad, javelin-ship-pad, trident-ship-pad, glaive-ship-pad,vault,container,unloader,launch-pad,launch-pad-large,graphite-press,multi-press,silicon-smelter,kiln,plastanium-compressor,phase-weaver,alloy-smelter,cryofluidmixer,blast-mixer,pyratite-mixer,melter,separator,spore-press,pulverizer,coal-centrifuge,incinerator,copper-wall,copper-wall-large,titanium-wall,titanium-wall-large,plastanium-wall,plastanium-wall-large,thorium-wall,thorium-wall-large,phase-wall,phase-wall-large,surge-wall,surge-wall-large,door,door-large,mender,mend-projector,overdrive-projector,force-projector,shock-mine]

Color / Правило с ?!

Для работы этого правила Вам надо указать в значении правила lighting true
Допускаются значения с десятичными дробями. Не используйте значения больше единицы.
ВАЖНО: чтобы это работало должно быть включено правило lighting.

Название По умолчанию Структура записи значений Описание
ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.8} {r: значение, g: значение, b: значение, a: значение}[3] Освещение на карте.

Пример использования

Название Команда
rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.8} Значение по умолчанию.
rules add ambientLight {r: 0.9, g: 0.9, b: 0.9, a: 0.15} Туман.
rules add ambientLight {r: 0.0, g: 0.0, b: 0.0, a: 1.0} Просто темнота.
rules add ambientLight {r: 0.11, g: 0.01, b: 0.18, a: 0.95} Хэллоуин.
rules add ambientLight {r: 0.0, g: 0.0, b: 0.0, a: 0.92} Полная ночь(без оттенка).
rules add ambientLight {r: 0.01, g: 0.0, b: 0.05, a: 0.92} Полная ночь(с оттенком).
rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.93} Сбалансированная ночь.
rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.95} Тёмная ночь.
rules add ambientLight {r: 0.005, g: 0.0, b: 0.02, a: 0.98} Очень тёмная ночь.

Team / Правила со строковым типом данных

Название По умолчанию Структура записи значений Описание
defaultTeam 1 айди команды Стандартная команда
waveTeam 2 айди команды Команда волн

ID должно быть в промежутке [0,32383].

ID Цвет команды
0 gray (серые).
1 sharded (жёлтые)
2 crux (красные)
3 green (зелёные)
4 фиолетовые
5 blue (синие)
6 розовые
7 тёмно-синие

StringMap / ?!

Название По умолчанию Структура записи значений Описание
tags ?!  ?! ?!
  1. 60 тиков это, примерно, 1 секунда.
  2. 60 тиков это, примерно, 1 секунда.
  3. Цвета в этом правиле указываются в цветовой модели RGB. Red — красный, green — зелёный, blue — синий.a — это густота тумана