Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Бот реагирующий на чат.

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 22.06.2016, 01:30   #16
 Разведчик
Аватар для Arsen0208
 
Arsen0208 никому не известный тип
Регистрация: 24.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Бот реагирующий на чат.

Нет не правильно считывает. Англ текст не изменил китайские символы (они вообще не поменялись).
Видимо читаю что то не то опять...

Добавлено через 16 минут
Вообщем... Не знаю почему только сейчас я вспомнил что имя то он корректно всегда считывал...
Полез искать как он это делает.... вообщем все решилось добавлением этой строки...

Int32 Struct = memory.ChainReadInt32(0x00E61254, -0x1c);
ChainReadInt32 - читает Int32 используя цепочку оффсетов.
И при коде:
Цитата:
Int32 Struct = memory.ChainReadInt32(0x00E61254, -0x1c);

return memory.ReadString_Unicode (Struct + 0x56, 0x300);

выдает последнее сообщение корректно...



Огромнейшее спасибо всем кто помогал! Когда откроется кнопка "Спасибо" всем ткну!
Ник я так понял находится между 0х44 и 0х56.
Пойду дописывать бота.

Кстати раз уж на то пошло, можно как то ВИДишник написавшего сообщение вытащить?
Для действия типо:
В ГЧ перс пишет "хил" бот выделяет ВИДишник и вставляет себе в таргет.

Последний раз редактировалось Arsen0208; 22.06.2016 в 01:50. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 22.06.2016, 02:05   #17
 Разведчик
Аватар для Smerch
 
Smerch скоро будет известенSmerch скоро будет известенSmerch скоро будет известенSmerch скоро будет известен
Регистрация: 14.07.2009
Сообщений: 11
Популярность: 306
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 6 сообщениях
 
По умолчанию Re: Бот реагирующий на чат.

Цитата:
Сообщение от Arsen0208Посмотреть сообщение
Кстати раз уж на то пошло, можно как то ВИДишник написавшего сообщение вытащить?
Для действия типо:
В ГЧ перс пишет "хил" бот выделяет ВИДишник и вставляет себе в таргет.

Код:
 ChatStruct=record
    uk1         : DWORD;
    TypeChat    : Byte;
    SmileSet    : Byte;
    uk2         : Byte;
    uk3         : Byte;
    uk4         : DWORD;
    Addr        : DWORD;
    ItemID      : DWORD;
    ID          : DWORD;
    uk5         : DWORD;
    uk6         : DWORD;
    WID         : DWORD;
Последние 4 байта - WID
  Ответить с цитированием
Старый 22.06.2016, 04:48   #18
 Разведчик
Аватар для Arsen0208
 
Arsen0208 никому не известный тип
Регистрация: 24.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Бот реагирующий на чат.

Цитата:
Код:

ChatStruct=record
uk1 : DWORD;
TypeChat : Byte;
SmileSet : Byte;
uk2 : Byte;
uk3 : Byte;
uk4 : DWORD;
Addr : DWORD;
ItemID : DWORD;
ID : DWORD;
uk5 : DWORD;
uk6 : DWORD;
WID : DWORD;

Последние 4 байта - WID


Не очень понял что Вы имеете ввиду (вплане на какой адресс указываете)
  Ответить с цитированием
Старый 22.06.2016, 05:17   #19
 Разведчик
Аватар для Smerch
 
Smerch скоро будет известенSmerch скоро будет известенSmerch скоро будет известенSmerch скоро будет известен
Регистрация: 14.07.2009
Сообщений: 11
Популярность: 306
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 6 сообщениях
 
По умолчанию Re: Бот реагирующий на чат.

[Ссылки могут видеть только зарегистрированные пользователи. ]
Выберем тот дескриптор, что выделен зеленой рамкой. Размер его 36 байт. Этот дескриптор я целиком загружаю в структуру ChatStruct, которая имеет такой же размер.
Код:
ChatStruct=record
uk1 : DWORD;
TypeChat : Byte;
SmileSet : Byte;
uk2 : Byte;
uk3 : Byte;
uk4 : DWORD;
Addr : DWORD;
ItemID : DWORD;
ID : DWORD;
uk5 : DWORD;
uk6 : DWORD;
WID : DWORD;
Теперь можно понять какие смещения нужно использовать внутри дескриптора:
TypeChat: 0x4 (т.к. перед полем TypeChat идет поле типа DWORD, занимающее 4 байта)
SmileSet: 0x5
Addr: 0x8
ну и так далее.
А интересующий вас WID: 0x20

