Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [DLE] Реферальная система

Полезен ли был этот гайд ?

Qixiw

Старожил
Пользователь
Баллы
103
Привет рубаккит.
Решил выложить свою реферальную систему, может кому надо :)
Для её установки надо отредактировать 4 файла:
  • index.php - в корне сайта
  • register.php - в /engine/modules/
  • profile.php - в /engine/modules/
  • userinfo.tpl - в шаблонах
И так, начнём !
Открываем index.php и ищем строчку
PHP:
$tpl->load_template ( 'main.tpl' );
И над ней пишем:
PHP:
if((isset($_GET['ref'])) && (!isset($_COOKIE['ref_id'])))
setcookie("ref_id",$_GET['ref'],time()+3600);
Мы отредактировали index.php, сохраняем и закрываем.
Далее открываем register.php и ищем примерно такую строчку:
PHP:
$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 . "')" );
Заменяем её на такую
PHP:
            if(isset($_COOKIE['ref_id'])){
                $db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, reffer_id) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "','".mysql_real_escape_string($_COOKIE['ref_id'])."')" );
                $db->query( "UPDATE " . USERPREFIX . "_users SET money=(money + 20) WHERE user_id='".mysql_real_escape_string($_COOKIE['ref_id'])."'");
            }else{
                $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 . "')" );
            }
Тут закончили и рассмотрим эту строчку
PHP:
$db->query( "UPDATE " . USERPREFIX . "_users SET money=(money + 20) WHERE user_id='".mysql_real_escape_string($_COOKIE['ref_id'])."'");
Эта строчка отвечает за подарок игроку, который пригласил нового игрока. (В моём случае ему даётся 20 рублей.)
С редактированием мы закончили, осталось добавить 1 колоночку где будут хранится реферальные иды.
Отправляем sql запрос
Код:
ALTER TABLE `название таблицы с пользователями` ADD `reffer_id` INT( 11 ) NOT NULL DEFAULT '0'
Основа готова, продолжим :)
Теперь игрок сможет приглашать людей на проект по ссылке
http://site.ru/?ref={тут_его_ид}
Теперь сделаем вывод такой ссылки в профиле игрока и вывод всех приглашённых игроков.
Открываем profile.php и ищем такую строчку:
PHP:
$tpl->set( '{usertitle}', stripslashes( $row['name'] ) );
ниже добавляем такую:
PHP:
$tpl->set( '{userid}', stripslashes( $row['user_id'] ) );
Сохраняем, закрываем. Теперь в шаблоне профиля (userinfo.tpl) вы можете добавить реферальную ссылку http://site.ru/?ref={userid}
Так же ниже я прикреплю скрипт для вывода всех приглашённых игроков. Его так же иклюдем в userinfo.tpl
Код:
{include file="путь до скритпа/reffer.php"}
ps. Это мой первый гайд, я старался всё подробно расписать, если будут вопросы, пишите.
pss. Тестировал на DLE 9.8, на других версиях не проверял, но должно работать.


Ссылка на скрипт - RGhost
 
Последнее редактирование:
...
 
Последнее редактирование:
Просто ссылку даёт (Реф) и всё?
 
А скрины можно?
 
По сути не плохо, но вдруг игрок будет просто приглашать и регать твинков?
Возможно ли сделать так, что бы монеты довались только тогда, когда он проиграет на сервере допустим 1 час
 
По сути не плохо, но вдруг игрок будет просто приглашать и регать твинков?
Возможно ли сделать так, что бы монеты довались только тогда, когда он проиграет на сервере допустим 1 час
Можно
 
По сути не плохо, но вдруг игрок будет просто приглашать и регать твинков?
Возможно ли сделать так, что бы монеты довались только тогда, когда он проиграет на сервере допустим 1 час
Можно, надо написать скрипт для проверки времени онлайна и сунуть его в крон.
Если надо, то могу сделать, но чуть позже, сейчас много дел.
 
Можно, надо написать скрипт для проверки времени онлайна и сунуть его в крон.
Если надо, то могу сделать, но чуть позже, сейчас много дел.
Будем ждать... :rolleyes:
 
А если например человек сам себе пригласит в рефы? Нужно сделать хотя бы, чтобы он отыграл некое время на серверах
 
А если например человек сам себе пригласит в рефы? Нужно сделать хотя бы, чтобы он отыграл некое время на серверах
Я уже писал выше по поводу этого. А так, кто вам мешает переделать мой способ ?
Основу я дал, а вы уже под себя редактируйте :)
 
Парень, а ничего, что Ensemplix и W4P поднялись таким образом и сейчас в топах будет over9000 школопроектов?
 
Парень, а ничего, что Ensemplix и W4P поднялись таким образом и сейчас в топах будет over9000 школопроектов?
Если проект в топе, на нем играют и он нравится игрокам - это уже не "школопроект", как ты выразился. А то, что они станут выше твоего проекта, так это только твоя вина.
 
Фак, я хочу себе то что у тебя на аве >_<
Парень, а ничего, что Ensemplix и W4P поднялись таким образом и сейчас в топах будет over9000 школопроектов?
Я так понял, после каждой новой плюшки в виде скрипта или лк появляются новые школо-проекты?
На самом деле это явление не зависит от плюшек...
 
Фак, я хочу себе то что у тебя на аве >_<

Я так понял, после каждой новой плюшки в виде скрипта или лк появляются новые школо-проекты?
На самом деле это явление не зависит от плюшек...
Дело не в плюшевости скрипта, а в том, что любой школяр готов за "ОлмаСы" позвать своих школоклассников на школосервер с этим скриптом.
 
Дело не в плюшевости скрипта, а в том, что любой школяр готов за "ОлмаСы" позвать своих школоклассников на школосервер с этим скриптом.
От этого серверов не прибавиться. Игроков только.
 

Поделиться этой страницей

Назад
Верх