龙之谷修改龙之谷基本知识

2019年11月18日08:04:12 发表评论 28 次浏览
广告也精彩

 

一、龙之谷架设

首先,想要修改,起码你要能打开服务端,并且成功登陆,否则你连测试都做不到。

所以,先要下载服务端,客户端使用国服的就可以了。用单机登录器覆盖即可。

物理端地址:http:\\pan.baidu.com\s\18VFLs 密码uabr

DN工具 2015:http://pan.baidu.com/s/1pJA8NBd 密码:0vd2

因为架设有相关教程了。我这里就不详细说了

我们主要是利用物理端修改,所以只贴了物理端地址,虚拟端自行在群公告寻找

下载后把服务端解压在D盘,因为服务端默认设置都是在D盘的,如果你不会改,是不能正常启动的。客户端可以放在任何位置。

然后下载SQL sever 2008R2 恢复数据库,登陆密码设置为windows与SQL混合登陆模式,登陆账号设置为sa 密码为123456。数据库安全-登录名-创建数据库账号DragonNest密码设置为:FD9D60B133f498b 

不会的话参考群内的数据库教程。然后随便点个exe注册下,注册时间尽量长一点。注册机教程在群共享有的下。

注册后的开启顺序为:

1、NetLauncherD.exe

2、Gateway_Auth.exe

3、Gateway_Phone.exe

4、ServiceManagerExD.exe

开启ServiceManagerExD.exe后将所有选项都右键start。然后等待所有选项灯亮。

这个游戏开启过程有点慢,尤其是village和game两个选项。请耐心等待。

开启配置最低8G内存就可以了。但是最好有固态硬盘。CPU不是很好的话,内存需要适量增加。

等待全部亮起之后点击客户端的bat登陆,账号可以使用SQL命令注册,也可以使用GM工具建立。另外,本端因为UI的缺陷,所以萌骑士只能使用GM工具DN工具2015创建。但是DN工具2015需要改系统时间为2015年6月。然后就可以使用了。

注册命令:use dnmembership

exec __NX__CreateAccount '帐号','密码'

点劵命令:USE [DNMembership]

GO

[dbo].[P_ModCashBalance] N'账号',9999999

至此,如果没有乱动什么。就可以正常登陆游戏了。如果出现请拨打xxxx电话,只需要耐心等待就可以。时间长短视硬盘性能而定。其他问题我没有遇到过。可以在群里询问其他人。

二、工具介绍篇

工欲善其事必先利其器,想要更容易的修改,当然需要几种给力的工具了。

我们这里主要讲解DNT和PAK工具。模型工具,3DMAX,PS之类的东西我们这里先不说,以后有必要的话,我会单独讲解。

这里先要感谢工具的制作人。周流,叮小铛,以及补丁工坊,TT打包解包的制作人。

首先介绍一下DNT工具。因为我们的大部分修改都是DNT修改。只有很少一部分是其他文件类型的修改。【至于什么DNT,后续的基础知识篇会详细介绍。】

周流的DNT工具:DNTⅡTOOL龙之谷修改龙之谷基本知识

叮当的DNT工具:超级DNT编辑器龙之谷修改龙之谷基本知识

我个人比较偏向周流的工具,因为不用花钱。而且功能更强,就这么简单。

周流DNT工具的使用方法:

首先设置,DNT文件目录。如果你按照教程做了。那么你的文件目录就是

D:\Server\GameRes\resource\ext

然后在D:\Server\GameRes\resource\uistring文件夹把uistring.xml文件复制到周流DNT工具的根目录下。【所谓根目录,就是与软件同一个文件夹】

然后选择设置,数据库管理。制作uistring数据库,然后选择xml到数据库。

然后很简单,只需要点击文件,打开DNT文件列表就可以了。

现在我们就可以选择想要修改的DNT进行修改了。也可以直接把DNT文件拖进DNT工具窗口来进行修改。有类似nameID的列名,还可以用翻译功能,翻译出这一列的对应中文,这就是我们刚才配置uistring数据库的作用了。

叮当DNT工具的使用方法:

很简单粗暴,打开,拖进去就可以了。但是基本所有有用的功能都需要付费。不能进行新建,只能更改。

然后我们介绍一下解包工具打包工具。因为如果不能打包。我们修改了也没有用。我们解包的是PAK文件【什么是PAK文件在后续基础知识篇进行讲解】

TT打包解包工具:

这玩意我真的很喜欢。因为使用方法实在太方便了。但是缺点是解包的丢包率令人及其纠结。

打包方法和解包方法都是直接拖到窗口就可以了。解包的话会生成一个和PAK同样名字的文件夹。打包的话。需要新建一个文件夹resource就可以正常打包了。界面如下龙之谷修改龙之谷基本知识

补丁工坊:

我只能说,这东西本来是多玩作者写给模型党的。结果被咱们拿来用了。补丁工坊分为便捷模式和高级模式,便捷模式对我们来说并没什么用,我们主要是使用高级模式。

