stripwire
-
Публикации
40 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем stripwire
-
-
чёт не работайт
local e = require("event") local component = require("component") local term = require("term") local modem = component.modem modem.open(1) modem.broadcast(1,"nanomachines", "setResponsePort", 1) modem.broadcast(1,"nanomachines", getHealth) local a,b,c,d,f,g,h,h1,h2,h3 = e.pull("modem_message") print(a) print(b) print(c) print(d) print(f) print(g) print(h) print(h1) print(h2) print(h3) -
Если ты имеешь в виду как очистить экран, то можно так
--подключаем библиотеку local term = require("term") --команда очистить терминал term.clear()А если переменную
local _,_,_,_,_,h1,h2,h3 = e.pull("modem_message")то можно её не очищать , данные в ней заменятся при следующем ответе на сообщение модема, на то она и переменная
И ты мог бы код не в виде скриншота вставлять, а виде кода. В сообщении есть кнопочка с надписью КОД
на счёт очистки переменных я думал, что в e.pull(modem_massage) остаётся старый вывод и тоже пишится в переменные, а потом новый
-
-
как сообщения от нанороботов чистить то?
-
Блин, откуда у тебя в эмуляторе могут быть нанороботы?

да, да, знаю, прост для начала тут тесчу
-
-
-
все смешалось в доме Облонских ... либы не работают, наниты не отвечают, бродкасты не ловятся, кони не бегают и крипы не взрываются... .
Давай так, начни с того, что для начала отдельно поработай с модемом, потом с таблицами, потом с либами, на самых простых примерах убедись, что ты правильно все делаешь и что твоя либа, которая просто прибавляет А к Б, работает. Потом составь какую-то простую таблицу и поработай с ней, потом функцию....
А потом перейдем к нанитам
А то ты там в либе объявил пустую таблицу, потом какие-то фанкшины непонятные напихал, отретурнил ее же, эту пустую таблицу, и ждешь, чтобы что-то работало и наниты что-то делали.ну, значит я опять не понял по гайду как делать библиотеки] да и ещё одну ошибку нашёл, ладно, будем разбираться]
-
так как это сделать?
-
-
-
type, currentHP, maxHP = component.modem.broadcast(1, "nanomachines", "getHealth") print('Текущее знач. HP: '..currentHP) print('Макс. знач. HP: '..maxHP)примерно так и предполагал, но там вот шо ещё написано, и из-за этого я запутался
взвращаются данные так же через модем, через тот самый указанный порт. Так что не забудьте открыть его (modem.open(PORT)) и указать получение данных через event.pull("modem_message").ну, lua я учил по нескольким гайдам по ~20 минут, а понять скорее всего сложно потому, что практики вообще не было, из-за этого плохо помню синтаксис, ну а остальное из-за незнания стандартных библиотек
-
по моему не так, вот кусок гайда
- getHealth():String,Number,Number. Значит, возвращает количество здоровья (текущее и максимальное). Чтобы не отвлекаться в дальнейшем, скажу сразу, что взвращаются данные так же через модем, через тот самый указанный порт. Так что не забудьте открыть его (modem.open(PORT)) и указать получение данных через event.pull("modem_message"). Формат данных: "modem_message", "адрес сетевухи на текущем компе", "адрес наноботов", порт, расстояние, "nanomachines", возвращаемые данные.... В данной функции возвращаемые данные: "health", 15, 20, где 15 — текущее, а 20 — максимальное состояния здоровья.
http://computercraft.ru/blog/3/entry-436-oc-tutorial-tutorial-po-nanobotam/
но я как всегда не понял, как это должно выглядеть в целом[
я так понимаю, что это должно выглядить примерно вот так
component.modem.broadcast(1, "nanomachines", getHealth())
но вот куда пойдёт вывод, хрен его знает [[
и как убрать серое выделение некоторых слов? а то мешается
-
как можно получить значения возвращаемые командой например getHealth() и записать их в таблицу, ну или в несколько переменных? и поподробнее пж
-
У тебя чисто академический интерес или ты написал две программы, которые вместе в оперативу не влазят?
Можно сделать небольшой загрузчик с буфером FIFO, который будет запускать программы по очереди.
ну в оперативу то они влезут, просто там несколько gui файлов, и получится так, что при хождении между gui меню и другими программами всё больше и больше будет грузиться оператива, и однажды она закончится...
-
В первой программе пишешь такую строчку
os.execute("program2")где "program2" - имя файла второй программы.
Вот только формально первая программа завершится не сразу, а после завершения второй.
мдэ, не очень хорошо. а по другому можно? а то так оперативу же будет жрать
-
Есть две программы в разных файлах. Как сделать так, чтобы первая программа запустила вторую, а сама закрылась?
-
Огромное спасибо за подробное объяснение. Теперь даже больше понял, чем просто как сохранять и загружать таблицы].
-
str_data это строка, считанная из файла и содержащая таблицу в строковом виде.
то есть str_data менять не надо, а путь при сохранении/загрузке он сам находит?
serialization = require('serialization')
tbl = {}
str_data = serialization.serialize(tbl) -- сохранение
tbl = serialization.unserialize (str_data) -- загрузка
так? [прост странно, что путь не надо писать ._., и куда тогда он будет сейвить?]
-
table = serialization.unserialize (str_data)тут я так понимаю на table имя таблицы в которую грузить значения, а на str_data путь к файлу с сохранённой таблицей?
-
function table.fromFile(path)checkArg(1, path, "string") if filesystem.exists(path) then if filesystem.isDirectory(path) then error("\"" .. path .. "\" is a directory") else local file = io.open(path, "r") local data = table.unserialize(file:read("*a")) file:close() return data end else error("\"" .. path .. "\" doesn't exists") end endпросто только учусь делать проги для opencomp, и хочется разобраться что и для чего в коде, а не просто пользоваться готовым кодом.
вот например, что не понимаю:
1. куда писать имя таблицы, которую сохраняем?
2.
checkArg(1, path, "string")
if filesystem.exists(path) then
if filesystem.isDirectory(path) then
error("\"" .. path .. "\" is a directory")
что делает каждая из этих строк?
3.
local data = table.unserialize(file:read("*a"))
что это и зачем вызывать функцию загрузки?
кароче, почти ничего из того кода не понял[
-
-
ясно, придётся делать отдельный установщик, спс!
и такой вопрос, стандартные библиотеки тоже нужно качать и подключать, или можно просто подключить?
-
Что значит w+?
вроде как полная перезапись файла









Получение ответа от нанороботов
в Разные (отсортировать)
Опубликовано:
исправил, тоже самое