gm下载站 发表于 2024-1-14 14:48:20

更新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、比如“稻草人”变更为:这是名字很长的稻草人\<不死系>

http://www.gmbb8.com/data/attachment/forum/202312/27/132303f3cfflc2lja3jesf.jpg


[人物数据错乱、出现极品变态属性、变态的鉴定附加神秘属性、商城出现上亿的元宝购买价格]
以上错误是因为客户端不正确,请更换程序包里的客户端文件夹里的如下:客户端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:
文件夹触发脚本路径,统一修改为“..\”:

举例老模式:
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 1S0

快速扩展的方法:使用文本替换工具,将[ QuestDiary\]和[ .\QuestDiary\]替换为[..\QuestDiary\],注意前面两个有空格!(替换前记得备份)
========================================================
注意4:
NPC文本操作命令非常消耗资源,特别时文本较大、操作频繁或脚本不合理时,服务器会严重卡顿!
优化NPC文本操作命令,文本会载入到内存中操作,直接修改文本操作现在不会生效!

!setup.txt UseFastTextFile = 1代表开启引擎默认(“0”无效数字)

文本操作命令扩展命令“HardDisk”(实时读写硬盘数据,否则在内存操作,如果脚本中不写“HardDisk”,引擎会1分钟自动保存一次物理硬盘本地!)
只需要对特性的文件做HardDisk操作就可以,这样能提升游戏的性能!

使用举例:假设我们要将指定的字符串写入指定文本内,我们用“ADDLINELIST”演示!
addLineList ..\QuestDiary\rolelist.txt123456789;代表只写入内存里,但没写入到文本内!
addLineList ..\QuestDiary\rolelist.txt123456789 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    ◆检查用户会员日期

注意5:
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”!否则会出现数据错乱!
页: [1]
查看完整版本: 更新BLUE引擎时相关重要说明