Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Модуль онлайн для DLE
#1
Онлайн серверов:

В 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.
Ответ
#2
СпС но вот подключение модуля забыл написать?
А именно вот это?
PHP код:
<?php 
require_once ENGINE_DIR . '/modules/online.php';
Ответ
#3
acronass Написал:{loginonline}
{gameonline}-
Незачем использовать два тега, для вывода одного блока. Wink Так же не удобно иметь файл конфигурации для одного модуля, тут проще в самом модуле объявить нужные переменные.

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 и вывести все вместе.
Ответ
#4
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';
Ответ
#5
Для чего? Он же уже у тебя инклудится в модуле:

PHP код:
<?php include('engine/modules/config.php'); 
Ответ
#6
Я лично сделал так, для перестраховкиSmile Тем более пару строк мне места не займут) и работы это сильно не добавило)
Ответ
#7
Smile Чем чище код - тем лучше.
Ответ
#8
Я согласен, но тем не менее я начал так делать и заработало, не решил экспериментировать Smile
Ответ
#9
PROGRAMMATOR Написал:Незачем использовать два тега, для вывода одного блока.
Ты не прав, надо давать свободу дизайнеру Smile
Как говорит дизайнер у нас на работе: "Не хочешь проблем от дизайнера, дай ему свободу"

Тобиш, создал теги, и уже не надо переживать по поводу редактирования кода в движке, т.к дизайнер сам разместит это где нужно.
Человек человеку друг, а зомби зомби зомби
Ответ
#10
Это мой второй пост с полезной, уникальной информацией. Буду стараться дальше! Smile
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Вывод количества онлайн Romanz 6 3,671 08-24-2010, 03:14 PM
Последний пост: IIIeik
  Онлайн Администрация Bumerok 14 4,484 07-15-2010, 05:19 PM
Последний пост: Bumerok
  Модуль aion для dle 8.5 eleminator 7 6,619 06-17-2010, 11:46 PM
Последний пост: Inkognito
  Модуль регистрации для HTML сайта xobotyi 3 5,666 04-15-2010, 10:22 PM
Последний пост: MetaWind
  Онлайн игроков. warman4ik 18 6,165 01-17-2010, 01:04 AM
Последний пост: Horizon
  Модуль "кто онлайн?" warman4ik 9 2,935 11-22-2009, 04:22 AM
Последний пост: warman4ik
  Модуль регистрации. warman4ik 9 3,794 11-21-2009, 03:53 PM
Последний пост: HuKoJIaC
  Модуль Online для DLE. warman4ik 4 2,960 11-16-2009, 05:34 AM
Последний пост: warman4ik

Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)