ГлавнаяПрофильНовостиРекомендоватьОбратная связь
 
Kasseler CMS - Система управления сайтом
 
Новая тема Список форумов Kasseler CMS - Система управления сайтом » PHP  
Блок статистики сервера san andreas.

santaXZ
Добавлено: 17.02.2008 10:50:52   Заголовок сообщения: Блок статистики сервера san andreas.#1



Група: Новичок
Сообщений: 90
Пользователь №: 47
Спасибо сказали: 2 раз(а)
Дата регистрации: 07.02.2008
Место жительства: Москва
Статус: Offline
Я никак немогу найти блок подходящий для этой системы.Какой стороний блок непоставлю выдаёт ошибку, или непоказывает сервер. Помогите мне написать блок статистики для системы.Я хочу чтобы там показывалось сколько игроков,что за мод и ip игрового сервера.Помогите пожалуйста создать блок.~ Добавлено через 00.01.54 ~Если неполучится с показом мода,то хотябы пусть будет показыватся ip сервера и количество игроков.
_________________________________
mk2007
Вернуться к началу Пожаловаться на это сообщение Сказать спасибо
Профиль Личное сообщениеЦитата
Robin
Добавлено: 17.02.2008 13:14:21   Заголовок сообщения: #2



Група: Administrator
Возраст: 21
Сообщений: 1005
Пользователь №: 1
Спасибо сказали: 67 раз(а)
Дата регистрации: 25.11.2007
Статус: Offline
а ты где-то видел такой блок?
_________________________________
uploads/bar_kasseler.png
Сложность программы растет до тех пор, пока не превысит способности программиста. ©закон Мэрфи
Вернуться к началу Пожаловаться на это сообщение Сказать спасибо
Профиль Личное сообщениеЦитата
santaXZ
Добавлено: 17.02.2008 13:34:40   Заголовок сообщения: #3



Група: Новичок
Сообщений: 90
Пользователь №: 47
Спасибо сказали: 2 раз(а)
Дата регистрации: 07.02.2008
Место жительства: Москва
Статус: Offline
Я бы хотел зделать примерно такую статистику:
http://doberman.so.kz/uploads/posts/1191782831_gta_server.jpg
Если возможно,помоги пожалуйста.
А то никак немогу её сделать.
Ниодна статисика неработает на этом движке. :29:~ Добавлено через 00.04.20 ~А в той теме,я писал про эту же статистику но она незаработала.Если возможно,можешь переделать код под эту систему.~ Добавлено через 00.01.05 ~
CODE
<?php

$ip = '192.168.0.89';    //ip-адрес игрового сервера
$port = 7777;         //порт на игровом сервере для подключения
$tdbg="#ffffff";      //фоновый цвет таблицы с результатами

$gta_server='';
$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
       stream_set_timeout($fp, 1, 0);
       stream_set_blocking($fp, true);

