Перейти к основному содержанию
Команда emplace принимает некоторое перечисление и многократно выполняет блок команд, предоставляя при этом несколько специальных переменных только для чтения, локальных для этого блока. Переменные, которые предоставляются, зависят от типа входа, хотя само значение всегда доступно через переменную $value. В частности, для сущностей определяются локальные переменные, дающие доступ к некоторым свойствам этой сущности, включая:
  • Координаты сущности на карте $wx, $wy
  • Прототип сущности $proto
  • Имя сущности $name
  • Описание сущности $desc
  • Приостановлена ли сущность $paused Аналогично, ICommonSession предоставляет прикреплённую сущность сессии $ent, имя пользователя $name и NetUserId через $userid.
Например, эта простая команда просто вернёт Y-координаты всех сущностей:
entities emplace { var $wy } 
В целом команда emplace полезна, если вы хотите использовать свойства сущностей в качестве аргументов для другой команды Toolshed.

Команда Do

Команда do похожа на команду emplace. Она принимает некоторое перечисление и строку команды, а затем многократно пытается выполнить строку команды (как если бы она была введена в консоль), возможно, после выполнения некоторых замен строк. Команда do существует в основном для обратной совместимости с командами, не являющимися Toolshed, которые не поддерживают переменные Toolshed. Например, на момент написания команда say не является командой Toolshed. Поэтому, если вы хотите, чтобы ваш персонаж произнёс позиции всех мобов, вам нужно использовать команду do:
entities with MobState do "say $WX $WY"
Возможные замены строк отличаются от переменных, доступных в блоке emplace. В частности, текущее значение заменяется на $SELF вместо $value. Для сущности выполняются следующие замены строк:
  • $ID заменяется на текущий EntityUid.
  • $PID заменяется на EntityUid, прикреплённый к выполняющему игроку.
  • $WX, $WY заменяются на координаты сущности на карте.
  • $LX, $LY заменяются на локальные координаты сущности.
Последнее изменение 21 июня 2026 г.