|
本帖最后由 gamelxxdj 于 2019-12-7 16:21 编辑
一、默认情况下,Mod不能使用Bank的问题。
在已有的Mod中,加入Bank相关功能后,无法读取Bank数据,普通的SC2Map地图文件可以。
二、Mod使用Bank的奇怪方法。
在*.SC2Map文件中,在主菜单“模块/导入“里面,勾选“显示预留文件”后,发现有一个文件“BankList.xml“(是自动生成的)。
但在Mod文件中,并没有这个xml文件,必须手动添加,方法是新建一个xml文件(不能以BankList.xml命名,系统说这是一个预留文件名,不允许),并在xml文件里设置内容,比如:
<?xml version="1.0" encoding="UTF-8"?>
-<BankList>
<Bank Player="2" Name="MyBank"/>
<Bank Player="1" Name="MyBank"/>
</BankList>
其中,MyBank就是在触发器中使用的数据集文件名称,然后在导入到里面,再改名叫”BankList.xml“,这时在地图编辑器里,测试运行,才能使用Bank。
生成的相应文件为:“D:\System Folders\My Documents\StarCraft II\Banks\MyBank.SC2Bank"。
三、发布到战网时,仍然无法正常读取Bank,请问如何解决?
生成的相应文件夹变了:“D:\System Folders\My Documents\StarCraft II\Accounts\187442547\5-S2-1-1294205\Banks\5-S2-1-1\MyBank.SC2Bank"。打开这个文件,可以看到:
<Section name="GlobalSetting">
<Key name="PlayerMsgCount">
<Value int="1"/>
问题是:每次进入游戏,第一次读取PlayerMsgCount时,总是得到0,然后我将这个值+1,再存储回去,游戏中会多次读取,并+1存储,后续显示值为1,2,3,4,5正常了....但退出游戏,再次进入游戏再次进入游戏第一次读取时,又得到数字0了。
我的代码是这样的(Mod中):
地图初始化:
数据存档 -为玩家1预加载并同步数据存档"MyBank"
数据存档 -为玩家2预加载并同步数据存档"MyBank"
数据存档 -为玩家1打开数据存档"MyBank"
变量 -设置TestBank[1] = (上一次打开的数据存档)
数据存档 -为玩家2打开数据存档"MyBank"
变量 -设置TestBank[2] = (上一次打开的数据存档)
按钮处理事件代码如下:
变量 -设置PlayerMsgCount = (将在数据存档TestBank[1]内的区段"GlobalSetting"中的"PlayerMsgCount"作为整数值加载)
变量 -修改PlayerMsgCount:+1
数据存档 -将整数型PlayerMsgCount储存为TestBank[1]数据存档中"GlobalSetting"区段的"PlayerMsgCount"
数据存档 -保存数据存档TestBank[1]
在编辑器测试及战网测试时,玩家1是用户(自己),2是电脑,没有其它玩家。
|
|