if (!$fp) {
   $gta_server.="Ошибка подключения: ".$errno." - ".$errstr;
} else {
   $packet = "SAMP";
   $packet .= chr(strtok($ip, "."));
   $packet .= chr(strtok("."));
   $packet .= chr(strtok("."));
   $packet .= chr(strtok("."));
   $packet .= chr($port & 0xFF);
   $packet .= chr($port >> 8 & 0xFF);

   fwrite($fp, $packet."i");
   fread($fp, 11);
   $is_passworded = ord(fread($fp, 1));
   $plr_count = ord(fread($fp, 2));
   $max_plrs = ord(fread($fp, 2));
   $strlen = ord(fread($fp, 4));
   $hostname = fread($fp, $strlen);
   $strlen = ord(fread($fp, 4));
   $gamemode = fread($fp, $strlen);
   $strlen = ord(fread($fp, 4));
   $mapname = fread($fp, $strlen);

   $gta_server.= "<table bordercolor="#000000" cellpadding=2 cellspacing=0 border=0 width=98% align="center">";
   $gta_server.="<tr><td bgcolor="".$tdbg."" colspan=2 align="center"><b>".$hostname."</b></td></tr>
";
   $gta_server.="<tr><td bgcolor="".$tdbg."" >Игроков:</td><td bgcolor="".$tdbg."">".$plr_count." / ".$max_plrs."</td></tr>
";
   $gta_server.="<tr><td bgcolor="".$tdbg."">Режим: </td><td bgcolor="".$tdbg."">".$gamemode."</td></tr>
";
   $gta_server.="<tr><td bgcolor="".$tdbg."">Карта: </td><td bgcolor="".$tdbg."">".$mapname."</td></tr>
";
   if ($is_passworded) {
      $gta_server.="<tr><td bgcolor="".$tdbg."">Пароль: </td><td bgcolor="".$tdbg."">Есть</td></tr>
";
   } else {
      $gta_server.="<tr><td bgcolor="".$tdbg."">Пароль: </td><td bgcolor="".$tdbg."">Нет</td></tr>
";
   }

   fwrite($fp, $packet.'c');
   fread($fp, 11);
   $plr_count = ord(fread($fp, 2));
   $gta_server.=" </table><br>
";
   if ($plr_count > 0) {
      $gta_server.=" <table bordercolor="#000000" cellpadding=2 cellspacing=0 border=0 align="center" width=98%>
";
      $gta_server.=" <tr><td bgcolor="".$tdbg."" colspan=2 align="center"><b>Игроки:</b></td></tr>
";
      $gta_server.=" <tr><td bgcolor="".$tdbg."" align="center"><b>Ник</b></td><td bgcolor="".$tdbg."" align="center"><b>Счет</b></td></tr>
";
      for ($i=0; $i<$plr_count; $i++) {
         $strlen = ord(fread($fp, 1));
         $plrname = fread($fp, $strlen);
         $score = ord(fread($fp, 4));
         $gta_server.="<tr><td bgcolor="".$tdbg."">".$plrname."</td><td bgcolor="".$tdbg."">".$score."</td></tr>";
      }
      $gta_server.="</table>";
   }
   fclose($fp);
}
?>
~ Добавлено через 00.01.38 ~Буду благодарен если поможешь. :27:
_________________________________
mk2007
Вернуться к началу Пожаловаться на это сообщение Сказать спасибо
Профиль Личное сообщениеЦитата
Robin
Добавлено: 17.02.2008 17:46:30   Заголовок сообщения: #4



Група: Administrator
Возраст: 21
Сообщений: 1005
Пользователь №: 1
Спасибо сказали: 67 раз(а)
Дата регистрации: 25.11.2007
Статус: Offline
ok на днях гляну :4:

Данный блок не есть оптимальным, ибо он значительно затупляет сайт.

Вот код исправленного блока.
CODE
<?php
if (!defined('BLOCK_FILE')) {
    Header("Location: ../index.php");
    exit;
}

$ip = '192.168.0.89';    //ip-адрес игрового сервера
$port = 7777;         //порт на игровом сервере для подключения
$tdbg="#ffffff";      //фоновый цвет таблицы с результатами

$gta_server='';
$fp = fsockopen('udp://' . $ip, $port, $errno, $errstr);
       stream_set_timeout($fp, 1, 0);
       stream_set_blocking($fp, true);