他会问你是否载入某路径的龙之谷文件,它的原理是注册表路径,我们无视它,直接选否,因为我们要解包的PAK不一定是在那个路径,打开后添加就可以了。

因为这个工具直接去多玩就可以找到详细的使用教程,我就不啰嗦了。

多玩地址:

http://bbs.duowan.com/forum.php?mod=viewthread&tid=26712380&page=1&randtag=1420839660#pid248251622

直接去多玩看教程就可以了。

附录下载地址:

工具包

老周工具包(龙之谷全功能工具)

工具包

老周工具包 DNTⅡTOOL 最终版

DNT编辑工具

榴莲大神写的一个龙之谷DNT编辑工具 DNTEditor

PAK工具

龙之谷补丁工坊 v2.4 用于打包和解包龙之谷客户端PAK的工具

DNT ACT编辑器

龙之谷 超级DNT ACT编辑器1.5.2

至此:工具介绍篇结束。

 

三、基础知识篇

pak文件就是游戏的一种资源打包模式。我们所需要的资源基本都是PAK提取而来。

DNT是简易数据库,具体修改方法,参考我的单独教程。

PAK打包格式:

struct INDEX

{

char Name[0x38];               //文件名

unsigned long offset;           //文件数据偏移量

unsigned long size;             //文件大小

}

struct pak

{

char MagicNumber[4];           //pak文件头标记“PACK”

unsigned long offsetIndex;     //目录索引表的绝对地址

unsigned long SizeIndex;       //目录索引表中有多少索引项

}

<data......>                    //文件数据

struct INDEX index[SizeIndex]   //目录索引表

DN中的PAK文件属于EYE自定义的格式,其文件结构为:
[头部]
总计1024字节
头部结构:
char szID[256];//文件ID, 占256字节
DWORD dwVer;//版本或识别码, 占4字节
DWORD dwRecordNum;//包内文件总数, 占4字节
DWORD dwRecordOffset;//第一个尾部文件信息块的偏移, 占4字节
BYTE dbReserved[756];//保留, 占756字节
[中段]
压缩数据,以78 01开始,属于典型的zlib普通压缩(一种开源的算法)
[尾部]
每个文件信息占316字节,故总字节数=316×文件总数
文件信息块结构:
char szFilename[256];//文件相对路径, 占256字节,ASCII文本,CodePage=949
DWORD dwPackedSize;//压缩后大小, 占4字节
DWORD dwTrueSize;//实际大小, 占4字节
DWORD dwOccupationSize;//在包文件内占据的大小, 占4字节
DWORD dwOffset;//在包文件内偏移, 占4字节
DWORD dwFlag;//标记, 占4字节
BYTE dbReserved[40];//保留, 占40字节

PAK文件解压方法简介:
1.打开文件,读取文件头,获得文件总数和一个尾部文件信息块的偏移
2.定位文件指针到尾部文件信息块,分配内存,从文件读取全部的文件信息块
3.对文件信息块按[在包文件内偏移]进行排序(可选,目的是为了加快解压速度)
4.循环处理所有的文件信息块
4.1 定位文件指针到[在包文件内偏移]
4.2 分配内存,字节数为[压缩后大小],从文件读取压缩数据块
4.3 分配内存,字节数为[实际大小],调用zlib解压缩函数进行解压
4.4 从[文件相对路径]中获取目录名,递归创建完整的目录
4.5 根据[文件相对路径]创建新文件,将解压数据保存到改文件

PAK文件创建方法简介:
1.遍历选定路径下所有的文件,提取文件相对路径和文件实际大小
2.创建PAK文件,写入头部块,包内文件总数和第一个尾部文件信息块的偏移暂时不填
3.读取每一个待压缩文件,调用zlib压缩函数进行压缩(采用普通压缩)
4.将压缩后的数据保存到PAK文件,同时跟新文件信息块的内容
5.压缩数据完成后,把文件总数和当前位置更新到头部块,然后将所有的文件信息块保存到PAK文件
7.定位PAK文件指针到头部,再次写入头部块,保存并关闭

 

基本资源路径:

背景音乐——mapdata\resource\sound\bgm(背景音乐是OGG格式的 替换时要注意)
loading — —resource\ui\loading(龙之谷中的背景图 一般都是.jpg格式的)
界面——resource\ui(看文件名字就是到了ui的东西)
各职业服装。脸型。发型——resource\char\player(各个职业的ani 动作文件也在这里)
怪物——resource\char\monster
NPC——resource\char\npc
坐骑——resource\char\vehicle(全都可以通过文件名字很容易找到的 有木有)
饰品——resource\item\cash_item(翅膀 耳环 什么的全在这里)
技能——resource\particle(除了魔导的镜子外 其他的技能SKN MSH DDS PTC都在这)
武器——resource\weapon    除了武器文件夹里有ACT外
resource\stateeffect里也有(职业技能的效果ACT也在这里)
字体——resource\fonts
声音——resource\sound(各职业技能声音 NPC 过场等 全在这里 还有技能效果音)
EXT表——resource\ext
天气——mapdata\resource\envi
地图——mapdata\grid
纹身——resource\char\player\decal
宠物——resource\char\pet

 

 

 

