gpt4 book ai didi

php - 设置每 15 分钟错误收入限额

转载 作者:行者123 更新时间:2023-11-30 01:37:42 27 4
gpt4 key购买 nike

好吧,所以这个文件每 15 分钟运行一次,你在这些阶段会获得收入、农业和能源奖励,但我不希望他们超过 $storagecap,但他们不会停止,他们不断添加越来越多的食物、金币、能量到您的账户永不停歇。

我想做的是增加你的收入,然后如果你的收入超过 $storagecap 将你的黄金放入 $storagecap,但它在这里不起作用,这是我的代码

<?php 
include("functions.php");
connect();
include("user_stats.php");
?>

<?php
if(isset($_SESSION['uid'])){
include("safe.php");
include("storagecap.php");?>

<?php
$get_users = mysql_query("SELECT * FROM `stats`") or die(mysql_error());

while($user = mysql_fetch_assoc($get_users)) {
//Get
$gold = $user["gold"];
$food = $user["food"];
$energy = $user["energy"];

//Increment
$gold += $user["income"];
$food += $user["farming"];
$energy += 5;

//Verify and correct
if($energy > 100)
$energy = 100;

if($gold > $storagecap)
$gold = $storagecap;

if($food > $storagecap)
$food = $storagecap;

//Submit
$update = mysql_query("UPDATE `stats` SET
`gold`= '".$gold."',
`food`= '".$food."',
`energy`= '".$energy."' WHERE `id`='".$user['id']."'") or die(mysql_error());
}
?>

最佳答案

在我看来,您在溢出检查中遇到了一些语法问题。首先,即使这有效,他们在下一个 15 分钟回合之前的金额也会高于上限。例如,假设您有 99 能量,它增加了 5,您现在将拥有 104。但上限检查仍将具有旧值,即 99,并且不会执行任何操作。还有

`gold`=`gold` '$storagecap' 

不正确,您需要使用

`gold`= '".$storagecap."'

但是要修复 15 分钟的延迟,最好的方法是:

<?php
include("functions.php");
include("storagecap.php");
connect();

$get_users = mysql_query("SELECT * FROM `stats`") or die(mysql_error());

while($user = mysql_fetch_assoc($get_users)) {
//Get
$gold = $user["gold"];
$food = $user["food"];
$energy = $user["energy"];

//Increment
$gold += $user["income"];
$food += $user["farming"];
$energy += 5;

//Verify and correct
if($energy > 100)
$energy = 100;

if($gold > $storagecap)
$gold = $storagecap;

if($food > $storagecap)
$food = $storagecap;

//Submit
$update = mysql_query("UPDATE `stats` SET
`gold`= '".$gold."',
`food`= '".$food."',
`energy`= '".$energy."' WHERE `id`='".$user['id']."'") or die(mysql_error());
}
?>

请注意,我尚未测试此代码,请将其视为一个粗略示例

编辑:另一个注意点是,如果运行此查询,返回的能量为 99,它必须将其修复为 100,并且在同时运行的另一个查询中,我使用了一些能量。这可能会导致所使用的能量被“返还”。抱歉,我无法更好地解释它 =P 查看 MySQL 事务。

关于php - 设置每 15 分钟错误收入限额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16626705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com