进入宠物银行,兑换论坛积分到宠物币提示无效操作。根据之前银行的修复经验,定位到ajax目录下的bank.php文件第42行,代码如下

}elseif($action=='convert' && $mypetdata['mypetjob']<16){

看来是多了个转生限制导致的,去掉if判定里的

 && $mypetdata['mypetjob']<16

,即修改为

}elseif($action=='convert'){

保存文件,刷新银行页面。兑换,提示成功,问题解决。

从宠物币兑换到论坛积分的部分,经测试发现有额外的提示。同上,定位到ajax目录下的bank.php文件51行,看起来这个部分的代码有点问题,修该段代码如下:

elseif($action=='convert1'){
$costcwb=intval($nums/$put1);
DB::query("UPDATE ".DB::table('common_member_count')." set extcredits{$petsettings[moneycredits]}=extcredits{$petsettings[moneycredits]}+$costcwb where uid='{$_G['uid']}'");
DB::query("UPDATE ".DB::table('wxpetdata')." SET cwb=cwb-$nums WHERE username='{$_G['username']}'");
$banklog="<?PHP exit('Access Denied'); ?>\t".htmlspecialchars($_G['member']['username'])."\t$costcwb\t-$nums\t2\t{$_G['timestamp']}\n";
writepetlog('banklog.php',$banklog);
$msg="兑换成功,您的{$moneycreditsname}增加了{$costcwb}个!";
$cwb-=$nums;
$moneycredits+=$costcwb;
}

保存后刷新,此时,宠物币到论坛积分的兑换也正常了。当然,上面修正的代码并没有判定宠物币是否是设定的如1000的倍数,这个小问题自己处理吧。这都处理不了,你还看个什么啊,洗洗睡吧~

本节教程结束。

Related Posts: 无心宠物-BUG修复系列-17-银行论坛积分兑换宠物币无效的解决办法 :