Project1

标题: 怎么弄个日常任务 [打印本页]

作者: ftf20202    时间: 2012-2-21 18:31
标题: 怎么弄个日常任务
不知道XP能不能弄日常任务,每天都最多能做n次的,超过n次就会……的。
既然XP能识别系统的时间日期,那么也应该能每到0点就刷新,把某变量改成0,就这么简单。

备注:你可能说:“请善用搜索功能。”我会回答:“我搜过了,没有,百度更没有。”dsu_plus_rewardpost_czw
作者: 527391078    时间: 2012-2-21 19:02
能不能睡一觉就充当过了一天,这时某个变量(如【体力】)就重新为0,
设计日常任务时,每接受完成一个任务时这个变量【体力】就增加20,但【体力】大于等于100时就不能做任务...这样行不行,无视时间~
作者: ftf20202    时间: 2012-2-21 19:07
527391078 发表于 2012-2-21 19:02
能不能睡一觉就充当过了一天,这时某个变量(如【体力】)就重新为0,
设计日常任务时,每接受完成一个任务 ...

既然无视时间,那还怎么叫日常任务呢?如果你说的是在游戏中“睡觉”,那么玩家只要当变量【体力】为100时,去一次“睡觉”不就可以继续了?我想定的是每天能做20次。
作者: 526832541    时间: 2012-2-21 19:13
建议不要做什么日常任务,因为BUG会超多!
我做过了,游戏时间与本地时间是同步的,但BUG就是只要改了本地时间 那么游戏就会出错!
或者无限做任务。。。。
作者: cxpagy    时间: 2012-2-21 20:58
最简单的方法么就用变量做啊
例如设定变量1=“日常”
设定,初始时变量1=0,每做一次该任务,变量1+1,然后设定当变量1=10时,就不能接这个任务了
如果你还要加上每天只能十次的话,可以设置,0点后日常=0,即可以完成0点后更新,又可以做10次的效果
作者: zhangbanxian    时间: 2012-2-22 10:48
系统时间是Time.now,你可以弄个变量去存它,然后相减,如果大于某个数就刷新,不然就不刷新...
作者: cxpagy    时间: 2012-2-22 22:20
你应该是想做,游戏里面的时间系统吧,比如游戏里面一天内能接多少任务?
如果是这样的话,在设置两个变量,一个是“日期”一个是“时间”
然后你每做一件需要花费时间的事情,时间+1(也可以加更多)
然后设置比如一天是24个小时,那么当“时间”=24时“日期”+1,“时间”=0,即为第二天开始
作者: ArcDriver    时间: 2012-2-23 04:35
本帖最后由 ArcDriver 于 2012-2-23 04:36 编辑

楼主亲想要的是实时更新变量么?那我就只告诉楼主亲怎么把年月日存在变量里剩下的楼主自己稍微琢磨琢磨?

首先变量操作的脚本:
$game_variables[编号] = 数值
有了这句之后就可以在事件的“脚本”指令里对任意变量进行赋值和操作,我们现在要做的就是把年月日分别存在不同的变量里。
那么接下来就按6楼的亲说的方法,提取当前系统时间的脚本就是Time.now,然后从这个Time.now里又能提取出不同的量来,比如说今天是几号就是Time.now.mday,今天是几月就是Time.now.mon,今天是那一年就是Time.now.year,还有包括星期几之类的都能通过这样提取出来,具体指令可以在按F1查看脚本帮助的“Time”部分~
现在就能把日月年分别利用上面说的办法赋值了,比如说把今天的月份赋到变量1里:
$game_variables[1] = Time.now.mon
这样就能把当前的日月年分别存到不同的变量里了咩~

接下来楼主亲想怎么折腾就随自己喜欢咯~
我的思路的话其实限定一天内可以做20次其实也不用0点刷新,就看看当前的时间和上次接任务的时间是不是还是同一个年月日就好了吧?
作者: 传说中di    时间: 2012-2-23 15:21
只是做单机的话没必要弄现实时间的。。。如果真要这样做的话BUG很多如果有自己的服务器的话那读取服务器的时间那就不会出现玩家更改系统时间的问题了
作者: awyb3110    时间: 2012-2-23 17:11
你是要做成网络游戏吗?那就读取服务器的时间好了。
单机的话,不太可能实现,因为系统时间可以任意更改的。
按游戏里的时间算,变量来表示还是可行的。
作者: knaiyouxi    时间: 2012-2-23 18:08
如果能想办法用数据库存储时间,然后把当前时间做对比,判断超过24小时才能再次做任务,提供一个思路......
作者: ftf20202    时间: 2012-2-24 21:00
那可不可以改成要联网才能做的任务?在网上提取时间?
联网的思路我是这样的:
if 能够连接网络
  提取网上的时间
  变量[100]="网上的时间"
  else
  显示文章:"不能做该任务"
end
作者: cxpagy    时间: 2012-2-24 21:04
不是设置了日期+1么
或者你的游戏是没有日期限定?
那只能和系统时间挂钩了
不过就算和系统时间挂钩,玩家也可以通过改系统时间来无限做任务呀。
作者: ArcDriver    时间: 2012-2-24 21:36
按我先前帖子里所说:
$game_variables[1] = Time.now.mon
这句话就是把当前系统时间存到变量1里,直接在事件脚本指令里输入这样的语句就能把这个数值存到变量里了。
作者: ftf20202    时间: 2012-2-24 21:50
ArcDriver 发表于 2012-2-24 21:36
按我先前帖子里所说:
$game_variables[1] = Time.now.mon
这句话就是把当前系统时间存到变量1里,直接在事 ...

存的是月份么?最重要的是hour,不是month,更不是year,当然也要。
作者: ArcDriver    时间: 2012-2-24 22:05
ftf20202 发表于 2012-2-24 21:50
存的是月份么?最重要的是hour,不是month,更不是year,当然也要。

调用方法都是类似的,Time.now.xxx
这个xxx都有哪些可以按F1查看“Time”部分,说不定能找到些别的需要的调用方法。

hour的调用:
Time.now.hour
作者: ftf20202    时间: 2012-2-25 07:46
ArcDriver 发表于 2012-2-24 22:05
调用方法都是类似的,Time.now.xxx
这个xxx都有哪些可以按F1查看“Time”部分,说不定能找到些别的需要的 ...

可以给个范例吗?好让我参考参考,谢谢了
作者: ArcDriver    时间: 2012-2-25 08:03
本帖最后由 ArcDriver 于 2012-2-25 08:04 编辑
ftf20202 发表于 2012-2-25 07:46
可以给个范例吗?好让我参考参考,谢谢了


饭粒
时间获取.rar (188.05 KB, 下载次数: 195)

有糖的话求塞糖XD





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1