Тема: CSWOWD (форк)
Показать сообщение отдельно
Старый 09.05.2010, 13:18   #66
VinD
Пользователь
 
Аватар для VinD
 
Регистрация: 08.03.2010
Адрес: Ukraine
Сообщений: 41
Сказал(а) спасибо: 18
Поблагодарили 56 раз(а) в 20 сообщениях
VinD Скоро придёт к известности
По умолчанию

я предлагаю ещё и добавить
Код:
$rows = $cDB->select("SELECT `guid`, `name` , `race` , `class`, `gender`, `level` , `totalHonorPoints`, `totalKills` FROM `characters`  {WHERE `account` NOT IN (?a) AND `totalHonorPoints` > '0' }  ORDER BY `$sort_str` DESC LIMIT ?d", empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs, $config['top_honor_limit']);
чтоб не кидало в список людей, в которых нет хонора.
Также, после того как NeatElves указал мне, в чём моя ошибка при испольовании
Код:
empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs,
надо поправить и топ богачей, чтоб и там гмов не было
Код:
 $rows = $cDB->select( "SELECT `guid`, `name` , `race` , `class`, `gender`, `level` , `money` , `account` FROM `characters`  {WHERE `account` NOT IN (?a) AND `money` > '0' } ORDER BY `money` DESC LIMIT ?d", empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs, $config['top_money_limit']);
В итоге, чтоб KiriX не запутался здесь, решил выложить финальный результат наших изменений.
Код:
Index: top_100.php
===================================================================
--- top_100.php	(revision 28)
+++ top_100.php	(working copy)
@@ -17,7 +17,7 @@
 {
  $gm_accs = $rDB->selectCol("SELECT `id` FROM `account` WHERE `gmlevel`<>'0'");
  $rows = $cDB->select(
- "SELECT `guid`, `name` , `race` , `class`, `gender`, `level` , `money` FROM `characters`  WHERE `money`>'0' ORDER BY `money` DESC LIMIT ?d",$config['top_money_limit']);
+ "SELECT `guid`, `name` , `race` , `class`, `gender`, `level` , `money` , `account` FROM `characters`  {WHERE `account` NOT IN (?a) AND `money`>'0'} ORDER BY `money` DESC LIMIT ?d", empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs, $config['top_money_limit']);
  if ($rows)
  {
   echo "<TABLE class=report width=500>";
@@ -36,8 +36,6 @@
   foreach ($rows as $player)
   {
    $imgsize=24;
-   $char_data = explode(' ',$player['data']);
-   $char_info = str_pad(dechex($char_data[UNIT_FIELD_BYTES_0]), 8, 0, STR_PAD_LEFT);
    $gender    = $player['gender'];
    $class     = $player['class'];
    $race      = $player['race'];
@@ -65,7 +63,7 @@
  if ($sort == 'kills') $sort_str = 'totalKills';
  else                  $sort_str = 'totalHonorPoints';
  $gm_accs = $rDB->selectCol("SELECT `id` FROM `account` WHERE `gmlevel`<>'0'");
- $rows = $cDB->select("SELECT `guid`, `name` , `race` , `class`, `gender`, `level` , `totalHonorPoints`, `totalKills` FROM `characters`  WHERE `totalHonorPoints`>'0'  ORDER BY `$sort_str` DESC LIMIT ?d",$config['top_honor_limit']);
+$rows = $cDB->select("SELECT `guid`, `name` , `race` , `class`, `gender`, `level` , `totalHonorPoints`, `totalKills` FROM `characters`  {WHERE `account` NOT IN (?a) AND `totalHonorPoints`>'0'}  ORDER BY `$sort_str` DESC LIMIT ?d", empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs, $config['top_honor_limit']);
  if ($rows)
  {
   echo "<TABLE class=report width=500>";
@@ -85,8 +83,6 @@
   foreach ($rows as $player)
   {
    $imgsize=24;
-   $char_data = explode(' ',$player['data']);
-   $char_info = str_pad(dechex($char_data[UNIT_FIELD_BYTES_0]), 8, 0, STR_PAD_LEFT);
    $gender    = $player['gender'];
    $class     = $player['class'];
    $race      = $player['race'];
Вложения
Тип файла: patch top_100.patch (2.2 Кб, 606 просмотров)
__________________
Mangos 10505 + YTDB 564 + SD2 1826

Последний раз редактировалось VinD; 09.05.2010 в 13:32.
VinD вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
KiriX (09.05.2010), sven (09.05.2010)