zmud中trigger有一种模式可以只抓取命令,并且可以在命令发送到mud之前截获、更改
可以利用这个计算最后命令发送的时间
#ONINPUT {(*)} {lastcmdstime=%ctime}
#ALARM *1 {#MATH idletime %ctime-@lastcmdstime}
每秒钟自动计算发呆的秒数
@idletime既发呆的秒数
判断自己在mud里是否发呆?只需要检查@idletime即可
把刚才第二个触发改为
#ALARM *1 {#MATH idletime %ctime-@lastcmdstime;#if (@idletime>55) {look}}
则人物在mud里永远不会发呆(除非lag>5s),不会学习发呆大法。
至于杀李的时候,如果@idletime>30基本上就可以认为机器出毛病了,可以quit或fly