Добрый день, дамы и господа
Забанили прошлый аккуант и решил быть повежливее
Сегодня мы рассмотрим настройку модулей для StressWeb (я работаю сейчас с StressWeb 13. Лицензия)
Итак, с чего мы начнем?
Модуль Top PvP.
Предисловие:
Приступим:
Заходим на FTP сайта (ну или открываем на своем компьютере папку со StressWeb'ом)
Открываем папку module
Открываем с помощью блокнота (редактируем) файл pvptop.php
Видим такую картину
Человек, который хотя-бы не много знаком с Php и основным синтаксисом MySQL, поймет, что теперь делать. Но большинство людей этого не знают.
Итак. Для начала настроим сам модуль (путем выставления значений переменным)
$T_ENABLE = false; // вкл/выкл модуль
$T_COUNT = 5; // количество результатов
$T_SID = 1; // ID сервера с которого выводить результаты
$T_CACHE = 2; // время кеширования в минутах, 0 - отключить
Теперь исправим запрос, что-бы из базы данных вытаскивало помимо Имени персонажа и Количества убийств в PvP, еще и Количество убийств в PK
В коде:
$T_SEL = $gdb[$T_SID]->query( "SELECT `char_name`,`pvpkills` FROM `characters` ORDER BY `pvpkills` DESC LIMIT {$T_COUNT}" );
А точнее в самом запросе:
SELECT `char_name`,`pvpkills` FROM `characters` ORDER BY `pvpkills` DESC LIMIT {$T_COUNT}
Мы видим, что из таблицы characters забираются данные из столбцов char_name (имя персонажа) и pvpkills (количество убийств в PvP).
Теперь давайте добавим в запрос доставание данных из столбца pkkills (количество убийств в PK)
Делается это достаточно просто
В запросе:
SELECT `char_name`,`pvpkills` FROM `characters` ORDER BY `pvpkills` DESC LIMIT {$T_COUNT}
После:
`pvpkills`
Добавим:
,`pkkills`
И получим:
SELECT `char_name`,`pvpkills`,`pkkills` FROM `characters` ORDER BY `pvpkills` DESC LIMIT {$T_COUNT}
Теперь давайте добавим в скрипт замену тэга {pk} на количество убийств в PK.
В коде:
$tpl->LoadView( 'pvptop' );
$tpl->Block( 'main', false );
$tpl->Block( 'item' );
$tpl->Set( 'n', $T_N );
$tpl->Set( 'char_name', $T_RESULT['char_name'] );
$tpl->Set( 'pvp', $T_RESULT['pvpkills'] );
$tpl->Build( 'pvptop_item' );
$T_N++;
После:
$tpl->Set( 'char_name', $T_RESULT['char_name'] );
$tpl->Set( 'pvp', $T_RESULT['pvpkills'] );
Добавим:
$tpl->Set( 'pk', $T_RESULT['pkkills'] );
Получим:
$tpl->LoadView( 'pvptop' );
$tpl->Block( 'main', false );
$tpl->Block( 'item' );
$tpl->Set( 'n', $T_N );
$tpl->Set( 'char_name', $T_RESULT['char_name'] );
$tpl->Set( 'pvp', $T_RESULT['pvpkills'] );
$tpl->Set( 'pk', $T_RESULT['pkkills'] );
$tpl->Build( 'pvptop_item' );
$T_N++;
Теперь сохраняем скрипт и радуемся.
Готовый скрипт:
<?php
/**
* STRESS WEB
* @author S.T.R.E.S.S.
* @copyright 2008 - 2012 STRESS WEB
* @version 13
* @web http://stressweb.ru
*/
if ( !defined("STRESSWEB") )
die( "Access denied..." );
/******************************
* НАСТРОЙКА МОДУЛЯ
******************************/
$T_ENABLE = true; // вкл/выкл модуль
$T_COUNT = 10; // количество результатов
$T_SID = 1; // ID сервера с которого выводить результаты
$T_CACHE = 2; // время кеширования в минутах, 0 - отключить
/******************************
* ВЫВОД РЕЗУЛЬТАТОВ
******************************/
if ( !$T_ENABLE )
$tpl->SetResult( 'pvptop' );
else {
$pvptop = $controller->GetCache( 'mod_pvptop' );
if ( $pvptop )
$tpl->SetResult( 'pvptop', $pvptop );
else {
$db->gdb( $T_SID );
$T_SEL = $gdb[$T_SID]->query( "SELECT `char_name`,`pvpkills`,`pkkills` FROM `characters` ORDER BY `pvpkills` DESC LIMIT {$T_COUNT}" );
if ( $gdb[$T_SID]->num_rows($T_SEL) > 0 ) {
$T_N = 1;
while ( $T_RESULT = $gdb[$T_SID]->fetch($T_SEL) ) {
$tpl->LoadView( 'pvptop' );
$tpl->Block( 'main', false );
$tpl->Block( 'item' );
$tpl->Set( 'n', $T_N );
$tpl->Set( 'char_name', $T_RESULT['char_name'] );
$tpl->Set( 'pvp', $T_RESULT['pvpkills'] );
$tpl->Set( 'pk', $T_RESULT['pkkills'] );
$tpl->Build( 'pvptop_item' );
$T_N++;
}
$tpl->LoadView( 'pvptop' );
$tpl->Block( 'item', false );
$tpl->Block( 'main' );
$tpl->Set( 'item', $tpl->GetResult('pvptop_item', true) );
$tpl->Build( 'pvptop' );
} else
$tpl->SetResult( 'pvptop' );
if ( $T_CACHE > 0 ) {
$controller->SetCache( 'mod_pvptop', $tpl->GetResult('pvptop'), $T_CACHE );
}
}
}
?>
Тэги:
Мануал написал собственноручно - JustWebProgrammer. Специально для L2Maxi.Ru
Скоро:
Настройка модуля Последние темы с форума
Установка WayToPay на StressWeb
И много много других интересных и познавательных мануалов