请选择 进入手机版 | 继续访问电脑版
查看: 252|回复: 0

新GOMLoadFileToMemory解决读取通区多区同时读写丢失txt问题

[复制链接]

125

主题

66

回帖

634

积分

管理员

金币
433
元宝
113

优秀会员突出贡献论坛元老管理团队

发表于 2023-5-23 10:23:46 | 显示全部楼层 |阅读模式
修改以下文本命令兼容老GOM模式(OLDMODE) 新GOM的文本支持内存高速LoadFileToMemory,通区模式、多区同时读写丢失txt内容等等问题,建议使用新GOM模式大服人多可使用LoadFileToMemory LoadFileToMemoryEx将文本加入高速模式,也可以使用OLDMODE切换为老GOM模式,解决读写大文本卡顿的问题
大部分是爆物品触发或捡取触发里,加入了脚本记录装备的功能导致的,每爆或捡取一个装备,脚本就记录下来,记录的文本很快就变的很大,频繁读写硬盘就会卡

GetListString 参数5已支持OLDMODE 老模式支持绝对路径
GETRANDOMLINETEXT 参数3=0随机抽取 =1指定行,参数4已支持OLDMODE 老模式支持绝对路径
AddTextListEx 参数4已支持OLDMODE 老模式支持绝对路径
GetRandomText 命令同GETRANDOMLINETEXT一样
IncFileList 参数4已支持OLDMODE 老模式支持绝对路径
GetRandomTexts 参数5已支持OLDMODE 老模式支持绝对路径
GuildSaveToList 此命令使用不频繁,忽略
SortGuildToList 参数4已支持OLDMODE 老模式支持绝对路径

GetStringPosEx 参数5已支持OLDMODE 老模式支持绝对路径
CheckContainsTextList 参数3已支持OLDMODE 老模式支持绝对路径
CheckContainsTextListEx 参数3已支持OLDMODE 老模式支持绝对路径
GetStringPos 参数3已支持OLDMODE 老模式支持绝对路径
CheckTextList 文件位置 字符串 参数4已支持OLDMODE 老模式支持绝对路径  

CheckTextList 文件名 检测字符串1 检测字符串2(可为空) 参数4=新老模式 注:当参数4不为空时,字符串2可用'' 或 "" 表示空
例子:CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)> '' OLDMODE 表示老模式检测

AddTextList 文件位置 字符串 字符串2 参数4已支持OLDMODE 老模式支持绝对路径
DelTextList 文件位置 字符串 字符串3 参数4已支持OLDMODE 老模式支持绝对路径

如果第3个参数为空,又要指定第4个参数,将第3个参数设置为'' 或 "" 表示空
如果第3个参数不想填,又想填第四个参数,就把第3个参数设置为'' 或 "" 表示空

CheckNameList 参数2已支持OLDMODE 老模式支持绝对路径
CheckAccountList 参数2已支持OLDMODE 老模式支持绝对路径
CheckIPList 参数2已支持OLDMODE 老模式支持绝对路径
CheckGuildList 参数2已支持OLDMODE 老模式支持绝对路径

高速 文件 读写 LoadFileToMemory

LoadFileToMemory 文件(文件不能是通区数据文件,不支持绝对路径) 类型(0=普通文件 1=INI格式文件)
该命令作用是,把脚本用到的数据文件加载到内存里,脚本命令读取的时候就不用从硬盘读取该文件了
--------------------------------------好处--------------------------------------
已经在启动的的时候加载到内存,直接在内存读写,读写速度快,用在读写比较频繁的文件,比如捡取触发等等,
引擎每隔一段时间,保存一次该文件,不会频繁读写硬盘。
--------------------------------------缺点--------------------------------------
不能手动修改该文件,只能通过脚本命令读写
--------------------------------------------------------------------------------

[@Startup]
#ACT
LoadFileToMemory ..\QuestDiary\数据\名单.txt 0
LoadFileToMemory ..\QuestDiary\数据\战力排行数量.txt 0

;变量数据文件,也就是INI文件
LoadFileToMemory ..\QuestDiary\数据\变量.txt 1

[@main]
#IF
CHECKTEXTLIST ..\QuestDiary\数据\名单.txt <$USERNAME)>
#SAY
你的名字已经保存
#ELSEACT
AddTextList ..\QuestDiary\数据\名单.txt <$USERNAME)>
SENGMSG 6 写入后,已经在内存中,不会立即保存到文件里,引擎每隔一段时间自动保存,文件里可能看不见。
SENGMSG 6 不管是否保存,使用CHECKTEXTLIST命令检测是存在的,使用了LoadFileToMemory后,所有命令都是直接检测内存的


比较懒什么都没有留下!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则