Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Стартап InGameSell - продажа блоков в игре

Discussion in 'Разработка плагинов для новичков' started by Zard0nic, Oct 19, 2013.

  1. Автор темы
    Zard0nic

    Zard0nic Старожил Пользователь

    Trophy Points:
    153
    Впервые работал с Java, написал плагин продажи вещей прямо на сервере.
    Все работает через конфиг, требуется БД. Плагин автоматически создает таблицу и заполняет ее полями. Продажа осуществляется таким путем: игрок кликает по блоку правой кнопкой мыши, рассчитывается общая сумма денег за продажу и она переводится на счет игрока в iConomy. Продается только тот блок или предмет, которым кликает игрок по определенному блоку.

    Чтобы добавить блок в продажу, требуется войти в ПУ БД и внести соответствующие данные в таблицу "blocks". (Примечание: если у блока нет subid, то заполнить это поле "0").
    Исходники и сам плагин можете получить тут:
    https://github.com/Zard0nic/InGameSell
    Пример заполнения config.yml:
    Code:
    mysql: jdbc:mysql://localhost/dbname # адрес к БД / название БД,  jdbc:mysql:// - не трогаем.
    username: username # логин от БД
    password: password # пароль от БД
    click: 6 # id блока, клик по которому будет продавать вещь.
    Отдельное спасибо пользователю Den_Abr за помощь.

    P.S. На данный момент существует такая проблема, что при первом запуске плагин выдает ошибку. Это связано с тем, что при запуске плагин проверяет наличие таблицы в БД. Так что при верном указании всех данных от БД все должно работать.
    Changelog:
    Версия 0.3:
    - Поддержка PEX
    - Исправлена ошибка с добавление одного и того же ID, но разными subid
    - При попытке создать новое поле с одинаковыми ID и subid плагин игнорирует запрос.
    Версия 0.2:
    - Теперь добавлять данные в БД можно прямо в игре!
    Версия 0.1:
    - Релиз плагина
    Новая версия 0.3!
    Для того, чтобы добавить новый блок или предмет в базу, используйте команду "/addsell [id] [subid] [цена]" К примеру, "/addsell 12 0 30" - запрос на добавление блока с id 12 (песок) с subid 0 и ценой 30.
    Примечание: вводить все данные без скобок.
    PermissionEX: "ingamesell.addsell" дает доступ на использование команды выше.
     
    Last edited: Oct 20, 2013
    Hephest and vovvaan96 like this.
  2. Хостинг MineCraft
    <
  3. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Сделал пуллреквест на гитхабе с поправками. Ну и ник поправь:)
     
  4. Автор темы
    Zard0nic

    Zard0nic Старожил Пользователь

    Trophy Points:
    153
    Благодарю, совсем запутался с соединениями. Только что с ником не так?
     
  5. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Black-UK-Lord likes this.
  6. Автор темы
    Zard0nic

    Zard0nic Старожил Пользователь

    Trophy Points:
    153
    Новая версия 0.4!
    Изменения:
    - Добавлена команда "/editsell" для редактирования уже созданных полей в БД.
    - Добавлена команда "/helpsell" для помощи в использовании плагина.
    Скорее всего, что это было последнее обновление. Если есть идеи по улучшению плагина - пишите в этой теме.
     
  7. Best_pr0stk

    Best_pr0stk Активный участник Пользователь

    Trophy Points:
    78
    Имя в Minecraft:
    Best_pr0stik
  8. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Несколько предложений
    1) Только продажа - не логично. Добавить покупку не добавит особо труда
    2) Переименовать главный класс плагина
    3) Отрефакторить код - разделить логику контроллера(эвенты), действия с БД и основной класс
     
  9. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Два года теме. Для чего поднял то?
     
  10. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    yobany... Я и не заметил xD
     

Share This Page