|
本帖最后由 mmdnt@tj 于 2016-12-2 13:20 编辑
这是自己的一点判断,有兴趣的尝试一下!
一.关于pfm系列变量的设置
1.变量不要太长,
如我自己的:
pfmkuai = vv;jiali max;bei none;wield fengyun sword;jifa sword duanjia-jianfa;jifa parry qingyan-zhang;jifa strike qingyan-zhang;bei strike;perform fenglei;set action 接太祖拳
其中mud 内置alias vv = unwield blade;unwield sword;unwield whip
2.修改job.lua 文件中fight_trigger=function(),新增
create_trigger_t('fight13','^[> ]*设定环境变量:action\\s=\\s"接太祖拳"$','','pfmtzq')
SetTriggerOption("fight13","group","fight")
3.在job.lua 中新增一个函数
- function pfmtzq()
- exe('vv;jiali max;bei none;jifa cuff poyu-quan;jifa parry poyu-quan;bei cuff;perform leidong;bei none;jifa cuff taizu-quan;jifa parry taizu-quan;bei cuff;perform chong')
- end
复制代码
这样做的好处是防止过多过快的命令,导致积压,因为pfmtzq 是依靠触发来执行的,而从服务器响应会有一点延时,所以可以起到一定的规避作用!
如果命令还是有堆积的话,建议用mush 自带函数DoAfter,或者DoAfterSpecial 来调整,不建议用wait.make
比如修改function pfmtzq()
- function pfmtzq()
- DoAfter(1,'vv;jiali max;bei none;jifa cuff poyu-quan;jifa parry poyu-quan;bei cuff;perform leidong;bei none;jifa cuff taizu-quan;jifa parry taizu-quan;bei cuff;perform chong') --延迟一秒后发送pfm cuff 的命令到mud
- end
复制代码
二.关于武当任务命令积压,请仔细看wudang 任务中的几个函数
create_trigger_t('wudangFight4',"^(> )*" .. job.target .."对着你发出一阵阴笑,说道",'','wudangKillAct')
- function wudangKillAct()
- --DeleteTimer("wudang")
- flag.robber=true
- job.time.f=os.time() -- 屁哥
- --exe('kick '..job.id)
- killPfm(job.id)
- end
复制代码
create_trigger_t('wudangFind1','^(> )*\\D*'..job.target..'\\((\\D*)\\)','','wudangTarget')
- function wudangTarget(n,l,w)
- EnableTriggerGroup("wudangFind",false)
- dis_all()
- EnableTriggerGroup("wudangFight",true)
- job.id=string.lower(w[2])
- job.killer[job.target]=job.id
- exe('follow '..job.id)
- exe('look '..job.id)
- exe('unset no_kill_ap')
- killPfm(job.id)
- end
复制代码
大致意思也就是你在search NPC 的时候如果碰到了NPC ,肯定会触发一个wudangTarget(), 这时候会下一个 killPfm(job.id) 的命令,同时因为NPC多数时候看到你都会直接叫杀,发出阴笑,所以触发wudangKillAct(),mud 又会再下一个 killPfm(job.id) 的命令,如果你的killpfm 很长的话,那么MUD 有可能一瞬间就接受超过20+的命令,肯定会溢出!
所以我略作了一些调整,
- function wudangTarget(n,l,w)
- EnableTriggerGroup("wudangFind",false)
- dis_all()
- EnableTriggerGroup("wudangFight",true)
- job.id=string.lower(w[2])
- job.killer[job.target]=job.id
- exe('follow '..job.id)
- exe('look '..job.id)
- exe('unset no_kill_ap')
- DoAfterSpecial(1,'wudang_kill_wait()',12) --碰见NPC ,稍=1秒,如果NPC 已经叫杀了,肯定触发了wudangKillAct(),此时flag.robber = true,所以直接返回,如果没叫杀1秒之后下Killpfm ,主要是为了规避NPC 先叫杀 和 碰见NPC 同时下killpfm 的命令
- end
复制代码
- function wudang_kill_wait()
- if flag.robber == true then return else
- killPfm(job.id)
- end
- end
复制代码
这样有一个延时,不会一下子发出太多命令来。
以上是个人的一点思考,也同时按照此进行了修改设置,貌似从昨天到今天武当任务因为命令积压发生逃跑的事件基本上没看到了! |
评分
-
1
查看全部评分
-
|