Grobovshik5121 0 Опубликовано: 18 марта, 2021 Хотел написать короткую програмку для полуавтоматических дверей, но выбивает ошибку, а так как я полный валянок в Lua прошу подсказки где я не прав. Вот код: while true do F = redstone.getInput("front") if (F == true) then redpulse("back", 1, 6) end sleep(1) end Ошибка появляется при подаче сигнала на front и выглядит таким образом: , temp:4: attempt to call nil Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS 1 903 Опубликовано: 19 марта, 2021 15 минут назад, Grobovshik5121 сказал: Я полнейший валянок, что значит определена? Это значит, что она где-то создана в проге. Ты в этой жизни определен в свидетельстве о рождении под какую-то конкретную дату с сопутствующей инфой о месте регистрации. С функциями (командами) та же история: они имеют имя, тело (код, который они выполняют) и место определения в проге (номер строки) 15 минут назад, Grobovshik5121 сказал: Эта команда вроде как одна из встроеных в компах Да, но это консольная команда, а не команда для обращения к редстоун-модулю из кода. Чтобы заставить свою прогу работать, ты можешь глянуть на исходный код redpulse.lua и модифицировать его под свои нужды: while true do F = redstone.getInput("front") if F then -- Либо используешь собственный код redstone.setOutput("back", true) sleep(3) redstone.setOutput("back", false) sleep(3) -- Либо запускаешь оригинальный redpulse, без разницы shell.run("redpulse back 1 6" ) end sleep(1) end 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 18 марта, 2021 44 минуты назад, Grobovshik5121 сказал: while true do F = redstone.getInput("front") if (F == true) then redpulse("back", 1, 6) end sleep(1) end Ошибка появляется при подаче сигнала на front и выглядит таким образом: , temp:4: attempt to call nil Ошибка сообщает о попытке вызвать неопределённую функцию. Как определена функция redpulse? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 18 марта, 2021 (изменено) @Grobovshik5121 функция redpulse() существует ? оставлю пару примеров для OpenComputers Скрытый текст local component = require("component") local sides = require("sides") local redstone = component.redstone while true do if redstone.getInput(sides.front) >= 10 then redstone.setOutput(sides.back,15) else redstone.setOutput(sides.back,0) end os.sleep(1) end этот вариант использует библиотеку sides чтоб управлять сторонами блока с помощью таблицы названий в формате: Низ (bottom): 0 , Верх (top): 1 , Тыл (back): 2 , Перед (front): 3 , Право (right): 4 , Лево (left): 5 Скрытый текст local component = require("component") local redstone = component.redstone while true do if redstone.getInput(3) >= 10 then redstone.setOutput(2,15) else redstone.setOutput(2,0) end os.sleep(1) end тоже самое но без библиотеки sides if redstone.getInput(3) >= 10 then сторона Перед (front): 3 если сигнал больше или = 10 redstone.setOutput(2,15) сторона Тыл (back): 2 15 = сила выдаваемого сигнала (максимум для редстоуна 15) redstone.setOutput(2,0) сторона Тыл (back): 2 0 = сигнал редстоуна выключен os.sleep(1) ждём одну секунду почитай документацию с примерами по OpenComputers/Красная плата на этом же сайте есть примеры по другим компонентам мода Изменено 21 марта, 2021 пользователем serafim Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Grobovshik5121 Автор вопроса 0 Опубликовано: 19 марта, 2021 18 часов назад, serafim сказал: функция redpulse() существует ? Скрытый текст Ну.. Вроде как да, или я что-то не так понял? Или её нужно как-то дополнительно подключить как библиотеку? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Grobovshik5121 Автор вопроса 0 Опубликовано: 19 марта, 2021 19 часов назад, eu_tomat сказал: Ошибка сообщает о попытке вызвать неопределённую функцию. Как определена функция redpulse? Я полнейший валянок, что значит определена? Эта команда вроде как одна из встроеных в компах... Не бейте тапочками 😅 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Grobovshik5121 Автор вопроса 0 Опубликовано: 20 марта, 2021 В 19.03.2021 в 09:45, ECS сказал: -- Либо используешь собственный код redstone.setOutput("back", true) sleep(3) redstone.setOutput("back", false) sleep(3) Данный вариант сработал, всё отлично, огромное спасибо В 19.03.2021 в 09:45, ECS сказал: -- Либо запускаешь оригинальный redpulse, без разницы shell.run("redpulse back 1 6" ) А вот здесь меня, культурно говоря, послали нафиг, с ошибкой о том что программа/команда не существует Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MrAbad 13 Опубликовано: 20 марта, 2021 44 минуты назад, Grobovshik5121 сказал: А вот здесь меня, культурно говоря, послали нафиг, с ошибкой о том что программа/команда не существует для того, чтобы использовать библиотеку shell, ее надо подключить в программу: local shell = require("shell") Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ECS 1 903 Опубликовано: 20 марта, 2021 1 час назад, MrAbad сказал: для того, чтобы использовать библиотеку shell, ее надо подключить в программу: local shell = require("shell") Разве библиотека shell на ComputerCraft не глобальна? И существует ли там вообще require? Не os.loadAPI? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MrAbad 13 Опубликовано: 20 марта, 2021 5 минут назад, ECS сказал: Разве библиотека shell на ComputerCraft не глобальна? И существует ли там вообще require? Не os.loadAPI? Тю, это разве CC? Если так, то дико извиняюсь, и советую перейти на OC аффтару Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Grobovshik5121 Автор вопроса 0 Опубликовано: 21 марта, 2021 18 часов назад, MrAbad сказал: Тю, это разве CC? Если так, то дико извиняюсь, и советую перейти на OC аффтару Вы имеете ввиду Open Computers? Есть ли какая-то функиональная разница между CC и OC? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MrAbad 13 Опубликовано: 21 марта, 2021 10 минут назад, Grobovshik5121 сказал: Вы имеете ввиду Open Computers? Есть ли какая-то функиональная разница между CC и OC? OpenComputers сложнее, чем ComputerCraft, но у него сильно больше функциональности Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Grobovshik5121 Автор вопроса 0 Опубликовано: 21 марта, 2021 33 минуты назад, MrAbad сказал: OpenComputers сложнее, чем ComputerCraft, но у него сильно больше функциональности Мне бы с СС разобратся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Хотел написать короткую програмку для полуавтоматических дверей, но выбивает ошибку, а так как я полный валянок в Lua прошу подсказки где я не прав.
Вот код:
while true do
F = redstone.getInput("front")
if (F == true) then
redpulse("back", 1, 6)
end
sleep(1)
end
Ошибка появляется при подаче сигнала на front и выглядит таким образом:
, temp:4: attempt to call nil
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах