Скрипт игры Gameport 2022

Muudm

Muudm

Пользователь
18
1

Спустя пору лет я самоучка уже наштамповал сайтов 5 штук ))
Сообщения были объединены:

Ребята, скачал скрипт у вас, поставил вёрстку 7,4 работает прекрасно добавил лидеры, билеты, всё работает. Есть одна проблема, пароль восстановления не отправляется 😮‍💨
Сообщения были объединены:

Старая, но фиксится элементарно:
В файле pages/user/insert.php
Строка 137 после:
PHP:
$fk_merchant_key = $config->fk_key;
Добавить
PHP:
$currency = 'RUB';
Строка 141
заменить
PHP:
$hash = md5($fk_merchant_id.':'.$sum.':'.$fk_merchant_key.':'.$order_id);
на
PHP:
$hash = md5($fk_merchant_id.':'.$sum.':'.$fk_merchant_key.':'.$currency.':'.$order_id);
Строка 150
заменить
PHP:
<form method="GET" action="https://www.free-kassa.ru/merchant/cash.php">
    <input type="hidden" name="m" value="<?=$fk_merchant_id?>">
    <input type="hidden" name="oa" value="<?=$sum?>">                                                    
    <input type="hidden" name="s" value="<?=$hash?>">                                                        
    <input type="hidden" name="us_id" value="<?=$uid;?>">
    <input type="hidden" name="o" value="<?=$order_id;?>" />
    <input type="submit" value="Оплатить через FreeKassa" class="btn btn-lg btn-success text-uppercase">
</form>
На
PHP:
<form method="GET" action="https://pay.freekassa.ru/">
    <input type="hidden" name="m" value="<?=$fk_merchant_id?>">
    <input type="hidden" name="oa" value="<?=$sum?>">
    <input type="hidden" name="o" value="<?=$order_id;?>" />
    <input type="hidden" name="s" value="<?=$hash?>">
    <input type='hidden' name='currency' value='<?=$currency?>'>
    <input type="hidden" name="us_id" value="<?=$uid;?>">
    <input type="submit" value="Оплатить через FreeKassa" class="btn btn-lg btn-success text-uppercase">
</form>

И все. Работает прекрасно.
Привет ещё раз господа, прописал так как вы посоветовали, неверная подпись пишет мне 🤔.
Может на 2024 год новый код имеется?
Сообщения были объединены:

Ну получается так что:
1 - перехожу на сайт пополнения, выбираю через что оплачиваю, далее подтверждаю платёж и..
2 - после успешной оплаты меня возвращает на сайт при этом написано
"Платеж принят, перейти в аккаунт"
3 - переходим в аккаунт, но там пусто.

Тоесть деньги до меня на фрикасса дошли а до пользователя на сайте не зачислились 🤔 помогите разобраться
 
Последнее редактирование:
  • Мне нравится
Реакции: Rich-99000000
N

Niebla

Seller
44
33
как в этом скрипте сделать пополнения через апи?:whistle::unsure:
 
W

wwmac

Пользователь
10
1
Привет всем! Кто подскажет, как прописать, чтобы при регистрации на рекламный счёт деньги зачислялись, а не персонаж? Спасибо!
 
Rich-99000000

Rich-99000000

Seller
59
56
Привет всем! Кто подскажет, как прописать, чтобы при регистрации на рекламный счёт деньги зачислялись, а не персонаж? Спасибо!

/pages/reg.php
1708458175781

счет покупок money_b
счет вывода money_p
счет рекламы наверн money_s гляньте в базе какой постфикс имеет money_*
 
  • Мне нравится
Реакции: wwmac и SAVAGE
B

bmy1111

Premium
85
38
Привет всем! Кто подскажет, как прописать, чтобы при регистрации на рекламный счёт деньги зачислялись, а не персонаж? Спасибо!
в админке выставляется бонус при регистрации. в коде не надо ничего править
 
Rich-99000000

Rich-99000000

Seller
59
56
хз надо ли кому, вот фикс на исчезающую прибыль если юзер давно не заходил (не собирал а срок растения/персонажа прошел). Это высчитывает разницу между последним сбором и гипотетическим доходом за срок жизни перса (кроч верно высчитывает). В стоке скрипт просто создает потери (что хорошо для админа, но приводит к жалобам игроков). Надеюсь внятно разжевал что за фикс 🤷🏼‍♂️ Ну еще выводит дату исчезновения/когда истечет срок перса

PHP:
<? if(!defined('FastCore')){echo ('Выявлена попытка взлома!');exit();}

