Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Форум для новичков[JAVA]/Регениратор,cp,mp,hp
Поиск

Регениратор,cp,mp,hp

22 ответов278 просмотровСейчас просматривают: 1
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 25.02.2010, 10:38

Хроники: Gracia Epilogue, jServer , 7106 датапак (7079 тоже подойдёт)
Краткое изложение сути: Пользуюсь рукописным облегчённым баффером(без квеста)
В комплект баффера входят только htm(несколько штук) и запрос в бд(скилы,цены и т.п)
вопрос заключается в том,не могу найти команду регенов,CP,MP,HP Recovery,
разодрал hml от npc стоящего на монстор рейс треке,скопипастил в hml баффера команду
восстановления CP а она по не известным причинам не работает)
прошу помоч по данному вопросу,как мне правильно сделать все 3 регена в своём баффере)
за ранее благодарен)

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 02.03.2010, 23:12

Давайте помогайте)тема актуальна)как сделать лучше??!!**))

0
А
Андрейка
· 02.03.2010, 23:40

BJIagu4er: Давайте помогайте)тема актуальна)как сделать лучше??!!**))

Бафер получается у тебя через ядро? если да то там раньше надо было кое что править в ядре, сейчас не знаю, а так команда на восстановление ХП, ЦП, МП "Heal"
Обязательно должен этот нпц относится к группе L2NpcBuffer

0
S
stronGG
· 02.03.2010, 23:48

мм,а кнопку повтора бафов не подскажешь как сделать?то есть чел 1 раз бафнулся,бафы упали,подошел нажал кнопку повторить и вуаля

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 02.03.2010, 23:49

Андрейка: Бафер получается у тебя через ядро? если да то там раньше надо было кое что править в ядре, сейчас не знаю, а так команда на восстановление ХП, ЦП, МП "Heal"
Обязательно должен этот нпц относится к группе L2NpcBuffer

извини а полного запроса не знаешь?
например вот у нпц что в мтд стоит такой:
<a action="bypass -h npc_%objectId%_CPRecovery">CP Recovery: consumption of 100 adena</a><br>

но если ставить в баффера данную команду,он её не юзает(((
прост раньше не делал,ни как понять не могу)

0
AbsT
AbsT

Пользователь

Ветеран

Постов: 1514

На форуме с: 10.12.2007

Репутация: +768

Рейтинг: 0

· 02.03.2010, 23:51

Я так понял, нужно восстановить показатели на максимум?
Ну вот мой метод, делал когда-то..

— &#197;lderdom - ingen gl&#228;dje..

0
А
Андрейка
· 02.03.2010, 23:53

Вот вставь это в нпц и будет тебе счастье) у меня лично так
<button action="bypass -h npc_%objectId%_Heal" value="Heal" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 02.03.2010, 23:55

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>


одной кнопай?)

0
А
Андрейка
· 02.03.2010, 23:55

BJIagu4er: это понадобится)
но я хз что мне надо xD толи через ядро толи просто можно в htm команду рисануть...
баффера переписывал стандартного,добавлял запросы по скилам в бд,и выносил скилы
на hml,а вот как с рестором разобраться не понял)вот и обращаюсь)



одной кнопай?)

да одной кнопкой все сразу xD

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 03.03.2010, 00:13

<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:

0
А
Андрейка
· 03.03.2010, 00:17

Эх попробую объяснить хотя это у меня плохо получается) привык делать руками а не языком xD
И так берем любого нпц, заходим в навикат в таблицу npc, выбираем там нам нужного нпц, смотрим столбик type в него вписываем L2NpcBuffer, сохраняем и закрываем навикат.
Заходим сюда data/html/mods/ там видем htm файлы называются NpcBuffer, NpcBuffer-1 и т.д правим эти файлы под себя и добавляем строчку которую я скинул, сохраняем и запускаем сервер, заходим в игру спавним нпц которого мы выбрали и вуаля все работает.

Зы: решил написать краткий мануал что бы больше не было подобных тем Удачи.

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 03.03.2010, 00:18

Андрейка: Эх попробую объяснить хотя это у меня плохо получается) привык делать руками а не языком xD
И так берем любого нпц, заходим в навикат в таблицу npc, выбираем там нам нужного нпц, смотрим столбик type в него вписываем L2NpcBuffer, сохраняем и закрываем навикат.
Заходим сюда data/html/mods/ там видем htm файлы называются NpcBuffer, NpcBuffer-1 и т.д правим эти файлы под себя и добавляем строчку которую я скинул, сохраняем и запускаем сервер, заходим в игру спавним нпц которого мы выбрали и вуаля все работает.

Зы: решил написать краткий мануал что бы больше не было подобных тем Удачи.


всё так и сделанно)ГС кашлять начинанает xD

0
А
Андрейка
· 03.03.2010, 00:28

Тогда пробуем другой метод
Берем исходники, заходим туда ----> 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
        }


Компилим сборку и смотрим что получилось

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 03.03.2010, 00:32

Андрейка: Тогда пробуем другой метод
Берем исходники, заходим туда ----> 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 игроков тестят...
тем более уже есть и хиро и многое другое чего добились,вайпать не желательно
а разбираться не было времени(

0
А
Андрейка
· 03.03.2010, 00:41

Выполни запрос в навикате ALTER TABLE `accounts` ADD `userIP` char(15) DEFAULT NULL;
И не советую долго сидеть на одной ревизии они вон как их штампуют все что-то правят, делают и т.д, обновится делов 5-10 мин
А что если вместо Heal попробовать прописать HP или CP или MP, я в ява коде не але так что познаю все методом тыка и догадки.

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 03.03.2010, 00:59

Андрейка: Выполни запрос в навикате 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

НО потой причине и пишет)что в БД не найденно ничего похожего)

0
А
Андрейка
· 03.03.2010, 01:18

Делаешь копию файла 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 если не получится то я уже не знаю что делать ((((

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 03.03.2010, 01:29

Андрейка: Выполни запрос в навикате 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 а я не меньше)

0
А
Андрейка
· 03.03.2010, 01:40

yahoo.gif не за что рад был помочь acute.gif

0
BJIagu4er
BJIagu4er

Пользователь

Участник

Постов: 79

На форуме с: 23.09.2009

Репутация: +1

Рейтинг: 0

· 03.03.2010, 01:43

Андрейка: yahoo.gif не за что рад был помочь acute.gif


сейчас ещё если и последний компил сборки пойдёт на моей бд с помошью твоего
запросика относящегося к IP ошибки при логине в игру то вообще будет норм)

0
Войдите или зарегистрируйтесь чтобы ответить