三个负数号的小细节
首先,-1,它是必须要有的,cmd规定如此,没办法,就算再不想要它,至少写个null防报错。
其次,许多人的最爱,-2,它并不是必须有的,没有它也不会报错。关于它能全程常时执行这一点很多人都知道了,-3-1都不行,就唯独它行,所以成了许多脱离锁血等等防御功能待的地方,要找防御功能,搜它里面准没错。
最后,-3,很多人不知道它的用途,它也跟-2一样可有可无,并且也跟-1【完全一样】的功能。
但是!这仨状态号也遵循着执行顺序,也就是说,玩家所写的内容会从-3开始,到-2,再到-1,中间有任何“冲突内容”例如同条件但value不同的lifeset,会根据最后执行的内容生效。
[statedef -3]
[state ]
trigger1 = 2
type = lifeset
value = lifemax
[statedef -2]
trigger1 = 3
type = lifeset
value = lifemax-helper(1000),sysvar(0)
[statedef -1]
[state placeholder]
trigger1 = 4
type = null
[state ]
trigger1 = 1
type = lifeset
value = 0
这样的结果是,你自杀了。
所以谨防在-3-2-1里面写了冲突内容但自己又不记得。
再所以因此以gt脱离等为代表的脱离方式才会依赖于-3下放置标识物,在-2里面写上当标识物不存在或错误时进行脱离。
写-1下没用。
真的。
最后一个可能会有人误解的地方,也就是【摆放顺序】。
有人会认为,在一份文件里面例如很普遍的cns文件,把-2放-3上面会导致-3-2读取内容错乱。
其实并不会,你把statedef 3000放statedef 0上面,会读取错误吗?