dnf台服吧 发表于 2018-11-30 15:11:43

DNF城镇地图修改思路[了解一下]

内容包含:
0 - 地图的相关文件夹说明
1 - 开启城镇所需要的几个步骤
2 - *.lst文件
3 - region文件夹
4 - town文件夹
5 - worldmap文件夹,以及UI文件夹
6 - dungeon文件夹
7 - map文件夹
8 - npc文件夹


0)地图的相关文件夹说明
region
【大区】
town
大区下的城镇,简称【城镇】
worldmap
副本入口选图界面,简称【选图界面】
dungeon
副本,完整意思应该是副本接口,后面称【副本接口】
map
副本的每个小房间,简称【副本房间】,同时也包含了城镇的各个地图,简称【城镇地图】
npc
众所周知,最出名的就是凯利
n_quest
任务系统,不是本帖重点,只会稍微提及

1)开启城镇所需要的几个步骤
最重要的东西,就放在第一个吧
开启城镇和地图,可以这样逆向思考,跟着我的思路来:

A,dungeon副本接口的最低等级要求,是否已经超过70级?
【修改dungeon副本接口文件的等级要求】

B,dungeon副本接口,所需要调用的map副本房间ID,是否存在?
【往map/map.lst添加各个map副本房间的ID和路径】

C,worldmap选图界面文件,是否包含了所要的dungeon副本接口ID?副本接口,是否有前置任务要求?
【修改worldmap选图界面文件的dungeon副本接口ID和前置任务要求】

D, worldmap选图界面文件,所调用的dungeon副本接口ID,是否存在?
【往dungeon/dungeon.lst添加各个dungeon副本接口的ID和路径】

E,worldmap选图界面的UI文件,是否添加了dungeon副本接口ID的控件内容?
【确认worldmap/UI的ui文件是否正确】

F,town城镇的最低等级要求,是否超过了70级?
【修改town城镇文件的等级要求】

G,town城镇文件,所需要调用的map城镇地图ID,是否存在?
【往map/map.lst添加各个map城镇地图的ID和路径】

H,town城镇文件,所需要调用的worldmap选图界面ID,是否存在?
【确认worldmap/worldmap.lst的ID是否齐全】

I,region大区文件,是否包含了所要的town城镇ID?
【修改region大区文件的town城镇ID】

J,region大区文件,所需要调用的town城镇ID,是否存在?
【往town/town.lst添加各个town城镇地图的ID和路径】

K,如何到达新开的城镇?
【确认传送方式,NPC传送或者光圈传送,等级需求,任务需求】

L,深渊如何开启?
【修改worldmap选图界面文件的深渊的前置任务要求】

L,深渊的boss副本房间ID,是否存在
【往map/map.lst添加各个深渊boss副本房间的ID和路径】
2,*.lst文件

整个pvf,每个文件夹底下,都有个*.lst文件。
*.lst文件,是pvf,甚至整个游戏的核心和灵魂躯干。
游戏的相互调用,如调用某个地图,调用某个装备,调用某个技能,都是通过对应的ID来实现。而ID的设置,就是在*.lst文件里。

*.lst文件的内容很浅显易懂,每一行的格式是
ID(空格)路径(空格)
A,路径要用两个单引号’xxxxxx’包住
B,ID数字的先后顺序不重要,同类型的ID数字不能重复
C,路径不能是错误路径
D,行末记得要空格

额外说明一点,不同分类之间的ID,可以是相同的。
例如,NPC的ID可以有1,而副本接口的ID也可以有1,因为它们是属于不同类,不会相互混淆。
3,region文件夹

主要文件都是以rgn作为后缀,也就是region的缩写

