Перейти к содержимому
  • 0
Lincoln_Smith

не работает программа

Вопрос

У меня сзади компьютера подключена шина из project red. К ней по белому проводу подключен рычаг а к красному лампа.

print("TESTINGGG")
local whitein = rs.getBundledInput("back", colors.white)
if whitein == "1" then
  rs.setBundledOutput("back", colors.red)
end

когда нажимаю на рычаг ничего не происходит хотя когда перехожу в режим луа на компе то он выдаёт (1 при включенном рычаге) и (0 при выключенном)

что я делаю не так и как оно вообще должно работать?

 

Поделиться сообщением


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

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

6 часов назад, Lincoln_Smith сказал:

if whitein == "1" then

Думаю, ошибка в этой строке. Если верить документации,  rs.getBundledInput("back", colors.white) возвращает булево значение, а не числовое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, eu_tomat сказал:

Думаю, ошибка в этой строке. Если верить документации,  rs.getBundledInput("back", colors.white) возвращает булево значение, а не числовое.

а что мне тогда делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, Lincoln_Smith сказал:

а что мне тогда делать?

Если моё понимание документации верно, следует заменить строку if whitein == "1" then на if whitein then.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, eu_tomat сказал:

Если моё понимание документации верно, следует заменить строку if whitein == "1" then на if whitein then.

Не неработает. Я вообще незнаю что делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, Lincoln_Smith сказал:

Не неработает. Я вообще незнаю что делать

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

 

В 10.07.2025 в 08:00, Lincoln_Smith сказал:

когда перехожу в режим луа на компе то он выдаёт (1 при включенном рычаге) и (0 при выключенном)

Как ты выполняешь проверку в режиме Lua?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 10.07.2025 в 14:13, eu_tomat сказал:

возвращает булево значение

документация к cc tweaked говорит что оно таки возвращает число, но если оно работает в "режиме луа" (я так понимаю имеется ввиду repl), но не работает само по себе - дело может быть не в возвращаемых значениях.

 

Думаю в данном случае стоит проверить вот такой вариант:

while true do
     os.pullEvent("redstone")
     print(rs.getBundledInput("back", colors.white))
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Fukuro сказал:

документация к cc tweaked говорит что оно таки возвращает число, но если оно работает в "режиме луа" (я так понимаю имеется ввиду repl), но не работает само по себе - дело может быть не в возвращаемых значениях.

Возможно, я открыл кривую документацию. Сам я сейчас далеко от Майнкрафта, поэтмоу проверять не буду.

 

16 часов назад, Lincoln_Smith сказал:

Не неработает. Я вообще незнаю что делать

Я, кажется, понял.

В 10.07.2025 в 08:00, Lincoln_Smith сказал:

if whitein == "1" then

Если whitein является числом, то такое сравнение некорректно. Убери кавычки от единицы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 11.07.2025 в 17:58, Fukuro сказал:

документация к cc tweaked говорит что оно таки возвращает число, но если оно работает в "режиме луа" (я так понимаю имеется ввиду repl), но не работает само по себе - дело может быть не в возвращаемых значениях.

 

Думаю в данном случае стоит проверить вот такой вариант:


while true do
     os.pullEvent("redstone")
     print(rs.getBundledInput("back", colors.white))
end

 

Да теперь он показывает 1 и 0 но как мне это встроить в мой код?

или как правильно должен выглядеть этот код

Поделиться сообщением


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

получилось так но со строчкой while true do не работает

лампочка загорается

image.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 19.07.2025 в 21:11, Lincoln_Smith сказал:

строчкой while true do не работает

На самом деле странно, так как без использования цикла оно должно отрабатывать только один раз, суть то простая - ждём пока изменится сигнал редстоуна (через os.pullEvent), читаем значения, всё. Перепроверил сейчас внутри майнкрафта, всё работает, да и по идее не может оно не работать при простом добавлении цикла. оно ошибки не выдавало никакие?

Поделиться сообщением


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...