Тема: Achievement 1833
Показать сообщение отдельно
Старый 05.03.2012, 12:42   #5
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Агась... Понял, отрыл... Ачивка 1833 выполняется на основе ачивки 346 (общее число выпитых напитков). Но она имеет флаг 1 - каунтер. Собственно, когда идёт зачёт каунтера, попадаем в блок:
Код:
    // nothing do for counter case
    if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER)
        return;
т.е. по мнению сервера больше ничего проверять и не надо и мы не попадаем в блок bool AchievementMgr::IsCompletedAchievement(Achievement Entry const* entry), где, по идее, мог бы пройти засчёт выполненой ачивки...
Проблемы две:
Первое: таким образом работают всего ДВЕ ачивки. Хакать???
Второе: я пробовал в дебаге на лету менять флаг с 9 на 8 при обработке ачивки 346, в результате чего серв входил в вечный цикл и падал...

Есть ещё у кого какие идеи?
KiriX вне форума