Последний раз редактировалось Smerch; 22.06.2016 в 16:43. Причина: ошибся с WID, написал в 10 СС
  Ответить с цитированием
Старый 22.06.2016, 09:56   #20
 Пехотинец
Аватар для diagnost
 
diagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражания
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
 
По умолчанию Re: Бот реагирующий на чат.

[Ссылки могут видеть только зарегистрированные пользователи. ] (delphi XE8)(почитал ни черта ничего не понял! И ни одного живого примера, буржуи молодцы, разбор и живой наглядный пример)

Последний раз редактировалось diagnost; 22.06.2016 в 10:01.
  Ответить с цитированием
Старый 22.06.2016, 12:38   #21
 Разведчик
Аватар для Arsen0208
 
Arsen0208 никому не известный тип
Регистрация: 24.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Бот реагирующий на чат.

А считывать его типо так?
Цитата:
public byte[] chat2
{
get
{

Int32 Struct = memory.ChainReadInt32(0x00E61254, -0x1c);
byte[] p = new byte[36];
for (int i = 0; i < 36; i++)
{
p[i] = memory.ReadByte(Struct + i * 0x2);
}
return p;


}
}
Потом WID
byte[] s = new byte[36];
s = pers.chat2;
Chat.Text = Convert.ToString(s[32] + " " + s[33] + " " + s[34] + " " + s[35]);


1оо% я что то не так понял но самоучки, как я, могут только спрашивать и надеяться что опытные люди помогут.



Цитата:
скачать ЧАТ_1(РУОФ) (delphi XE8)(почитал ни черта ничего не понял! И ни одного живого примера, буржуи молодцы, разбор и живой наглядный пример)

Такое я тоже уже сделал, только считывать начинаю с никнейма.

Последний раз редактировалось Arsen0208; 22.06.2016 в 12:40.
  Ответить с цитированием
Старый 22.06.2016, 13:40   #22
 Пехотинец
Аватар для diagnost
 
diagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражания
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
 
По умолчанию Re: Бот реагирующий на чат.

Цитата:
Сообщение от Arsen0208Посмотреть сообщение
Такое я тоже уже сделал, только считывать начинаю с никнейма.

Зря! Фильтровать сообщения, как собрался?( В мир написали или вам в личку?)
Код:
(system.Pos('FFFFFF', St) <= 0) and  //Белый чат
                  (system.Pos('FFE400', St) <= 0) and  //Мир  чат
                  (system.Pos('00FF00', St) <= 0) and  //Групп Чат
                  (system.Pos('00FFFC', St) <= 0) and  //Клан чат
                  (system.Pos('FF742E', St) <= 0) and  //Торг
                  (system.Pos('ff9b3e', St) <= 0);     //Горн

Последний раз редактировалось diagnost; 22.06.2016 в 13:50.
  Ответить с цитированием
Старый 22.06.2016, 16:40   #23
 Разведчик
Аватар для Smerch
 
Smerch скоро будет известенSmerch скоро будет известенSmerch скоро будет известенSmerch скоро будет известен
Регистрация: 14.07.2009
Сообщений: 11
Популярность: 306
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 6 сообщениях
 
По умолчанию Re: Бот реагирующий на чат.

Цитата:
Сообщение от diagnostПосмотреть сообщение
Зря! Фильтровать сообщения, как собрался?( В мир написали или вам в личку?)
Код:
(system.Pos('FFFFFF', St) <= 0) and  //Белый чат
                  (system.Pos('FFE400', St) <= 0) and  //Мир  чат
                  (system.Pos('00FF00', St) <= 0) and  //Групп Чат
                  (system.Pos('00FFFC', St) <= 0) and  //Клан чат
                  (system.Pos('FF742E', St) <= 0) and  //Торг
                  (system.Pos('ff9b3e', St) <= 0);     //Горн

Ну в принципе информация о типе сообщения также хранится еще и в поле TypeChat дескриптора сообщения (0 - общий, 1 - мир чат, 2 - груп чат и т.д.). Т.е. понять тип сообщения можно заранее, не начиная читать само сообщение.
  Ответить с цитированием
Пользователь сказал cпасибо:
diagnost (22.06.2016)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 11:59.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net