Назад

[Ищу и переделываю]База данных по монстрам и итемам

Автор: Fayl: Дата: 01.14.2011

Добрый день!
Дорабатываю скрипт панели управления WCP, которую перевёл Senasol.
Меня устраивает полностью, гну под себя, поменял дизайн, вставил отправку письма после регистрации, систему техподдержки и ещё пару мелочей.
От идеальной для меня системы, её отделяет только наличие базы данных по монстрам и итемам. В паблике я не нашел не намёка на отдельный скрипт, предоставляющий такую возможность. Посему было принято решение переделать ROSE, вытащить из неё куски отвечающие за базу.
Методом тыка было установленно, что файл который коннектится с бд и тащит информацию по мобам: module.mobs.php, он работает с паре с файлом const.php, который расшифровывает сокращённые названия и интерпретирует в базу натуральные имена.
За вывод на сайт отвечает файл: mobs.html.
Всё бы хороше, но ROSE тесно дружит со smarty, отсюда начинаются непонятные, лично для меня, ошибки. Прошу помочь дружбу эту крепкую преодолеть.
Итак, приведу кусок кода, со своими комментариями


	require_once('/wcp/include/const.php'); //тот самый конст, берём
include ('include/conf.php'); //и тут всё ясно, параметры подключения к БД


// получим список всех мобов - для выпадающего меню(это не мой коммент)

$mobs=GetAll("SELECT ID as id, iName as name FROM ".$config['ro_db'].".mob_db ORDER BY `iName`");
$smarty->assign("mobs",$mobs); //тадан! тут видимо в дело вмешивается смарти

// проверим на отображение конкретного элемента
if(isset($_PARAMS[1]) && $_PARAMS[1]=='detail'){
$_PARAMS[2]=(int)$_PARAMS[2]; // id монстра

// получим моба
$mob=GetAll("SELECT * FROM ".$config['ro_db'].".mob_db WHERE `ID`='".$_PARAMS[2]."'");

if(count($mob)){ // если получили моба

$mob=$mob[0];

if(is_file($config['document_root'].'/img/mob/'.$mob['ID'].'.gif')){
$mob['image']=true;
}else{
$mob['image']=false;
}
$smarty->assign("mob",$mob); //и тут тоже смарти, и ниже тоже
$smarty->assign('_ELEMENT_FIX',$_ELEMENTS_FIX[$mob['Element']]);
$smarty->assign('mode_list',get_mob_mode($mob['Mode'],$_MOB_MODE));
$smarty->assign('current_mob',$mob['ID']);

Собственно всё, прошу дайте здравую мыслЮ по этому поводу, или же скажите что затея глупа и того не стоит.
Благодарю!^_^

Автор: Asuma: Дата: 01.15.2011

$_PARAMS - переменная ROSE, посмотри как она получается в ядре.