katsap
Сообщений: 6
Оценки: 0
Присоединился: 2010-12-31 06:34:53.056666
|
Добрый день ибо вечер ув.. Хакерпро форумчанЭ мне нужна ваша помощь у меня Mssql , я вот когда cоздал топ игроков для игрового сервера у меня вот что дает: http://violencepw.no-ip.biz/Top_Players_by_TeJIePuziK.php вот тут у меня просто главное написаны, ф-ии, а список игроков нету вот скрипты эти: chardb_by_TeJIePuziK.jsp <%@page contentType="text/HТМL; charset=GBK"%> <%@page import="jаvа.lang.*"%> <%@page import="jаvа.util.*"%> <%@page import="jаvа.text.*"%> <%@page import="org.apache.commons.lang.StringEscapeUtils"%> <%@page import="protocol.*"%> <%@page import="com.goldhuman.auth.*"%> <%@page import="org.apache.commons.logging.Log"%> <%@page import="org.apache.commons.logging.LogFactory"%> <%@ page import="jаvа.sql.*" %> <% // // ORIGINALLY CODED BY MARHAZK (MARHAZK@YAHOO.COM) // ОТРЕДАКТИРОВАЛ TeJIePuziK // // ПРИМЕЧАНИЕ: ДЛЯ РАБОТЫ СКРИПТА ИЗМЕНИТЕ <ВАШ IP-АДРЕСС> <ИМЯ БД MSSQL> <ПОЛЬЗОВАТЕЛЬ БД MSSQL> <ПАРОЛЬ БД MSSQL> НА ВАШИ // Connection connection = null; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.1.2:1433;databasename=dbo", "sa", "****"); Statement statement = connection.createStatement(); // //CLEAR UWEBPLAYERS DATABASE // String deleteall = "DELETE FROM Players"; statement.executeupdаtе(deleteall); // //GET USER DB FIRST // ResultSet rst=null; rst = statement.executeQuery("select ID from users ORDER BY ID DESC"); RoleBean role = null; String tempplayername = null; String command = null; int index = 0; int maxid = 0; int roleid = 31; int uid = 0; int eachacc = 0; while (rst.next()) { maxid = Integer.parseInt(rst.getString("ID")); break; } while (roleid <= maxid) { roleid++; eachacc++; try { if (eachacc < 16) { role = GameDB.get( roleid ); session.setAttribute( "gamedb_rolebean", role ); if (null == role){ continue; } else { tempplayername = null; tempplayername = StringEscapeUtils.escapeHТМL(role.base.name.getString()); index = 0; index = tempplayername.indexOf("'"); StringBuffer playername = new StringBuffer(tempplayername); if(index > 0){ playername.replace(index, index + 1, "?"); } command = "INSERT INTO Players (roleid, rolename, rolelevel, rolestatus, rolegender, rolecultivation, rolemoney, rolerace, roleprof, rolerep, redname, rednametime, pinknametime, roletimeused, rolehp, rolemp, rolebankmoney) VALUES ("+roleid+", '"+playername+"', " + role.status.level + ", '" + role.base.status + "', '" + role.base.gender + "', '" + role.status.level2 + "', '" + role.pocket.money + "', '" + role.base.race + "', '" + role.base.cls + "', '" + role.status.reputation + "', '" + role.status.invader_state + "', '" + role.status.invader_time + "', '" + role.status.pariah_time + "', '" + role.status.time_used + "', '" + role.status.hp + "', '" + role.status.mp + "', '" + role.storehouse.money + "')"; statement.executeupdаtе(command); out.println("<br>–100% stored RoleDB: Name:" + tempplayername + " Roleid:" + roleid + " Level:" + role.status.level); //out.println(command); } } else if (eachacc == 16) eachacc = 0; else continue; } catch (Exception e) { continue; } } %> config_top_by_TeJIePuziK.php <? $lim = 100; //Количество игроков, выводимых в Топ //Настройки базы данных $SERVER = "violencepw.no-ip.biz:1433"; //Сервер базы данных $ADMIN_NAME = "sa"; //Пользователь базы данных $ADMIN_PASS = "****"; //Пароль базы данных $DATABASE = "dbo"; //Имя базы данных ?> Players_table_v1_by_TeJIePuziK.sql CREATE TABLE [Players] ( [roleid] [int] NOT NULL , [rolename] [varchar] (50) COLLATE Latin1_General_CI_AS NULL , [rolelevel] [int] NULL , [rolestatus] [int] NULL , [rolegender] [int] NULL , [rolecultivation] [int] NULL , [rolemoney] [bigint] NULL , [rolerace] [int] NULL , [roleprof] [int] NULL , [rolerep] [bigint] NULL , [redname] [bigint] NULL , [rednametime] [bigint] NULL , [pinknametime] [bigint] NULL , [roletimeused] [bigint] NULL , [rolehp] [bigint] NULL , [rolemp] [bigint] NULL , [rolebankmoney] [bigint] NULL , CONSTRAINT [PK_Players] PRIMARY KEY CLUSTERED ( [roleid] DESC ) ON [PRIMARY] ) ON [PRIMARY] GO Top_Players_by_TeJIePuziK.php <?php include('config_top_by_TeJIePuziK.php'); $conn=mssql_connect($SERVER,$ADMIN_NAME,$ADMIN_PASS); $xadb = mssql_select_db($DATABASE,$conn) or die("$uwebmsg_cerr"); if(isset($_GET['all'])){$all = $_GET['all'];} else {$all = 0;} if ($all == 0){ $uweb_toplvlq = "SELECT * FROM players ORDER BY rolelevel DESC"; $uweb_toplvlr = mssql_query($uweb_toplvlq); $uweb_toplvl_num = 10; echo "<p align='center'><b><span class='style6'>ТОП 100</span><span class='s'>*</span><span class='style6'> | </span><a href='Top_Players_by_TeJIePuziK.php?all=1' class='style6'>СТАТИСТИКА ПО ЧАРАМ</a><span class='s'>*</span><b></p><p>"; echo "<Table width=100% border=1><TR><TD align='center'><span class='styletable'>МЕСТО</span></td><TD align='center'><span class='styletable'>ИМЯ ИГРОКА</span></td><TD align='center'><span class='styletable'>УРОВЕНЬ ИГРОКА</span></td><TD align='center'><span class='styletable'>КОЛИЧЕСТВО ДЕНЕГ</span></td></tr>"; while ($uweb_toplvlrow = mssql_fetch_array($uweb_toplvlr)) { $uweb_toplvl_num++; echo "<TR><TD width='70' align='center'>".$uweb_toplvl_num."</td><TD align='center'><a href='Veiw_Player_by_TeJIePuziK.php?charid=".$uweb_toplvlrow[roleid]."'><b>".$uweb_toplvlrow[rolename]."</a></td><TD align='center'>".$uweb_toplvlrow[rolelevel]."</td><TD align='center'>".$uweb_toplvlrow[rolemoney]."</td>"; if ($uweb_toplvl_num >= $lim) break; } echo "</table></p>";} if ($all == 1){ if(isset($_GET['order'])){$order = $_GET['order'];} else {$order = 'rolelevel DESC';} $uweb_toplvlq = "SELECT * FROM Players ORDER BY $order"; $uweb_toplvlr = mssql_query($uweb_toplvlq); $uweb_toplvl_num = 0; echo "<p align='center'><b><a href='Top_Players_by_TeJIePuziK.php?all=0' class='style6'>ТОП 100</a><span class='s'>*</span> | <span class='style6'>СТАТИСТИКА ПО ЧАРАМ</span><span class='s'>*</span><b></p><p>"; echo "<Table width=100% border=1><TR><TD align='center'><span class='styletable'>МЕСТО</span></td><TD align='center'><a href='Top_Players_by_TeJIePuziK.php?all=1&order=rolename' class='styletable'>ИМЯ ИГРОКА</a></td><TD align='center'><a href='Top_Players_by_TeJIePuziK.php?all=1' class='styletable'>УРОВЕНЬ ИГРОКА</a></td><TD align='center'><a href='Top_Players_by_TeJIePuziK.php?all=1&order=rolemoney DESC' class='styletable'>КОЛИЧЕСТВО ДЕНЕГ</td></tr>"; while ($uweb_toplvlrow = mssql_fetch_array($uweb_toplvlr)) { $uweb_toplvl_num++; echo "<TR><TD width='70' align='center'>".$uweb_toplvl_num."</td><TD align='center'><a href='Veiw_Player_by_TeJIePuziK.php?charid=".$uweb_toplvlrow[roleid]."'><b>".$uweb_toplvlrow[rolename]."</a></td><TD align='center'>".$uweb_toplvlrow[rolelevel]."</td><TD align='center'>".$uweb_toplvlrow[rolemoney]."</td>"; } echo "</table></p>";} ?> Veiw_Player_by_TeJIePuziK.php <? include('config_top_by_TeJIePuziK.php'); //Проверяем получен ли id чара, в лсучае ошибки выводим сообщение и завершаем работу скрипта// if (isset ($_GET['charid'])){$charid = $_GET['charid'];} if (!isset($charid)){ exit("Не выбрано ни одного чара! Продолжение не возможно"); } //Конектимся к базе MSSQL// $conn=mssql_connect($SERVER,$ADMIN_NAME,$ADMIN_PASS); $xadb = mssql_select_db($DATABASE,$conn) or die("$uwebmsg_cerr"); $mssqlq = "SELECT * FROM Players WHERE roleid='$charid'"; $mssqlr = mssql_query($mssqlq); $mssqlrow = mssql_fetch_array($mssqlr); //Переводим значение культивации, рассы и проффесии из циферного обозначения в нормальный текст// if ($mssqlrow[rolecultivation] == '0'){$cult='Стойкий';}else{ if ($mssqlrow[rolecultivation] == '1'){$cult='Любопытный';}else{ if ($mssqlrow[rolecultivation] == '2'){$cult='Опытный';}else{ if ($mssqlrow[rolecultivation] == '3'){$cult='Рассудительный';}else{ if ($mssqlrow[rolecultivation] == '4'){$cult='Загадочный';}else{ if ($mssqlrow[rolecultivation] == '5'){$cult='Жестокий';}else{ if ($mssqlrow[rolecultivation] == '6'){$cult='Злой';}else{ if ($mssqlrow[rolecultivation] == '7'){$cult='Отрешенный';}else{ if ($mssqlrow[rolecultivation] == '8'){$cult='Благочестивый';}else{ if ($mssqlrow[rolecultivation] == '20'){$cult='Безупречный';}else{ if ($mssqlrow[rolecultivation] == '21'){$cult='Просвященный';}else{ if ($mssqlrow[rolecultivation] == '22'){$cult='Бессмертный';}else{ if ($mssqlrow[rolecultivation] == '30'){$cult='Демон';}else{ if ($mssqlrow[rolecultivation] == '31'){$cult='Дух зла';}else{ if ($mssqlrow[rolecultivation] == '32'){$cult='Сын ада';}else{$cult='Неизвестно';}}}}}}}}}}}}}}} if ($mssqlrow[rolerace] == '0'){$race='Человек';}else{ if ($mssqlrow[rolerace] == '1'){$race='Зооморф';}else{ if ($mssqlrow[rolerace] == '2'){$race='Зооморф';}else{ if ($mssqlrow[rolerace] == '4'){$race='Сид';}else{ if ($mssqlrow[rolerace] == '5'){$race='Сид';}else{$race='Неизвестно';}}}}} if ($mssqlrow[roleprof] == '0'){$prof='Воин';}else{ if ($mssqlrow[roleprof] == '1'){$prof='Маг';}else{ if ($mssqlrow[roleprof] == '2'){$prof='Друид';}else{ if ($mssqlrow[roleprof] == '4'){$prof='Оборотень';}else{ if ($mssqlrow[roleprof] == '6'){$prof='Лучник';}else{ if ($mssqlrow[roleprof] == '7'){$prof='Жрец';}else{$prof='Жрец';}}}}}} //Вычисляем наиграное время// $seconds = $mssqlrow[roletimeused]; $minuts = 0; $hours = 0; $days = 0; $minuts = $seconds/60; $time = (int)$minuts." минут"; if ($minuts >= 60){ $hours = $minuts/60; $minuts = ($hours-(int)$hours)*60; $minuts = (int)$minuts; $time = (int)$hours." часов ".$minuts." минут"; } if ($hours >= 24){ $days = $hours/24; $hours = ($days-(int)$days)*24; $hours = (int)$hours; $time = (int)$days." дней ".$hours." часов ".$minuts." минут"; } //Далее выводим данные о чаре в таблице// echo "<p align='center'>".$mssqlrow[rolename]."<p>"; ?> <table align="center" width="70%" border="1"> <tr> <td width="200"><b>Имя персонажа</b></td> <td><? echo $mssqlrow[rolename]; ?></td> </tr> <tr> <td><b>Расса</b></td> <td><? echo $race; ?></td> </tr> <tr> <td><b>Проффесия</b></td> <td><? echo $prof; ?></td> </tr> <tr> <td><b>Уровень игрока</b></td> <td><? echo $mssqlrow[rolelevel]; ?></td> </tr> <tr> <td><b>Количество жизней</b></td> <td><? echo $mssqlrow[rolehp]; ?></td> </tr> <tr> <td><b>Количество маны</b></td> <td><? echo $mssqlrow[rolemp]; ?></td> </tr> <? printf ("<tr> <td><b>Репутация</b></td> <td>%s</td> </tr>",$mssqlrow[rolerep]); ?> <tr> <td><b>Статус</b></td> <td><? echo $cult; ?></td> </tr> <tr> <td><b>Количество денег</b></td> <td><? echo $mssqlrow[rolemoney]; ?></td> </tr> <tr> <td><b>Количество денег в банке</b></td> <td><? echo $mssqlrow[rolebankmoney]; ?></td> </tr> <tr> <td><b>Наиграно</b></td> <td><? echo $time; ?></td> </tr> </table> Кто поможет исправить или подсказать в чем ошибка буду очень признателен
|