Admin 455 Жалоба Опубликовано 12 февраля, 2015 Продолжаем обсуждение. предыдущая тема Примеры использования | Цвета и текстовые эффекты | Редактор Некоторое время назад у нас возникла проблема: я решил замутить эдакий "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 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Admin 455 Жалоба Опубликовано 12 февраля, 2015 С верси 1.8 (14w07a) с помощью команды /tellraw можно будет выводить значения переменных конкретному игроку. Таким образом, нам предстоит много работы по переоформлению систем информирования игроков... Команда /tellraw теперь может вывести значения из ССИС в сообщении. Пример: /tellraw @p {text:"Have ",extra:[{score:{name:"Searge",objective:"reward"}},{text:" diamonds"}]}. Напоминайте мне пожалуйста после перехода о тех системах, которые будут выводить инфу не в чат - отдельно каждому игроку, а в список игроков, как сейчас P.S.: Норц, к сожалению, тебе тоже придётся вкуривать все эти нюансы и кодить, кодить, кодить кучу командных блоков... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BByaConrad 11 Жалоба Опубликовано 23 февраля, 2015 Вау! Статья супер, спасибо) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Admin 455 Жалоба Опубликовано 8 мая, 2015 Некоторое время назад у нас возникла проблема: я решил замутить эдакий "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 ~"}}]} Может, это из-за какой-нибудь отстойной версии Спигота?? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OcelotJungle 192 Жалоба Опубликовано 8 мая, 2015 Если на скрине действие кнопки без "админки", то оно так и должно быть, команда в run_command выполняется от имени игрока, а он таких прав не имеет. Для подобного и была сделана "/trigger" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 11 мая, 2015 Если на скрине действие кнопки без "админки", то оно так и должно быть, команда в run_command выполняется от имени игрока, а он таких прав не имеет. Для подобного и была сделана "/trigger" да, я написал, что пробовал в том числе и команду /trigger - возможно, пока как-то неправильно пробовал... кроме того, мне не понятно, почему команда /execute не позволяет выполнять от имени указанного игрока выполнять любую команду? ведь, она для этого и создана, разве нет? команда /execute может даже выполнять всевозможные команды от имени моба! Но почему-то не от имени игрока... + всё это очень странно, т.к. любую команду может выполнить любой игрок при взаимодействии с командным блоком... Было бы здорово, чтобы такая возможность распространялась и на команду /tellraw... Но это мы уже обсуждали с тобой много месяцев назад... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OcelotJungle 192 Жалоба Опубликовано 11 мая, 2015 Не очень разбирался, но кажется, что нужный триггер для нужного игрока ещё включить нужно. Вроде был это один из субаргументов в /scoreboard. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Nyuhnyash 1 Жалоба Опубликовано 23 мая, 2015 (изменено) Ввод /trigger запрещает как раз Spigot. Пока Spigot не будет правильно настроен (если это возможно) или убран ничего не выйдет. С помощью /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 ~. Изменено 23 мая, 2015 пользователем Nyuhnyash Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Admin 455 Жалоба Опубликовано 25 мая, 2015 Вот это я понимаю развёрнутый ответ! Спасибо - будем работать )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты