Legendm2引擎传奇服务端DB扩展录象教程

[复制链接]
查看3204 | 回复1 | 2011-10-11 09:45:30 | 显示全部楼层 |阅读模式
传奇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工具?然后将服务器重起即可完毕。
游客,如果您要查看本帖隐藏内容请回复
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
guxuanming | 2012-3-23 19:35:30 | 显示全部楼层
学习一下,谢谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则