2,4K подписчиков

Гайд, как сделать рабочий магазин (и не только) с помощью /scoreboard и /execute Майнкрафт 1.16.5

455 прочитали

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды. Раньше была /testfor, но её убрали и добавили команду покруче - /execute. Но так как последний раз я делал это очень давно, мне нужно было обновить данные об этом, добавив к себе в мозговую ячейку. Но увы, в интернете я не нашёл ничего путёвого, поэтому пришлось самому изучать. (И с помощью википедии, ужас, там только понимающий поймёт о чём речь) Поэтому я и решил написать этот гайд по командам. Во первых, для себя, что бы если вдруг забыть, заглянуть сюда, ведь кто поймёт лучше автора этот текст? Ну и разумеется для людей, те, кто хотят немного понять, ибо я и сам не профи в этом.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.

Сегодня мы поговорим о таких командах как:

  • /scoreboard
  • /execute

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

Для начала, что такое scoreboard:
Данная команда позволит создать отдельные команды для игроков, которые будут либо просто разделять игроков на команды, по типу, красная команда и оранжевая. Но это не всё, она обладает разными дополнительными функциями, такими как: Отключение ников на уровне всей команды, для всех или только для вражеской команды. А так же начисление очков за, по сути, любое действие в майнкрафте. Хоть 1 очко за убийство одного кролика, или же за прыжок. А может вы хотите сделать так, что при становлении определённого блока вам начислится n- очков?

Давайте для начала разберём вообще эту команду по частям, потом /execute и начнём сам гайд по созданию магазина.:

Первым делом майнкрафт спросит вас с чем мы будем работать
С игроками или же с самой командой. Но так как мы еще ничего не создали, работа с игроками нам просто никак не поможет, так что первым делом требуется написать
objectives вторым словом, после /scoreboard.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-2

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

Первым делом, если вы ничего не создавали, то пишете слово add Название и самое важное, это за что будут начисляться очки. То есть, в майнкрафте есть много событий - прыжок, шифт, добыча блоков, убийство какого либо моба и т.д. Если вам нужно какое то определённое действие, допустим, умереть и получить за это очки (Всего одно очко за одну смерть, с помощью execute можно делать любое число, но об этом пока что потом)

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-3

то команда должна выглядеть так: Там где я написал f - это название. Туда можно засунуть абсолютное любое название, но я выбрал эту букву. А, ну и важное, dummy - это ничего. То есть только командами можно начислять, оно не зависит ни от какого события, только лишь от set и add

  • /scoreboard objectives add f deathCount

Тем самым мы создали с помощью этого событие, которые считает количество смертей, переделывая их в очки.

Создалась ли она или нет, а так же посмотреть сколько событий мы уже создали можно, если 3 слово заменить на list. Т.е:

  • /scoreboard objectives list

На данный момент у меня созданы 3 события. Среди них как раз таки есть и f, так что всё прошло хорошо.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-4

Но как следить за очками? Тут нам поможет замена 3 слова на setdisplay
Четвертным же словом будет идти то, куда это будет показываться.

sidebar - панель сбоку, как вы на серверах видите панельки.

list - в табе, в этом гайде я буду использовать именно его.

belowName - над ником.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-5

Команда выходит такой:

В итоге мы получаем этот нолик к себе напротив ника в табе. Сейчас я умру и мы увидим, что счётчик обновился.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-6

Счётчик обновился, всё ГУД! Самое банальное и простое действие мы сделали. Разберём оставшиеся части команды, такие как modify и remove

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-7

И так, remove - удаление вашей задачи. Вот так простенько можно удалить её из базы данных:

  • /scoreboard objectives remove f

А вот modify уже интересней! Для начала мы пишем так:
/scoreboard objectives modify Название(У меня будет Guy) а теперь нам предлагают выбрать, с чем мы будем работать.

Пока что поговорим о рендере, тобишь о том, как это будет показываться.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-8

Там нам предложат еще один выбор: hearts или же integer.
Если вы выберете hearts, то отображение изменится на сердца. То есть, за каждое очко вы будете видеть на цифры, а сердца. половинка сердца =
1 очку

  • /scoreboard objectives modify Guy rendertype hearts
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-9

