mush抓取聊天信息颜色,真正实现zmud的#cap功能
以前在mush中抓取聊天信息使用的是AppendToNotepad函数,不过这样抓出来的聊天信息仅仅是文本,没有丰富多彩的颜色。今天逛mush官网发现了一个真正实现zmud中#cap命令的方法,与大家共享。效果如下:首先新建一个聊天窗口:file---new world,名称为“chats_pkuxkx”,ip地址为0.0.0.0,保存位置为主窗口文件所在的文件夹(如果不清楚,在主窗口中立即执行print(GetInfo(67))即可清楚)。然后在主窗口中载入插件color_chat,这样就可以将聊天信息原原本本的抓取到chats_pkuxkx聊天窗口了。
另外如果在聊天窗口中载入插件color_chat_chat,并修改world_name = "pkuxkx" 中pkuxkx为主窗口的名称,这样在聊天窗口中输入命令可以在主窗口中反应。
插件的修改:
1、color_chat
<!--Triggers-->
<triggers>
<trigger
enabled="y"
match="^(>)*( )*【(闲聊| 天色 |谣言|保卫|动作|江湖传闻|北侠公告|北侠QQ群|江湖逸事)】"增加或减少频道修改这里。
omit_from_output="y" :这里y表示在主窗口中不显示聊天信息,改成"n"表示在主窗口中显示聊天信息。
regexp="y"
script="color_chats"
sequence="100"
>
</trigger>
<trigger
enabled="y"
match="^(>)*( )*(你告诉|.+告诉你|你回答|.+回答你)"
omit_from_output="y" :同上。
regexp="y"
script="color_chats"
sequence="100"
>
</trigger>
</triggers>
<!--Script-->
<script>
<![CDATA[
chat_world = "chats_pkuxkx"这里可以修改聊天信息窗口的名称。
local first_time = true
function color_chats (name, line, wildcards, styles)
-- try to find "chat" world
local w = GetWorld (chat_world)-- get "chat" world
-- if not found, try to open it
if first_time and not w then
local filename = GetInfo (67) .. chat_world .. ".mcl"
Open (filename)
w = GetWorld (chat_world)-- try again
if not w then
ColourNote ("white", "red", "Can't open chat world file: " .. filename)
first_time = false-- don't repeatedly show failure message
end -- can't find world
end -- can't find world first time around
if w then-- if present
for _, v in ipairs (styles) do
w:ColourTell (RGBColourToName (v.textcolour),
RGBColourToName (v.backcolour),
v.text)
end -- for each style run
w:Note ("")-- wrap up line
end -- world found
end -- function redirect
]]>
</script>
</muclient>
2、color_chat_chat
<!--Script-->
<script>
<![CDATA[
world_name = "pkuxkx" pkuxkx是主窗口的名称。
function OnPluginCommandEntered (command)
local w = GetWorld (world_name)-- find world
-- not found? show error
if not w then
ColourNote ("white", "red", "World " .. world_name .. " is not open")
else
w:Execute (command)-- execute command (handle aliases, etc.)
PushCommand (command)-- save in command history
end -- if
return ("\t")-- clear command
end -- OnPluginCommandEntered
]]>
</script>
参考mush官网:http://www.gammon.com.au/forum/?id=7991
有问题请跟帖。
[ 本帖最后由 maper 于 2009-3-7 10:04 PM 编辑 ] 赞啊ttk_05
当时活鱼放出那个脚本我试过后发现不是彩色的, 到Mush官网查看提示可以可以做成原色输出, 但是没细研究过, 没想到今天maper就和盘托出解决方案了, 很好很强大! 改天我搞一个js的,哼哼
不喜欢lua、vb AppendToNotepad是写到记事本程序的窗口,记事本拿有彩色的?
刚试了一下这两个插件,so good,用着先,这样mush就把mud当聊天室了,很好很强大!! Nick Gammon是lua派的,他的论坛上全是luattk_13 ttk_13 mush里面的notepad不像windows的记事本,可以用NotepadColour改变记事本的字体颜色和背景色,不过都是统一的。
lua挺好用的。 厉害
没仔细看,做成plugin了吗?
做成了我直接用 原帖由 whuan 于 2009-3-8 09:17 PM 发表 http://pkuxkx.net/forum/images/common/back.gif
厉害
没仔细看,做成plugin了吗?
做成了我直接用
最后面有两个插件,可以直接用。 快睡觉了,才发现这个帖子。既解决了我前期踢出的问题,又起到学习作用,多谢多谢。 挺好用的
能不能自动打开那个chats_pkuxkx的文件?