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

Поиск по сайту

Результаты поиска по тегам 'openperipherals'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Робот Байт
  • Fingercomp's Playground
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире Майнкрафт
  • LaineBlog
  • Квантовый блог
  • Блог qwertyMAN'а
  • some blog name
  • Дача Игоря
  • Путешествия Xytabich'а
  • Рецепты программирования
  • Шкодим по крупному
  • 123
  • mineOS и её удивительный мир
  • Поляна говнокода Bumer 32

Форумы

  • Программирование
    • Программы
    • База знаний
    • Разработчикам
    • Вопросы
  • Игровой раздел
    • Игровые серверы
    • Моды и плагины
    • Жалобы
    • Ивенты и конкурсы
    • Файлы
  • Общение
    • Задать вопрос
    • Обратная связь
    • Беседка
    • Шкатулка
  • Технический раздел
    • Корзина

Группы продуктов

Нет результатов для отображения.


Искать результаты в...

Искать результаты, которые...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


ВКонтакте


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 2 результата

  1. По стечению обстоятельств выкладываю немного не дописанный (разработка продолжается), но в рабочем состоянии магазинчик внутриигровых предметов. репозиторий: https://github.com/Zardar/pimmarket/ ссылка для загрузки: https://raw.githubusercontent.com/Zardar/pimmarket/pimmarket_0.8/loader.lua Что подтверждено на практике: Работа сервера с четырьмя клиентами Что на данный момент реализовано: Взаимодействие с клиентом/сервером путём касания экрана. Игногрирование касаний экрана посторонними при игроке на PIM. Полное игнорирование касаний экрана без игрока на PIM. Авторегистрация владельца/цев через пим подключенный к серверу. Авторегистрация игроков через пим подключенный к клиенту. Поддержка ме-сети в качестве источника товаров. Поддержка указанных сундуков в качестве источника товаров, если не подключен ме-интерфейс. Из коробки это сундуки мод-пака GTImpact. Собственно сама продажа предметов. В качестве источника средств используется NPC money. Регистрация клиентов на терминале. +Автоматический запрос регистрации клиентом. Сохранение адресов клиентов сервером. Их загрузка из файла в случае перезапуска сервера. Сохранение списка владельцев. Сохранение списка посетителей магазина и их баланс. Автовключение клиентов после запуска сервера. Вам достаточно прописать на клиенте его название в автозагрузку для автоподнятия торговой сети если всё было выключено. Редактирование цен и названий отображаемых предметов владельцем. Переход в режим редактирования осуществляется кликанием по надписи owner в верхнем левом углу. Автосохранение базы предметов после редактирования. Автообновление количества доступных предметов после покупки и по нажатию кнопки 'отмена' (как бы странно это ни было). Что на данный момент не реализовано: Поиск предмета по названию. Пополнение счёта без осуществления покупки. В данный момент счёт пополняется остатками от операции покупки товара, а именно: если цена предмета неравна целому от операции цена/10. Не планировалось изначально. Будет добавлено для работы казино Возможность смены типа валюты через инвентарь игрока. Проверка на сервере кто коснулся экрана. Критический момент, если сервер стоит в доступном для посещения посторонними месте. Впрочем, функционал взаимодействия с сервером мал, и при отключенном от сервера пиме (а он нужен только для регистрации владельцев) опасность невелика, но есть. Можно отправить на сервер запрос регистрации клиента и зарегистрировать его, после чего имитировать покупки для пополнения баланса. Поддержка реквестов крафта купленных товаров Подключение сторонних программ. Предполагается подключить некоторые из приложений казино автора Кровяка: рулетка, больше меньше и ещё что-то. Сам не помню что :-) Возможно, будут ещё идеи. Что не доделано: Графическое меню магазина. Выполнено примерно на 90-95%. Впрочем, это область визуальной эстетики не влияющая на работоспособность в целом. Каковы системные требования? Для комфортной инсталляции рекомендуется экран тира 2 и выше. После установки для работы клиента и сервера достаточно корпуса компьютера второго тира. Но рекомендуется тир 3. Если предполагается огромная база пользователей/товаров, то скорее всего потребуется коробка тир 3 и соответствующие по тиру компоненты. Моя комплектация сервера и клиента. Используется исключительно для тестов работоспособности: Виды в меню клиента: Взгляд мельком на экран сервера:
  2. 4eyes Библиотека предоставляющая более удобный интерфейс для работы с мостом из мода OpenPeripherals. Описание Данная библиотека имеет очень удобный ООП интерфейс и много возможностей, в том числе мультипользовательность. Мы можем легко создать свой интерфейс, получать доступ к любому пользователю, слушать события и и работать с клавиатурой. Для примера, код простейшей программы: -- connect libs local eyes = require("4eyes") local class = require("30log") -- create classes local Text = class("Text") do -- class Test function Text:init(surface, x, y, text, color) self.x = x self.y = y self.text = text self.color = color self.drawer = surface.addText(self.x, self.y, self.text, self.color) end function Text:event(bg, us, ev) print(table.unpack(ev and ev or {})) end end -- work with 4eyes local bridge = eyes.Bridge() bridge:getEvent("glasses_attach"):setPostHandler(function (br, ev) print("New user: " .. ev[3]) local us = br:getUser(ev[3]) us:addObject("test", Text(us:getSurface(), 5, 5, "Hello", 0xFFFFFF)) us:renderObjects(br) end) bridge:pull() Как видите, все очень просто. Создаем объект класса Bridge, настраиваем и запускаем метод pull который начнет слушать все события. Сейчас вам может быть не все понятно, например что за PostHandler, и объекты. Об всем этом пойдет далее. Документация Класс Bridge Данный класс является самой главной частью библиотеки, именно в нем происходит слушание событий и добавление/хранение/изменение пользователей. :init() - является конструктором объекта, вызывать явно не нужно, он вызывается сам при создании объекта. При создании создает события по умолчанию (описанные классом Event): glasses_attach - добавляет пользователя в таблицу пользователей glasses_detach - удаляет пользователя из таблицы пользователей glasses_capture - начало сессии с клавиатурой, делает поле captured пользователя равным true glasses_release - конец сессии с клавиатурой, делает поле captured пользователя равным false :pull() - запускает главный цикл программы, слушающий сигналы. :addUser(string: name, string: uuid) - добавляет нового пользователя в таблицу пользователей, принимает имя и uuid пользователя. :getUser(string: name) - возвращает пользователя с указанным ником. :removeUser(string: name) - удаляет пользователя с указанным ником из таблицы пользователей. :addEvent(string: name, Event: event) - добавляет нового слушателя, принимает название события и объект класса Event. :getEvent(string: name) - возвращает слушателя с указанным именем. :removeEvent(string: name) - удаляет слушателя с указанным именем. :eachUser(function: func(Bridge: bridge, User: user)) - выполняет функцию для каждого пользователя. Пример: bridge:eachUser(function (br, us) print(us.name) end) --[[ пользователи: Маша, Петя, Катя stdout: Маша Петя Катя --]] Класс Event Данный класс является обработчиком события. Очень прост. :init(function: handler) - является конструктором объекта, вызывать явно не нужно, вызывается сам при создании объекта. Принимает обработчик события, в качестве функции. :setHandler(function: handler) - устанавливает обработчик. :setPostHandler(function: posthandler) - устанавливает пост-обрабочик события. Этот пост-обрабочик будет вызыватся каждый раз после вызовы обработчика. :handle(...) - обрабатывает событие, сначала обработчиком, потом пост-обработчиком. Принимает любые данные, которые будут переданы обработчику и пост-обработчику. Класс User Класс пользователя. Хранит в себе все объекты пользователя, такие как тексты и геометрические фигуры. ...дописать... Скачать Для того чтобы поставить библиотеку, скачайте два файла: 30log.lua и 4eyes.lua и разместите их в папке /lib либо /usr/lib
×
×
  • Создать...