Перейти к содержанию
mercurial

Отслеживание предметов

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

  • Описание: Требуется программа для отслеживания количества предметов в бочке (из мода storage drawers);
  • Награда: К сожалению не игрок сервера, так что награды нет;
  • Установка: Любые компоненты;
  • Требования: Нужно выводить на монитор сколько сейчас предметов в бочке и так же показывать график изменения.
  • Связь: Топик, личка, vk - /m1ster_robot, дискорд.
Изменено пользователем mercurial

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


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

Бесят такие темки (сделайте за меня, мне лень даже розбиратся в этом) 

Да нормально всё. Бывает, кому-то нужны идеи для программирования. Такие темы помогают заказчику и исполнителю найти друг друга.

 

Но меня смущает формулировка, кочующая из темы в тему:

10.12.2018 в 22:14, mercurial сказал:

Награда: К сожалению не игрок сервера, так что награды нет

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

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


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

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

Он все верно пишет. Там же есть образец, где так прям и сказано. Ну а то что игрок не играет на сервере тут уже не его вина.

10.12.2018 в 22:14, mercurial сказал:

Описание: Требуется программа для отслеживания количества предметов в бочке (из мода storage drawers);

Вот тут вопрос, сколько предметов может быть в бочке в этой? 1/2/4/8 или сколько. С одним теоретически можно график выводить. С 2 уже сложнее будет, а вот если больше предметов тут уже у меня идей даже нет как это реализовать.

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


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

Бесят такие темки (сделайте за меня, мне лень даже розбиратся в этом) 

Когда русский язык выучишь, тогда и пиши пожалуйста сюда, а по делу, то у меня не так много времени и желания учить луа, поэтому пишу сюда.

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


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

Вот тут вопрос, сколько предметов может быть в бочке в этой? 1/2/4/8 или сколько. С одним теоретически можно график выводить. С 2 уже сложнее будет, а вот если больше предметов тут уже у меня идей даже нет как это реализовать.

Мне нужно один предмет выводить, и храниться в ней будет только один предмет, древесный уголь.

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


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

Угу, понятно. Курю тогда как работают гистограммы и графики. Как будет время накатаю. Вроде все просто, но надо тестить.

Библиотека для создания гистограмм и прогрессбаров

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

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


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

Так, программка готова. Рекомендую размер экрана 3х2. Хотя вроде должно нормально работать и на экранах большего размера. Рядом (сверху/снизу/неважно короче) с бочкой надо поставить адаптер. Его подключить к компьютеру. По устройству компьютера требований вообще никаких, что запихаешь то и будет.

Установка программы в 2 шага:

Загрузка библиотеки:

  • pastebin get -f wchQZtZB /lib/charts.lua

Загрузка программы:

  • pastebin get -f mSRmMS72 Graf_drawer.lua

Рекомендую вручную вбивать команды, а то при копировании лезет дополнительная информация в буфер обмена и ОС начинает глючить.

Ну и скрин, как это выглядит:

FYkZKOs.png

Обновляется программа каждую 1 секунду, но график меняется только при изменении количества предметов, что там заложены. Название предмета, если ты играешь на сервере может выводиться на каком-то другом языке (зависит от настроек сервера)

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


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

@Asior, а не приведёт ли постоянное добавление новых записей в таблицу payload.values к переполнению памяти?

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


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

@Asior можешь график немного поменять?  Примерно такой, желательно всё что выше середины зеленое, ниже - красное. Как в машине тесла

 

Безымянный.png

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

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


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

@Asior а так же вторую строчку передвинуть на верх, там где 1 строчка, и объем не нужно писать сколько может вместить, нужно только сколько сейчас хранится, потому что у меня там большие цифры, по 30к

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


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

@Asior при включении программы, не важно сколько было бы в бочке предметов, он брал начальное значение за середину этого графика, если идет профит, то график ползет вверх, если наоборот, то вниз. Я бы сам попробовал написать программки, но я к сожалению плохо воспринимаю материал, когда сам пытаюсь понять, я очень хорошо понимаю, когда мне какой-нибудь человек рассказывает, а еще при этом показывает на примере.

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


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

@Asior, а не приведёт ли постоянное добавление новых записей в таблицу payload.values к переполнению памяти?

Как ни странно, но память не переполняется. Или у библиотеки есть очистка, или я хз. Память потихоньку растет, а потом падает.

17 часов назад, mercurial сказал:

Как в машине тесла

Это то тут причем? Непонятно, но смысл как переделать я понял.

 

14 часов назад, mercurial сказал:

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

Лень уже добавлять это, программу уже переписал по другому. Следующим сообщением добавляю программу.

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


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

Программка почти не изменилась, просто использует другой тип графика.

IypdSoo.png

Конечно тут речи никакой не идет о тонкой линии которая будет чертить график, я использовал то что есть в уже готовой библиотеке.

Для работы программы все так-же требуется адаптер. К требованиям компьютера изменений нет, все так-же что запихаешь то и будет работать. Единственное что поменял, это теперь график не имеет никаких ограничений по размерам экрана. Да и вообще никакая информация кроме графика больше не рисуется. Проверка на изменения количества ресурсов в бочке проводится раз в секунду, если изменений нет, график не отрисовывается. График показывается следующим образом: 

Берется максимально допустимое количество ресурсов, что можно запихать в бочку, и делится пополам. Все что выше половины то отрисовывается зеленым, если уровень ресурсов падает ниже середины, то отрисовка проходит красным.

Установка программы в 2 шага:

Загрузка библиотеки:

  • pastebin get -f wchQZtZB /lib/charts.lua

Загрузка программы:

  • pastebin get -f zjiKv5F0 Graf_drawer.lua

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


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

@Asior подожди, программа отслеживает только поступление предметов? Я думал она постоянно график делает.

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


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

А как часто у тебя происходит изменение количества предметов?

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


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

@Asior подожди, программа отслеживает только поступление предметов? Я думал она постоянно график делает.

График рисуется в рамках условий ТЗ:

10.12.2018 в 22:14, mercurial сказал:

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

Про график изменений сказано, а про неизменность речи не было. Да и сделать это не сложно, надо всего лишь одно условие отключить в программе.

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


Ссылка на сообщение
Поделиться на другие сайты
14.12.2018 в 16:08, mercurial сказал:

Я думал она постоянно график делает.

Это можешь и сам исправить достаточно закомментировать или удалить строки

46, 47, 53.

Если график будет слишком быстро рисоваться (как по мне он рисуется очень быстро) то можешь поиграть со значением os.sleep(1)

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


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

@Asior, что-то в текущей версии код усложнился, а кое-где явно избыточно. Например, в этом фрагменте

  if drawer.getItemCount(1) == 0 then
    gr = payload.min
  else
    gr = -(drawer.getMaxCapacity(1)/2-drawer.getItemCount(1))
  end

достаточно было бы написать:

  gr = payload.min+drawer.getItemCount(1)

Похоже на незавершённую попытку добавить какую-то новую фичу.

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


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

Похоже на незавершённую попытку добавить какую-то новую фичу.

Скорее на очередной мой костыль "Добраться из точки А в точку Б можно по прямой, но это скучно поэтому пойдем через весь алфавит рандомом".

Как-то я не уверен, что такой код сработает. Но спасибо за подсказку. (и да, это вообще никакая не фича а просто попытка затолкать данные в этот график)

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


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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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


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