| 更新BLUE2020.01.11-2021版引擎,需要大家认真详细查看下方内容,否则使用新引擎会遇到莫名其妙问题   1、使用DBCommander先把monster.db数据导出备份到文本2、使用工具HeroDBConvertor.exe转换新monster.db(扩展名字长度)
 3、使用DBCommander清空新的monster.db,并导入步骤1备份的数据文本,这时怪物名称就扩展到最长32字节
 4、NPC名称更改直接在npcs.txt、merchant.txt文本编辑
 5、比如“稻草人”变更为:这是名字很长的稻草人<不死系>
 【人物数据错乱、出现极品变态属性、变态的鉴定附加神秘属性、商城出现上亿的元宝购买价格】以上错误是因为客户端不正确,请更换程序包里的客户端文件夹里的如下:客户端dat
 bluem2_client.dat  合计版
 bluem2_client2.dat 连击版
 bluem2_client3.dat 复古版
 【人物等级错乱、血量溢出、登录黑屏、无法正常进入游戏】请配换配套的游戏网关RunGate.exe 以及 DBServer.exe 因为有些数据是之前的程序结构,所以会出现黑屏!其次就是登录器需要配套。
 最重要的就是登录器,只能使用程序包里的登录器配置器生成的登录器才能正常进入游戏。
 【自定义LOGO,不显示】生成登录器的时候,自定义LOGO 为PNG格式 透明背景,能减少一些大小。
 LOGO完成后,使用自动更新功能将LOGO更新到玩家的客户端里即可显示。
 【还有部分使用BLUE引擎2020.01.11的GM说游戏很卡】首先建议是进行优化过多的需要重复检测写入文本的脚本,进行修改,一旦脚本写的不好,也会导致游戏卡顿。
 如果是因为释放技能或者移动攻击出现了人物1秒定住,
 请使用【网关伴侣】进行对网关设置相关的移动速度以及恢复默认设置。
 ================================================================================
 注意1:setup.txt 增加参数:TaosNomAtkDiffLvVal = 0,非0时,道士英雄比怪物多X级时,只使用普通攻击,精神力战法开关可以控制
 注意2:之前的更新:magic.db的Power/MaxPower/DefPower/DefMaxPower魔法输出计算修改为受个人的幸运值影响,
 现为以上更新增加开关:!Setup.txt增加开关(默认关闭):CalcDBPowerWithLuck=0,开启则攻击输出受个人的幸运值影响
 物理攻击现在可以使用Power/MaxPower调节威力,一般情况下,此2项的值都是0
 ================================================================================ 注意3:【QuestDiary】文件夹触发脚本路径,统一修改为“..”:
 举例老模式:
 addLineList QuestDiary olelist.txt <$USERNAME>  废除
 addLineList .QuestDiary olelist.txt <$USERNAME> 废除
 addLineList ..QuestDiary olelist.txt <$USERNAME> 支持
 新模式统一:addLineList ..QuestDiary olelist.txt <$USERNAME>
 提示:废除“QuestDiary”、“.QuestDiary” “..”表示上一目录。
 使用举例:假设我们需要获取版本行会名单里的第一行内容:
 READLINE ....GuildBaseGuildList.txt 1  S0
 快速扩展的方法:使用文本替换工具,将【 QuestDiary】和【 .QuestDiary】替换为【..QuestDiary】,注意前面两个有空格。(替换前记得备份)
 ================================================================================
 注意4:NPC文本操作命令非常消耗资源,特别时文本较大、操作频繁或脚本不合理时,服务器会严重卡顿。
 优化NPC文本操作命令,文本会载入到内存中操作,直接修改文本操作现在不会生效。
 !setup.txt UseFastTextFile = 1代表开启引擎默认(“0”无效数字) 文本操作命令扩展命令“HardDisk”(实时读写硬盘数据,否则在内存操作,如果脚本中不写“HardDisk”,引擎会1分钟自动保存一次物理硬盘本地。)
 只需要对特性的文件做HardDisk操作就可以,这样能提升游戏的性能。
 使用举例:假设我们要将指定的字符串写入指定文本内,我们用“ADDLINELIST”演示。
 addLineList ..QuestDiary olelist.txt  123456789  ;代表只写入内存里,但没写入到文本内。
 addLineList ..QuestDiary olelist.txt  123456789 HardDisk      ;增加“HardDisk”命令实时写入文本,跟老模式没区别!
 //第2参数为:HardDisk,实时读写硬盘数据,否则在内存操作
 ADDNAMELIST        ◆将人物名称加入列表
 ADDGUILDLIST       ◆将人物行会名加入列表
 ADDACCOUNTLIST     ◆将人物帐号加入列表
 ADDIPLIST          ◆将人物IP加入列表
 DELNAMELIST        ◆删除列表中人物名称
 DELGUILDLIST       ◆删除列表中行会名称
 DELACCOUNTLIST     ◆删除列表中人物帐号
 DELIPLIST          ◆删除列表中人物IP
 CHECKNAMELIST      ◆检查人物是否到列表中
 CHECKACCOUNTLIST   ◆检查人物登陆帐号
 CHECKIPLIST        ◆检查人物登陆IP
 CHECKGUILDLIST     ◆检查行会是否到列表中
 ClearNameList      ◆清除列表内容。
 CheckAccountIPList ◆检查登录帐号与IP是否匹配
 CheckNameIPList    ◆检查人物名称是否与IP匹配。
 AddNameDateList    ◆添加名称日期列表DelNameDateList    ◆删除名称日期列表
 CheckCodeList      ◆检测代码列表DelCodeList        ◆删除代码列表
 AddUseDateList     ◆添加使用日期列表DelUseDateList     ◆删除使用日期列表
 WriteLineList      ◆文件列表DeleteLineList     ◆删除列表
 INI_RELOAD         ◆重新加载文件,可以用于手动修改了文本文件的情况下。 //第3参数为:HardDisk,实时读写硬盘数据,否则在内存操作ADDLINELIST        ◆将指定变量和字符内容写入,指定文本内。
 DELLINELIST        ◆指定文本内的变量和字符内容删除。
 CHECKSTRINGLIST    ◆检查字符串是否在指定文件中。
 ReadRandomLine     ◆随机型. 从指定文件内随机读取一行到变量中。
 ReadRandomStr      ◆概率型. 从指定文件内随机读取一行到变量中。
 //第4参数为:HardDisk,实时读写硬盘数据,否则在内存操作
 ReadLine             ◆获取指定行数的一行字符到S10,或A10(全局)。
 DeleteLine           ◆获取指定行数的一行字符到S10,或A10(全局),并删除该行
 WriteLine            ◆写文字到指定行数,覆盖方式
 InsertLine           ◆插入文字到指定行数,非覆盖
 CheckNameListPostion ◆检查玩家在列表中的位置
 //第6参数为:HardDisk,实时读写硬盘数据,否则在内存操作CheckUserDateType    ◆检查用户日期类型
 //第7参数为:HardDisk,实时读写硬盘数据,否则在内存操作CheckNameDateList    ◆检查用户会员日期
 ------------------------------------------------------------------------------------------------------------------------------
 注意:ReadRandomLine
 ReadRandomStr
 ReadLine
 DeleteLine
 以上4个命令,在获取文本内容时。当检测到内容是空时,变量返回的内容是当前变量最后一次保存的内容。 举例:我们使用S10 这个变量,这个变量最后一次使用储存值是123123此时我们用上面4个命令,获取到内容空,这时S10给我们的变量是123123
 有些朋友会在用以上命令写脚本检测,检测抽取文本内容为空,则跳转到下一个执行脚本。解决方法:
 ReadRandomLine ..QuestDiary olelist.txt S10
 MOV S11 S10
 MOV S10    ;每次运行完毕后,将变量清空,再进行检测。或者在运行前先,将S10清空。
 ------------------------------------------------------------------------------------------------------------------------------ LoadVar  第4参数为:HardDisk,实时读写硬盘数据SaveVar  第4参数为:HardDisk,实时读写硬盘数据
 CalcVar  第5参数为有效的文件名时,将保存到该文件内存中,并且第6参数为:HardDisk时,还将实时读写硬盘数据
 举例“LOADVAR”我们常在用的地方和新引擎的使用方法:
 LOADVAR GLOBAL 测试变量1 ..QuestDiary测试变量全局.ini HardDisk    (我们手动修改过文本,这样可以实时加载到内存,没“HardDisk”则无效。)
 举例“SaveVar”我们常在用的地方和新引擎的使用方法:CALCVAR GLOBAL 测试变量1 = 0
 SAVEVAR GLOBAL 测试变量1 ..QuestDiary测试变量全局.ini HardDisk    (“HardDisk”写入到了物理硬盘本地,无则代表内存中!)
 举例“CalcVar”第5参数新写法例子:CalcVar GLOBAL 测试变量1 = 0 ..QuestDiary测试变量全局.ini HardDisk
 这种写法代替老模式(老模式的写法可以继续使用)
 CALCVAR GLOBAL 测试变量1 = 0
 SAVEVAR GLOBAL 测试变量1 ..QuestDiary测试变量全局.ini HardDisk
 ◆特别注意:加载个人变量  和 全局变量 都需要加 “HardDisk”!否则会出现数据错乱。
 
 
 |