ВОПРОС Нужна помощь в разборе функций

  • Автор темы Triodor
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
Triodor
Участник
Сообщения
3
Реакции
0
Всем огромный привет подскажите как происходит вычисление количества камней а точнее курс продажи камней-на данной странице
PHP:
<div class="page-header">

    <h1>Торговая лавка</h1>

</div>

<?PHP



$_OPTIMIZATION["title"] = "Торговая лавка";

$usid = $_SESSION["user_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();



$db->Query("SELECT * FROM db_store WHERE user_id  = '$usid' LIMIT 1");

$store_data = $db->FetchArray();



$all_items = $user_data["a_b"] + $user_data["b_b"] + $user_data["c_b"] + $user_data["d_b"] + $user_data["e_b"];



$db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$usid}' LIMIT 1");

$user_ardata = $db->FetchArray();

$user_name = $user_ardata["user"];

$refid = $user_ardata["referer_id"];

?>



<p>Торговая лавка позволит Вам продать все Ваши камни за серебро, которое можно обменять на реальные деньги. Вырученное с продажи серебро можно распределить между двумя счетами.

<br />В пропорциях которые Вы укажите ниже: <br /><br />

<center><b>Курс продажи камней: <font  class="text-danger"><?=$sonfig_site["items_per_coin"]+$user_data["all_time_a"]/10000+$user_data["all_time_b"]/100000+$user_data["all_time_c"]/300000+$user_data["all_time_d"]/1000000+$user_data["all_time_e"]/3000000; ?> камней = 1 серебро.</font>

<br/>За все время собрано: <font  class="text-danger"><?=$user_data["all_time_a"]+$user_data["all_time_b"]+$user_data["all_time_c"]+$user_data["all_time_d"]+$user_data["all_time_e"];?> камней.</font></b>

</center>



</p>

<?php

function selectItems($items, $selected=0) {

$text = "";

    foreach($items as $k=>$v){

        if($k == $selected) $ch = " selected"; else $ch = "";

        $text .= "<option$ch value='$k'>$v</option>\n";

    } 

return $text; 

}



$names = array(

"0% для покупок"  => "100%",

"20% для покупок"  => "80%",

"40% для покупок"  => "60%",

"50% для покупок" => "50%",//

"60% для покупок" => "40%",

"80% для покупок" => "20%",

"100% для покупок" => "0%",

);

# Продажа



if(isset($_POST["sell"]))

