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

Show sentinel and scourge won

Тема в разделе 'Запуск и Поддержка', создана пользователем Spike, 3 апр 2012.

  1. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Как добавить в "Show sentinel and scourge won" (./includes/get_games_summary.php)
    Типа токого:
    Код:
    Игр сегодня: 1	Игр вчера: 1	Игр за неделю: 1	 Игр за месец: 1	Игр всего: 1
  2. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    За сегодня
    Код:
    SELECT COUNT(*) FROM `games` WHERE `datetime` >= CURDATE();

    За вчера
    Код:
    SELECT COUNT(*) FROM `games` WHERE `datetime` >= (CURDATE() - 1) AND `datetime` < CURDATE();

    За неделю
    Код:
    SELECT COUNT(*) FROM `games` WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 7 DAY);

    За месяц
    Код:
    SELECT COUNT(*) FROM `games` WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 1 MONTH);
    За всё время
    Код:
    SELECT COUNT(*) FROM `games`;
  3. Synth (LM) Пантограф!

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

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    оффтопик: как заменить curdate(), чтобы не использовалась функция с мускла?
  5. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Ну ты же не вручную юзаешь запрос, так что phpdate, time(),
    struct tm * timeinfo;
    	string sDate;
    	time_t Now = time( NULL );
    	timeinfo = localtime( &Now );
    	strftime (buffer,150,"%H:%M:%S %d %B %Y",timeinfo);
  6. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Блек, спасибо канешно но это запросы как я понял, а я не сильно разбераюсь, мож обьяснить что куда втавить?
  7. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
  8. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    а все уже разобрался, просто я не знал какой формат нужно указывать мусклу для where, понял что любой)


    Я про то, что при использование функций мускла в запросе, по идее, мускл должен игнорировать индексы.
    и нужно использовать strftime ("%H-%M-%S",time); или date("%H-%M-%S",time);


    ps^ strftime вроде как время в тиках принимает, а не тайм инфо. :ohpalevo:
    pps^ или я не прав насчет индекса??


    Upd: все таки не прав, сорри :palevo:
  9. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Код:
    Тут поищи
    dota-open-stats-mods/vozjelayte-i-da-budet-vam-dano-t2318.html
    Перелистал всю тему, не нашол(
  10. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
  11. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    В гугл вбей и ище раз увидиш
  12. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
    Говорю - дай пруф на сайт !

  13. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    [IMG]

    Открываешь файл ./includes/get_games_summary.php, перед закрывающим PHP тегом (?>) вставляешь следующее:
    // Games today, yesterday, last week, last month, total games
    $sql = "
    	SELECT
    	(
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= CURDATE()
    	) `today`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= (CURDATE() - 1) AND `datetime` < CURDATE()
    	) `day_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    	) `week_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
    	) `month_ago`";
    
    $result = $db->query($sql);
    $game_it = $db->fetch_row($result);



    Затем, в самом конце файла, перед закрывающим тегом </div>, вставляешь:
    <br />
    
    	<table class="tableA">
    		<caption style="font-weight: bold; padding: 3px 0;">Отхощено игр</caption>
    		<tr>
    			<th class="padLeft" style="width: 20%;">Игр сегодня: <?php echo $game_it[0]; ?></th>
    			<th style="width: 20%;">Игр вчера: <?php echo $game_it[1]; ?></th>
    			<th style="width: 20%;">Игр за неделю: <?php echo $game_it[2]; ?></th>
    			<th style="width: 20%;">Игр за месяц: <?php echo $game_it[3]; ?></th>
    			<th style="width: 20%;">Игр всего: <?php echo $numrows; ?></th>
    		</tr>
    	</table>
    
    	<br />


    Полный сорс дефолтного файла get_games_summary.php из DOS 1.3.9 с внесёнными изменениями:
    Код:
    <?php
    if(!defined('IN_OPENSTATS'))
    	exit;
    
    $sql = getSentScourWon();
    $result = $db->query($sql);
    $row = $db->fetch_array($result, 'assoc');
    
    $_totals = $row['sentinelWon'] + $row['scourgeWon'] + $row['draw'];
    $_sentWon = number_format($row['sentinelWon'], '0', '.', ',');
    $_sentWon2 = $row['sentinelWon'];
    $_scourWon = number_format($row['scourgeWon'], '0', '.', ',');
    $_scourWon2 = $row['scourgeWon'];
    $_draw = number_format($row['draw'], '0', '.', ',');
    
    if($_totals >= 1)
    {
    	$_sentPerc = round(($_sentWon2 / $_totals) * 100, 1);
    	$_scourPerc = round(($_scourWon2 / $_totals) * 100, 1);
    	$_drawPerc = round(($_draw / $_totals) * 100, 1);
    }
    else
    {
    	$_sentPerc = 0;
    	$_scourPerc = 0;
    	$_drawPerc = 0;
    }
    
    // Get games summary Sentinels
    $sql = getGamesSummary(1);
    $result = $db->query($sql);
    $row = $db->fetch_array($result, 'assoc');
    $TotSentinelKills = number_format($row['Kills'], '0', '.', ',');
    $TotSentinelDeaths = number_format($row['Deaths'], '0', '.', ',');
    $TotSentinelAssists = number_format($row['Assists'], '0', '.', ',');
    $TotSentinelCreepKills = number_format($row['CreepKills'], '0', '.', ',');
    $TotSentinelCreepDenies = number_format($row['CreepDenies'], '0', '.', ',');
    $TotSentinelTowers = number_format($row['towerkills'], '0', '.', ',');
    $TotSentinelRax = number_format($row['raxkills'], '0', '.', ',');
    $TotSentinelCourier = number_format($row['courierkills'], '0', '.', ',');
    
    // Get games summary Scourge
    $sql = getGamesSummary(2);
    $result = $db->query($sql);
    $row = $db->fetch_array($result, 'assoc');
    $TotScourgeKills = number_format($row['Kills'], '0', '.', ',');
    $TotScourgeDeaths = number_format($row['Deaths'], '0', '.', ',');
    $TotScourgeAssists = number_format($row['Assists'], '0', '.', ',');
    $TotScourgeCreepKills = number_format($row['CreepKills'], '0', '.', ',');
    $TotScourgeCreepDenies = number_format($row['CreepDenies'], '0', '.', ',');
    $TotScourgeTowers = number_format($row['towerkills'], '0', '.', ',');
    $TotScourgeRax = number_format($row['raxkills'], '0', '.', ',');
    $TotScourgeCourier = number_format($row['courierkills'], '0', '.', ',');
    
    
    // Duration and total games
    $sql = "
    	SELECT MAX(duration), MIN(duration), AVG(duration), SUM(duration)
    	FROM `games`
    	WHERE LOWER(map) LIKE LOWER('%dota%')
    	LIMIT 1";
    
    $result = $db->query($sql);
    $row = $db->fetch_array($result,'assoc');
    
    $maxDuration = secondsToTime($row['MAX(duration)']);
    $minDuration = secondsToTime($row['MIN(duration)']);
    $avgDuration = secondsToTime($row['AVG(duration)']);
    $totalDuration = secondsToTime($row['SUM(duration)']);
    $totalGames = number_format($numrows, '0', '.', ',');
    
    // Games today, yesterday, last week, last month, total games
    $sql = "
    	SELECT
    	(
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= CURDATE()
    	) `today`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= (CURDATE() - 1) AND `datetime` < CURDATE()
    	) `day_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    	) `week_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
    	) `month_ago`";
    
    $result = $db->query($sql);
    $game_it = $db->fetch_row($result);
    ?>
    <div align="center">
    	<table class="tableA">
    		<tr>
    			<th class="padLeft"></th>
    			<th><div align="left"><?php echo $lang['total'] , ' ' , $lang['wins']; ?></div></th>
    			<th><div align="center"><?php echo $lang['kills']; ?></div></th>
    			<th><div align="center"><?php echo $lang['deaths']; ?></div></th>
    			<th><div align="center"><?php echo $lang['assists']; ?></div></th>
    			<th><div align="center"><?php echo $lang['creep_kills']; ?></div></th>
    			<th><div align="center"><?php echo $lang['denies']; ?></div></th>
    			<th><div align="center"><?php echo $lang['towers']; ?></div></th>
    			<th><div align="center"><?php echo $lang['rax']; ?></div></th>
    			<th><div align="center"><?php echo $lang['couriers']; ?></div></th>
    			<th></th>
    		</tr>
    		<tr class="row">
    			<td class="padLeft" style="width: 90px;"><span class="sentinel"><strong><?php echo $lang['Sentinel']; ?></strong></span></td>
    			<td style="width: 90px;"><?php echo $_sentWon , ' (' , $_sentPerc; ?>%)</td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelKills; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelDeaths; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelAssists; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelCreepKills; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelCreepDenies; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelTowers; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelRax; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotSentinelCourier; ?></td>
    			<td></td>
    		</tr>
    		<tr class="row">
    			<td class="padLeft" style="width: 90px;"><span class="scourge"><strong><?php echo $lang['Scourge']; ?></strong></span></td>
    			<td style="width: 90px;"><?php echo $_scourWon , ' (' , $_scourPerc; ?>%)</td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeKills; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeDeaths; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeAssists; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeCreepKills; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeCreepDenies; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeTowers; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeRax; ?></td>
    			<td align="center" style="width: 90px;"><?php echo $TotScourgeCourier; ?></td>
    			<td></td>
    		</tr>
    		<tr class="row">
    			<td class="padLeft" style="width: 90px;"><span class="GamesDraw"><?php echo $_lang['draw_games']; ?></span></td>
    			<td style="width: 120px;"><?php echo $_draw , ' (' , $_drawPerc; ?>%)</th>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td></td>
    			<td></td>
    		</tr>
    	</table>
    
    	<table class="tableA">
    		<tr>
    			<th class="padLeft" style="width: 33%;"><?php echo $lang['total_games'] , ' ' , $numrows; ?></th>
    			<th style="width: 33%;"><?php echo $lang['avg_duration'] , ' ' , $avgDuration; ?></th>
    			<th style="width: 33%;"><?php echo $lang['total_duration'] , ' ' , $totalDuration; ?></th>
    		</tr>
    	</table>
    
    	<br />
    
    	<table class="tableA">
    		<caption style="font-weight: bold; padding: 3px 0;">Отхощено игр</caption>
    		<tr>
    			<th class="padLeft" style="width: 20%;">Игр сегодня: <?php echo $game_it[0]; ?></th>
    			<th style="width: 20%;">Игр вчера: <?php echo $game_it[1]; ?></th>
    			<th style="width: 20%;">Игр за неделю: <?php echo $game_it[2]; ?></th>
    			<th style="width: 20%;">Игр за месяц: <?php echo $game_it[3]; ?></th>
    			<th style="width: 20%;">Игр всего: <?php echo $numrows; ?></th>
    		</tr>
    	</table>
    
    	<br />
    </div>
  14. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Спасибо бро всё норм, но есть 1 штука, я get_games_summary.php вставил в top.php и в место "Игр всего:" отображает сколько игроков в базе...Можна как-то поправить?
  15. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Зпрос делаешь такой:

    Код:
    $sql = "
    	SELECT
    	(
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= CURDATE()
    	) `today`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= (CURDATE() - 1) AND `datetime` < CURDATE()
    	) `day_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    	) `week_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    		WHERE `datetime` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
    	) `month_ago`, (
    		SELECT COUNT(*)
    		FROM `games`
    	) `games_total`";
    Вместо:
    Код:
    <th style="width: 20%;">Игр всего: <?php echo $numrows; ?></th>
    вставляешь это:
    Код:
    <th style="width: 20%;">Игр всего: <?php echo $game_it[4]; ?></th>
  16. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Все получилось спасибо.
  17. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Эм задам ище вопрос, можна вывести на сайт статус бота?допустим по нику, например когда ник бота онлайн на сайте писало:
    выполнимо?
  18. Synth (LM) Пантограф!

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

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
  20. Spike Ньюфаг

    Сообщения:
    38
    Спасибы:
    0
    Это в юзер баре, а я хотел бы где так)