Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 16.11.2019 в Сообщения

  1. 5 баллов
    Для тех, кто торопится: https://github.com/BrightYC/RipMarket/tree/master Всем привет, решил выложить свою программу-магазин. Экономикой, в отличии от не обладает. Так же, интерфейс позаимствован с программы выше. Скажу сразу, программа писалась для себя. Работать без OpenPeripheral/AE2 не будет. Возможности: Продажа/покупка товара Обменник руды(Коэффицент можно настроить в файлике items.lua - ratio) Раздатчик бесплатной еды(Кол-во выдаваемой еды настроить можно только через код =\, но по стандарту - 16 яблок/арбузов) Лотерея(Делалось наспех, для заполнения меню) Инфо-панель(Поддерживает только цвета, настроить можно в начале - FAQ Возможность оставить отзыв об магазине Установка: Настройка, увы, не из простых. Нужно заиметь какой-нибудь vds, так как вся информация хранится на стороне. По стандарту, NodeJS сервер запускается на 1414 порту. После, нужно придумать уникальный ключ, и вставить его в код всех терминалов. Так же, нужно разместить таблицу со всеми предметами, и вставить ссылку в код(В таблице хранится вся информация - какую руду обработать, какая еда доступна к выдаче и т.д) По поводу хранения информации всех пользователей - они хранятся в виде txt файлов в JSON. Хранятся они в относительном пути, где установлен сервер. К примеру: /home/user/pi/ripmarket/users Логи покупок/регистраций хранятся по такому же пути, но вместо users - logs /home/user/pi/ripmarket/logs Монтирование всего в игре - к каждому терминалу нужно подключить PIM, снизу PIM'а мэ интерфейс(мэ интерфейс нужно подключить к МЭ сети). Ко всему этому надо подключить адаптеры. В видео можно увидеть как это всё выглядит в игре. Запуск: Желательно запускать код через start.lua, который есть в репозитории. Так как если будет какая-то ошибка - программа вылетит. Поэтому нужен лаунчер. Все логи терминала(Не путать с сервером!) хранятся в директории /home/logs Видеодемонстрация:
  2. 3 балла
    Всем иногда приходится получать реальное время в OC. Обычно я использую такой код: local fs = require("filesystem") local function getTime() local f = io.open("/tmp/time", "w") f:write("time") f:close() local timestamp = fs.lastModified("/tmp/time") / 1000 + 3600 * 3 --Умножаем на часовой пояс, в моём случае GMT +3 return os.date("%d.%m.%Y %H:%M:%S", timestamp) --Реальное время в формате День.Месяц.Год Час:Минута:Секунда end print(getTime) Тут всё просто и понятно. Открываем файл в (Это важно!) /tmpfs, записываем любое значение, и получаем метку времени последнего изменения файла. Про этот способ, наверное, уже все знают, и тем не менее. И тут недавно меня осенило. Я всегда знал, что эта файловая система есть и на голых компьютерах без ЖД, дронах. Но если /tmpfs есть даже у микроконтроллеров, зачем тянуть время с интернета? Предлагаю вот такой код: local filesystem = component.proxy(computer.tmpAddress()) local function getTime() local handle = filesystem.open("/time", "w") filesystem.write(handle, "time") filesystem.close(handle) local timestamp = filesystem.lastModified("/time") / 1000 + 3600 * 3 return os.date("%d.%m.%Y %H:%M:%S", timestamp) end Этот код будет работать на любом компьютере. Вывод - тянуть время с интернета не нужно - например так сделано у @Asior в теме с бинарными часами: Всё гениальное - просто. @Fingercomp предлагаю добавить этот код сюда https://fingercomp.gitbooks.io/oc-cookbook/content/lua/real-time.html Возможно, это я такой идиот, а все остальные использовали /tmpfs. Но надеюсь кому-то поможет.
  3. 1 балл
    Всем привет. Сегодня вечером сделал довольно простенькую вещицу. Это недо-вирус(Сам себя не распространяет, запускает его злоумышленник) Вообще, если кто не в курсе - эта ошибка возникает у тех, кто хочет сэкономить, и покупает Xiaomi китайской версии(Т.е для продажи только для китайского рынка) и пытаются сделать её глобальной - и в итоге убивают прошивку. Что делает эта штука в OC - перетирает все файловые системы(ака rm -rf /), прошивает EEPROM и делает его ридонли. Запустить довольно просто - работает в MineOS, или OpenOS - запустите его в интерпретаторе, или еще где-нибудь. Код: Полная версия https://raw.githubusercontent.com/BrightYC/Other/master/full-virus.lua Минифицированная https://raw.githubusercontent.com/BrightYC/Other/master/minified-virus.lua
  4. 1 балл
    Здравия всем читающим сей текст, недавно вспомнил про такую вымышленную спецификацию процессора из игры 0x10c под названием DCPU-16, кто с ним знаком? Интересно было бы пообсуждать. IDE: http://www.dcpu-ide.com/
  5. 1 балл
    Зачем такие вопросы задавать? Оффтоп. Почему сразу не выложить проблему, откуда мы знаем насколько разбираемся в коде? может ты квантовый компьютер симулируешь... Или на ассемблере кодишь...
  6. 1 балл
    Ещё способ: filesystem.fsnode.name
  7. 1 балл
    tmpfs — это тоже filesystem. И да, список может поменяться на каждом ребуте.
  8. 1 балл
    Пимка разрешена, почему нет. Несложно приделать какого-нибудь робота. А что не так с админскими ключами? Да какому-нибудь читаку проще мэ сломать и ресы себе забрать. Ну забрали ключ, поменяю. (Учитывая, что просто открыть конфиг и забрать не получится.).ККакие-то проблемы, которые малореализуемы. Тот что был у тебя, меня не устраивал. Но я рад, что кого-то замотивировал. Да и писал я для себя, кому надо - пусть сами разбираются. Мне всё просто и понятно. Я думал так сделать, но просто игроки на сервере могут нажатием кнопки продать весь свой инвентарь, а потом возмущаться, мол ресурсы украли. Мне оно не нужно, если честно. По поводу вдс - сначала был игровой сервер, но потом понял, что вытаскивать все файлики в случая чего - жуткий геморрой. Увы, переделывать обратно я не буду. По поводу пима - пим захватывает инвентарь того игрока, что встал первый. Если стоит два игрока, и авторизовавшийся выйдет - авторизуется тот, что стоял на пим'е
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...