Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

Внимание, с 14 февраля до 20 февраля могут проходить работы на сервере, где также находится лаунчсервер. В связи с этим авторизация в лаунчере может не работать

RAPD123

Информация об устройстве

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

Я решил попробовать написать софт для 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'

Скриншоты на ПК и роботе:

911e72341914356484e346d17df25e17.png

881f20a98acf35f38e47af5f87f8086d.png

Изменено пользователем RAPD123
UPDATE
  • Like 3

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


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

ОЗУ в байтах неудобно, подели на тысячу, в килобайтах намного приятнее(и понятнее).

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


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

ОЗУ в байтах неудобно, подели на тысячу, в килобайтах намного приятнее(и понятнее).

Спасибо за совет. Попробую написать код

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


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

Спасибо за совет. Попробую написать код

А чего там писать то? 
Всё же вроде просто:
print("Всего ОЗУ:", computer.totalMemory() / 1024)
print("Свободно ОЗУ:", computer.freeMemory() / 1024)

Изменено пользователем BrightYC
  • Thanks 1

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


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

А чего там писать то? 
Всё же вроде просто:
print("Всего ОЗУ:", computer.totalMemory() / 1000)
print("Свободно ОЗУ:", computer.freeMemory() / 1000)

Всё так просто? Тогда в течении часа будет апдейт

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


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

А чего там писать то? 
Всё же вроде просто:
print("Всего ОЗУ:", computer.totalMemory() / 1000)
print("Свободно ОЗУ:", computer.freeMemory() / 1000)

1024

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


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

Неплохо! Для робота можно информации чуть больше выводить, например объем инвентаря, его заряд. Ну и можно добавить информацию по количеству свободных компонентов, чтобы не получать перегрузку и экран смерти.

2 минуты назад, BrightYC сказал:

Всё же вроде просто:
print("Всего ОЗУ:", computer.totalMemory() / 1000)
print("Свободно ОЗУ:", computer.freeMemory() / 1000)

Мат часть подучи, не 1000 а 1024

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


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

1024

Ничего не знаю, в гуголе пишет 1000
63b7e5f2c70bcfe0543bf82ae06cb3e8.png

Изменено пользователем BrightYC

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


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

Ничего не знаю, в гуголе пишет 1000

Верь ему больше

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


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

Как можно убрать числа после точки?

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


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

Верь ему больше

Кому верить тогда?

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


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

Кому верить тогда?

1024. Но КиБ вроде 1000, а КБ 1024

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


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

Всё, посмотрел, действительно, 1024
Килоба́йт (русское обозначение: Кбайт; международное: Kbyte, KB)[1] — единица измерения количества информации, равная 1024 байт.
Не бейте пожалуйста

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


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

Ничего не знаю, в гуголе пишет 1000(Сам удивился, всегда думал что 1024, объясните, почему 1024, а не 1000)
63b7e5f2c70bcfe0543bf82ae06cb3e8.png

Если не хочешь знать, увы я ничем не помогу. 

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


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

Если не хочешь знать, увы я ничем не помогу. 

Хочу конечно, меня просто дезинформировали. 

 

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


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

Для робота можно информации чуть больше выводить, например объем инвентаря, его заряд.

Я когда нибудь реализую это. Пока что немного лень)

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


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

Как можно убрать числа после точки?

Вообще это лечится 2 способами:

  • Перевод в другой тип данных tonumber(x) tostring(x)
  • Путем округления в большую или меньшую сторону math.ceil(x) math.floor(x)
  • Путем обрезания лишних частей (лень искать, сам найдешь)
2 минуты назад, RAPD123 сказал:

Я когда нибудь реализую это. Пока что немного лень)

Чего там реализовывать то? Пару условий да готово.

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


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

Хочу конечно, меня просто дезинформировали. 

 

дело в том что в двоичных системах хранения данных принято считать объём памяти связывая его двойкой со степенью, 2^10 = 1024

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


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

Путем обрезания лишних частей (лень искать, сам найдешь)

local целое, дробное = math.modf(float)

  • Like 1

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


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

Вообще это лечится 2 способами:

  • Перевод в другой тип данных tonumber(x) tostring(x)
  • Путем округления в большую или меньшую сторону math.ceil(x) math.floor(x)
  • Путем обрезания лишних частей (лень искать, сам найдешь)

Чего там реализовывать то? Пару условий да готово.

Моему мозгу сложно продумать сейчас if'ы, then'ы и else'ы

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


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

дело в том что в двоичных системах хранения данных принято считать объём памяти связывая его двойкой со степенью, 2^10 = 1024

d14ec601ac1639591869c045a7bf08f2.png
Вот это странно, значит то что мы называем килобайтами - на деле "Кибибайт"? 
 

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


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

local целое, дробное = math.modf(float)

Как получить этот local?

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


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

Просто приставка "кило" - это приставка из системы СИ. И равна 1000.

Но по русским ГОСТам принято считать "кило" за 1024. Плюс многие компании считают так же. А вот производители флешек часто пишут в системе СИ, чтобы число больше было.

По системе СИ, для множителя 1024 надо использовать приставку "киби" - "кибибайт".

 

Так что Google не врет, он просто слишком точен.

  • Like 2

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


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

d14ec601ac1639591869c045a7bf08f2.png
Вот это странно, значит то что мы называем килобайтами - на деле "Кибибайт"? 
 

Это физика, если ты будешь оперировать в физике с байтами у тебя будет 1000, но в компьютерах исторически сложилось что 1024

Изменено пользователем NEO

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


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

Как получить этот local?

local - модификатор видимости переменной.

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


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

...

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

...

Ага, спасибо всем кто объяснил, теперь буду знать.
 

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


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

local - модификатор видимости переменной.

Можно пример кода чтобы я понял куда его пихать?

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


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

Можно пример кода чтобы я понял куда его пихать?

local a, b = math.modf(3.14)
print(a, b)

-------------

a=3

b=0.14

  • Thanks 1

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


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×