$opt['title'] = 'Сбор прибыли';

$db->query("SELECT * FROM db_conf WHERE id = '1' LIMIT 1");
$cnf = $db->fetchArray();

$time = time();
?>
<div class="alert alert-primary">
    <p>На этой странице необходимо собирать выручку, которую принес Ваш транспорт.<br>
Полученный доход можно обменять на счет покупки или вывести на свой электронный кошелек.<br>
<span class="text-uppercase">Доход распределяется на счет для вывода <b>100%</b>!</span></p>
</div>

<?PHP
//--- RICH fix livetime pers 14/02/2024
//--- https://t.me/rich_99000000
//--- INIT arr & keys
$arrLives = array();
$arrLives['speed_lost'] = $arrLives['profit_lost'] = 0;
$arrLives['speed_live'] = $arrLives['profit_live'] = 0;

$db->Query("SELECT speed, last, id FROM db_users WHERE id = '$uid'");
$pers = $db->FetchArray();
//---

//--- times
$lock_accrual = 0;
$now_time = time();
$lastsbor_time = $pers['last'];

//--- search died items
$update_speed = $db->query("SELECT * FROM db_store WHERE uid = '$uid' AND status = 1 ORDER BY end DESC")->fetchAll();
foreach($update_speed as $us) {

    $item_speed = $us['speed']; // item

    //--- if end_time < now_time
    if ($us['end'] < $time) {

        //--- calc ALL die speed
        $arrLives['speed_lost'] += $item_speed;

        $end_time = $us['end'];
        $item_id = $us['id'];
       
        $n_time = ($now_time-$end_time)+$lastsbor_time;

        //--- calc DIED's items speed/profit
        $lostProfitAsEnd = $func->SumCalc($us['speed'], 1, $n_time);
        $arrLives['profit_lost'] += $lostProfitAsEnd;

    }else{
        //--- calc LIVE's items speed/profit
        $arrLives['speed_live'] += $item_speed;
        $profit_live = $func->SumCalc($item_speed, 1, $pers['last']);
        $arrLives['profit_live'] += $profit_live;
    }
}

// lock accrual if none live speed
if($pers['speed']-$arrLives['speed_lost'] <= 0){
    $lock_accrual = 1;
}

//--- TEST AREA profits
//print_r($arrLives);echo'<br><br>';
//$profit = $func->SumCalc($pers['speed'], 1, $pers['last']);
//$profit = $profit;
//echo 'profit => '.$profit.' ( all witch Calc )<br>';
//$profit = $arrLives['profit_lost'];
//echo 'profit => '.$profit.' ( profit_lost )<br>';
//$profit = $arrLives['profit_live'];
//echo 'profit => '.$profit.' ( profit_live )<br>';
$profit = $arrLives['profit_lost']+$arrLives['profit_live'];
//echo 'profit => '.$profit.' ( profit_lost + profit_live )<br>';


if(isset($_POST['sbor'])){

    # Ограничиваем сбор
    if($pers['last'] < ($time-600)){
        if($profit > $cnf['min_s']){

        # Распределяем и отдаем выручку пользователю
        $money_addd = $profit / $cnf['coint'];
        $money_b = ( (100 - $cnf['p_sell']) / 100) * $money_addd;
        $money_p = ( ($cnf['p_sell']) / 100) * $money_addd;
       
            //---
            // unset status
            $db->query("UPDATE db_store SET status = '0' WHERE end <= '$now_time' AND status > '0' AND uid = '$uid'"); // update status to 0
            //--- end unset

            //--- speed down
            $speedDown = $arrLives['speed_lost'];
            $db->query("UPDATE db_users SET speed = speed - '$speedDown' WHERE id = '$uid'");
           
            //--- money add
            $db->Query("UPDATE db_users SET money_p = money_p + '$money_p', last = '$time' WHERE id = '$uid'");

            //--- for new view profit after sbor
            $db->Query("SELECT speed, last, id FROM db_users WHERE id = '$uid'");
            $pers = $db->FetchArray();
            $profit = $func->SumCalc($pers['speed'], 1, $pers['last']);

            echo '<div class="alert bg-success text-white">Вы собрали выручку в размере '.$money_p.' руб.</div>';
         } else echo '<div class="alert bg-danger text-white">Минимальная сумма для сбора '.$cnf['min_s'].' руб.</div>';
    } else echo '<div class="alert bg-danger text-white">Вы уже собирали прибыль за последние 10 минут!</div>';
   
}
?>

<div class="row">
<div class="col-lg-6">
<center class="p-2">
<center><img src="/img/base.png" style="max-width: 55%;" alt="miner"></center>
    <div><h3 class="pt-3"><span style="font-weight: 700 !important;">
  ДОХОД:</span> <b id="mining_run" class="text-primary"><?=sprintf("%.6f",$profit);?></b> <small class="text-primary">руб.</small></h3>
    </div>

<?if(!$lock_accrual):?>
<script>
(function () {
    var writeTo = document.getElementById("mining_run");
    var sec = <?=sprintf("%.6f",$profit);?>;
    var a = setInterval(function () {
        sec = sec + <?=$pers['speed'];?>/36000;
        writeTo.innerHTML = sec.toFixed(6);
    }, 100)
})();
</script>
<?endif;?>


    <hr class="my-1">
<form action="" method="post" class="m-0">
    <input type="hidden" name="sbor" value="<?=$pers['id']?>">
    <input type="submit" class="btn btn-lg btn-danger m-2" style="font-weight: 900;" value="СОБРАТЬ ПРИБЫЛЬ">
</form>
</center>
</div>
<div class="col-lg-6">

<div class="card p-4">
<h4 class="m-0 text-center ">ВАША ДОХОДНОСТЬ</h4>
<p class=" text-center ">Этот панель показывает скорость вашего заработка!</p>
<div class="card-deck mt-3">
    <div class="card p-2 alert-success">
 <span class="h4 text-success font-weight-bold mb-0"><?=round($pers['speed'],4);?> <small>руб.</small></span>
    <h5 class="card-title text-uppercase mb-1">Доход в час</h5>
    </div>
    <div class="card p-2 alert-warning">
        <span class="h4 text-warning font-weight-bold mb-0"><?=round($pers['speed']*24,2);?>  <small>руб.</small></span>
        <h5 class="card-title text-uppercase mb-1">Доход в день</h5>
    </div>
  </div>
  <div class="card-deck mt-3">
    <div class="card p-2 alert-danger">
 <span class="h4 text-danger font-weight-bold mb-0"><?=round($pers['speed']*24*7,2);?><small>руб.</small></span>
    <h5 class="card-title text-uppercase mb-1">Доход в неделю</h5>
    </div>
    <div class="card p-2 alert-primary">
        <span class="h4 text-primary font-weight-bold mb-0"><?=round($pers['speed']*24*30,2);?>  <small>руб.</small></span>
        <h5 class="card-title text-uppercase mb-1">Доход в месяц</h5>
    </div>
  </div>

</div>
</div>

</div>
<br/><br/>
<h4 class="pb-2">Ваши бизнес покупки:</h4>
<?php
$db->Query("SELECT * FROM db_store WHERE uid = '$uid' ORDER BY id ASC");
    if($db->NumRows() > 0){
?>
<div class="row">
<?php
$pers = $db->query("SELECT * FROM db_store WHERE uid = '$uid' ORDER BY end DESC")->fetchAll();
      foreach($pers as $pers){

?>
    <div class="col-md-3 col-sm-4 text-center p-1">
    <div class="card mb-2">
    <h6 class="card-title mb-0"><b><?=$pers['title']; ?></b></h6>
    <hr class="my-1">
    <div class="card-body p-2"><img src="/img/items/<?=$pers['tarif']; ?>.png" style="max-width: 50%;">

<small>
    <p class="mb-0">куплен был:</p>
    <h5 class="p-0 mb-0"><?=date("d.m.Y в H:i",$pers['add']);?></h5>
</small>

<small>
    <p class="mb-0">исчезнет:</p>
    <h5 class="p-0 mb-0"><?=date("d.m.Y в H:i",$pers['end']);?></h5>
</small>

    </div>
      </div>
    </div>
    <?PHP
    }
?>
</div>

<?php
    } else echo '<div class="alert alert-danger text-center">У Вас нет покупок, купите их!</div>';
?>

1715078016192
 
SAVAGE

SAVAGE

Команда форума
Админ
519
1 220
хз надо ли кому, вот фикс на исчезающую прибыль если юзер давно не заходил (не собирал а срок растения/персонажа прошел). Это высчитывает разницу между последним сбором и гипотетическим доходом за срок жизни перса (кроч верно высчитывает). В стоке скрипт просто создает потери (что хорошо для админа, но приводит к жалобам игроков). Надеюсь внятно разжевал что за фикс 🤷🏼‍♂️ Ну еще выводит дату исчезновения/когда истечет срок перса

PHP:
<? if(!defined('FastCore')){echo ('Выявлена попытка взлома!');exit();}

$opt['title'] = 'Сбор прибыли';

$db->query("SELECT * FROM db_conf WHERE id = '1' LIMIT 1");
$cnf = $db->fetchArray();

$time = time();
?>
<div class="alert alert-primary">
    <p>На этой странице необходимо собирать выручку, которую принес Ваш транспорт.<br>
Полученный доход можно обменять на счет покупки или вывести на свой электронный кошелек.<br>
<span class="text-uppercase">Доход распределяется на счет для вывода <b>100%</b>!</span></p>
</div>

<?PHP
//--- RICH fix livetime pers 14/02/2024
//--- https://t.me/rich_99000000
//--- INIT arr & keys
$arrLives = array();
$arrLives['speed_lost'] = $arrLives['profit_lost'] = 0;
$arrLives['speed_live'] = $arrLives['profit_live'] = 0;

$db->Query("SELECT speed, last, id FROM db_users WHERE id = '$uid'");
$pers = $db->FetchArray();
//---

//--- times
$lock_accrual = 0;
$now_time = time();
$lastsbor_time = $pers['last'];

//--- search died items
$update_speed = $db->query("SELECT * FROM db_store WHERE uid = '$uid' AND status = 1 ORDER BY end DESC")->fetchAll();
foreach($update_speed as $us) {

    $item_speed = $us['speed']; // item

    //--- if end_time < now_time
    if ($us['end'] < $time) {

        //--- calc ALL die speed
        $arrLives['speed_lost'] += $item_speed;

        $end_time = $us['end'];
        $item_id = $us['id'];
      
        $n_time = ($now_time-$end_time)+$lastsbor_time;

        //--- calc DIED's items speed/profit
        $lostProfitAsEnd = $func->SumCalc($us['speed'], 1, $n_time);
        $arrLives['profit_lost'] += $lostProfitAsEnd;

    }else{
        //--- calc LIVE's items speed/profit
        $arrLives['speed_live'] += $item_speed;
        $profit_live = $func->SumCalc($item_speed, 1, $pers['last']);
        $arrLives['profit_live'] += $profit_live;
    }
}

// lock accrual if none live speed
if($pers['speed']-$arrLives['speed_lost'] <= 0){
    $lock_accrual = 1;
}

//--- TEST AREA profits
//print_r($arrLives);echo'<br><br>';
//$profit = $func->SumCalc($pers['speed'], 1, $pers['last']);
//$profit = $profit;
//echo 'profit => '.$profit.' ( all witch Calc )<br>';
//$profit = $arrLives['profit_lost'];
//echo 'profit => '.$profit.' ( profit_lost )<br>';
//$profit = $arrLives['profit_live'];
//echo 'profit => '.$profit.' ( profit_live )<br>';
$profit = $arrLives['profit_lost']+$arrLives['profit_live'];
//echo 'profit => '.$profit.' ( profit_lost + profit_live )<br>';


if(isset($_POST['sbor'])){

    # Ограничиваем сбор
    if($pers['last'] < ($time-600)){
        if($profit > $cnf['min_s']){

        # Распределяем и отдаем выручку пользователю
        $money_addd = $profit / $cnf['coint'];
        $money_b = ( (100 - $cnf['p_sell']) / 100) * $money_addd;
        $money_p = ( ($cnf['p_sell']) / 100) * $money_addd;
      
            //---
            // unset status
            $db->query("UPDATE db_store SET status = '0' WHERE end <= '$now_time' AND status > '0' AND uid = '$uid'"); // update status to 0
            //--- end unset

            //--- speed down
            $speedDown = $arrLives['speed_lost'];
            $db->query("UPDATE db_users SET speed = speed - '$speedDown' WHERE id = '$uid'");
          
            //--- money add
            $db->Query("UPDATE db_users SET money_p = money_p + '$money_p', last = '$time' WHERE id = '$uid'");

            //--- for new view profit after sbor
            $db->Query("SELECT speed, last, id FROM db_users WHERE id = '$uid'");
            $pers = $db->FetchArray();
            $profit = $func->SumCalc($pers['speed'], 1, $pers['last']);

            echo '<div class="alert bg-success text-white">Вы собрали выручку в размере '.$money_p.' руб.</div>';
         } else echo '<div class="alert bg-danger text-white">Минимальная сумма для сбора '.$cnf['min_s'].' руб.</div>';
    } else echo '<div class="alert bg-danger text-white">Вы уже собирали прибыль за последние 10 минут!</div>';
  
}
?>

