|
有时候地图里会有一些根据属性来动态设置伤害的技能,而技能按钮上只是显示“造成100+敏捷x5%的伤害”,还要玩家来算半天,很不直观。那么有没有可能让按钮的说明文本动态显示技能可以造成多少伤害呢?
CatalogFieldValueSet()函数貌似没法设置GameStrings.txt(按钮文本存在里面)里的东西,但是可以修改GameData里的xml,而按钮文本可以通过<d ref="Behavior,Behavior_Accurate,Duration[0]"/>这样的语句获取到xml里的数据属性。那么,是不是可以创建一些实际用不到的技能(或效果、行为),用他们的属性来存要动态显示的文本,具体思路如下:
1,建立一个空壳增益行为,ID为Behavior_Accurate,因为是行为所以有Duration这个属性
2,某技能按钮文本设置为“……造成<d ref="Behavior,Behavior_Accurate,Duration[0]"/>的伤害……”
3,在触发里获取英雄属性改变的事件,动作为CatalogFieldValueSet(c_gameCatalogBehavior,"Behavior_Accurate","Duration[0]",……)……发现自己不会写,没用过这个函数= =反正就是那个意思,设置这个行为的持续时间为英雄属性x5%
4,按钮文本就可以动态显示伤害了……么?
前提是按钮文本是动态的而非游戏开始时加载好的(应该是吧,毕竟可以动态显示冷却时间)。
只是一个设想,不知有没有可能实现呢?忘各位大大指教~ |
|