SD_TuXo 4 Опубликовано 6 января, 2016 (изменено) Помогите сделать что бы если нету итема для прем бафа открывало Buffer-notPremium.htm а то щас оно пишет в чат что нету итема, сборка lovely вот код с бафера с этим методом else if (event.startsWith("addpremium")) { String htm = htmlBase + "-notPremium.htm"; if (player.getInventory().getItemByItemId(itemId) != null) { htm = htmlBase + "-Premium.htm"; String html = HtmCache.getInstance().getHtm(htm, player); return fillHtml(player, html); } else { player.sendMessage("У вас нет предмета Premium Buff."); } } Изменено 6 января, 2016 пользователем SD_TuXo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gawric 49 Опубликовано 6 января, 2016 (изменено) NpcHtmlMessage htm = new NpcHtmlMessage(5); String content = HtmCache.getInstance().getHtm("data/html/admin/menus/submenus/announce_menu.htm",player); htm.setHtml(content); player.sendPacket(htm); примерно вот так Изменено 6 января, 2016 пользователем gawric 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 6 января, 2016 (изменено) else if (event.startsWith("addpremium")) { String htm = htmlBase + "-notPremium.htm"; if (player.getInventory().getItemByItemId(itemId) != null) { htm = htmlBase + "-Premium.htm"; String html = HtmCache.getInstance().getHtm(htm, player); return fillHtml(player, html); } else { return "Buffer-notPremium.htm" } } По идее не нужно делать никаких "махинаций" с кешем, при возврате проверяется строка на endsWith(".htm"), т.е. всё уже реализовано Изменено 6 января, 2016 пользователем Calyps0 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 6 января, 2016 (изменено) Помогите сделать что бы если нету итема для прем бафа открывало Buffer-notPremium.htm а то щас оно пишет в чат что нету итема, сборка lovely вот код с бафера с этим методом else if (event.startsWith("addpremium")) { String htm = htmlBase + "-notPremium.htm"; if (player.getInventory().getItemByItemId(itemId) != null) { htm = htmlBase + "-Premium.htm"; String html = HtmCache.getInstance().getHtm(htm, player); return fillHtml(player, html); } else { player.sendMessage("У вас нет предмета Premium Buff."); } } Тут все правильно. Пробовали убрать вывод в чат sendMessage? Чтобы открывало HTML без вывода в чат. else { player.sendMessage("У вас нет предмета Premium Buff."); } Или можно сделать еще проще, чтобы место системного сообщения открывало HTML "-notPremium.htm" Изменено 6 января, 2016 пользователем gvb 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SD_TuXo 4 Опубликовано 6 января, 2016 Тут все правильно. Пробовали убрать вывод в чат sendMessage? Чтобы открывало HTML без вывода в чат. else { player.sendMessage("У вас нет предмета Premium Buff."); } Или можно сделать еще проще, чтобы место системного сообщения открывало HTML "-notPremium.htm" Пробовал таким методом но потом при нажатии на кнопку окно просто обновляется и не перекидывает на -notPremium.htm Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 6 января, 2016 (изменено) Пробовал таким методом но потом при нажатии на кнопку окно просто обновляется и не перекидывает на -notPremium.htm Попробуйте место того что было, это только укажи файл, -notPremium.htm else { return "data/html/mods/buffer/-notPremium.htm"; } Как-то так, пробуйте смотрите чтобы было все ровно, малейшая ошибка, уже работать не будет. Изменено 6 января, 2016 пользователем gvb 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SD_TuXo 4 Опубликовано 6 января, 2016 Попробуйте место того что было, это только укажи файл, -notPremium.htm else { return "data/html/mods/buffer/-notPremium.htm"; } Разобрался, спасибо всем за помощь else { htm = htmlBase + "-notPremium.htm"; String html = HtmCache.getInstance().getHtm(htm, player); return fillHtml(player, html); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SD_TuXo 4 Опубликовано 6 января, 2016 (изменено) Появилась новая проблема, нужно сделать что бы можно было вызывать bypass -h npc_%objectId%_multisell в -notPremium.htm а то вставил кнопку но в ГС ошибку бьет java.lang.NumberFormatException: For input string: "%objectId%" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServe r.runImpl(Unknown Source) at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.r un(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Изменено 6 января, 2016 пользователем SD_TuXo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Centro 196 Опубликовано 6 января, 2016 Появилась новая проблема, нужно сделать что бы можно было вызывать bypass -h npc_%objectId%_multisell в -notPremium.htm а то вставил кнопку но в ГС ошибку бьет java.lang.NumberFormatException: For input string: "%objectId%" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at ru.catssoftware.gameserver.network.clientpackets.RequestBypassToServe r.runImpl(Unknown Source) at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.r un(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) скорей всего нет поддержки байпаса вызова мультисела Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SD_TuXo 4 Опубликовано 6 января, 2016 скорей всего нет поддержки байпаса вызова мультисела Да ее нету, мне бы как ее реализовать) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 6 января, 2016 проще всего сделать новый метод по продаже Премиум Итема. Вам же его в мультыселл засунуть нужно? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Centro 196 Опубликовано 6 января, 2016 Да ее нету, мне бы как ее реализовать L2NpcInstance или L2Npc там в поиске введи multisell найдешь реализацию байпаса, ну и вставь к себе в инстанс баффера. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты