Вопрос MyCommand – пример для личных сообщений

quillin

Пользователь
Сообщения
2
Плагин
MyCommand
Ядро сервера
  1. Paper
Версия сервера
  1. 1.16+
Ищу примеры или способы создать простейшую команду для личных сообщений через MyCommand. Принцип таков, что при использовании "/pm Player1 Привет" игрок с ником "Player1" получал бы сообщение "Привет".

Всё, на что хватило прямоты рук, здесь:

YAML:
private-message:
  command: /pm
  type: RUN_COMMAND
  runcmd:
  - '$text_to_specific_player%$arg1% $multiargs'
  register: true

Это работает, но совсем не правильно. Ник получателя берется из первого аргумента к команде, но при этом он дублируется в сообщение получателя. То есть при использовании /pm quillin1 Привет!, игрок с ником quillin1 получит следующее сообщение:
You must be registered for see images

Хотя там должно быть просто "привет".

Если кто-то может подсказать, что лучше использовать вместо $arg1 или привести полный пример команды, буду благодарен! ?
 
Хм, в Essentials встроены личные сообщения, я не шарю в MyCommands но может там попробовать вставить%player%?
Авто объединение сообщений:

Посмотрел плэйсхолдеры для MyCommands, попробуй перед сообщением вставить %player, тоесть после аргумента, по идеи будет показывать ник отправителя.
Авто объединение сообщений:

Второй вариант, убери arg, оставь только multiarg
 
Хм, в Essentials встроены личные сообщения, я не шарю в MyCommands но может там попробовать вставить%player%?
Авто объединение сообщений:

Посмотрел плэйсхолдеры для MyCommands, попробуй перед сообщением вставить %player, тоесть после аргумента, по идеи будет показывать ник отправителя.
Авто объединение сообщений:

Второй вариант, убери arg, оставь только multiarg


Спасибо за ответ! Про Essentials знаю, но у меня не совсем цель в PM, просто так проще найти ответ, чем описывать всю идею целиком. Про плейсхолдеры тоже в курсе, важно сделать отправку сообщения игроку без дополнительной информации.

Попробовал всевозможные варианты, но к сожалению плагин рассчитывает первый аргумент, как ИМЯ получателя и как текст сообщения одновременно, хотя он сам должен исключать его из сообщения. Единственный рабочий способ, которым получилось найти, это просто прописать аргументы начиная от 2 до 100. Такой принцип в плагин явно не закладывался, но лучше что-то, чем ничего.

Код:
$text_to_specific_player%$arg1% $arg2 $arg3 $arg4 $arg5 ... $arg100

В любом случае спасибо за подсказки!

UPD: С $arg10 он начинает воспринимать его, как $arg1 и вставляет туда не текст сообщения, а НИК игрока. То есть воспользовавшись командой /pm Player1 1 2 3 4 5 6 7 8 9 10, он получит сообщение "1 2 3 4 5 6 7 8 9 Player10". То есть он не возьмет аргумент 10 целиком, а только единицу, а 0 посчитает дополнительным текстом.

В общем устал я. Пойду вертушку автору крутану, если найду баг-трекер.
 
Последнее редактирование:
Назад
Сверху Снизу