<aside> 💡 TLDR: Если диалог идет от НПЦ, нужно знать номер диалога и поместить лопатой “Сценарист” весь скрипт во свободную вкладку.
Если диалог идет по триггеру, нужно поместить только вызов скрипта из шаблона во вкладку 4 игрока (клик лопатой “Сценарист” по воздуху, выбор Players
)
</aside>
Cодержание
Чтобы настроить триггер, вам нужно знать ID диалога, к которому вы ходите привязать реплику. Смотреть тут
<aside>
⛔ Токен @p
заменяется только один раз, что не очень удобно. Когда-то я это исправлю. Или это можете сделать вы!
</aside>
function dialog(e) {
sayOnDialog(143,
"&a" + "@p" + "&r", //от чьего имени пишется реплика
//реплика
"*@p говорит «Нет» — и в тот же момент, молот Судьи падает на череп.*",
20, //радиус слышимости
e);
}
function sayOnDialog(id, actorName, message, radius, event) {
var PLAYER = event.player;
var MESSAGE = message;
var TRIGGER_ID = id;
var DIALOG = event.dialog;
var RADIUS = radius;
var ACTOR = actorName;
if (DIALOG.getId() == TRIGGER_ID) {
//todo Replace @p while string has this token
ACTOR = ACTOR.replace(/@p/gi, PLAYER.getDisplayName());
MESSAGE = MESSAGE.replace(/@p/gi, PLAYER.getDisplayName());
var players = PLAYER.world.getNearbyEntities(PLAYER.getPos(), RADIUS, 1);
for (var i = 0; i < players.length; i++) {
players[i].message(ACTOR + ": " + MESSAGE);
}
}
}
sayOnDialog(143,
"&a" + "@p" + "&r", //от чьего имени пишется реплика
//реплика
"*@p говорит «Нет» — и в тот же момент, молот Судьи падает на череп.*",
20, //радиус слышимости
e);
Ломка Инфопризмы (вся ветка проверки телосложения).
Выбор “Нет” диалоге Судьи в мире Локуса.
Тысячи их.
Лопатой нужно кликать по воздуху и поместить во вкладку 4 игрока. Кликните лопатой “Сценарист” по воздуху, выберите Players
)
После чего, добавьте шаблон вызова. Весь скрипт копировать не надо!