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

### 一、龙之谷架设篇

首先,若要进行修改,至少需要能够成功登录服务端进行测试。因此,第一步是下载服务端,而客户端可以使用国服版本,并通过单机登录器进行覆盖。

**物理端地址:** http:\pan.baidu.coms18VFLs 密码uabr

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

有关架设的详细教程已有相关资源,此处不再赘述。我们主要利用物理端进行修改,因此仅提供物理端地址,虚拟端地址请在群公告中查找。

下载后,将服务端解压至D盘,因为服务端的默认设置都是在D盘,若不进行更改,将无法正常启动。客户端可以放置在任意位置。

接下来,下载并安装SQL Server 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来创建,这需要将系统时间改为2015年6月。

注册命令:

use dnmembership
exec __NX__CreateAccount '帐号', '密码'

 

点劵命令:

USE [DNMembership]
GO
[dbo].[P_ModCashBalance] N'账号', 9999999

完成以上步骤后,应可以正常登录游戏。如果出现电话拨打提示,耐心等待即可,等待时间取决于硬盘性能。其他问题可向群里咨询。

### 二、工具介绍篇

“工欲善其事,必先利其器。”为了更好地修改游戏,我们需要一些高效的工具。这里主要讨论DNT和PAK工具,其他如模型工具、3DMAX、PS等将在必要时另行介绍。

感谢工具制作者如周流、叮小铛以及补丁工坊和TT打包解包的制作者。首先介绍DNT工具,因为大部分修改都涉及到DNT修改,只有少部分涉及其他文件类型。关于DNT的更多细节,将在基础知识篇进一步讨论。

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

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

 

我倾向于使用周流的工具,原因在于它们是免费的,同时功能也更为强大且易于使用。

下面是周流DNT工具的使用步骤简述:

  1. 首先,设定DNT文件目录。如果按照提供的教程操作,文件目录应为:

    D:ServerGameResresourceext

  2. 然后,将位于D:ServerGameResresourceuistring文件夹中的uistring.xml文件复制到周流DNT工具的根目录下。【根目录是指与软件在同一个文件夹内】
  3. 接着,进入设置并选择数据库管理,创建uistring数据库,然后导入xml至数据库。
  4. 接下来,只需点击文件并打开DNT文件列表,即可轻松完成操作。

此时,我们可以挑选需要修改的DNT进行编辑,或者直接将DNT文件拖拽至DNT工具窗口中进行修改。利用类似nameID的列名,我们还能使用翻译功能来获取该列对应的中文翻译,这正是之前配置uistring数据库的目的所在。

关于叮当DNT工具的使用方法:

这个工具的操作方式十分直接——仅需打开程序,然后将文件拖放进去即可。然而,几乎所有实用的功能都需要付费才能使用,而且无法创建新文件,只能对现有文件进行修改。

现在,让我们谈谈打包与解包工具的重要性。如果我们不能正确地打包,那么所做的修改将毫无意义。我们主要处理的是PAK文件【有关PAK文件的更多信息将在后续基础知识篇中讲解】

TT打包解包工具:

我个人非常喜爱这款工具,它的便捷性让人印象深刻。尽管如此,它存在一个缺点,即在解包过程中可能会遇到丢包的问题,这一点颇为令人困扰。

无论是打包还是解包,只需简单将文件拖至工具窗口即可。解包时,会生成一个与PAK文件同名的文件夹。而在打包时,需要先创建一个名为resource的新文件夹才能开始打包。操作界面如下:

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

补丁工坊:

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

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

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

多玩地址:

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

 

三、基础知识篇

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文件指针到头部,再次写入头部块,保存并关闭

 

基本资源路径:

背景音乐——mapdataresourcesoundbgm(背景音乐是OGG格式的 替换时要注意)
loading — —resourceuiloading(龙之谷中的背景图 一般都是.jpg格式的)
界面——resourceui(看文件名字就是到了ui的东西)
各职业服装。脸型。发型——resourcecharplayer(各个职业的ani 动作文件也在这里)
怪物——resourcecharmonster
NPC——resourcecharnpc
坐骑——resourcecharvehicle(全都可以通过文件名字很容易找到的 有木有)
饰品——resourceitemcash_item(翅膀 耳环 什么的全在这里)
技能——resourceparticle(除了魔导的镜子外 其他的技能SKN MSH DDS PTC都在这)
武器——resourceweapon    除了武器文件夹里有ACT外
resourcestateeffect里也有(职业技能的效果ACT也在这里)
字体——resourcefonts
声音——resourcesound(各职业技能声音 NPC 过场等 全在这里 还有技能效果音)
EXT表——resourceext
天气——mapdataresourceenvi
地图——mapdatagrid
纹身——resourcecharplayerdecal
宠物——resourcecharpet

 

 

 

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。

附录下载地址:

源码:

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

© 版权声明
THE END
文章不错?点个赞呗
点赞17
评论 抢沙发

请登录后发表评论

    暂无评论内容