Diemtur Опубликовано 20 марта, 2022 Поделиться Опубликовано 20 марта, 2022 Всем ку, версия майна 1.18.1 (в идеале чтобы работала на сервере) Идея такова: Хочу сделать жителя (без торгов и ИИ) который будет стоять возле корабля и "перевозить" игроков в определённые города за определённую плату. Диалог в чате должен начинаться при левому клику по этому жителю. Варианты кликабельны и выполняют определённые функций. Вот как это должно работать: Команды: Нашёл некоторые команды но не знаю как их расположить и какой режим блоков использовать: /scoreboard objectives add (название) minecraft.custom:minecraft.talked_to_villager - отслеживание клика при взаимодействии с Жителем Но тогда команда будет работать при каждом клике на каждом жителе, что наверное не хорошо. Команды на диалоги нашёл в этом комментарии -> тут Команды чтобы они выполнялась в случае, если у игрока больше или равно определённого количества предметов в инвентаре в этом комментарии -> тут Так же про диалоги есть этот, вроде бы удобный датапак conversation engine , но не знаю как вставить туда команды на тп и забирание предметов. Помогите пожалуйста привести всё это в рабочее состояние. Получилось, скидываю свою карту: https://drive.google.com/file/d/1JyEewetHKoAhNCOt3tL3XcEIiAFsNHrg/view?usp=sharing Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 20 марта, 2022 Поделиться Опубликовано 20 марта, 2022 Делаешь через tellraw и trigger tellraw это сообщения в чате, генераторы в интернете есть trigger это чтобы встроить команду в чат и она работала у игрока без оператора trigger работает со скорбордом Проверяя значение в скорборде можно выполнять команду Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 21 марта, 2022 Автор Поделиться Опубликовано 21 марта, 2022 16 часов назад, Shomen сказал: Делаешь через tellraw и trigger tellraw это сообщения в чате, генераторы в интернете есть trigger это чтобы встроить команду в чат и она работала у игрока без оператора trigger работает со скорбордом Проверяя значение в скорборде можно выполнять команду Можешь тогда объяснить свой гайд в этом комментарии? Правильно ли я делаю. 1. Прописал эти команды:(Прописал просто в чат) /scoreboard objectives add dialogue trigger - Создаю переменную dialogue с типом trigger.A. (КБ - Цикл.Всегда актив.) scoreboard players enable @a dialogue - Даем возможность цели использовать trigger.2. Сгенерировал сообщения с ответами и прописал на первый вариант: (или можно все прописать?)/trigger dialogue set 1Когда вписывал на русском почему то команда выглядела странной, это нормально? или лучше на англ? Получилось так:tellraw @a ["",{"text":"Greetings, Stranger! Where do you want to go?\n\n"},{"text":"[ Geffen - 10 ","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\u25c6 ","color":"green","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"]","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\n[ Payon - 15 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ Izlude - 20 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ "},{"text":"I don't know.","color":"gray"},{"text":" ]"}] - Вставил в КБ эти команды:B.(КБ - Импульс.Нужен сигнал.) execute at @a[scores={dialogue=1}] run tellraw @a ["",{"text":"Greetings, Stranger! Where do you want to go?\n\n"},{"text":"[ Geffen - 10 ","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\u25c6 ","color":"green","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"]","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\n[ Payon - 15 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ Izlude - 20 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ "},{"text":"I don't know.","color":"gray"},{"text":" ]"}]C. (КБ - Цикл.Всегда актив.) execute at @a[scores={dialogue=1}] run scoreboard players set @s dialogue 0 - можешь пояснить что делает эта команда?Как то так: команды в блоках отметил буквами - A B С Мои проблемы/вопросы: 1. Если я сам не пропишу в чат /trigger dialogue set 1 - то диалог не показывается. 2. Если КБ с диалогом в режиме (КБ - Цикл.Всегда актив.) - то диалог спамиться. Поэтому я использую (КБ - Импульс.Нужен сигнал.) на время тестов. 3. Как теперь соединить это с командами:/scoreboard objectives add (название) minecraft.custom:minecraft.talked_to_villager - отслеживание клика при взаимодействии с Жителем, но чтобы по определённому жителю а не по всем сразу. ( Может быть сделать это с отслеживанием по на определённой местности по координатам типа execute as @a[x=-16,y=5,z=-228,dx=1,dy=5,dz=1] ) Команды по определению колл-ва предметов в инвентаре и чтобы их забирали: (но либо они не работают, либо я не правильно их поставил хз)execute as @a store result score @s emerald_count run clear @s minecraft:emerald 0 execute as @a[scores={emerald_count=10..}] run say 10+ изумрудов Есть еще такая команда, но она забирает 10 изумрудов если только у тебя в инвентаре именно 10 изумрудов, а не любое числоexecute as @a if entity @s[nbt={Inventory:[{id:"minecraft:emerald",Count:10b}]}] run clear @p minecraft:emerald 10 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 21 марта, 2022 Поделиться Опубликовано 21 марта, 2022 14 минут назад, Diemtur сказал: 1. Если я сам не пропишу в чат /trigger dialogue set 1 - то диалог не показывается. trigger - дает возможность без прав изменять значение в скорборде, его надо вставить в диалог, относительно значений в этом скорборде выполнять команду 16 минут назад, Diemtur сказал: 2. Если КБ с диалогом в режиме (КБ - Цикл.Всегда актив.) - то диалог спамиться. Поэтому я использую (КБ - Импульс.Нужен сигнал.) на время тестов. проверяй скорборд, который считает разговоры с жителем, если значение больше 1 то выполняешь(высвечивание диалога) команду и обнуляешь скорборд Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 21 марта, 2022 Автор Поделиться Опубликовано 21 марта, 2022 35 минут назад, Shomen сказал: trigger - дает возможность без прав изменять значение в скорборде, его надо вставить в диалог, относительно значений в этом скорборде выполнять команду Я эту команду вставил в генераторе, выделяя каждый вариант. Я имею ввиду, что вот я в начале поставил все 3 КБ с командами A B С (команды подписаны выше) Жму на импульсный блок ( B ) и ничего не происходит пропишу команду /trigger dialogue set 1 в чат и потом жму на импульсный блок ( B ) и выходит диалог. 41 минуту назад, Shomen сказал: проверяй скорборд, который считает разговоры с жителем, если значение больше 1 то выполняешь(высвечивание диалога) команду и обнуляешь скорборд Я не понимаю как сделать так, чтобы разговор с жителем активировал диалог. Мне даже сложно понять предложение которое ты написал) что значит обнулить скорборд? Я создал скорборд с именем shipscoreboard objectives add ship minecraft.custom:minecraft.talked_to_villager потом что? как из этого сделать триггер? Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 21 марта, 2022 Поделиться Опубликовано 21 марта, 2022 47 минут назад, Diemtur сказал: Я эту команду вставил в генераторе, выделяя каждый вариант. Я имею ввиду, что вот я в начале поставил все 3 КБ с командами A B С (команды подписаны выше) Жму на импульсный блок ( B ) и ничего не происходит пропишу команду /trigger dialogue set 1 в чат и потом жму на импульсный блок ( B ) и выходит диалог. 1 час назад, Diemtur сказал: B.(КБ - Импульс.Нужен сигнал.) execute at @a[scores={dialogue=1}] run tellraw @a ["",{"text":"Greetings, Stranger! Where do you want to go?\n\n"},{"text":"[ Geffen - 10 ","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\u25c6 ","color":"green","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"]","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\n[ Payon - 15 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ Izlude - 20 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ "},{"text":"I don't know.","color":"gray"},{"text":" ]"}] сам выделил ту часть которая вообще нипонятно что делает 49 минут назад, Diemtur сказал: Я не понимаю как сделать так, чтобы разговор с жителем активировал диалог. через execute as @a[scores={scoreboard=1..}] где scoreboard имя скорборда с жителем выполняешь команду диалога 53 минуты назад, Diemtur сказал: что значит обнулить скорборд? 2 часа назад, Diemtur сказал: C. (КБ - Цикл.Всегда актив.) execute at @a[scores={dialogue=1}] run scoreboard players set @s dialogue 0 - можешь пояснить что делает эта команда? обнуляет скорборд, т.е. ставит значение на ноль, в твоем случае лучше сделать цепь из командных блоков в 1-ом команда с диалогом, во 2-ом то же что и с диалогом только вместо команды диалога обнуление скорборда Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 21 марта, 2022 Автор Поделиться Опубликовано 21 марта, 2022 4 минуты назад, Shomen сказал: сам выделил ту часть которая вообще нипонятно что делает Изначально ты написал эту команду execute at @a[score={dialogue=1}] run (другая команда с диалогом)(другая команда с диалогом) - я так понял, здесь нужна команда из генератора tellraw, мне выдал генератор эту команду: /tellraw @a ["",{"text":"Greetings, Stranger! Where do you want to go?\n\n"},{"text":"[ Geffen - 10 ","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\u25c6 ","color":"green","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"]","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\n[ Payon - 15 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ Izlude - 20 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ "},{"text":"I don't know.","color":"gray"},{"text":" ]"}](если нет, то какую?) Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 21 марта, 2022 Поделиться Опубликовано 21 марта, 2022 1 час назад, Diemtur сказал: Изначально ты написал эту команду execute at @a[score={dialogue=1}] run (другая команда с диалогом)(другая команда с диалогом) - я так понял, здесь нужна команда из генератора tellraw, мне выдал генератор эту команду: /tellraw @a ["",{"text":"Greetings, Stranger! Where do you want to go?\n\n"},{"text":"[ Geffen - 10 ","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\u25c6 ","color":"green","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"]","clickEvent":{"action":"run_command","value":"/trigger dialogue set 1"}},{"text":"\n[ Payon - 15 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ Izlude - 20 "},{"text":"\u25c6 ","color":"green"},{"text":"]\n[ "},{"text":"I don't know.","color":"gray"},{"text":" ]"}](если нет, то какую?) это ветки в диалоге тоесть когда ты что-то выбераешь скорее вссего я перепутал at с as, а так как тема закрыта исправить немог Ссылка на комментарий Поделиться на другие сайты Поделиться
harizonus Опубликовано 21 марта, 2022 Поделиться Опубликовано 21 марта, 2022 ты конечно прости что отвлекаю от темы, но если это пойдет на сервер, не проще ли сделать это через Citizens? Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 21 марта, 2022 Автор Поделиться Опубликовано 21 марта, 2022 3 часа назад, Shomen сказал: это ветки в диалоге тоесть когда ты что-то выбераешь скорее вссего я перепутал at с as, а так как тема закрыта исправить немог Всё, заработало, спасибо! Можешь тогда пояснить как сделать, чтобы команда выполнялась в случае, если у игрока больше или равно определённого количества предметов в инвентаре? (именно предметов в сумме, а не в определённом слоте) Например больше или равно 10 -> забрать 10 шт меньше 10 -> ничего не делать есть вот эти команды которые я нашёл, но не знаю как их заставить работатьexecute as @a if entity @s[nbt={Inventory:[{id:"minecraft:emerald",Count:10b}]}] run execute as @a store result score @s stone_count run clear @s minecraft:emerald 0 execute as @a[scores={emerald_count=10..}] run say 10+ камня Ссылка на комментарий Поделиться на другие сайты Поделиться
ImRystem Опубликовано 13 декабря, 2023 Поделиться Опубликовано 13 декабря, 2023 Здравствуй. Слушай хочу повзаимсвтовать эту идею у тебя. Сохранились ли у тебя все команды что ты использовал. Можешь пожалуйста скинуть их при возможности. Очень хочется получить работающий механизм. И мир в котором ты это делал тоже хочу получить. Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
lyiiizzz23 Опубликовано 18 декабря, 2023 Поделиться Опубликовано 18 декабря, 2023 В 13.12.2023 в 22:01, ImRystem сказал: Здравствуй. Слушай хочу повзаимсвтовать эту идею у тебя. Сохранились ли у тебя все команды что ты использовал. Можешь пожалуйста скинуть их при возможности. Очень хочется получить работающий механизм. И мир в котором ты это делал тоже хочу получить. Спасибо Привет, я уже ему писал по такому же поводу но он давно не заходил в сеть но могу посоветовать этот ролик Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 19 декабря, 2024 Автор Поделиться Опубликовано 19 декабря, 2024 В 13.12.2023 в 20:01, ImRystem сказал: Здравствуй. Слушай хочу повзаимсвтовать эту идею у тебя. Сохранились ли у тебя все команды что ты использовал. Можешь пожалуйста скинуть их при возможности. Очень хочется получить работающий механизм. И мир в котором ты это делал тоже хочу получить. Спасибо Сори, я вообще забыл про этот сайт, если еще нужно, скинул свой сейв выше в своём посте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 13 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти