yty 发表于 2013-2-4 21:37:57

利用UserPatch特性增加新民族

利用UserPatch特性增加新民族

作者:yty

利用UserPatch提供的新特性,我们可以比较方便地实现添加新民族。前几日浏览帖子时发现有人说在帝国中放进中华56个民族,56个民族是一家嘛,这个数量还挺大的,于是就以实现56个民族(在AoC的18个民族基础上添加38个)为本教程的目的好了!

工具:UserPatch,乌龟包(drs编辑器),Advanced Genie Editor(dat编辑器),ResHacker(任何一款能添加字符串资源的dll编辑器),Visual Studio(任何一款res编辑器),帝国1.0C版(A版的话以下所有涉及_p1的把_p1去掉)

步骤1——使用ResHacker制作语言DLL文件中的民族名称及科技树中的描述语句
用ResHacker打开<帝国文件夹>\language_x1_p1.dll,打开String Table树。

选择其中的一项资源,点击Action,save resource as a *.res file,把资源保存为res文件。

用Visual Studio打开res文件,自定义一个民族名称字符串的起始编号,同时自定义一个科技树中民族描述字符串的起始编号,注意不要与三个语言dll文件中现有的资源号重复。在此我使用224作为民族名称字符串的起始编号,288作为民族描述字符串的起始编号。按次序输入所有的字符串内容。保存res文件。
   
回到ResHacker,单击action->add a new resource

单击open file with new resource

找到你的res文件,添加一项资源,点ADD RESOURCE.

重复上一个步骤,添加完毕所有新资源。

把dll文件保存为language_x1_p1.dll(不用覆盖以前的),备用。

步骤2——制作所有民族三种分辨率(800×600,1024×768,1280×720)的界面图像。
在AoK和AoC中,使用不同民族玩游戏的时候都会对应着不同风格的界面。每一种风格界面又需要有三种分辨率的图像。所以,在本篇mod中,我们应该准备56×3个slp文件满足需求。不过本篇文章重点不在图像教学,于是笔者偷个懒,正好56=14×4,我便拿来主义,用原有的14幅slp,重复导入4次,就有56幅了。
打开乌龟包的drs editor工具。

打开<帝国文件夹>\data\interfac.drs文件,找到51101处(此为800×600分辨率的界面文件),选中51101~51114,提取slp文件。同样,提取51121~51134(1024×768)、51141~51154(1280×720).共提取了42个slp文件。

新建一个drs文件,单击编辑->添加表格。

由于乌龟包的一个bug,务必在记事本中输入“ slp”(即空格slp,空格不可省略),粘贴进文本框中,就像地图编辑器输入负号那样。

编辑->添加文件。

下面我们要添加56×3个条目,并让它们具备给定的ID号。由于乌龟包添加条目的ID号默认为现有最大ID+1,并且无法智能根据文件名判断ID号,这给我们批量添加带来了一定麻烦。不过可以用一种操作来化解之。先添加51101.slp文件并修改序号为51101.


然后添加51102.slp~51114.slp文件,会自动编号为51102~51114,正是我们需要的效果。


再重复添加三遍51101.slp~51114.slp(偷懒之所在),这样51101~51156序号的图像就都有了。
重复以上步骤,将51121.slp~51134.slp文件重复导入4遍,形成51161~51216条目;将51141.slp~51154.slp文件重复导入4遍,形成51220~51276条目。保存drs文件,命名为gamedata_x1_p1.drs(不用覆盖以前的),备用。

步骤3——使用AGE制作包含新民族的数据文件
用AGE打开<帝国文件夹>\data\empires2_x1_p1.dat文件,切换到Civilization选项卡。单击左下角Add按钮,新增一个民族。Name随便填,比如填civ。Graphic set是民族建筑图像地域风格,现存的有5种。我填了1.Technology tree是科技树对应的科技效果编号,切不可为-1,但是56个民族工作量比较大,我的教程只是演示只用,于是我填了0,即没有什么实际内容。Team bonus是作为组队奖励的科技效果编号,同样为了演示我填了0.

选中民族19,点一下copy,然后狂按PasteInsert,直到有56个民族为止。

另存为empires2_x1_p1.dat文件(不用覆盖以前的),备用。

步骤4——制作UserPatch支持的xml文件
在UserPatch安装包内,找到UserPatch\Reference\Expansion\age2_x1.xml文件,把该文件复制到<帝国文件夹>\games(若没有请自己新建)下。该文件内容如下:<?xml version="1.0" encoding="utf-8"?>
<configuration game="age2_x1">
      <name>Age of Empires II: The Conquerors Expansion</name>
      <path>The Conquerors</path>
      <civilizations langId="10230" descId="20150" aiNameOffset="140" uiBaseId="51100" uiStride="20" uiOffset="2">
                <civilization id="0" name="gaia" soundFile="stream\random.mp3" scoutUnit="448" uniqueUnit="0" eliteUniqueUnit="0" uniqueUnitLine="0" uniqueUnitUpgrade="0" uniqueResearch="0" />
                <civilization id="2" name="briton" soundFile="stream\british.mp3" scoutUnit="448" uniqueUnit="8" eliteUniqueUnit="530" uniqueUnitLine="-277" uniqueUnitUpgrade="360" uniqueResearch="3" />
                <civilization id="6" name="frankish" soundFile="stream\french.mp3" scoutUnit="448" uniqueUnit="281" eliteUniqueUnit="531" uniqueUnitLine="-272" uniqueUnitUpgrade="363" uniqueResearch="83" />
                <civilization id="7" name="gothic" soundFile="stream\goth.mp3" scoutUnit="448" uniqueUnit="41" eliteUniqueUnit="555" uniqueUnitLine="-279" uniqueUnitUpgrade="365" uniqueResearch="16" />
                <civilization id="16" name="teutonic" soundFile="stream\teuton.mp3" scoutUnit="448" uniqueUnit="25" eliteUniqueUnit="554" uniqueUnitLine="-273" uniqueUnitUpgrade="364" uniqueResearch="11" />
                <civilization id="9" name="japanese" soundFile="stream\japanese.mp3" scoutUnit="448" uniqueUnit="291" eliteUniqueUnit="560" uniqueUnitLine="-274" uniqueUnitUpgrade="366" uniqueResearch="59" />
                <civilization id="5" name="chinese" soundFile="stream\chinese.mp3" scoutUnit="448" uniqueUnit="73" eliteUniqueUnit="559" uniqueUnitLine="-280" uniqueUnitUpgrade="362" uniqueResearch="52" />
                <civilization id="3" name="byzantine" soundFile="stream\byzantin.mp3" scoutUnit="448" uniqueUnit="40" eliteUniqueUnit="553" uniqueUnitLine="-281" uniqueUnitUpgrade="361" uniqueResearch="61" />
                <civilization id="13" name="persian" soundFile="stream\persian.mp3" scoutUnit="448" uniqueUnit="239" eliteUniqueUnit="558" uniqueUnitLine="-271" uniqueUnitUpgrade="367" uniqueResearch="7" />
                <civilization id="14" name="saracen" soundFile="stream\saracen.mp3" scoutUnit="448" uniqueUnit="282" eliteUniqueUnit="556" uniqueUnitLine="-276" uniqueUnitUpgrade="368" uniqueResearch="9" />
                <civilization id="17" name="turkish" soundFile="stream\turk.mp3" scoutUnit="448" uniqueUnit="46" eliteUniqueUnit="557" uniqueUnitLine="-278" uniqueUnitUpgrade="369" uniqueResearch="10" />
                <civilization id="18" name="viking" soundFile="stream\viking.mp3" scoutUnit="448" uniqueUnit="692" eliteUniqueUnit="694" uniqueUnitLine="-282" uniqueUnitUpgrade="398" uniqueResearch="49" />
                <civilization id="12" name="mongol" soundFile="stream\mongol.mp3" scoutUnit="448" uniqueUnit="11" eliteUniqueUnit="561" uniqueUnitLine="-275" uniqueUnitUpgrade="371" uniqueResearch="6" />
                <civilization id="4" name="celtic" soundFile="stream\celt.mp3" scoutUnit="448" uniqueUnit="232" eliteUniqueUnit="534" uniqueUnitLine="-269" uniqueUnitUpgrade="370" uniqueResearch="5" />
                <civilization id="15" name="spanish" soundFile="stream\spanish.mp3" scoutUnit="448" uniqueUnit="771" eliteUniqueUnit="773" uniqueUnitLine="-264" uniqueUnitUpgrade="60" uniqueResearch="440" />
                <civilization id="1" name="aztec" soundFile="stream\aztecs.mp3" scoutUnit="751" uniqueUnit="725" eliteUniqueUnit="726" uniqueUnitLine="-268" uniqueUnitUpgrade="432" uniqueResearch="24" />
                <civilization id="11" name="mayan" soundFile="stream\mayans.mp3" scoutUnit="751" uniqueUnit="763" eliteUniqueUnit="765" uniqueUnitLine="-266" uniqueUnitUpgrade="27" uniqueResearch="4" />
                <civilization id="8" name="hun" soundFile="stream\huns.mp3" scoutUnit="448" uniqueUnit="755" eliteUniqueUnit="757" uniqueUnitLine="-265" uniqueUnitUpgrade="2" uniqueResearch="21" />
                <civilization id="10" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
      </civilizations>
