|
发表于 2011-7-21 12:35:56
|
显示全部楼层
好像还挺麻烦的。。。最近要忙考试没时间做演示了。。。
思路如下:
若是全地图只有一个单位拥有“血魔互换”技能,初始化时先用变量储存每个耗魔技能的每个等级的耗魔(当然耗魔相同的记一次就够了),并且物编里改单位的所有技能耗魔为0。
当该单位学习“血魔互换”后,为另一个T注册事件,事件是该单位准备/开始使用A耗魔技能,B耗魔技能,……,Z耗魔技能。
获取施放技能的等级后,从对应变量中获取对应等级的魔耗,判断单位现有的MP是否>=技能魔耗;true的情况下仅设置单位的MP = 当前MP-魔耗,false的时候变量(比如叫A)记录(魔耗-单位当前MP),然后判断HP是否<=A,true的情况下发布stop(如果需要HP+MP不足无法施放的话)。
最后再设置单位HP = (当前HP - A)
若这是一个系统……
用HT记录每个技能的耗魔,母目录用StringHash(技能名字),技能对应等级的魔耗用子目录1,2,3,4……N的方法储存,准备/开始使用技能时获取技能名字字符串然后转换成StringHash,再捕获技能等级找耗魔,剩下的跟上面的相似……
……额。。。前几页说的要求貌似一个也达不到。。。 |
|