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

Как сделать торг с помощью коммандных блоков?


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

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

Привет дорогой друг, и если тебе на твоей карте нужно было сделать несколько торгов, но создание жителя с торгами это разрыв 5-ой точки, то прошу внимания, к торгу с помощью командных блоков!
Начнём пожалуй с + и -.
Плюсы:
- Можно обменять предметы (разные и в разных количествах, если постараться)
- Не требует много знаний в командных блоках
Минусы:
- Много места уйдёт на 1 стойку для торга. (5 блоков в высоту, 3 в длину, и 1 в ширину минимум)
Итак, первое что вам нужно сделать, это получить командный блок, это легко сделать в креативе, все знают эту команду, но если вдруг, то -
/give @p command_block
Далее делаем выкапываем под землёй ямку 2 блока в глубину, 1 в длину и 1 в ширину.
Вверху над ямкой делаем стенку (на ваше усмотрение из чего) 3 блока в высоту, 3 в длину, и 1 в ширину.
Декорируем её как хотим, нам нужен только блок по центру, на него если хотите ставим табличку о том что и на что можно купить.
На 1 блок ниже, ставим кнопку, опять же не важно какую.
Сейчас будет самое сложное (ну конкретно в этой теме, на самом деле всё довольно просто)
Ямка должна быть под вашей постройкой которая на 3 блока в высоту, 3 в длину, и 1 в ширину, под её центром
В неё вам необходимо поставить два командных блока, так чтобы они закрыли ямку.
Верхний должен быть импульсным и безусловным.
Нижний должен быть цепным и условным.
Мне трудно объяснить то как они должны быть правильно поставлены, поэтому обратите внимание на скриншот (см. ниже)
Внимание! Далее идёт мой личный пример того как должен работать торг. 
Вместо minecraft:(айди блока) - можете поставить свой, от этого будет зависеть тот блок или предмет, который вы хотите получить/отдать. В моём случае я могу отдать алмазы, за незеритовый слиток(пример)
Вместо (цифра в конце команды) - можете поставить свою, от этого будет зависеть количество блоков или предметов, которые вы хотите получить/отдать. В моём случае мне нужно отдать 9 предметов, за 1 предмет(пример)

Итак, идём с верху вниз -
В первом командном блоке прописываем команду -
/clear @p minecraft:diamond 9
Во втором нужно прописать следующее - 
/give @p minecraft:netherite_ingot 1

Теперь при нажатии кнопки, в вашем инвентаре пропадёт 9 алмазов, и вы получите 1 незеритовый слиток. Если же алмазов как таковых не будет, незерит вы не получите, за счёт цепного блока, который выполняет команду только если командный блок который к нему привязан, успешно выполнит команду.

Надеюсь у вас будет всё работать, кстати если вы немного не поняли расположение блоков в данном гайде, можете посмотреть скриншот (см. ниже)

Удачного пользования

2021-07-07_22_49_40.thumb.png.f3c266d7584f5b4c686ab127ead15bf0.png

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

  • 1 год спустя...
  • 2 недели спустя...
В 23.04.2023 в 02:51, ежовик сказал:

А что делать если ресы пропадают,  но товар не выдаётся

Нужно чтобы стрелочки у кб блоках смотрели вниз если они будут стоять произвольно то ничего не будет работать

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

В 23.04.2023 в 03:51, ежовик сказал:

А что делать если ресы пропадают,  но товар не выдаётся

В данном случаи будет не лишним узнать как вы сами это сделали

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

14 минут назад, NotDen сказал:

В данном случаи будет не лишним узнать как вы сами это сделали

Цитата

Итак, идём с верху вниз -
В первом командном блоке прописываем команду -
/clear @p minecraft:diamond 9
Во втором нужно прописать следующее - 
/give @p minecraft:netherite_ingot 1

В 1-ой команде будет очищаться до 9-и (включительно) алмазов, но если очистится меньше 9-и алмазов, то следующий командный блок не выполнится

Цитата

Теперь при нажатии кнопки, в вашем инвентаре пропадёт 9 алмазов, и вы получите 1 незеритовый слиток. Если же алмазов как таковых не будет, незерит вы не получите, за счёт цепного блока, который выполняет команду только если командный блок который к нему привязан, успешно выполнит команду.

 

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

2 минуты назад, GhostoFBU сказал:

В 1-ой команде будет очищаться до 9-и (включительно) алмазов, но если очистится меньше 9-и алмазов, то следующий командный блок не выполнится. Тут недоработка от автора

Сам видел, но задовался вопросм, почему об это никто ничего не говорит.
И сам пост поза-прошло-годний

И в данном случаи игроку все ровно должно было выдать предмет, ведь очистка прошла успешно

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

6 минут назад, NotDen сказал:

Сам видел, но задовался вопросм, почему об это никто ничего не говорит.
И сам пост поза-прошло-годний

И в данном случаи игроку все ровно должно было выдать предмет, ведь очистка прошла успешно

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

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

Улучшенная версия магазина

Создаём задачу Shop:
scoreboard objectives add Shop dummy


Добавляем покупку предмета (девять камней за железный слиток):

  1. Импульсный КБ:
    execute store result score $Count Shop run clear @p minecraft:stone 0
    Получаем кол-во камня ближайшего игрока и результат записываем в задачу Shop, к фейковому игроку $Count
     
  2. Цепной КБ:
    execute if score $Count Shop matches 9.. run clear @p minecraft:stone 9
    Если у фейкового игрока $Count в задаче Shop значение равно или больше девяти, то ближайшему игроку очищаем девять камней
     
  3. Цепной КБ, условный:
    give @p minecraft:iron_ingot
    Если предыдущий КБ успешно выполнил команду, то выдаём ближайшему игроку железный слиток


Камень (minecraft:stone) можете заменить на свой предмет, кол-во (9) тоже

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

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

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

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

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

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

Войти

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

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

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