centrix 0 Опубликовано 19 марта, 2010 В предыдущей теме спрашивал про хеллбаунд. Теперь появилась такая необходимость - создать дополнительную вкладку в статистике - "ТОП забаненых". Хотелось бы, чтобы в ней отображался ник, время (всего и оставшееся), причина и ник модератора\админа. Реально это сделать или геморою много?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wonder 402 Опубликовано 19 марта, 2010 Для начала скинь структуру таблицы, в которой хранятся данные о забаненых, вывести на сайт их не составить труда, но вот с временем и прочей информацией придется подумать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
centrix 0 Опубликовано 19 марта, 2010 таблица bans: account_name | obj_Id | baned | unban | reason | GM | enban | karma Null | id персонажа | 10.03.13 16:38:38 | 10.03.13 17:08:38 | мат | CentriX | Null | Null В общем, выглядит вот так. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wonder 402 Опубликовано 19 марта, 2010 Кинь ещё запрос на добавление данной таблицы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
centrix 0 Опубликовано 20 марта, 2010 Вот, держите) DROP TABLE IF EXISTS `bans`; CREATE TABLE `bans` ( `account_name` VARCHAR(45) COLLATE utf8_general_ci DEFAULT NULL, `obj_Id` INTEGER(10) UNSIGNED NOT NULL DEFAULT '0', `baned` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL, `unban` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL, `reason` VARCHAR(200) COLLATE utf8_general_ci DEFAULT NULL, `GM` VARCHAR(35) COLLATE utf8_general_ci DEFAULT NULL, `endban` INTEGER(10) UNSIGNED DEFAULT NULL, `karma` INTEGER(11) DEFAULT NULL ) ENGINE=MyISAM CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wonder 402 Опубликовано 20 марта, 2010 Буду писать только что изменять, без комментариев, думаю и так поймешь: 1) Открываем \inc\l2db\l2j_l2Dream.php ищем ORDER BY olympiad_nobles.class_id, olympiad_nobles.olympiad_points DESC", Вставляем ниже: "getBans" => " SELECT bans.obj_Id, bans.baned, bans.unban, bans.reason, bans.GM, characters.char_name, characters.charId, characters.sex FROM `bans` LEFT JOIN characters ON bans.obj_Id = characters.charId ORDER BY bans.baned DESC ", 2) Открываем \admin\gserver.php ищем: $conf .= "\$l2db[\"gameserver\"][\"{$i}\"][\"stat\"][\"olympiad\"] = {$_POST["gs_stat_olympiad_$i"]};\n"; Добавляем ниже: $conf .= "\$l2db[\"gameserver\"][\"{$i}\"][\"stat\"][\"bans\"] = {$_POST["gs_stat_bans_$i"]};\n"; Ищем: <tr> <td class="tdLeft">Статистика "ОЛИМПИАДА"</td> <td class="tdRight">' . select("gs_stat_olympiad_$i", $on_off, $l2db["gameserver"][$i]["stat"]["olympiad"], "style='width:100px'") . '</td> </tr> Вставляем ниже: <tr> <td class="tdLeft">Статистика "Тюрьма"</td> <td class="tdRight">' . select("gs_stat_bans_$i", $on_off, $l2db["gameserver"][$i]["stat"]["bans"], "style='width:100px'") . '</td> </tr> 3) Открываем \engine\stat.php и ищем: else { $tpl->set_block("'\[olympiad\](.*?)\[/olympiad\]'si", ""); } Ниже вставляем: //prizon if ($l2db["gameserver"][$_serv_id]["stat"]["bans"]) { $tpl->set_block("'\[bans\](.*?)\[/bans\]'si", "\\1"); $tpl->set_var('{link_bans}', $_url . "&act=bans&server={$_serv_id}"); } else { $tpl->set_block("'\[bans\](.*?)\[/bans\]'si", ""); } Ищем: } $tpl->result["content"] = "<div align='center'>" . $l2_menu . $l2_content . "</div>"; Вставляем Выше!!! /** * ================================ * Prizon * ================================ */ if ($_act == "bans" && $l2db["gameserver"][$_serv_id]["stat"]["bans"]) { $l2_content = " <div class='l2title'>..:: " . $l2db["gameserver"][$_serv_id]["title"] . " - Список Банов ::..</div> <table id='l2top' cellpadding='0' cellspacing='0'> <thead> <tr> <th width='35'></th> <th class='name' width='50'>Ник</th> <th width='100'>Забанен</th> <th width='100'>Выйдет</th> <th width='150'>Причина</th> <th width='50'>Админ</th> </tr> </thead>"; $query = $gdb[$_serv_id]->query($gdb[$_serv_id]->_parse_query($qList[$l2db_gs]["getBans"])); $nn = 0; while ($BansData = $gdb[$_serv_id]->fetch_array($query)) { $trClass = $nn++ % 2 ? "" : "trRowA"; $sex = $BansData["sex"] ? "female" : "male"; $l2_content .= " <tr class='{$trClass}'> <td>{$nn}</td> <td class='name'><span class='{$sex}'><b>{$BansData["char_name"]}</b></span></td> <td>{$BansData["baned"]}</td> <td>{$BansData["unban"]}</td> <td>{$BansData["reason"]}</td> <td>{$BansData["GM"]}</td> </tr>"; } if ($gdb[$_serv_id]->numrows($query) == 0) { $l2_content .= "<tr><td colspan='5'><div class='error'>Нет результатов</div></td></tr>"; } $l2_content .= "</table>"; } 4) Открываем templates/название/statistic_menu.tpl ищем: [olympiad]<a href='{link_olympiad}'>Олимпиада</a>[/olympiad] Вставляем ниже: [bans]<a href='{link_bans}'>Тюрьма</a>[/bans] 5) Идем в админку и там в настройках статистики включаем статистику банов (Тюрьма). Так же прикрепил уже изменённые файлы, если возникнет какое-либо ЧП. stress_bans.rar Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
centrix 0 Опубликовано 25 марта, 2010 Что-то забаненных так и не показывает. В админке появилось все. Еще попутно вопрос о скрипте L2top. А как вообще убрать в нем проверку на время? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Wonder 402 Опубликовано 25 марта, 2010 Что за сборка? И есть ли в таблице какие-нибудь данные, сам тупил пару минут, пока не понял что у меня в таблице пусто. У себе проверял, данные выводились. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
centrix 0 Опубликовано 26 марта, 2010 Сборка L2Dream. ПТ2. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты