北大侠客行MUD论坛

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

因为bug死了,需要补偿

 关闭 [复制链接]
 楼主| 发表于 2009-9-13 22:55:12 | 显示全部楼层
call 0和tuna碰到一起这里应该加个判断,要是call 0之后还能继续tuna到死,那这明显就是bug吧?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-9-13 23:18:30 | 显示全部楼层
同意楼上的,死了就不应该再执行tuna,清所有状态才对,支持补偿!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-9-13 23:35:14 | 显示全部楼层
谢谢支持,出现bug不要紧,关键是要承认并且修正,谁写程序能保证不出bug呢
其实要判断一个问题是否属于bug,只要看看我们设计出来的东西是否符合当初设计的初衷,当初我们设计这个进少林监狱的时候,应该没有设计tuna或者dazuo就得死吧

[ 本帖最后由 dbr 于 2009-9-13 11:36 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-9-13 23:39:57 | 显示全部楼层
学习教训,支持补偿!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-9-13 23:44:40 | 显示全部楼层
原帖由 dbr 于 2009-9-13 10:55 PM 发表
call 0和tuna碰到一起这里应该加个判断,要是call 0之后还能继续tuna到死,那这明显就是bug吧?

tuna就是你指定要消耗精涨精力,这时候遇到其他条件晕掉,肯定是要死的,因为你并没有明显的指定要停止吐纳,停止消耗精。系统没有义务,也不应该自动假设玩家要停止吐纳,或者假设玩家一定要做什么动作,只能按照玩家的既定命令去做,否则按照这个逻辑,是不是系统应该在玩家死之前自动让玩家逃跑或者quit?哪个人是愿意死的呢?
吐纳的时候一定要找个安全的环境,这是首要的原则,一定要在不安全的环境里吐纳,最后精尽人亡,只能怪自己,怨不得系统,也不能因为死了就说是bug,要是这样还不死,那才是bug。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-9-14 00:05:16 | 显示全部楼层
原帖由 icer 于 2009-9-13 11:44 PM 发表

tuna就是你指定要消耗精涨精力,这时候遇到其他条件晕掉,肯定是要死的,因为你并没有明显的指定要停止吐纳,停止消耗精。系统没有义务,也不应该自动假设玩家要停止吐纳,或者假设玩家一定要做什么动作,只能按照 ...

我上面也说了,这个要根据开发的初衷来讲,如果说开发的时候就是有意图这样设定的,那当然不算bug,icer只要明确的说一下就可以
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-9-14 00:11:06 | 显示全部楼层
还有对于icer说的观点我不能同意,比如玩家在钱庄取钱,存款只有10gold,但是玩家却输入qu 11 gold,系统应该会进行判断的吧,并不是说所有玩家执行的操作,系统都是会执行的,有时需要某种情况也是有必要强制终止的.

同样的道理,进监狱的时候明显就是缺少这样的判定才导致死亡的
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-9-14 00:21:53 | 显示全部楼层
详细说明一下:
这个死亡是四个设计连续组合而成的结果,1:进监狱会晕,2:晕了精气都会减到0,3:吐纳连续减精加精力,4:精或气为负时会死亡。
这四个设计都是基础知识,没人不知道的,监狱设计的时候没有必要专门有意去考虑玩家晕了以后会怎样,只要按照基础的设计来就可以了,因为可能的组合很多,而玩家根据自己的逻辑和基础知识也能推断出相关的结果。
至于上面举的取钱的例子,吐纳的时候已经判断了你的精是否够用,如果不够用,吐纳不会进行,不会因为吐纳的精超过了你现有的精而精尽人亡,这就已经够了。至于吐纳期间应确保剩余的精还够下面吐纳所用的,那是玩家自己的事情,如果一定要用精去干别的还要同时强行吐纳,那死亡的结果也是玩家自己的选择,正如取钱的时候银行要判断存的钱够不够,但如果存的钱不够还一定要取那么多的话,那就是抢银行,只能坐牢了。
其实类似问题已经讨论过很多次了,以前finger id是耗精的,结果造成玩家tuna 期间无聊finger人玩最后死掉,wiz考虑finger属于系统命令,跟mud的武侠世界关系不大,故去掉了finger耗精的设计,但仍然保留了吐纳期间如果因为其他原因降精,最后会精尽人亡的设计,这不是什么bug,因为mud就是一连串基础设计的逻辑组合,组合结果可能千差万别,但都可以通过最初的设计以及相关的逻辑推理而来,这也是mud魅力所在。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-9-14 00:23:54 | 显示全部楼层
是这样,当前气血,精神为-1时晕倒,晕倒同时精神气血全部清零,如果此时还打坐tuna等减精气的行为就必死。原因就是系统观察晕倒(或睡觉)时只要气血小于零,则直接call_die。不光如此,睡觉的时候也会这样。
以前还有因为打npc,睡觉睡死了的事情。因为trigger设定一旦看到半昏迷立刻跑去睡觉,因为此时气血为-1,同时又睡着了,所以就call_die了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-9-14 00:33:36 | 显示全部楼层
原帖由 sway 于 2009-9-14 12:23 AM 发表
是这样,当前气血,精神为-1时晕倒,晕倒同时精神气血全部清零,如果此时还打坐tuna等减精气的行为就必死。原因就是系统观察晕倒(或睡觉)时只要气血小于零,则直接call_die。不光如此,睡觉的时候也会这样。
以前 ...

这个跟睡不睡觉没多大关系,只要气血为负就会死掉,但由于系统负担原因,不可能实时的监控玩家的气血数据,cpu受不了,所以只能在每个心跳执行期间检查并采取相应的措施。如果玩家网速较快,那么很可能在气血为负和系统观察到之间的时间里去做任何事,包括睡觉,最后的结果都一样:死掉,因为睡觉恢复精气是在系统观察精气并判断死亡之后的。即使他不睡觉,到了心跳的时候一样会晕倒,死掉,除非在这期间及时recover了气或者精。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 10:26 PM , Processed in 0.010047 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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