Anyone Have a Tabbed Chat

by Janalon

Back to Mechanic's Corner.

Janalon2010-08-27 04:14:40
Need a tabbed chat that works well for Mudlet.
Unknown2010-08-27 05:35:56
QUOTE (Janalon @ Aug 27 2010, 12:14 AM) <{POST_SNAPBACK}>
Need a tabbed chat that works well for Mudlet.



Funny you should ask, I did this one up for AquaNeos earlier today. codey stuff
Neos2010-08-27 05:39:00
QUOTE (demonnic @ Aug 27 2010, 01:35 AM) <{POST_SNAPBACK}>
Funny you should ask, I did this one up for AquaNeos earlier today. codey stuff


Yes it is awesome, but never check the debug window while the tabs are flashing. There's also a non tab flashing one on pastebin.
Janalon2010-08-27 17:41:44
QUOTE (AquaNeos @ Aug 27 2010, 01:39 AM) <{POST_SNAPBACK}>
Yes it is awesome, but never check the debug window while the tabs are flashing. There's also a non tab flashing one on pastebin.


AWESOME! I knew you would come through. In fact, I checked your various scripts and saw the blinking was uploaded just four hours prior to my posting. I can follow the directions very easily until:

CODE
To use it, you create a trigger for the chat line, and in the script put the following:

selectString(line,1)
ChatStuff.append("All")
ChatStuff.append("Guild")
deselect()


Can someone walk me through this part? What am I supposed to catch in my trigger? How many triggers do I need?
Neos2010-08-27 18:33:28
QUOTE (Janalon @ Aug 27 2010, 01:41 PM) <{POST_SNAPBACK}>
AWESOME! I knew you would come through. In fact, I checked your various scripts and saw the blinking was uploaded just four hours prior to my posting. I can follow the directions very easily until:

CODE
To use it, you create a trigger for the chat line, and in the script put the following:

selectString(line,1)
ChatStuff.append("All")
ChatStuff.append("Guild")
deselect()


Can someone walk me through this part? What am I supposed to catch in my trigger? How many triggers do I need?


The lines for the channels. I was doing it a stupid way, but demonnic set me straight.

Just put (Org): as a begin of line substring then put the above code in the code box with the second append part changed to whichever window you want it to go in.
Example
CODE
(Glomdoring): <-- pattern, begin of line substring

selectString(line,1)
ChatStuff.append("All")
ChatStuff.append("City")
deselect()


Janalon2010-08-27 19:06:49
QUOTE (AquaNeos @ Aug 27 2010, 02:33 PM) <{POST_SNAPBACK}>
The lines for the channels. I was doing it a stupid way, but demonnic set me straight.

Just put (Org): as a begin of line substring then put the above code in the code box with the second append part changed to whichever window you want it to go in.
Example
CODE
(Glomdoring): <-- pattern, begin of line substring

selectString(line,1)
ChatStuff.append("All")
ChatStuff.append("City")
deselect()


I did that, but this is all I seem to be capturing:

QUOTE
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3478m, 4005e, 10p, 23964en, 16467w esSilrx-


What am I doing wrong?
Neos2010-08-27 19:38:46
QUOTE (Janalon @ Aug 27 2010, 03:06 PM) <{POST_SNAPBACK}>
I did that, but this is all I seem to be capturing:



What am I doing wrong?


Is it popping up in the windows? If you don't delete the line that won't happen. There was a work around demonnic gave me.

Put this in your Prompt trigger.
CODE
if deletePromptPlease then
deleteLine()
deletePromptPlease = false
end


What I did is create a child trigger prompt for each channel line and put in deletePromptPlease = true and that usually does it. I have to redo it because I lost the fixes because Mudlet crashed on me.
Janalon2010-08-27 19:56:48
QUOTE (AquaNeos @ Aug 27 2010, 03:38 PM) <{POST_SNAPBACK}>
Is it popping up in the windows? If you don't delete the line that won't happen. There was a work around demonnic gave me.

Put this in your Prompt trigger.
CODE
if deletePromptPlease then
deleteLine()
deletePromptPlease = false
end


What I did is create a child trigger prompt for each channel line and put in deletePromptPlease = true and that usually does it. I have to redo it because I lost the fixes because Mudlet crashed on me.


To be more specific, I have

CODE
(Nekotai):


With begin of line substring as my trigger catch.

CODE
selectString(line,1)
ChatStuff.append("All")
ChatStuff.append("Guild")
deselect()


In the space for scripts. I do have visuals on the top, right frame. The tabs do blink when I get a new message. These things work. For some reason it is capturing the line immediately following (which is my prompt). Even when I added that line, it captured my prompt and placed it into the tabbed chat window. Odd, eh?
Neos2010-08-27 21:01:13
QUOTE (Janalon @ Aug 27 2010, 03:56 PM) <{POST_SNAPBACK}>
To be more specific, I have

CODE
(Nekotai):


With begin of line substring as my trigger catch.

CODE
selectString(line,1)
ChatStuff.append("All")
ChatStuff.append("Guild")
deselect()


In the space for scripts. I do have visuals on the top, right frame. The tabs do blink when I get a new message. These things work. For some reason it is capturing the line immediately following (which is my prompt). Even when I added that line, it captured my prompt and placed it into the tabbed chat window. Odd, eh?


