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