DNT文件,又名【Dragon Nest Table file】,由原EXT文件改进而来,是一种较为简单的二维数据表,在DN中,所有的DNT文件构成了一个简易的数据库,供客户端使用。

DNT文件属于EYE自定义的格式,其文件结构为:
【头部】
总计10字节
DWORD dwNull;//空字节,占4字节
WORD wFieldNum;//字段个数(列数),占2字节
DWORD dwRecordNum;//数据个数(行数),占4字节

【字段描述块】
变长,每个字段描述块结构如下:
WORD wTextLen;//字段名称的长度,占2字节
char szText[wTextLen];//字段名称,占wTextLen字节
BYTE dbFieldType;//字段类型,占1字节,其含义如下:
1:字段类型为普通变长文本
2:字段类型为布尔型(以32位整型存放)
3:字段类型为32位整型
4:字段类型百分比(该字段为单精度浮点型,但要除以100)
5:字段类型单精度浮点型

【数据块】
变长,前置PKID,后面按照字段描述块定义的字段顺序排列
每一行数据结构如下:
DWORD dwPKID;//主键(32位整型)
以下根据字段描述块定义的类型分为以下3种:
★如字段类型为1,该数据为普通变长文本,结构如下:
WORD wLen;//文本的长度,占2字节
char szText[wLen];//文本,占wLen字节
★如字段类型为2,该数据为32位整型,占4字节,但其值只有0(假)和1(真)两种。
★如字段类型为3,该数据为32位整型,占4字节。
★如字段类型为4,该数据为单精度浮点型,占4字节,但结果要除以100。
★如字段类型为5,该数据为单精度浮点型,占4字节。

DNT文件处理方法简介:
1.打开文件,读取头部,获得字段个数和数据个数
2.根据字段个数,分配内存,读取每一个字段的描述信息,获得字段名和字段类型
3.根据数据个数,分配内存,先读取主键,然后根据字段描述信息中的字段类型,依次读取数据

 

 

 

PAK文件与DNT文件的关系

 

龙之谷资源相关资源格式。

后缀名 文件头标识 文件格式
.act Eternity Action File 动画索引
.ani Eternity Engine Ani File 骨骼动画
.cam Eternity Engine Camera File 摄像头配置(猜测)
.dds DDS 贴图格式
.dmv DN_CutSceneData 过场动画(猜测)
.eff Eternity Engine Effect File 特效(猜测)
.env 环境配置(猜测)
.ext 游戏配置
.fontset 字体配置

 

四、外网架设篇

本章我不做任何解释,不回答任何问题。

另外:端口:14300 14400 14500 15100

①:

第一,路由器必须用DMZ映射你的主机;

第二,建立一个虚拟网卡,自己百度;

第三,改虚拟网卡的IP为你外网的IP;

第四,开启游戏跟你的小伙伴们撸起来。

②:

Hamachi龙之谷教程,最高支持5人,方法如下

安装Hamachi,注册账号后,会显示一个ip

将IP改到你龙之谷的所有IP(其实只要改一个):

将服务端的config.ini里的IP改成你的hamachi IP 即可

然后控制面板-网络和共享中心-更改适配器设置-高级-高级设置

将蛤蟆吃放在第一位,就可以了。

把好友拉入房间,就可以一起玩了

主机只要开RZDragonNest就可以登陆

其他要联机的小伙伴,打开下载的登陆器.bat

右键编辑bat将ip后面的地址改为:你加入的hamachi主机地址,保存双击,即可登陆

5个人是免费的,6人以上需要自行购买

还有其他方法,自己群共享找。

五、外挂技术篇

本章依然不会做任何解释,只提供技术以及源码。

本章只讲基本的人物基址,以及坐标基址的查找方法

①人物基址

龙之谷进入游戏的时候是保持在非战斗状态的,也就是0,而战斗状态是1、

我们通过用CE来查找0,然后切换战斗状态,来回反复。知道剩下几个。拉下来,锁定0,看人物能不能正常切换状态,如果不可以,那么这就是了。接下来就是用CE追查地址了【自行寻找CE使用教程,不详细介绍】

②坐标基址

去两个新手地图都可以。面向门,首先搜索未知的浮点数,然后向门走搜减少,后退搜增加。

直到几个,然后锁定,如果人物不能动了,就是找到了。可以开始追查了。

找到之后,基址的排序是xzy不是xyz。

附录下载地址:

源码:链接:http://pan.baidu.com/s/1ntwzKST 密码:j3td

by:并没有什么节操的榴莲

广告也精彩
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: