| 
 | 
	
 
昨天Lost_Angel问我时,我才发现用触发生成的升级上限没有效果。他认为是插件问题,我怀疑是内存地址错的。 
  
如升级项ID 7,terran infantry weapons ,在SCMD里默认是3,在SMC里改成200 
 生成触发Comment(\"\", 0, 7057079, 200, 0, 4); 
 但是在地图中没有效果。 
  
然后我重新画了张图,把它在SCMD里设置成200级,然后在EUDtools里,升级项爆内存,也没有效果。 
 有人知道什么情况吗? 
1.08内存表里找到 
 6BAEB061 (61*1)Upgrades.dat - upgrade max(最高升级) 
 10进制7057072 
 id7的就是7057079 
 这和SMC生成的是一致的。什么情况啊。。。。。。。。。 
通过用金山不停的修改,和改地图测试,总算找到地址了!! 
 如ID7 升级, 
 玩家1的地址是5334711,玩家2的地址是5334757(+46),直到玩家12的地址是5335217 
  
可以推出ID0的升级地址 
 玩家1是5334704,玩家2的地址是5334750,直到玩家12的地址是5335210 
  
以ID0为基础,就可以把其它的都算出来啦 
 例:如玩家4,ID15的升级, 
 地址就是5334704+15+(4-1)X46 
 对应颜色应该很容易看明白,这个公式黑色和紫色部分是不变的数字。其它要根据具体玩家和升级ID来。 
  
算出地址是 5334857 
  
所以如用SMC把玩家4的ID15的升级上限设为88级的话,语句如下: 
 Comment(\"\", 0, 5334857, 88, 0, 4); 
再实验发现上楼结果只针对0-45的升级。 
 46-60这15个技能初始升级地址为:5343392(玩家1,ID46) 
 相对玩家及ID号的地址,如玩家3,ID47的地址算法为: 
 5343392+(47-46)+(3-1)X15 
  
0-45这46个技能的初始已升级等级地址为5335256(玩家1,ID0) 
 如玩家5,ID8的地址算法为 
 5335256+8+(5-1)X46 
  
46-60这15个技能的初始已升级等级地址为5343572(玩家1,ID46) 
 如玩家6,ID50的地址算法为 
 5343572+(50-46)+(6-1)X15 
  
这几个地址在1.08内存表里也可以找到。至于7057072这个地址到底干嘛用,就不知道了。如果想实现触发生成升级上限的话,暂时就手动写触发吧。 
  
Comment(\"\", 0, 地址, 级数, 0, 4); 
  
地址算法如上。 |   
 
 
 
 |