cappuccino 发表于 2015-4-21 14:23:52

本帖最后由 cappuccino 于 2015-4-21 02:25 PM 编辑

回复 3# jarlyyn


    有点看不出来你说的状态机的优势在哪里。。因为mud里的环境太复杂,而且没有统一规定只允许有是否busy、是否战斗、是否健康……等有限数量的状态,那么在检查状态、维护状态信息这方面就要花费大量的时间

而且有的情况下无法通过状态的判断得到有效结论,比如你fight npc,然后当状态检查显示不在战斗了,那么这场战斗是赢了还是输了?还是得靠那个战斗结果的触发来进行判断。。

还有一点就是(弱弱地),个人觉得如果机器人一直发送checkbusy, suicide -1这些指令的话,会觉得有点傻……

ltblue 发表于 2015-4-21 14:26:31

回复 17# jarlyyn


我跟你完全一样,我也不在这里玩.....
不过,这个对政策还有啥问题吗?不懂......

ps:状态机我还是不很理解,你用busy检查来触发,难道时刻都不停的checkbusy?做一步之前先checkbusy?这个很影响效率吧?

jarlyyn 发表于 2015-4-21 14:29:49

回复jarlyyn


    有点看不出来你说的状态机的优势在哪里。。因为mud里的环境太复杂,而且没有统一规 ...
cappuccino 发表于 2015-4-21 02:23 PM http://pkuxkx.com/forum/images/common/back.gif

这么说吧,状态机

首先用于自动补给。(道具状态)

其次,用于自动寻找npc。(行走状态)

第三,用于自动确定任务目标(任务状态)

还需要我再说下去么……

至于状态机本身,虽然我之前的代码没有实现,完全可以通过缓存来做。

每个状态有一定的缓存。

某些状态可以清除该缓存。

另外,busytest本来就不是必须的,只不过是容错最高而已。

jarlyyn 发表于 2015-4-21 14:31:21

回复jarlyyn


我跟你完全一样,我也不在这里玩.....
不过,这个对政策还有啥问题吗?不懂......

...
ltblue 发表于 2015-4-21 02:26 PM http://pkuxkx.com/forum/images/common/back.gif

用状态机很难写出不全自动的机器人……

ltblue 发表于 2015-4-21 14:35:36

回复 21# cappuccino


我大概就是这么个意思
举例说,我玩的mud,busy有至少两种
有什么都干不了的busy:
即彻底的忙,什么都做不了。这种我用dazuo 1来判断
有战斗中的busy:
即我虽然可以打架,但是我不能移动,这种我用jifa jifa jifa来判断
另外,还有能不能放技能的busy等

我理解,状态机的优势在于,很少会出现”发呆"的情况,而且不管什么时候发呆,我都清楚的知道我现在在干什么,下一步我要干什么,是吧?

cappuccino同学的想法是什么呢?
我本来觉得,既然都花大心思学lua和mush了,我就把所有的东西都写在lua里了,后来发现有点得不偿失。按照“jarlyyn”同学的说法,是这么做就不能“异步”了。我需要很多的“全局钩子”来抓触发,来变更自己的状态,只靠lua的wait,我感觉好像不行,是不是要把mush里的触发器大规模的用起来呢?请教你的思路,多谢

ltblue 发表于 2015-4-21 14:37:33

回复 24# jarlyyn


哦,这点我无所谓,我的目标就是全自动洗衣机.....
不在这里玩,我们两个人不远万里来到这里,讨论一些不可见人的东西,不太好吧,哈哈

jarlyyn 发表于 2015-4-21 14:37:36

回复cappuccino


我大概就是这么个意思
举例说,我玩的mud,busy有至少两种
有什么都干不了的busy ...
ltblue 发表于 2015-4-21 02:35 PM http://pkuxkx.com/forum/images/common/back.gif
触发可以靠添加临时trigger来做啊。

比如 https://github.com/jarlyyn/helllua/blob/master/mods/update.mod

ltblue 发表于 2015-4-21 14:38:44

回复 27# jarlyyn


添加临时trigger,还不就等于trigger了吗?
那我不如直接trigger得了,何必还用代码来添加......

jarlyyn 发表于 2015-4-21 14:40:05

回复jarlyyn


添加临时trigger,还不就等于trigger了吗?
那我不如直接trigger得了,何必还用代码来 ...
ltblue 发表于 2015-4-21 02:38 PM http://pkuxkx.com/forum/images/common/back.gif

利于版本控制。

ltblue 发表于 2015-4-21 14:40:30

这么说吧,状态机

首先用于自动补给。(道具状态)

其次,用于自动寻找npc。(行走状态)

第三,用 ...
jarlyyn 发表于 2015-4-21 02:29 PM http://pkuxkx.com/forum/images/common/back.gif


这些功能,用zmud同样能达到啊,zmud也不是状态机......
我现在仍然处于zmud的那种“一环扣一环”,如果有错,再进行状态检查的思路
我所玩的mud那里,一个机器挂几周不出错很正常,所以太看出来状态机的优势啊
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: 我好像误入歧途了