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

Помогите с КБ


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

В теме 21 сообщение

Помогите с КБ пожалуйста. При выполнении условия, цикличный КБ добавляет вместо одного очка много, а как заблокировать я не знаю.

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

В 25.04.2024 в 21:26, prolimon1328 сказал:

может ти што не правильно зделал(а) (я не разбираюсь в етом но попитаюсь помоч)

Если ты в этом не разбираешься, то зачем писать? Это по сути оффтоп.

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

11 часов назад, TheKarandash сказал:

Если ты в этом не разбираешься, то зачем писать? Это по сути оффтоп.

да но в етой теме оффтоп не запрещен

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

1 час назад, prolimon1328 сказал:

да но в етой теме оффтоп не запрещен

Окей, ты только это понял?

 

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

В 26.04.2024 в 21:09, PSEUDO сказал:

поинформативнее вопрос можно составить?

Условие execute if entity @e[nbt={...}] run scoreboard players add @p задача 1 проверяется цикличным КБ, и при выполнении должна выдаваться единица. Цикличный КБ должен работать постоянно, но выдаётся кол-во очков в соответсвии с кол-вом его тиков. Я пробовал совместить два условия: execute if entity @e[nbt={...}] run execute unless entity @e[nbt={...}] run scoreboard players add @p задача 1, но это не сработало. Так лучше?

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

В 27.04.2024 в 21:28, Мюрел сказал:

Условие execute if entity @e[nbt={...}] run scoreboard players add @p задача 1 проверяется цикличным КБ, и при выполнении должна выдаваться единица. Цикличный КБ должен работать постоянно, но выдаётся кол-во очков в соответсвии с кол-вом его тиков. Я пробовал совместить два условия: execute if entity @e[nbt={...}] run execute unless entity @e[nbt={...}] run scoreboard players add @p задача 1, но это не сработало. Так лучше?

А при каких условиях команда должна работать? К слову, вкладывать несколько execute в другие execute — плохая идея. Их вполне можно записывать в один execute: /execute if unless as @a at @e run command

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

Плохо сформулировал вопрос. В твоем коде, КБ будет каждый раз добавлять единицу к счетчику, если найдет сущность с nbt-тегом. Но поскольку, КБ цикличный, он будет зацикленным. Если я правильно тебя понял, то вместо прибавления единицы, просто нужно записывать кол-во этих сущностей в счетчик:

execute store result score @a задача if entity @e[nbt={...}]
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
В 01.05.2024 в 10:33, DasGortyCH сказал:

А при каких условиях команда должна работать? К слову, вкладывать несколько execute в другие execute — плохая идея. Их вполне можно записывать в один execute: /execute if unless as @a at @e run command

Команда работает в один тик, поэтому второе условие не работает. Я пытался поделить команду на два КБ, но это бесполезно.

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

3 минуты назад, Мюрел сказал:

Команда работает в один тик, поэтому второе условие не работает. Я пытался поделить команду на два КБ, но это бесполезно.

Смотри:

Цикличный — мы должны каждый такт отслеживать изменение. Триггером (счётчиком) этого изменения может быть какой-нибудь скорборд, например, счётчик смертей.

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

Это удобнее делать в функциях, но и в командых блоках с применением цепных разновидностей это тоже вполне возможно.

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

В 01.05.2024 в 18:52, PSEUDO сказал:

Плохо сформулировал вопрос. В твоем коде, КБ будет каждый раз добавлять единицу к счетчику, если найдет сущность с nbt-тегом. Но поскольку, КБ цикличный, он будет зацикленным. Если я правильно тебя понял, то вместо прибавления единицы, просто нужно записывать кол-во этих сущностей в счетчик:

execute store result score @a задача if entity @e[nbt={...}]

Тебя сбил с толку параметр nbt в селекторе, который выступал в роли в примера, поэтому ты не понял что я имел ввиду. Что я делаю: при нажатии на кнопку я активирую компаратор, чьё состояние считывает цикличный КБ(execute if data block ~ ~ ~ {OutputSignal:15}). То есть, мне нужно, чтобы цикличный КБ, постоянно проверяя состояние компаратора, добавлял единицу в счётчик при активации компаратора. Примечание: именно чтобы добавить единицу, а не перезаписывал данные счётчика.

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

4 минуты назад, DasGortyCH сказал:

Смотри:

Цикличный — мы должны каждый такт отслеживать изменение. Триггером (счётчиком) этого изменения может быть какой-нибудь скорборд, например, счётчик смертей.

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

Это удобнее делать в функциях, но и в командых блоках с применением цепных разновидностей это тоже вполне возможно.

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

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

4 минуты назад, Мюрел сказал:

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

А Я предложил однократный?)

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

4 минуты назад, DasGortyCH сказал:

А Я предложил однократный?)

Чё то я не понял. Как я должен использовать твою схему, если она не касается того, что я задумал? Мне нужна проверка состояния компаратора, чтобы при активации последнего выполнялось условие цикличного КБ, и, не перезаписывая данные, добавлялась единица в счётчик.

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

Just now, Мюрел said:

Чё то я не понял. Как я должен использовать твою схему, если она не касается того, что я задумал? Мне нужна проверка состояния компаратора, чтобы при активации последнего выполнялось условие цикличного КБ, и, не перезаписывая данные, добавлялась единица в счётчик.

Я предлагаю использовать отдельный триггер, который мы и будем перезаписывать, когда он равен чему угодно, кроме нуля :3

А вместе с его сбросом выполнять нужные команды

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

9 минут назад, DasGortyCH сказал:

А Я предложил однократный?)

В общем, мой косяк, ведь я не сформулировал вопрос корректно. Но это уже неважно, ибо я решил проблему: execute if data block ~ ~ ~ {OutputSignal:15} (компаратор извлекает сигнал из цикл. КБ, и активирует импульсный КБ с командой, Всё короче.

1 минуту назад, DasGortyCH сказал:

Я предлагаю использовать отдельный триггер, который мы и будем перезаписывать, когда он равен чему угодно, кроме нуля :3

А вместе с его сбросом выполнять нужные команды

Я уже понял. Короче забей, ты время потратил на меня лол..

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

Just now, Мюрел said:

В общем, мой косяк, ведь я не сформулировал вопрос корректно. Но это уже неважно, ибо я решил проблему: execute if data block ~ ~ ~ {OutputSignal:15} (компаратор извлекает сигнал из цикл. КБ, и активирует импульсный КБ с командой, Всё короче.

Жаль, не получилось сразу помочь.

В любом случае, хорошо, удачи!

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

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

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

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

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

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

Войти

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

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

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...
Симулятор Программиста Кликер взлом (Мод свободные покупки) v 1.2.23 на Андроид скачать Какая у вас погода? - Беседка - Майнкрафт форум Pro) для Android. Скачать EA Sport FC 24 3.1 МОД (Полная Версия) на Андроид HappyMod APK Download - Загрузите приложение HappyMod и миллионы Android Mod APK на hap.ramflor.ru.