Пятница, 17.05.2024 08:51
Пользовательский поиск

Меню
Помощь в CS
Категории раздела
Плагины [26]
Плагины для кс!
Готовые сервера [14]
Готовые сервера для вашего Cs1.6 сервера!
Карты [5]
Карты для Cs1.6
Разное [7]
Защита [3]
Античиты и др для вашего сервера!
опрос
Ваше любимое оружие
Всего ответов: 74
Мини-чат
Теги
Главная » Файлы » Для сервера CS! » Разное

Интеграция Counter-Strike и Dle
14.01.2011, 12:40

Статья о том как интегрировать игру,dle и psychostats в прикольный аддон

Суть:
Человек хочет играть на вашем сервере,он должен зайти к вам на сайт и зарегистрироваться. После регистрации он должен играть под ником и паролем который указал на сайте. Пока он не набрал 100 фрагов,он не имеет флагов и является гостем. Как только он набрал 100 фрагов,ему присваивается флаг z (пользователь),как только он набрал 500 фрагов ему присваевается флаг а иммунитет (нельзя кикнуть/забанить/убить/стукнуть и прочее),как только он набрал 1000 фрагов ему присваиваются флаги ac ну и т.д.

плюсы данной системы:
1) например у вас на сервере правило: гость должен соблюдать соотношение фрагов и смертей 1/1 (как на многих серверах в инете) то ему проще зарегистрироваться и играть всегда под своим логином.
когда человек всегда под 1 логином его проще контролировать.
2) если человек долго играл под своим логином и набрал достаточное количество фрагов,ему будет страшно читирить т.к. в правилах нужно указать Если спалили с читом,то статистика обнуляется. И установить hltv с хранением демок на веб ресурсе,для всеобщего суда читера.
3) посещаемость на сайте
4) легкий контроль
5) интерес пользователей играть именно у вас т.к. каждый может получить права (злоупотребление правами карается обнулением)

Приступим smile
Нам потребуется
1)Установленный движок портала DataLife Engine
Скачать:http://narod.ru/
2)Статистика PsychoStats 3.1
Скачать:http://narod.ru/
3)AMXMODX

Нужно установить dle и pstats в одну базу!!
итак мы имее установленную dle, pstats и сервер с amxmodx

по пунктам:
1) Добавить поля в таблицу dle_users
auth тип varchar(32)
access тип varchar(32)
flags тип varchar(32)
plrid тип int(10)
kills тип int(10)

Для этого открываем таблице Dle_users,тыкаем структура,внизу выбираем добавить

И по очереди создаем таблицы

2) Добавить проверку данных с pstats и автоматическую раздачу прав

1)открыть файл engine/modules/cron.php
2)найти строчку(41 строка для ленивых)
@unlink( ENGINE_DIR . '/cache/system/banned.php' );
и ниже добавить:
//присваеваем 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//

Количество убийств и флаги можете сами менять на свои!
3) Добавить заполнение полей при регистрации пользователя на сайте.

В данном файле заполняем поле auth которое рано полю name. поле auth нужно для авторизации на сервере cs. Какой ник зарегистрирует юзер на сайте,с тем ему и придется играть на сервере.

1)отрыть файл engine/modules/register.php
найти строчку(395 для ленивых)
$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 . "')" );

Заменить на:

$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
2)найти строчку(324 строка для ленивых)
$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
2)Найти строчку
E-Mail адрес: [ {email} ] [ {pm} ] {edituser}

ниже добавить:

Информация игрока на сервере CS 1.6

Ник в игре: {usertitle}

Статус: {kills}

Права: {access}

6) Меняем стандартный режим cron.php на обновление 1 раз в 30 минут
1)Открыть файл engine/init.php
2)найти строчку:(48 для ленивых)
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//

на:

$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
находим строку:
$tpl->set( '{lastdate}', langdate( "j F Y H:i", $row['lastdate'] ) );

после добавим:

$tpl->set( '{zvanie}', stripslashes( $row['zvanie'] ) );

4) Открыть файл templates/Шаблон/userinfo.tpl
находим строку:

Статус: {kills}
ниже добавить:

Звание: {zvanie}
Готово....

Вот что у нас получается в вообщем

Статья взята:amxserv.net
Изменена и переписана:crash94 smile

Категория: Разное | Добавил: [-7]He_Dypu
Просмотров: 2084 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Рекламка

Мониторинг серверов CS 1.6
CS серверы

Друзья сайта
Многопользовательская онлайн игра Darkorbit Team Speak Российский игровой сервер Bce для Вашего CS сервера

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Поиск


 cs 1.6 | © 2011 | | Sitemap |
 При копирование файлов на другие сайты указываете источник! 

Сайт клана [-7]