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

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
[досмотренная версия][досмотренная версия]
(Quicksave)
(→‎Пример использования: Исправлена очепятка)
Метки: правка из мобильной версии, правка с мобильного устройства
 
(не показано 19 промежуточных версий 2 участников)
Строка 1: Строка 1:
Пользовательские правила - это те правила, которые доступны в игре и для изменения на сервере.
+
'''Пользовательские правила''' — это те правила, которые доступны в игре и для изменения на сервере.
 +
 
 
== Настройка правил на сервере ==
 
== Настройка правил на сервере ==
Чтобы добавить или удалить правило, используйте <code>rule add правило</code> и <code>rule remove правило</code> соответственно.
+
Чтобы добавить или удалить правило, используйте <code>rule add правило</code> и <code>rule remove правило</code> соответственно.<br>
 +
Для понимая что такое типы данных, Вы можете прочесть [[Тип данных|статью]]
  
 
=== Boolean / Логические правила ===
 
=== Boolean / Логические правила ===
Строка 24: Строка 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. Отрисовка теней.
 
|}
 
|}
  
Строка 44: Строка 48:
 
! Название !! По умолчанию !! Описание
 
! Название !! По умолчанию !! Описание
 
|-
 
|-
| <code>unitBuildSpeedMultiplier || || Множитель скорости постройки боевых единиц
+
| <code>unitBuildSpeedMultiplier || 1 || Множитель скорости постройки боевых единиц.
 
|-
 
|-
| <code>unitHealthMultiplier || || Множитель
+
| <code>unitHealthMultiplier || 1 || Множитель здоровья боевых единиц.
 
|-
 
|-
| <code>playerHealthMultiplier || || Множитель
+
| <code>playerHealthMultiplier || 1 || Множитель здоровья игрока.
 
|-
 
|-
| <code>blockHealthMultiplier || || Множитель
+
| <code>blockHealthMultiplier || 1 || Множитель здоровья построек.
 
|-
 
|-
| <code>playerDamageMultiplier || || Множитель
+
| <code>playerDamageMultiplier || 1 || Множитель урона игрока.
 
|-
 
|-
| <code>unitDamageMultiplier || || Множитель
+
| <code>unitDamageMultiplier || 1 || Множитель урона боевых единиц.
 
|-
 
|-
| <code>buildCostMultiplier || || Множитель
+
| <code>buildCostMultiplier || 1 || Множитель затрат на строительство.
 
|-
 
|-
| <code>buildSpeedMultiplier || || Множитель
+
| <code>buildSpeedMultiplier || 1 || Множитель скорости строительства.
 
|-
 
|-
| <code>deconstructRefundMultiplier || || Множитель
+
| <code>deconstructRefundMultiplier || 0.5 || Множитель возврата ресурсов при разбирании постройки.
 
|-
 
|-
| <code>enemyCoreBuildRadius || || Радиус
+
| <code>enemyCoreBuildRadius || 400 || Радиус, в котором нельзя строить относительно ядра
 
|-
 
|-
| <code>dropZoneRadius || || Радиус
+
| <code>dropZoneRadius || 300 || Радиус зоны высадки врагов
 
|-
 
|-
| <code>respawnTime || || Время
+
| <code>respawnTime || 60 * 4 || Время респауна игрока (указывается в тиках)<ref>60 тиков это, примерно, 1 секунда.</ref>
 
|-
 
|-
| <code>waveSpacing || || Время между волнами
+
| <code>waveSpacing || 60 * 60 * 2 || Время между волнами (указывается в тиках<ref>60 тиков это, примерно, 1 секунда.</ref>)
 
|-
 
|-
| <code>bossWaveMultiplier || || Множитель
+
| <code>bossWaveMultiplier || 3 || Множитель спауна волны с боссом
 
|-
 
|-
| <code>launchWaveMultiplier || || Множитель
+
| <code>launchWaveMultiplier || 2 || Множител
 
|-
 
|-
| <code>solarPowerMultiplier || || Множитель
+
| <code>solarPowerMultiplier || -1 || Множитель энерговыработки солнечных панелей.
 
|}
 
|}
  
 
=== Zone / ?! ===
 
=== Zone / ?! ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Название  !! Описание
 +
|-
 +
| <code>zone  || Режим, при включении которого в игре разрешается отправка ресурсов с помощью стартовой площадки. Поднобности [[JS|здесь]].
 +
|-
 +
| '''Пример использования''' || <code>rules add zone groundZero
 +
|}
 +
 +
=== Array<SpawnGroup> / Правило с массивом данных ===
 +
 +
Для лёгкого редактирования просто зайдите в Редактор->Меню->Информация про карту->Настройки волн.</br>
 +
После настройки волн: Редактировать->Cкопировать в буфер обмена.
 +
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Структура массива !! Описание
 +
|-
 +
| <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 / Правило с целочисленным значением ===
 +
Обратите внимание, что limitedRespawns должно быть истинным (true).
 +
Допускаются только целые числа.<br>
 +
Полное названия этого типа данных — Integer.
 +
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Описание
 +
|-
 +
| <code>respawns || 5 || Количество возрождений игроков (всех) на одну волну.
 +
|}
 +
 +
=== Array<ItemStack> / Правило с массивом данных ===
 +
 +
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Структура массива !! Описание
 +
|-
 +
| <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> / Правило с ?! ===
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Структура записи значений !! Описание
 +
|-
 +
| <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 / Правило с ?! ===
 +
Для работы этого правила Вам надо указать в значении правила <code>lighting</code> <code>true</code><br>
 +
Допускаются значения с десятичными дробями. Не используйте значения больше единицы.<br>
 +
'''ВАЖНО:''' чтобы это работало должно быть включено правило '''lighting'''.
 +
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Структура записи значений !! Описание
 +
|-
 +
| <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 / Правила со строковым типом данных ===
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Структура записи значений !! Описание
 +
|-
 +
| <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 || розовые
 +
|-
 +
| 7 || тёмно-синие
 +
|}
 +
 +
=== StringMap / ?! ===
 +
{| class="wikitable"
 +
|-
 +
! Название !! По умолчанию !! Структура записи значений !! Описание
 +
|-
 +
| <code>tags ||  ?! || <code> ?! || ?!
 +
|}

Текущая версия на 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 — это густота тумана