目的:
原DB中文件太多,都放在一起,修改的时候找文件很不好找,把不同类别的DB文件放入不同的文件夹中,可以方便找到自己想找的文件. copyright dedecms
分析:
原理很简单,只要修改读取文件的路径就可以实现,不过最好还是把文件路径设置使用变量代替,方便随时修改.为简化代码,暂时把文件路径定义写入mmo.h中,固定在程序里,日后有空,加个文件读取,把设置放入txt文件,方便随便修改.
具体实现:
一、先在mmo.h中,对所有DB文件路径作重新定义
代码: 内容来自dedecms
//-------- 文件路径定义 ------------------------ 本文来自织梦
#define ITEM_DB_PATH "db/item/item_db.txt"
#define ITEM_DB_ADD_PATH "db/addon/item_db_add.txt"
#define ITEM_DB2_PATH "db/item/item_db2.txt"
#define ITEM_ARROWTYPE_PATH "db/item/item_arrowtype.txt"
#define ITEM_GROUP_DB_PATH "db/item/item_group_db.txt"
#define ITEM_VALUE_DB_PATH "db/item/item_value_db.txt"
#define ITEM_AVAIL_PATH "db/item/item_avail.txt"
#define ITEM_NOEQUIP_PATH "db/item/item_noequip.txt"
#define ITEM_NOCONSUME_PATH "db/item/item_no_consume.txt"
#define ITEM_TYPE2_PATH "db/item/item_type2.txt"
#define ITEM_RANDOM_BOX_1_PATH "db/item/item_bluebox.txt"
#define ITEM_RANDOM_BOX_2_PATH "db/item/item_violetbox.txt"
#define ITEM_RANDOM_BOX_3_PATH "db/item/item_cardalbum.txt"
#define ITEM_RANDOM_BOX_4_PATH "db/item/item_giftbox.txt"
#define ITEM_RANDOM_BOX_5_PATH "db/item/item_scroll.txt"
#define ITEM_RANDOM_BOX_6_PATH "db/item/item_findingore.txt"
#define ITEM_RANDOM_BOX_7_PATH "db/item/item_arrowquiver.txt"
#define ITEM_RANDOM_BOX_8_PATH "db/item/item_diamond_weapon.txt" 织梦好,好织梦
#define ITEM_RANDOM_BOX_9_PATH "db/item/item_diamond_armor.txt"
#define ITEM_RANDOM_BOX_10_PATH "db/item/item_diamond_hood.txt"
#define ITEM_RANDOM_BOX_11_PATH "db/item/item_diamond_helm.txt"
#define ITEM_RANDOM_BOX_12_PATH "db/item/item_diamond_shoes.txt"
#define ITEM_RANDOM_BOX_13_PATH "db/item/item_diamond_shield.txt"
#define ITEM_RANDOM_BOX_14_PATH "db/item/item_jewel_box.txt"
#define ITEM_RANDOM_BOX_15_PATH "db/item/item_meiji_almond.txt"
#define ITEM_RANDOM_BOX_16_PATH "db/item/item_petbox.txt"
#define ITEM_RANDOM_BOX_17_PATH "db/item/item_mask.txt"
#define ITEM_RANDOM_BOX_18_PATH "db/item/item_fabox.txt"
#define ITEM_RANDOM_BOX_19_PATH "db/item/item_food.txt"
#define ITEM_RANDOM_BOX_20_PATH "db/item/item_rjc2006.txt"
本文来自织梦
#define GUILD_CASTLEDB_PATH "db/guild/castle_db.txt"
#define GUILD_SKILL_TREE_PATH "db/guild/guild_skill_tree.txt"
#define GUILD_EXP_TABLE_PATH "db/guild/exp_guild.txt" 织梦内容管理系统
#define STATUS_DB_PATH "db/pc/scdata_db.txt"
#define STATUS_REFINE_DB_PATH "db/pc/refine_db.txt"
#define STATUS_JOB_DB_1_PATH "db/pc/job_db1.txt"
#define STATUS_JOB_DB_2_PATH "db/pc/job_db2.txt"
#define STATUS_JOB_DB_2_2_PATH "db/pc/job_db2-2.txt"
#define STATUS_SIZE_FIX_PATH "db/pc/size_fix.txt"
织梦好,好织梦
#define PC_ATTR_FIX_PATH "db/pc/attr_fix.txt"
#define PC_SKILL_TREE_PATH "db/pc/skill_tree.txt"
#define PC_EXP_TABLE_PATH "db/pc/exp.txt" dedecms.com
#define SKILL_DB_PATH "db/skill/skill_db.txt"
#define SKILL_DB_ADD_PATH "db/addon/skill_db_add.txt"
#define SKILL_REQUIRE_DB_PATH "db/skill/skill_require_db.txt"
#define SKILL_REQUIRE_DB_ADD_PATH "db/addon/skill_require_db_add.txt"
#define SKILL_CAST_DB_PATH "db/skill/skill_cast_db.txt"
#define SKILL_CAST_DB_ADD_PATH "db/addon/skill_cast_db_add.txt"
#define SKILL_PRODUCE_DB_PATH "db/skill/produce_db.txt"
#define SKILL_PRODUCE_DB_ADD_PATH "db/addon/produce_db_add.txt"
#define SKILL_DB2_PATH "db/skill/skill_db2.txt"
#define SKILL_REQUIRE_DB2_PATH "db/skill/skill_require_db2.txt"
#define SKILL_UNIT_DB_PATH "db/skill/skill_unit_db.txt"
#define SKILL_CREATE_ARROW_DB_PATH "db/skill/create_arrow_db.txt"
#define SKILL_ABRA_DB_PATH "db/skill/abra_db.txt"
#define SKILL_NAME_DB_PATH "db/skill/skill_name.txt"
#define SKILL_PETZONE_PATH "db/pet/pet_skill_zone.txt" 织梦内容管理系统
#define MOB_DB_PATH "db/monster/mob_db.txt"
#define MOB_DB_ADD_PATH "db/addon/mob_db_add.txt"
#define MOB_GROUP_DB_PATH "db/monster/mob_group_db.txt"
#define MOB_AVAIL_PATH "db/monster/mob_avail.txt"
#define MOB_RANDOM_BOX_1_PATH "db/monster/mob_branch.txt"
#define MOB_RANDOM_BOX_2_PATH "db/monster/mob_poring.txt"
#define MOB_RANDOM_BOX_3_PATH "db/monster/mob_boss.txt"
#define MOB_SKILL_DB_PATH "db/monster/mob_skill_db.txt"
#define MOB_SKILL_DB_ADD_PATH "db/addon/mob_skill_db_add.txt"
#define MOB_DB_MYADD_PATH "db/monster/mob_db_myadd.txt" 织梦内容管理系统
#define NPC_CHANGERATE_DB_PATH "db/npc_randomlist.txt"
#define HOMUN_EMBRYODB_PATH "db/homun/embryo_db.txt"
#define HOMUN_EXP_TABLE_PATH "db/homun/exp_homun.txt"
#define HOMUN_SKILL_TREE_PATH "db/homun/homun_skill_tree.txt"
#define HOMUN_DB_PATH "db/homun/homun_db.txt"
#define HOMUN_DB_ADD_PATH "db/addon/homun_db_add.txt" 织梦内容管理系统
#define MERCENARY_DB_PATH "db/mercenary/mercenary_db.txt"
#define MERCENARY_DB_ADD_PATH "db/addon/mercenary_db_add.txt"
#define MERCENARY_SKILL_DB_PATH "db/mercenary/mercenary_skill_db.txt"
#define MERCENARY_SKILL_DB_ADD_PATH "db/addon/mercenary_skill_db_add.txt" dedecms.com
#define PET_DB_PATH "db/pet/pet_db.txt"
#define PET_DB_ADD_PATH "db/addon/pet_db_add.txt"
#define PET_UP_DB_PATH "db/pet/pet_up.txt"
#define PET_UP_DB_ADD_PATH "db/pet/temp_new_pet_up.txt"
#define PET_TYPE_DB_PATH "db/pet/pet_type_for_2pet.txt"
#define PET_EXP_TABLE_PATH "db/pet/pet_exp.txt" 织梦内容管理系统
//------------------------------------------------ 内容来自dedecms
dedecms.com
再对每一个文件的读取函数进行修改,以item_db.txt为例 织梦好,好织梦
修改item.c,找到static int itemdb_read_itemdb(void),把里面原来的
引用:
char *filename[]={ "db/item_db.txt","db/addon/item_db_add.txt" };
内容来自dedecms
修改成 ITEM_DB_PATH
内容来自dedecms
代码:
char *filename[ ]={ ITEM_DB_PATH,ITEM_DB_ADD_PATH }; 本文来自织梦
然后,修改读取文件出错时的提示信息, 织梦好,好织梦
代码:
if(fp==NULL){
//159: 读取 %s ............找不到文件!
printf(msg_txt_myadd(159),filename[ i ]);
if(i>0)
continue;
exit(1);
}
在读取完文件的时候,也修改一下成功的提示信息
copyright dedecms
代码:
//158: 读取 %s 完成!(共读取 %d 条)
printf(msg_txt_myadd(158),filename[ i ],ln);
这样,item_db的读取就修改完成了.
本文来自织梦
又如item_db2.txt,这个也是一样,
代码:
fp=fopen(ITEM_DB2_PATH,"r");
if(fp==NULL){
//159: 读取 %s ............找不到文件!
printf(msg_txt_myadd(159),ITEM_DB2_PATH);
return 0;
}
...... 省略N行......
fclose(fp);
//158: 读取 %s 完成!(共读取 %d 条)
printf(msg_txt_myadd(158),ITEM_DB2_PATH,ln); 本文来自织梦
dedecms.com
其他所有文件的读取,也和这个基本上一样.只要逐一修改就可以了
织梦好,好织梦
经过修改之后,DB文件夹中文件结构如下:
本文来自织梦
DB
|_addon_
| |_homun_db_add.txt
| |_item_db_add.txt
| |_mob_db_add.txt
| |_mob_skill_db_add.txt
| |_pet_db_add.txt
| |_produce_db_add.txt
| |_skill_cast_db_add.txt
| |_skill_db_add.txt
| |_skill_require_db_add.txt
|
|_guild__
| |_castle_db.txt
| |_exp_guild.txt
| |_guild_skill_tree.txt
|
|_homun_
| |_embryo_db.txt
| |_exp_homun.txt
| |_homun_db.txt
| |_homun_skill_tree.txt
|
|_item__
| |_item_arrowquiver.txt
| |_item_arrowtype.txt
| |_item_avail.txt
| |_item_bluebox.txt
| |_item_cardalbum.txt
| |_item_db.txt
本文来自织梦
织梦好,好织梦
最后还要做一件事,就是msg_athena_myadd.conf 中,加入
织梦好,好织梦
代码:
157: 读取 %s 完成!/n
158: 读取 %s 完成!(共读取 %d 条)/n
159: 读取 %s ............找不到文件!/n
这样提示信息才能正常显示
1.76精品传奇_1.76天下毁灭_1.76复古传奇_英雄合击_中变靓装传奇_无忧传奇
传奇花屏补丁,花屏补丁,土城花屏补丁,盟重土城花屏补丁下载,土城花屏补丁下载,沙巴克花屏补丁,传奇土城花屏补丁下载
网站每天发布最新、最好的传奇版本下载和与传奇服务端配套开区传奇模版,网游技术教程全部免费下载!
无忧网络是目前唯一家所有的传奇服务端,传奇私服花屏补丁,盟重花屏补丁和传奇客户端下载都经过站长亲自测试并配有真实测试图!
所有的工具软件和传奇版本在发布之前,都会经过站长亲自测试,保证chuanqisf可以进入游戏,所有软件都无毒无插件!
本站声明:本站所有技术资料与下载资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信指出,本站将立即改正Copyright © 2002-2014 无忧网络 版权所有蜀ICP备09041899号