星际争霸2初步修改教程

标签:StarCraft2

今天无聊时突然对修改星际2感兴趣了,于是找了相关的帖研究,整了一天终于搞定了,于是放出目前的研究结果:


首先要说的是星际2的资源文件仍然是MPQ格式,可以用MPQ Editor进行编辑。

接着就可以去找配置文件进行修改了。
一开始我找的是C:\StarCraft II\Mods\Liberty.SC2Mod\Base.SC2Data,结果发现改了也没用,请教后才知道暴雪更新了补丁,补丁的配置会覆盖基础配置。
所以正确的文件应该是C:\StarCraft II\Versions\Base14133\patch.SC2Archive(这个是0.4版的,以后还会变化)。
打开后找到这个文件:Mods\Liberty.SC2Mod\Base.SC2Data\GameData\UnitData.xml,用文本编辑器打开。

此时就会看到单位的配置数据了,例如:
<CUnit id="Probe">
	<DeathRevealRadius value="3"/>
	<Race value="Prot"/>
	<Mob value="Multiplayer"/>
	<DefaultAcquireLevel value="Defensive"/>
	<Response value="Flee"/>
	<LifeStart value="20"/>
	<LifeMax value="20"/>
</CUnit>
由于很长,我就不全部列出来了。那个LifeStart就是初始生命,LifeMax就是最大生命,把它们都改成100的话,probe就有100的生命了。

接下来试着为probe添加一个技能,例如母舰的漩涡技能。
于是添加一行技能:
<AbilArray Link="Vortex"/>
再给技能设置一个按钮,注意要放在CardLayouts元素里,且位置不要冲突了,我这里设为第1行第3个(从0开始计数):
<LayoutButtons Face="Vortex" Type="AbilCmd" AbilCmd="Vortex,Execute" Row="1" Column="3"/>
光有技能还不行,没能量的话也不能施放,所以再加上这几行:
<EnergyStart value="200"/>
<EnergyMax value="200"/>
<EnergyRegenRate value="100.0"/>
这3行是设置能量为200,且每秒恢复100的能量。

编辑完后保存一下,再把文件拖入MPQ Editor,覆盖掉原有文件(注意自行备份),然后关闭这个文件或MPQ Editor,运行星际2去测试即可看到效果。

顺带提一下地图的编辑方法。
仍然是用MPQ Editor把地图文件打开,找到Objects文件,用文本编辑器打开。
你会看到类似这样的代码:
<Unit id="51" position="29,66.5,0" scale="1,1,1" unitType="MineralField"/>
其中position是坐标,scale是缩放倍数,unitType是单位类型。
现在进行全部替换,把“scale="1,1,1" unitType="MineralField"”全部替换为“scale="2,2,2" unitType="HighYieldMineralField"”,然后保存,再存入地图。
然后运行星际2,你会发现所有的矿都变成富矿,并且体积全部变大了。

相信有编程经验的人都知道怎么弄了,我也就不再啰嗦了,over~

3条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?