Премиум

АИД

Знающий
Участник
Сообщения
112
Розыгрыши
0
Репутация
3
Реакции
7
Баллы
430
Хроники
  1. Prologue: Prelude of War
Исходники
Присутствуют
Сборка
моби
Всем привет, Вопрос кто подскажет почему не работает выдача ПА через альтБ? image1.png image2.png image3.png
 

АИД, хандлер или команда для према не зарегистрирована

1705871160529.png

Полагаю можно прям в этом же RequestBypassToServer реализовать проверку команды
Java:
else if (_command.startsWith("_bbspremium"))
{
    final int days = Integer.parseInt(_command.substring(_command.indexOf(';') + 1));
   
    // other code
}

Да и вообще стоит проверить для начала присутствует ли ниже приведенная строка у вас, и включена ли система премиум в конфиге
1705872505954.png
 
Последнее редактирование:
АИД, хандлер или команда для према не зарегистрирована

Посмотреть вложение 72822

Полагаю можно прям в этом же RequestBypassToServer реализовать проверку команды
Java:
else if (_command.startsWith("_bbspremium"))
{
    final int days = Integer.parseInt(_command.substring(_command.indexOf(':') + 1));
  
    // other code
}

Да и вообще стоит проверить для начала присутствует ли ниже приведенная строка у вас, и включена ли система премиум в конфиге
Посмотреть вложение 72823
Да и вообще стоит проверить для начала присутствует ли ниже приведенная строка у вас, и включена ли система премиум в конфиге

такой строчки нету в это файле вот последние строчки 1705872852133.png
 
АИД, да не в этом файле нужно смотреть, а в том где реализована обработка той самой команды _command.startsWith("_bbspremium")

АИД, пойдем другим путем, в каком классе (файле) находится указанный код?
1705874047565.png

этот класс зарегистрирован как хандлер в MasterHandler?
 
Последнее редактирование:
этот класс зарегистрирован как хандлер в MasterHandler?
вот что там было в мастер хендлере, он меня тоже этим вопросом занимал.

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

Вообще у мобиуса слишком много проблем сыпется в последнее время на сборках...
Тогда получается не в том индекс массива был добавлен хандлер.

Что и как он там добавляет остаётся только гадать

MrKirill1232, Вот еще раз глянул код, и начинаю понимать что строка с Premium.class в MasterHandler относится к войс командам, и не коем образом не относится к альт+б. Нужный индекс для хандлеров с командами из комьюнити борда находятся на три индекса выше
Java:
        {
            // Community Board
            ClanBoard.class,
            FavoriteBoard.class,
            FriendsBoard.class,
            HomeBoard.class,
            HomepageBoard.class,
            MailBoard.class,
            MemoBoard.class,
            RegionBoard.class,
            DropSearchBoard.class,
        }

Так понимаю, что в одном из этих классов и нужно добавлять проверку/обработку команды _bbspremium, либо написать свой класс, который в свою очередь реализует интерфейс IParseBoardHandler и добавить его в выше указанный индекс
 
Вообще если по коду смотреть - то это используется именно в HomeBoard - получается - CustomCummunityBoard не включена?

Config.PREMIUM_SYSTEM_ENABLED && Config.COMMUNITY_PREMIUM_SYSTEM_ENABLED ? "_bbspremium" : null,

А по поводу
начинаю понимать что строка с Premium.class в MasterHandler относится к войс командам
извиняюсь за путаницу :)
 
получается - CustomCummunityBoard не включена?
сие мне не ведомо :)

вводной информации о проблеме в крайней степени недостаточно, что и куда добавлялось, или раньше работало а после каких-то обновлений сломалось. Опять таки скрины с непонятными кусками кода, с каких файлов, с какими путями, не понятно. В общем классика :loltt0:
 
сие мне не ведомо :)

вводной информации о проблеме в крайней степени недостаточно, что и куда добавлялось, или раньше работало а после каких-то обновлений сломалось. Опять таки скрины с непонятными кусками кода, с каких файлов, с какими путями, не понятно. В общем классика :loltt0:
Альтб было скачено здесь для хроник ХФ, так как для мобиуса альтб найти проблематично. вот почти весь переделал альт б и начал сервисы проверять и как выяснилось премиум не работает
 
Альтб было скачено здесь для хроник ХФ, так как для мобиуса альтб найти проблематично. вот почти весь переделал альт б и начал сервисы проверять и как выяснилось премиум не работает
проверить включены ли в /config/Custom/CommunityBoard.ini
Код:
CommunityPremiumSystem = true
и в /config/Custom/PremiumSystem.ini
Код:
EnablePremiumSystem = true
для начала
 
АИД, на 4 сообщение надо бы ответить еще

если обработка команды _bbspremium в классе HomeBoard (и он объявлен в MasterHandler), пробуем убрать проверку конфига, изменив строку
Java:
Config.PREMIUM_SYSTEM_ENABLED && Config.COMMUNITY_PREMIUM_SYSTEM_ENABLED ? "_bbspremium" : null,
вот так
Java:
/*Config.PREMIUM_SYSTEM_ENABLED && Config.COMMUNITY_PREMIUM_SYSTEM_ENABLED ?*/ "_bbspremium" /*: null*/,

Если не поможет, то проблема не в конфигах.
Тогда пробуем другой вариант, перенеся код обработки команды према в класс RequestBypassToServer.
1705953396065.png

Java:
            else if (_command.startsWith("_bbspremium"))
            {
                final String fullBypass = _command.replace("_bbspremium;", "");
                final String[] buypassOptions = fullBypass.split(",");
                final int premiumDays = Integer.parseInt(buypassOptions[0]);
                if ((premiumDays < 1) || (premiumDays > 30) || (player.getInventory().getInventoryItemCount(Config.COMMUNITY_PREMIUM_COIN_ID, -1) < (Config.COMMUNITY_PREMIUM_PRICE_PER_DAY * premiumDays)))
                {
                    player.sendMessage("Not enough currency!");
                }
                else
                {
                    player.destroyItemByItemId("CB_Premium", Config.COMMUNITY_PREMIUM_COIN_ID, Config.COMMUNITY_PREMIUM_PRICE_PER_DAY * premiumDays, player, true);
                    PremiumManager.getInstance().addPremiumTime(player.getAccountName(), premiumDays, TimeUnit.DAYS);
                    player.sendMessage("Your account will now have premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumExpiration(player.getAccountName())) + ".");
                    if (Config.PC_CAFE_RETAIL_LIKE)
                    {
                        PcCafePointsManager.getInstance().run(player);
                    }
                    //returnHtml = HtmCache.getInstance().getHtm(player, "data/html/CommunityBoard/Custom/premium/thankyou.html");
                }
            }

пересобираем ядро и проверяем. Так должно прокатить.

п.ы. - по какой причине не подхватывает байпасы из датапака разбираться честно говоря влом, может сами накосячили где, может мобиус.
 
  • Мне нравится
Реакции: kick
Назад
Сверху Снизу