以天界的heaven.rgn文件为例
[towns
6 9 14 (town城镇的ID)
[/towns


Type:9 Str:19 'name_0020>天界' (中文名字是啥不重要)

Type:9 Str:19 'name_0021>the Heavens' (英文名字是啥不重要)

'MiniMap/heaven.mm'(小地图)

第二行就是town城镇ID,因此要确保
A,ID是正确的。
B,ID在town/town.lst是存在的。

另外还有就是minimap文件夹,里面包含了各大区的小地图(游戏内右上角)。但本人还不确认如何修改!
4,town文件夹

文件都是以twn作为后缀,也就是town的缩写
以史拉乌工业区的slough.twn文件为例

'Title/Slough.ani'

'Map/CutScene/Slough.img' 0

-1 (前置副本要求,-1为无要求)


0 'Slough/Slough_down_street.map' '' (城镇地图之一)



1 'Slough/Slough_up_street.map' '' (城镇地图之一)



2 'Slough/Slough_powerstation.map' '' 19 (城镇地图之一,表示连接到worldmap选图界面的ID19)



3 'Slough/Gate_Slough.map' '' 474 234 (城镇地图之一)



Type:9 Str:14 'name_18210>史拉烏工業區' (中文名字是啥不重要)

78(城镇等级要求)

需要做的就是:
A,改等级要求。
B,确认worldmap选图界面的ID是否存在及正确。
5,worldmap文件夹,以及UI文件夹

该文件夹略复杂点

首先是常规的*.wdm文件,wdm是worldmap的缩写
以powerstation.wdm为例

'WorldMap/Lorien.img' 0 (是选图界面的背景图吗?考虑改掉Lorien吧,数字0的意义不明)

'WorldMap/UI/PowerStation.ui' (选图界面的控件,重要)

(dungeon副本接口的ID和前置任务要求,原文件的此处为空)



Type:9 Str:15 Type:10 Str:366664 (不管是中文名字还是英文名字都不重要了)

1 (深渊副本,1是啥意思呢?)

4539 (深渊的前置任务要求)



8272 1 8376 1 8247 1 (免费深渊的物品ID和数量)



3330 (深渊门票的ID)


需要做的就是:

A,添加副本接口的ID,如

101 -1 102 -1 103 -1 104 -1(101~104就是四大发电厂的dungeon副本接口ID,-1表示无前置任务要求,行末记得空格)


B,确认所添加的dungeon副本接口ID,在dungeon/dungeon.lst是存在的

C,修改深渊前置任务要求,如

101 (此处的任务ID改成了101,也就是出生后的第一个任务)


也可以把深渊门票改成其他物品的ID,如无色
UI文件夹

再来就是UI文件夹里面的*.ui文件
还是以powerstation.ui为例

...

(以上部分的意义可以不用深究)


'' 'IDC_WORLDMAP_BUTTON1' 430 61 1'WorldMap/selectdungeon02.img' 3 1 0 101

'Action/worldmap_balloon.act'

(看最后一个数字101,是不是很熟悉)


'' 'IDC_WORLDMAP_BUTTON2' 608 240 1'WorldMap/selectdungeon02.img' 3 1 13 102

'Action/worldmap_balloon.act'

(看最后一个数字102,是不是很熟悉)


'' 'IDC_WORLDMAP_BUTTON3' 630 364 1'WorldMap/selectdungeon02.img' 3 1 6 103

'Action/worldmap_balloon.act'

(看最后一个数字103,是不是很熟悉)


'' 'IDC_WORLDMAP_BUTTON4' 440 400 1'WorldMap/selectdungeon02.img' 3 1 7 104

'Action/worldmap_balloon.act'

(看最后一个数字104,是不是很熟悉)


'' 'IDC_WORLDMAP_BUTTON5' 330 364 1'WorldMap/selectdungeon02.img' 3 1 6 522

'Action/worldmap_balloon.act'

(看最后一个数字522,虾米鬼?回去找dungeon/gungeon.lst,没找到。但是有印象的朋友可能会记得,发电站其实还有个隐藏小地图:能量隔离室。不感兴趣的朋友,这部分可以删了)


'' 'IDC_WORLDMAP_SWITCHBOX' 400 100 1'WorldMap/selectdungeon02.img' 16 1 2 91 24 3 4 5 6 7 8 9 10 96 97 98 99


再来讲解下部分结构

'' 'IDC_WORLDMAP_BUTTON1' 430 61 1'WorldMap/selectdungeon02.img' 3 1 0 101

'Action/worldmap_balloon.act'


430 61 是副本接口图标的坐标
101就是dungeon副本接口的ID。

如果出现选图界面游戏崩溃的,不妨来这找找原因。
6,dungeon文件夹

分为多个文件夹,每个文件夹又包含多个*.dgn文件,dgn是dungeon的缩写

以kohlepowerstation.dgn为例(摘选部分内容)

70 (等级要求,这边已经是改过的)


5 3 (副本房间的格局,横5竖3,注意排序是从0开始)


'IIJJFFNNEE
LLOOAALLMM
CCDDFFHHGG'
(副本房间的连接顺序,请参考http://tieba.baidu.com/p/4069218170)


1 0 18001 (横1竖0,副本房间的ID是18001)


4 1 18008(boss的副本房间为横4竖1,副本房间的ID是18008)


0 0 0 1 0 2(起始点的副本房间坐标,表明可能是0 0或者0 1或者0 2)


1

60067

4 0
(深渊boss的副本房间ID 60067和坐标4 0)


请确保各个副本房间ID在map/map.lst是存在的。
7,map文件夹结构

也是包含多个文件夹,每个文件夹又包含多个*.map文件

但是请注意,map文件,分为2大类
A,城镇地图,比如slough/ slough_down_street.map
B,副本房间,比如kohlepowerstation/ 18001(1,0)n.map

对于后者,我不打算多说。一是了解不多,二是很复杂,三是基本上不用改动。

对于前者,先以slough_down_street.map为例(摘选部分内容)

777 132 107 31 14 1 361 142 97 21 14 3 (实可步行区域)

每6个数字为1组,第一、二个数字如777 132为坐标


38 212 1480 130 377 155 81 69 427 173 58 65 774 140 112 82881 161 81 61 (虚可步行区域)

每4个数字为1组,第一、二个数字如38 212为坐标


79 '' 1185 155 0 136 '' 90 196 0 (NPC的ID和坐标)


我们再来看shonan/shonan_gymnasium.map(传送时间门和镇魂曲的关键文件)

1257 119 222 31 11 2 767 348 96 23 11 1 2016 142 97 21 11 349 186 96 23 12 0

4117 (49 186 96 23 12 0这组,有前置任务要求,任务ID是4117)

2450 186 116 23 13 0

4540 (2450 186 116 23 13 0 这组,也有前置任务要求,任务ID是4540)




34 219 2586 115 767 326 95 30 2015 158 99 64 1440 153 71 701267 137 214 90 1508 175 43 47 53 197 94 27

4117 (53 197 94 27这组,有前置任务要求,任务ID也是4117)

2460 197 94 27

4540 (2460 197 94 27 这组,也有前置任务要求,任务ID也是4540)


整理一下,我们发现:
任务4117可以开通坐标49 186(实)和53197(虚)
任务4540可以开通坐标2450 186(实)和2460197(虚)

聪明的朋友看出来了吧:
任务4117开通了左边到时间门的传送
任务4540开通了右边到雷奎安(镇魂曲)的传送

把4117和45440改成其他任务ID吧,比如我最爱的101。
当然,也可以删掉任务要求。
这样子,从修南到时间门和镇魂曲的传送就开通了。

但是,请注意,这边只是开通了传送。
而实际上,我们还需要个图标,也就是光圈,来指示传送的地点。在部分,我们加上
'Animation/timegate.ani' '' 91 186 0'Animation/timegate.ani' '' 2500 186 0
其作用就是在91 186和2500 186这两个坐标的地方,加上光圈图标。
8,npc文件夹

npc其实不是本修改的重点,但是我们这边要修改某个NPC。

看了上面的内容,有朋友其实已经想到一个问题:如何从悬空海港到工业区。
因此,我们需要给悬空海港的贝伦,增加一个地区传送功能,用以传送到工业区。

悬空海港的贝伦,npc/wernvonnegut.npc的文件里面

'' 43


而工业区的贝伦,npc/wernvonnegut_slough.npc的文件里面

'' 43 '' 65


‘’就是传送功能,65是NPC的ID。
记住了,NPC的传送,是从某个NPC传送到另外一个NPC,以NPC的ID【的原始位置】为目标,而不是城镇ID为目标。

显然原始文件里,悬空海港的贝伦的传送功能被干掉了。

那么,我们就改下npc/wernvonnegut.npc

'' 43 '' 136 (136就是工业区贝伦的ID)

(转于老牛社区)

963020851 发表于 2019-8-18 00:09:30

作者能出个视频就好了
页: [1]
查看完整版本: DNF城镇地图修改思路[了解一下]