1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Возжелайте, и да будет вам дано

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Synth (LM), 29 мар 2011.

  1. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Дефолт:

    PHP:
    <span class="syntaxdefault">    $result </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    $row </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$result</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'assoc'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    $disc </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $row</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"disc"</span><span class="syntaxkeyword">];</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    <br />    echo </span><span class="syntaxstring">"<table><br />    <tr><br />    <td style='width:36%;padding-left:8px; height:24px;'><br />    <div align='left'><a href='heroes.php?u=$realname'>$lang[show_hero_stats] <br />    <span $COLOR><b>$realname</b></span></a></div><br />    </td><br />    <td><div align='left'>$lang[show_stats_user] <b>$realname "</span><span class="syntaxkeyword">.</span><span class="syntaxcomment">/*ТЫКАЙ СЮДА ПЕРЕМЕННУЮ ВМЕСТЕ СО СУПОМ*/</span><span class="syntaxkeyword">.</span><span class="syntaxstring">$myFlag <span $COLOR>$BANNED</span></b></div></td><br />    </tr><br />    </table>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">//calculate wins<br /></span><span class="syntaxdefault">    $wins</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getUserWins</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">//calculate losses<br /></span><span class="syntaxdefault">    $losses</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getUserLosses</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>
    Вот так:

    PHP:
    <span class="syntaxdefault">    $result </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$sql</span><span class="syntaxkeyword">);<br />    </span><span class="syntaxdefault">$row </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$result</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'assoc'</span><span class="syntaxkeyword">);<br />    </span><span class="syntaxdefault">$disc </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">$row</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"disc"</span><span class="syntaxkeyword">]; }<br />    <br />    echo </span><span class="syntaxstring">"<table><br />    <tr><br />    <td style='width:36%;padding-left:8px; height:24px;'><br />    <div align='left'><a href='heroes.php?u=$realname'>$lang[show_hero_stats] <br />    <span $COLOR><b>$realname</b></span></a></div><br />    </td><br />    <td><div align='left'>$lang[show_stats_user] <b>$realname <sup>$count</sup> $myFlag <span $COLOR>$BANNED</span></b></div></td><br />    </tr><br />    </table>"</span><span class="syntaxkeyword">;<br />    </span><span class="syntaxcomment">//calculate wins<br />    </span><span class="syntaxdefault">$wins</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getUserWins</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">);<br />    </span><span class="syntaxcomment">//calculate losses<br />    </span><span class="syntaxdefault">$losses</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">getUserLosses</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$username</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"></span>
  2. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Всё теперь отлично, спасибку жмякнул.

    pS Делись секретом оптимизации, у тебя очень всё шибко грузится, да же там, где кеширование выключено o_O
  3. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Какие страницы именно?
  4. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Месячный топ со всей своей приблудой как у тебя, у меня грузился бы хз сколько (больше 30 сек точно), а у тебя 10сек, хотя может просто в размере базы дело, игр у тебя 1750 против 23276 моих...
  5. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Возможно.
  6. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Не работает вместе с кешированием, точнее не засчитывает клики если страница уже кеширована...
  7. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    А на что тогда кеш?
  8. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Да, я ничего не говорю, т.к. вполне логично, просто пришлось отключить кэш.
  9. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Исправим завтра.
  10. D-MiLIR Ньюфаг

    Сообщения:
    109
    Спасибы:
    0
    Хорошо :alequate: . С картинками соглашусь . У диаграмма цвета сливаются между желтым и оранжевым.
    Вопрос один как это теперь мне сделать) И как мне добавить реалм игроков с картинкой как тут http://rwc.mine.nu/game.php?gameid=6517
  11. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Цвета можешь сделать сам, все 14 штук.

    MOD_1 >> Ban chart

    Находим
    Код:
       $sql = "SELECT COUNT(*) FROM bans LIMIT 1";
       
       $result = $db->query($sql);
       $r = $db->fetch_row($result);
       $numrows = $r[0];
    Вставляем после:

    Код:
      $pageContents = ob_get_contents();
    ob_end_clean();
    echo str_replace('<!--TITLE-->', $pageTitle, $pageContents);
    Вставляем ниже
    Код:
    /* Bans stats by LongMan */ 
      
      
       $sql = "SELECT COUNT(*) FROM bans WHERE server = 'war3.alkar.net' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[1] = $row2[0];
       
       $count_tot[1]= round(($count[1]/$numrows),4)*100;
    
    
       $sql = "SELECT COUNT(*) FROM bans WHERE server = 'w3.gamergrad.ru' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[2] = $row2[0];
       
       $count_tot[2]= round(($count[2]/$numrows),4)*100;
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = 'bnet.it-ground.net' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[3] = $row2[0];
       
       $count_tot[3]= round(($count[3]/$numrows),4)*100;
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = '' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[4] = $row2[0];
       
       $count_tot[4]= round(($count[4]/$numrows),4)*100;
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = 'wc3.theabyss.ru' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[5] = $row2[0];
       
       $count_tot[5]= round(($count[5]/$numrows),4)*100;
       
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = 'bnet.sibnet.ru' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[6] = $row2[0];
       
       $count_tot[6]= round(($count[6]/$numrows),4)*100;
       
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = '89.221.200.141' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[7] = $row2[0];
       
       $count_tot[7]= round(($count[7]/$numrows),4)*100;
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = '88.205.252.7' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[8] = $row2[0];
       
       $count_tot[8]= round(($count[8]/$numrows),4)*100;
       
       
       $sql = "SELECT COUNT(*) FROM bans WHERE server = 'europe.warcraft3.eu' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[9] = $row2[0];
       
       $count_tot[9]= round(($count[9]/$numrows),4)*100;
       
          $sql = "SELECT COUNT(*) FROM bans WHERE server = '77.232.136.21' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[10] = $row2[0];
       
       $count_tot[10]= round(($count[10]/$numrows),4)*100;
       
          $sql = "SELECT COUNT(*) FROM bans WHERE server = '188.165.23.200' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[11] = $row2[0];
       
       $count_tot[11]= round(($count[11]/$numrows),4)*100;
       
          $sql = "SELECT COUNT(*) FROM bans WHERE server = 'bnet.a42.ru' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[12] = $row2[0];
       
       $count_tot[12]= round(($count[12]/$numrows),4)*100;
       
          $sql = "SELECT COUNT(*) FROM bans WHERE server = 'playground.ru' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[13] = $row2[0];
       
       $count_tot[13]= round(($count[13]/$numrows),4)*100;
       
       
          $sql = "SELECT COUNT(*) FROM bans WHERE server = '84.21.231.34' LIMIT 1";
       
       $result = $db->query($sql);
       $row2 = $db->fetch_row($result);
       $count[14] = $row2[0];
       
       $count_tot[14]= round(($count[14]/$numrows),4)*100;
       
       
       
       /* GOOGLE CHART IN RWC GRAPH*/
       
       		echo"<table><tr><th class='tableSearchR' width='200px'>Статистика банов</b></th></tr><td>";
       		
       		echo '<div align="center"><table class="tableA"><tr>
    	
    		<b><a href="#open" name="info" class="poplink" onclick="showhide(\'div1\');return false;" id="link">Открыть диаграмму</a></b>
    		</tr></table></div>
    		<div id="div1" style="display: none;">';
    
    		echo"<img src='https://chart.googleapis.com/chart?cht=p3&chd=s:Uf9a&chs=1000x300&chl=Alkar ($count[1])|Gamer Grad ($count[2])|It-Ground ($count[3])|Unknown server ($count[4])|ICcup ($count[5])|SibNet ($count[6])|Game Tracker ($count[7])|Nadym Server ($count[8])|Europe-1 ($count[9])|Лига SoD ($count[10])|EuroBattle ($count[11])|Game Zone ($count[12])|PlayGround ($count[13])|VDote ($count[14])&chdl=Alkar - $count_tot[1]%|Gamer Grad - $count_tot[2]%|It-Ground - $count_tot[3]%|Unknown Servers - $count_tot[4]%|ICcup - $count_tot[5]%|SibNet - $count_tot[6]%|Game Tracker - $count_tot[7]%|Nadym Server - $count_tot[8]%|Europe-1 - $count_tot[9]%|Лига SoD - $count_tot[10]%|EuroBattle - $count_tot[11]%|Game Zone - $count_tot[12]%|Playground - $count_tot[13]%|VDote - $count_tot[14]%&chd=t:$count_tot[1],$count_tot[2],$count_tot[3],$count_tot[4],$count_tot[5],$count_tot[6],$count_tot[7],$count_tot[8],$count_tot[9],$count_tot[10],$count_tot[11],$count_tot[12],$count_tot[13],$count_tot[14]&chco=FFFF00,FF0000,0000ff'>";
    		echo '</div></table></td><br>';
       /*END GOOGLE CHART*/		
    На счет цветов сразу скажу: там стоит градиент от 3х цветов, но ты можешь для каждого сервера свой цвет - добавляй по одному хекс-коду цвета в эту строку:
    Код:
    chco=FFFF00,FF0000,0000ff, итд (в конце запятую не нужно)

    Ищем
    Код:
    <th><a href='{$_SERVER['PHP_SELF']}?order=bannedby&sort=$sort'>$lang[bannedby]</th>
    Вставляем ниже
    Код:
      <th><div align='left'>Реалм</a></div></th>
    В цикле while ($list = $db->fetch_array($result,'assoc')) {
    Вставляем: $realm = trim("$list[server]");

    И чуть ниже объявления переменной тыкаем

    Код:
    /* REALM SCAN*/
      
      if ($realm == 'war3.alkar.net' || $realm == 'Alkar')
      $realm = '<a href="http://games.alkar.net/">Alkar</a>';
      else
      if ($realm == 'w3.gamergrad.ru' || $realm == 'Gamer Grad')
      $realm = '<a href="http://gamergrad.ru/">Gamer Grad</a>';
      else
      if ($realm == 'bnet.it-ground.net' || $realm == 'iT-Ground')
      $realm = '<a href="http://it-ground.net/index.php">iT.Ground</a>';
      else
      if ($realm == '')
      $realm = '<a href="http://rwc.3nx.ru/">Сервер не определен</a>';
      else
      if ($realm == 'wc3.theabyss.ru')
      $realm = '<a href="http://ru.iccup.com/">ICCup</a>';
      else
      if ($realm == 'bnet.sibnet.ru')
      $realm = '<a href="http://game.sibnet.ru/">SibNet</a>';
      else
      if ($realm == '89.221.200.141')
      $realm = '<a href="http://rwc.3nx.ru/404">Game Tracker-AZ</a>';
      else
      if ($realm == '88.205.252.7')
      $realm = '<a href="http://games.nadym.ru/f/index.php">Nadym Server</a>';
      if ($realm == 'europe.warcraft3.eu')
      $realm = '<a href="http://games.balticum.lt/">Europe-1</a>';
      else
        if ($realm == '77.232.136.21')
      $realm = '<a href="http://songofdota.ru/">Лига SoD</a>';
      else
       if ($realm == '188.165.23.200')
      $realm = '<a href="http://eurobattle.net/">EuroBattle</a>';
      else
       if ($realm == 'bnet.a42.ru')
      $realm = '<a href="http://gamezone.o-go.ru/forum/">Game Zone</a>';
        else
       if ($realm == 'playground.ru' )
      $realm = '<a href="http://www.PlayGround.ru">PlayGround.ru</a>';
      else
      if ($realm == '84.21.231.34')
      $realm = '<a href="http://vdote.org/">VDote.org</a>';
      else
      if ($realm == 'rwc.mine.nu')
      $realm = '<a href="http://rwc.3nx.ru/">RwC League</a>';
      
      echo "<!-- Bans stats by LongMan -->";
    Ниже в коде ищем

    Код:
    $data = array($celltitle, $myFlag, $list['id'], $name, $reason, $list['gamename'], $get_date, strtolower($list['admin']),$list['admin']);
    Заменяем на
    Код:
    $data = array($celltitle, $myFlag, $list['id'], $name, $reason, $list['gamename'], $get_date, strtolower($list['admin']),$list['admin'],$realm);
    Код:
    $tags = array('{CELL}', '{FLAG}', '{ID}', '{NAME}', '{REASON}', '{GAMENAME}', '{DATE}', '{ADMIN}','{ADMIN_NAME}'
       );
    На
    Код:
    $tags = array('{CELL}', '{FLAG}', '{ID}', '{NAME}', '{REASON}', '{GAMENAME}', '{DATE}', '{ADMIN}','{ADMIN_NAME}','{REALM}'
       );
    Идем в styles/YOUR_STYLE/bans.html

    После
    Код:
      <td width='200px'><div align='left'><a href='user.php?u={ADMIN}'>{ADMIN_NAME}</a>
    Вставляем
    Код:
      <td width='150px'><div align='left'>{REALM}</div></td>
  12. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Копировать свой сайт я не хочу (я на счет картинок реалма в стате игры). Давай че нибудь другое.
  13. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Сделай, что бы в статистике игры показывались квадратиками около ников, цвета игроков, как на икапе.
    http://rghost.ru/5010512/image.png
  14. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Banname мешает. Либо баннейм будет красным, либо все как ты сказал, но будет картинка бана над ником?
  15. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Только не над ником, а слева от него, то бишь между флагом и ником, и нужно будет тогда иконку бана добавить.
  16. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    После добавления счётчика кликов, статистика стала умирать, видимо из-за не оптимизированности этой новой графы, как её оптимизировать можно? Генерация страниц статистики игрока близится к 2 минутам...
  17. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    o_O. Настрой сам оптимизацию, я выкладывал настройки базы данных.
  18. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Ок, можно ссылку?

    pS Почему все данные в стандартных графах выравниваются по правой стороне, а эта новая графа по левой?
    http://rghost.ru/5010894/image.png
  19. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Че совсем больной? :lol: :lol: Неужели это так важно :D:D:D
    Ну если да, то это тип переменной VARCHAR - выравнивается слева. А циферки - INT.
  20. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Сам ищи да? Всех в поиск посылаешь, сам не можешь найти... :spy: