Автор Тема: Реф программа (нужна помощь)  (Прочитано 838 раз)

0 Пользователей и 1 Гость просматривают эту тему.

roki28Автор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 10 созданных тем
  • Дата регистрации: Май 2016
  • Сообщений: 141
  • Страна: by
  • Поблагодарили: 4 раз(а)
  • Репутация +1/-2
  • Пол: Мужской
Реф программа (нужна помощь)
« : 20 Февраля 2021, 15:19:56 »
Как сделать что бы рефские начислялись не с пополнений а с покупок деревьев.
 

whoohaw

  • *
  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 35
  • Сообщений: 320
  • Страна: ru
  • Поблагодарили: 27 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:
    1988-09-21
    Социальные сети:
    ВКонтакте
Реф программа (нужна помощь)
« Ответ #1 : 20 Февраля 2021, 16:10:47 »
скинь код _farm.php в теге [ code ]
 

roki28Автор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 10 созданных тем
  • Дата регистрации: Май 2016
  • Сообщений: 141
  • Страна: by
  • Поблагодарили: 4 раз(а)
  • Репутация +1/-2
  • Пол: Мужской
Реф программа (нужна помощь)
« Ответ #2 : 20 Февраля 2021, 16:16:19 »
<div class="section_w500">
<h2>Ферма</h2>
<p>В этом магазине Вы можете приобрести саженцы различных растений. Каждое растение приносит особые плоды которые можно потом продать на рынке и обменять на реальные деньги. Каждое растение даёт разное количество плодов, чем дороже оно тем больше плодоносит. Вы можете покупать любое их количество, растения не засыхают, не исчезают и будут плодоносить всегда. </p><p><font color="#808e04">Перед тем как докупить саженцы следует собрать урожай на складе!</font></p>
                               </div>
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Ферма";
$usid = $_SESSION["user_id"];
$refid = $_SESSION["referer_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

# Покупка нового дерева
if(isset($_POST["item"])){

$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t");
$array_name = array(1 => "Лайм", 2 => "Вишня", 3 => "Клубника", 4 => "Киви", 5 => "Апельсин");
$item = intval($_POST["item"]);
$citem = $array_items[$item];

   if(strlen($citem) >= 3){
      
      # Проверяем средства пользователя
      $need_money = $sonfig_site["amount_".$citem];
      if($need_money <= $user_data["money_b"]){
      
         if($user_data["last_sbor"] == 0 OR $user_data["last_sbor"] > ( time() - 60*20) ){
            
            $to_referer = $need_money * 0.1;
            # Добавляем дерево и списываем деньги
            $db->Query("UPDATE db_users_b SET money_b = money_b - $need_money, $citem = $citem + 1, 
            last_sbor = IF(last_sbor > 0, last_sbor, '".time()."') WHERE id = '$usid'");
            
            # Вносим запись о покупке
            $db->Query("INSERT INTO db_stats_btree (user_id, user, tree_name, amount, date_add, date_del)
            VALUES ('$usid','$usname','".$array_name[$item]."','$need_money','".time()."','".(time()+60*60*24*15)."')");
            
            echo "<center><font color = 'green'>Вы успешно посадили саженец</font></center><BR />";
            
            $db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
            $user_data = $db->FetchArray();
            
         }else echo "<center><font color = 'red'>Перед тем как докупить саженцы следует собрать урожай на складе!</font></center><BR />";
      
      }else echo "<center><font color = 'red'>Недостаточно серебра для покупки</font></center><BR />";
   
   }else echo 222;

}

?>



<div class="fr-block">
   <form action="" method="post">
   <div class="cl-fr-lf">
      <img src="/img/fruit/lime.jpg" />
   </div>
   
   <div class="cl-fr-rg" style="padding-left:20px;">
      <div class="fr-te-gr-title">Лайм</div>
      <div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["a_in_h"]; ?> в час</font></div>
      <div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_a_t"]; ?> серебра</font></div>
      <div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["a_t"]; ?> шт.</font></div>
      <input type="hidden" name="item" value="1" />
      <input type="submit" value="Посадить" style="height: 30px; margin-top:10px;" />
   </div>
   </form>
</div>

<div class="fr-block">
   <form action="" method="post">
   <div class="cl-fr-lf">
      <img src="/img/fruit/cherry.jpg" />
   </div>
   
   <div class="cl-fr-rg" style="padding-left:20px;">
      <div class="fr-te-gr-title">Вишня</div>
      <div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["b_in_h"]; ?> в час</font></div>
      <div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_b_t"]; ?> серебра</font></div>
      <div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["b_t"]; ?> шт.</font></div>
      <input type="hidden" name="item" value="2" />
      <input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
   </div>
   </form>
</div>

<div class="fr-block">
   <form action="" method="post">
   <div class="cl-fr-lf">
      <img src="/img/fruit/strawberries.jpg" />
   </div>
   
   <div class="cl-fr-rg" style="padding-left:20px;">
      <div class="fr-te-gr-title">Клубника</div>
      <div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["c_in_h"]; ?> в час</font></div>
      <div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_c_t"]; ?> серебра</font></div>
      <div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["c_t"]; ?> шт.</font></div>
      <input type="hidden" name="item" value="3" />
      <input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
   </div>
   </form>
</div>

<div class="fr-block">
   <form action="" method="post">
   <div class="cl-fr-lf">
      <img src="/img/fruit/kiwi.jpg" />
   </div>
   
   <div class="cl-fr-rg" style="padding-left:20px;">
      <div class="fr-te-gr-title">Киви</div>
      <div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["d_in_h"]; ?> в час</font></div>
      <div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_d_t"]; ?> серебра</font></div>
      <div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["d_t"]; ?> шт.</font></div>
      <input type="hidden" name="item" value="4" />
      <input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
   </div>
   </form>
</div>

<div class="fr-block">
   <form action="" method="post">
   <div class="cl-fr-lf">
      <img src="/img/fruit/orange.jpg" />
   </div>
   
   <div class="cl-fr-rg" style="padding-left:20px;">
      <div class="fr-te-gr-title">Апельсин</div>
      <div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["e_in_h"]; ?> в час</font></div>
      <div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_e_t"]; ?> серебра</font></div>
      <div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["e_t"]; ?> шт.</font></div>
      <input type="hidden" name="item" value="5" />
      <input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
   </div>
   </form>
</div>
<div class="clr"></div>
 

whoohaw

  • *
  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 35
  • Сообщений: 320
  • Страна: ru
  • Поблагодарили: 27 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:
    1988-09-21
    Социальные сети:
    ВКонтакте
Реф программа (нужна помощь)
« Ответ #3 : 20 Февраля 2021, 17:05:24 »
Давай будем учиться :)
Для решения задачи надо:
1. Понимать, кто есть реферер, лучше тащить из базы.
2. Обозначить, какой процент от стоимости пойдет рефереру (1%, 5% или 10%?)
3. Начислять средства рефереру.

Итак, пойдем по порядку.
1. В скрипте есть сессионная переменная
$refid = $_SESSION["referer_id"];
Которая, как кажется, говорит нам о том, что там хранится id рефа. Но лучше не рисковать, неизвестно, попала ли туда у тебя переменная при авторизации на сайт или нет. Можно вытащить из базы. Такие вещи если хранятся в базе, лучше тащить оттуда. Тогда получается, надо сделать запрос, вытащить рефа, зная свой id ($usid). Инфа о рефах хранится в db_users_a, надеюсь, что знаешь. Тогда запрос будет таким:
$db->Query("SELECT referer_id FROM db_users_a WHERE id = '$usid' LIMIT 1");
$refid = $db->FetchRow(); // FetchRow() - потому что вытягиваем не массив данных, а всего лишь одно значение/строку.
2. Определим процент для рефа. К примеру пусть будет 5%.
Заведем переменную для хранения, можно ниже выполненного запроса:
$percent_for_ref=5/100; 
Понятно, почему поделили на 100? Надеюсь, да. Переходим далее.
3. Нужно теперь считать процент от покупки для рефа. Смотрим запрос:
$db->Query("UPDATE db_users_b SET money_b = money_b - $need_money, $citem = $citem + 1,  
            last_sbor = IF(last_sbor > 0, last_sbor, '".time()."') WHERE id = '$usid'");
Видим, что переменная $need_money отнимает деньги у пользователя. Это ясно, как день. Найдем место, где переменная объявлена:
$need_money = $sonfig_site["amount_".$citem];
Ниже допишем нашу новую переменную:
$money_for_ref =$need_money*$percent_for_ref;
Дело почти сделано, теперь мы храним в переменной $money_for_ref 5% от стоимости персонажа. Осталось прибавить эту сумму рефу. Делаем запрос при положительном выполнении скрипта, можно после запроса на съем денег с пользователя и добавления персонажа. Добавим такой код:
$db->Query("UPDATE db_users_b SET money_b=money_b+'$money_for_ref' WHERE id='$refid'");

Проверяем и радуемся, наверное :)
 

roki28Автор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 10 созданных тем
  • Дата регистрации: Май 2016
  • Сообщений: 141
  • Страна: by
  • Поблагодарили: 4 раз(а)
  • Репутация +1/-2
  • Пол: Мужской
Реф программа (нужна помощь)
« Ответ #4 : 20 Февраля 2021, 17:08:49 »
Теперь нужно убрать процент при пополнении. Как это сделать?
 

whoohaw

  • *
  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 35
  • Сообщений: 320
  • Страна: ru
  • Поблагодарили: 27 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:
    1988-09-21
    Социальные сети:
    ВКонтакте
Реф программа (нужна помощь)
« Ответ #5 : 20 Февраля 2021, 17:11:43 »
Аналогично, но только наоборот. Какой файл отвечает за пополнения? Вот, открывай мерчант :)
Найди SQL-запрос, который отвечает за отчисления рефу. Надо учиться :)
Посмотри, какая переменная прибавляет деньги рефереру.
Для начала, чтобы не портачить жестко, пусть запрос останется, только переменную поменяй на 0, или подсчет переменной замени на результат 0. Больше будешь ковыряться в файлах и не такого запилишь.
 

