Вопросы, советы, возможные модификации и вообще все про модуль статистики кланов

Модератор: Exinaus, shw

#6287 MadPaul 30 июл 2012, 13:38
Спасибо большое за Вашу помощь - все заработало.
Вот только столкнулся с небольшой проблемой - принял в клан нового человека и он тут же стал первым (и единственным) во всех Топ 5 на форуме.
Надеюсь, завтра все вернется как было, но все же, хотелось бы узнать - в чем может быть причина ?
#6294 MadPaul 31 июл 2012, 00:55
В самом модуле все хорошо - все игроки отображались.
Сегодня открыл форум - все по старому, перешел на страницу статистики - информация обновилась и ТОП 5 стали правильными.
Вчера при выполнении подобных действий эффекта не было.
Понаблюдаю, что произойдет при принятии еще людей и тут отпишусь.
#6297 Exinaus 31 июл 2012, 01:12
Это интересно. В принципе я понимаю где ошибка. Я постараюсь к выходным исправить, не обещаю, но постараюсь.
#6298 MadPaul 31 июл 2012, 01:35
MadPaul писал(а): информация обновилась и ТОП 5 стали правильными.

Написал и сглазил - опять только один тот же вновь принятый игрок во всех ТОП 5.

to Exinaus - спасибо, будем терпеливо ждать.
#6302 shw 31 июл 2012, 13:43
а можно попросить выложить 3 файла, которыми вы выводите?
а то мало ли.
#6305 Exinaus 31 июл 2012, 15:11
Я нашел ошибку. Залил фикс, будет исправлено в следующем патче.
Это не от этих трех файлов зависит, shw если надо я объясню где была проблема и почему она появилась.
#6308 shw 31 июл 2012, 15:41
подозреваю косяк был в этой строчке:
Код: Выделить всё        $sql = "SELECT name,id,account_id,role,member_since FROM players WHERE up <= '".$result['up']."' AND up > '".($result['up'] - 100)."' ORDER BY up ASC;";

На предыдущей версии проблема решалась полным удалением условия "WHERE" (но база была без левых игроков, свои и выгнанные).
Хотелось бы полюбопытствовать как на текущей, ведь фикс довольно актуальный для нас, простых смертных.
#6311 Exinaus 31 июл 2012, 17:32
В общем суть в параметре up в таблице players, который отвечает за время последнего обновления данных.
Функция которая берет данные из базы, раньше брала максимальное значение этого параметра для игроков, отнимала из него небольшое количество времени (100 секунд), и выбирала всех игроков у которых дата обновления статистики была больше этого значения.
Вот и получается что если принять игрока в клан, то дата обновления статистики у такого игрока может быть больше остального клана. И они не попадают в этот промежуток в 100 секунд. Я расширил этот промежуток, привязав его к параметру частоты обновления статистики (который в админке задается), теперь функция собирающая список игроков из базы должна охватывать всех. Ну и отсекать тех кто не в клане, т.к. их статистика не обновляется и они не пройдут по этому условию.
Так что все должно быть в порядке.
И если честно, я так и не смог понять почему раньше такой баг не вылазил, а теперь появился, код модуля не сильно изменился. Может его просто не замечали до этого времени.
#6315 shw 31 июл 2012, 20:31
Баг я на предыдущей версии еще описывал, но что-то видимо не срослось или не так объяснил.
Кхм. Расширить временной период это, конечно, хорошо, решает проблему, но.
могу я задать еще вопрос - а как обрабатывается аналогичная ситуация с ушедшими из клана?. Так же ждать, пока лимит времени не превысят и пройдет апдейт базы?.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45

Реклама | Adv