Авторизация Регистрация Забыли пароль?
Реклама
Статьи
Наш игровой сервер
Наши сервисы
Мониторинг серверов
Информация
Нам интересно знать
Популярные теги
Популярные материалы
    Партнеры
    Счетчики
    Вы находитесь:

    Категория: Статьи

    Интеграция Counter-Strike и Dle

    Автор: crash94

    Дата: 11 января 2011

    Просмотров: 2 740

    Комментариев: 22

    Интеграция Counter-Strike и Dle

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

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

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

    Приступим :)
    Нам потребуется
    1)Установленный движок портала DataLife Engine
    Скачать:https://narod.ru/
    2)Статистика PsychoStats 3.1
    Скачать:https://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,тыкаем структура,внизу выбираем добавить
    Интеграция Counter-Strike и Dle

    И по очереди создаем таблицы
    Интеграция Counter-Strike и Dle


    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//

    Интеграция Counter-Strike и Dle


    Количество убийств и флаги можете сами менять на свои!
    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}

    Готово....

    Вот что у нас получается в вообщем
    Интеграция Counter-Strike и Dle


    Статья взята:amxserv.net
    Изменена и переписана:crash94 :)
    Похожие публикации
    Комментарии на сайте
    LiNkeN198

    Написал: LiNkeN198 11 января 2011 14:05 Группа: Юзер
    кулл штука респект автору bully лови плюс)
    Цитировать
    bes455

    Написал: bes455 11 января 2011 14:06 Группа: Юзер
    Крута думаю многим это понравится и сам папробую tongue
    Цитировать
    LagNet

    Написал: LagNet 11 января 2011 14:13 Группа: Юзер
    Супер спасибо огромное!
    Цитировать
    wo_Ody

    Написал: wo_Ody 11 января 2011 14:17 Группа: Юзер
    Прикольно так и админку получить можно убив 100 000 lol
    Цитировать
    S^h^a^m^a^n

    Написал: S^h^a^m^a^n 11 января 2011 14:30 Группа: Юзер
    Вообще штука,кто установил дайте ip и сайт)
    Цитировать
    ORUOH

    Написал: ORUOH 11 января 2011 14:46 Группа: Юзер
    Ну людям со сменным IP ничто не мешает регистрироваться под разными никами. Я правильно понял? А вообще полезное начинание!
    Цитировать
    fLaSh-Ekb

    Написал: fLaSh-Ekb 11 января 2011 15:00 Группа: Юзер
    Интересно :) Но требует доработки :)
    Цитировать
    crash94

    Написал: crash94 11 января 2011 15:38 Группа: VIP
    ORUOH,
    ага
    fLaSh-Ekb,
    доработай)
    Цитировать
    nayk

    Написал: nayk 11 января 2011 15:40 Группа: Юзер
    Полюбому там ДЫРЫ огромные"!!!
    Цитировать
    crash94

    Написал: crash94 11 января 2011 18:04 Группа: VIP
    nayk,
    Найди)
    Цитировать
    fifayer

    Написал: fifayer 11 января 2011 19:30 Группа: Юзер
    Цитата: nayk
    Полюбому там ДЫРЫ огромные"!!!


    Ппц... Вот это олень, вали от сюда, чего ты тогда комменты пишешь? Ты полюбому только до низу прокрутил, на картинки посотревши, сам наверное даже поставить себе на движ такое не сможешь....
    Цитировать
    Randomter

    Написал: Randomter 11 января 2011 20:11 Группа: Юзер
    прикольная вещь) wink
    Цитировать
    nayk

    Написал: nayk 11 января 2011 20:57 Группа: Юзер
    fifayer,
    Школьник! У меня сервер на хостинге и психостатс в оплату не входит. Поэтому протестировать я не смогу! А дыры искать нечего,т.к. их в психостате достаточно. А если психостатс управляет правами, то ... продолжать думаю не стоит. crash94 поставьте его к себе куданть на сервер и через пару дней я дам о себе знать !!! ICQ у тебя моя есть !!!
    Цитировать
    crash94

    Написал: crash94 11 января 2011 21:52 Группа: VIP
    nayk,
    1)Я тебя даже незнаю
    2)дай сервак,паблик я гробить не буду,а 2 сервак просто так на 2 дня запускать не хочу.
    Цитировать
    aspewi1

    Написал: aspewi1 12 января 2011 01:16 Группа: Юзер
    Отличная статья) необходима мне)
    Цитировать
    ArtMax

    Написал: ArtMax 12 января 2011 07:22 Группа: Юзер
    неплохо, но как и сказал паук - дыры возможны
    тем более что можно накрутить фейками, а про то как накручивать через психостатс я вообще молчу
    Цитировать
    nayk

    Написал: nayk 12 января 2011 22:02 Группа: Юзер
    ArtMax,
    Пусть ставят)) желательно на платные хосты)))
    Цитировать
    B A R I S O N

    Написал: B A R I S O N 13 января 2011 22:09 Группа: Юзер
    Прикольная вещь, скоро куплю хостинг Psychostats и обязательно поставлю к себе на сайт, какраз на днях перешел на DLE 9.2
    Цитировать
    Saymon

    Написал: Saymon 14 января 2011 20:38 Группа: Юзер
    Аааа спасибо угг=))
    Цитировать
    Psychosocial

    Написал: Psychosocial 4 февраля 2011 06:24 Группа: Юзер
    надо проверить)))
    Цитировать
    drkrol

    Написал: drkrol 16 июня 2011 09:24 Группа: Юзер
    а чтобы ранк показывало это как???
    Цитировать
    ImRussia

    Написал: ImRussia 24 июля 2011 20:15 Группа: Юзер
    кто нибудь ставил уже? дайте коментарии.
    У меня другой вопрос. а можно сделать что бы вот так как сделано все оставалось . но и что бы ссылка была на саму психостатистику. и что бы значения фрагов - смертей были одинаковые?
    Цитировать
    Новый комментарий

    Информация

    Посетители, находящиеся в группе lamo, не могут оставлять комментарии к данной публикации.