Welcome to the Achaea Forums! Please be sure to read the Forum Rules.

GUI Help: How do I insert all chat into this untabbed window?

AshliaAshlia Member Posts: 18
edited March 26 in Tech Support
I've been looking around the internet and I can't seem to find exactly what I'm looking for. Essentially, I was using Akaya's GUI template (found here) and Zulah's chat window (found here) separately on my old laptop. I bought a new laptop and Zulah's GUI no longer works for me at all. I figured I could simplify things by inserting a chat window into Akaya's GUI template and be done with it, but, it turns out, I have no idea how to do that.

This is what I'm currently working with. I'd like to put the chat window above the map window.

And this is the box I want to send ALL of the chat to (say/tell/exclaim/scream/ask/yell/shout/ct/clans/etc. I don't want any tabs):

GUI.Box1 = Geyser.Label:new({
  name = "GUI.Box1",
  x = 0, y = 0,
  width = "100%",
  height = "50%",
},GUI.Right)
GUI.Box1:setStyleSheet(GUI.BoxCSS:getCSS())

(Please forgive me. I don't know how to make code spoilers.)

Any help would be greatly appreciated.

Comments

  • CaelanCaelan Member Posts: 1,957 @ - Epic Achaean
    edited March 26
    I do it all in one window because I color each one so it keeps seperate and I can scroll back easier.

    My function does this:

    function chatCapturing()
      openUserWindow("ChatCapturing")
      setWindowWrap("ChatCapturing", 160)
    end
    chatCapturing()


    Then I have a trigger for each channel (I don't send them all to the window because I want House and Order tells on the main screen so I don't miss them)
    Trigger is:
    ^\(Eleusis\)\:

    And I have the Highlight box checked and colored green for Eleusis... Other colors for other channelsThen in the main code section I put:
    selectString(line,1)
    copy()
    appendBuffer("ChatCapturing")
    deleteLine()
    resetFormat()



    No idea how "right" it is, but it's what works for me..

    Obviously you could just do something like trigger on ^.* say{|s} .*\.$  or whatever (not exactly that but making the point you can copy says, tells, whatever...

    And just change the window name "ChatCapturing" to whatever you call your window.

  • AshliaAshlia Member Posts: 18
    This worked, but now I have a separate window opening for the chat. How do I get that window into GUI.Chat_Container?



  • AshliaAshlia Member Posts: 18
    Big thanks to Kasa from the Mudlet Discord channel for helping me figure this one out! I'll post a how-to below in case anyone else needs the information.

    Finchy
  • AccipiterAccipiter Member Posts: 472 ✭✭✭✭ - Eminent
    If you use config colour to change the background to something you won't use you can use a color trigger to change the color back to what you want it to be and then copyCurrentLine() appendBuffer(GUI.Box1)

    You will probably want a few triggers to color the different channels properly, but it is the easiest way to capture everything (including the weird say and tell types that appear) without diving into GMCP. I use this method because the ansi to rgb function in Mudlet wasn't working for a while after Achaea let you use a lot more colours, but it works now so if you want to use the comm GMCP event you can do it that way too.
  • CaelanCaelan Member Posts: 1,957 @ - Epic Achaean
    Ashlia said:
    This worked, but now I have a separate window opening for the chat. How do I get that window into GUI.Chat_Container?


    You should just have to change the name of the window it is sending it to from my "ChatCapture" to Gui.YourWindowName.  

Sign In to Comment.