Create another trigger and put it into the channel trigger with the Prompt regex, and just have deleteLine() with the fire length of the main trigger set to one.
Janalon2010-08-27 23:19:23
5
CODE
560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3478m, 4005e, 10p, 23964en, 16467w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-


Nope, that isn't working either.
Unknown2010-08-28 04:26:50
QUOTE (Janalon @ Aug 27 2010, 07:19 PM) <{POST_SNAPBACK}>
5
CODE
560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3478m, 4005e, 10p, 23964en, 16467w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-
5560h, 3720m, 4005e, 10p, 25100en, 16550w esSilrx-


Nope, that isn't working either.



I will import this into an otherwise empty profile now on Cern.. I'll send you a tell when I get on there, if you're around... either way, I'll make sure it's still working right and export it with some sample triggers I've tested. Should help.
Unknown2010-08-28 04:50:12
QUOTE (demonnic @ Aug 28 2010, 12:26 AM) <{POST_SNAPBACK}>
I will import this into an otherwise empty profile now on Cern.. I'll send you a tell when I get on there, if you're around... either way, I'll make sure it's still working right and export it with some sample triggers I've tested. Should help.



Alrighty, I left a line out in the instructions. After the selectString(line,1) , on another line, put copy() and all will be right with the world.

Though, I don't know why you're getting deleted lines, unless you added a deleteLine() to the trigger's script some where. In which case, that part is WAI. The easiest fix is to add a bit to the trigger scripts, namely

deleteNextPromptPlease = true


and then at the end of your prompt trigger

CODE
if deleteNextPromptPlease == true then
  deleteLine()
  deleteNextPromptPlease = false
end



Unknown2010-08-28 05:29:46
Awesome script, thank you demonnic smile.gif

Few questions:
1 - is it possible for a button/key to cycle through the chats? I thought tabbed chat literally meant pressing tab would go to the next chat box heh.
2 - When I log in, all the tabs are highlighted by default. How to make them unhighlighted upon login?

EDIT:

Now using demonnic's map and tabbed chat. I've never had a more beautiful looking client cloud9.gif Now for a fancy GUI!

Unknown2010-08-28 05:50:04
QUOTE (Shou @ Aug 28 2010, 01:29 AM) <{POST_SNAPBACK}>
Awesome script, thank you demonnic smile.gif

Few questions:
1 - is it possible for a button/key to cycle through the chats? I thought tabbed chat literally meant pressing tab would go to the next chat box heh.
2 - When I log in, all the tabs are highlighted by default. How to make them unhighlighted upon login?

EDIT:

Now using demonnic's map and tabbed chat. I've never had a more beautiful looking client cloud9.gif Now for a fancy GUI!




Heh, if only I were the primary author of either. Rather than write my own I used the stuff Vadi used for mko. I think it even still has the mk_map variables in it. If not, it's only because I changed them to fit within the Stygian table framework. And someone I talk to from the #mudlet-help channel on IRC did the meat of that tabbed chat, I really just added the blinky and cleaned up the variables a bit.
Neos2010-08-28 06:13:09
Behold. Though it is unfinished it still looks awesome imo.
Unknown2010-08-28 06:15:27
QUOTE (AquaNeos @ Aug 28 2010, 02:13 AM) <{POST_SNAPBACK}>
Behold. Though it is unfinished it still looks awesome imo.



Looking pretty good to me too, honestly. Then again, I'm a fan of simply moving text around and organizing it. maybe a touch of colour here or there to brighten it up. Help things stand out.
Neos2010-08-28 06:28:47
QUOTE (demonnic @ Aug 28 2010, 02:15 AM) <{POST_SNAPBACK}>
Looking pretty good to me too, honestly. Then again, I'm a fan of simply moving text around and organizing it. maybe a touch of colour here or there to brighten it up. Help things stand out.


Yeah, I do like my color. Much prefer to just recognizing colors flashing by then catching certain words. If I can ever complete it, it will be awesome.
Janalon2010-08-28 08:49:19
QUOTE (demonnic @ Aug 28 2010, 12:50 AM) <{POST_SNAPBACK}>
Alrighty, I left a line out in the instructions. After the selectString(line,1) , on another line, put copy() and all will be right with the world.

Though, I don't know why you're getting deleted lines, unless you added a deleteLine() to the trigger's script some where. In which case, that part is WAI. The easiest fix is to add a bit to the trigger scripts, namely

deleteNextPromptPlease = true


and then at the end of your prompt trigger

CODE
if deleteNextPromptPlease == true then
  deleteLine()
  deleteNextPromptPlease = false
end


THIS DID IT! Thank you 100,000,000 for taking the time to publish an awesome product.
Janalon2010-08-28 09:16:47
On a side note... how do I capture tells?
Neos2010-08-28 09:32:43
QUOTE (Janalon @ Aug 28 2010, 05:16 AM) <{POST_SNAPBACK}>
On a side note... how do I capture tells?


how I do it. then just have the appending stuff for tells.
CODE
You tell <-- begin of line substring
^(\\w+) tells you, "(.*)"$ <-- regex