升级大量武器伤害效果的方法
最近想做一些法球效果,类似于黑暗球、寒冰球这些特效攻击,然后发现星际2原来的单位都不能直接使用法球行为(增加攻击力有效,但是命中前效果不会执行),经过测试后发现,单位的武器伤害效果里,需要把轰击标旗启用。那么问题来了,要怎么批量升级单位的武器伤害效果。
目前的办法是,把需要升级的单位记录下来,然后通过字符串抓取单位的武器→抓取武器伤害效果,但是有些单位有多个武器,按最大武器数抓取的话,没有这么多武器的单位会报错。
有没有办法遍历所有的武器,或者伤害效果,然后修改这个标旗。
本帖最后由 hzmwe 于 2021-7-3 12:29 编辑
复杂的武器,要是伤害效果会按验证器切换或其它方式变换,不容易抓取吧
1、把升级ID名称和匹配的伤害效果ID名称,改为对应关系,比如升级和伤害效果ID都叫ABC
2、先把所有伤害效果保存为数组,XX升级完成时,根据XX升级的ID名称,循环查找匹配ID名称的伤害效果,找到后修改数据模板(伤害效果的标旗),这样可行吗?
论坛我不能发图,不知道为何
如果武器效果链接里有复数的伤害效果,的确是个问题。
我是需要把以前做的一些伤害效果标旗都改一遍就行了,不用升级以后就激活,你这种办法倒是可以用在以后要做的升级绑定里。
可能论坛服务器在国外吧,我前半年都是登陆不上的状态。
没看明白你要做什么。如果你是指让所有默认武器的伤害效果都勾选上某个选项,这个即使直接手动改也费不了多少事吧。
如果因为某些原因一定要通过武器追踪伤害效果,那么遇到复杂效果树就会很痛苦,因为很难通过程序判定哪个伤害是干什么的。 嗯,单纯想多了,手动改起来更快。主要是想着以后可能还得批量改某个字段值,想看看有没有触发器的方法。
目前在按楼上提到的方法做,就是得规划一下各个效果的字段,然后手动改ID。
除非效果ID是规侓性的,比如XXX1到XXX10,可以使用触发器组合字符串转换游戏链接修改数据,其余的真不如直接改方便 本帖最后由 Nostalie 于 2021-11-15 13:29 编辑
直接改父级模板也就是CEffectDamage
然后右键应用到子对象。。。
有些不是CEffectDamage的直接子对象而是DU_WEAP什么的,那就在DU_WEAP继续应用。。。
页:
[1]