BLUE引擎重要说明 更新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\rolelist.txt <$USERNAME> 废除 addLineList .\QuestDiary\rolelist.txt <$USERNAME> 废除 addLineList ..\QuestDiary\rolelist.txt <$USERNAME> 支持 新模式统一: addLineList ..\QuestDiary\rolelist.txt <$USERNAME> 提示:废除“QuestDiary\”、“.\QuestDiary\” “..\”表示上一目录。 使用举例:假设我们需要获取版本行会名单里的第一行内容: READLINE ..\..\GuildBase\GuildList.txt 1 S0 快速扩展的方法:使用文本替换工具,将【 QuestDiary\】和【 .\QuestDiary\】替换为【..\QuestDiary\】,注意前面两个有空格。(替换前记得备份) ========================================================== 注意4: NPC文本操作命令非常消耗资源,特别时文本较大、操作频繁或脚本不合理时,服务器会严重卡顿。 优化NPC文本操作命令,文本会载入到内存中操作,直接修改文本操作现在不会生效。 !setup.txt UseFastTextFile = 1代表开启引擎默认(“0”无效数字) 文本操作命令扩展命令“HardDisk”(实时读写硬盘数据,否则在内存操作,如果脚本中不写“HardDisk”,引擎会1分钟自动保存一次物理硬盘本地。) 只需要对特性的文件做HardDisk操作就可以,这样能提升游戏的性能。 使用举例:假设我们要将指定的字符串写入指定文本内,我们用“ADDLINELIST”演示。 addLineList ..\QuestDiary\rolelist.txt 123456789 ;代表只写入内存里,但没写入到文本内。 addLineList ..\QuestDiary\rolelist.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\rolelist.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”!否则会出现数据错乱。 |