roki28Автор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 10 созданных тем
  • Дата регистрации: Май 2016
  • Сообщений: 141
  • Страна: by
  • Поблагодарили: 4 раз(а)
  • Репутация +1/-2
  • Пол: Мужской
Реф программа (нужна помощь)
« Ответ #6 : 20 Февраля 2021, 17:13:27 »
Сейчас попробую. Потом отпишу.И спасибо огромное.

Добавлено сообщение: 20 Февраля 2021, 18:18:32
Работает. Браво маэстро.
 

whoohaw

  • *
  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 250 сообщений За помощь пользователям За финансовую помощь форуму !!! Репутация более 15 За время в онлайне на форуме Более 10 созданных тем
  • Дата регистрации: Апр. 2018
  • Расположение: Тверь
  • Возраст: 35
  • Сообщений: 320
  • Страна: ru
  • Поблагодарили: 27 раз(а)
  • Репутация +17/-1
  • Пол: Мужской
  • Дата рождения:
    1988-09-21
    Социальные сети:
    ВКонтакте
Реф программа (нужна помощь)
« Ответ #7 : 20 Февраля 2021, 18:26:43 »
На здоровье ) Учись!
оффтоп
Стало модно запиливать онлайн школы, курсы. Надо мутить крч )))
[свернуть]
 

roki28Автор темы

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 100 сообщений Более 10 созданных тем
  • Дата регистрации: Май 2016
  • Сообщений: 141
  • Страна: by
  • Поблагодарили: 4 раз(а)
  • Репутация +1/-2
  • Пол: Мужской
Реф программа (нужна помощь)
« Ответ #8 : 20 Февраля 2021, 18:29:04 »
Это мысль. Я бы подучился бы.
 
Теги: