ч1мпл Опубликовано 22 марта Поделиться Опубликовано 22 марта Делаю карту. И для начала ( лобби ) сделать чтобы камера смотрела на дом ( не двигаясь ) и было 3 кнопки: Старт Правила О карте И все чтобы находилось слева и надо было выберать что нажать Ссылка на комментарий Поделиться на другие сайты Поделиться
ч1мпл Опубликовано 23 марта Автор Поделиться Опубликовано 23 марта ап Ссылка на комментарий Поделиться на другие сайты Поделиться
ч1мпл Опубликовано 23 марта Автор Поделиться Опубликовано 23 марта up Hibbe 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Щербатый бесстыдник Опубликовано 23 марта Поделиться Опубликовано 23 марта Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя. Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах. ты можешь продолжать этот блок командами, они будут выполняться во время рестарта. tp @a 0 0 0 135 -25 (координаты сам укажи какие надо) dialog show @a {диалог} (смотри в конце) execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger. После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт. scoreboard players reset @a trigger Этот блок всё перезапускает для всех игроков. scoreboard objectives setdisplay sidebar trigger Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно. say эта команда будет активироваться при нажатии кнопки "старт" execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "правила" execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "о карте" execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0 Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал. ТЕПЕРЬ К ДИАЛОГУ dialog show @a {type:"minecraft:multi_action",title:"чтонибуть сдесь напиши",can_close_with_escape:0,pause:0,columns:1,actions:[{label:"Старт",action:{type:"minecraft:run_command",command:"trigger trigger set 1"}},{label:"Привила",action:{type:"minecraft:run_command",command:"trigger trigger set 2"}},{label:"О карте",action:{type:"minecraft:run_command",command:"trigger trigger set 3"}}]} Вот так по хорошему должна выглядеть твоя команда, но ты можешь сделать этот диалог вообще каким хочешь. https://misode.github.io/dialog/ - вот генератор диалогов. Самое главное, это добавить "Action" к кнопке, поставить режим "Run command" и вписать такую команду "trigger trigger set 1" число можешь ставить любое, главное вплести это грамотно в механизм. ч1мпл и Hibbe 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Лонс Опубликовано 23 марта Поделиться Опубликовано 23 марта 10 часов назад, Щербатый бесстыдник сказал: Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя. Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах. ты можешь продолжать этот блок командами, они будут выполняться во время рестарта. tp @a 0 0 0 135 -25 (координаты сам укажи какие надо) dialog show @a {диалог} (смотри в конце) execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger. После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт. scoreboard players reset @a trigger Этот блок всё перезапускает для всех игроков. scoreboard objectives setdisplay sidebar trigger Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно. say эта команда будет активироваться при нажатии кнопки "старт" execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "правила" execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "о карте" execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0 Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал. ТЕПЕРЬ К ДИАЛОГУ dialog show @a {type:"minecraft:multi_action",title:"чтонибуть сдесь напиши",can_close_with_escape:0,pause:0,columns:1,actions:[{label:"Старт",action:{type:"minecraft:run_command",command:"trigger trigger set 1"}},{label:"Привила",action:{type:"minecraft:run_command",command:"trigger trigger set 2"}},{label:"О карте",action:{type:"minecraft:run_command",command:"trigger trigger set 3"}}]} Вот так по хорошему должна выглядеть твоя команда, но ты можешь сделать этот диалог вообще каким хочешь. https://misode.github.io/dialog/ - вот генератор диалогов. Самое главное, это добавить "Action" к кнопке, поставить режим "Run command" и вписать такую команду "trigger trigger set 1" число можешь ставить любое, главное вплести это грамотно в механизм. ну нихрена себе, комнадочка Ссылка на комментарий Поделиться на другие сайты Поделиться
Hibbe Опубликовано 24 марта Поделиться Опубликовано 24 марта 11 часов назад, Лонс сказал: ну нихрена себе, комнадочка Бедный шрекус..... Ссылка на комментарий Поделиться на другие сайты Поделиться
ч1мпл Опубликовано 24 марта Автор Поделиться Опубликовано 24 марта 1 час назад, Hibbe сказал: Бедный шрекус..... бедный я 23 часа назад, Щербатый бесстыдник сказал: Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя. Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах. ты можешь продолжать этот блок командами, они будут выполняться во время рестарта. tp @a 0 0 0 135 -25 (координаты сам укажи какие надо) dialog show @a {диалог} (смотри в конце) execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger. После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт. scoreboard players reset @a trigger Этот блок всё перезапускает для всех игроков. scoreboard objectives setdisplay sidebar trigger Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно. say эта команда будет активироваться при нажатии кнопки "старт" execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "правила" execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "о карте" execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0 Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал. ТЕПЕРЬ К ДИАЛОГУ dialog show @a {type:"minecraft:multi_action",title:"чтонибуть сдесь напиши",can_close_with_escape:0,pause:0,columns:1,actions:[{label:"Старт",action:{type:"minecraft:run_command",command:"trigger trigger set 1"}},{label:"Привила",action:{type:"minecraft:run_command",command:"trigger trigger set 2"}},{label:"О карте",action:{type:"minecraft:run_command",command:"trigger trigger set 3"}}]} Вот так по хорошему должна выглядеть твоя команда, но ты можешь сделать этот диалог вообще каким хочешь. https://misode.github.io/dialog/ - вот генератор диалогов. Самое главное, это добавить "Action" к кнопке, поставить режим "Run command" и вписать такую команду "trigger trigger set 1" число можешь ставить любое, главное вплести это грамотно в механизм. кстати сайт сам по себе прикольный, даже не знал что такое можно сделать Hibbe 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ч1мпл Опубликовано 24 марта Автор Поделиться Опубликовано 24 марта В 23.03.2026 в 11:46, Щербатый бесстыдник сказал: Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя. Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах. ты можешь продолжать этот блок командами, они будут выполняться во время рестарта. tp @a 0 0 0 135 -25 (координаты сам укажи какие надо) dialog show @a {диалог} (смотри в конце) execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger. После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт. scoreboard players reset @a trigger Этот блок всё перезапускает для всех игроков. scoreboard objectives setdisplay sidebar trigger Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно. say эта команда будет активироваться при нажатии кнопки "старт" execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "правила" execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0 say эта команда будет активироваться при нажатии кнопки "о карте" execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0 Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал. ТЕПЕРЬ К ДИАЛОГУ dialog show @a {type:"minecraft:multi_action",title:"чтонибуть сдесь напиши",can_close_with_escape:0,pause:0,columns:1,actions:[{label:"Старт",action:{type:"minecraft:run_command",command:"trigger trigger set 1"}},{label:"Привила",action:{type:"minecraft:run_command",command:"trigger trigger set 2"}},{label:"О карте",action:{type:"minecraft:run_command",command:"trigger trigger set 3"}}]} Вот так по хорошему должна выглядеть твоя команда, но ты можешь сделать этот диалог вообще каким хочешь. https://misode.github.io/dialog/ - вот генератор диалогов. Самое главное, это добавить "Action" к кнопке, поставить режим "Run command" и вписать такую команду "trigger trigger set 1" число можешь ставить любое, главное вплести это грамотно в механизм. кстати, при нажатии на кнопку, они пропадают и не получаеться, как сделать чтобы при нажатии текст показался и потом обратно вернуло. А при нажатии на старт наоборот сразу тепнуло на корды и эту убрало Hibbe 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 8 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти