北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5155|回复: 6

[mush]无聊写了个ping()函数

[复制链接]
发表于 2013-7-25 21:06:04 | 显示全部楼层 |阅读模式
应该比控制台里的ping更能反映真实的游戏速度吧。。
用法:ping() 或 ping(检查次数),比如ping(20)

  1. function ping(times)
  2.         require "wait"
  3.         n = times or 4
  4.         fmt = function(num)
  5.                 return string.format("%d 毫秒", num * 1000)
  6.         end
  7.         timeout = 20
  8.         wait.make(function()
  9.                 local time_start = utils.timer()
  10.                 local time_pre = time_start
  11.                 local time_max = 0
  12.                 local time_min = -1
  13.                 local lost = 0
  14.                 local t = 0
  15.                 local time_now = 0
  16.                 SendNoEcho("set ping start")
  17.                 for i = 1, n do
  18.                         local l, w = wait.regexp("ping", timeout)
  19.                         if not l then        lost = lost + 1        end
  20.                         time_now = utils.timer()
  21.                         t = time_now -time_pre
  22.                         time_pre = time_now
  23.                        
  24.                         if l then
  25.                                 if t > time_max then        time_max = t        end
  26.                                 if time_min == -1 then        time_min = t        end
  27.                                 if t < time_min then        time_min = t        end
  28.                         end
  29.                         if i ~= n + 1 then
  30.                                 SendNoEcho("set ping '" .. fmt(t) .. "'")
  31.                         end
  32.                 end
  33.                 local l, w = wait.regexp("ping", timeout)
  34.                 local time_end = utils.timer()
  35.                 local average = (time_now-time_start) / n
  36.                 print("已发送 = " .. n .. ", 丢失 = " .. lost .. " (" .. string.format("%d%%", lost / n * 100) .. ")")
  37.                 print("最短 = " .. fmt(time_min) .. ", 最长 = " .. fmt(time_max) .. ", 平均 = " .. fmt(average))
  38.         end)
  39. end
复制代码

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-25 21:16:47 | 显示全部楼层
……bt毁三观
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-26 10:13:13 | 显示全部楼层
确实得无聊才能做,不过挺有意思的
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-26 10:16:07 | 显示全部楼层
一个命令按住回车不放就能知道流畅程度了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-26 13:05:11 | 显示全部楼层
手动从扬州一路跑到武当山就明白流畅程度了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-26 17:21:03 | 显示全部楼层
都说了,真无聊
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-7-26 19:39:08 | 显示全部楼层
无聊你就看过来
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 07:37 PM , Processed in 0.011121 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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