北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: ltblue

我好像误入歧途了

[复制链接]
发表于 2015-4-21 14:23:52 | 显示全部楼层
本帖最后由 cappuccino 于 2015-4-21 02:25 PM 编辑

回复 3# jarlyyn


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

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

还有一点就是(弱弱地),个人觉得如果机器人一直发送checkbusy, suicide -1这些指令的话,会觉得有点傻……
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-4-21 14:26:31 | 显示全部楼层
回复 17# jarlyyn


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

ps:状态机我还是不很理解,你用busy检查来触发,难道时刻都不停的checkbusy?做一步之前先checkbusy?这个很影响效率吧?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-4-21 14:29:49 | 显示全部楼层
回复  jarlyyn


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


这么说吧,状态机

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

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

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

还需要我再说下去么……

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

每个状态有一定的缓存。

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

另外,busytest本来就不是必须的,只不过是容错最高而已。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-4-21 14:31:21 | 显示全部楼层
回复  jarlyyn


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

...
ltblue 发表于 2015-4-21 02:26 PM


用状态机很难写出不全自动的机器人……
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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里的触发器大规模的用起来呢?请教你的思路,多谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-4-21 14:37:33 | 显示全部楼层
回复 24# jarlyyn


哦,这点我无所谓,我的目标就是全自动洗衣机.....
不在这里玩,我们两个人不远万里来到这里,讨论一些不可见人的东西,不太好吧,哈哈
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-4-21 14:37:36 | 显示全部楼层
回复  cappuccino


我大概就是这么个意思
举例说,我玩的mud,busy有至少两种
有什么都干不了的busy ...
ltblue 发表于 2015-4-21 02:35 PM

触发可以靠添加临时trigger来做啊。

比如 https://github.com/jarlyyn/helllua/blob/master/mods/update.mod
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-4-21 14:38:44 | 显示全部楼层
回复 27# jarlyyn


添加临时trigger,还不就等于trigger了吗?
那我不如直接trigger得了,何必还用代码来添加......
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-4-21 14:40:05 | 显示全部楼层
回复  jarlyyn


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


利于版本控制。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-4-21 14:40:30 | 显示全部楼层
这么说吧,状态机

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

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

第三,用 ...
jarlyyn 发表于 2015-4-21 02:29 PM



这些功能,用zmud同样能达到啊,zmud也不是状态机......
我现在仍然处于zmud的那种“一环扣一环”,如果有错,再进行状态检查的思路
我所玩的mud那里,一个机器挂几周不出错很正常,所以太看出来状态机的优势啊
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-1 05:31 PM , Processed in 0.013656 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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