MUSHClient tutorials

by Unknown

Back to Mechanic's Corner.

Unknown2005-05-10 06:57:27
Ha ha! You clicked the link and are now within my power, in a few seconds my necromantic powers will have stolen the amount of time it took you to read this pointless bit of garbage, from your life! How do you feel now? A bit older perhaps? Like you wasted important seconds of your mortal existance maybe? You have aged! you might not have noticed but you have! Muwahaha! wink.gif

Ok, not really but I need some help, Hey! No smart remarks, mad.gif I recently downloaded MUSHClient because a bunch of people in RL suggested it. I love it and will prob'lly buy the full version, but I don't know how to setup triggers or anything, the help files don't explain much either, so if anyone knows where I can find tutorials, or samples, or anything that can help me learn to code in it I'd be very grateful. They don't have to be to explanatory, just so I can figure out the logic of it. Thanks for reading ths far.

Cheers! beak.gif
Unknown2005-05-13 01:52:55
The best advice I have is to download plug-ins or premade scripts and whenever you have a question, just look up a similar example and see how they did it.

Ask Ethelon nicely if you can have his system. I had no previous experience with MUSHclient but during my novicehood in Blacktalon (24 hours... Grrr) I just played around with everything. If I needed to know how to use IF..THEN statements, I'd look through his triggers. If I needed to access a parameter from a macro, I'd look at his.

As far as I know there aren't many (if any) tutorials for it, so just look at how other people did it.

If you have any specific questions, I'd be glad to try and help, and I'm sure there are people who now a lot more than I.


Edit: On a slightly different note. Does anyone know how to gag mutli-line triggers?
Also, I'm working on a auto-targetter for the IH numbers. Does anyone already have one? This is pure laziness on my part, I already know everything I need except the multi-line gagging.
Unknown2005-05-13 06:42:55
Thanks for the suggestions, Requiem! I'll try that out.

Edit: Btw is Ethelon's system any good, I've heard some things to that suggested otherwise. No offence to him/her just wondering.
Nyanco2005-05-13 10:40:26
QUOTE(requiem dot exe @ May 13 2005, 03:52 AM)
Also, I'm working on a auto-targetter for the numbers. Does anyone already have one?

I use a sort of auto-targetter, I don't know if it's what you're looking for but I post it anyway hoping that it could help.

First I made an alias to enable triggers and send the info here command:
CODE

    name="Fast_Target"
  match="ft"
  enabled="y"
  send_to="12"
  sequence="100"
 >
 EnableTriggerGroup("targeting", 1)
Send("ih")

 

I want to match only target in a list stored in a variable like this
CODE

 rockeater|moose|shark|alligator|turtle|python|leech|starsucker

Then two targetting triggers
CODE

    custom_colour="7"
  expand_variables="y"
  group="targeting"
  match="\\"((@!target_hunting)(.*?))\\"(?!( *a golden dragon turtle| *a dragon turtle))"
  regexp="y"
  send_to="12"
  sequence="100"
 >
 Execute("settar %1")
EnableTriggerGroup("targeting", 0)
Note("-= TARGET OK =-")
 

 



    custom_colour="7"
  expand_variables="y"
  group="targeting"
  match="^Number of objects"
  regexp="y"
  send_to="12"
  sequence="100"
 >
 EnableTriggerGroup("targeting", 0)
Note("-= NO TARGET =-")

 

The first one get the first target name+number matching the list, from the info here output and send in to settar, that's my basic targetting alias (The last part of the match is for avoiding some kind of targets).
The second one just disable the triggers in nothing is found.

P.S. Thanks again to Zarquan for the help in matching the variable list.
Ethelon2005-05-17 23:39:56
My free system is decent and a good start for helping people learn Mushclient...and it's free, so there's ntohing to lose.
Unknown2005-05-18 05:19:26
@ Ethelon - I thought I PMed you three days ago? Maybe I didn't... I'll try again.

Okayy, I PMed you with my E-Mail. If you end up gettin' two of them, I just found out that my Thomasjt one was canceled for lack of use or something, I normally use a diffrent address, so PCMonkey is the right one. glare.gif I hate Juno.

Oh, I just realised I forgot to say please, ohmy.gif so it should read "may I please have it." smile.gif
Unknown2005-05-18 06:12:22
QUOTE(Ethelon @ May 18 2005, 10:39 AM)
My free system is decent and a good start for helping people learn Mushclient...and it's free, so there's ntohing to lose.
120060



I can agree to that. I use it with only minor changes so far!

The only thing that annoys me about it is how the curing system sometimes gets stuck in a loop for some reason, usually to do with the right leg. But, that's easy to fix, I just set the variable back to 0 (this will do until I can work out why it loops after being healed and checking diag).
Akraasiel2005-05-20 04:27:48
Ethelon's free system is better than no system, it has no illusion proofing though, so if a mage hits you with illusioned anorexia then slings a hypo rune at you, youre broked. Its a good basic system to start out with, but the limitations of VBscript make it impractical to rely on against better fighters. Id recommend using lua for its immense power and compact nature.

Take a look at the lua documantation on the gammon forums, browse the lua wiki, and read over all the documentation many times, and experiment a lot and youll start to get it.

The beauty of mushclient is that the real power isnt in the features themselves, but the ability to script for it.
Unknown2005-05-20 05:13:17
:/ I don't have time to learn any scripting languages....gah I have that about this game. Anyway.
Ethelon2005-05-20 14:42:08
I'm currently redoing the entire Free system and it should be ready by next week. Last time I did the Free system I didn't spend much time testing it and had removed some things, so weird things like loops with that right leg would happen. Hopefully the new Free system won't have any problems and it will be upto date with the recent envoy changes.

Also, Akra, you just started learning scripting so please don't judge so quickly when you are new to this. The ONLY advantage Lua has over VBs in the client's use is to set up GUI's, which can be handled through a plugin if needed. It is actually preferred to write scripts in VBs or Python because of their ease to learn and fix mistakes, while Lua is harder to handle. Lua in no way, otherwise than the GUI addition, better than VBs. Infact, my entire system is in VBs, the one I use and I have no problems handling the top fighters. Please learn more about scripting before sending people to learn Lua when there is no need to.
Unknown2005-05-20 17:30:31
Lua is faster because it is integrated directly into MUSHclient, without the need for external libraries like all other scripting languages. It is also more portable (i.e., to Wine) for this same reason.

Lua is very easily extended, via Lua or C code, and I don't know if you can say the same for VBscript.

In my mind (and I'm a software engineer with a decade of experience in this), VBscript's primary advantage is that it's installed on any Windows system and many people use it to script as it is the default selection, so there more people available to help newcomers learn.

Lua is based entirely on tables, which is very useful, but it doesn't do simple arrays or classes quite the normal way, so that brings the learning curve up a bit.

I just like not having to preface all my MUSHclient functions with "world." or the equivalent.

I don't mean to bash VBscript, necessarily, though. All languages have their strengths and weakness, and so we choose them either based on prior experience (i.e., knowledge of how to script in them) or a leaning toward a particular method of writing our system. To each his own, right?
Ethelon2005-05-20 19:04:26
From what I'm told and I believe from Nick himself, Mushclient's speed is no different between Lua, VBs, or Python
Stangmar2005-05-20 20:29:28
Yeah, Ethelon is a good coder. I used his free system for a while, but I couldn't stop the looping, which VERY quickly wasted 10 of my health potions. Probably some missing variable or something that accidentaly got left out. I'm sure his new version will have that problem taken care of.
Yrael2005-05-21 00:33:41
QUOTE(SpacemanSpiff @ May 13 2005, 05:42 PM)
Edit: Btw is Ethelon's system any good, I've heard some things to that suggested otherwise. No offence to him/her just wondering.
117247



It cures nice and fast, and it's pretty comprehensive, so yeah. It's pretty good.
Unknown2005-05-21 13:16:07
No offense to Ethelon, since he is generous enough to give away this script for free, but it is not the smoothest design I've seen in any system. I know that my own code sometimes gets complex, slow, or just unruly, but I always try to adhere to a set of design principles. For example, I don't like calling script functions from the "script" field in the triggers, especially when I don't need any of the parameters. Ethelon uses a lot of (a,b,c) parameter lists because they're completely unnecessary.

It's just a style thing, in the end.
Ethelon2005-05-21 18:33:59
Actually, I do use parameters in my full system on some of the calls and the Free system is usually my biggining system, not something I put a great deal of extra coding into. Honestly, I'm getting sick of everyone's opinions of my system when I have YET to see a better Mushclient system and when my system is on par with the best Zmud systems. Funny how those who critique it can't even write a system to keep them alive.
Unknown2005-05-21 20:01:05
Excepting removing a few gags and altering a few bits to suit the fact I play a Moondancer, Ethlelon's system has been great for me.
Unknown2005-05-21 20:47:57
Wow... Alots happened since I've been away. smile.gif

@ Ethelon- Okay I knw your busy and all, but could you tell me if ya got my PMs? I've never been very good at using them.

@ Cron- Whats your avatar doing? Picking his nose? unsure.gif

@Everyone else- glare.gif FRIGGIN HIJACKERS!!!!!! lol I love this place. wub.gif
Ethelon2005-05-21 22:35:58
Yeah, I think I got your PM, I'm rewriting an entire new Free system right now though to send out without the problems the old one had, should be done next week sometime then you will receive a copy.
The new version will run alot more smoothly considering I'm just breaking apart my Full system and removign parry/auto-raze and a few otehrs things, but the curing will be based on a better script than the old free versions.

Also, need opinions, should I remove all the GAGS for the Free versions? Not sure how people feel about those.
Maelon2005-05-22 01:35:25
QUOTE(Ethelon @ May 21 2005, 06:35 PM)
Yeah, I think I got your PM, I'm rewriting an entire new Free system right now though to send out without the problems the old one had, should be done next week sometime then you will receive a copy.
The new version will run alot more smoothly considering I'm just breaking apart my Full system and removign parry/auto-raze and a few otehrs things, but the curing will be based on a better script than the old free versions.

Also, need opinions, should I remove all the GAGS for the Free versions? Not sure how people feel about those.
122183



I've been working on getting a feel for MushClient coding for a while, and I think I'm getting better at it, but there's quite a bit to learn. As far as your system is concerned, the more common things I'd heard of people wanting to change could be solved by just looking at the alias and trigger lists, which everyone ought to do anyway. I don't know how anyone could use any system without setting up their aliases tongue.gif. I didn't find that it had any problems with healing myself, since (like it said in the file) the diag/wounds (which you might do if you're not sure what you're trying to cure or what just hit you anyway) reset it and cleared up any problems.

For the gags... I'd suggest leaving them in. Even with no knowledge of what they're doing, a person could find your conveniently tagged "gag" labels and cut those lines out... some gags (like the months on items when you need them) are simple enough even without editing the gag lines if the user disables the triggers for a second (etr/dtr weren't in the help file, but, that's not a complaint, like I said, anyone should go over the aliases at the least anyway). In any case, thanks a lot for helping out everybody who didn't have much to work on.