{

if(isset($_REQUEST['surname']))

{

    if($store_data["honey"] > 0)

    {

    $name = $names[$_REQUEST['surname']];

    echo $func->ShowBootsSuccess("<center>Вы продали камни и забрали: ".$_REQUEST['surname']." ".$name." для вывода</center>");



    $money_add = $func->SellItems($store_data["honey"], $sonfig_site["items_per_coin"]+$user_data["all_time_a"]/10000+$user_data["all_time_b"]/100000+$user_data["all_time_c"]/300000+$user_data["all_time_d"]/1000000+$user_data["all_time_e"]/3000000);

      

    $tomat_b = $user_data["a_b"];

    $straw_b = $user_data["b_b"];

    $pump_b = $user_data["c_b"];

    $pean_b = $user_data["d_b"];

    $peas_b = $user_data["e_b"];



    if($name == 0)

    {

        $money_b = ( (100) / 100) * $money_add;

        $money_p = ( (0) / 100)  * $money_add;

    }

    else if($name == 20)

    {

        $money_b = ( (80) / 100) * $money_add;

        $money_p = ( (20) / 100)  * $money_add;

    }

    elseif($name == 40)

    {

        $money_b = ( (60) / 100) * $money_add;

        $money_p = ( (40) / 100) * $money_add;

    }

    else if($name == 50)

    {

        $money_b = ( (50) / 100) * $money_add;

        $money_p = ( (50) / 100)  * $money_add;

    }

    else if($name == 60)

    {

        $money_b = ( (40) / 100) * $money_add;

        $money_p = ( (60) / 100) * $money_add;

    }

    elseif($name == 80)

    {

        $money_b = ( (20) / 100) * $money_add;

        $money_p = ( (80) / 100) * $money_add;

    }

    else if($name == 100)

    {

        $money_b = ( (0) / 100) * $money_add;

        $money_p = ( (100) / 100) * $money_add;

    }

    # Обновляем юзверя

    $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b', money_p = money_p + '$money_p', a_b = 0, b_b = 0, c_b = 0, d_b = 0, e_b = 0

    WHERE id = '$usid'");



    if($money_add >= 1)

    {

        # Реф 1ур

        $to_referer = ($money_add * 0.01); # реф 1ур СЕРЕБРО

        $db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer, from_referals = from_referals + '$to_referer' WHERE id = '$refid'");

    }



    # Статистика рефералов

    $da = time();

    $numid = 4;

    $db->Query("INSERT INTO db_notification_list (user, user_id, sum, sum2, sum3, numid, 1referer, 2referer, 3referer, date_add)

    VALUES ('$usname','$usid','$to_referer','$to_referer2','$to_referer3','$numid','$refid','$refid2','$refid3','$da')");

  

    $da = time();

    $dd = $da + 60*60*24*5;

      

    # Вставляем запись в статистику

    $db->Query("INSERT INTO db_sell_items (user, user_id, a_s, b_s, c_s, d_s, e_s, amount, all_sell, date_add, date_del) VALUES

    ('$usname','$usid','$tomat_b','$straw_b','$pump_b','$pean_b','$peas_b', '$money_add','$all_items','$da','$dd')");

    $db->Query("UPDATE db_store SET honey = 0 WHERE user_id = '$usid' LIMIT 1");

  

    echo $func->ShowBootsSuccess("<center>Вы продали ".$all_items." камней, на сумму $money_add серебра</center>");

      

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

    $user_data = $db->FetchArray();



    }else echo $func->ShowBootsError("<center>Вам нечего обменивать!</center>");

}



}



/*if(isset($_POST["sell"])){



$all_items = $user_data["a_b"] + $user_data["b_b"] + $user_data["c_b"] + $user_data["d_b"] + $user_data["e_b"];



    if($store_data["honey"] > 0){

  

        $money_add = $func->SellItems($store_data["honey"], $sonfig_site["items_per_coin"]);

      

        $tomat_b = $user_data["a_b"];

        $straw_b = $user_data["b_b"];

        $pump_b = $user_data["c_b"];

        $pean_b = $user_data["d_b"];

        $peas_b = $user_data["e_b"];

      

        $money_b = ( (100 - $sonfig_site["percent_sell"]) / 100) * $money_add;

        $money_p = ( ($sonfig_site["percent_sell"]) / 100) * $money_add;

      

        # Обновляем юзверя

        $db->Query("UPDATE db_users_b SET money_b = money_b + '$money_b', money_p = money_p + '$money_p', a_b = 0, b_b = 0, c_b = 0, d_b = 0, e_b = 0

        WHERE id = '$usid'");

      

        $da = time();

        $dd = $da + 60*60*24*15;

      

        # Вставляем запись в статистику

        $db->Query("INSERT INTO db_sell_items (user, user_id, a_s, b_s, c_s, d_s, e_s, amount, all_sell, date_add, date_del) VALUES

        ('$usname','$usid','$tomat_b','$straw_b','$pump_b','$pean_b','$peas_b','$money_add','$all_items','$da','$dd')");

        $db->Query("UPDATE db_store SET honey = 0 WHERE user_id = '$usid' LIMIT 1");   

      

        echo $func->ShowBootsSuccess("Вы продали ".$store_data["honey"]." камней, на сумму $money_add серебра");



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

        $user_data = $db->FetchArray();

        $db->Query("SELECT * FROM db_store WHERE user_id  = '$usid' LIMIT 1");

        $store_data = $db->FetchArray();       

      

    }else echo $func->ShowBootsError("Вам нечего обменивать!");



}*/

?>



<div>

    <form action="" method="post">

        <table width="480" border="0" align="center" cellpadding="0" cellspacing="0">

            <tr>

                <td align="center" style="padding:5px;"><font color="black">Сейчас на складе: <b><?=$store_data["honey"]?></b> камней. на сумму <?=$func->SellItems($store_data["honey"], $sonfig_site["items_per_coin"]+$user_data["all_time_a"]/10000+$user_data["all_time_b"]/100000+$user_data["all_time_c"]/300000+$user_data["all_time_d"]/1000000+$user_data["all_time_e"]/3000000); ?> серебра</font></td>

            </tr>

            <tr>

                <td align="center" valign="middle">

                    <center>

                        <form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">

                        Выберите % для вывода (остальные % на покупки):

                            <select name="surname">

                            <?=selectItems($names, $_REQUEST['surname'])?>

                            </select><br><br>

                        <input type="submit" name="sell" value="Продать камни" class="btn btn-success">

                        </form>

                    </center>

                </td>

            </tr>

        </table>

    </form>

</div>
ниже прикрепил сам файл
 

Вложения

Последнее редактирование модератором:
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
О ужас...
Тут курс считается так:
PHP:
$sonfig_site["items_per_coin"]+$user_data["all_time_a"]/10000+$user_data["all_time_b"]/100000+$user_data["all_time_c"]/300000+$user_data["all_time_d"]/1000000+$user_data["all_time_e"]/3000000;
$sonfig_site["items_per_coin"] - курс камней (или чего-то) к серебру
$user_data["all_time_a"] - количество собранного первого растения за все время
$user_data["all_time_b"] - количество собранного второго растения за все время
$user_data["all_time_c"] - количество собранного третьего растения за все время
$user_data["all_time_d"] - количество собранного четвертого растения за все время
$user_data["all_time_e"] - количество собранного пятого растения за все время
 
Triodor
Участник
Сообщения
3
Реакции
0
pligin спасибо еще один вопрос получается что каждый раз продавая больше камней то цена за камни становится меньше? не пойму зачем так усложнили то?
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
Triodor написал(а):
pligin спасибо еще один вопрос получается что каждый раз продавая больше камней то цена за камни становится меньше? не пойму зачем так усложнили то?
наверное для того, чтобы игра быстро не развивалась для тех, у кого много дорогих "растений"... что-то наподобие биткоина - его сложность специально увеличивают, чтобы люди не могли намайнить быстро все монеты. а их (монет) ограниченное количество - 21 млн
 
Triodor
Участник
Сообщения
3
Реакции
0
pligin написал(а):
наверное для того, чтобы игра быстро не развивалась для тех, у кого много дорогих "растений"... что-то наподобие биткоина - его сложность специально увеличивают, чтобы люди не могли намайнить быстро все монеты. а их (монет) ограниченное количество - 21 млн
спасибо а то бы сам долго вникал
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху