RAPD123 4 Опубликовано: 20 декабря 2018 (изменено) Я решил попробовать написать софт для OpenComputers и написал небольшую софтину для получения информации о системе. Текущая версия: 2.0 Изменения в 2.0: Появились некоторая дополнительная информация о роботах В конце вместо противного писка звук 1000 длиной 0.1 секунду и 1500 длиной в 0.15 секунд Во всех значениях пропали числа после запятой Изменения в 1.01: ОЗУ теперь в КБ !Скриншоты версии: 1.0! Исходный код v 2.0: https://pastebin.com/4xEfjANx Скачать v. 2.0 (нужна интернет карта): pastebin get 4xEfjANx /bin/status.lua Исходный код v 1.01: https://pastebin.com/HtrMUj5p Скачать v 1.01 (нужна интернет карта): pastebin get HtrMUj5p /bin/status.lua Для запуска введите команду 'status' Скриншоты на ПК и роботе: Изменено 21 декабря 2018 пользователем RAPD123 UPDATE 3 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 ОЗУ в байтах неудобно, подели на тысячу, в килобайтах намного приятнее(и понятнее). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 1 час назад, BrightYC сказал: ОЗУ в байтах неудобно, подели на тысячу, в килобайтах намного приятнее(и понятнее). Спасибо за совет. Попробую написать код Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 (изменено) 13 минут назад, RAPD123 сказал: Спасибо за совет. Попробую написать код А чего там писать то? Всё же вроде просто: print("Всего ОЗУ:", computer.totalMemory() / 1024) print("Свободно ОЗУ:", computer.freeMemory() / 1024) Изменено 20 декабря 2018 пользователем BrightYC 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 Только что, BrightYC сказал: А чего там писать то? Всё же вроде просто: print("Всего ОЗУ:", computer.totalMemory() / 1000) print("Свободно ОЗУ:", computer.freeMemory() / 1000) Всё так просто? Тогда в течении часа будет апдейт Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 2 минуты назад, BrightYC сказал: А чего там писать то? Всё же вроде просто: print("Всего ОЗУ:", computer.totalMemory() / 1000) print("Свободно ОЗУ:", computer.freeMemory() / 1000) 1024 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 401 Опубликовано: 20 декабря 2018 Неплохо! Для робота можно информации чуть больше выводить, например объем инвентаря, его заряд. Ну и можно добавить информацию по количеству свободных компонентов, чтобы не получать перегрузку и экран смерти. 2 минуты назад, BrightYC сказал: Всё же вроде просто: print("Всего ОЗУ:", computer.totalMemory() / 1000) print("Свободно ОЗУ:", computer.freeMemory() / 1000) Мат часть подучи, не 1000 а 1024 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 (изменено) 4 минуты назад, NEO сказал: 1024 Ничего не знаю, в гуголе пишет 1000 Изменено 20 декабря 2018 пользователем BrightYC Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 401 Опубликовано: 20 декабря 2018 Только что, BrightYC сказал: Ничего не знаю, в гуголе пишет 1000 Верь ему больше Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 Как можно убрать числа после точки? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 Только что, Asior сказал: Верь ему больше Кому верить тогда? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 Только что, BrightYC сказал: Кому верить тогда? 1024. Но КиБ вроде 1000, а КБ 1024 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 Всё, посмотрел, действительно, 1024 Килоба́йт (русское обозначение: Кбайт; международное: Kbyte, KB)[1] — единица измерения количества информации, равная 1024 байт. Не бейте пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 2 минуты назад, BrightYC сказал: Ничего не знаю, в гуголе пишет 1000(Сам удивился, всегда думал что 1024, объясните, почему 1024, а не 1000) Если не хочешь знать, увы я ничем не помогу. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 Только что, NEO сказал: Если не хочешь знать, увы я ничем не помогу. Хочу конечно, меня просто дезинформировали. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 6 минут назад, Asior сказал: Для робота можно информации чуть больше выводить, например объем инвентаря, его заряд. Я когда нибудь реализую это. Пока что немного лень) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 401 Опубликовано: 20 декабря 2018 4 минуты назад, RAPD123 сказал: Как можно убрать числа после точки? Вообще это лечится 2 способами: Перевод в другой тип данных tonumber(x) tostring(x) Путем округления в большую или меньшую сторону math.ceil(x) math.floor(x) Путем обрезания лишних частей (лень искать, сам найдешь) 2 минуты назад, RAPD123 сказал: Я когда нибудь реализую это. Пока что немного лень) Чего там реализовывать то? Пару условий да готово. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 4 минуты назад, BrightYC сказал: Хочу конечно, меня просто дезинформировали. дело в том что в двоичных системах хранения данных принято считать объём памяти связывая его двойкой со степенью, 2^10 = 1024 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 1 минуту назад, Asior сказал: Путем обрезания лишних частей (лень искать, сам найдешь) local целое, дробное = math.modf(float) 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 2 минуты назад, Asior сказал: Вообще это лечится 2 способами: Перевод в другой тип данных tonumber(x) tostring(x) Путем округления в большую или меньшую сторону math.ceil(x) math.floor(x) Путем обрезания лишних частей (лень искать, сам найдешь) Чего там реализовывать то? Пару условий да готово. Моему мозгу сложно продумать сейчас if'ы, then'ы и else'ы Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 1 минуту назад, NEO сказал: дело в том что в двоичных системах хранения данных принято считать объём памяти связывая его двойкой со степенью, 2^10 = 1024 Вот это странно, значит то что мы называем килобайтами - на деле "Кибибайт"? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 1 минуту назад, NEO сказал: local целое, дробное = math.modf(float) Как получить этот local? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 258 Опубликовано: 20 декабря 2018 Просто приставка "кило" - это приставка из системы СИ. И равна 1000. Но по русским ГОСТам принято считать "кило" за 1024. Плюс многие компании считают так же. А вот производители флешек часто пишут в системе СИ, чтобы число больше было. По системе СИ, для множителя 1024 надо использовать приставку "киби" - "кибибайт". Так что Google не врет, он просто слишком точен. 2 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 (изменено) 3 минуты назад, BrightYC сказал: Вот это странно, значит то что мы называем килобайтами - на деле "Кибибайт"? Это физика, если ты будешь оперировать в физике с байтами у тебя будет 1000, но в компьютерах исторически сложилось что 1024 Изменено 20 декабря 2018 пользователем NEO Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 3 минуты назад, RAPD123 сказал: Как получить этот local? local - модификатор видимости переменной. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BrightYC 68 Опубликовано: 20 декабря 2018 5 минут назад, Totoro сказал: ... 4 минуты назад, NEO сказал: ... Ага, спасибо всем кто объяснил, теперь буду знать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 1 минуту назад, NEO сказал: local - модификатор видимости переменной. Можно пример кода чтобы я понял куда его пихать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 2 158 Опубликовано: 20 декабря 2018 1 минуту назад, RAPD123 сказал: Можно пример кода чтобы я понял куда его пихать? local a, b = math.modf(3.14) print(a, b) ------------- a=3 b=0.14 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RAPD123 Автор темы 4 Опубликовано: 20 декабря 2018 @BrightYC тут можно через собачку призывать Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 401 Опубликовано: 20 декабря 2018 2 минуты назад, RAPD123 сказал: Можно пример кода чтобы я понял куда его пихать? https://pastebin.com/zjiKv5F0 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах