Mushclient Help

Greetings,

I've been trying to find something browsing through the Mush forums, but I've yet to see something in a ...language I can understand. With all the recent spam from the vine systems throughout the game, I've been trying to gag the message. I've managed to gag it and delete the blank lines using the Mush plugin for it, but I'm still left with the prompts following where the line would be. Does anyone know how to get rid of these as well?

(P.S.) I've been told numerous times by various people to move to Mudlet. While I'm sure it's a fine client, I rather like my current one and won't be changing.

Thank you for the help.

Comments

  • ZahanZahan Valhalla
    edited October 2016
    @adrak Great job sticking to your guns.  I'm not going to make specific comments about why mush is better because we're surrounded by mudlet fanboys, but just know that you're not alone.  I'm always keen to offer help with it and a few other awesome (see: better than me) coders that play achaea also use mush.  


    A quick and dirty solution would be:

    a prompt pattern trigger with
     * enabled = off
     * omit from output = on
     * send to = script 
     * label = prompt_gag

    and in the box
     EnableTrigger('prompt_gag', false)


    Then in your spore gag trigger, add: EnableTrigger('prompt_gag', true)


    Click here for Nexus packages
    Currently available: Abs, Cnote, Keepalive, Lootpet, Mapmod
  • edited October 2016
    Not a MUSH user myself, so this seems like this is more complicated than it should be since you can't retroactively gag lines from the window(unless I'm missing something here) and you can't set multiline triggers to omit_from_output, but here's an example that I got to work(basically what Zahan is describing above). You'll have to modify the Prompt trigger to make it work, and it seems to show the prompt anyway until the next line is received from Achaea, at which point the old prompt that should have been gagged gets removed.

    <triggers>
      <trigger
       custom_colour="11"
       enabled="y"
       group="Gag Spores"
       lines_to_match="2"
       match="As you inhale the spores, you feel suddenly revitalised."
       omit_from_log="y"
       omit_from_output="y"
       send_to="12"
       sequence="100"
      >
      <send>EnableTrigger("PromptGag", true)</send>
      </trigger>
      <trigger
       enabled="y"
       group="Gag Spores"
       match="^\d+\:\d+\:\d+\.\d+ \d+H\d+"
       name="PromptGag"
       omit_from_log="y"
       omit_from_output="y"
       regexp="y"
       send_to="12"
       sequence="101"
      >
      <send>EnableTrigger("PromptGag", false)</send>
      </trigger>
    </triggers>

  • ZahanZahan Valhalla
    Vessil said:
    Not a MUSH user myself, so this seems like this is more complicated than it should be since you can't retroactively gag lines from the window(unless I'm missing something here) and you can't set multiline triggers to omit_from_output, but here's an example that I got to work(basically what Zahan is describing above). You'll have to modify the Prompt trigger to make it work, and it seems to show the prompt anyway until the next line is received from Achaea, at which point the old prompt that should have been gagged gets removed.

    <triggers>
      <trigger
       custom_colour="11"
       enabled="y"
       group="Gag Spores"
       lines_to_match="2"
       match="As you inhale the spores, you feel suddenly revitalised."
       omit_from_log="y"
       omit_from_output="y"
       send_to="12"
       sequence="100"
      >
      <send>EnableTrigger("PromptGag", true)</send>
      </trigger>
      <trigger
       enabled="y"
       group="Gag Spores"
       match="^\d+\:\d+\:\d+\.\d+ \d+H\d+"
       name="PromptGag"
       omit_from_log="y"
       omit_from_output="y"
       regexp="y"
       send_to="12"
       sequence="101"
      >
      <send>EnableTrigger("PromptGag", false)</send>
      </trigger>
    </triggers>



    mmmmm Yeah you made that too complicated.  It does work, when done exactly how I explained.  I didn't test it with spores because I'm lazy but I did test it on a line in my score.

    You are, for some reason, trying to multiline match the spore pattern (which you didn't put in the code for looking for that second line).  You don't want to do that, least of all for this situation.  Just a simple single line trigger is sufficient.

    Also you want to start the prompt trigger disabled or else it's going to gag a prompt right away.  Not horrible but... no reason for it when it could be avoided as easily.


    The reason I gave him this solution - a solution specifically for mush, from a longterm mush user - instead of just handing over the code for a one-shot trigger, is because he can use the prompt_gag trigger again in the future if he wants to.  If his spore gag trigger is already in a plugin, then the code you gave would be a close solution with minor changes, but if it's in his world file then he's better off just adding a new trigger and checking the boxes as I described.
    Click here for Nexus packages
    Currently available: Abs, Cnote, Keepalive, Lootpet, Mapmod
  • Besides, once this is in place, it can be copied and adapted to gag a whole slew of other 'unnecessary' (unnecessary being an entirely subjective concept) prompts and reduce the speed at which text marches up the screen. Do you need a prompt after the beetle attack that does no damage, for example ? No ? Gag it with Zahan's method.
  • KresslackKresslack Florida, United States
    As a previous Mush user who converted to Mudlet, I think it's great that you're still wanting to use Mush. I will mention, that on Mudlet and using SVO, there is a Singleprompt option that completely eliminates that problem by just placing a single prompt line in the bottom that updates whenever there's a change.

    Now if you're into combat and posting combat logs and the like, you wouldn't be able to show health and status changes via simple logging, but it's an effective option.

    Otherwise, what the people have listed here looks like it would work fine for what you need.


  • @Zahan I... am actually pretty hopeless at coding. I'm actually having trouble making a ghetto regex prompt trigger to use the method that you listed. Here's what I have so far. Perhaps you can point out where I went wrong? 

    http://pastebin.com/P33UJemW
  • ZahanZahan Valhalla
    edited October 2016
    Adrak said:
    @Zahan I... am actually pretty hopeless at coding. I'm actually having trouble making a ghetto regex prompt trigger to use the method that you listed. Here's what I have so far. Perhaps you can point out where I went wrong? 

    http://pastebin.com/P33UJemW


    So close!


    You're sending: EnableTrigger('prompt_gag', true)

    That requires the trigger to be named.


    You have:  group="prompt_gag"

    But that only defines the group, not the name.


    You'd need to change EnableTrigger to EnableGroup,... or change group="prompt_gag" to name="prompt_gag"... so that it all matches.


    For your prompt, a lot of regexp formulas will grab it.

    (.*?) is a good general catchall, but it is a general catchall.  For the prompt, if you have numbers set to show, you can also use (\d+) instead to match only numbers there.  Might be a little more reliable.

    Click here for Nexus packages
    Currently available: Abs, Cnote, Keepalive, Lootpet, Mapmod
  • edited October 2016
    Aha, I see. Works like a charm now. How would I go about changing the name? I don't actually see a slot for that. I got it to work by changing it to EnableGroup. Anyways, thank you a ton, @Zahan. This will help me quite a lot even past this event.

    I really miss the old Mushclient clan that used to be around. Shame it was changed into something else.
  • ZahanZahan Valhalla
    Adrak said:
    Aha, I see. Works like a charm now. How would I go about changing the name? I don't actually see a slot for that. I got it to work by changing it to EnableGroup. Anyways, thank you a ton, @Zahan. This will help me quite a lot even past this event.

    I really miss the old Mushclient clan that used to be around. Shame it was changed into something else.

    Naming a trigger in your world (alt+enter) is done via the "label" tag.


    We may have to setup another mushclient clan in the future.  You can msg me in the meantime, if you run into a question you'd rather not post.
    Click here for Nexus packages
    Currently available: Abs, Cnote, Keepalive, Lootpet, Mapmod
  • edited October 2016
    @Zahan Yeah, I accidentally marked it as a two-line long trigger(also mistakenly left the prompt trigger as enabled, my bad). I finished my post shortly after you posted, reloaded and saw yours, and added a reference to your idea being what I was doing in that code. I was making the assumption that Adrak didn't know much about coding(which is accurate much of the time when helping relatively new characters with coding questions), so I wanted to provide functioning code so they could dissect it on their own using your post to help them understand it, especially since there are so many different checkboxes to make sure you've got checked right for MUSH's triggers. Then, from understanding that code, it would be trivial for them to use it over and over again with the same EnableTrigger line.

    Edit: Ninja'd with a response to @Adrak 's question.
  • Zahan said:

    We may have to setup another mushclient clan in the future.
    Invite me if you do ! And let me know if you need help buying the clan.
  • I'd love to join, too.  I like Mudlet and all but I loves me some Python.  I've been tinkering around lately with Mushclient but, having gone straight from Zmud/Cmud to Mudlet, learning the ins and outs has been frustrating.
Sign In or Register to comment.