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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

开心农场计划任务(刷草,大便,蚊子)

[复制链接]
kissmahao 发表于 2010-1-25 10:23:10 | 显示全部楼层 |阅读模式
本帖最后由 kissmahao 于 2010-01-31 10:22 编辑

原来的任务,每次都会刷出 草,虫子,稍微改了一下, 不是全部的地都刷出草和虫子。

另外牧场加了刷蚊子。可能有些不洽当的地方,高手指教一下。


只提供部分代码。
  1. foreach ($list as $userparameter) {
  2.     $farm=(array) json_decode($userparameter[farmlandstatus]);
  3.     foreach ($farm[farmlandstatus] as $key=>$value){
  4.                 //f 草 g 虫子 h 干旱 s 大虫子 t 虫子当前血量 u 虫子总血量
  5.         if(($_SGLOBAL['timestamp']-$value->q)<$cropstime[$value->a][4])
  6.         {
  7.             $suiji=mt_rand(1,20);

  8.             if($value->f==0)
  9.             {
  10.                 if ($suiji<7)
  11.                 {
  12.                     if ($suiji<4)
  13.                     {
  14.                         if ($suiji<2)
  15.                         {
  16.                             $value->f=3;
  17.                         }
  18.                         else
  19.                         {
  20.                             $value->f=2;
  21.                         }
  22.                     }
  23.                     else if ($suiji<14)
  24.                     {
  25.                         $value->f=1;
  26.                     }
  27.                     else
  28.                     {
  29.                         $value->f=0;
  30.                     }
  31.                 }
  32.             }
  33.             $suiji=mt_rand(1,20);
  34.             if($value->g==0 && ($_SGLOBAL['timestamp']-$value->q)>$cropstime[$value->a][2])
  35.             {
  36.                 if ($suiji<7)
  37.                 {
  38.                     if ($suiji<4)
  39.                     {
  40.                         if ($suiji<2)
  41.                         {
  42.                             $value->g=3;
  43.                         }
  44.                         else
  45.                         {
  46.                             $value->g=2;
  47.                         }
  48.                     }
  49.                     else if ($suiji<14)
  50.                     {
  51.                         $value->g=1;
  52.                     }
  53.                     else
  54.                     {
  55.                         $value->g=0;
  56.                     }
  57.                 }
  58.             }
  59.             $suiji=mt_rand(1,100);
  60.             if($value->h==1)
  61.             {
  62.                 if ($suiji<7)
  63.                 {
  64.                     $value->h=0;
  65.                 }
  66.             }
  67.             $suiji=mt_rand(1,100);
  68.             if($value->s==0 && ($_SGLOBAL['timestamp']-$value->q)>$cropstime[$value->a][2])
  69.             {
  70.                                 //控制大虫只在开花,成熟阶段出现
  71.                 if ($suiji<6)
  72.                 {
  73.                     $value->s=1;
  74.                                         $value->t=4;
  75.                                         $value->u=4;
  76.                 }
  77.             }
  78.         }
  79.     }
  80.     $farm=json_encode($farm);
  81.     $_SGLOBAL['db']->query("UPDATE ".tname('plug_newfarm')." set farmlandstatus='".$farm."' where uid=".$userparameter[uid]);

  82. }
  83. //牧场大便
  84. $suiji = rand(0,3);
  85. $_SGLOBAL['db']->query("UPDATE ".tname('plug_newfarm')." set dabian=dabian+".$suiji." where dabian<7");
  86. //牧场大便

  87. //蚊子

  88. $suiji = rand(0,3);
  89. while($suiji)
  90. {
  91. $_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 ");
  92. $suiji=$suiji-1;
  93. }
  94. //蚊子
  95. exit()
复制代码
myzny 发表于 2010-1-25 10:27:57 | 显示全部楼层
怎么用啊??
回复

使用道具 举报

 楼主| kissmahao 发表于 2010-1-25 10:30:50 | 显示全部楼层
回复 2# myzny


    把附件 上传到程序的source/cron/ 目录下,在后台添加计划任务。
回复

使用道具 举报

jimmie_my 发表于 2010-1-25 11:11:41 | 显示全部楼层
下来试下。感谢!
回复

使用道具 举报

intexx 发表于 2010-1-25 12:14:08 | 显示全部楼层
蚊子代码一次能刷出多少只呢 我一直都能刷出一只而已
回复

使用道具 举报

liuzhly 发表于 2010-1-25 12:16:21 | 显示全部楼层
wenzi='wenzi'+'0,'  ?

mysql中,字段增加不是这样的,注意了!!

wenzi=CONCAT(wenzi,'0,')
回复

使用道具 举报

№11买空间网 发表于 2010-1-25 12:25:23 | 显示全部楼层
这个对我有点难度的哈
回复

使用道具 举报

 楼主| kissmahao 发表于 2010-1-25 13:05:12 | 显示全部楼层
回复 6# liuzhly


      多谢提醒啊。
回复

使用道具 举报

 楼主| kissmahao 发表于 2010-1-25 13:06:28 | 显示全部楼层
回复 5# intexx

wenzi='wenzi'+'0,'

改成

wenzi=CONCAT(wenzi,'0,')


不好意思,本人对php不太了解。。你的楼下liuzhly老大已经给指正错误了。
回复

使用道具 举报

liuzhly 发表于 2010-1-25 13:12:44 | 显示全部楼层
不过最好是:

wenzi=(CASE WHEN wenzi='' THEN CONCAT(wenzi,'0') ELSE CONCAT(wenzi,',0') END)

如果没有蚊子,增加一个,如果有蚊子,后面增加一个
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 18:25 , Processed in 0.294412 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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