Нет не правильно считывает. Англ текст не изменил китайские символы (они вообще не поменялись).
Видимо читаю что то не то опять...
Добавлено через 16 минут
Вообщем... Не знаю почему только сейчас я вспомнил что имя то он корректно всегда считывал...
Полез искать как он это делает.... вообщем все решилось добавлением этой строки...
Int32 Struct = memory.ChainReadInt32(0x00E61254, -0x1c);
ChainReadInt32 - читает Int32 используя цепочку оффсетов.
И при коде:
Огромнейшее спасибо всем кто помогал! Когда откроется кнопка "Спасибо" всем ткну!
Ник я так понял находится между 0х44 и 0х56.
Пойду дописывать бота.
Кстати раз уж на то пошло, можно как то ВИДишник написавшего сообщение вытащить?
Для действия типо:
В ГЧ перс пишет "хил" бот выделяет ВИДишник и вставляет себе в таргет.
Последний раз редактировалось Arsen0208; 22.06.2016 в 01:50.
Причина: Добавлено сообщение
Кстати раз уж на то пошло, можно как то ВИДишник написавшего сообщение вытащить?
Для действия типо:
В ГЧ перс пишет "хил" бот выделяет ВИДишник и вставляет себе в таргет.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Выберем тот дескриптор, что выделен зеленой рамкой. Размер его 36 байт. Этот дескриптор я целиком загружаю в структуру ChatStruct, которая имеет такой же размер.
Теперь можно понять какие смещения нужно использовать внутри дескриптора:
TypeChat: 0x4 (т.к. перед полем TypeChat идет поле типа DWORD, занимающее 4 байта)
SmileSet: 0x5
Addr: 0x8
ну и так далее.
А интересующий вас WID: 0x20
Последний раз редактировалось Smerch; 22.06.2016 в 16:43.
Причина: ошибся с WID, написал в 10 СС
[Ссылки могут видеть только зарегистрированные пользователи. ] (delphi XE8)(почитал ни черта ничего не понял! И ни одного живого примера, буржуи молодцы, разбор и живой наглядный пример)
Последний раз редактировалось diagnost; 22.06.2016 в 10:01.
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.
Зря! Фильтровать сообщения, как собрался?( В мир написали или вам в личку?)
Код:
(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 - груп чат и т.д.). Т.е. понять тип сообщения можно заранее, не начиная читать само сообщение.