</configuration>
此文件是实现增加民族的核心文件。其元素含义如下:
configuration.game 字符串,定义游戏名称,请与本xml的文件名保持一致,用于AI文件中。例如在mygame.xml中,把此项定义为"mygame",则#load-if-defined GAME-MYGAME将为true。使用命令行参数"<帝国文件夹>\age2_x1\age2_x1.exe game=mygame"就可以启动这个mod了。
configuration::name 字符串,目前没有什么作用。
configuration::path 游戏使用的文件夹名称,比如设为mygame,则第一次启动mod时,UserPatch会自动创建<帝国文件夹>\games\mygame文件夹,并在其中放置有关内容:
\data\ 包括drs、dll、dat文件,游戏运行时,同名文件将会代替原版文件运行。
\history\ 可以放置txt文件,提供历史信息。必须设置相应的dll文件。
\savegame\ 及 \savegame\multi\ 存储游戏记录。
\scenario\ 存储场景与战役文件。相当于原来的scenario和campaign两个文件夹的整合。
\script.ai\ 存储AI、per文件,相当于原来的AI文件夹。
\script.rm\ 存储rms文件,相当于原来的Random文件夹。
\sound\ 及其子文件夹 可以用同名文件达到运行时覆盖原版文件的效果。
\support\ 可以放置各种支持信息。
configuration::civilizations 设置民族信息。
civilizations.langId 语言DLL文件中第一个民族名称的序号。本例中为224.
civilizations.descId 语言DLL文件中第一个民族描述的序号。本例中为288.
civilizations.aiNameOffset 语言DLL文件中AoK的最后一个AI玩家名称与AoC的第一个AI玩家名称之间的间隔。默认为140(=4800-4660).本例中由于为56个民族设置众多AI玩家名称对演示并无作用,就略过了。
civilizations.uiBaseId drs文件中第一个800×600分辨率下的游戏界面的slp序号。本例中为51100。
civilizations.uiStride 不同分辨率之间游戏界面集合的slp序号差值。本例中,800×600分辨率的第一个游戏界面slp为51101,1024×768分辨率的第一个游戏界面slp为51161,所以本项应设为60.
civilizations.uiOffset 默认值设为2,表示跳过drs中51155和51156两个无关的slp。本例中用不到,设为0.
civilizations::civilization 存储一个民族的信息。该条目的数量即民族数量。
civilization.id 字母顺序或拼音顺序下,该民族的序号。本项只与历史中显示有关,真正与游戏数据挂钩的是各civilization元素排列的顺序。
civilization.name 民族名称,用于AI语句。比如设为"civ1",则AI语法中将可用civ-selected civ1, #load-if-defined CIV1-CIV等。
civilization.soundFile 游戏开始时、历史中点选时播放的民族声音文件。基准路径是sound文件夹。
civilization.scoutUnit 该民族的侦察单位ID。
civilization.uniqueUnit 该民族的特色单位ID,只用于AI的"my-unique-unit"语句。
civilization.eliteUniqueUnit 该民族的精锐特色单位ID,只用于AI的"my-elite-unique-unit"语句。
civilization.uniqueUnitLine 该民族的特色单位系ID,只用于AI的"my-unique-unit-line"语句。目前这些ID还是硬编码的,无法被新增民族使用。
civilization.uniqueUnitUpgrade 该民族的特色单位升级科技ID,只用于AI的"my-unique-unit-upgrade"语句。
civilization.uniqueResearch 该民族的特色科技ID,只用于AI的"my-unique-research"语句。

