中国星际RPG联盟

标题: 升级上限批量生成(SMC原地址无效) [打印本页]

作者: castelu    时间: 2013-10-5 20:02
标题: 升级上限批量生成(SMC原地址无效)
昨天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);

地址算法如上。

升级上限批量生成(SMC原地址无效).zip

4 KB, 下载次数: 14, 下载积分: 水晶 -2 克






欢迎光临 中国星际RPG联盟 (http://www.scrpg.net/) Powered by Discuz! X3.1