《火炬之光2》地图MOD入门教程

游戏攻略

    0.发此贴的目的是给开始尝试修改地图的人一些帮助,让我能玩到更多有特色的游戏地图.本人才疏学浅,文中难免有错漏,轻拍...
    1.解包等步骤就不多说了,文件转换请使用较新版本,省去修改ids文件(其实我也不会...).
    地图文件位置: \MEDIA\DUNGEONS\      具体什么文件对应什么地图,可以根据文件名和转成txt文件后 DISPLAYNAME行查看.
    其中以MAP_开头的是MAPWORK的地图,就以其中的Map_Estherian_B.DAT为例,逐行分析.
    先说一下文件结构吧,以[]框起来的部分是用来说明文件结构的.比如[DUNGEON]和[/DUNGEON]之间的内容为定义这个地图.内部还嵌套有很多这种结构,从名字上就可以大概知道其中定义的是什么.
    
    [DUNGEON]  :开始定义地图
    NAME:Map_Estherian_B  :地图名,其它文件中要使用到这个地图,是需要通过这个名字来做到的.
    VOLATILE:false  :字面意思是不稳定的,不过我没见过true的地图,所以不知道游戏内的效果.
    BOTTOMLESS:false   :字面意思是无限的,同样没见过,应该是可以做成无限地城.
    MAP:true  :应该表明这是通过地图进入的.
    REPLAYSCALED:false  :不知道什么意思.
    PLAYER_LVL_MATCH_MIN:48
    PLAYER_LVL_MATCH_MAX:55  :建议等级,会直接影响内部怪物等级
    PARENT_DUNGEON:MAPWORKS
    PARENT_TOWN:MAPWORKS  :表明你出地城和使用回城后到的地方
     DISPLAYNAME:Ruined Shrine  :地图名字,因为这个基本肯定会被汉化,所以只要文件有这一项,就应该会被汉化效果覆盖,自行解决吧.
    MONSTER_LVL_MULT:1.000000  :没试过效果,字面看来应该是提高内部怪物等级用的.
    TYPE: DUNGEON  :地图类型.
    MINRANDOMAFFIXES:0
    MAXRANDOMAFFIXES:4  :地图词缀,也就是MAPWORK地图附带的效果
    ENCHANTEDLEVELCHANCE:100.000000  :没试过,应该和附魔有关
    [STRATA0]  :定义第一块地图
    RULESET  :media/layouts/esthshrine/maproom_floor1_a_rules.template :定义这一块的规则,包括地图样式,大小,风景,宝箱等.
     NAME_OVERRIDE:Ruined Shrine  :进入地图后,右上角显示名字
    FLOORS:1  :这一块地图的层数
    MONSTERSPAWNCLASS:RANDOMMAP_DRAGONTOWER1_SET  :普通怪物组,比如你想让普通怪物用精英怪替代,只要把冒号后的内容替换成精英怪相应的组别就可以了.这些组别都在\MEDIA\SPAWNCLASSES内定义.此外这些组的定义都不是必须有的语句,没有会被默认为NONE.
    MONSTERS_PER_METER_MIN:0.007000
    MONSTERS_PER_METER_MAX:0.007000  :每米怪物组数,决定怪物密度
    CHAMPIONSPAWNCLASS:ACT3_DRAGONTOWER_1_CHAMPIONS  :精英怪物组
    
    CHAMPIONS_MIN:2.000000
    CHAMPIONS_MAX:2.000000  :每层精英怪数量范围
    PROPSPAWNCLASS:NONE  :没试过效果
    NPCSPAWNCLASS:NPCS_DUNGEON_ENCHANTERS_AND_MIMICS  :NPC组,所以理论上其实你可以让任何NPC出现在地图里,初始地图都是附魔NPC.
    NPCS_MIN:0.000000
    NPCS_MAX:1.000000  :NPC数目范围
    CREEPSPAWNCLASS:MINECREEPS  :某种类型的怪物组合...
    CREEPS_PER_METER_MIN:0.001500
    CREEPS_PER_METER_MAX:0.001500  :这种怪物的密度
    [/STRATA0]  :第一块定义完毕
    [STRATA1]
    ...
    [/STRATA1]  :第二块的定义,与第一块完全相同,有些地图第一块有2层,所以没有这一块地图.
    
    [STRATA2]  :此处为BOSS地图块
    RULESET:media/layouts/esthshrine/maproom_bossroom_a_rules.template  :BOSS地图的规则,貌似会直接决定这里刷出什么样的BOSS
    FLOORS:1
    MONSTERSPAWNCLASS:NONE
    MONSTERS_PER_METER_MIN:0.000000
    MONSTERS_PER_METER_MAX:0.000000
    PROPSPAWNCLASS:NONE
    NPCS_MIN:0.000000
    NPCS_MAX:0.000000
    CREEPSPAWNCLASS:MINECREEPS
    CREEPS_PER_METER_MIN:0.001500
    CREEPS_PER_METER_MAX:0.001500  :与之前一致
    MONSTER_LVL_MIN:52  :貌似在这没什么用,可能只是规定BOSS等级至少为52级,也就是只对最低等级的MAPWORK地图有效.可以尝试更改这个数值,使其对某块地图所有怪物生效,不过我没试过,欢迎尝试.
    ALLOW_PORTALS:false  :无法使用传送门
    [/STRATA2]  :BOSS地图块定义结束
    
    [RANDOMPLAYERAFFIXES]  :开始定义玩家相关随机词缀列表
    AFFIX:MAP_BURNING
    AFFIX:MAP_PLAYER_EXP_BONUS_5
    AFFIX:MAP_PLAYER_GOLD_BONUS
    AFFIX:MAP_PLAYER_HEALTH_REGEN
    AFFIX:MAP_PLAYER_MF_BONUS_15
    AFFIX:MAP_PLAYER_REDUCE_MANA_COST
    AFFIX:MAP_PLAYER_SUMMON_SKULL    :各种词缀,都在MEDIA\AFFIXES\LEVELS下,我因为怕影响平衡性所以没改过,理论上可以自己添加定义,然后加到这,所以可以改出各种BUG词缀...
    [/RANDOMPLAYERAFFIXES]  :结束定义玩家相关随机词缀列表
    [RANDOMMONSTERAFFIXES]
    AFFIX:MAP_FREEZING
    AFFIX:MAP_MONSTER_HEALTH_PERCENT_BONUS_15
    AFFIX:MAP_MONSTER_SPEED_PERCENT_BONUS_10
    [/RANDOMMONSTERAFFIXES]  :怪物相关随机词缀列表定义与上面类似
    [/DUNGEON]  :结束定义地图
    看到这,你就可以初步修改出你想要的地图了.
    2. 修改怪物组
    所谓怪物组,就是随机产生其中列出的怪物.文件可以新增,比如我增加了关底BOSS组.....
    怪物组文件都在\MEDIA\SPAWNCLASSES下
    这个文件夹内都是与随机相关的文件,包括传奇掉落.
    以其中ACT4_DWARVENLABS_CHAMPIONS为例,逐行分析.
    
    [SPAWNCLASS]  : 开始定义
    NAME:ACT4_DWARVENLABS_CHAMPIONS  :怪物组名字,尽量保证与文件名一致,并且由于hash表的缘故,请尽量使用已有的单词组合,减少出错可能.
    [OBJECT]  :定义随机项
    UNIT: DWARF_BRUTE_CHAMPION  :表示会随机到DWARF_BRUTE_CHAMPION这种精英怪(虽然我不知道是怎么产生的,但实际看来是包含其自带小怪的),具体内容可以在\MEDIA\UNIT下搜索查看,如果想要改BOSS也是类似的
    WEIGHT:5  :权重,也就是随机到这一项的可能性.真正的概率应该是5/总WEIGHT.
    MINCOUNT:1
    MAXCOUNT:1  :怪物数量范围,如果设置到2,那么一次就会出现两个这种怪物.
    [/OBJECT]  :结束此随机项定义
    [OBJECT]
    ...
    [/OBJECT]
    [OBJECT]
    ...
    [/OBJECT]  :这些都与上面类似,不赘述了.
    [/SPAWNCLASS]  :结束定义
    3.RULE文件:
    这类文件我也没有成功修改,不过如果要增加地图多样性,早晚会涉及到这一块,欢迎大家尝试.
    文件位置:\MEDIA\LAYOUTS下
    其实只要把后缀改为.dat就可以转换成txt文件了.
    初步分析了一下,应该是通过地图块拼接完成地图生成,不过我分析不了.LAYOUT和.MPP文件,所以具体原理还不了解.
    4.MAPWORK中地图定义:
    文件位置:\MEDIA\UNITS\ITEMS
    其它物品,包括药水,装备等也在这个目录下,需要的话可以自行修改,不过添加似乎会有点问题,可能与GUID有关.
    以\MEDIA\UNITS\ITEMS\MAPS\EstherianMapB为例分析
    
    [UNIT]  :开始定义物品
    BASEFILE:media/units/items/base.dat  :父文件,可以暂时认为是把缺省值定义好了的文件
    NAME:EstherianMapB  :物品名字
    RESOURCEDIRECTORY:media/models/items/scroll  :应该是物品模型
    MESHFILE:scroll  :估计也是类型什么的定义
    UNITTYPE:MAP  :物品类型
     DESCRIPTION:Enables entry to the Ruined Shrine via the Mapworks  :物品描述,肯定会被汉化,所以自行解决吧
    RARITY:100  :稀有度,越高越不稀有
    VALUE:10  :不知道,与价格相关的参数么?
    LEVEL:48  :物品等级
    MAXSTACKSIZE:1  :可堆叠数目
    SHADOWS:true  :阴影?
    ICON:map_shrine  :图标
    FALL_SOUND:Item Fall
    TAKE_SOUND:ClothGet
    LAND_SOUND:ScrollDrop 
    USE_SOUND:TownPortalCast  :各种音效
    MINLEVEL:45
    MAXLEVEL:60  :地图等级,不清楚实际怎么发挥作用
     DISPLAYNAME:Ruined Shrine Map (L48-55)  :显示名字
    DUNGEON:MAP_ESTHERIAN_B  :上面的都无所谓,这个才是重点...........使用后传送到的地图名,所以你可以用原本是传送到地图A的地图传送到地图B去,我想尝试使用SPAWNCLASSES来使传送产生随机效果,不过没有成功,欢迎尝试.
    USES:0  :没试过,应该是一次使用消耗几个
    UNIT_GUID:8973525946458435083  :唯一标识码,64位二进制...我不会生成,否则应该可以添加物品了.如果有人成功添加物品,请不吝赐教.
    [/UNIT]  :结束定义
相关文章!