Перейти к содержанию
Авторизация  
Admin

Примеры использования команды tellraw

Рекомендуемые сообщения

Продолжаем обсуждение.

предыдущая тема

 

Примеры использования | Цвета и текстовые эффекты | Редактор

 


 

Некоторое время назад у нас возникла проблема: я решил замутить эдакий "onboard" для новичков в стиле текстового квеста, но на тот момент мы столкнулись с проблемой, что игроки не могут взаимодействовать с сервером из-за ограничения прав (они не могли выполнять команды для изменения значения переменных).

В итоге я замутил простейшую систему ознакомления в виде просто информации с паузами и ссылками...

 

Однако, с версии 1.8 у нас появится возможность возрадить эту тему с помощью команды /execute (тык), которая выполняет, я надеюсь, любые команды от имени любого игрока :)

 

Кроме того, появился новый тип переменной "trigger" (тык), который на англ. вики упоминается как раз в контексте использования команды /tellraw обычными игроками:

Note that the /trigger command can be used by ordinary players even if Cheats are off and they are not an Operator. This is useful for player input via /tellraw interfaces.

P.S.: технически команда /execute может быть выполнена даже от имени любой сущности (нафига это надо я пока не знаю)...

 

 

tellraw @p[m=0] {"text":"","extra":[{"text":"Любой каприз за ваши бонусы: ","color":"green","hoverEvent":{"action":"show_text","value":"можем обсудить создание предметов, услуг и эффектов с любыми характеристиками"}},{"text":"в волшебной лавке бонусных баллов","color":"gold","clickEvent":{"action":"open_url","value":"http://forum.bbyaworld.com/viewtopic.php?id=461"}}]}
  • Плюс 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С верси 1.8 (14w07a) с помощью команды /tellraw можно будет выводить значения переменных конкретному игроку.

Таким образом, нам предстоит много работы по переоформлению систем информирования игроков...

Команда /tellraw теперь может вывести значения из ССИС в сообщении.
Пример: /tellraw @p {text:"Have ",extra:[{score:{name:"Searge",objective:"reward"}},{text:" diamonds"}]}.

Напоминайте мне пожалуйста после перехода о тех системах, которые будут выводить инфу не в чат - отдельно каждому игроку, а в список игроков, как сейчас :)

 

P.S.: Норц, к сожалению, тебе тоже придётся вкуривать все эти нюансы и кодить, кодить, кодить кучу командных блоков...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Некоторое время назад у нас возникла проблема: я решил замутить эдакий "onboard" для новичков в стиле текстового квеста, но на тот момент мы столкнулись с проблемой, что игроки не могут взаимодействовать с сервером из-за ограничения прав (они не могли выполнять команды для изменения значения переменных).

В итоге я замутил простейшую систему ознакомления в виде просто информации с паузами и ссылками...

 

Однако, с версии 1.8 у нас появится возможность возрадить эту тему с помощью команды /execute (тык), которая выполняет, я надеюсь, любые команды от имени любого игрока :)

 

Кроме того, появился новый тип переменной "trigger" (тык), который на англ. вики упоминается как раз в контексте использования команды /tellraw обычными игроками:

Note that the /trigger command can be used by ordinary players even if Cheats are off and they are not an Operator. This is useful for player input via /tellraw interfaces.

P.S.: технически команда /execute может быть выполнена даже от имени любой сущности (нафига это надо я пока не знаю)...

 

Вот, что за бред на нашем сервере творится?

Почему во всех примерах в инете у всех всегда работает параметр "action:run_command" в команде /tellraw, а на нашем сервере, что ни делай, как не изгаляйся со всякими /execute и /trigger, всё равно обычным игрокам не даёт выполнить команду...

Основная команда /tellraw выполняется, а обработка клика не срабатывает...

 

Например, такую команду (команда рабочая - опом она выполняется полностью):

/tellraw @p {"text":"Who are you?","extra":[{"text":"[Your Friend]","color":"green","clickEvent":{"action":"run_command","value":"/tp @p ~ ~2 ~"}}]}

 

 Может, это из-за какой-нибудь отстойной версии Спигота??

 

 

K6fFFqa.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если на скрине действие кнопки без "админки", то оно так и должно быть, команда в run_command выполняется от имени игрока, а он таких прав не имеет. Для подобного и была сделана "/trigger"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

Если на скрине действие кнопки без "админки", то оно так и должно быть, команда в run_command выполняется от имени игрока, а он таких прав не имеет. Для подобного и была сделана "/trigger"

да, я написал, что пробовал в том числе и команду /trigger - возможно, пока как-то неправильно пробовал...

кроме того, мне не понятно, почему команда /execute не позволяет выполнять от имени указанного игрока выполнять любую команду?

ведь, она для этого и создана, разве нет?

команда /execute может даже выполнять всевозможные команды от имени моба! Но почему-то не от имени игрока...

+ всё это очень странно, т.к. любую команду может выполнить любой игрок при взаимодействии с командным блоком... Было бы здорово, чтобы такая возможность распространялась и на команду /tellraw... Но это мы уже обсуждали с тобой много месяцев назад...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не очень разбирался, но кажется, что нужный триггер для нужного игрока ещё включить нужно. Вроде был это один из субаргументов в /scoreboard.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

  1. Ввод /trigger запрещает как раз Spigot. Пока Spigot не будет правильно настроен (если это возможно) или убран ничего не выйдет.

  2. С помощью /execute можно выполнить команды от имени игрока только разрешенные для ввода в чат (например: /say).

В клик ивент tellraw можно вставлять только /trigger, /tell, /me, /say, с другими командами обычный игрок взаимодействовать не может.

С другими командами обычный игрок может взаимодействовать нажимая на текст в книжке и на табличку, содержащие клик ивенты.

Перед каждым одноразовым использованием /trigger необходимо его "перезаряжать: /scoreboard players enable ...

/trigger полностью повторяет команду /scoreboard players set/add [ник того кто ввел или относительно кого выполняется]

/trigger может изменять только переменные с типом trigger

Используя /trigger через tellraw можно переходить к другим командам. Например: Игрок нажимая в чате на надпись, сам того не замечая вводит в чат команду /trigger TriggerNumberOne set 1. После чего специальный командный блок сначало "перезаряжает" триггер /scoreboard players enable @p TriggerNumberOne , затем пробует /tp @a[score_TriggerNumberOne=1,score_TriggerNumberOne_min=1] ~ ~3 ~.

Изменено пользователем Nyuhnyash

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот это я понимаю развёрнутый ответ!

Спасибо - будем работать ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×