使用BLUE引擎注意事项以及M2相关说明

2023-9-23 11:52| 发布者: 积木GM论坛| 查看: 1262| 评论: 0

摘要: BLUE引擎重要说明更新BLUE2020.01.11-2021版引擎,需要大家认真详细查看下方内容,否则使用新引擎会遇到莫名其妙问题 1、使用DBCommander先把monster.db数据导出备份到文本 2、使用工具HeroDBConvertor.exe转换新mon ...
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”!否则会出现数据错乱。 

相关阅读

最新评论