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

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

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Qixiw, 19 окт 2013.

?

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

  1. Да, спс (жми "Мне нравится" =\)

    82,7%
  2. Нет.

    17,3%
  1. Автор темы
    Qixiw

    Qixiw Старожил Пользователь

    Баллы:
    103
    Skype:
    invis.nik
    Привет рубаккит.
    Решил выложить свою реферальную систему, может кому надо :)
    Для её установки надо отредактировать 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
     
    Последнее редактирование: 23 дек 2013
    skaycraft, Help, GusevVasily и 21 другим нравится это.
  2. Хостинг MineCraft
    <
  3. Автор темы
    Qixiw

    Qixiw Старожил Пользователь

    Баллы:
    103
    Skype:
    invis.nik
    Выдача бонусов по игровому времени на сервере:

    Скрипт платный, цена всего 100 рублей.
    Для приобретения пишем мне в лс или в скайп invis.nik

    Для работы скрипта, требуется плагин
     
    Последнее редактирование: 26 июл 2014
    artem1458 нравится это.
  4. Style71

    Style71 Активный участник Пользователь

    Баллы:
    78
    Skype:
    testerpb71
    Имя в Minecraft:
    Style
    Просто ссылку даёт (Реф) и всё?
     
  5. lexa_kiker

    lexa_kiker Старожил Пользователь

    Баллы:
    123
    Skype:
    lexa_kiker
    Скрины в студию
     
    kaka23 и dimon377 нравится это.
  6. SaIII

    SaIII Активный участник Пользователь

    Баллы:
    58
    Имя в Minecraft:
    SaW
    А скрины можно?
     
  7. Автор темы
    Qixiw

    Qixiw Старожил Пользователь

    Баллы:
    103
    Skype:
    invis.nik
    Добавил демо.[DOUBLEPOST=1382213209,1382213136][/DOUBLEPOST]
    Да, если по ней кто нибудь зарегистрируется, то игроку, чья это ссылка даётся приз (в моём случае 20р)
     
    artem1458 нравится это.
  8. SaIII

    SaIII Активный участник Пользователь

    Баллы:
    58
    Имя в Minecraft:
    SaW
    По сути не плохо, но вдруг игрок будет просто приглашать и регать твинков?
    Возможно ли сделать так, что бы монеты довались только тогда, когда он проиграет на сервере допустим 1 час
     
  9. lexa_kiker

    lexa_kiker Старожил Пользователь

    Баллы:
    123
    Skype:
    lexa_kiker
    Можно
     
    kaka23 и Сникерсни нравится это.
  10. Автор темы
    Qixiw

    Qixiw Старожил Пользователь

    Баллы:
    103
    Skype:
    invis.nik
    Можно, надо написать скрипт для проверки времени онлайна и сунуть его в крон.
    Если надо, то могу сделать, но чуть позже, сейчас много дел.
     
  11. SaIII

    SaIII Активный участник Пользователь

    Баллы:
    58
    Имя в Minecraft:
    SaW
    Будем ждать... :rolleyes:
     
  12. Pennyroyal

    Pennyroyal Участник

    Баллы:
    38
    А если например человек сам себе пригласит в рефы? Нужно сделать хотя бы, чтобы он отыграл некое время на серверах
     
  13. Автор темы
    Qixiw

    Qixiw Старожил Пользователь

    Баллы:
    103
    Skype:
    invis.nik
    Я уже писал выше по поводу этого. А так, кто вам мешает переделать мой способ ?
    Основу я дал, а вы уже под себя редактируйте :)
     
    artem1458 и SaIII нравится это.
  14. ykpon

    ykpon Старожил Пользователь

    Баллы:
    173
    Если проект в топе, на нем играют и он нравится игрокам - это уже не "школопроект", как ты выразился. А то, что они станут выше твоего проекта, так это только твоя вина.
     
    Egor33345 и Help нравится это.
  15. RevenHell

    RevenHell Старожил Пользователь

    Баллы:
    153
    Фак, я хочу себе то что у тебя на аве >_<[DOUBLEPOST=1382338257,1382338161][/DOUBLEPOST]
    Я так понял, после каждой новой плюшки в виде скрипта или лк появляются новые школо-проекты?
    На самом деле это явление не зависит от плюшек...
     
  16. Meowt

    Meowt Старожил Пользователь

    Баллы:
    123
    Улыбнуло.
     
  17. RevenHell

    RevenHell Старожил Пользователь

    Баллы:
    153
    От этого серверов не прибавиться. Игроков только.
     
  18. Автор темы
    Qixiw

    Qixiw Старожил Пользователь

    Баллы:
    103
    Skype:
    invis.nik
  19. WCRAFT

    WCRAFT Старожил Пользователь

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    В Dle можно запретить регать несколько аккаунтов на один IP.
     
    GJEvolution нравится это.
  20. iRiper

    iRiper Активный участник Пользователь

    Баллы:
    88
    Запрети в АдминПанеле регистрацию с одного IP Адреса.[DOUBLEPOST=1382508823,1382508773][/DOUBLEPOST]
    ой не заметил что ты это уже написал.
     
    WCRAFT нравится это.
  21. Pennyroyal

    Pennyroyal Участник

    Баллы:
    38
    Прокси , не?
     

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