1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Кликабельный текст в чате с действием от консоли

Тема в разделе "Помощь", создана пользователем Sa MrFIx, 9 авг 2021.

  1. Автор темы
    Sa MrFIx

    Sa MrFIx Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    kjhuui
    Мне нужно чтобы игроку вывелся кликабельный текст и если игрок на него нажмет, игрока должно телепортировать на другие координаты, то есть: Нажми сюда чтобы получить больше информации - при нажатии на "Нажми сюда" его тепает
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Команда из чата может выполняться только от имени игрока. Таким образом, тебе нужна команда, которая может безболезненно выполняться обычными игроками. Так что нельзя использовать обычное /tp, придётся делать собственную. Возможно, сделать подобное можно при помощи плагина MyCommand. Если нет - тогда ReActions или Skript
     
  3. Автор темы
    Sa MrFIx

    Sa MrFIx Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    kjhuui
    я сделаю скрытую команду которая будет выполнять необходимое мне действие, команду узнают, ладно. могут ли как-то игроки отследить какие аргументы они пишут в команду(например при клике на надпись будет выполнятся команда /teleport secretcommand 12 10 5), могут ли они узнать аргументы secretcommand 12 10 5? знаю, отошел от темы, но не создавать же новую)
     
  4. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Все аргументы будут "видны" клиенту. Если нужна секретность - плагин должен генерировать какие-то уникальные одноразовые ключи каждый раз, когда выводится кликабельный текст. Очевидно, здесь поможет лишь какой-то самопис.jar. Через упомянутые скриптовые плагины тоже можно реализовать, но только прибавит боли в разработке.
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Еще нужно учитывать, что это нажми сюда могут проигнорить, а потом выполнить спустя время когда не надо) Например для выхода из пвп.
     
  6. Bomb

    Bomb Активный участник Пользователь

    Баллы:
    76
    Понравилась идея с уникальными одноразовыми ключами, попробую сделать.
    Под какую версию нужен плагин?
    Плагин будет слушать пакет сообщения от сервера.
    Действия дальше происходят только если в начале команды присутствует спец символ '§' (который будет указывать на то что команда запускается от имени консоли)(символ '§' выбран потому что он не может быть введён игроком).
    Плагин генерирует токен (одноразовый ключ).
    Заменяет команду в сообщении на токен.
    Команда записывается в HashMap с ключом из токена+uuid игрока.
    Игрок вместо команды в кликабельном сообщении получит токен.
    При клике на сообщение плагин прочитает пакет чата и получит токен.
    После получит команду из HashMap добавив к токену uuid игрока.
    А далее исполнение команды от имени консоли.

    *Команда будет удалятся из HashMap при выходе игрока
    *Также довольно легко можно сделать тайм аут после которого команда будет не действительной.

    Плюсы:
    Клиент не сможет узнать команду.
    Клиент не сможет исполнить команду второй раз или когда-нибудь позже.
    Другим плагинам не нужно будет специально добавлять поддержку этого плагина (достаточно будет добавить '§' в начале команды).
     
  7. YourAlt

    YourAlt Активный участник Пользователь

    Баллы:
    66
    Это как раз всё по теме. Да, всё дело в том что игроки с модами или отредактированными клиентами [читами так или иначе] могут увидеть какая команда будет выполняться при нажатие на кликабельную кнопку в чате
     
  8. Bomb

    Bomb Активный участник Пользователь

    Баллы:
    76
    Готово, пока что только для версии 1.12+2 - TokenCommands
     
    Последнее редактирование: 11 авг 2021

Поделиться этой страницей