于是在我的一番除了必须修改的否则游戏就会报错弹出的偷懒指导思想下,xml文件被改为<?xml version="1.0" encoding="utf-8"?>
<configuration game="age2_56civ">
      <name>Age of Empires II: 56</name>
      <path>56civs</path>
      <civilizations langId="224" descId="288" aiNameOffset="140" uiBaseId="51100" uiStride="60" uiOffset="0">
                <civilization id="0" name="gaia" soundFile="stream\random.mp3" scoutUnit="448" uniqueUnit="0" eliteUniqueUnit="0" uniqueUnitLine="0" uniqueUnitUpgrade="0" uniqueResearch="0" />
                <civilization id="1" name="briton" soundFile="stream\british.mp3" scoutUnit="448" uniqueUnit="8" eliteUniqueUnit="530" uniqueUnitLine="-277" uniqueUnitUpgrade="360" uniqueResearch="3" />
                <civilization id="2" name="frankish" soundFile="stream\french.mp3" scoutUnit="448" uniqueUnit="281" eliteUniqueUnit="531" uniqueUnitLine="-272" uniqueUnitUpgrade="363" uniqueResearch="83" />
                <civilization id="3" name="gothic" soundFile="stream\goth.mp3" scoutUnit="448" uniqueUnit="41" eliteUniqueUnit="555" uniqueUnitLine="-279" uniqueUnitUpgrade="365" uniqueResearch="16" />
                <civilization id="4" name="teutonic" soundFile="stream\teuton.mp3" scoutUnit="448" uniqueUnit="25" eliteUniqueUnit="554" uniqueUnitLine="-273" uniqueUnitUpgrade="364" uniqueResearch="11" />
                <civilization id="5" name="japanese" soundFile="stream\japanese.mp3" scoutUnit="448" uniqueUnit="291" eliteUniqueUnit="560" uniqueUnitLine="-274" uniqueUnitUpgrade="366" uniqueResearch="59" />
                <civilization id="6" name="chinese" soundFile="stream\chinese.mp3" scoutUnit="448" uniqueUnit="73" eliteUniqueUnit="559" uniqueUnitLine="-280" uniqueUnitUpgrade="362" uniqueResearch="52" />
                <civilization id="7" name="byzantine" soundFile="stream\byzantin.mp3" scoutUnit="448" uniqueUnit="40" eliteUniqueUnit="553" uniqueUnitLine="-281" uniqueUnitUpgrade="361" uniqueResearch="61" />
                <civilization id="8" name="persian" soundFile="stream\persian.mp3" scoutUnit="448" uniqueUnit="239" eliteUniqueUnit="558" uniqueUnitLine="-271" uniqueUnitUpgrade="367" uniqueResearch="7" />
                <civilization id="9" name="saracen" soundFile="stream\saracen.mp3" scoutUnit="448" uniqueUnit="282" eliteUniqueUnit="556" uniqueUnitLine="-276" uniqueUnitUpgrade="368" uniqueResearch="9" />
                <civilization id="10" name="turkish" soundFile="stream\turk.mp3" scoutUnit="448" uniqueUnit="46" eliteUniqueUnit="557" uniqueUnitLine="-278" uniqueUnitUpgrade="369" uniqueResearch="10" />
                <civilization id="11" name="viking" soundFile="stream\viking.mp3" scoutUnit="448" uniqueUnit="692" eliteUniqueUnit="694" uniqueUnitLine="-282" uniqueUnitUpgrade="398" uniqueResearch="49" />
                <civilization id="12" name="mongol" soundFile="stream\mongol.mp3" scoutUnit="448" uniqueUnit="11" eliteUniqueUnit="561" uniqueUnitLine="-275" uniqueUnitUpgrade="371" uniqueResearch="6" />
                <civilization id="13" name="celtic" soundFile="stream\celt.mp3" scoutUnit="448" uniqueUnit="232" eliteUniqueUnit="534" uniqueUnitLine="-269" uniqueUnitUpgrade="370" uniqueResearch="5" />
                <civilization id="14" name="spanish" soundFile="stream\spanish.mp3" scoutUnit="448" uniqueUnit="771" eliteUniqueUnit="773" uniqueUnitLine="-264" uniqueUnitUpgrade="60" uniqueResearch="440" />
                <civilization id="15" name="aztec" soundFile="stream\aztecs.mp3" scoutUnit="751" uniqueUnit="725" eliteUniqueUnit="726" uniqueUnitLine="-268" uniqueUnitUpgrade="432" uniqueResearch="24" />
                <civilization id="16" name="mayan" soundFile="stream\mayans.mp3" scoutUnit="751" uniqueUnit="763" eliteUniqueUnit="765" uniqueUnitLine="-266" uniqueUnitUpgrade="27" uniqueResearch="4" />
                <civilization id="17" name="hun" soundFile="stream\huns.mp3" scoutUnit="448" uniqueUnit="755" eliteUniqueUnit="757" uniqueUnitLine="-265" uniqueUnitUpgrade="2" uniqueResearch="21" />
                <civilization id="18" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="19" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="20" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="21" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="22" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="23" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="24" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="25" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="26" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="27" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="28" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="29" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="30" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="31" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="32" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="33" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="34" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="35" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="36" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="37" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="38" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="39" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="40" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="41" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="42" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="43" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="44" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="45" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="46" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="47" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="48" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="49" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="50" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="51" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="52" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="53" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="54" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="55" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
                <civilization id="56" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
      </civilizations>
