Перейти к содержимому

NPC-торговец

clickNPC от Citizens - популярный активатор на RPG-серверах. Игрок подходит к NPC-торговцу, кликает правой - открывается меню магазина. Меню может читать контекст NPC через плейсхолдеры %activator_npc_*% - в этом примере имя NPC подставляется в заголовок, чтобы торговец казался “своим”.

  • Активатор clickNPC с ID NPC из Citizens
  • Плейсхолдер %activator_npc_name% для персонализированных заголовков
  • Как плейсхолдеры из контекста активатора пробрасываются в предметы меню

Этот активатор работает только если установлен Citizens и существует хотя бы один NPC с указанным ID. Чтобы узнать ID NPC:

  1. Посмотрите на NPC.
  2. Выполните /npc sel.
  3. Выполните /npc, чтобы увидеть инфу по выбранному NPC, включая ID.

Замените clickNPC: [1] на реальный ID вашего NPC. Если несколько NPC должны открывать один и тот же магазин:

clickNPC: [1, 5, 12]

Внутри меню %activator_npc_*% отдают данные кликнутого NPC:

ПлейсхолдерВозвращает
%activator_npc_id%Числовой ID NPC
%activator_npc_name%Отображаемое имя NPC
%activator_npc_world%Мир, в котором находится NPC

В примере %activator_npc_name% используется в заголовке, поэтому заголовок меню превращается в “Торговец BlacksmithBob” или какое там у NPC имя.

Команда /shop - универсальная: все используют один синтаксис, чтобы открыть одно и то же меню. Правый клик по NPC привязывает магазин к конкретной точке в мире и даёт торговцу визуальную личность. Игроки также не могут случайно открыть магазин из любой точки - они физически идут к NPC. Лучше для отыгрыша, меньше спама командами.

Чтобы был гибрид (открытие по клику на NPC ИЛИ командой) - в блок activators кладите оба:

activators {
command: "ame_vendor"
clickNPC: [1]
}
  1. Установите Citizens.
  2. Заспавните NPC: /npc create Bob, потом посмотрите на него, /npc sel, /npc чтобы подтвердить ID.
  3. Закиньте бандл в plugins/AbstractMenus/menus/example/. Поправьте clickNPC: [1] на ID вашего NPC.
  4. /am reload.
  5. Кликните правой по NPC.