| 
 
| 传奇GM基地今天教大家Legendm2引擎传奇服务端DB,传奇单机游戏论坛随便在传奇单机游戏资源网下了一个传奇服务端,我将DB替换到现在的传奇版本里,再运行传奇服务端M2,看看出现的扩展提示: 正在加载物品数据库...
 2011-10-11 20:28:46StartServerEngineException,Field'UniqueItem'notfound
 2011-10-11 20:28:48Accessviolationataddress02EB2230inmodule'mSystemModule.dll'.Readofaddress00001798
 2011-10-11 20:28:50Accessviolationataddress02EB2230inmodule'mSystemModule.dll'.Readofaddress00001798
 这些提示就是没扩展DB,如果说大家已经扩展了之前部分DB,但是没有扩展内功后的DB,那么就会提示出后者的那些DB。
 现在大家看我DB扩展演示。
 首先我们选择数据库名HERODB,注意,很多人的服务器里都是几个区的,如果说你的版本都是一样的话,那么DB应该都是一样的,随便选择一个就行了,如果说你的DB数据库不是HERODB的话,那么你就在DBC2000里选择你对应的数据库名称,现在进行SQL对数据的扩展。
 1、Monster.DB扩展列ExploreItem,该列为怪物死亡后是否可探索(挖取物品),1=可探索,0=普通暴装备,可探索模式下,需要的灵符数设置等同与卧龙名将设置。
 打开DBE(不要打开Monster),右键菜单,选择:SQLStatements,输入以下命令,然后点Run,多次输入命令按Retry按钮重新输入既可:
 AlterTableMonsterAddColumnExploreItemSmallInt;
 然后选择打开Monster,以下命令可以同时执行,以怪物名做为分类,可以自行编辑:
 UpDateMonster.DBSetExploreItem=0WHERE(Race<>0);
 UpDateMonster.DBSetExploreItem=1WHERE(NameLike'%雷炎%');可自行设置,这里设置以后就是ExploreItem=1的怪物是可以探索的
 2、StdItems.DB扩展,以下扩展主要为交易市场功能使用,个别扩展的列为以后将开发的功能使用。
 ItemType是对市场物品进行分类,Reference为物品附加说明,请根据实际情况自己分类
 类型参考:
 USERMARKET_TYPE_WEAPON=1;//武器
 USERMARKET_TYPE_NECKLACE=2;//项链
 USERMARKET_TYPE_RING=3;//戒指
 USERMARKET_TYPE_BRACELET=4;//手镯
 USERMARKET_TYPE_CHARM=5;//符毒
 USERMARKET_TYPE_HELMET=6;//头盔
 USERMARKET_TYPE_BELT=7;//腰带
 USERMARKET_TYPE_SHOES=8;//靴子
 USERMARKET_TYPE_ARMOR=9;//衣服盔甲
 USERMARKET_TYPE_DRINK=10;//药水
 USERMARKET_TYPE_JEWEL=11;//宝石
 USERMARKET_TYPE_BOOK=12;//书籍
 USERMARKET_TYPE_MINERAL=13;//矿石
 USERMARKET_TYPE_QUEST=14;//任务物品
 USERMARKET_TYPE_ETC=15;//其他
 打开DBE(不要打开StdItems),逐次输入以下命令:
 AlterTableStdItemsAddColumnUniqueitemSmallInt;
 AlterTableStdItemsAddColumnoverlapSmallInt;
 AlterTableStdItemsAddColumnItemTypeSmallInt;
 AlterTableStdItemsAddColumnitemsetSmallInt;
 AlterTableStdItemsAddColumnReferenceVarChar(60);
 打开StdItems,以下命令可以同时执行:
 UpDateStdItems.DBSetitemset=0WHERE(name<>'');
 UpDateStdItems.DBSetoverlap=0WHERE(name<>'');
 UpDateStdItems.DBSetReference=''WHERE(name<>'');
 UpDateStdItems.DBSetReference='这是男性专用布衣,穿着无痛苦无\副作用是居家旅行的必备物品.'WHERE(name='布衣(男)');
 UpDateStdItems.DBSetUniqueitem=0WHERE(name<>'');
 UpDateStdItems.DBSetItemType=0WHERE(name<>'');
 UpDateStdItems.DBSetItemType=1Where(stdmodein(5,6));
 UpDateStdItems.DBSetItemType=2Where(stdmodein(19,20,21));
 UpDateStdItems.DBSetItemType=3Where(stdmodein(22,23));
 UpDateStdItems.DBSetItemType=4Where(stdmodein(24,26));
 UpDateStdItems.DBSetItemType=5Where(stdmode=25);
 UpDateStdItems.DBSetItemType=6Where(stdmode=15);
 UpDateStdItems.DBSetItemType=7Where(stdmodein(27,54,64));
 UpDateStdItems.DBSetItemType=8Where(stdmodein(28,52,62));
 UpDateStdItems.DBSetItemType=9Where(stdmodein(10,11));
 UpDateStdItems.DBSetItemType=10Where(stdmodein(0,1,2,3));
 UpDateStdItems.DBSetItemType=11Where(NameLike'%宝石%');
 UpDateStdItems.DBSetItemType=12Where(stdmode=4);
 UpDateStdItems.DBSetItemType=13Where(stdmodein(43));
 UpDateStdItems.DBSetItemType=14Where(stdmodein(41));
 UpDateStdItems.DBSetItemType=15Where(stdmodein(42));
 先扩展Monster.DB,打开HeroDB分别执行以下SQL命令:
 AlterTableMonsterAddColumnInLevelInteger//怪物内功等级,会加强攻防
 AlterTableMonsterAddColumnIPExpInteger//怪物内功经验
 UpDateMonster.DBSetIPExp=0WHERE(Race<>0);
 UpDateMonster.DBSetInLevel=0WHERE(Race<>0);
 [!]扩展技能到15级,
 扩展Magic.DB,打开HeroDB分别执行以下SQL命令,各需要等级、经验自行设置:
 其中MaxTrainLv为最高可自然升级的技能级别,可以使用:ChangeTranPoint技能名操作符(+-=)数值//修改技能经验点
 以下一次执行:(NeedL%d-每个技能级别需要人物等级)
 AlterTableMagicAddColumnNeedL4Integer;
 AlterTableMagicAddColumnNeedL5Integer;
 AlterTableMagicAddColumnNeedL6Integer;
 AlterTableMagicAddColumnNeedL7Integer;
 AlterTableMagicAddColumnNeedL8Integer;
 AlterTableMagicAddColumnNeedL9Integer;
 AlterTableMagicAddColumnNeedL10Integer;
 AlterTableMagicAddColumnNeedL11Integer;
 AlterTableMagicAddColumnNeedL12Integer;
 AlterTableMagicAddColumnNeedL13Integer;
 AlterTableMagicAddColumnNeedL14Integer;
 AlterTableMagicAddColumnNeedL15Integer;
 以下一次执行:
 UpDateMagic.DBSetNeedL4=(NeedL3+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL5=(NeedL4+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL6=(NeedL5+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL7=(NeedL6+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL8=(NeedL7+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL9=(NeedL8+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL10=(NeedL9+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL11=(NeedL10+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL12=(NeedL11+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL13=(NeedL12+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL14=(NeedL13+(NeedL3-NeedL2))WHERE(MagID<>0);
 UpDateMagic.DBSetNeedL15=(NeedL14+(NeedL3-NeedL2))WHERE(MagID<>0);这段出错,可以不管。自己设置
 以下一次执行:(L%dTrain-每个技能级别需要升级经验)
 AlterTableMagicAddColumnL4TrainInteger;
 AlterTableMagicAddColumnL5TrainInteger;
 AlterTableMagicAddColumnL6TrainInteger;
 AlterTableMagicAddColumnL7TrainInteger;
 AlterTableMagicAddColumnL8TrainInteger;
 AlterTableMagicAddColumnL9TrainInteger;
 AlterTableMagicAddColumnL10TrainInteger;
 AlterTableMagicAddColumnL11TrainInteger;
 AlterTableMagicAddColumnL12TrainInteger;
 AlterTableMagicAddColumnL13TrainInteger;
 AlterTableMagicAddColumnL14TrainInteger;
 AlterTableMagicAddColumnL15TrainInteger;
 以下一次执行:
 UpDateMagic.DBSetL4Train=(L3Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL5Train=(L4Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL6Train=(L5Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL7Train=(L6Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL8Train=(L7Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL9Train=(L8Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL10Train=(L9Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL11Train=(L10Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL12Train=(L11Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL13Train=(L12Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL14Train=(L13Train*2)WHERE(MagID<>0);
 UpDateMagic.DBSetL15Train=(L14Train*2)WHERE(MagID<>0);
 以下一次执行:(MaxTrainLv-最高可升级的技能级别)
 AlterTableMagicAddColumnMaxTrainLvInteger;
 以下一次执行:
 UpDateMagic.DBSetMaxTrainLv=3WHERE(MagID<>0);
 以上就是整个M2对DB需要做的扩展,现在我们运行一次M2看看,
 2011-10-11 20:36:37[错误信息]城堡初始化城门失败,检查怪物数据库里有没城门的设置:MainDoor
 2011-10-11 20:36:37[错误信息]城堡初始化左城墙失败,检查怪物数据库里有没左城墙的设置
  eftWall 2011-10-11 20:36:37[错误信息]城堡初始化中城墙失败,检查怪物数据库里有没中城墙的设置:CenterWall
 2011-10-11 20:36:37[错误信息]城堡初始化右城墙失败,检查怪物数据库里有没右城墙的设置:RightWall这些是因为我现在的DB是老版的,城墙的名称都是中文,不是英文设置,基本上全部OK了,DB整个扩展完成,还有一个,就是对BOOT的修改,因为加密的原因,每个机器在注册了M2以后,都必须修改BOOT,否则会出现怪物0血不死,人物释放魔法缓慢,M2报错等问题,那么现在大家看我修改BOOT。
 [bootloader]
 timeout=3
 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
 [operatingsystems]
 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"/noexecute=AlwaysOff/fastdetect
 C:\mxldr=MaxDOS工具?然后将服务器重起即可完毕。
 
 | 
 |