Статья о том как интегрировать игру,dle и psychostats в прикольный аддон
Суть: Человек хочет играть на вашем сервере,он должен зайти к вам на сайт и зарегистрироваться. После регистрации он должен играть под ником и паролем который указал на сайте. Пока он не набрал 100 фрагов,он не имеет флагов и является гостем. Как только он набрал 100 фрагов,ему присваивается флаг z (пользователь),как только он набрал 500 фрагов ему присваевается флаг а иммунитет (нельзя кикнуть/забанить/убить/стукнуть и прочее),как только он набрал 1000 фрагов ему присваиваются флаги ac ну и т.д.
плюсы данной системы: 1) например у вас на сервере правило: гость должен соблюдать соотношение фрагов и смертей 1/1 (как на многих серверах в инете) то ему проще зарегистрироваться и играть всегда под своим логином. когда человек всегда под 1 логином его проще контролировать. 2) если человек долго играл под своим логином и набрал достаточное количество фрагов,ему будет страшно читирить т.к. в правилах нужно указать Если спалили с читом,то статистика обнуляется. И установить hltv с хранением демок на веб ресурсе,для всеобщего суда читера. 3) посещаемость на сайте 4) легкий контроль 5) интерес пользователей играть именно у вас т.к. каждый может получить права (злоупотребление правами карается обнулением)
Нужно установить 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. Какой ник зарегистрирует юзер на сайте,с тем ему и придется играть на сервере.
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'] ) );