找回密码
 注册
搜索
查看: 876|回复: 7

关于scrlog

[复制链接]
门派:天龙寺
发表于 2019-9-15 21:17:45 | 显示全部楼层 |阅读模式
求教这个函数,每次记录文本的内容太多了,怎么可以记录少一些呢
门派:武当派
发表于 2019-9-20 19:32:02 | 显示全部楼层
同问 帮你顶上去 每次查死亡log 其实就最后一点点 也许他们pk的 需要大log吧
门派:天龙寺
 楼主| 发表于 2019-9-21 00:02:23 | 显示全部楼层
alphadog@tj 发表于 2019-9-20 19:32
同问 帮你顶上去 每次查死亡log 其实就最后一点点 也许他们pk的 需要大log吧

现在机器版太冷,也没几个人回复。改天有孔百度去学下  
门派:大轮寺
发表于 2019-9-22 00:10:02 | 显示全部楼层
本帖最后由 imgxx@tj 于 2019-9-22 00:21 编辑
semic@tj 发表于 2019-9-21 00:02
现在机器版太冷,也没几个人回复。改天有孔百度去学下


你是指 每次记录的文件太大么 ?

看了下代码,
function scrLog()
    local filename = GetInfo (67) .. "logs\\" .. score.id .. '发呆'..os.date("%Y%m%d_%H时%M分%S秒") .. ".log"
   
    local file = io.open(filename,"w")
   
    local t = {}
   
    for i = 1,GetLinesInBufferCount() do
        table.insert(t,GetLineInfo(i,1))
    end
   
    local s = table.concat(t,"\n") .. "\n"
       
        file:write(s)
   
    file:close()
end

记录的文件大小应该是 由 GetLinesInBufferCount()  这个函数决定。
这个函数是 mush 的脚本函数,返回输出缓存的值,所以如果要将这个文件变小,应该调整 mush的输出窗口缓存条数就可以了。


门派:明教
发表于 2019-9-23 15:20:14 | 显示全部楼层
  1. local BufferS=GetLinesInBufferCount()-2000
  2. for i = BufferS,GetLinesInBufferCount() do
  3.         table.insert(t,GetLineInfo(i,1))
  4. end
复制代码

原来的要看你缓存的行数,mush默认15000行,估计2000行就够看了吧
不过这个要测试一下,我按照程序的意思写的,不知道对不对
门派:天龙寺
 楼主| 发表于 2019-9-23 15:30:32 | 显示全部楼层
imgxx@tj 发表于 2019-9-22 00:10
你是指 每次记录的文件太大么 ?

看了下代码,

对的,原来这个函数GetLinesInBufferCount是直接调取固定缓存啊,还以为自己定义的。
也就是她记录的是全部窗口输出,难怪每次都好长的内容。多谢了
门派:天龙寺
 楼主| 发表于 2019-9-23 15:32:24 | 显示全部楼层
aoxue@tj 发表于 2019-9-23 15:20
原来的要看你缓存的行数,mush默认15000行,估计2000行就够看了吧
不过这个要测试一下,我按照程序的意 ...

还可以这样改啊,太好了我拿个小号去试试。多谢各位大神
门派:明教
发表于 2019-9-24 13:51:09 | 显示全部楼层
aoxue@tj 发表于 2019-9-23 15:20
原来的要看你缓存的行数,mush默认15000行,估计2000行就够看了吧
不过这个要测试一下,我按照程序的意 ...

这一手不错啊!                  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-8 22:20 , Processed in 0.039776 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表