BQL: различия между версиями
Kevicky9 (обсуждение | вклад) черновик перевода |
Kevicky9 (обсуждение | вклад) →Примеры: добавлена минута молчания |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 7: | Строка 7: | ||
<code>forall QUERY do COMMAND</code> | <code>forall QUERY do COMMAND</code> | ||
''Не совсем, что означает "B" в BQL. Кто-то предлагал расшифровывать первую букву как "bad', "badmin" или "better"'' | ''Не совсем ясно, что означает "B" в BQL. Кто-то предлагал расшифровывать первую букву как "bad', "badmin" или "better"'' | ||
== Запросы == | == Запросы == | ||
| Строка 24: | Строка 24: | ||
* Не все запросы выполняются одинаково быстро. Лучше всего начинать перечисление условий выборки с фильтра <code>with <comp</code> или любого другого фильтра, который наиболее точно находит искомое (наподобие <code>tagged</code>, <code>mindful</code> или <code>alive</code>), так как этим фильтрам не нужно проверять каждую сущность в игре на соответствие условиям. Будьте точны: используйте фильтры так, чтобы они выбирали как можно меньшее количество сущностей. ''Вы же не хотите, чтобы из-за вашей попытки сделать из каждого мыла разумное существо, сервер тормознулся на несколько секунд?'' | * Не все запросы выполняются одинаково быстро. Лучше всего начинать перечисление условий выборки с фильтра <code>with <comp</code> или любого другого фильтра, который наиболее точно находит искомое (наподобие <code>tagged</code>, <code>mindful</code> или <code>alive</code>), так как этим фильтрам не нужно проверять каждую сущность в игре на соответствие условиям. Будьте точны: используйте фильтры так, чтобы они выбирали как можно меньшее количество сущностей. ''Вы же не хотите, чтобы из-за вашей попытки сделать из каждого мыла разумное существо, сервер тормознулся на несколько секунд?'' | ||
== Запросы движка == | === Запросы движка === | ||
Данные фильтры предоставляются RobustToolbox'ом (движок, на котором сделана ss14) и доступны во всех играх, которые сделаны на нём: | Данные фильтры предоставляются RobustToolbox'ом (движок, на котором сделана ss14) и доступны во всех играх, которые сделаны на нём: | ||
| Строка 45: | Строка 45: | ||
* <code>above</code> выбирает все сущности над данном типом тайла. | * <code>above</code> выбирает все сущности над данном типом тайла. | ||
== Запросы SS14 == | === Запросы SS14 === | ||
Это дополнительные фильтры, доступные в Space Station 14: | Это дополнительные фильтры, доступные в Space Station 14: | ||
| Строка 65: | Строка 65: | ||
* ... | * ... | ||
== Примеры == | |||
* Зарядить все батареи:<br><code>forall with Battery do setbatterypercent $ID 100</code> | * Зарядить все батареи:<br><code>forall with Battery do setbatterypercent $ID 100</code> | ||
| Строка 71: | Строка 71: | ||
* Выдать всему, кто зовётся "Walter White" lung cancer:<br><code>forall named "Walter White" do invokeverb self "Lung Cancer"</code> | * Выдать всему, кто зовётся "Walter White" lung cancer:<br><code>forall named "Walter White" do invokeverb self "Lung Cancer"</code> | ||
* Взорвать всех и каждого (не надо это делать):<br><code>forall with Body do invokeverb $ID "Explode"</code> | * Взорвать всех и каждого (не надо это делать):<br><code>forall with Body do invokeverb $ID "Explode"</code> | ||
* Удалить все ghost-роли:<br><code>forall with GhostTakeoverAvailable do rmcomp $ID GhostTakeoverAvailable; rmcomp $ID Mind</code> | |||
* День полного доступа:<br><code>forall with AccessReader do rmcomp $ID AccessReader</code> | |||
* Выставить всем игрокам форму мима:<br><code>forall with Mind prototyped MobHuman do setoutfit $ID MimeGear; rmcomp $ID Speech</code> | |||
* Объявить минуту молчания:<br><code>forall with Humanoid do addreagent $ID chemicals MuteToxin 30</code> | |||