integer же просто возвращает обозначение в числа.

  • /scoreboard objectives modify Guy rendertype integer
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-10

C рендером разобрались, теперь перейдём к displayname. Я не очень понимаю как с ней работать, но ей можно заменить название на циферки, но вот как вернуть в буквы - я не знаю... И в табе оно не работает, для более умных, в общем то.

  • /scoreboard objectives modify Guy displayname 12345
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-11

Что же... С objectives разобрались. Перейдём к players!
С ней можно работать после создания команды, что мы и сделали в начале. Хотя в итоге в конце статьи будут примеры и последовательность действий, так что тут будет лишь пояснение к каждой команде, а не последовательность действий.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-12

Начнём с add! Всё просто, просто добавляет определённое количество очков (Сами пишите) к определённой команде. Она именная добавляет, а не изменяет. bk_cvizermain - место для ника. Guy - место для название команды. 1000 - место для числа, которое начислится в команду.

  • /scoreboard players add bk_cvizermain Guy 1000
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-13

Хм, следом идёт enable, но я не знаю как ей пользоваться, какие то задачи-триггеры лишь работают на неё, но я не понял...

Но вот get, это запрос очков. То есть можно запросить показ очков в чате, нажал на кнопку, которая на командном блоке, и тебе спокойно выдало сообщение сколько у тебя очков. На месте bk_cvizermain - ник, а на месте Guy название задачи.

  • /scoreboard players get bk_cvizermain Guy
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-14

Далее идёт list! Она просто показывает, какие игроки имеют какое либо отслеживание.

  • /scoreboard players list
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-15

Далее идёт operation.

Значит, пишем мы /scoreboard players operation. Далее нас просят выбрать первую сущность. Допустим, выбираем свой ник. bk_cvizermain
Далее нас просят выбрать задачу, ну, у меня это Guy
Тут мы выбираем, пока что, любую, ибо без полного написания команды я ничего объяснить не смогу.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-16

Ну и выбираем опять сущность и задачу. В итоге выходит так:

  • /scoreboard players operation bk_cvizermain Guy -= bk_cvizermain Guy

Но что это за хрень? Вернёмся к %=, < и т.д.
Выбрав себя и еще кого то, ну, у меня щас никого в мире нет, так что я выбрал опять же себя. Мы можем сравнить и произвести операцию. Допустим, если мы напишем
-=, то мы просто отнимем то количество, которое написано у второго игрока. Допустим, у вас есть в одной задаче 877 очков, а в другой 77. И мы хотим отнять из первой задачи очки, равные второй. Написав -= мы отнимем из первой задачи (877 очков) вторую задачу (77 очка), тем самым у нас останется во второй задаче 77 очков, а вот в первой станет на 77 меньше, тем самым в первой теперь 800 очков, а во второй так же 77 очков.

  • /scoreboard players operation bk_cvizermain Guy -= bk_cvizermain Guy

Другими же обозначениями можно делать и другие операции, вот, смотрите:

%= Остаток при делении. То есть если 50 делится на 2, то будет ноль. А если 539 делится на 54, то будет уже остаток 53, ибо оно не делится без остатка. И да, оно заменяет первое значение на 53.

*= - Умножает первое значение на второе

+= - Прибавляет к первому значению второе.

-= - Разобрали выше.

/= - Делит первое значение на второе

< - Заменяет первое значение на то, которое меньше.

= - Изменяет первое значение на второе, то есть если было 544 и 54, то станет 54

> - Заменяет первое значение на то, которое больше. (Лол, факт про дзен, если написать > + пробел с новой строки, то он изменит шрифт и включит ту штуку, которая полоской пишет, короче вот скрин)

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-17

>< - Меняет туда-сюда число. Сначала которое больше, потом которое меньше. Опять же с первым значением работает.

Следующая часть команды - remove. Удаляет определённое количество очков у игрока, которого вы укажите. И оно удалит лишь из той задачи, которую вы указали. И ТО количество очков, которое вы тоже сами указали. На месте bk_cvizermain - ник, на месте Guy - название команды. На месте 30 количество забираемых очков

  • /scoreboard players remove bk_cvizermain Guy 30

Далее идет reset. Оно не удаляет команду, но удаляет все очки у определённого игрока. На месте bk_cvizermain - ник, на месте Guy - название команды.

  • /scoreboard players reset bk_cvizermain Guy

