|
论坛里有一些关于string泄露的帖子,我看的云里雾里,所以暂时放弃了搞清楚string泄露的念头。
但是地图里有一个字符处理系统,简单的就类似于输入“-gold ”+数字为玩家增加输入数值的金币,包含一段输入string的切割(substring)以及和“0123456789”中各位的比较过程。
问题是,我发现war3单次处理string数据的能力是有上限的,感觉就像调用死循环时有一个自动的规避系统一样。
下面这段代码
(原谅我没有找到怎么贴jass的方法……)
local integer s = 1
loop
exitwhen s > 20000
call DisplayTimedTextToPlayer(Player(0),0,0,5,I2S(s))
set s = s + 1
endloop
只能运行9677次
如果改成I2S(s)+"a"这种包含字符拼接的,运行的次数就更少了(8571次)
假如我们在地图中加入汉字处理系统,这个处理能力的上限就会很要命。
我试验了很久没有找到这个上限具体是多少,也不知道怎样才能不被限制(0秒计时器?),请各位大大帮忙!!!!! |
|