gentry09 发表于 2021-7-2 22:21:58

升级大量武器伤害效果的方法

最近想做一些法球效果,类似于黑暗球、寒冰球这些特效攻击,然后发现星际2原来的单位都不能直接使用法球行为(增加攻击力有效,但是命中前效果不会执行),经过测试后发现,单位的武器伤害效果里,需要把轰击标旗启用。

那么问题来了,要怎么批量升级单位的武器伤害效果。

目前的办法是,把需要升级的单位记录下来,然后通过字符串抓取单位的武器→抓取武器伤害效果,但是有些单位有多个武器,按最大武器数抓取的话,没有这么多武器的单位会报错。

有没有办法遍历所有的武器,或者伤害效果,然后修改这个标旗。


hzmwe 发表于 2021-7-3 11:44:32

本帖最后由 hzmwe 于 2021-7-3 12:29 编辑

复杂的武器,要是伤害效果会按验证器切换或其它方式变换,不容易抓取吧
1、把升级ID名称和匹配的伤害效果ID名称,改为对应关系,比如升级和伤害效果ID都叫ABC
2、先把所有伤害效果保存为数组,XX升级完成时,根据XX升级的ID名称,循环查找匹配ID名称的伤害效果,找到后修改数据模板(伤害效果的标旗),这样可行吗?

论坛我不能发图,不知道为何

gentry09 发表于 2021-7-4 17:29:37

如果武器效果链接里有复数的伤害效果,的确是个问题。
我是需要把以前做的一些伤害效果标旗都改一遍就行了,不用升级以后就激活,你这种办法倒是可以用在以后要做的升级绑定里。

可能论坛服务器在国外吧,我前半年都是登陆不上的状态。

yxxiaobin 发表于 2021-7-4 17:46:14

没看明白你要做什么。如果你是指让所有默认武器的伤害效果都勾选上某个选项,这个即使直接手动改也费不了多少事吧。
如果因为某些原因一定要通过武器追踪伤害效果,那么遇到复杂效果树就会很痛苦,因为很难通过程序判定哪个伤害是干什么的。

gentry09 发表于 2021-7-15 18:52:20

嗯,单纯想多了,手动改起来更快。主要是想着以后可能还得批量改某个字段值,想看看有没有触发器的方法。

目前在按楼上提到的方法做,就是得规划一下各个效果的字段,然后手动改ID。

超级007x 发表于 2021-7-16 11:04:36

除非效果ID是规侓性的,比如XXX1到XXX10,可以使用触发器组合字符串转换游戏链接修改数据,其余的真不如直接改方便

Nostalie 发表于 2021-11-15 12:42:31

本帖最后由 Nostalie 于 2021-11-15 13:29 编辑

直接改父级模板也就是CEffectDamage
然后右键应用到子对象。。。

Nostalie 发表于 2021-11-15 13:35:41

有些不是CEffectDamage的直接子对象而是DU_WEAP什么的,那就在DU_WEAP继续应用。。。
页: [1]
查看完整版本: 升级大量武器伤害效果的方法