Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Посчет адены

AKA

Рег
30 Мар 2016
Сообщения
10
Реакции
0
привет
нужно подсчитывать кол-во адены через систем чат.

использую laSysMsg

id сообщения (28) определяется нормально, а вот по указателю на системное сообщение какая-то белеберда...

так и не получилось разобраться с системным сообщением.
у всех системных сообщений одинаковый указатель.

как вывести например: Получено: ххх аден.

сервер РуОФФ
 
вот из systemmsg Руофф

28 1 u,Получено: $s1 аден.\0 0 0 FF FF FF a, a, 0 0 0 0 0 a, a,none\0

помогите разобраться...
 
@AKA, проще разнести количество адены по переменным и сравнивать за промежуток времени до и после фарма.

вот пример с получением урона (т.е. айди поменять), но если нужен конкретно системный чат Engine.WaitAction([laSysMsg], p1, p2); крайне не стабильная штука и может срабатывать через раз
Код:
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;
 
@evilinex, не работает этот пример на Руофф :(
на этот скрипт я уже ссылался.

по поводу адены можно и реализовать как ты предлагал.

но меня конкретно интересует работа с системным чатом - для реализации этой и других целей.
 
@AKA, не стабильная штука этот систем чат.... я так понимаю он просто не успевает обрабатывать систем чат
 
@evilinex, почему она не стабильная ?
все четко отлавливается каждое системное сообщение - без сбоев

но не могу врубится как по второму указателю получить данные системного сообщения !!!
 
@Krickt, ну например для подсчета фрагов

3812 1 u,Член клана $s1 убит персонажем $c2. Получено 1 очко репутации клана.\0 0 FF AA 0 FF a, a, 2 0 3 1 0 u,Член клана $s1 был убит персонажем $c2.\0 a,none\0

laSysMsg
id 3812 - работает как положено, но опять не получается получить название клана и имя перса.

сервер Руофф.
 
@Krickt, подсчет адены как пример решил использовать.

с чатом можете помочь ?
есть решение ?

я всю голову сломал уже... :(
 
я пытался считать урон через систем чат, в большинстве случаев всё в порядке, но достаточно часто по указателю находится полная фигня, так что думаю ничего у тебя не получится(
 
решения нет, у пкодера спрашивайте, куда указатель ведет :DD
в окрестностях ничего вразумительного нет :lol:

юзайте onpacket.
 
ну теперь все хоть прояснилось... спасибо
 
Назад
Сверху