魔域服务端的修改核心在MySQL数据库,整个版本的所有玩法、数值、NPC功能都储存在数据库表里。搞懂这些表的结构和字段含义,就能按自己的想法调整游戏内容。修改前必须关掉ACC、MSG、NPC这些服务进程,改完再重启生效。
**数据库连接和工具准备**
修改前确认能连上数据库。本地架设的版本用Navicat或者SQLyog这类管理工具连接,地址填127.0.0.1,端口3306,账号一般是root,密码是test或者架设时自己设的。连上之后找数据库名称,大部分版本用的是my或者top1,具体名称可以在ACCServer目录下的config.ini里看到DBName字段。
**cq_npc表和cq_monstertype表:NPC和怪物修改**
NPC的配置在cq_npc表里。name是NPC显示的名称,lookface是外观代码,mapid是所在地图编号,cellx和celly是坐标位置,task0是NPC执行的行为逻辑。
野怪和幻兽的属性在cq_monstertype表。name是名称,lookface是外观代码,life是血量,attack-min和attack-max是攻击力上下限,dodge是闪避值,defence是防御值。改完怪物的攻击或者血量之后,刷新的怪物会直接按新属性出现。
**cq_itemtype表:物品和装备属性修改**
所有物品的数据都在cq_itemtype表里。装备的基础属性、佩戴等级、职业限制都在这张表里调整。需要注意一个关键问题:在数据库里改了装备的属性之后,客户端还得同步修改。客户端ini文件夹里的itemtype文件控制的是装备在游戏里的显示数值,两边不一致的话会出现实际属性跟显示对不上的情况。
**cq_magictype表:技能参数修改**
技能相关的修改在cq_magictype表。use-mp是技能消耗的魔法值,use-ep是体力消耗,need-exp是技能升级需要的经验值,need-level是学习该技能需要的角色等级。觉得技能升级太慢就把need-exp数值改小,想限制某个技能的学习等级就调整need-level。
**cq_eudemon_rbn_rqr表:幻兽合星机制修改**
这张表控制幻兽合成时的评分增长。sacrifice_starlev这一列决定了合星时需要的副幻兽星级要求,把高于1900的数字统一改成1900,幻兽不管多少星都只需要19星的副幻兽就能合。min和max这两列控制的是每次合星加的评分区间,把max的数值加大,合一次涨的评分就更多。suc_percent是合星成功率,改成100就必定成功不会失败。
**cq_user表:角色权限和功能扩展**
cq_user表里存的是角色数据。medal_select字段控制携带幻兽的数量,改成12就能带12个幻兽。eud_pack_size控制孵化格子的数量,改成6就是6个孵化格子。在角色名后面加上[PM]后缀就能获得GM权限,可以直接用命令刷物品和传送。
**cq_action表:数据库的灵魂**
cq_action是整个数据库里最核心也最复杂的表,所有NPC对话、任务流程、条件判断、传送逻辑都靠它实现。这张表有六列:id是当前执行的指令序号,id-next是下一条要执行的指令,id-nextfail是条件不满足时跳转的指令,type决定命令的类型,data是命令需要的核心数据,param是附加参数。
举例说明cq_action的运行逻辑。id为1000的行:type=1001,data=0,param=“e-money < 1000”,表示判断魔石数量是否小于1000。如果成立就跳转到id-next指向的1001行,不成立则跳转到id-nextfail指向的1004行。1001行执行给予物品操作,1002行回收物品,1003行给予魔石2000,1004行弹出提示框显示“对不起,阁下的魔石不足1000”。整个流程串起来就是一个完整的NPC兑换功能。
NPC对话也是通过cq_action实现的。type=101表示NPC在对话框顶部显示说明文字,type=102表示可点击的选择项,type=120表示对话结束。想要在雷鸣交易行实现传送功能,在cq_action里找到对应的传送代码,在坐标参数后面加一个1就行了。
**cq_grade表:幻兽出生星级**
cq_grade表里的rarity字段控制幻兽孵化出来时的初始评分。把数值改成10000,孵出来的幻兽就是100星的。注意别改得太离谱,超过255级限制会导致幻兽无法召唤。
**cq_levexp表和cq_config表:升级和全局参数**
cq_levexp表控制角色和幻兽升级所需的经验曲线,修改usruplevExp和euduplevExp这两个字段调整升级速度。cq_config表里存的是各种全局参数,等级上限在里头的某个条目里,默认132级,最大可以改到255级。
**数据库连接和工具准备**
修改前确认能连上数据库。本地架设的版本用Navicat或者SQLyog这类管理工具连接,地址填127.0.0.1,端口3306,账号一般是root,密码是test或者架设时自己设的。连上之后找数据库名称,大部分版本用的是my或者top1,具体名称可以在ACCServer目录下的config.ini里看到DBName字段。
**cq_npc表和cq_monstertype表:NPC和怪物修改**
NPC的配置在cq_npc表里。name是NPC显示的名称,lookface是外观代码,mapid是所在地图编号,cellx和celly是坐标位置,task0是NPC执行的行为逻辑。
野怪和幻兽的属性在cq_monstertype表。name是名称,lookface是外观代码,life是血量,attack-min和attack-max是攻击力上下限,dodge是闪避值,defence是防御值。改完怪物的攻击或者血量之后,刷新的怪物会直接按新属性出现。
**cq_itemtype表:物品和装备属性修改**
所有物品的数据都在cq_itemtype表里。装备的基础属性、佩戴等级、职业限制都在这张表里调整。需要注意一个关键问题:在数据库里改了装备的属性之后,客户端还得同步修改。客户端ini文件夹里的itemtype文件控制的是装备在游戏里的显示数值,两边不一致的话会出现实际属性跟显示对不上的情况。
**cq_magictype表:技能参数修改**
技能相关的修改在cq_magictype表。use-mp是技能消耗的魔法值,use-ep是体力消耗,need-exp是技能升级需要的经验值,need-level是学习该技能需要的角色等级。觉得技能升级太慢就把need-exp数值改小,想限制某个技能的学习等级就调整need-level。
**cq_eudemon_rbn_rqr表:幻兽合星机制修改**
这张表控制幻兽合成时的评分增长。sacrifice_starlev这一列决定了合星时需要的副幻兽星级要求,把高于1900的数字统一改成1900,幻兽不管多少星都只需要19星的副幻兽就能合。min和max这两列控制的是每次合星加的评分区间,把max的数值加大,合一次涨的评分就更多。suc_percent是合星成功率,改成100就必定成功不会失败。
**cq_user表:角色权限和功能扩展**
cq_user表里存的是角色数据。medal_select字段控制携带幻兽的数量,改成12就能带12个幻兽。eud_pack_size控制孵化格子的数量,改成6就是6个孵化格子。在角色名后面加上[PM]后缀就能获得GM权限,可以直接用命令刷物品和传送。
**cq_action表:数据库的灵魂**
cq_action是整个数据库里最核心也最复杂的表,所有NPC对话、任务流程、条件判断、传送逻辑都靠它实现。这张表有六列:id是当前执行的指令序号,id-next是下一条要执行的指令,id-nextfail是条件不满足时跳转的指令,type决定命令的类型,data是命令需要的核心数据,param是附加参数。
举例说明cq_action的运行逻辑。id为1000的行:type=1001,data=0,param=“e-money < 1000”,表示判断魔石数量是否小于1000。如果成立就跳转到id-next指向的1001行,不成立则跳转到id-nextfail指向的1004行。1001行执行给予物品操作,1002行回收物品,1003行给予魔石2000,1004行弹出提示框显示“对不起,阁下的魔石不足1000”。整个流程串起来就是一个完整的NPC兑换功能。
NPC对话也是通过cq_action实现的。type=101表示NPC在对话框顶部显示说明文字,type=102表示可点击的选择项,type=120表示对话结束。想要在雷鸣交易行实现传送功能,在cq_action里找到对应的传送代码,在坐标参数后面加一个1就行了。
**cq_grade表:幻兽出生星级**
cq_grade表里的rarity字段控制幻兽孵化出来时的初始评分。把数值改成10000,孵出来的幻兽就是100星的。注意别改得太离谱,超过255级限制会导致幻兽无法召唤。
**cq_levexp表和cq_config表:升级和全局参数**
cq_levexp表控制角色和幻兽升级所需的经验曲线,修改usruplevExp和euduplevExp这两个字段调整升级速度。cq_config表里存的是各种全局参数,等级上限在里头的某个条目里,默认132级,最大可以改到255级。

