Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Модуль онлайн для DLE
#21
Что бы выводить отдельной страницей - нужен другой подход к установке модуля. Я набросал по быстрому модуль, работать будет 100% - проверено!

PHP код:
<?php

// Автор PROGRAMMATOR
// Сайт: http://zone-game.info

// защита от прямого запуска
if(!defined( 'DATALIFEENGINE' )) die ( "Hacking attempt!" );

// заголовок страницы
$title = 'Заголовок страницы вывода онлайна';
// вносим название страницы в <title></title>
$metatags['header_title'] = $title;

// подключаемся к mysql
mysql_connect('localhost', 'root', 'vertrigo') or die (mysql_error());
// выбираем базу данных
mysql_select_db('aion');

// выполняем запрос на получение игроков в онлайне
// GROYP BY позволяет сортировать нам игроков по их
// (в нашем случае) опыту. Уровней я здесь не нашел.
$sql = mysql_query('SELECT name, gender, race, player_class FROM players WHERE online=1 GROUP BY exp DESC');


// создаем ассоциативный массив
while ($row = mysql_fetch_assoc($sql)) {
// устанавливаем иконку исходя из рассы персонажа
$race_icon = $row['race'] == 'ELYOS' ? 'elyos.png' : 'asmodian.png';
// устанавливаем атрибут alt для иконок расы
$alt_icon = $row['race'] == 'ELYOS' ? 'Элиос' : 'Асмодиан';
// собираем со всего добра нужную строку
$players_line .= '<img src="/images/race/'.$race_icon.'" alt="'.$alt_icon.'" width="15" height="16" />'.$row['name'].'<br />';
}

// количество играющих людей
$count_online_player = mysql_num_rows($sql);

// переменная $players_line содержит строки в формате:
// иконка - имя (можно собрать любого формата)
// присваиваем эти данные переменной $aion_players_online
$aion_players_online = $players_line;

// подгружаем нужный шаблон
$tpl->load_template('online.tpl');

// вывод заголовка
$tpl->set('{title}', $title);
// вывод списка игроков
$tpl->set('{online}', $aion_players_online);
// вывод количества игроков
$tpl->set('{count}', $count_online_player);

$tpl->compile('content');
$tpl->clear();

?>

Это все добро нужно сохранить в файл online.php и поместить в engine\modules\ (не забудьте изменить логин, пароль и название бд). Дальше откройте файл engine\engine.php и после строки:

PHP код:
<?php 
switch ( $do ) {

Впишите следующие строки:

PHP код:
<?php 
case "online" :
include
ENGINE_DIR . '/modules/online.php';
break;

Осталось создать шаблон online.tpl в скине и оформить по своему вкусу (можно скопировать любой существующий, например: stats.tpl и отредактировать в нем теги, удалив лишнее и дописав нужное). Немного пояснений по тегам:
  • {title} - выведет заголовок вашей страницы
  • {online} - выведет список игроков
  • {count} - выведет их количество

В стандартном скине (Default) у меня файл online.tpl получился таким:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl01.gif" width="20" height="30" alt="" /></td>
<td align="left" valign="top" class="abl02"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="abl121">
<tr>
<td width="40" height="30"><img src="{THEME}/images/spacer.gif" width="40" height="1" alt="" /></td>
<td align="left" class="ntitle">{title}</td>
</tr>
</table></td>
<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl13.gif" width="20" height="30" alt="" /></td>
</tr>
<tr>
<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl51.gif" width="20" height="30" alt="" /></td>
<td align="left" valign="top" class="abl22"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30" class="abl221">&nbsp;</td>
</tr>
</table></td>
<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl53.gif" width="20" height="30" alt="" /></td>
</tr>
<tr>
<td width="20" align="left" valign="top" class="abl31"><img src="{THEME}/images/spacer.gif" width="20" height="1" alt="" /></td>
<td align="left" valign="top"><span class="news">
{online}
<br /><br />
Всего сейчас играет: {count}
</span></td>
<td width="20" align="right" valign="top" class="abl33"><img src="{THEME}/images/spacer.gif" width="20" height="1" alt="" /></td>
</tr>
<tr>
<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl31.gif" width="20" height="5" alt="" /></td>
<td><img src="{THEME}/images/spacer.gif" width="1" height="5" alt="" /></td>
<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl33.gif" width="20" height="5" alt="" /></td>
</tr>
<tr>
<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl41.gif" width="20" height="40" alt="" /></td>
<td align="right" valign="top" class="abl42"></td>
<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl43.gif" width="20" height="40" alt="" /></td>
</tr>
</table>


Вывод игроков будет доступен по ссылке ВашСайт/index.php?do=online

Пользуйтесь!
Ответ
#22
Спасибо, все работает так как и хотелось. Хотя достаточно в online.tpl просто указать переменные, у меня сам подвел под мой скин. Теперь можно и остальные страницы сделать так-же Smile
Ответ


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

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


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