Далее идёт set, он просто меняет значение на указанное, не добавляет, а изменяет. Забавно, ведь add я добавил почти последней (3 с конца)

  • /scoreboard players set bk_cvizermain Guy 153
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-18

C этой командой более-менее разобрались, давайте поговорим о /execute, но если честно, я и сам не супер-крут в ней) Если в /scoreboard всё и так легко понять, то тут надо иметь некоторые знания.

С помощью данной команды можно проверять, встал ли игрок на блок, сломал ли он его или поставил в определённом месте, допустим, встал на красную шерсть - умер. Поставил на какие то заранее написанные координаты в командным блоке оранжевую шерсть, получит n- число очков, которое тоже заранее написал. Я не буду разбирать каждую штучку этой команды, ибо она очень обширна и глобальная, в целом, я даже разбирать её не могу, я не понимаю в ней почти ничего, мне любая команда с ней рушит понимание в мозгу)) Так что...

КАК СОЗДАТЬ РАБОЧИЙ МАГАЗИН С ПОМОЩЬЮ ЭТИХ КОМАНД

Да, перейдём к теме статьи. На деле всё легко, для начала создаём задачу с помощь /scoreboard. Первым делом определитесь, какой магазин вам нужен. Вы хотите что бы игрок получал очки за продажу блоков? Допустим, поставить алмазный блок на 87 100 48 координату, дабы он исчез и игрок получил 50 очков (Пример). Или же вы хотите давать очки за прыжки, убийства или что то в этом роде?

Если вы хотите первый способ (или что то похожее), то пишите dummy в конце. А если вы хотите за убийство какого либо моба, игрока, команды, прыжка или что то такое, то пишите в конце именно это. Полистайте там, по ищите то что надо.

  • /scoreboard objectives add Guy dummy
Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-19

Я же буду разбирать первый способ, где так сказать руки развязаны на идеи.

Вот я создал задачу Guy, очки в которую можно получить лишь командами set и add
Но что же делать дальше?

Берём два командных блока, ставим их и делаем их цикличными и всегда активными.

В один из них пишем это:

  • /execute if block -8 73 0 minecraft:orange_wool run scoreboard players add @p Guy 1

командой /execute мы начинаем наше обращение. if служит для обращение к чему либо, в данном случае мы обращаемся к блоку, а значит пишем block и его координаты, куда мы его планируем ставить и считать ту точку. Следом мы пишем уже сам блок, в моём случае это оранжевая шерсть minecraft:orange_wool, а вот после мы запускаем процесс, если все условия соблюдены, если оранжевая шерсть находится на указанной координате, то мы благодаря команде run запускаем следующую указанную команду. Там может быть абсолютно любая команда, хоть опять пишите /execute и еще одну проверку. Но в моём случае это scoreboard. Пишем мы её БЕЗ /, ну и дальше банально пишем что мы делаем, уже говорили об этом. players - работа с игроками. add - добавляет очков.
@p
выбирает ближайшего игрока к командному блоку, Guy - название команды и 1 - это количество очков, даваемое, если все условия соблюдены и оранжевая шерсть на той координате. Число можно быть любое, можно и вычитать, и добавлять и устанавливать. Всё что пожелаете. Можете хоть делать несколько условий благодаря run, проверить сколько очков там, сколько тут и есть ли очки в третьей задаче.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-20

А в другой командный блок пишем это:

  • /execute if block -8 73 0 minecraft:orange_wool run setblock -8 73 0 air

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

Этот способ один из тех, как получать очки. Вы можете поставить просто любой блок на то место, или каждому блоку сделать свою цену... Можете за мобов, за прыжки, да за что угодно! Но, разумеется, block тут лишь для взаимодействия с блоками.

__________________________________________________________________________________________

На минуточку (Или больше) отвлечёмся, хочу быстренько рассказать, как сделать так, что при вставании на блок что либо происходило:

  • /execute at @p if block ~ ~-1 ~ minecraft:coarse_dirt run setblock -1463 79 293 minecraft:redstone_block

