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

Не(Автоматический) магазин

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

Для тех, кто торопится: 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

 

Видеодемонстрация:

Скрытый текст

 

 

 

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

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


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

Это рип. Посмотрел в конфиг, вообще рип.

Пимка - рип.

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

AqFY1MU.gif

 

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

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


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

Смотрел только видос.

+ Хороший, минималистичный дизайн

+ Навигация по менюшкам быстрая

- Магаз не умеет искать нужные предметы по всему инвентарю

- Не обойтись одними лишь средствами игры(нужна vds)

 

А что если больше одного игрока встанут на одну PIM?

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


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

Это рип. Посмотрел в конфиг, вообще рип.

Пимка - рип.

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

Пимка разрешена, почему нет. Несложно приделать какого-нибудь робота.
 А что не так с админскими ключами? Да какому-нибудь читаку проще мэ сломать и ресы себе забрать. Ну забрали ключ, поменяю. (Учитывая, что просто открыть конфиг и забрать не получится.).ККакие-то проблемы, которые малореализуемы.

4 часа назад, Doob сказал:

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

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

37 минут назад, hohserg сказал:

- Магаз не умеет искать нужные предметы по всему инвентарю

- Не обойтись одними лишь средствами игры(нужна vds)

 

А что если больше одного игрока встанут на одну PIM?

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

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

 

По поводу пима - пим захватывает инвентарь того игрока, что встал первый. Если стоит два игрока, и авторизовавшийся выйдет - авторизуется тот, что стоял на пим'е

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


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

могут нажатием кнопки продать весь свой инвентарь

Сделай дружественный UI, чтобы юзер не мог неосознанно стрелять себе в ногу

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

что вытаскивать все файлики в случая чего

А какие там файлики вообще хранятся?

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


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

Сделай дружественный UI, чтобы юзер не мог неосознанно стрелять себе в ногу

Да ну его, если честно. На сервере постоянно говорят, мол у меня ресы отобрали, а монеты не дали(думают, что дают серверные монеты). 

Кому надо - пусть переделывает.

Только что, hohserg сказал:

А какие там файлики вообще хранятся?

Ну в основном сейчас в .txt файлах хранятся данные о пользователе. Дата регистрации, последнего входа, баланс, кол-во транзакций, следующее время до бесплатной еды, отзыв.

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


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

Ну, надеюсь точно доделал. 

 

Доделал почти всё что хотел. Из новинок: 

  • Возможность выбрать режим поиска(весь инвентарь/1 слот)
  • Запуск с EEPROM(никаких зависимостей, программа целиком и полностью на голом HDD)
  • Админ-панель. Ну, чтож, теперь "админы" в программе указываются в EEPROM, ибо для обновления/запуска программы требуется знать, кто же администратор. В админ-панели можно банить игроков, обновлять базу данных предметов, вводить терминал в режим тех-работ, удалить ключ с диска.
  • Небольшая переделка интерфейса, так же теперь игроки при первом логине ОБЯЗАНЫ прочитать "помощь"(Это отсеивает игроков, которые не понимают что это вообще такое)
  • Ключ не указывается в программе, его теперь нужно вставлять через буфер обмена. Сохраняется на жёстком диске по пути в корне диска key.lua
  • Немного адекватнее стал конфиг.
  • Добавил openperipheral selector, позволяет показывать предмет, который пользователь выбрал.

И еще куча всяких вещей, вроде того что скроллбар работает с мышью.

К слову, теперь установить программу можно вроде как проще. Прошиваем EEPROM, и она автоматически скачивает программу с репозитория. Обновить можно будет комбинацией клавиш CTRL+D.

 

Появилась утилита автоматического экспорта. Позволяет автоматически экспортировать предметы, если в таблице items указать параметр needed. Будет поддерживать это кол-во в мэ сети, но нужен мост между основной мэ-сетью и сетью магазина. Buffer - это сколько предметов должно быть в сети, чтобы можно было экспортировать предмет(Необязательный параметр). Для работы этого экспорта нужна деревянная мотыга в сети. Даже не спрашивайте зачем :smile3:

 

Пачка скриншотов:

Скрытый текст

TOZD4gX.png
nPZ48P1.png

S9HY10L.png

2f4HnlV.png

YqMtrgd.png

 

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


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

Еще нужна фича автоматического стирания соглашения всем игрокам при обновлении соглашения

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


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

Еще нужна фича автоматического стирания соглашения всем игрокам при обновлении соглашения

а, да это я сам вручную делаю просто. Утилита есть небольшая.

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


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

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

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

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

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

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

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


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