Catherine Опубликовано 12 февраля, 2023 Поделиться Опубликовано 12 февраля, 2023 Здравствуйте! Создали задачу, сделали магазин, очки статистики являются валютой, всё хорошо - всё работает. Появилась идея, чтобы игрок при смерти терял определённое количество очков (Денег) и сохранял инвентарь. Естественно если денег не хватает, то игрок теряет инвентарь. Подскажите пожалуйста, есть ли такая возможность? Если есть, то как вё это правильно прописать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 12 февраля, 2023 Поделиться Опубликовано 12 февраля, 2023 в процентах? Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 12 февраля, 2023 Автор Поделиться Опубликовано 12 февраля, 2023 29 минут назад, Shomen сказал: в процентах? Нет. определенное кол-во, например 1000. Допустим: у игрока 1547 очков. При смерти у него списывается 1000 очков и сохраняется инвентарь. Если у игрока 547 очков, то при смерти он теряет инвентарь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 12 февраля, 2023 Поделиться Опубликовано 12 февраля, 2023 сделай для всех сохранение инвентаря при смерти если игроку не хватает очков то очищай инвентарь если хватает то списывай очки Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 12 февраля, 2023 Автор Поделиться Опубликовано 12 февраля, 2023 5 минут назад, Shomen сказал: сделай для всех сохранение инвентаря при смерти если игроку не хватает очков то очищай инвентарь если хватает то списывай очки А как сама команда выглядеть должна? Магазин выглядит следующим образом: Первый командный блок - /execute as @a[distance=..4,scores={Coints=40..}] at @s run scoreboard players remove @p Coints 40. Импульсный, безусловный, нужен сигнал. Второй командный блок - /give @p minecraft:beetroot 1. Цепной, условный, всегда активный. К сожалению мало кто объясняет смысл всех значений, так что я только третью часть этих команд понимаю(( Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 12 февраля, 2023 Поделиться Опубликовано 12 февраля, 2023 3 минуты назад, Catherine сказал: Первый командный блок - /execute as @a[distance=..4,scores={Coints=40..}] at @s run scoreboard players remove @p Coints 40. Импульсный, безусловный, нужен сигнал. выполнить от игроков [в промежутке меньше 4, с задачей Count 40 и более] относительно этого же игрока команду (команда) as - кто будет исполнителем команды distance - игроки в промежутке относительно командного блока(так как изначально он выполняет команду и относительно него выполняется команда, так же работает с игроками) score - я думаю понятно at - относительно цели по координатам, @s обозначает исполнителя, а так как до это исполнителем был указаны игроки, то команда будет выполнятся относительно них в первой команде лучше использовать @s вместо @p а во вторую добавить часть с execute из первой и так же использовать @s вместо @p Catherine 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 12 февраля, 2023 Автор Поделиться Опубликовано 12 февраля, 2023 4 часа назад, Shomen сказал: выполнить от игроков [в промежутке меньше 4, с задачей Count 40 и более] относительно этого же игрока команду (команда) as - кто будет исполнителем команды distance - игроки в промежутке относительно командного блока(так как изначально он выполняет команду и относительно него выполняется команда, так же работает с игроками) score - я думаю понятно at - относительно цели по координатам, @s обозначает исполнителя, а так как до это исполнителем был указаны игроки, то команда будет выполнятся относительно них в первой команде лучше использовать @s вместо @p а во вторую добавить часть с execute из первой и так же использовать @s вместо @p Не скажу, что всё стало понятно, но уже есть с чем разбираться))) Благодарю. Буду пробовать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 13 февраля, 2023 Автор Поделиться Опубликовано 13 февраля, 2023 В 12.02.2023 в 13:17, Shomen сказал: сделай для всех сохранение инвентаря при смерти если игроку не хватает очков то очищай инвентарь если хватает то списывай очки Как написать условие (при смерти)? У меня инвентарь чистится постоянно, циклично(((( Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 13 февраля, 2023 Поделиться Опубликовано 13 февраля, 2023 счётчик создай который смерти считает Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 13 февраля, 2023 Автор Поделиться Опубликовано 13 февраля, 2023 9 минут назад, Shomen сказал: счётчик создай который смерти считает Была такая мысль. Создана такая задача. Но тогда нужно как-то обнулять этот счетчик. Как это сделать? 13 минут назад, Shomen сказал: счётчик создай который смерти считает А нет такой возможности с if? Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 13 февраля, 2023 Поделиться Опубликовано 13 февраля, 2023 3 минуты назад, Catherine сказал: Но тогда нужно как-то обнулять этот счетчик. Как это сделать? просто как команду в конце списка execute if score (игрок) death matches 1.. if ... run (команда 1) ... execute if score (игрок) death matches 1.. if ... run (команда n) execute if score (игрок) death matches 1.. if ... run (обнуление счётчика) Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 13 февраля, 2023 Автор Поделиться Опубликовано 13 февраля, 2023 2 минуты назад, Shomen сказал: просто как команду в конце списка execute if score (игрок) death matches 1.. if ... run (команда 1) ... execute if score (игрок) death matches 1.. if ... run (команда n) execute if score (игрок) death matches 1.. if ... run (обнуление счётчика) Меня осенило... ничего не получится(( это же командный блок всегда должен быть прогружен Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 13 февраля, 2023 Автор Поделиться Опубликовано 13 февраля, 2023 1 час назад, Catherine сказал: Меня осенило... ничего не получится(( это же командный блок всегда должен быть прогружен А возможно сделать, чтобы у игрока списывались очки или чистился инвентарь, когда он возрождается? Или команда будет работать на всех, кто возрождается и тех кто просто мимо прошел? Ссылка на комментарий Поделиться на другие сайты Поделиться
Catherine Опубликовано 13 февраля, 2023 Автор Поделиться Опубликовано 13 февраля, 2023 3 часа назад, Catherine сказал: при смерти если игроку не хватает очков то очищай инвентарь 2 КБ и нажимная плита на точке спавна, по принципу магазина. Первый КБ - команда как и в магазине Второй - /execute as @a[scores={Coints=..999}] at @s run clear (Смерть стоит 1000 очков) Всё работает до момента, пока у игрока не остаётся менее 2000 очков. Если счет 2000 и более - просто списывается 1000. Если 1999, то списывается 1000 очков и чистится инвентарь. Как исправить? Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 14 февраля, 2023 Поделиться Опубликовано 14 февраля, 2023 17 часов назад, Catherine сказал: Меня осенило... ничего не получится(( это же командный блок всегда должен быть прогружен делай в датапаке Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 15 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти