Регениратор,cp,mp,hp
Хроники: Gracia Epilogue, jServer , 7106 датапак (7079 тоже подойдёт)
Краткое изложение сути: Пользуюсь рукописным облегчённым баффером(без квеста)
В комплект баффера входят только htm(несколько штук) и запрос в бд(скилы,цены и т.п)
вопрос заключается в том,не могу найти команду регенов,CP,MP,HP Recovery,
разодрал hml от npc стоящего на монстор рейс треке,скопипастил в hml баффера команду
восстановления CP а она по не известным причинам не работает)
прошу помоч по данному вопросу,как мне правильно сделать все 3 регена в своём баффере)
за ранее благодарен)
BJIagu4er: Давайте помогайте)тема актуальна)как сделать лучше??!!**))
Бафер получается у тебя через ядро? если да то там раньше надо было кое что править в ядре, сейчас не знаю, а так команда на восстановление ХП, ЦП, МП "Heal"
Обязательно должен этот нпц относится к группе L2NpcBuffer
мм,а кнопку повтора бафов не подскажешь как сделать?то есть чел 1 раз бафнулся,бафы упали,подошел нажал кнопку повторить и вуаля
Андрейка: Бафер получается у тебя через ядро? если да то там раньше надо было кое что править в ядре, сейчас не знаю, а так команда на восстановление ХП, ЦП, МП "Heal"
Обязательно должен этот нпц относится к группе L2NpcBuffer
извини а полного запроса не знаешь?
например вот у нпц что в мтд стоит такой:
<a action="bypass -h npc_%objectId%_CPRecovery">CP Recovery: consumption of 100 adena</a><br>
но если ставить в баффера данную команду,он её не юзает(((
прост раньше не делал,ни как понять не могу)
Я так понял, нужно восстановить показатели на максимум?
Ну вот мой метод, делал когда-то..
— Ålderdom - ingen glädje..
Вот вставь это в нпц и будет тебе счастье) у меня лично так
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
AbsT: Я так понял, нужно восстановить показатели на максимум?
Ну вот мой метод, делал когда-то..
<!--private_data=0-->
это понадобится)
но я хз что мне надо xD толи через ядро толи просто можно в htm команду рисануть...
баффера переписывал стандартного,добавлял запросы по скилам в бд,и выносил скилы
на hml,а вот как с рестором разобраться не понял)вот и обращаюсь)
Андрейка: Вот вставь это в нпц и будет тебе счастье) у меня лично так
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
одной кнопай?)
BJIagu4er: это понадобится)
но я хз что мне надо xD толи через ядро толи просто можно в htm команду рисануть...
баффера переписывал стандартного,добавлял запросы по скилам в бд,и выносил скилы
на hml,а вот как с рестором разобраться не понял)вот и обращаюсь)
одной кнопай?)
да одной кнопкой все сразу xD
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
не канает)минуту,мог криво поставить со спеху)
ошибка в ГС(
вот такая шляпа в логе
2010.03.03 02:08:11,998 WARNING 21 com.l2jserver.gameserver.network.clientpackets.RequestBypassToServer Bad RequestBypassToServer:
Эх попробую объяснить хотя это у меня плохо получается) привык делать руками а не языком xD
И так берем любого нпц, заходим в навикат в таблицу npc, выбираем там нам нужного нпц, смотрим столбик type в него вписываем L2NpcBuffer, сохраняем и закрываем навикат.
Заходим сюда data/html/mods/ там видем htm файлы называются NpcBuffer, NpcBuffer-1 и т.д правим эти файлы под себя и добавляем строчку которую я скинул, сохраняем и запускаем сервер, заходим в игру спавним нпц которого мы выбрали и вуаля все работает.
Зы: решил написать краткий мануал что бы больше не было подобных тем Удачи.
Андрейка: Эх попробую объяснить хотя это у меня плохо получается) привык делать руками а не языком xD
И так берем любого нпц, заходим в навикат в таблицу npc, выбираем там нам нужного нпц, смотрим столбик type в него вписываем L2NpcBuffer, сохраняем и закрываем навикат.
Заходим сюда data/html/mods/ там видем htm файлы называются NpcBuffer, NpcBuffer-1 и т.д правим эти файлы под себя и добавляем строчку которую я скинул, сохраняем и запускаем сервер, заходим в игру спавним нпц которого мы выбрали и вуаля все работает.
Зы: решил написать краткий мануал что бы больше не было подобных тем Удачи.
всё так и сделанно)ГС кашлять начинанает xD
Тогда пробуем другой метод
Берем исходники, заходим туда ----> java\com\l2jserver\gameserver\model\actor\instance ищем L2NpcInstance.java
и заменяем в нем это
{
if (!player.isInCombat() && !AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
{
String[] healArray = command.substring(5).split(" ");
for (String healType : healArray)
{
if (healType.equalsIgnoreCase("HP"))
{
player.setCurrentHp(player.getMaxHp());
}
else if (healType.equalsIgnoreCase("MP"))
{
player.setCurrentMp(player.getMaxMp());
}
else if (healType.equalsIgnoreCase("CP"))
{
player.setCurrentCp(player.getMaxCp());
}
}
}
На это
{
if (!player.isInCombat() && !AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
{
player.setCurrentCp(player.getMaxCp());
player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
}
showChatWindow(player, 0); // 0 = main window
}
Компилим сборку и смотрим что получилось
Андрейка: Тогда пробуем другой метод
Берем исходники, заходим туда ----> java\com\l2jserver\gameserver\model\actor\instance ищем L2NpcInstance.java
и заменяем в нем этоКодelse if (command.startsWith("Heal"))
{
if (!player.isInCombat() && !AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
{
String[] healArray = command.substring(5).split(" ");
for (String healType : healArray)
{
if (healType.equalsIgnoreCase("HP"))
{
player.setCurrentHp(player.getMaxHp());
}
else if (healType.equalsIgnoreCase("MP"))
{
player.setCurrentMp(player.getMaxMp());
}
else if (healType.equalsIgnoreCase("CP"))
{
player.setCurrentCp(player.getMaxCp());
}
}
}
На этоКодelse if (command.startsWith("Heal"))
{
if (!player.isInCombat() && !AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
{
player.setCurrentCp(player.getMaxCp());
player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
}
showChatWindow(player, 0); // 0 = main window
}
Компилим сборку и смотрим что получилось
у меня проблемма с компилированием встала(
пока сюда не обращался но выглядет так,
компилирую сбарку,ставлю на новую бд,всё пахает на ура,
но когда пускаю от старой бд начинает ЛС тупить при логине в игру
пишет такое...
2010.03.02 10:41:15,081 WARNING 12 com.l2jserver.loginserver.LoginController Could not check password:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'userIP' in 'field list'
Пока не разбирался с проблеммой(из за этого не перешёл на обновление,
а с чистой бд не вариант, 160 акков регано, постоянно 27-50 игроков тестят...
тем более уже есть и хиро и многое другое чего добились,вайпать не желательно
а разбираться не было времени(
Выполни запрос в навикате ALTER TABLE `accounts` ADD `userIP` char(15) DEFAULT NULL;
И не советую долго сидеть на одной ревизии они вон как их штампуют все что-то правят, делают и т.д, обновится делов 5-10 мин
А что если вместо Heal попробовать прописать HP или CP или MP, я в ява коде не але так что познаю все методом тыка и догадки.
Андрейка: Выполни запрос в навикате ALTER TABLE `accounts` ADD `userIP` char(15) DEFAULT NULL;
И не советую долго сидеть на одной ревизии они вон как их штампуют все что-то правят, делают и т.д, обновится делов 5-10 мин
А что если вместо Heal попробовать прописать HP или CP или MP, я в ява коде не але так что познаю все методом тыка и догадки.
при запросе команды такого типа :
<button action="bypass -h npc_%objectId%_HP" value="Restore CP,MP,HP" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
Судя по логу ГС, hml начинает ссылаться на БД
2010.03.03 02:51:02,269 INFO 23 com.l2jserver.gameserver.model.actor.L2Character L2NpcBufferInstance: Unknown NPC bypass: "HP" NpcId: 11
НО потой причине и пишет)что в БД не найденно ничего похожего)
Делаешь копию файла l2jserver.jar в папке GameServer, открываешь фаил l2jserver.jar с помощью WinRar идешь туда -----> l2jserver.jar\com\l2jserver\gameserver\model\actor\instance
Берешь вытаскиваешь из архива фаил который я прикрепил и вставляешь его в ядро, нажимаешь заменить и закрываешь winrar
Заходишь в NpcBuffer.htm добовляешь туда эту строку
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
И пробуешь xD если не получится то я уже не знаю что делать ((((
Андрейка: Выполни запрос в навикате ALTER TABLE `accounts` ADD `userIP` char(15) DEFAULT NULL;
И не советую долго сидеть на одной ревизии они вон как их штампуют все что-то правят, делают и т.д, обновится делов 5-10 мин
А что если вместо Heal попробовать прописать HP или CP или MP, я в ява коде не але так что познаю все методом тыка и догадки.
но блин я сам понимаю)с SVN вечно обновляю архивчик но компилить после последней ошибки с IP не пытался)
Андрейка: Делаешь копию файла l2jserver.jar в папке GameServer, открываешь фаил l2jserver.jar с помощью WinRar идешь туда -----> l2jserver.jar\com\l2jserver\gameserver\model\actor\instance
Берешь вытаскиваешь из архива фаил который я прикрепил и вставляешь его в ядро, нажимаешь заменить и закрываешь winrar
Заходишь в NpcBuffer.htm добовляешь туда эту строку
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
И пробуешь xD если не получится то я уже не знаю что делать ((((
хм)ГС вроде пишет что модифицировал l2jserver.jar) сейчас проверю на деле)
Андрейка: Делаешь копию файла l2jserver.jar в папке GameServer, открываешь фаил l2jserver.jar с помощью WinRar идешь туда -----> l2jserver.jar\com\l2jserver\gameserver\model\actor\instance
Берешь вытаскиваешь из архива фаил который я прикрепил и вставляешь его в ядро, нажимаешь заменить и закрываешь winrar
Заходишь в NpcBuffer.htm добовляешь туда эту строку
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
И пробуешь xD если не получится то я уже не знаю что делать ((((
СЛАВА ТЕБЕ !!!
Всё пашет на ура)фул мп,цп,хп
Оч признателен за возьню со мной)
Игроки будут счастливы XD а я не меньше)
не за что рад был помочь ![]()


