Перейти к содержимому

Фотография
- - - - -

Выключить интерфейс бота при нуле Покровительства Сайхи

essence

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1
Votum

Votum
  • 7
    0
    Не выбрано
    • Lvl 5
    • Пользователь

Собственно вопрос. Как заставить бота остановиться, когда закончилось Покровительство Сайхи (в простонародии виталка)? В API к боту такой информации нет. В голову лезет несколько способов реализации.

1) Переодически в цикле сравнивать количество получаемого опыта за моба - если оно упало в три раза, останавливаться.

2) Если бот включен, а количество адены 5 минут назад и сейчас не изменилось - останавливаемся.

3) Поймать сообщение в систем чате о том, что виталка кончилась.

4) Ловить пакет, который отвечает за Покровительство Сайхи (Sayha's Grace). Пытался понять, что приходит от сервера, когда я юзаю банку сайхи. В итоге повторяются следующие пакеты:

 

48 000000002E38A14D2E38A14DB1C8000001000000F4010000FFFFFFFF00000000B5C0FFFF3BE50100D0F3FFFF00000000B5C0FFFF3BE50100D0F3FFFF0000000000000000   MagicSkillUse
18 2E38A14D0000000000020B620300000C62030000                          StatusUpdate 
62 2E000104B1C800000100                                                                   SystemMessage
6B 2E38A14D00000000F4010000F4010000                                          SetupGauge                                    
54 000000002E38A14DB1C8000001000000010000002E38A14D        MagicSkillLaunched
21 000000000000000000                                                                        ExShowQuestMark
FE3E01 6E3F0700000000002E00                                                          PledgeReceivePowerInfo
FE0902 0100000000000000                                                                   ExClosePartyRoom

 

Что - то дельного у меня из этого не получилось. Может кто подскажет?


Сообщение отредактировал Votum: 26 Август 2019 - 18:34

  • 0

#2
Denis63RUS

Denis63RUS
  • 142
    47
    Не выбрано
    • Lvl 40
    • Пользователь
    Город
    Samara

Мне кажется проще всего выловить системное сообщение:

Engine.WaitAction([laSysMsg], n1, n2,250);
if n1=181 then 
begin
   Print ('Нужно написать что делать');
end;

n1 - id системного сообщения нужно как то выловить, или раскодировать соответствующий файл в клиенте. Вообще тут я не подскажу точно как.


  • 0
Коллекционирую Like, но не получается...

#3
Votum

Votum
  • 7
    0
    Не выбрано
    • Lvl 5
    • Пользователь

Я дундук) Сиситемного сообщения нет ни какого, когда сайха кончается) Мне видимо померещилось)


  • 0

#4
vvfrc33

vvfrc33
  • 117
    28
    Горит!
    • Lvl 40
    • Пользователь
    Skype
    teodor2475
    Город
    СПБ

Votum,
Хз какие у тебя хроны но вот например в хелиосе есть такой пакет :

 

FE:A1 ExVitalityPointInfo

 

public class ExVitalityPointInfo implements IClientOutgoingPacket
{
    private final int _vitalityPoints;
    
    public ExVitalityPointInfo(int vitPoints)
    {
        _vitalityPoints = vitPoints;
    }
    
    @Override
    public boolean write(PacketWriter packet)
    {
        OutgoingPackets.EX_VITALITY_POINT_INFO.writeId(packet);
        
        packet.writeD(_vitalityPoints);
        return true;
    }
}

 

 

пробуй банку с виталкой кушать и ловить его 


Сообщение отредактировал vvfrc33: 26 Август 2019 - 19:45

  • 0

Пишу скрипты на заказ 

Discord neowhite#3259


#5
Votum

Votum
  • 7
    0
    Не выбрано
    • Lvl 5
    • Пользователь

На сколько я понимаю, Essence работает на Classic клиенте, это Руоф. Данные беру с этой сборки  L2J_Mobius_Classic_3.0_TheKamael


Сообщение отредактировал Votum: 26 Август 2019 - 20:00

  • 0

#6
ScythLab

ScythLab

FE0902 0100000000000000 
это пакет ExCostumeUseItem

 

62 2E000104B1C800000100

2E00 - идентификатор сообщения (значение 46, сообщение вида "Вы используете: ХХХ")

01 - кол-во аргументов

дальше идут аргументы сообщения

04 - тип аргумента (умение)

B1C80000 - идентификатор умения (значение 51377)

0100 - уровень умения (значение 1)


  • 1

Хобби: разработка непубличного бота для Lineage


#7
Votum

Votum
  • 7
    0
    Не выбрано
    • Lvl 5
    • Пользователь

ScythLab, Спасибо за информацию, но с задачей мне это справиться не поможет)


Сообщение отредактировал Votum: 26 Август 2019 - 21:21

  • 0

#8
Kenshi245

Kenshi245
  • 19
    0
    Не выбрано
    • Lvl 13
    • Пользователь

Votum, Ну как там? Неужели так и не придумали решение как получить количество сайхи на чаре?


  • 0

#9
ScythLab

ScythLab

А что там придумывать? В этой теме информации достаточно, чтобы получить рабочий скрипт. Нужно только хоть немного понимать в кодинге, если таких знаний нет, то придется искать скриптера.


  • 1

Хобби: разработка непубличного бота для Lineage


#10
Kenshi245

Kenshi245
  • 19
    0
    Не выбрано
    • Lvl 13
    • Пользователь

ScythLab, Можно какие-то примеры? Понятно, что надо парсить пакеты, но хотелось бы увидеть что-то более менее наглядное, чтобы понять направление.


  • 0

#11
ScythLab

ScythLab

Kenshi245, я не занимаюсь адреналином, могу дать пример на наш бот (пример разбора пакета, а не при пример работы с сайхой), но он тебе не поможет)))

А так общая мысль проста:

1) ищешь в инете примеры как работать с пакетами (информация не очень распространена, на сколько я знаю, но не совершенно секретная, причем даже видел готовые классы чтобы удобно работать с данными пакетов)

2) пишешь скрипт, который будет показывать все пакеты и получаешь лог по принципу как это сделал Votum

3) находишь в каком пакете есть нужная тебе информация

4) профит :)


  • 1

Хобби: разработка непубличного бота для Lineage


#12
vvfrc33

vvfrc33
  • 117
    28
    Горит!
    • Lvl 40
    • Пользователь
    Skype
    teodor2475
    Город
    СПБ

Kenshi245, могу сделать , пиши в ЛС если надо


  • 0

Пишу скрипты на заказ 

Discord neowhite#3259




Темы с аналогичным тегами essence

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Rawr.pro - Сделано с для игроков.