Сообщений: 129
Тем: 18
Зарегистрирован: Nov 2009
Онлайн серверов:
В index.php ищем строку:
PHP код: <?php
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
Ниже вставляем:
PHP код: <?php
$tpl->set ('{loginonline}', $loginonline);
$tpl->set ('{gameonline}', $gameonline);
Создаем config.php и пишем в него:
PHP код: <?php
//настройка статуса сервера
$ipgame="xxx.xxx.xxx.xxx"; //ип игрового сервера
$iplogin="xxx.xxx.xxx.xxx"; //ип логин сервера
$portgame="7777";//порт игрового сервера
$portlogin="2106";//порт логин сервера
?>
Создаем online.php пишем в него:
PHP код: <?php include('engine/modules/config.php');
$fp = @fsockopen($iplogin, $portlogin, $errno, $errstr, 1);
if($fp >= 1){
$loginonline = '<font color="green">Включен</font>';}
else{ $loginonline = '<font color="red">Выключе</font>'; }
$fp = @fsockopen($ipgame, $portgame, $errno, $errstr, 1);
if($fp >= 1){
$gameonline = '<font color="green">Включен</font>';}
else{ $gameonline = '<font color="red">Выключен</font>'; }
?>
Копируем config.php и online.php в engine/modules/
В main.tpl вашего шаблона (где вам угодно) вставляем:
PHP код: <?php
{loginonline}
{gameonline}
Удачи!
Модуль by warman4ik
------------------------------------------------------------
Cоздаем модуль aion_online.php в /engine/modules/ с кодом:
PHP код: <?php
// защита от прямого запуска
if (!defined('DATALIFEENGINE')) die ("Hacking attempt!");
// подключаемся к mysql
mysql_connect('localhost', 'root', 'newpass') or die (mysql_error());
// выбираем базу данных
mysql_select_db('aion');
// выполняем запрос на получение игроков в онлайне
// можно использовать count(*), и mysql_result
$sql = mysql_query('SELECT * FROM players WHERE online=1');
// узнаем количество строк соответствующих нашему запросу
$sql = mysql_num_rows($sql);
// вот и все, $sql содержит количество геймеров
// выводим их
echo 'Сейчас в игре: '.$sql;
?>
В main.tpl вашего шаблона (где вам угодно) вставляем:
PHP код: <?php
{include file="/engine/modules/aion_online.php"}
Модуль by PROGRAMMATOR.
Сообщений: 299
Тем: 24
Зарегистрирован: Oct 2008
Репутация:
561
СпС но вот подключение модуля забыл написать?
А именно вот это?
PHP код: <?php
require_once ENGINE_DIR . '/modules/online.php';
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
acronass Написал:{loginonline}
{gameonline}- Незачем использовать два тега, для вывода одного блока. Так же не удобно иметь файл конфигурации для одного модуля, тут проще в самом модуле объявить нужные переменные.
PHP код: <?php
// защита от прямого запуска
if (!defined('DATALIFEENGINE')) die ("Hacking attempt!");
// переменные используемые в модуле
// настройка подключения к серверу авторизации
define ('LOGIN_DNS', 'www.zone-game.info');
define ('LOGIN_PORT', 80);
// настройка подключения к игровому серверу
define ('GAME_DNS', 'www.zone-game.net');
define ('GAME_PORT', 80);
// таймаут соединения, если за это время не ответил сервер
// считаем его "отключеным" (значение в секундах)
define ('TIME_OUT', 2);
// по умолчанию все сервера отключены ;)
$login = '<font color="red">отключен</font>';
$game = '<font color="red">отключен</font>';
// устанавливаем соединение с серверов авторизации
$fp = @fsockopen(LOGIN_DNS, LOGIN_PORT, $errno, $errstr, TIME_OUT);
// проверяем, если true то назначаем переменной новое значение
if ($fp) {
$login = '<font color="green">работает</font>';
fclose($fp);
}
// устанавливаем соединение с игровым сервером
$fp = @fsockopen(GAME_DNS, GAME_PORT, $errno, $errstr, TIME_OUT);
// проверяем, если true то назначаем переменной $game новое значение
if ($fp) {
$game = '<font color="green">работает</font>';
fclose($fp);
}
$server_online = "Сервер авторизации: $login\n<br />
Игровой сервер: $game";
?>
Подключать модуль так же как и остальные. Для DLE < 8.2 выполняем установку таким макаром.
Да и вообще, его можно было совместить с aion_online и вывести все вместе.
Сообщений: 129
Тем: 18
Зарегистрирован: Nov 2009
HuKoJIaC Написал:СпС но вот подключение модуля забыл написать?
А именно вот это?
PHP код: <?php
require_once ENGINE_DIR . '/modules/online.php';
Да и не только
PHP код: <?php
require_once ENGINE_DIR . '/modules/online.php';
но и
PHP код: <?php
require_once ENGINE_DIR . '/modules/config.php';
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Для чего? Он же уже у тебя инклудится в модуле:
PHP код: <?php include('engine/modules/config.php');
Сообщений: 129
Тем: 18
Зарегистрирован: Nov 2009
Я лично сделал так, для перестраховки Тем более пару строк мне места не займут) и работы это сильно не добавило)
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Чем чище код - тем лучше.
Сообщений: 129
Тем: 18
Зарегистрирован: Nov 2009
Я согласен, но тем не менее я начал так делать и заработало, не решил экспериментировать
Сообщений: 78
Тем: 4
Зарегистрирован: Mar 2009
Репутация:
45
PROGRAMMATOR Написал:Незачем использовать два тега, для вывода одного блока. Ты не прав, надо давать свободу дизайнеру
Как говорит дизайнер у нас на работе: "Не хочешь проблем от дизайнера, дай ему свободу"
Тобиш, создал теги, и уже не надо переживать по поводу редактирования кода в движке, т.к дизайнер сам разместит это где нужно.
Человек человеку друг, а зомби зомби зомби
Сообщений: 129
Тем: 18
Зарегистрирован: Nov 2009
Это мой второй пост с полезной, уникальной информацией. Буду стараться дальше!
|