Поваренная книга админа: различия между версиями
AsnDen (обсуждение | вклад) м убрал шаблон |
Kevicky9 (обсуждение | вклад) обновление из обсуждения |
||
| Строка 1: | Строка 1: | ||
{{infobox|indev|sign=[[Участник:Trinnq|Trinnq]] ([[Обсуждение участника:Trinnq|обсуждение]]), [[Участник:Kevicky9|Kevicky9]] ([[Обсуждение участника:Kevicky9|обсуждение]])}} | |||
Данная статья посвящена всяким полезностям для админов. | Данная статья посвящена всяким полезностям для админов. | ||
| Строка 18: | Строка 19: | ||
ID кодов: | ID кодов: | ||
* <code>green</code> - <span style="color: | * <code>green</code> - <span style="color:green">зелёный</span>; | ||
* <code>blue</code> - <span style="color: | * <code>blue</code> - <span style="color:blue">синий</span>; | ||
* <code>yellow</code> - <span style="color: | * <code>yellow</code> - <span style="color:yellow">жёлтый</span>; | ||
* <code>violet</code> - <span style="color: | * <code>violet</code> - <span style="color:violet">фиолетовый</span>; | ||
* <code>red</code> - <span style="color: | * <code>red</code> - <span style="color:red">красный</span>; | ||
* <code>gamma</code> - <span style="color: | * <code>gamma</code> - <span style="color:darkmagenta">гамма</span>; | ||
* <code>delta</code> - <span style="color: | * <code>delta</code> - <span style="color:darkred">дельта</span>; | ||
* <code>epsilon</code> - эпсилон | * <code>epsilon</code> - <span style="color:black">эпсилон</span> | ||
Значения кодов см. [[Стандартные_Рабочие_Процедуры#Уровни_угрозы]]. | Значения кодов см. [[Стандартные_Рабочие_Процедуры#Уровни_угрозы]]. | ||
=== Цели станции по факсу === | |||
* <code>sendstationgoal</code> - позволяет по факсу отправить цель на выбор. Примеры: | |||
* <code>StationGoalContaintment</code> | |||
* <code>StationGoalShuttle</code> | |||
* <code>StationGoalSingularity</code> | |||
* <code>StationGoalSolarPanels</code> | |||
* <code>StationGoalBank</code> | |||
* <code>StationGoalZoo</code> | |||
* <code>StationGoalArtifacts</code> | |||
* <code>StationGoalMiningOutpost</code> | |||
Значение целей см. [[Задачи_станции]]. | |||
=== Счёт карго === | |||
* <code> > station:list</code> => появляется список станций, ищете свою => пишете <code>vv <uid</code>, он показывается сбоку от названия>. | |||
Далее заходим в компоненты сервера и находим <code>StationBank</code> и нажимаем на него, там есть и текущий счёт карго и количество пассивного дохода. | |||
=== Эвакуационный шаттл === | === Эвакуационный шаттл === | ||
| Строка 36: | Строка 55: | ||
== Раунд == | == Раунд == | ||
<code>customvote <вопрос> <ответ1> <ответ2> ... <ответN></code> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби. | <code>customvote <вопрос> <ответ1> <ответ2> ... <ответN></code> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби. | ||
Например: | |||
<code> | * <code>customvote "Какой режим хотите выбрать?" Выживание Трейторы Секрет ...</code> | ||
<code> | <code>delaystart [seconds]</code> - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд. | ||
<code> | <code>forcemap</code> - позволяет поменять карту до начала раунда. | ||
=== Режимы игры === | === Режимы игры === | ||
| Строка 55: | Строка 74: | ||
* Pirates | * Pirates | ||
* Deathmatch | * Deathmatch | ||
* Revolutionary | |||
* AllAtOnce | |||
* Survival | * Survival | ||
| Строка 100: | Строка 121: | ||
* <code>BluespaceLockerLink</code> - блюспейс-шкаф. | * <code>BluespaceLockerLink</code> - блюспейс-шкаф. | ||
* <code>SpiderSpawn</code> спавнит в рандомных местах Тарантулов. | * <code>SpiderSpawn</code> спавнит в рандомных местах Тарантулов. | ||
* <code>ClosedSkeleton</code> скелет в шкафу. | |||
* <code>GiftsMedical</code> отправляет на трейд-пост набор медицины. | |||
* <code>GiftsSecurityGuns</code> отправляет на трейд-пост ящик снаряжения. | |||
* <code>GiftsEngineering</code> отправляет на трейд-пост инженерный набор. | |||
* <code>GiftsSecurityRiot</code> отправляет на трейд-пост ящик против бунта. | |||
* <code>GiftsSpacingSupplies</code> отправляет на трейд-пост защиту от космоса. | |||
* <code>GiftsFireProtection</code> отправляет на трейд-пост защиту от огня. | |||
* <code>GiftsJanitor</code> отправляет на трейд-пост наборы для сервиса. | |||
* <code>GiftsVendingRestock</code> отправляет на трейд-пост наборы пополнения. | |||
* <code>GiftsPizzaPartySmall</code> отправляет на трейд-пост малый набор пицц. | |||
* <code>GiftsPizzaPartyLarge</code> отправляет на трейд-пост большой набор пицц. | |||
* <code>IonStorm</code> меняет законы всем киборгам на станции. | |||
* <code>CockroachMigration</code> спавн ивент с рандомными мобами из вентиляций. | |||
* <code>ClericalError</code> ивент, рандомно удаляющий человека из манифеста. | |||
* <code>Revolutionary</code> режим революционеров. | |||
* <code>EvilTwin</code> спавнит злого двойника. | |||
* <code>Exterminator</code> спавнит терминатора. | |||
* <code>NinjaSpawn</code> спавнит ниндзю. | |||
* <code>Thief</code> выдаёт роль вора. | |||
* <code>LoneOpsSpawn</code> спавнит одинокого Ядерного Оперативника. | |||
| Строка 106: | Строка 147: | ||
<!-- TODO: переписать и объединить данный раздел с разделом про режимы игры, так как они неразрывно связаны! --> | <!-- TODO: переписать и объединить данный раздел с разделом про режимы игры, так как они неразрывно связаны! --> | ||
Nukeops и | Nukeops, Pirates и Revolutionary надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби. | ||
==== Починка | ==== Починка пацифизма дионы ==== | ||
Чтобы убрать пацифизм у дионы | Чтобы убрать пацифизм у дионы, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных (<code>vv <EntityUID></code>) во вкладке "Компоненты сервера". Если добавить CombatModeComponent, пока у моба стоит PacifedComponent, то ничего не сработает. | ||
''Если вы меняете расу ядерного оперативника или респауните его, то вы во первых лишаете его тега синдиката, а во вторых ломаете систему режима из-за чего раунд может | ''Если вы меняете расу ядерного оперативника или респауните его, то вы во-первых лишаете его тега синдиката, а во-вторых ломаете систему режима, из-за чего раунд может закончиться, даже если этот опер жив.'' | ||
==== Цели антагониста ==== | ==== Цели антагониста ==== | ||
С помощью команды <code>lsobjectives <ник игрока></code> можно просмотреть цели антагониста. | С помощью команды <code>lsobjectives <ник игрока></code> можно просмотреть цели антагониста. | ||
С помощью команды <code>rmobjective <ник игрока> <номер цели></code> можно удалить цель у человека на выбор. Пример: | |||
* <code>rmobjective trinnq 0</code> | |||
Команда <code>adduplink <ник игрока></code> позволяет добавить аплинк указанному игроку. | |||
Команда <code>addobjective <nickname> <objective ID></code> добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл [https://github.com/space-syndicate/space-station-14/blob/master/Resources/Prototypes/Objectives/traitorObjectives.yml traitorObjectives.yml]): | Команда <code>addobjective <nickname> <objective ID></code> добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл [https://github.com/space-syndicate/space-station-14/blob/master/Resources/Prototypes/Objectives/traitorObjectives.yml traitorObjectives.yml]): | ||
* <code>CaptainIDStealObjective</code> | * <code>CaptainIDStealObjective</code> | ||
* <code>KillRandomObjective</code> | * <code>KillRandomObjective</code> | ||
* <code>KillRandomHeadObjective</code> | |||
* <code>RandomTraitorAliveObjective</code> | * <code>RandomTraitorAliveObjective</code> | ||
* <code>DieObjective</code> | * <code>DieObjective</code> | ||
* <code>CMOHyposprayStealObjective</code> | * <code>CMOHyposprayStealObjective</code> | ||
* <code>CMOCrewMonitorStealObjective</code> | |||
* <code>RDHardsuitStealObjective</code> | * <code>RDHardsuitStealObjective</code> | ||
* <code>HandTeleporterStealObjective</code> | |||
* <code>NukeDiskStealObjective</code> | * <code>NukeDiskStealObjective</code> | ||
* <code> | * <code>ClipboardStealObjective</code> | ||
* <code>MagbootsStealObjective</code> | * <code>MagbootsStealObjective</code> | ||
* <code> | * <code>SecretDocumentsStealObjective</code> | ||
* <code>CorgiMeatStealObjective</code> | * <code>CorgiMeatStealObjective</code> | ||
* <code>CaptainGunStealObjective</code> | * <code>CaptainGunStealObjective</code> | ||
| Строка 181: | Строка 230: | ||
Просмотр логов доступен по команде <code>adminlogs</code> в консоли. | Просмотр логов доступен по команде <code>adminlogs</code> в консоли. | ||
== Заметки == | |||
Просмотр заметок доступен по команде <code>adminnotes</code> в консоли. | |||
== Сетки и карты == | == Сетки и карты == | ||
| Строка 314: | Строка 367: | ||
BQL - язык запросов движка SS14, который позволяет проводить массовые манипуляции с игровыми сущностями. Примеры: | BQL - язык запросов движка SS14, который позволяет проводить массовые манипуляции с игровыми сущностями. Примеры: | ||
* <code>forall with FaxMachine do echo $ID</code> найдёт абсолютно все факсы и выведет их UID. | * <code>forall with FaxMachine do echo $ID</code> найдёт абсолютно все факсы и выведет их UID. | ||
* ... | |||
Toolshed - разработана как замена старым BQL командам, но не сильно от них отличается. (см. файл [https://docs.spacestation14.com/en/robust-toolbox/toolshed.html]) | |||
Например: | |||
* <code> adjstationjob => stations:get jobs:job AtmosphericTechnician jobs:adjust 1</code> позволяет добавить свободную роль на станцию. (см. файл [https://github.com/space-syndicate/space-station-14/tree/master/Resources/Prototypes/Roles/Jobs]) | |||
* <code> > entities with PointLight do "addcomp $ID RgbLightController"</code> позволяет добавить всем лампам компонент RGB. | |||
Версия от 21:09, 14 мая 2024
- Редакторы вики уже ведут работу над данной статьёй.
- Вся информация в данной статье не входит в канон и может быть полностью проигнорирована.
- При желании, вы можете подать заявку на редактора в нашем Discord и тоже принять участие в улучшении статьи.
- Статью ведёт: Trinnq (обсуждение), Kevicky9 (обсуждение)
Данная статья посвящена всяким полезностям для админов.
Консоль открывается по клавише ` (ё).
Переход между состояниями админа и простого игрока с помощью команд:
deadminубирает с вас права и делает обычным игроком;readminвозвращает вам права администратора.
setadminooc #FFFFFF устанавливает цвет вашему нику, который будет виден в чате OOC.
Отыгрыш ЦК
Установка кодов угроз
Позволяет менять код на станции и блокировать его смену персоналом с консоли связи:
setalertlevel <ID кода> [заблокирована ли возможность сменить ("true" или "false")]
ID кодов:
green- зелёный;blue- синий;yellow- жёлтый;violet- фиолетовый;red- красный;gamma- гамма;delta- дельта;epsilon- эпсилон
Значения кодов см. Стандартные_Рабочие_Процедуры#Уровни_угрозы.
Цели станции по факсу
sendstationgoal- позволяет по факсу отправить цель на выбор. Примеры:StationGoalContaintmentStationGoalShuttleStationGoalSingularityStationGoalSolarPanelsStationGoalBankStationGoalZooStationGoalArtifactsStationGoalMiningOutpost
Значение целей см. Задачи_станции.
Счёт карго
> station:list=> появляется список станций, ищете свою => пишетеvv <uid, он показывается сбоку от названия>.
Далее заходим в компоненты сервера и находим StationBank и нажимаем на него, там есть и текущий счёт карго и количество пассивного дохода.
Эвакуационный шаттл
callshuttle #, где#- кол-во минут до шаттла, вызывает эвакуационный шаттл.dockemergencyshuttleмгновенно стыкует эвакуационный шаттл к станции.
Раунд
customvote <вопрос> <ответ1> <ответ2> ... <ответN> - создаёт голосование с заданными параметрами, которое видно и в раунде, и в лобби.
Например:
customvote "Какой режим хотите выбрать?" Выживание Трейторы Секрет ...
delaystart [seconds] - ставит старт раунда на паузу в лобби. Если указан аргумент, то откладывает старт на указанное количество секунд.
forcemap - позволяет поменять карту до начала раунда.
Режимы игры
Существующие режимы игры:
- Extended
- Secret
- Sandbox
- Traitor
- Nukeops
- Zombie
- Pirates
- Deathmatch
- Revolutionary
- AllAtOnce
- Survival
setgamepreset устанавливает режим следующего раунда.
forcegamepreset устанавливает режим и мгновенно запускает раунд.
Внутриигровые ивенты
Понятия игровых режимов и игровых ивентов тесно связаны (почему-то), поэтому вызывать их можно через команды тоже...
addgamerule <rules> добавляет режим или ивент к следующему или идущему раунду.
endgamerule <rule> останавливает текущий в игре ивент.
Список ID событий:
BasicStationEventScheduler- спавнер редких игровых ивентов. Стоит во всех режимах игры кроме выживания.RampingStationEventScheduler- спавнер частых игровых ивентов для режима выживания.Secret- режим игры "Секрет"DeathMatch- режим игры "Все против всех".NukeOps- режим игры ядерных оперативников - спавнит пять нюкеров и их базу.Pirates- режим игры "Пираты" - создаёт шаттл с пиратами, пиратов по хорошему переспавнить и сделать через Уристов, сломаны.Sandbox- режим игры "Песочница", игроки имеют права спавнить энтити/декали/тайлы.Suspicion- TTT - Все вооружены, среди вооруженных есть предатели, задача не-предателей найти их и убить.TraitorDeathMatch- режим игры, резня агентов.Zombie- режим игры "Зомби".VentClogвыпускает жидкости из скрубберов.PowerGridCheckвыключает свет на неопределённый срок.FalseAlarm- ивент, создающий фальшивые обьявления о игровых ивентах.BluespaceArtifactсоздаёт рядом со станции/На ней артефакт.BreakerFlipотключает в некоторых местах ЛКП.DiseaseOutbreakвыпускает рандомную болезнь рядом с игроком.AnomalySpawnсоздаёт аномалию.BureaucraticError- бюрократическая ошибка.GasLeakсоздаёт в рандомном месте рандомный газ.KudzuGrowth- кудзу.MeteorSwarm- метеоритный рой.RandomSentienceдаёт некоторым объектам роль призрака.Dragon- дракон, не работает, админу нужно спавнить вручную.RevenantSpawnспавнит Ревенанта.Traitor- игра выдаёт случайным игрокам предателей.VentCritters- из вентиляции лезут существа, от мышей до тарантулов.ZombieOutbreakоживляет мертвых игроков в виде зомби.MouseMigration- крысиный король с его свитой.BluespaceLockerLink- блюспейс-шкаф.SpiderSpawnспавнит в рандомных местах Тарантулов.ClosedSkeletonскелет в шкафу.GiftsMedicalотправляет на трейд-пост набор медицины.GiftsSecurityGunsотправляет на трейд-пост ящик снаряжения.GiftsEngineeringотправляет на трейд-пост инженерный набор.GiftsSecurityRiotотправляет на трейд-пост ящик против бунта.GiftsSpacingSuppliesотправляет на трейд-пост защиту от космоса.GiftsFireProtectionотправляет на трейд-пост защиту от огня.GiftsJanitorотправляет на трейд-пост наборы для сервиса.GiftsVendingRestockотправляет на трейд-пост наборы пополнения.GiftsPizzaPartySmallотправляет на трейд-пост малый набор пицц.GiftsPizzaPartyLargeотправляет на трейд-пост большой набор пицц.IonStormменяет законы всем киборгам на станции.CockroachMigrationспавн ивент с рандомными мобами из вентиляций.ClericalErrorивент, рандомно удаляющий человека из манифеста.Revolutionaryрежим революционеров.EvilTwinспавнит злого двойника.Exterminatorспавнит терминатора.NinjaSpawnспавнит ниндзю.Thiefвыдаёт роль вора.LoneOpsSpawnспавнит одинокого Ядерного Оперативника.
Nukeops, Pirates и Revolutionary надо добавлять обязательно до начала раунда. Zombie и Traitor можно добавлять во время раунда, но лучше до начала. Остальные, классические ивенты, срабатывают сразу, даже в лобби.
Починка пацифизма дионы
Чтобы убрать пацифизм у дионы, нужно удалить компоненты PacifedComponent и CombatModeComponent, а затем добавить CombatModeComponent снова. Это делается через просмотр переменных (vv <EntityUID>) во вкладке "Компоненты сервера". Если добавить CombatModeComponent, пока у моба стоит PacifedComponent, то ничего не сработает.
Если вы меняете расу ядерного оперативника или респауните его, то вы во-первых лишаете его тега синдиката, а во-вторых ломаете систему режима, из-за чего раунд может закончиться, даже если этот опер жив.
Цели антагониста
С помощью команды lsobjectives <ник игрока> можно просмотреть цели антагониста.
С помощью команды rmobjective <ник игрока> <номер цели> можно удалить цель у человека на выбор. Пример:
rmobjective trinnq 0
Команда adduplink <ник игрока> позволяет добавить аплинк указанному игроку.
Команда addobjective <nickname> <objective ID> добавит выбранному игроку ещё одну цель антагониста. Список ID целей (см. файл traitorObjectives.yml):
CaptainIDStealObjectiveKillRandomObjectiveKillRandomHeadObjectiveRandomTraitorAliveObjectiveDieObjectiveCMOHyposprayStealObjectiveCMOCrewMonitorStealObjectiveRDHardsuitStealObjectiveHandTeleporterStealObjectiveNukeDiskStealObjectiveClipboardStealObjectiveMagbootsStealObjectiveSecretDocumentsStealObjectiveCorgiMeatStealObjectiveCaptainGunStealObjectiveCaptainJetpackStealObjectiveEscapeShuttleObjectiveRandomTraitorProgressObjective
Баны
Баны роли
rolebanlist ... позволяет просмотреть список банов ролей игрока.
roleban <логин> <ID профессии> "<причина>" <время в минутах или 0 для пермы>
банит данную профессию для данного игрока.
Узнать ID работы можно, найдя соответствующий файл этой роли на Github:
# /Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml - type: job id: HeadOfSecurity # <--- интересующий нас ID name: job-name-hos playTimeTracker: JobHeadOfSecurity ...
Пример команды: roleban Morty Assistant "Очень плох" 60
departmentban <nickname> <ID отдела> <причина> <время в минутах или 0 для пермы> банит игроку весь отдел. ID отделов:
- Cargo
- Civilian
- Command
- Engineering
- Medical
- Science
- Security
roleunban <ID бана> отменяет бан роли.
Общие баны
banlist ... позволяет просмотреть список банов игрока.
ban <login> <причина> [время бана в минутах или 0 для перма] просто банит игрока с сервера.
pardon <ID бана> разбанивает простой бан игрока.
Логи
Просмотр логов доступен по команде adminlogs в консоли.
Заметки
Просмотр заметок доступен по команде adminnotes в консоли.
Сетки и карты
Основные понятия:
- Карта (map) - БСС-пространство, содержащее сетки (grids).
- Сетка (grid) - совокупность соединённых тайлов и игровых сущностях, находящихся на них. Собственно, станция - большая единая сетка. Например, если отделить от неё кусочек или поставить прутья на космос, то получится новая сетка, отдельная от станции.
Карта (map)
Карта - БСС-пространство и содержащиеся в нём сетки (grids). Имеет два состояния init: True и init: False - пауза и не пауза. С помощью команды lsmap можно вывести список всех существующих в текущий момент карт, их ID и их состояние (пауза или нет). Основные команды:
mapping [MapID] [путь до мира или сетки]создаёт новую карту на свободном ID или с данным ID, который не должен быть занят существующими картами, и телепортирует вас на неё. Если дан путь до мира или сетки, то загружает этот файл в новосозданный мир. По умолчанию карта поставлена на паузы.mapinit <MapID>снимает с паузы или размораживает карту. Не сработает с эвакуационным шаттлом и картой ЦК.addmap <MapID>создаёт размороженный мир с данным ID, к которому телепортироваться нужно вручную.rmmap <MapID>удаляет мир с данным ID. ОЧЕНЬ рекомендуется дюжину раз проверять ID прежде, чем нажимать Enter, иначе ненароком можно удалить мир со станцией вместе с игроками.
Сетка (grid)
Сетка - совокупность соединённых вместе тайлов (пол) и лежащих на них предметов. Например, станция - отдельная сетка, шаттл карго - тоже отдельная сетка.
Спавн сетки:
- Получить ID текущей карты. Для этого используйте команду
loc:
- Определитесь с шаблоном который хотите загрузить на карту.
- Используйте команду
loadgrid <ID карты> <загружаемый шаблон>. По умолчанию объект появится на нулевых координатах (x: 0, y: 0). Вы можете телепортировать себя туда, используя команду:tp <x> <y>. - Если вы хотите переместить его на другие координаты, то см. #Перемещение сеток.
- Profit!
Перемещение сеток:
tpgrid <id сетки> <x> <y>- сама команда для телепорта;lsgridвыдаёт список всех существующих сеток;locдаёт ваши текущие координаты, там же указывается ID сетки на которой вы стоите (GridID).
Сохранение сеток:
Функция позволяет сохранить сетку как файл с картой на сервере и загружать ее в будущих раундах.
❗Не злоупотребляйте этой функцией и сохраняйте только действительно необходимые вам вещи.
- Узнайте ID сетки на которой находится ваш персонаж/призрак с помощью команды
loc. Нужное вами число это GridID. - Далее сама команда для сохранения сетки как карты:
savebp <gridUid> <path>, где<gridId>это ранее полученное число, а<path>- путь, по которому сетка будет сохранена в папке сервера. Достаточно просто указать название файла. Обязательно укажите расширение.ymlдля файла.
Пример:savebp 12 myShuttle.yml. - Profit!
БСС (FTL):
Чтобы сделать сетку доступной для прыжка к ней через БСС, нужно открыть окно просмотра переменных этой сетки. Для этого прописывается vv <gridUID>. Во вкладке "Компоненты сервера" нужно добавить компонент "FTLDestination" через кнопку "Добавить компонент". Готово! Сетка, а вместе с ней и карта, на которой она расположена, доступны для прыжка, например, карго-шаттла.
Опционально можно переименовать сетку опять в просмотре переменных vv - во вкладке "Переменные сервера" в поле Name прописывается новое имя и обязательно нажимается Enter по завершению ввода.
Примечание: чтобы новое БСС-пространство появилось в консолях управления шаттлами, нужно их обновить путём выкручивания и вкручивания обратно гаечным ключом.
Непосредственно маппинг
fixgridatmos мгновенно заполняет все тайлы грида дыхательной смесью.
colornetwork <UID> Pipe <HEX-color> добавляет выбранный цвет на трубу.
- #FF9900 - Сигнальный
- #FF0000FF - Скруббер
- #0000FFFF - Вентиляция
- #17E8E2FF - Воздух
- #D3FC03FF - Вирусология
- #FEF101FF - Жёлтый
- #A505FAFF - Фиолетовый
- #947507FF - Грязный
- #FFD800FF - Автобус
loadmappacts - подгружает некоторые инструменты для более удобного маппинга (ставит в меню действий некоторые тайлы и стены).
dock <ID1> <ID2> стыкует два стыковочных портах с ID1 и с ID2, находящихся на разных сетках. Полезно, когда нужна стыковка на карте, находящейся в паузе.
Прототипы
В панели администратора есть возможность загрузить в игру свой прототип. Например, нужен спавнер случайного гуманоида для проведения какого-нибудь мероприятия:
- 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
В админ-панели (по клавише F7) во вкладке "Админ-абуз" есть кнопка "Загрузить прототип", кликнув на неё выберите файл прототипа, который нужно загрузить.
Загруженные прототипы будут доступен до перезапуска сервера.
Загрузка RSI
RSI - формат группы изображений, изобретённый создателями SS14. Используется для спрайтов. У администраторов существует возможность загрузить свои RSI для использования их в прототипах без необходимости перезапуска сервера или перекомпиляции сборки.
Например, нужно загрузить следующий RSI:
delorian.rsi/ ├── auto.png └── meta.json
Для этого нужно использовать команду uploadfile с прописанной директорией:
> uploadfile delorian.rsi/auto.png > uploadfile delorian.rsi/meta.json
Для использования загруженных спрайтов в прототипах нужно прописывать такой путь:
- type: Sprite
sprite: /Uploaded/delorian.rsi # <------
layers:
- state: auto
map: ["enum.VehicleVisualLayers.AutoAnimate"]
Загруженные файлы удаляются при перезапуске сервера.
В недавнем обновлении появился более лёгкий способ загрузки папок - команда uploadfolder.
BQL
Основная статья: BQL
BQL - язык запросов движка SS14, который позволяет проводить массовые манипуляции с игровыми сущностями. Примеры:
forall with FaxMachine do echo $IDнайдёт абсолютно все факсы и выведет их UID.
Toolshed - разработана как замена старым BQL командам, но не сильно от них отличается. (см. файл [1]) Например:
adjstationjob => stations:get jobs:job AtmosphericTechnician jobs:adjust 1позволяет добавить свободную роль на станцию. (см. файл [2])> entities with PointLight do "addcomp $ID RgbLightController"позволяет добавить всем лампам компонент RGB.
