хочу сделать счетчик дамага, с полученным все в порядке, а вот с нанесенным какие то глюки примерно раз в 5-6 сообщений парсинг не проходит, может есть какой то другой способ?
Код:
var
p1: cardinal;
p2: pointer;
src: string;
dst: string;
dmg: integer;
Engine.WaitAction([laSysMsg], p1, p2);
if (p1 = 2262) then
begin
src := string(pchar(p2));
p2 := pointer(cardinal(p2) + ((length(src) + 1) * 2));
p2 := pointer(cardinal(p2) + 4);
dst := string(pchar(p2));
p2 := pointer(cardinal(p2) + ((length(dst) + 1) * 2));
p2 := pointer(cardinal(p2) + 4);
dmg := pinteger(p2)^;
print(src + '->' + dst + ' (' + inttostr(dmg) + ' dmg) ID=' + inttostr(p1));
end;