Перейти к содержанию

Вопрос по команде для лобби


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

В теме 8 сообщений

Делаю карту. И для начала ( лобби ) сделать чтобы камера смотрела на дом ( не двигаясь ) и было 3 кнопки: 
Старт
Правила

О карте
И все чтобы находилось слева и надо было выберать что нажать

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

Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя.
Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах.

:Chain_Conditional: ты можешь продолжать этот блок командами, они будут выполняться во время рестарта.
:Chain_Conditional: tp @a 0 0 0 135 -25 (координаты сам укажи какие надо)
:Chain_Conditional: dialog show @a {диалог} (смотри в конце)
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger
:Repeating_Unconditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger

Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger.
После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт.


:Impulse_Unconditional: scoreboard players reset @a trigger
Этот блок всё перезапускает для всех игроков.

:Repeating_Unconditional: scoreboard objectives setdisplay sidebar trigger
Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно.


:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "старт"
:Repeating_Unconditional: execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "правила"
:Repeating_Unconditional: execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "о карте"
:Repeating_Unconditional: execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0

Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал.

ТЕПЕРЬ К ДИАЛОГУ

:Chain_Conditional: 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" число можешь ставить любое, главное вплести это грамотно в механизм.

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

10 часов назад, Щербатый бесстыдник сказал:

Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя.
Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах.

:Chain_Conditional: ты можешь продолжать этот блок командами, они будут выполняться во время рестарта.
:Chain_Conditional: tp @a 0 0 0 135 -25 (координаты сам укажи какие надо)
:Chain_Conditional: dialog show @a {диалог} (смотри в конце)
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger
:Repeating_Unconditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger

Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger.
После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт.


:Impulse_Unconditional: scoreboard players reset @a trigger
Этот блок всё перезапускает для всех игроков.

:Repeating_Unconditional: scoreboard objectives setdisplay sidebar trigger
Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно.


:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "старт"
:Repeating_Unconditional: execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "правила"
:Repeating_Unconditional: execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "о карте"
:Repeating_Unconditional: execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0

Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал.

ТЕПЕРЬ К ДИАЛОГУ

:Chain_Conditional: 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 сказал:

Бедный шрекус.....

бедный я

23 часа назад, Щербатый бесстыдник сказал:

Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя.
Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах.

:Chain_Conditional: ты можешь продолжать этот блок командами, они будут выполняться во время рестарта.
:Chain_Conditional: tp @a 0 0 0 135 -25 (координаты сам укажи какие надо)
:Chain_Conditional: dialog show @a {диалог} (смотри в конце)
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger
:Repeating_Unconditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger

Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger.
После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт.


:Impulse_Unconditional: scoreboard players reset @a trigger
Этот блок всё перезапускает для всех игроков.

:Repeating_Unconditional: scoreboard objectives setdisplay sidebar trigger
Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно.


:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "старт"
:Repeating_Unconditional: execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "правила"
:Repeating_Unconditional: execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "о карте"
:Repeating_Unconditional: execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0

Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал.

ТЕПЕРЬ К ДИАЛОГУ

:Chain_Conditional: 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" число можешь ставить любое, главное вплести это грамотно в механизм.

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

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

В 23.03.2026 в 11:46, Щербатый бесстыдник сказал:

Если ты хочешь чтобы кнопки были на экране то надо dialog юзать, они используются с версии 1.21.6, но я предположу что у тебя последняя.
Важно чтобы ВСЕ цепные блоки были УСЛОВНЫМИ ещё до того как в них появится команда. Иначе можно застрять в телепортациях или диалогах.

:Chain_Conditional: ты можешь продолжать этот блок командами, они будут выполняться во время рестарта.
:Chain_Conditional: tp @a 0 0 0 135 -25 (координаты сам укажи какие надо)
:Chain_Conditional: dialog show @a {диалог} (смотри в конце)
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard players enable @a trigger
:Chain_Conditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives add trigger trigger
:Repeating_Unconditional: execute as @a unless entity @s[scores={trigger=0..}] run scoreboard objectives remove trigger

Чтобы этот блок команд заработал, ты должен сделать кб "всегда активными" и ввести команду /scoreboard objectives add trigger trigger.
После чего всё будет происходить по следующей логике: Если в мире появляется новый игрок у которого нет числа в триггере, то ВСЕМ игрокам открывается меню и их телепортирует. НО если во время игры, кто-то из участников переподключится к серверу РАНЬШЕ чем игра закончится, то ничего не произойдёт.


:Impulse_Unconditional: scoreboard players reset @a trigger
Этот блок всё перезапускает для всех игроков.

:Repeating_Unconditional: scoreboard objectives setdisplay sidebar trigger
Этот блок поставь если хочешь видеть свой триггерный скорборд, это удобно.


:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "старт"
:Repeating_Unconditional: execute as @a[scores={trigger=1}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "правила"
:Repeating_Unconditional: execute as @a[scores={trigger=2}] run scoreboard players set @a trigger 0

:Chain_Conditional: say эта команда будет активироваться при нажатии кнопки "о карте"
:Repeating_Unconditional: execute as @a[scores={trigger=3}] run scoreboard players set @a trigger 0

Эти блоки нужны для детекта нажатий. Работает всё по такой логике, что менюшка общая для всех. Она показывается сразу всем игрокам и нажатие кнопок приводит к одинаковым действиям для всех, не зависимо кто нажал.

ТЕПЕРЬ К ДИАЛОГУ

:Chain_Conditional: 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" число можешь ставить любое, главное вплести это грамотно в механизм.

кстати, при нажатии на кнопку, они пропадают и не получаеться, как сделать чтобы при нажатии текст показался и потом обратно вернуло. А при нажатии на старт наоборот сразу тепнуло на корды и эту убрало

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

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

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

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

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

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

Войти

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

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

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