不好意思,可能上个帖子我说的有点问题,导致了你的误解
ltext中对参数的调用,使用##标记,调用通常有两种:
①形如#game.xxxxx#。写过游戏的人多数都会晓得,通常会定义一个全局的实例叫$game,这里引用的是$game的实例变量。但通常情况下,$game只有一个(或者说所属的类有且只有这样一个实例),所以可以认为引用的是全局变量。至于可以引用哪些变量,迄今没有公开的文档,可以通过两条路去寻找。
其一是找现有的UI File,游戏里不仅建筑有UI File,游戏界面也有,尤其去找那些描述控制面板图表的UI File引用的LText,应该会找到一些;
其二是找LUA File,当然这个前提是你能读懂script。打个比方,0xca63e2a3-0x4a5e8ef6-0xff1d93c8的第二段:
a.trigger = "game.g_pollution_funding_p > tuning_constants.FUNDING_HIGH and (game.g_watered_building_count+game.g_unwatered_building_count > 50)" -- added building count check to keep this message from coming up at city start
这里game打头的几个参数应该可以引用的,当然含义得靠注释去猜了。
当然,这里的全局实例估计不限于$game。
②形如#0x11111111#。有没有0x我记不清了,但肯定是十六进制表示。这里引用的是LOT的静态参数。我们制作插件,定义的LOT可以在城市里建造n个,那么LOT就是类,根据它建造出的每一个建筑就是实例(这里应该可以理解我说的类和实例的区别了吧)。那么LOT的静态参数就可以认为是类常量。至于可以引用哪些,感觉上是LOT-Building中的property都可以,当然这个没验证过,八位的十六进制参数就是Property的id。