1.解包等步骤就不多说了,文件转换请使用较新版本,省去修改ids文件(其实我也不会...).
地图文件位置: \MEDIA\DUNGEONS\ 具体什么文件对应什么地图,可以根据文件名和转成txt文件后<TRANSLATE>DISPLAYNAME行查看.
其中以MAP_开头的是MAPWORK的地图,就以其中的Map_Estherian_B.DAT为例,逐行分析.
先说一下文件结构吧,以[]框起来的部分是用来说明文件结构的.比如[DUNGEON]和[/DUNGEON]之间的内容为定义这个地图.内部还嵌套有很多这种结构,从名字上就可以大概知道其中定义的是什么.
[DUNGEON] :开始定义地图
<STRING>NAME:Map_Estherian_B :地图名,其它文件中要使用到这个地图,是需要通过这个名字来做到的.
<BOOL>VOLATILE:false :字面意思是不稳定的,不过我没见过true的地图,所以不知道游戏内的效果.
<BOOL>BOTTOMLESS:false :字面意思是无限的,同样没见过,应该是可以做成无限地城.
<BOOL>MAP:true :应该表明这是通过地图进入的.
<BOOL>REPLAYSCALED:false :不知道什么意思.
<INTEGER> PLAYER_LVL_MATCH_MIN:48
<INTEGER> PLAYER_LVL_MATCH_MAX:55 :建议等级,会直接影响内部怪物等级
<STRING> PARENT_DUNGEON:MAPWORKS
<STRING> PARENT_TOWN:MAPWORKS :表明你出地城和使用回城后到的地方
<TRANSLATE>DISPLAYNAME:Ruined Shrine :地图名字,因为这个基本肯定会被汉化,所以只要文件有这一项,就应该会被汉化效果覆盖,自行解决吧.
<FLOAT>MONSTER_LVL_MULT:1.000000 :没试过效果,字面看来应该是提高内部怪物等级用的.
<STRING>TYPE: DUNGEON :地图类型.
<INTEGER>MINRANDOMAFFIXES:0
<INTEGER>MAXRANDOMAFFIXES:4 :地图词缀,也就是MAPWORK地图附带的效果
<FLOAT>ENCHANTEDLEVELCHANCE:100.000000 :没试过,应该和附魔有关
[STRATA0] :定义第一块地图
<STRING>RULESET :media/layouts/esthshrine/maproom_floor1_a_rules.template :定义这一块的规则,包括地图样式,大小,风景,宝箱等.
<TRANSLATE>NAME_OVERRIDE:Ruined Shrine :进入地图后,右上角显示名字
<INTEGER>FLOORS:1 :这一块地图的层数
<STRING>MONSTERSPAWNCLASS:RANDOMMAP_DRAGONTOWER1_SET :普通怪物组,比如你想让普通怪物用精英怪替代,只要把冒号后的内容替换成精英怪相应的组别就可以了.这些组别都在\MEDIA\SPAWNCLASSES内定义.此外这些组的定义都不是必须有的语句,没有会被默认为NONE.
<FLOAT>MONSTERS_PER_METER_MIN:0.007000
<FLOAT>MONSTERS_PER_METER_MAX:0.007000 :每米怪物组数,决定怪物密度
<STRING>CHAMPIONSPAWNCLASS:ACT3_DRAGONTOWER_1_CHAMPIONS :精英怪物组
<FLOAT>CHAMPIONS_MIN:2.000000
<FLOAT>CHAMPIONS_MAX:2.000000 :每层精英怪数量范围
<STRING> PROPSPAWNCLASS:NONE :没试过效果
<STRING>NPCSPAWNCLASS:NPCS_DUNGEON_ENCHANTERS_AND_MIMICS :NPC组,所以理论上其实你可以让任何NPC出现在地图里,初始地图都是附魔NPC.
<FLOAT>NPCS_MIN:0.000000
<FLOAT>NPCS_MAX:1.000000 :NPC数目范围
<STRING>CREEPSPAWNCLASS:MINECREEPS :某种类型的怪物组合...
<FLOAT>CREEPS_PER_METER_MIN:0.001500
<FLOAT>CREEPS_PER_METER_MAX:0.001500 :这种怪物的密度
[/STRATA0] :第一块定义完毕
[STRATA1]
...
[/STRATA1] :第二块的定义,与第一块完全相同,有些地图第一块有2层,所以没有这一块地图.
[STRATA2] :此处为BOSS地图块
<STRING>RULESET:media/layouts/esthshrine/maproom_bossroom_a_rules.template :BOSS地图的规则,貌似会直接决定这里刷出什么样的BOSS
<INTEGER>FLOORS:1
<STRING>MONSTERSPAWNCLASS:NONE
<FLOAT>MONSTERS_PER_METER_MIN:0.000000
<FLOAT>MONSTERS_PER_METER_MAX:0.000000
<STRING> PROPSPAWNCLASS:NONE
<FLOAT>NPCS_MIN:0.000000
<FLOAT>NPCS_MAX:0.000000
<STRING>CREEPSPAWNCLASS:MINECREEPS
<FLOAT>CREEPS_PER_METER_MIN:0.001500
<FLOAT>CREEPS_PER_METER_MAX:0.001500 :与之前一致
<INTEGER>MONSTER_LVL_MIN:52 :貌似在这没什么用,可能只是规定BOSS等级至少为52级,也就是只对最低等级的MAPWORK地图有效.可以尝试更改这个数值,使其对某块地图所有怪物生效,不过我没试过,欢迎尝试.
<BOOL>ALLOW_PORTALS:false :无法使用传送门
[/STRATA2] :BOSS地图块定义结束
[RANDOMPLAYERAFFIXES] :开始定义玩家相关随机词缀列表
<STRING>AFFIX:MAP_BURNING
<STRING>AFFIX:MAP_PLAYER_EXP_BONUS_5
<STRING>AFFIX:MAP_PLAYER_GOLD_BONUS
<STRING>AFFIX:MAP_PLAYER_HEALTH_REGEN
<STRING>AFFIX:MAP_PLAYER_MF_BONUS_15
<STRING>AFFIX:MAP_PLAYER_REDUCE_MANA_COST
<STRING>AFFIX:MAP_PLAYER_SUMMON_SKULL :各种词缀,都在MEDIA\AFFIXES\LEVELS下,我因为怕影响平衡性所以没改过,理论上可以自己添加定义,然后加到这,所以可以改出各种BUG词缀...
[/RANDOMPLAYERAFFIXES] :结束定义玩家相关随机词缀列表
[RANDOMMONSTERAFFIXES]
<STRING>AFFIX:MAP_FREEZING
<STRING>AFFIX:MAP_MONSTER_HEALTH_PERCENT_BONUS_15
<STRING>AFFIX:MAP_MONSTER_SPEED_PERCENT_BONUS_10
[/RANDOMMONSTERAFFIXES] :怪物相关随机词缀列表定义与上面类似
[/DUNGEON] :结束定义地图
看到这,你就可以初步修改出你想要的地图了.
更多相关内容请关注:火炬之光2专区
相关内容请关注:火炬之光2专区