北大侠客行MUD论坛

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

【Mush】转载一个防止发呆的插件

[复制链接]
发表于 2010-7-23 11:55:36 | 显示全部楼层 |阅读模式
防止发呆的插件

在zmud中,为了防止游戏人物因为处于发呆状态(AFK,away from keyboard)而被踢出服务器,通常的做法是设置一个定时器,定时的发送一些命令。但是这样做有一点不完美的地方就是当你正在操作人物时,定时器仍然会定时发送这些命令。虽然不影响正常的使用,但仍然感觉有点不爽。当然,你也可以把这个定时器关闭,不过感觉还是有点麻烦。
以上的一切在mc中将不复存在。把以下代码另存为一个扩展名为 xml 的文件,让后放到mc的插件目录下面(mushclient\worlds\plugins),然后在游戏中安装这个插件即可以使用。为了正常使用本插件,请确保插件目录下存在 state 目录,这个目录是用来保存插件状态的。此插件适用于任何 MUD。
此插件的原理也是利用一个定时器定时发送你指定的命令来防止人物处于发呆状态。但是有点不同的是当你输入命令的时候,这个定时器会自动重新计时。



   name="AFK"
   author="Blizzard"
   id="4d167d47cac26fb36e161e48"
   language="Lua"
   save_state="y"
   purpose="处于发呆状态时自动发送指定的命令"
   date_written="2006-05-31 10:32:50"
   requires="3.73"
   version="1.0"
   >

处于发呆状态(AFK)时自动发送指定的命令给 MUD 服务器。
使用 afk:help 命令显示更详细的信息
]]>




      name="afk_timer"
   second="0"
   minute="5"
   send_to="12"
   enabled="y"
  >
  
    local minutes = tonumber(GetTimerOption("afk_timer", "minute"))
    local seconds = GetTimerOption("afk_timer", "second")
    local commands = utils.split(GetVariable("command"), ",")
    local command = commands[math.random(table.getn(commands))]
    ColourNote("salmon", "", "AFK 命令(" .. (minutes > 0 and minutes .. " 分 " or "") .. seconds .. " 秒" .. ")")
    Send(command)
  

  



  
      match="afk:help"
   enabled="y"
   send_to="12"
   sequence="100"
  >
  
    ColourNote("salmon", "", "afk:set_command cmd  - 设置 AFK 命令,cmd 为任何你想发送的 MUD 命令")
    ColourNote("salmon", "", "                       若有多个命令,需用逗号分开,插件会随机选择一个")
    ColourNote("salmon", "", "afk:set_time seconds - 设置 AFK 的时间,seconds 为大于 0 小于 3600 的数字(秒)")
    ColourNote("salmon", "", "afk:enable           - 启用 AFK 插件")
    ColourNote("salmon", "", "afk:disable          - 禁用 AFK 插件")
    ColourNote("salmon", "", "afk:show_state       - 显示 AFK 当前的状态")
  

  

  
      match="^afk:set_command +(.+)$"
   enabled="y"
   regexp="y"
   send_to="12"
   sequence="100"
  >
  
    local cmd = "%1"
    SetVariable("command", cmd)
    ColourNote("salmon", "", "当前 AFK 命令已经设置为 " .. cmd)
    SaveState()
  

  

  
      script="set_time"
   match="^afk:set_time +(.+)$"
   enabled="y"
   regexp="y"
   sequence="100"
  >
  

  
      match="afk:enable"
   enabled="y"
   send_to="12"
   sequence="100"
  >
  
    EnableTimer("afk_timer", true)
    SetVariable("enable", 1)
    ResetTimer("afk_timer")
    ColourNote("salmon", "", "AFK 功能已经启用")
    SaveState()
  

  

  
      match="afk:disable"
   enabled="y"
   send_to="12"
   sequence="100"
  >
  
    EnableTimer("afk_timer", false)
    SetVariable("enable", 0)
    ColourNote("salmon", "", "AFK 功能已经禁用")
    SaveState()
  

  

  
      match="afk:show_state"
   enabled="y"
   send_to="12"
   sequence="100"
  >
  
    local minutes = tonumber(GetVariable("minutes"))
    local seconds = GetVariable("seconds")
    ColourNote("salmon", "", "AFK 的时间为 " .. (minutes > 0 and minutes .. " 分 " or "") .. seconds .. " 秒")
    ColourNote("salmon", "", "AFK 的命令为 " .. GetVariable("command"))
    ColourNote("salmon", "", "AFK 功能已经 " .. (GetVariable("enable") == "1" and "启用" or "禁用"))
  

  






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-7-23 11:57:59 | 显示全部楼层
--------------------- AFK 插件 ---------------------
处于发呆状态(AFK)时自动发送指定的命令给 MUD 服务器。
使用 afk:help 命令显示更详细的信息

afk:set_command cmd  - 设置 AFK 命令,cmd 为任何你想发送的 MUD 命令
                       若有多个命令,需用逗号分开,插件会随机选择一个
afk:set_time seconds - 设置 AFK 的时间,seconds 为大于 0 小于 3600 的数字(秒)
afk:enable           - 启用 AFK 插件
afk:disable          - 禁用 AFK 插件
afk:show_state       - 显示 AFK 当前的状态

当前 AFK 命令已经设置为 time

当前 AFK 时间已经设置为 5 分 0 秒
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-7-23 12:13:21 | 显示全部楼层
有点意思,回家就试试
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-7-23 12:34:01 | 显示全部楼层
效果出来了:
AFK 命令(5 分 0 秒)
time
现在现实中的时间是北京时间 Fri Jul 23 12:31:07 2010(庚寅年七月二十三日午时三刻)。
北大侠客行现在大约是正午时分。
本周为杀戮之周,胡一刀任务奖励增加10%!

请注意,输入afk:show_state看一看,默认居然是AFK 功能已经禁用的。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-7-23 16:14:33 | 显示全部楼层
我在用。很好用。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 11:32 PM , Processed in 0.010006 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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