Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[疑难] 较严重的BUG,不添加牧草动物仍能成长,只需在生产时添加即可

[复制链接]
小草的味道 发表于 2009-11-15 08:49:17 | 显示全部楼层 |阅读模式
很多用户都不添加牧草了,只是在动物生产的时候添加一点就可以,怎么修改才能实现没有牧草就不生在啊
回复

使用道具 举报

qqwb 发表于 2009-11-15 09:37:49 | 显示全部楼层
慎用插件。
回复

使用道具 举报

 楼主| 小草的味道 发表于 2009-11-15 18:38:41 | 显示全部楼层
顶起来啊。。。。。。。。
回复

使用道具 举报

careerhome 发表于 2009-11-15 18:39:47 | 显示全部楼层
牧场bug多多???
回复

使用道具 举报

redink777 发表于 2009-11-18 07:44:10 | 显示全部楼层
的确很多,牧草也添加不了
回复

使用道具 举报

 楼主| 小草的味道 发表于 2009-11-18 16:15:21 | 显示全部楼层
再顶起来。。。。
回复

使用道具 举报

youh 发表于 2009-11-18 16:17:06 | 显示全部楼层
这个多的。。。帮你顶一下
回复

使用道具 举报

 楼主| 小草的味道 发表于 2009-12-17 09:31:57 | 显示全部楼层
顶起来。。。。。。。
回复

使用道具 举报

liuzhly 发表于 2009-12-17 11:10:07 | 显示全部楼层
确实有这问题,我回去查看一下农场代码,看看能不能解决或者变通方式~~~~
回复

使用道具 举报

liuzhly 发表于 2009-12-17 15:38:16 | 显示全部楼层
本帖最后由 liuzhly 于 2009-12-17 15:49 编辑

暂时你这样吧:

找到 :

        }elseif ( $_REQUEST['harvesttype'] == "2" ){

................


                $cid = "1".$animal[animal][$_REQUEST['serial']]->cId;
                $cid1 = $animal[animal][$_REQUEST['serial']]->cId;
                $mc_package = json_decode( $list[0][mc_package] );
                $mc_package->$cid = $mc_package->$cid + 1;
                $mc_package = json_encode( $mc_package );
                $animal[animal][$_REQUEST['serial']]->buyTime = 0;
                $animal[animal][$_REQUEST['serial']]->cId = 0;
                $animal[animal][$_REQUEST['serial']]->postTime = 0;
                $animal[animal][$_REQUEST['serial']]->totalCome = 0;
                $animal[animal][$_REQUEST['serial']]->tou = "";
                $animal = json_encode( $animal );

上方添加如下:


                if ( floor($animal[animalfood]) == 0 ){
                        echo "{\"errorContent\":\"\\u7F3A\\u5C11\\u7267\\u8349\\u4E0D\\u80FD\\u6536\\u83B7\\uFF0C\\u5FEB\\u53BB\\u6DFB\\u52A0\",\"errorType\":\"1011\"}";
                        exit( );
                }

                $cid = "1".$animal[animal][$_REQUEST['serial']]->cId;
                $cid1 = $animal[animal][$_REQUEST['serial']]->cId;
                $mc_package = json_decode( $list[0][mc_package] );
                $mc_package->$cid = $mc_package->$cid + 1;
                $mc_package = json_encode( $mc_package );
                $animal[animal][$_REQUEST['serial']]->buyTime = 0;
                $animal[animal][$_REQUEST['serial']]->cId = 0;
                $animal[animal][$_REQUEST['serial']]->postTime = 0;
                $animal[animal][$_REQUEST['serial']]->totalCome = 0;
                $animal[animal][$_REQUEST['serial']]->tou = "";
                $animal = json_encode( $animal );

如果没牧草,不能收获,提示添加~~~

其实到这里就OK了,但是感觉还是有点地方不正确,所以可以继续修改一下:楼主可用上面代码测试一下~~能限制住一部分~~


然后找到 加草的代码:
if ( $_REQUEST['mod'] == "cgi_feed_food" ){
if ( $_REQUEST['type'] == "0" )
....................
找到第一处:
                                $animal[animalfood] = $animal[animalfood] - ( $_SGLOBAL['timestamp'] - $animal[animalfeedtime] ) / 3600 * $needfood / 4;
                                if ( $animal[animalfood] < 0 )
                                {
                                                                $animal[animalfood] = 0;
                                }
                                $animal[animalfeedtime] = $_SGLOBAL['timestamp'];

将其改成:

                        $animalfoodtime = floor($animal[animalfood]*3600);
                        $needfoodtime = floor($needfood *3600);
                        $animal[animalfood] = $animal[animalfood] - ( $_SGLOBAL['timestamp'] - $animal[animalfeedtime] ) / 3600 * $needfood / 4;
                        if ( $animal[animalfood] < 0 ){
                                $animal[animalfood] = 0;
                                if($needfoodtime > $animalfoodtime){
                                        $animal[animalfeedtime] = $_SGLOBAL['timestamp'] - ($needfoodtime - $animalfoodtime);
                                }else{
                                        $animal[animalfeedtime] = $_SGLOBAL['timestamp'];
                                }
                        }else{
                                $animal[animalfeedtime] = $_SGLOBAL['timestamp'];
                        }


再试试~~~~


主要思路:
原来如果加入草料,那么喂养时间立即更新到现在
修改后,如果加入草料,草料的数量小于需要的,喂养时间减去一个差值 ,个人感觉似乎还少点什么或者减的地方不对,请高手们帮改改,近期主要研究农场,牧场很少研究,一些关联不大清楚,如有不对,请指正~~

回头我再研究研究测试一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-10-23 08:12 , Processed in 0.100232 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表