本帖最后由 kissmahao 于 2010-01-31 10:22 编辑
原来的任务,每次都会刷出 草,虫子,稍微改了一下, 不是全部的地都刷出草和虫子。
另外牧场加了刷蚊子。可能有些不洽当的地方,高手指教一下。
只提供部分代码。- foreach ($list as $userparameter) {
- $farm=(array) json_decode($userparameter[farmlandstatus]);
- foreach ($farm[farmlandstatus] as $key=>$value){
- //f 草 g 虫子 h 干旱 s 大虫子 t 虫子当前血量 u 虫子总血量
- if(($_SGLOBAL['timestamp']-$value->q)<$cropstime[$value->a][4])
- {
- $suiji=mt_rand(1,20);
- if($value->f==0)
- {
- if ($suiji<7)
- {
- if ($suiji<4)
- {
- if ($suiji<2)
- {
- $value->f=3;
- }
- else
- {
- $value->f=2;
- }
- }
- else if ($suiji<14)
- {
- $value->f=1;
- }
- else
- {
- $value->f=0;
- }
- }
- }
- $suiji=mt_rand(1,20);
- if($value->g==0 && ($_SGLOBAL['timestamp']-$value->q)>$cropstime[$value->a][2])
- {
- if ($suiji<7)
- {
- if ($suiji<4)
- {
- if ($suiji<2)
- {
- $value->g=3;
- }
- else
- {
- $value->g=2;
- }
- }
- else if ($suiji<14)
- {
- $value->g=1;
- }
- else
- {
- $value->g=0;
- }
- }
- }
- $suiji=mt_rand(1,100);
- if($value->h==1)
- {
- if ($suiji<7)
- {
- $value->h=0;
- }
- }
- $suiji=mt_rand(1,100);
- if($value->s==0 && ($_SGLOBAL['timestamp']-$value->q)>$cropstime[$value->a][2])
- {
- //控制大虫只在开花,成熟阶段出现
- if ($suiji<6)
- {
- $value->s=1;
- $value->t=4;
- $value->u=4;
- }
- }
- }
- }
- $farm=json_encode($farm);
- $_SGLOBAL['db']->query("UPDATE ".tname('plug_newfarm')." set farmlandstatus='".$farm."' where uid=".$userparameter[uid]);
- }
- //牧场大便
- $suiji = rand(0,3);
- $_SGLOBAL['db']->query("UPDATE ".tname('plug_newfarm')." set dabian=dabian+".$suiji." where dabian<7");
- //牧场大便
- //蚊子
- $suiji = rand(0,3);
- while($suiji)
- {
- $_SGLOBAL['db']->query("UPDATE ".tname('plug_newfarm')." set wenzi=(CASE WHEN wenzi='' THEN CONCAT(wenzi,'0') ELSE CONCAT(wenzi,',0') END) where char_length(wenzi)<16 ");
- $suiji=$suiji-1;
- }
- //蚊子
- exit()
复制代码 |