Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
|---|---|---|---|---|---|
| 16.2.2012, 11:53 | Server Stat System | Пришлось переделать статистику. Так , как она по умолчанию отображает первым в списке фрагеров. А так же если в имени игрока встречаются " ' " ( кавычка одинарная) , тго Mysql Error 1. файл /web/inc/api.stat.php строка 107 ( у меня, у вас может быть другая, я код поправлял ) Код $v['name'] = ($v['name']); // эта строка, изменить на $v['name'] = htmlspecialchars($v['name']); 2. Этот же файл Код строка 79 SELECT SQL_CACHE p.`id`, p.`name`, p.`alltime`, p.`numrounds`, sum(w.`kills`) as kills, sum(w.`deaths`) as deaths, sum(w.`headshots`) as headshots, sum(w.`teamkilling`) as teamkilling, sum(w.`shots`) as shots, sum(w.`hits`) as hits, sum(w.`damage`) as damage FROM `players` as p LEFT JOIN `weapons` as w ON w.user_id=p.id GROUP BY p.id ORDER BY `kills` desc LIMIT ".$start.", ".$perpg." // эта строка, изменить на SELECT SQL_CACHE p.`id`, p.`name`, p.`alltime`, p.`numrounds`, sum(w.`kills`) as kills, sum(w.`deaths`) as deaths, ROUND((CASE WHEN sum(w.`kills`)<50 THEN 0 ELSE sum(w.`kills`)+1 END)/(CASE WHEN sum(w.`deaths`)=0 THEN 1 ELSE sum(w.`deaths`)+1 END),2) as stat, sum(w.`headshots`) as headshots, sum(w.`teamkilling`) as teamkilling, sum(w.`shots`) as shots, sum(w.`hits`) as hits, sum(w.`damage`) as damage FROM `players` as p LEFT JOIN `weapons` as w ON w.user_id=p.id GROUP BY p.id ORDER BY `stat` desc LIMIT ".$start.", ".$perpg." а так же заменить Код строка примерно 51 SELECT SQL_CACHE p.`id`, p.`name`, sum(w.`kills`) as `kills`, sum(w.`deaths`) as `deaths` FROM `players` as p LEFT JOIN `weapons` as w ON w.user_id=p.id GROUP BY w.user_id ORDER BY `kills` DESC LIMIT ".$num; // заменить на SELECT SQL_CACHE p.`id`, p.`name`, sum(w.`kills`) as `kills`, sum(w.`deaths`) as `deaths`, ROUND((CASE WHEN sum(w.`kills`)<50 THEN 0 ELSE sum(w.`kills`)+1 END)/(CASE WHEN sum(w.`deaths`)=0 THEN 1 ELSE sum(w.`deaths`)+1 END),2) as stat FROM `players` as p LEFT JOIN `weapons` as w ON w.user_id=p.id GROUP BY w.user_id ORDER BY `stat` DESC LIMIT ".$num; Теперь нужно исправить Шаблон players.tbl Строка 16 и 17 Код <th class="top" scope="col" width="45">{"PG_PLAYERS_KILLS"|getLangVar}</th> <th class="top" scope="col" width="45">{"PG_PLAYERS_DEATHS"|getLangVar}</th> //заменить на <th class="top" scope="col" width="45">Kоэфф.</th> <th class="top" scope="col" width="45">{"PG_PLAYERS_KILLS"|getLangVar}<br>{"PG_PLAYERS_DEATHS"|getLangVar}</th> Строка 28 и 29 Код <td class="tbl_val">{$pla.kills}</td> <td class="tbl_val">{$pla.deaths}</td> //заменить на <td class="tbl_val">{$pla.stat}</td> <td class="tbl_val">{$pla.kills} | {$pla.deaths}</td> итог можно посмотреть на http://games.xlock.ru/web |
redow | ||