I have a tell (gtell, clan, yell) capture. i'll post it here (c/p it into a standard .txt file, but give it a name with .xml at the end....like "chat.xml" (xml is a markup language like html...but its just text...MUSHClient reads the xml extension as a plugin file... all you need to create a plugin is Notepad.... all you need to create a simple webpage is Notepad and whatever web browser you use... if you know how to write all the code yourself)
Then start a new world and save it as "chat" (it will save as chat.mcl)...needs to be called that in order for the plugin to work. set its IP address as 0.0.0.0 (port doesn't matter, i think it defaults to 4000)
To install a plugin (both the chat.xml and the .xml file you have, WW, for hilites etc.) while on SK window, go to File > Plugins. Click Add, then browse to wherever you have your .xml files stored, select your plugin file, Open it (have to do it one at a time if you have multiple ones to add). Provided the plugin installed without incident, a note line should appear on your main (SK) world about it being installed. Resize your windows (SK and Chat) to how you want it.
SAVE YOUR SK WORLD. (Save your chat world as well.)
Now, next time you start up MUSHClient and open your SK world, the chat window will open automatically.
(By the way, this chat capture plugin was written by the creator of MUSHClient, though I added in one or two things, most notably a "clear window" alias.... so if you're like me and dont want to be staring at tells from an hour ago because things have been quiet for a while... you can type: clear tells ) -------------------------------------------------------------------------------------
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE muclient> <!-- Saved on Saturday, June 30, 2007, 10:48 --> <!-- MuClient version 4.13 -->
<!-- Plugin "Chat_Redirector" generated by Plugin Wizard -->
<!-- Edit plugin and change "chat_world" variable to be the name of the world you want chats to go to. -->
<muclient> <plugin name="Chat_Redirector" author="Nick Gammon" id="cb84a526b476f69f403517da" language="Lua" purpose="Redirects chat messages to another world" date_written="2007-06-30 10:45:35" requires="4.08" version="1.0" > <description trim="y"> <![CDATA[ Redirects chats to the specified world.
Add or modify "chat" triggers to capture different sorts of message.
Change the variable "chat_world" to be the name of the world chats are to go to. ]]> </description>
</plugin>
<aliases> <alias enabled="y" match="clear tells" script="clear_tells" ></alias> </aliases>
<aliases> <alias enabled="y" match="noyells on" script="no_yells" ></alias> </aliases>
<aliases> <alias enabled="y" match="noyells off" script="yells_on" ></alias> </aliases>
<!-- Triggers -->
<triggers>
<trigger enabled="y" name="they_yell" group="chatlogging" match="^[A-Za-z ]+ yells \'(.*?)\'$" regexp="y" script="redirect" sequence="100" > </trigger>
<trigger enabled="y" name="you_yell" match="^You yell \'(.*?)\'$" regexp="y" script="redirect" sequence="100" > </trigger>
<trigger enabled="y" group="chatlogging" match="* replies '*'" script="redirect" sequence="100" > </trigger> <trigger enabled="y" group="chatlogging" match="You reply to * '*'" script="redirect" sequence="100" > </trigger> <trigger enabled="y" group="chatlogging" match="* tells you '*'" script="redirect" sequence="100" > </trigger> <trigger enabled="y" group="chatlogging" match="You tell * '*'" script="redirect" sequence="100" > </trigger> <trigger enabled="y" group="chatlogging" match="You tell the group '*'" script="redirect" sequence="100" > </trigger>
<trigger enabled="y" group="chatlogging" match="* tells the group '*'" script="redirect" sequence="100" > </trigger>
<trigger enabled="y" group="chatlogging" match="^\[[A-Z]+\] [A-Za-z\- ]+\: (.*)$" regexp="y" script="redirect" sequence="100" > </trigger>
</triggers>
<!-- Script -->
<script> <![CDATA[ chat_world = "chat" local first_time = true
function redirect (name, line, wildcards, styles)
-- try to find "chat" world local w = GetWorld (chat_world) -- get "chat" world
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 w:Note ("")
end -- world found
end -- function redirect
function clear_tells(name, line, wildcards)
local w = GetWorld (chat_world) -- get "chat" world
if w then w:DeleteOutput() w:Note ("") end
end
function no_yells (n,l,w) SetTriggerOption("you_yell","enabled","n") SetTriggerOption("they_yell","enabled","n") ColourNote("YELLOW","BLACK","Yells will NOT redirect.") end
function yells_on (n,l,w) SetTriggerOption("you_yell","enabled","y") SetTriggerOption("they_yell","enabled","y") ColourNote("YELLOW","BLACK","Yells WILL redirect.") end
function init_chat()
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 end -- end function
function OnPluginConnect() init_chat() end
function OnPluginLoad() init_chat() end
function OnPluginInstall() init_chat() end
]]> </script>
</muclient>
|