Главная » Статьи » Статьи |
Статья о том как интегрировать игру,dle и psychostats в прикольный аддон Суть: плюсы данной системы: 1)Установленный движок портала DataLife Engine Нужно установить dle и pstats в одну базу!! по пунктам: Quote auth тип varchar(32) access тип varchar(32) flags тип varchar(32) plrid тип int(10) kills тип int(10) Для этого открываем таблице Dle_users,тыкаем структура,внизу выбираем добавить И по очереди создаем таблицы
2) Добавить проверку данных с pstats и автоматическую раздачу прав 1)открыть файл engine/modules/cron.php Quote @unlink( ENGINE_DIR . '/cache/system/banned.php' ); и ниже добавить: Quote //присваеваем id юзера с pstats к юзеру dle // $db->query("UPDATE dle_users, ps_plr SET dle_users.plrid=ps_plr.plrid WHERE dle_users.name = ps_plr.uniqueid"); //проверяем сколько убийств у юзера и записываем в профиль юзера dle // $db->query("UPDATE dle_users, ps_c_plr_data SET dle_users.kills=ps_c_plr_data.kills WHERE dle_users.plrid = ps_c_plr_data.plrid"); //настраиваем привелегии// $db->query("UPDATE dle_users SET dle_users.access='' WHERE dle_users.kills query("UPDATE dle_users SET dle_users.access='z' WHERE dle_users.kills > '100'"); //если больше 100 убийств выдается флаг z// $db->query("UPDATE dle_users SET dle_users.access='a' WHERE dle_users.kills > '500'"); //если больше 500 убийств выдается флаг a// $db->query("UPDATE dle_users SET dle_users.access='ac' WHERE dle_users.kills > '800'"); //если больше 800 убийств выдается флаг ac// $db->query("UPDATE dle_users SET dle_users.access='acij' WHERE dle_users.kills > '1200'"); //если больше 1200 убийств выдается флаг acij// $db->query("UPDATE dle_users SET dle_users.access='acijdu' WHERE dle_users.kills > '2000'"); //если больше 2000 убийств выдается флаг acijdu// $db->query("UPDATE dle_users SET dle_users.access='abcdefghijklmnopqrstu' WHERE dle_users.user_id = '1'"); //главному админу dle т.е. вам флаги abcdefghijklmnopqrstu//
Количество убийств и флаги можете сами менять на свои! В данном файле заполняем поле auth которое рано полю name. поле auth нужно для авторизации на сервере cs. Какой ник зарегистрирует юзер на сайте,с тем ему и придется играть на сервере. 1)отрыть файл engine/modules/register.php Quote $db->query(
"INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date,
lastdate, user_group, info, signature, favorites, xfields, logged_ip)
VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" .
$config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" ); Заменить на:
Quote $db->query(
"INSERT INTO " . USERPREFIX . "_users (name, password, auth, access,
flags, email, reg_date, lastdate, user_group, info, signature,
favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$name',
'', 'name', '$email', '$add_time', '$add_time', '" .
$config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" ); 4) Добавляем возможность вывод информации на сайте о игроке, его правах и сколько ему осталось до следующего статуса. 1)открыть файл engine/modules/profile.php Quote $tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) ); ниже добавить: $tpl->set( '{flags}', stripslashes( $row['flags'] ) ); $tpl->set( '{access}', stripslashes( $row['access'] ) ); if( $row['kills'] set( '{kills}', "Гость [ Фрагов - " .$row['kills']." до Пользователь осталось: $sum ]" ); } elseif( $row['kills'] > 100 ) { $sum = 500 - $row['kills']; $tpl->set( '{kills}', "Пользователь [ Фрагов - " .$row['kills']." до Постоялец осталось: $sum ]" ); } elseif( $row['kills'] > 500 ) { $sum = 800 - $row['kills']; $tpl->set( '{kills}', "Постоялец [ Фрагов - " .$row['kills']." до Постоялец с правами осталось: $sum ]" ); } elseif( $row['kills'] > 800 ) { $sum = 1200 - $row['kills']; $tpl->set( '{kills}', "Постоялец с правами [ Фрагов - " .$row['kills']." до Эксперт осталось: $sum ]" ); } elseif( $row['kills'] > 1200 ) { $sum = 2000 - $row['kills']; $tpl->set( '{kills}', "Эксперт [ Фрагов - " .$row['kills']." до Админ осталось: $sum ]" ); } elseif( $row['kills'] > 2000 ) { $tpl->set( '{kills}', "Админ [ Фрагов - " .$row['kills']." ]" ); } ВНИМАНИЕ!!! если вы поменяли значения на свои в файле cron.php то тут вам тоже нужно изменить на те что вписали в cron.php 5)Добавляем сам вывод информации игрока в шаблон сайта. 1)Открыть файл templates/Шаблон/userinfo.tpl Quote E-Mail адрес: [ {email} ] [ {pm} ] {edituser} ниже добавить:
Quote Информация игрока на сервере CS 1.6 Ник в игре: {usertitle} Статус: {kills} Права: {access} 6) Меняем стандартный режим cron.php на обновление 1 раз в 30 минут Quote if
(date ( "Y-m-d", $cron_time ) query("UPDATE dle_users, ps_c_plr_data
SET dle_users.kills=ps_c_plr_data.kills WHERE dle_users.plrid =
ps_c_plr_data.plrid"); //настраиваем привелегии// $db->query("UPDATE dle_users SET dle_users.access='' WHERE dle_users.kills query("UPDATE dle_users SET dle_users.access='z' WHERE dle_users.kills > '100'"); //если больше 100 убийств выдается флаг z// $db->query("UPDATE dle_users SET dle_users.access='a' WHERE dle_users.kills > '500'"); //если больше 500 убийств выдается флаг a// $db->query("UPDATE dle_users SET dle_users.access='ac' WHERE dle_users.kills > '800'"); //если больше 800 убийств выдается флаг ac// $db->query("UPDATE dle_users SET dle_users.access='acij' WHERE dle_users.kills > '1200'"); //если больше 1200 убийств выдается флаг acij// $db->query("UPDATE dle_users SET dle_users.access='acijdu' WHERE dle_users.kills > '2000'"); //если больше 2000 убийств выдается флаг acijdu// $db->query("UPDATE dle_users SET dle_users.access='abcdefghijklmnopqrstu' WHERE dle_users.user_id = '1'"); //главному админу dle т.е. вам флаги abcdefghijklmnopqrstu// на:
Quote $db->query("UPDATE
dle_users SET dle_users.access='', dle_users.zvanie='Гость' WHERE
dle_users.kills query("UPDATE dle_users SET dle_users.access='z',
dle_users.zvanie='Пользователь' WHERE dle_users.kills > '100'"); $db->query("UPDATE dle_users SET dle_users.access='a', dle_users.zvanie='Постоялец' WHERE dle_users.kills > '500'"); $db->query("UPDATE dle_users SET dle_users.access='ac', dle_users.zvanie='Постоялец с правами' WHERE dle_users.kills > '800'"); $db->query("UPDATE dle_users SET dle_users.access='acij', dle_users.zvanie='Эксперт' WHERE dle_users.kills > '1200'"); $db->query("UPDATE dle_users SET dle_users.access='acijdu', dle_users.zvanie='Админ' WHERE dle_users.kills > '2000'"); $db->query("UPDATE dle_users SET dle_users.access='abcdefghijklmnopqrstu', dle_users.zvanie='Главный' WHERE dle_users.user_id = '1'"); 4)Открываем файл engine/modules/profile.php Quote $tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) ); после добавим: Quote $tpl->set( '{zvanie}', stripslashes( $row['zvanie'] ) ); 4) Открыть файл templates/Шаблон/userinfo.tpl
Quote Статус: {kills} ниже добавить:
Quote Звание: {zvanie} Готово.... Вот что у нас получается в вообщем: ![]() | |
Категория: Статьи | Добавил: aDDFury (13.02.2011) | |
Просмотров: 748 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |
|