Модуль онлайн для DLE - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Aion > Серверная часть

Важная информация

Серверная часть Обсуждения вопросов по установке и настройке эмулятора Aion-Emu, для совершенно новой и необыкновенно красивой игры - Aion.

Ответ
Опции темы
Непрочитано 30.11.2009, 01:05   #21
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Модуль онлайн для DLE

Что бы выводить отдельной страницей - нужен другой подход к установке модуля. Я набросал по быстрому модуль, работать будет 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 код:
switch ( $do ) { 
Впишите следующие строки:

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

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

Код HTML:
                        <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

Пользуйтесь!
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 30.11.2009, 05:53   #22
Пользователь

По умолчанию Re: Модуль онлайн для DLE

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 12:54. Часовой пояс GMT +3.

Вверх