Achievement 1833
Столкнулся тут с интересной неработающей ачивкой.
Странно, должен сказать, не работающей. Прогресс считается, а выполнение не засчитывается. 1833 ачивка. В прогрессе показано, что выполнено 32 из 25, а не засчитывается. В чём может быть подвох? По коду полазил с флагами посмотрел - стандартная ачива, обработка которой в коде имеется... Правда она ещё содержит пару флагов, обработку которых я в коде так и не нашёл... |
Т.к. ачивка имеет флаг ACHIEVEMENT_FLAG_SUMM, обратился к этому куску кода:
Код:
if (entry->flags & ACHIEVEMENT_FLAG_SUMM) По идее должно идти сравнение с числом, что в achievementForTestCount (код чуть выше фрагмента), а его тут нет... |
Вариант завершения в самом цикле есть:
Код:
// for counters, field4 contains the main count requirement |
Спасибо, соврал я с флагами... У данной ачивки флаги ACHIEVEMENT_FLAG_REQ_COUNT и ACHIEVEMENT_FLAG_BAR
Опять сначала - не понятно, почему не засчитывается =( Отдельной обработки этих флагов нет... |
Агась... Понял, отрыл... Ачивка 1833 выполняется на основе ачивки 346 (общее число выпитых напитков). Но она имеет флаг 1 - каунтер. Собственно, когда идёт зачёт каунтера, попадаем в блок:
Код:
// nothing do for counter case Проблемы две: Первое: таким образом работают всего ДВЕ ачивки. Хакать??? Второе: я пробовал в дебаге на лету менять флаг с 9 на 8 при обработке ачивки 346, в результате чего серв входил в вечный цикл и падал... Есть ещё у кого какие идеи? =) |
Текущее время: 18:02. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS