Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите переписать мониторинг..

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Safok
Отправлено: 04 Марта, 2013 - 20:26:08
Post Id



Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


У меня есть скрипт который вычисляет онайн на сервере и так же количество слотов..
Вот скрипт который вычисляет онлайн и количество слотов

Название:monitoring.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4. require "SampQueryAPI.php";
  5. $query = new SampQueryAPI('82.146.40.180', '7777');
  6.  
  7.  
  8. if($query->isOnline())
  9. {
  10.         $aInformation = $query->getInfo();
  11.         $aServerRules = $query->getRules();
  12.  
  13.         ?>
  14.         <b>Погода:</b>
  15.         <?PHP
  16.  
  17.         if($aServerRules['weather'] == 0 OR $aServerRules['weather'] == 1 OR $aServerRules['weather'] == 2 OR $aServerRules['weather'] == 3 OR $aServerRules['weather'] == 4 OR $aServerRules['weather'] == 5 OR $aServerRules['weather'] == 6 OR $aServerRules['weather'] == 7OR $aServerRules['weather'] == 10)
  18.         {
  19.                 echo '<iframe width="560" height="340" src="/weather1.swf" frameborder="0" allowfullscreen></iframe>';
  20.         }
  21.         else
  22.         {
  23.                 echo '<iframe width="560" height="340" src="/weather2.swf" frameborder="0" allowfullscreen></iframe>';
  24.         }
  25.                
  26.         echo'<br /><b>Игроки на сервере:</b>';
  27.         $aPlayers = $query->getDetailedPlayers();
  28.  
  29.         if(!is_array($aPlayers) || count($aPlayers) == 0)
  30.         {
  31.                 echo '<br /><i>None</i>';
  32.         }
  33.         else
  34.         {
  35.                 ?>
  36.                 <table width="600">
  37.                         <tr>
  38.                                 <td><b>ID</b></td>
  39.                                 <td><b>Логин</b></td>
  40.                                 <td><b>Уровень</b></td>
  41.                                 <td><b>Пинг</b></td>
  42.                         </tr>
  43.                 <?PHP
  44.                 foreach($aPlayers as $sValue)
  45.                 {
  46.                         ?>
  47.                         <tr>
  48.                                 <td><?= $sValue['playerid'] ?></td>
  49.                                 <td><?= htmlentities($sValue['nickname']) ?></td>
  50.                                 <td><?= $sValue['score'] ?></td>
  51.                                 <td><?= $sValue['ping'] ?></td>
  52.                         </tr>
  53.                         <?PHP
  54.                 }
  55.  
  56.                 echo '</table>';
  57.         }
  58. }
  59.  
  60. ?>

И вывожу его так(в строчку): <b>Игроков:</b> <?= $aInformation['players'] ?> / <?= $aInformation['maxplayers'] ?>


Мой запрос в том, что бы мониторинг рисовался как по этому скрипту(т.е выводился мой онлайн), а не писался в строчку..:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_GET['ip'])) { $ips =$_GET['ip']; }
  3. if (isset($_GET['port'])) { $ports =$_GET['port']; }
  4.  
  5. ini_set("display_errors", "1");
  6. include('status.class.php');
  7.  $Server = new MinecraftStatus($ips, $ports);
  8.  $playeron = $Server->CurPlayers;
  9.  $playermax = $Server->MaxPlayers;
  10.  $Server->Online ?  $statusi = 1 : $statusi = 0;
  11.  $igroki ='SANDBOX '.$Server->CurPlayers.'/'.$Server->MaxPlayers;
  12.  
  13. if ($statusi == 1) {
  14.  $igrok = 220*$playeron/$playermax;
  15.  $igro = $igroki;
  16. } else {
  17.   $igrok = '220';
  18.   $igro = 'OFFLINE';
  19. }
  20.   header("Content-Type: image/png");
  21.   $image = imagecreate(220, 20); /*Длина, высота*/
  22.   $dark_grey = imagecolorallocate($image, 235, 235, 235);
  23.   $blek = imagecolorallocate($image, 0, 0, 0);
  24.   $gren = imagecolorallocate($image, 0, 255, 0);
  25.   $red = imagecolorallocate($image, 255, 0, 0);
  26.   if ($statusi == 0) {
  27.    $cvet = $red;
  28.   } else {
  29.   $cvet = $gren;
  30.   }
  31.   $font_path = 'MyriadPro.otf';
  32.   imagefilledrectangle($image,0,0,$igrok,180,$cvet);
  33.   imagettftext($image, 13, 0, 70, 15, $blek, $font_path, $igro); /*Размер шрифта, поворот текста, отступ текста от начала, опускание текста вниз*/
  34.   imagepng($image);
  35.   imagedestroy($image);
  36. ?>
 
 Top
Safok
Отправлено: 05 Марта, 2013 - 18:16:17
Post Id



Гость


Покинул форум
Сообщений всего: 96
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


up pomogite
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB