四、士兵技的创建士兵技能的创建和必杀技有许多类似的地方。和必杀技一样,我们可以往士兵物件在Things ini中的定义里添加脚本的调用。
我们添加的士兵技属于长枪兵骑兵。编辑Things ini如下:
[OBJECT]
Name = 長槍兵 (騎兵)
Sequence= 141
Type = %TYPE_FORCE
Space = 8,8,64,0
Flags = OF_MAN, OF_BIGSHAPE
Process =%ForceSoldierObjectProcess
Directory = \Force\
Wait = MCHW0001,
#16, MCHW0002, #8, MCHW0003,
#8, MCHW0004, #16, MCHW0003,
#8, MCHW0002, #8
Walk = #4, MCHR0001, MCHR0002, MCHR0003,MCHR0004, MCHR0005, MCHR0006, MCHR0007, MCHR0008, MCHR0009
Attack = #0, MCHA0002,
!50201, #3, MCHA0002, MCHA0003, MCHA0004, MCHA0005, MCHA0006, MCHA0007,@%OM_ATTACK, MCHA0008, MCHA0009, MCHA0010, MCHA0011, SCROVER
Win = #0, MCHB0002,
!50201, #3, MCHB0002, MCHB0003, MCHB0004, MCHB0005, MCHB0006, MCHB0007, @%OM_ATTACK,MCHB0008, MCHB0009, MCHB0010, MCHB0011, SCROVER
Defense = #8, MCHD0002,SCROVER
Death = #5, MCF10001, MCF10002, MCF10003,MCF10004, #128, MCF10006, #5, MCF10007, MCF10008, MCF10009, MCF10010, #128,MCF10010, #9999, @%OM_DEATHSTOP, SCROVER
Pain =#5, MCFS0001, MCFS0002, MCFS0003, MCFS0004,
#128, MCFS0006, #5, MCFS0007,MCFS0008, MCFS0009, MCFS0010,
#128, MCFS0010, #9999, @%OM_DEATHSTOP, SCROVER
这里我们用到了一个小技巧。我们希望士兵技在攻击动作未开始时就触发,但是,如果将!50201直接放在序列的最前面,反而是无效的(具体原因尚不明确)。因此,我们往序列的最开始加了一个持续时间为0的帧(#0),这样在保持动画效果不变的同时,使得我们的!50201脚本能在动画序列开始之前执行。
我们先编写主函数,测试一下是否有效:

