Mudlet Questions

by Rika

Back to Mechanic's Corner.

Unknown2010-10-31 23:35:41
I'd recommend concatenating your timer call string into a local variable to be printed, so you can double check that what your making is valid syntax. If j is a table or function, for example, you'll need to do some manipulation to make it valid. If it's nil, maybe you need to check your database for valid entries before setting up the timer.
Anisu2010-11-01 01:15:26
ugh so I found out why it didn't work. I forgot even though I am using a variable I have to use the " " when sending code with a temp function.

stupid stupid me
Vadi2010-11-01 01:36:48
Just a tip, you can use linebreaks within ], or even give anonymous functions / closures to tempTimer ala:

tempTimer(1, function () send"hey!" end)

Lilia2010-11-12 23:08:49
Is there any easy way to colorize several triggers at once, other than find and replace? I can't figure out how to get my word processor to tell the difference between to two different sets. I want all the triggers called add to be one color, and all the triggers named remove to be another color. Can I add something into the function each trigger calls to color the line that way?
Vadi2010-11-13 03:15:15
Not quite sure what do you mean.
Lilia2010-11-13 08:02:28
I can export a large group of triggers, then use find and replace to change the background and foreground colors on them all at once. I (maybe foolishly) decided to group my triggers by affliction name, with one called add with the affliction received lines, and one called remove with the cure lines. Using the find and replace method, I can only make them all look the same, instead of red or green like I want. I have a function called in each trigger to add or remove the aff from my queue. Is there something I can put in the function to color the line, so I don't have to manually do it for each trigger that I add? I'm saving up for m&m, so I don't want to do a ton of work just to delete it all once get a real system. I'm probably just being lazy though.
Unknown2010-11-13 08:25:18
Just create a single trigger and have it match on everything you want, ideally using a perl regex for each item you wish to highlight, although substring will work. (Albeit unsafely at times.)

As the script for this trigger, use the following:

CODE
selectString( matches, 1 )
fg( fgColour )
bg( bgColour )
resetFormat()


You will need to declare those variables somewhere, so maybe on your login script, have it do just that:

CODE
fgColour = "white"
bgColour = "black"


Then to change them, it is a simple case of just assigning to the variable. Example could include:

1. An Alias...

Pattern: ^colchangeYR$ -- ColourChange (Yellow/Red)

Script: fgColour = " etc. etc .... -- See above as per the declaration.


2. A Trigger...

Pattern: ^(Something happened and I want to change some colours\\.)$

Script: fgColour = etc..



Hope that helps!


EDIT: Just thought. That might need multimatches. Let me know if you have any problems with that, ok.
EDIT2: I know it looks strange, but don't forget the parenthesis if using a trigger, else it wont backreference.
Lilia2010-11-13 20:23:47
This -might- help, I'm not sure. I can't put it all in one trigger though, since I need two triggers for each affliction. I'm not wanting to change the highlights as I go or anything, I just don't want to take the time to click foreground, find the color, click background, find the color, everytime time I add an affliction.

So I've got a trigger for, let's say, clumsiness. The script in the trigger is: addaff("clumsiness"). I want all addaff() to highlight red. The trigger for the cure line calls removeaff("clumsiness"), which I want to highlight green. Can I put that selectString bit in the script for addaff() and removeaff()?

If there's no quick and easy way to do it, that's fine. My OCD tendencies will see it gets done no matter how tedious it is.
Neos2010-11-13 20:27:54
QUOTE (Lilia @ Nov 13 2010, 03:23 PM) <{POST_SNAPBACK}>
This -might- help, I'm not sure. I can't put it all in one trigger though, since I need two triggers for each affliction. I'm not wanting to change the highlights as I go or anything, I just don't want to take the time to click foreground, find the color, click background, find the color, everytime time I add an affliction.

So I've got a trigger for, let's say, clumsiness. The script in the trigger is: addaff("clumsiness"). I want all addaff() to highlight red. The trigger for the cure line calls removeaff("clumsiness"), which I want to highlight green. Can I put that selectString bit in the script for addaff() and removeaff()?

