《火炬之光2》地圖MOD入門教程

0.發此貼的目的是給開始嘗試修改地圖的人一些幫助,讓我能玩到更多有特色的遊戲地圖.本人才疏學淺,文中難免有錯漏,輕拍…

1.解包等步驟就不多說了,文件轉換請使用較新版本,省去修改ids文件(其實我也不會…).

地圖文件位置: >MEDIA>DUNGEONS>      具體什麼文件對應什麼地圖,可以根據文件名和轉成txt文件後DISPLAYNAME行查看.

其中以MAP_開頭的是MAPWORK的地圖,就以其中的Map_Estherian_B.DAT為例,逐行分析.

先說一下文件結構吧,以[]框起來的部分是用來說明文件結構的.比如[DUNGEON]和[/DUNGEON]之間的內容為定義這個地圖.內部還嵌套有很多這種結構,從名字上就可以大概知道其中定義的是什麼.

《火炬之光2》地圖MOD入門教程

[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  :精英怪物組

《火炬之光2》地圖MOD入門教程

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層,所以沒有這一塊地圖.

《火炬之光2》地圖MOD入門教程

[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地圖塊定義結束

《火炬之光2》地圖MOD入門教程

[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專區

2. 修改怪物組

所謂怪物組,就是隨機產生其中列出的怪物.文件可以新增,比如我增加了關底BOSS組…..

怪物組文件都在>MEDIA>SPAWNCLASSES下

這個文件夾內都是與隨機相關的文件,包括傳奇掉落.

以其中ACT4_DWARVENLABS_CHAMPIONS為例,逐行分析.

《火炬之光2》地圖MOD入門教程

[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為例分析

《火炬之光2》地圖MOD入門教程

[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]  :結束定義

來源:遊民星空