Project1

标题: 关于牧场养殖事件实现。 [打印本页]

作者: 1243852    时间: 2016-2-23 11:35
标题: 关于牧场养殖事件实现。
前提:没有范例工程, 基于“时间系统”才能实现。

前言:
老实说,从我读书毕业以后,大脑就自动排除出了几乎所有的数学知识。你现在让我做一道二元方程,我也不会。所以这种逻辑运算对诸位来说算是简单,但对我来说,难上加难,以下的成果,我想了两天才想明白,个人觉得应该没什么漏洞了。发上来,也是希望那位高手帮我看看,看还有没有什么漏洞。(PS:这也是我学不会和不想学脚本的原因……)

先上图!

事件第一页:(放出奶牛种!)PS:在奶牛圈里面放一个奶牛行走图,把条件设置为“奶牛1”开关打开时显示,即可。


事件第二页:(喂养饲料)定义 “养殖-日”和“日”。就是将变动的“日期”喂养饲料时的变量值,记录到“养殖-日”这个变量里面去,以后有用……(养殖-月、养殖-年同理)喂养方式:一天一喂,X天后,生产。


事件第三页:(这里有点复杂了,下面再说!)


事件第四页:(收获,)我写错了,是“奶牛生产了牛奶才对。”






好,接下来重点讲讲第三页,这也是我苦思冥想很久后,才完善的。


首先,因为“时间系统”(很多这样的脚本,自行搜索。)的关系,变量“日”是不断在变化的。
那么我举例,
你1月1日,种下奶牛(第一页),然后喂养饲料(第二页)。此时,“1”这个变量值,被记录到了“养殖-日”这个变量里,而变量“日”还在继续行走。OK
第二天,1月2日。这个时候“日”的变量值变成了“2”,而“养殖-日”的变量值,仍然是“1”。所以只要“日”大于“养殖-日”我们就可以判定,这个时候已经是过了一天了。可以再次喂养饲料了。
关于变量“日”不等于“1”的设置:
原因是因为,如果你是1月30日喂养的饲料,那么第二天应该是2月1日。所以这个时候,“养殖-日”记录的是“30”这个数值,而“日”却变成了“1”。所以“日”不等于“1”的时候,可以使用上述处理,如果日等于“1”的时候,那就说明,已经翻月了,那么这个时候,必须处理成“养殖-日”大于“日”才能判定出,是否已经又过了一天。

那么为什么我们还要去记录“月”和“年”的变量值呢?
这也是我昨晚想到的BUG,所以今天反复再思考后,这样加上去的。估计应该是正确的。
那么就是,
并行处理的事件,必须要在人物进入这个地图时,才开始执行。也就是说,如果玩家在其他地图随便晃悠,即便是“日”已经大于“养殖-日”了,也不会执行这个事件。
那么这里就有个问题了,假设玩家在1月30日喂养了一次牲畜。 这个时候的变量情况是 ,日=30  养殖日=30。过了一天,就是2月1日。这个时候 日=1  这个时候应该执行 条件分歧,当 日=1的时候的判定。这就合情合理。 但是如果说,2月1日这一天, 玩家没有进入过牧场,也就是说事件页 第三页的并行处理事件没有被触发。直到2月2日。
这个时候,日就≠1了,日=2 了。 那么他又会判定成,日≠1 的条件分歧。这就无法判定了,因为这个时候,养殖日=30  日=2   养殖日分明大于日。 但是 日不等于1下面的条件分歧是,养殖日小于1时。所以这个时候就必须“月”来帮忙。
之前记录的养殖月=1(1月30日饲养的)现在的月=2(2月2日甚至以后)所以当养殖月小于月的时候,判定再判定一次,表示已经过了一个月了,无论你的日是在那个值上面,都应该被弹回饲养那里。
同理,当月=12时,就要开始翻年了,如果一个玩家,饲养一次后,一年以后再饲养,就必须借助“年”的帮助。才能判定下来。

这就是我的理论

求更改更新。
作者: cjlzbb    时间: 2016-2-28 13:21
那么如何让母牛生下小牛呢,也就是怎样创造一个新的事件?
作者: 1243852    时间: 2016-2-28 21:28
cjlzbb 发表于 2016-2-28 13:21
那么如何让母牛生下小牛呢,也就是怎样创造一个新的事件?

我想了下,这个其实和最后“收成”的那个事件很相似。 你想想看。最后一页时间(收成)当“奶牛养殖1”=8时(也就是喂养了8次,过了至少8天。)就激活收成。。如果是你想设置成 连续八天正常饲养,即可生小牛。那么你就 再创一个事件页。设置成生小牛, 或者直接设置成可以收成一个“奶牛种” 然后把条件设置成当变量“奶牛养殖1”=8 时, 就好了。 或者不需要多创建一个事件页,,直接在最后一页的事件页(收成那里。)多设置一个“得到物品”“奶牛种”就可以。
作者: cjlzbb    时间: 2016-2-28 21:30
1243852 发表于 2016-2-28 21:28
我想了下,这个其实和最后“收成”的那个事件很相似。 你想想看。最后一页时间(收成)当“奶牛养殖1”=8 ...


奶牛种。。。囧

没有办法创建新的事件吗
估计只能放多几个空白事件在地图里了。。




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