if (!$fp) {
   $gta_server.="Ошибка подключения: ".$errno." - ".$errstr;
} else {
   $packet = "SAMP";
   $packet .= chr(strtok($ip, "."));
   $packet .= chr(strtok("."));
   $packet .= chr(strtok("."));
   $packet .= chr(strtok("."));
   $packet .= chr($port & 0xFF);
   $packet .= chr($port >> 8 & 0xFF);

   fwrite($fp, $packet."i");
   fread($fp, 11);
   $is_passworded = ord(fread($fp, 1));
   $plr_count = ord(fread($fp, 2));
   $max_plrs = ord(fread($fp, 2));
   $strlen = ord(fread($fp, 4));
   $hostname = @fread($fp, $strlen);
   $strlen = ord(fread($fp, 4));
   $gamemode = @fread($fp, $strlen);
   $strlen = ord(fread($fp, 4));
   $mapname = @fread($fp, $strlen);

   $gta_server.= "<table bordercolor="#000000" cellpadding=2 cellspacing=0 border=0 width=98% align="center">";
   $gta_server.="<tr><td bgcolor=".$tdbg." colspan=2 align="center"><b>".$hostname."</b></td></tr>";
   $gta_server.="<tr><td bgcolor=".$tdbg." >Игроков:</td><td bgcolor=".$tdbg.">".$plr_count." / ".$max_plrs."</td></tr>";
   $gta_server.="<tr><td bgcolor=".$tdbg.">Режим: </td><td bgcolor=".$tdbg.">".$gamemode."</td></tr>";
   $gta_server.="<tr><td bgcolor=".$tdbg.">Карта: </td><td bgcolor=".$tdbg.">".$mapname."</td></tr>";
   if ($is_passworded) {
      $gta_server.="<tr><td bgcolor=".$tdbg.">Пароль: </td><td bgcolor=".$tdbg.">Есть</td></tr>";
   } else {
      $gta_server.="<tr><td bgcolor=".$tdbg.">Пароль: </td><td bgcolor=".$tdbg.">Нет</td></tr>";
   }

   fwrite($fp, $packet.'c');
   fread($fp, 11);
   $plr_count = ord(fread($fp, 2));
   $gta_server.=" </table><br>";
   if ($plr_count > 0) {
      $gta_server.=" <table bordercolor="#000000" cellpadding=2 cellspacing=0 border=0 align="center" width=98%>";
      $gta_server.=" <tr><td bgcolor=".$tdbg." colspan=2 align="center"><b>Игроки:</b></td></tr>";
      $gta_server.=" <tr><td bgcolor=".$tdbg." align="center"><b>Ник</b></td><td bgcolor=".$tdbg." align="center"><b>Счет</b></td></tr>";
      for ($i=0; $i<$plr_count; $i++) {
         $strlen = ord(fread($fp, 1));
         $plrname = fread($fp, $strlen);
         $score = ord(fread($fp, 4));
         $gta_server.="<tr><td bgcolor=".$tdbg.">".$plrname."</td><td bgcolor=".$tdbg.">".$score."</td></tr>";
      }
      $gta_server.="</table>";
   }
   fclose($fp);
   $content = $gta_server;
}
?>


Тебе нужно создать файл в /blocks/ block-gta.php в него вставить выше приведенный код, потом создать блок в админ панели.

если же тебе нежно вывести только IP сервера - так что тебе мешает создать простой HTML блок в админ панели. :4:


Последний раз редактировалось: 18.02.2008 09:53:10
_________________________________
uploads/bar_kasseler.png
Сложность программы растет до тех пор, пока не превысит способности программиста. ©закон Мэрфи
Вернуться к началу Пожаловаться на это сообщение Сказать спасибо
Профиль Личное сообщениеЦитата
santaXZ
Добавлено: 20.02.2008 09:46:25   Заголовок сообщения: #5



Група: Новичок
Сообщений: 90
Пользователь №: 47
Спасибо сказали: 2 раз(а)
Дата регистрации: 07.02.2008
Место жительства: Москва
Статус: Offline
Спасибо,попробую работу этого блока. :27:
_________________________________
mk2007
Вернуться к началу Пожаловаться на это сообщение Сказать спасибо
Профиль Личное сообщениеЦитата
Список форумов Kasseler CMS - Система управления сайтом » PHP
 
Новая тема
Страница: 1 из 1 Вы можете просматривать темы
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать сообщения
Вы не можете удалять сообщения
Вы не можете модерировать этот форум

 
Страница сгенерирована за 0.135 секунд и 13 запросов к базе данных за 0.02024 секунд Web site engine code is Copyright © 2007-2008 by Kasseler CMS. All rights reserved.
Участник проекта CMS Magazine Rambler's Top100