Перейти к содержанию
Авторизация  
SD_TuXo

Premium buff

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

Помогите сделать что бы если нету итема для прем бафа открывало 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.");
				}
			}
Изменено пользователем SD_TuXo

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


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


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);


 

примерно вот так

Изменено пользователем gawric
  • Upvote 1

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


Ссылка на сообщение
Поделиться на другие сайты
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"), т.е. всё уже реализовано

Изменено пользователем Calyps0
  • Upvote 1

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


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

 

Помогите сделать что бы если нету итема для прем бафа открывало 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"

Изменено пользователем gvb
  • Upvote 1

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


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

Тут все правильно. Пробовали убрать вывод в чат sendMessage? Чтобы открывало HTML без вывода в чат. 

         

         else

               {

                    player.sendMessage("У вас нет предмета Premium Buff.");

                }

 

Или можно сделать еще проще, чтобы место системного сообщения открывало HTML "-notPremium.htm"

Пробовал таким методом но потом при нажатии на кнопку окно просто обновляется и не перекидывает  на -notPremium.htm

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


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

Пробовал таким методом но потом при нажатии на кнопку окно просто обновляется и не перекидывает  на -notPremium.htm

Попробуйте место того что было, это только укажи файл, -notPremium.htm

   else
               {
                    return "data/html/mods/buffer/-notPremium.htm";
                }

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

Изменено пользователем gvb
  • Upvote 1

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


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

 

Попробуйте место того что было, это только укажи файл, -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);
				}

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


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

Появилась новая проблема, нужно сделать что бы можно было вызывать 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

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


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

 

Появилась новая проблема, нужно сделать что бы можно было вызывать 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)

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

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


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

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

Да ее нету, мне бы как ее реализовать)

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


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

проще всего сделать новый метод по продаже Премиум Итема. Вам же его в мультыселл засунуть нужно?

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


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

Да ее нету, мне бы как ее реализовать

L2NpcInstance или L2Npc там в поиске введи multisell найдешь реализацию байпаса, ну и вставь к себе в инстанс баффера.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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