If there's no quick and easy way to do it, that's fine. My OCD tendencies will see it gets done no matter how tedious it is.

yeah you can just add in the coloring code to the functions.
Aramel2010-11-14 03:12:11
I've been tinkering with the mudlet mapper, but the speedwalk seems to be broken. When I try doing ROOM FIND X, it does this.

Alias: capture group #1 =
Alias: capture group #2 = <991>
LUA: ERROR running script Room find (Alias84) ERROR::75:
attempt to call global 'searchRoom' (a nil value)
Vadi2010-11-14 04:06:40
That means your Mudlet version is too old. Speedwalk isn't related to the room find function, though.
Aramel2010-11-14 05:33:54
I just downloaded 1.2.0 though. sad.gif Though for some reason it's not updating for me.

Edit: Also, does mudlet have something that triggers on an echo? I'd like to trigger the m&m "ready for combat" line to put away some of my defup items.
Unknown2010-11-14 07:43:46
QUOTE (Aramel @ Nov 14 2010, 05:33 AM) <{POST_SNAPBACK}>
I just downloaded 1.2.0 though. sad.gif Though for some reason it's not updating for me.

Edit: Also, does mudlet have something that triggers on an echo? I'd like to trigger the m&m "ready for combat" line to put away some of my defup items.


Can you paste the link for the download you grabbed so I can confirm?

As for the ready for combat line, that will prove more difficult and waiting on Vadi to advise would be the safest best as it does not seem to be dealt with directly in client as it were. There is certainly nothing matching (with a corresponding "defences completed" function call) coming back from my searches.
Janalon2010-11-14 16:58:26
The road to success is paved in ruin... or at least so I've learned from Avechna war games. Making lots of newblet mistakes (many of which I've learned from very quickly). The most embarrassing is not realizing that I've killed one opponent and then died to a second having never changed my combat target. Egads.

Want to make an unmissable and unique combat echo to signify when my combat target dies. Was thinking about using the following:

CODE
          .<==+.           .<==+.           .<==+.
               \\\\               \\\\               \\\\
  __  /*-----._//  __  /*-----._//  __  /*-----._//
  >_)='-
Neos2010-11-14 17:09:00
QUOTE (Janalon @ Nov 14 2010, 11:58 AM) <{POST_SNAPBACK}>
The road to success is paved in ruin... or at least so I've learned from Avechna war games. Making lots of newblet mistakes (many of which I've learned from very quickly). The most embarrassing is not realizing that I've killed one opponent and then died to a second having never changed my combat target. Egads.

Want to make an unmissable and unique combat echo to signify when my combat target dies. Was thinking about using the following:

CODE
          .<==+.           .<==+.           .<==+.
               \\\\               \\\\               \\\\
  __  /*-----._//  __  /*-----._//  __  /*-----._//
  >_)='-
Unknown2010-11-14 17:48:34
@Janalon

I suspect you are already aware of this site, but nonetheless, check it out.

Regardless, I think many will find a use for it.
Janalon2010-11-14 17:55:05
Final edit:

CODE
cecho("\\n           .<==+.              .<==+.              .<==+. \\n")
cecho("                \\\\\\\\                  \\\\\\\\                  \\\\\\\\ \\n")
cecho("   __  /*-----._//     __  /*-----._//     __  /*-----._// \\n")
cecho("   >_)='-
Janalon2010-11-14 17:56:04
QUOTE (Rampart @ Nov 14 2010, 12:48 PM) <{POST_SNAPBACK}>
@Janalon

I suspect you are already aware of this site, but nonetheless, check it out.

Regardless, I think many will find a use for it.




OOoohhhhhh. Was using the ASCII dictionary. Your resource is awesome!
Lilia2010-11-16 18:30:02
If I want to make a little window that will tell me, for instance, whether I'm mounted or not, should I use a miniConsole or a label? And if I want to keep track of other things, can they be in the same window/label, or would it be easier to make one for each line I want to show and just squish them together?
Vadi2010-11-16 18:32:56
Depends. A miniConsole would be a bit easier to work with, but it's text only. A label though can be made to look real fancy!

I'd go with either, then change later if you'd like to.