Обсуждение:Поваренная книга админа: различия между версиями

м СРП
Нет описания правки
Строка 1: Строка 1:
{{infobox|indev|sign=[[Участник:Trinnq|Trinnq]] ([[Обсуждение участника:Trinnq|обсуждение]]), [[Участник:Kevicky9|Kevicky9]] ([[Обсуждение участника:Kevicky9|обсуждение]])}}
Данная статья посвящена всяким полезностям для админов.
Данная статья посвящена всяким полезностям для админов.
 
{{ModernTitle|Работа с консолью|h1}}
Консоль открывается по клавише <code>`</code> (<code>ё</code>).
== Основы ==
 
Консоль по стандарту открывается на <code>~</code> (<code>ё</code>). Автозаполнение работает нажатием кнопки Tab после выбора стрелками. Не все команды отображаются в зависимости от прав.
Переход между состояниями админа и простого игрока с помощью команд:
* <code>deadmin/readmin</code> - убирает/возвращает права администратора
* <code>deadmin</code> убирает с вас права и делает обычным игроком;
* <code>aghost</code> - та же команда <code>ghost</code>, но с правами администратора
* <code>readmin</code> возвращает вам права администратора.
* <code>setadminooc #FFFFFF</code> - устанавливает цвет вашему нику, который будет виден в чате OOC.
 
* <code>help [название команды]</code>  - расскажет вам о команде, не забывайте про неё!
<code>setadminooc #FFFFFF</code> устанавливает цвет вашему нику, который будет виден в чате OOC.
* <code>list</code> - выводит список доступных вам команд
* <code>listgamerules</code> - выводит список всех игровых событий
* <code>forcemap</code> - перманентно устанавливает карту (сброс карты делается forcemap "")
* <code>> self scale:multiplyvector [2, 1]</code> (ТУЛШЕД!) - <strike>способ получить аварн</strike> изменение размера спрайта(увеличить в два раза = 2, уменьшить = 0,5)
* <code>tpto</code> - телепортация куда кого, алтернатива tp
* <code>playglobalsound</code> - чтобы все услышали ваше аудио(после указания пути идёт громкость, она может быть отрицательной, если нужно тише)
* <code>ftldisk</code> - диск БСС скачков шаттла
* <code>explosionui</code> - искусство это взрыв


== Отыгрыш ЦК ==
== Отыгрыш ЦК ==
Строка 45: Строка 51:
=== Счёт карго ===
=== Счёт карго ===


* <code> > station:list</code> => появляется список станций, ищете свою => пишете <code>vv <uid</code>, он показывается сбоку от названия>.
* <code>> station:list</code> => появляется список станций, ищете свою => пишете <code>vv <uid</code>, он показывается сбоку от названия>.
Далее заходим в компоненты сервера и находим <code>StationBank</code> и нажимаем на него, там есть и текущий счёт карго и количество пассивного дохода.
Далее заходим в компоненты сервера и находим <code>StationBank</code> и нажимаем на него, там есть и текущий счёт карго и количество пассивного дохода.


Строка 54: Строка 60:


== Раунд ==
== Раунд ==
В лобби в зависимости от числа готовых игра подбирает прототипы режима и карты. Маппул и пресеты игры найти можно (также далее). Они имеют минимальное и максимальное число игроков.


<code>customvote <вопрос> <ответ1> <ответ2> ... <ответN></code> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби.   
<code>customvote <вопрос> <ответ1> <ответ2> ... <ответN></code> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби.   
Например:
Например:
* <code>customvote "Какой режим хотите выбрать?" Выживание Трейторы Секрет ...</code>
* <code>customvote "Какой режим хотите выбрать?" Выживание Трейторы Секрет ...</code>
 
* <code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.
<code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.
* <code>forcemap</code> - позволяет поменять карту до начала раунда.
 
<code>forcemap</code> - позволяет поменять карту до начала раунда.
 
=== Режимы игры ===
=== Режимы игры ===
Существующие режимы игры:
Существующие режимы игры:
* Extended
* Extended
Строка 83: Строка 86:


==== Внутриигровые ивенты ====
==== Внутриигровые ивенты ====
 
Игровой режим запускает генераторы ивентов, которые вы можете увидеть в <code>listgamerules</code>.
Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже...
 
<code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду.
<code>addgamerule <rules></code> добавляет режим или ивент к следующему или идущему раунду.
<code>endgamerule <rule></code> останавливает текущий в игре ивент.
<code>endgamerule <rule></code> останавливает текущий в игре ивент.
Список ID событий:
Список ID событий:
* <code>BasicStationEventScheduler</code> - спавнер редких игровых ивентов. Стоит во всех режимах игры кроме выживания.
* <code>BasicStationEventScheduler</code> - спавнер редких игровых ивентов. Стоит во всех режимах игры кроме выживания.
Строка 137: Строка 136:
* <code>Revolutionary</code> режим революционеров.
* <code>Revolutionary</code> режим революционеров.
* <code>EvilTwin</code> спавнит злого двойника.
* <code>EvilTwin</code> спавнит злого двойника.
* <code>Exterminator</code> спавнит терминатора.
* <code>NinjaSpawn</code> спавнит ниндзю.
* <code>NinjaSpawn</code> спавнит ниндзю.
* <code>Thief</code> выдаёт роль вора.
* <code>Thief</code> выдаёт роль вора.
* <code>LoneOpsSpawn</code> спавнит одинокого Ядерного Оперативника.
* <code>LoneOpsSpawn</code> спавнит одинокого Ядерного Оперативника.


 
<code>NukeOps</code>, <code>Pirates</code> и <code>Revolutionary</code> надо добавлять обязательно до начала раунда. <code>Zombie</code> и <code>Traitor</code> можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.
 
 
<!-- TODO: переписать и объединить данный раздел с разделом про режимы игры, так как они неразрывно связаны! -->
 
Nukeops, Pirates и Revolutionary надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.


==== Починка пацифизма дионы ====
==== Починка пацифизма дионы ====
Строка 235: Строка 228:
Просмотр заметок доступен по команде <code>adminnotes</code> в консоли.
Просмотр заметок доступен по команде <code>adminnotes</code> в консоли.


== Сетки и карты ==
{{ModernTitle|Прототипы|h1}}
 
=> Грубый краткий пересказ для понимания ECS-КОП, душить не буду, душнилам не читать.
В игре всё является сущностями(entity), сущность - это экземпляр(версия, или сын) прототипа. Когда вы создаёте что-либо на основе прототипа - вы спавните сущность, которая имеет уникальный айди и характеристики прототипа, которые вы можете менять.
Компоненты - это переменные, они хранят разные данные - простые - true/false(включен-выключен), сложные - словарь определяющий тип урона. Они могут своим добавлением могут позволять что-либо — например, боргам пользоваться прибором; являться связующим посредником - stepTrigger(активировался если наступишь), представлять механику игры - Anomaly, и многое другое. Отношения между компонентами определены их кодом, знать его не обязательно, их описание довольно неплохо документировано [https://github.com/space-syndicate/space-station-14/tree/master/Content.Shared/ просто нужно знать, где искать].
 
Прототип - это описание чего-либо(режимы игры тоже определяются ими но не являются сущностями), которое состоит из компонентов. Если нам нужно описать хлебушек - самое простое из компонентов будет - itemComponent(его можно поднять и положить, он имеет объём для сумки), спрайт, набор звуков; сложные - являются частями механик и могут для изменения требовать понимания кода игры(с этим вы столкнётесь рано или поздно) - для хлебушка это его питательность(в метаболизме), это не трудно. И из кучи компонентов получим прототип хлеба(зарезервировавший уникальное имя прототипа), который без особого тестирования вполне может уронить сервер(и подарить аварн).
 
Отдельно упомяну, что прототипы существуют в иерархии - предыдущий передаёт компоненты последующему, для описания чего либо вам не нужно начинать в нуля, вы можете унаследоваться от существующего прототипа, расширив его компоненты.
 
Итог, для понимания - карта, грид на карте, стена на гриде, станция(со счётом в карго) - это всё сущности. Игрок видит объекты потому что имеет компонент глаз, управляет благодаря компоненту актёра. Прототипы написаны на YAML и могут быть изучены на гитхабе в /Resources/Prototypes/... .
 
В панели администратора есть возможность загрузить в игру свой прототип. Например, нужен спавнер случайного гуманоида для проведения какого-нибудь мероприятия:
<pre>
- type: entity
  parent: ClothingHeadsetAlt
  id: ClothingHeadsetCentComCCAlt
  suffix: CentCom
  name: Гарнитура офицера ЦК
  description: Стандартная гарнитура ЦК.
  components:
  - type: Headset
    channels:
    - CentCom
  - type: Sprite
    sprite: Clothing/Ears/Headsets/centcom.rsi
  - type: Clothing
    sprite: Clothing/Ears/Headsets/centcom.rsi
</pre>
 
В админ-панели (по клавише F7) во вкладке "Админ-абуз" есть кнопка "Загрузить прототип", кликнув на неё выберите файл прототипа, который нужно загрузить.
 
Загруженные прототипы будут доступен до перезапуска сервера.
 
=== Загрузка RSI ===
 
[https://docs.spacestation14.io/en/engine/rsi RSI] - формат группы изображений, изобретённый создателями SS14. Используется для спрайтов. У администраторов существует возможность загрузить свои RSI для использования их в прототипах без необходимости перезапуска сервера или перекомпиляции сборки.
 
Например, нужно загрузить следующий RSI:
<pre>
delorian.rsi/
├── auto.png
└── meta.json
</pre>
 
Для этого нужно использовать команду <code>uploadfile</code> с прописанной директорией:
<pre>
> uploadfile delorian.rsi/auto.png
> uploadfile delorian.rsi/meta.json
</pre>
 
Для использования загруженных спрайтов в прототипах нужно прописывать такой путь:
<pre>
    - type: Sprite
      sprite: /Uploaded/delorian.rsi # <------
      layers:
        - state: auto
          map: ["enum.VehicleVisualLayers.AutoAnimate"]
</pre>
 
Загруженные файлы удаляются при перезапуске сервера.
 
В недавнем обновлении появился более лёгкий способ загрузки папок - команда <code>uploadfolder</code>.
 
{{ModernTitle|Маппинг|h1}}


Основные понятия:
Основные понятия:
Строка 305: Строка 362:


<code>dock <ID1> <ID2></code> стыкует два стыковочных портах с ID1 и с ID2, находящихся на разных сетках. Полезно, когда нужна стыковка на карте, находящейся в паузе.
<code>dock <ID1> <ID2></code> стыкует два стыковочных портах с ID1 и с ID2, находящихся на разных сетках. Полезно, когда нужна стыковка на карте, находящейся в паузе.
== Прототипы ==
В панели администратора есть возможность загрузить в игру свой прототип. Например, нужен спавнер случайного гуманоида для проведения какого-нибудь мероприятия:
<pre>
- type: entity
  parent: ClothingHeadsetAlt
  id: ClothingHeadsetCentComCCAlt
  suffix: CentCom
  name: Гарнитура офицера ЦК
  description: Стандартная гарнитура ЦК.
  components:
  - type: Headset
    channels:
    - CentCom
  - type: Sprite
    sprite: Clothing/Ears/Headsets/centcom.rsi
  - type: Clothing
    sprite: Clothing/Ears/Headsets/centcom.rsi
</pre>
В админ-панели (по клавише F7) во вкладке "Админ-абуз" есть кнопка "Загрузить прототип", кликнув на неё выберите файл прототипа, который нужно загрузить.
Загруженные прототипы будут доступен до перезапуска сервера.
=== Загрузка RSI ===
[https://docs.spacestation14.io/en/engine/rsi RSI] - формат группы изображений, изобретённый создателями SS14. Используется для спрайтов. У администраторов существует возможность загрузить свои RSI для использования их в прототипах без необходимости перезапуска сервера или перекомпиляции сборки.
Например, нужно загрузить следующий RSI:
<pre>
delorian.rsi/
├── auto.png
└── meta.json
</pre>
Для этого нужно использовать команду <code>uploadfile</code> с прописанной директорией:
<pre>
> uploadfile delorian.rsi/auto.png
> uploadfile delorian.rsi/meta.json
</pre>
Для использования загруженных спрайтов в прототипах нужно прописывать такой путь:
<pre>
    - type: Sprite
      sprite: /Uploaded/delorian.rsi # <------
      layers:
        - state: auto
          map: ["enum.VehicleVisualLayers.AutoAnimate"]
</pre>
Загруженные файлы удаляются при перезапуске сервера.
В недавнем обновлении появился более лёгкий способ загрузки папок - команда <code>uploadfolder</code>.


== BQL ==
== BQL ==
Вернуться на страницу «Поваренная книга админа».