</configuration>
步骤5——制作mod的快捷方式
找到熟悉的<帝国文件夹>\age2_x1\age2_x1.exe,右击该程序,点击“创建快捷方式”。右击新创建的快捷方式,点击“属性”。在“目标”栏最后,添加“ game=游戏名”,本例中为“ game=56civs”。

运行该快捷方式,然后退出帝国,你会发现如下文件夹及其子文件夹已经自动建立:<帝国文件夹>\games\游戏名 。本例中为\games\56civs。

步骤6——复制游戏数据
把步骤1~3创建的empires2_x1_p1.dat, gamedata_x1_p1.drs, language_x1_p1.dll拷贝到<帝国文件夹>\games\游戏名\data 文件夹中。


步骤7——开始!
现在,运行步骤5中创建的快捷方式,观察下是不是新民族已经建立了!






有木有很 壮 观?

步骤7+——使用各种工具,来修改56个民族的数据与图像吧,相信修改如此庞大的数据一定是一场难忘的经历!

翔小鸟 发表于 2013-2-4 22:44:24

{:152:}强大啊!

ericzhu 发表于 2013-2-4 22:51:30

强烈顶这个又一个核弹,可以说是创世纪的核弹了。
虽然过程很复杂,但是对于帝国二的mod界是一个福音。

cycbobby 发表于 2013-2-4 23:05:24

廿一世紀的杰作@@

ericzhu 发表于 2013-2-5 16:28:45

这种贴怎能不加精。{:155:}

21世纪最缺的就是狂和密铺帝的合体人才了!YTY就办到了这一点

ericzhu 发表于 2013-2-5 19:55:27

对了,你知道如何改名族数到只有3个吗?
另外科技树如何修改这个领域你攻破了吗?

ericzhu 发表于 2013-2-5 19:57:12

另外要是有个可视化编辑科技树,可视化编辑科技树中的各种DLL的软件就好了。

yty 发表于 2013-2-5 23:09:09

ericzhu 发表于 2013-2-5 19:55 static/image/common/back.gif
对了,你知道如何改名族数到只有3个吗?
另外科技树如何修改这个领域你攻破了吗?

知道,答案就在步骤4里,想要几个民族都可以。
没攻破,攻了一部分,不用催,该有的在合适的时间就会出现了。

ericzhu 发表于 2013-2-6 09:45:38

yty 发表于 2013-2-5 23:09 static/image/common/back.gif
知道,答案就在步骤4里,想要几个民族都可以。
没攻破,攻了一部分,不用催,该有的在合适的时间就会出现 ...