<div class="row">
<div class="col-lg-6">
<center class="p-2">
<center><img src="/img/base.png" style="max-width: 55%;" alt="miner"></center>
    <div><h3 class="pt-3"><span style="font-weight: 700 !important;">
  ДОХОД:</span> <b id="mining_run" class="text-primary"><?=sprintf("%.6f",$profit);?></b> <small class="text-primary">руб.</small></h3>
    </div>

<?if(!$lock_accrual):?>
<script>
(function () {
    var writeTo = document.getElementById("mining_run");
    var sec = <?=sprintf("%.6f",$profit);?>;
    var a = setInterval(function () {
        sec = sec + <?=$pers['speed'];?>/36000;
        writeTo.innerHTML = sec.toFixed(6);
    }, 100)
})();
</script>
<?endif;?>


    <hr class="my-1">
<form action="" method="post" class="m-0">
    <input type="hidden" name="sbor" value="<?=$pers['id']?>">
    <input type="submit" class="btn btn-lg btn-danger m-2" style="font-weight: 900;" value="СОБРАТЬ ПРИБЫЛЬ">
</form>
</center>
</div>
<div class="col-lg-6">

<div class="card p-4">
<h4 class="m-0 text-center ">ВАША ДОХОДНОСТЬ</h4>
<p class=" text-center ">Этот панель показывает скорость вашего заработка!</p>
<div class="card-deck mt-3">
    <div class="card p-2 alert-success">
 <span class="h4 text-success font-weight-bold mb-0"><?=round($pers['speed'],4);?> <small>руб.</small></span>
    <h5 class="card-title text-uppercase mb-1">Доход в час</h5>
    </div>
    <div class="card p-2 alert-warning">
        <span class="h4 text-warning font-weight-bold mb-0"><?=round($pers['speed']*24,2);?>  <small>руб.</small></span>
        <h5 class="card-title text-uppercase mb-1">Доход в день</h5>
    </div>
  </div>
  <div class="card-deck mt-3">
    <div class="card p-2 alert-danger">
 <span class="h4 text-danger font-weight-bold mb-0"><?=round($pers['speed']*24*7,2);?><small>руб.</small></span>
    <h5 class="card-title text-uppercase mb-1">Доход в неделю</h5>
    </div>
    <div class="card p-2 alert-primary">
        <span class="h4 text-primary font-weight-bold mb-0"><?=round($pers['speed']*24*30,2);?>  <small>руб.</small></span>
        <h5 class="card-title text-uppercase mb-1">Доход в месяц</h5>
    </div>
  </div>

</div>
</div>

</div>
<br/><br/>
<h4 class="pb-2">Ваши бизнес покупки:</h4>
<?php
$db->Query("SELECT * FROM db_store WHERE uid = '$uid' ORDER BY id ASC");
    if($db->NumRows() > 0){
?>
<div class="row">
<?php
$pers = $db->query("SELECT * FROM db_store WHERE uid = '$uid' ORDER BY end DESC")->fetchAll();
      foreach($pers as $pers){

?>
    <div class="col-md-3 col-sm-4 text-center p-1">
    <div class="card mb-2">
    <h6 class="card-title mb-0"><b><?=$pers['title']; ?></b></h6>
    <hr class="my-1">
    <div class="card-body p-2"><img src="/img/items/<?=$pers['tarif']; ?>.png" style="max-width: 50%;">

<small>
    <p class="mb-0">куплен был:</p>
    <h5 class="p-0 mb-0"><?=date("d.m.Y в H:i",$pers['add']);?></h5>
</small>

<small>
    <p class="mb-0">исчезнет:</p>
    <h5 class="p-0 mb-0"><?=date("d.m.Y в H:i",$pers['end']);?></h5>
</small>

    </div>
      </div>
    </div>
    <?PHP
    }
?>
</div>

<?php
    } else echo '<div class="alert alert-danger text-center">У Вас нет покупок, купите их!</div>';
?>

Посмотреть вложение 1302
Я на своем проекте как то делал что то похожее) если в течении суток не собрать прибыль то она аннулируется)) и про это было четко написано)
 
  • Мне нравится
Реакции: alek999s
Rich-99000000

Rich-99000000

Seller
59
56
Я на своем проекте как то делал что то похожее) если в течении суток не собрать прибыль то она аннулируется)) и про это было четко написано)
ну в гейм порте прост недоработка потому что срок жизни базируется на том же что в FF, я еще в 2017 и там этот фикс продавал.
 
  • Мне нравится
Реакции: SAVAGE