at - обращение к сущности, @p ближайший игрок, if block вновь обращение к блоку. Тильды (Да-да, они называются тильдами) нужны для определения, на какое место нужно встать с блоком, что бы сработало.
Если поставить
~ ~-1 ~, то оно будет определять ЛЮБУЮ позицию с этим блоком и реагировать на неё. А -1 во второй тильде нужно для более качественного определения, что игрок точно встал. После этого уже пишем run и нужную нам команду.

В итоге если я встану на любую каменистую землю, то на позицию
-1463 79 293 выставится редстоуновый блок (Я взял это со своей карты.
В данной часте подробно рассказано как это всё работает - Тык)

__________________________________________________________________________________________

Продолжим базар про магазин. Вот мы поставили два командных блока и закинули в них команды. Ок, очки идут, но чёрт возьми, как сделать сам магазин?

Для удобства и сокращения команд ставим командные блоки таким образом:

Тот который стоит рядом с камнем имеет кнопку, именно его мы и будем активировать для продолжения цепочки. Да-да, я знаю что есть цепные командные блоки, но что ж поделать если я ЗАБЫЛ об этом и вспомнил лишь сейчас... В общем, разницы никакой, продолжим.

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-21

Начнём с командного блока у камня, пишем туда это:

  • /execute unless score @p Guy matches ..43 run setblock -42 72 -16 redstone_block

Что же... Пояснительный бригадир тут! Начнём с того, что хоть if и unless похожи, но с помощью if можно лишь сделать вычитание, которое не следит и не проверяет, есть ли у игрока вообще столько очков. А вот с помощью unless это возможно, поэтому мы будем использовать её. Дальше мы пишем score, ибо мы проверяем очки. Следом @p - оно выбирает ближайшего игрока к командному блоку. Guy - название задачи, matches хрен его знает что это, но как я понял, оно проверяет число и не даёт забрать 43 очка если у вас их 42. Далее пишем ..43 (ТОЧКИ ОБЯЗАТЕЛЬНЫ!) это будет количество отнимаемых очков, в общем, цена товара. После пишем run setblock КООРДИНАТЫ redstone_block. Зачем и какие координаты выбрать? Видите на прошлом скриншоте 3 командных блока? Да? Этот редстоуновый блок должен быть посередине их, дабы активировал сразу все 3 командных блока!

Кстати, насчёт них, давайте перейдём к их командам. Не важно в какой последовательности вы запишите эти команды в командные блоки, главное что бы они активировались все вместе одновременно.

Первая команда: /give @p stone (Вместо stone пишите тот ID блока, который вы хотите выдать как товар. Модификации абсолютно совместимы с этой командой)

Вторая команда: /setblock -42 72 -16 air (Нужно писать те координаты, на которые ставится редстоуновый блок. Эта команда заменяет редстоуновый блок на воздух, тем самым обновляя возможность вновь купить товар. Не обязательна, только в том случае, если товар можно купить бесконечное раз, а не один раз.)

Третья команда: /execute unless score @p Guy matches ..43 run scoreboard players remove @p Guy 43 (Она похожа на первую команду, мы так же проверяем, есть ли у игрока 43 очка в команде, а после отнимаем эти 43 очка. Я уже выше объяснил это, после run мы просто пишем scoreboard на забор определённого количества. Просто если не устроить проверку еще раз, то он может поставить баланс в минус...)

Сейчас покажу видео работы этого механизма. Наблюдайте за количество очков в табе, который я буду всё время держать включённым.

В целом, на этом я вроде рассказал всё что хотел. Про то что как встать на блок и помереть рассказал, про магазинчик рассказал... Про начисление очков рассказал.

Разумеется, этот магазин модно задекорировать как хотите)

Всем хай! Мне нужно было решить проблему с магазином в майнкрафте, ибо жители не принимали вещи из модов, тем самым я искал способ с помощью данной команды.-22

А это значит лишь одно! Благодарю за прочтение данной статьи, увидимся в других статеечках, удачи!)

Так же вы можете оценить и другие мои статьи! Специально для удобности, я собрал все рубрики в одной статье. Из неё вы можете перейти в понравившуюся вам *Рубрику*

{}{=-А вот и сама статья - Тык-=}{}

#scoreboard #execute #minecraft #mrbk #игры #интересное #майнкрафт #команды майнкрафт #игровой канал #статья