多谢了

ericzhu 发表于 2013-2-6 09:47:04

yty 发表于 2013-2-5 23:09 static/image/common/back.gif
知道,答案就在步骤4里,想要几个民族都可以。
没攻破,攻了一部分,不用催,该有的在合适的时间就会出现 ...

只是步骤四看不懂

yty 发表于 2013-2-6 11:20:23

ericzhu 发表于 2013-2-6 09:47 static/image/common/back.gif
只是步骤四看不懂

就是,要几个民族就有几个civilization条目,QQ联系我就行

Dick 发表于 2013-2-6 11:30:51

來拜神(拜拜)

ericzhu 发表于 2013-2-6 14:05:59

yty 发表于 2013-2-6 11:20 static/image/common/back.gif
就是,要几个民族就有几个civilization条目,QQ联系我就行

YTY,我发现了一个很严重的问题。你给我改的DAT文件是不是当时最新的文件?
我进去游戏后发现好多数据是以前版本时的数据。结果我已经发现2处和原来不同了。这可急死我了。看来要大改了。
另外你搞的是不是2.2版本的DAT,还是你直接搞了2.2版本之前的DAT?

ericzhu 发表于 2013-2-6 14:49:04

本帖最后由 ericzhu 于 2013-2-6 15:19 编辑

yty 发表于 2013-2-6 11:20 https://www.hawkaoe.net/bbs/static/image/common/back.gif
就是,要几个民族就有几个civilization条目,QQ联系我就行

搞错了,我按了完整科技,难怪

ericzhu 发表于 2013-2-6 15:11:47

本帖最后由 ericzhu 于 2013-2-6 15:36 编辑

yty 发表于 2013-2-5 23:09 https://www.hawkaoe.net/bbs/static/image/common/back.gif
知道,答案就在步骤4里,想要几个民族都可以。
没攻破,攻了一部分,不用催,该有的在合适的时间就会出现 ...

YTY大神,我已经不知道怎么处理这1个BUG了,帮我修复下吧,多谢了
1、普通诸葛弩(即非精锐)到帝王后升级满护甲,结果护甲达到*+18/*+18,升级到精锐后,反而又变为*+9/*+9(即又正常了)

yty 发表于 2013-2-6 16:35:19

ericzhu 发表于 2013-2-6 14:05 static/image/common/back.gif
YTY,我发现了一个很严重的问题。你给我改的DAT文件是不是当时最新的文件?
我进去游戏后发现好多数据是 ...

反正我改的就是你给我发的文件,至于是哪个就得你自己看了,我怎么会知道呢。

ericzhu 发表于 2013-2-6 16:44:00

yty 发表于 2013-2-6 16:35 static/image/common/back.gif
反正我改的就是你给我发的文件,至于是哪个就得你自己看了,我怎么会知道呢。

我知道的,你的确是改了我给的,只是我目前有个奇葩的BUG,需哟您大神来帮忙,就是刚才说得那个BUG{:158:}

ericzhu 发表于 2013-2-6 16:46:16

yty 发表于 2013-2-6 16:35 static/image/common/back.gif
反正我改的就是你给我发的文件,至于是哪个就得你自己看了,我怎么会知道呢。

现在我测试是只有中国的诸葛弩会出这个问题,所以影响不大,一个文明。可能是中国的弓兵护甲在普通诸葛弩身上出错了,翻倍了,从加9变为加18了,是不是哪里出问题了?而且升级到精锐后反而这个问题消失了

yty 发表于 2013-2-6 17:53:50

ericzhu 发表于 2013-2-6 15:11 static/image/common/back.gif
YTY大神,我已经不知道怎么处理这1个BUG了,帮我修复下吧,多谢了
1、普通诸葛弩(即非精锐)到帝王后 ...

把科技效果202、203、208里面效果的6、7两条都删除(分别给诸葛弩加防御的)。

ericzhu 发表于 2013-2-6 18:59:51

yty 发表于 2013-2-6 17:53 static/image/common/back.gif
把科技效果202、203、208里面效果的6、7两条都删除(分别给诸葛弩加防御的)。

太感谢了,我待会去试试
页: [1] 2 3 4 5 6
查看完整版本: 利用UserPatch特性增加新民族