Just right click on your screen over the text to interact with to get a menu of options. Feel free to change the menu names. To change the order options appear, adjust the PRIORITY field in the menus.
- "Quest Dialogue" is for using say responses
- "Path find" is for mapping out the path find coordinates (eg like after asking a guard for directions)
- "Path go" is to go.
- CHELP and GHELP let you use the new orghelp mxp stuff. Click blank space and select either to pull up the index, click a single word to read that orghelp and then SELECT multiple words and right click to read a multi-word orghelp.
- "Quests" brings up your quest menu. Clicking on an individual quest name and selecting quests shows that quest's details.
Not as nice as using mxp, but for those of us stuck with mudbot hating it, it's a workaround!
I've removed the script because of the customization required. However, it's for managing libraries. If anyone is interested drop me a message in Aetolia.
Automatically capture the map to a separate little window. Automatically checks every 10 seconds if you've moved rooms and updates the map if so. Feel free to adjust that timing.
First a little picture, then I'll break down how it all works:
GIVEPOINT <name> <#> <reason> - Add a point to someone for tracking. Eg, GIVEPOINT MOIREAN 5 SHE ROCKS. To give negative points (like for redemptions), simply use a negative sign, eg GIVEPOINT MOIREAN -5 GO AWAY
SHOWPOINTS <optional name filter> - Displays all the tracked points. Appending a name will show only that person. Eg, SHOWPOINTS SEVERN only shows Severn's points.
WRITEPOINTS - Writes the points tracking to a .txt file in your cmud/aetolia directory. This is fairly minimally formatted (see example below), making it ideal for just copy/pasting into a project.
DELPOINT: Removes a person from the tracking. Good if you derped up the syntax somehow.
CLEARPOINTS: Clears all the points and lets you start over.
ALLPOINTS: Alternative syntax to display all point tallies.
GRABPOINTS <project #>: Provided the project is written in the format listed above (the text file output), you can simply type GRABPOINTS to update any changes made to the project into your own system, letting you work with other people who have the same script. GRABPOINTS 1234 to get the points from project 1234. Values which have not changed are untouched, and only points added/subtracted, new lines of points or new people added to the tracking are updated.
---------------------------
NOW some notes:
1. This uses a cmud text file. You only get 5 of them, and I've picked #2 as the one to use. Modify that in the settings if you want to tweak it.
2. People get titled <name>_points in the variable setup. If you are going to use this for like a guild and a city, you'll want to make 2 versions that have unique variable titles. I named the variables broadly enough that it should be easy to just change the parts that are appended after the core word. If you need help changing this, just reply here.
Oh, a note about the above setup - you'll want to adjust this code if you have a name for your default class. I just use the package itself, but if you have a separate class you put stuff like variables made via var=value, or #temp triggers or whatever, add this to the GIVEPOINT alias and to the PERSON: trigger: #class {default_name} for wherever you want your DEFAULT settings.
Will find an empty slot, outc relevant inks and tattoo into the first empty spot available. If you're picky about which tattoo goes where, don't have more than one spot empty at a time. Slightly spammy for those inking multiple tattoos at once, because it checks tattoos for every inking to find a spot.
Since I wrote this script into my system, it does include two of my internal aliases - G_Info which is my echo alias, and G_Alert which is my echo alias in red. You will want to find both of those and change them to straight up echoes or your own pretty echo alias.
Put it up on my dropbox because I can't be bothered to write out the command line #trigger etc you'd need to add it in manually. Download and import!
Edit - link is the same as it was, but the file has been modified very slightly. There was a minor issue with the script, in that it wasn't able to get the tattoo slot info and ink at the same time - forcing you to use the alias twice, once to get the slot info and once to actually use it. That's dumb, so, I added a small wait to the inking alias (you shouldn't even notice that it's there, it literally fires the minute the inks pop out of my cache) that lets the variable populate before it tries to ink the tattoo, so it will no longer cause you to try and INK MOON ON OF ME rather than INK MOON ON HEAD OF ME.
Because it uses a wait, if you lag a lot, it -might- still cause the issue, but fret not - if you use the alias to ink a tattoo, and get the error (You can't ink a tattoo on that!) the variable will have populated, so using the alias again will work as intended. This is less efficient than it could be, I guess, but.. I don't lag that much, so nyeh.
Proudly fighting against Greytolia since the [approximately] 3/1/2010 at 18:00.
Message #17059 Sent By: Oleis Received On: 1/03/2014/17:24 "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."
@moirean hashtags are a means to group topics together. you can search for #(item) and see who has added them to link what they said about that item. They have gotten a bit out of hand and people use them like crazy, for example the youtube from @Daskalos, which is HILARIOUS!!
#hashtag #funnyashell #willthiseverdie
“Unless someone like you cares a whole awful lot, Nothing is going to get better. It's not.” ― Dr. Seuss, The Lorax
Veritas says, "Sorry for breaking your system Macavity."
Veritas says, "My boss fights crash Macavity's computer now."
Ah. So you could do like #annoying or #creditwhore as a note for certain players and then search for all the players with that category? That sounds like a pretty cool functionality (can we get it for libraries?), but it'd be a bit of a headache to achieve via cmud I think.
0
DaskalosCredit Whore ExtraordinareRolling amongst piles of credits.
Yep. #CreditProud #NotBothered #TryAgain
Message #17059 Sent By: Oleis Received On: 1/03/2014/17:24 "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."
Some little list scripts. Basically, a super easy concept of grabbing a bunch of items, tossing them into a string list and doing various things with that list, such as executing a simple command or comparing lists. You can use this concept for a lot of stuff!
Basic use of the list concept - just dunking items into a list and then executing a single command for the list.
Super easy little script to easily conceal stuff. Currently it picks up rings and amulets and will set the attire to conceal on all of them. You can obviously add/remove items for this.
ATTCHECK picks up all rings and amulets you are wearing
This one compares a new list against an old list and then writes the information to a file.
Wrote this for another game where a bug kept making my stuff vanish. Maybe you really like tracking your gear.
INVCHECK - does II and pro pack (feel free to add in any other spots you want to capture item numbers), compares it to your old list, shouts what you've gain/lost and then writes it all to a file for posterity.
Easy to use! Just click the button drop down menu to set whatever priorities you want, hit GO to start and NO to stop (or type DISSON and DISSOFF).
1
DaskalosCredit Whore ExtraordinareRolling amongst piles of credits.
Below is a download link for a zip file with various scripts I've written and\or acquired over the years to make life in cMUD easier. They are:
ChannelWindow -- Captures Tells and Channels and puts them in a floating window that you can then dock.
CityFinances - Tweakable for your city, this literally does the Treasurer's job for them. Also features WDRAW, a city leader command to easily withdraw money from the city.
Concoctions - Type 'refills' to bring up a dialogue box asking you want you want to refill. Want to refill a cask? Refillsc. Important note: This -will- let you inpot more than you can do with the 500 item limit, so be warned (and be careful).
Enemy_Status_Tracker -- Alright, this script might need a little bit of help as there are undoubtedly things that reference my system specifically in here, however, this is the first step towards building an affliction offense -- being able to track what you do. Currently works for Templar, Luminary, (theoretically) limb based classes. Just put in your attacks following the pattern of others in here. It'll keep up with the cures.
Tattoos -- Simply type INK <tattoo> on <bodypary> of <target> and it will outc the proper inks for you and begin the tattoo.
Starchart -- Subs all the starchart messages with what they actually do.
WhoGroups -- Type 'whog' to see who's grouped up together around the realm.
VitalWindow -- Creates a window (populated mostly by GMCP, but you may need to SCORE and STAT to get it exactly right) that tells you vital statistics about yourself. Of note, this will lag you slightly in combat, so you can do 'vitalwin' to toggle updating the window.
Message #17059 Sent By: Oleis Received On: 1/03/2014/17:24 "If it makes you feel better, just checking your artifact list threatens to crash my mudlet."
Some little snippets. I find myself learning code a lot by peeking at what other people have made and playing with those ideas, so sharing a few things that I kinda find cool or useful.
Emulate this concept to easily strip out numbers (or \w for words) from a string. Ideal for parsing gmcp input and you can easily use it for nice displays (eg have a status bar display @wielded) or list comparison, etc.
%format + %ansi makes readouts look really clean and polished. Really intuitive to use once you start making readouts using it, play around a bit and see how much nicer your tables and displays look.
#echo Oh god halp
Sometimes this command is unknown, so just tossing it in - instead of displaying text to the window it's happening it, this will have the system message go to the currently active window. Great if you multiplay - it'll ping you in your other cmud screen if someone is talking to you/attacking you/etc. You can also use it to run scripts or tracking or whatnot in side windows and only ping out the key stuff to the current session window.
Just a snippet from my lazy crafting code, but you can basically turn most anything you want into mxp. I sub out my crafting design numbers for interactive click menu functionality. Right click pulls up a menu of various aliases/commands you can do with the variable.
Since people always seem to get a kick out of that. Probably like the third thing I coded here in Aet. Randomly selects a value from the stringlist msgshuffle. That combo of functions I've used tons of other times in other places - %numitems is a very useful and easy cmud way to create a varying limit for things like loops, manipulate lists or to check the current status of a list. Some more examples:
Now I didn't make this, someone in the Sciomancers did when I commented how I wanted an easier way to track how many I was drawing with crystals. It is nifty ish.
#ALIAS {#var refineamount %1;#var refineshape %2;#var refinecount 0;refine 10 %2} #TRIGGER {^You have recovered balance on all limbs.$} {#IF (@refineamount>@refinecount) {refine 10 @refineshape}} #TRIGGER {^You lay your hands on a (*), and draw %2 %3 %4 from it.$} {#add refinecount %2} #VARIABLE {refineamount} {0} #VARIABLE {refinecount} {0} #VARIABLE {refineshape} {}
Basically you ref # crystal It only works with increments of 10 but it made it a little easier then counting each time I drew manually.
This is the meat of a command you can execute to get the gmcp map link to display in a window. You can adjust the size (currently I have height/width at 100%, so it'll stretch bigger/smaller to fit into the window size), you can use this on a tick timer to automatically update, etc, up to you.
A warning about this - cmud is doing a temporary download of the image in order to display it. It's not quick and inbuilt like the mudlet mapper is, so there may be some delay. I don't advise using it every time you move rooms.
For @Aryanne (and whoever else), some basic bash-and-move settings. These are NOT super fancy, they might be kinda spammy, and they aren't perfectly optimal. For that, you'll want to use GMCP, or IH, and have a database of priority mobs, etc etc etc. This is just quick and dirty stuff, with an emphasis on some basics so people can take the concepts and apply them themselves.
Method 1: Move randomly and hit stuff ---------------------------------- TRIGGER: You can find no such target as 'wight' COMMAND: #alarm "wightbasher" {+.1} {wightbash}
Method 1a: Move (a bit more cleanly) randomly and hit stuff ---------------------------------- TRIGGER: You see a single exit leading (%w). PATTERN: #var exits %1
TRIGGER: You see exits leading (%w) and (%w). PATTERN: #var exits {} #additem exits %1 #additem exits %2
etc etc etc, up until you have 12 triggers
TRIGGER: You can find no such target as 'wight' COMMAND: #alarm "wightbasher" {+.1} {wightbash}
Method two: Use mudbot mapper to cycle through a zone ----------------------------- ALIAS: NALON (or whatever you want to call it) COMMAND: #t+ naljin bashon (or whatever your bash alias is) [your bash attack] spinelash eel ray (if you need help writing a bash alias that'll read in multiple targets, post in a reply asking how!) area search @mount (I use my mount since it'll always be in the room. Feel free to search for something else)
ALIAS: NALOFF COMMAND: #t- naljin area search stop stop
CLASS: naljin (or whatever you want to call it)
TRIGGER: You can see the following * COMMAND: [bashattack]
TRIGGER: You can find no such target as 'ray'. COMMAND: #if (%gmcp.char.vitals.equilibrium=1 and %gmcp.char.vitals.balance=1) {area search continue}
Method three: Follow a preset path ---------------------------- This takes a bit more setup, but it's perfect for creating a basher to run through a place like Xaanhal.
First, you'll want to capture a path.
#MARK starts capturing the path. Every direction you walk will then be recorded.
#PATH [name] will save the path you walked.
You can use this trigger to automatically covert it to a string variable. Note that it's set to fire off my prompt setup...mine ends with lr] - you'll want to change the final character if your prompt doesn't end with ]
TRIGGER: ~](*) assigned to (%w) COMMAND: pathname=%2 $expanded_path=%pathexpand(%1) $expanded_path=%replace($expanded_path,j,ne) $expanded_path=%replace($expanded_path,h,nw) $expanded_path=%replace($expanded_path,k,sw) $expanded_path=%replace($expanded_path,l,se) #var @pathname $expanded_path #say Path converted into a variable named path_%2!
You can also type #PATH to see all the paths you've got saved and manually create the string variable:
I'm not really going to write the rest out in detail, because that's getting into heavier coding, but if someone is writing their own, feel free to use this thread (http://forums.aetolia.com/discussion/778/cmud-help-desk) to ask questions!
It should be noted that making a thing that moves you around while bashing is a huuuuge no-no, so if you're going to run one you'd better be sure you're at your keyboard and paying attention! If the admins try to check if you're AFK and you don't respond, you gon' get leafy.
It should be noted that making a thing that moves you around while bashing is a huuuuge no-no
No it's not. Auto movement is allowed, as long as you are at your computer and responsive.
15.9 TRIGGERS AND AUTOMATION
Triggers and automation are allowed in Aetolia provided that you are present at your computer terminal at all times. FULLY automating quests and hunting - with movement and all actions included in the triggers - are allowed so long as one is present at the computer, as well as gambling automation.
Comments
WRITEPOINTS - Writes the points tracking to a .txt file in your cmud/aetolia directory. This is fairly minimally formatted (see example below), making it ideal for just copy/pasting into a project.
#BehindTheTimes #YouWantIt #Aetolia #cMUD #hashtag.
Also:
http://www.youtube.com/watch?v=57dzaMaouXA
Message #17059 Sent By: Oleis Received On: 1/03/2014/17:24
"If it makes you feel better, just checking your artifact list threatens to crash my mudlet."
Nothing is going to get better. It's not.”
― Dr. Seuss, The Lorax
Yep. #CreditProud #NotBothered #TryAgain
Message #17059 Sent By: Oleis Received On: 1/03/2014/17:24
"If it makes you feel better, just checking your artifact list threatens to crash my mudlet."
Below is a download link for a zip file with various scripts I've written and\or acquired over the years to make life in cMUD easier. They are:
ChannelWindow -- Captures Tells and Channels and puts them in a floating window that you can then dock.
CityFinances - Tweakable for your city, this literally does the Treasurer's job for them. Also features WDRAW, a city leader command to easily withdraw money from the city.
Concoctions - Type 'refills' to bring up a dialogue box asking you want you want to refill. Want to refill a cask? Refillsc. Important note: This -will- let you inpot more than you can do with the 500 item limit, so be warned (and be careful).
Enemy_Status_Tracker -- Alright, this script might need a little bit of help as there are undoubtedly things that reference my system specifically in here, however, this is the first step towards building an affliction offense -- being able to track what you do. Currently works for Templar, Luminary, (theoretically) limb based classes. Just put in your attacks following the pattern of others in here. It'll keep up with the cures.
Tattoos -- Simply type INK <tattoo> on <bodypary> of <target> and it will outc the proper inks for you and begin the tattoo.
Starchart -- Subs all the starchart messages with what they actually do.
WhoGroups -- Type 'whog' to see who's grouped up together around the realm.
VitalWindow -- Creates a window (populated mostly by GMCP, but you may need to SCORE and STAT to get it exactly right) that tells you vital statistics about yourself. Of note, this will lag you slightly in combat, so you can do 'vitalwin' to toggle updating the window.
https://dl.dropboxusercontent.com/u/32023038/Chris/VariousScripts.zip
Message #17059 Sent By: Oleis Received On: 1/03/2014/17:24
"If it makes you feel better, just checking your artifact list threatens to crash my mudlet."
#var wielded {%subregex(%gmcp.char.vitals.wield_left,"\d+","")}
#say %ansi(cyan)%format("&30s",-----------------------------)</div><div>#say %ansi(white)%format("&26s",City Revenue Summary)</div><div>#say %ansi(cyan)%format("&30s",-----------------------------)</div></div></div><div>#say %ansi(brown)%format("&30s",Trade: @rev_sum(@trade))<br>
#echo Oh god halp
$current_design=%1</div><div>#sub {~<send 'gocraft %1|newd %1|addstock %1' 'Make it|Examine it|Craft shelf it'> Design_%1 ~</send>}
#if %gmcp.char.name.name=Moirean {config returnmessage %item( @msgshuffle, %random( 1, %numitems( @msgshuffle)))}<br>
#loo 1,%numitems(@var)<br>#var hypnolist %additem(%pop(@hypnostring), @hypnolist);#say Hypnos left: %numitems(@hypnostring); #say (@hypnostring)<br>#if %numitems(@current_disturbs)=3 {elicit unravel @targ}
#ALIAS {#var refineamount %1;#var refineshape %2;#var refinecount 0;refine 10 %2}
#TRIGGER {^You have recovered balance on all limbs.$} {#IF (@refineamount>@refinecount) {refine 10 @refineshape}}
#TRIGGER {^You lay your hands on a (*), and draw %2 %3 %4 from it.$} {#add refinecount %2}
#VARIABLE {refineamount} {0}
#VARIABLE {refinecount} {0}
#VARIABLE {refineshape} {}
Basically you ref # crystal
It only works with increments of 10 but it made it a little easier then counting each time I drew manually.
$map_var=%gmcp.room.info.map $http="http://" $map_var=%replace($map_var, " ", "&") $map_var=%concat($http,$map_var) #window sitemap {<image '$map_var' type="png" W="100%" H="100%">}
This is the meat of a command you can execute to get the gmcp map link to display in a window. You can adjust the size (currently I have height/width at 100%, so it'll stretch bigger/smaller to fit into the window size), you can use this on a tick timer to automatically update, etc, up to you.
A warning about this - cmud is doing a temporary download of the image in order to display it. It's not quick and inbuilt like the mudlet mapper is, so there may be some delay. I don't advise using it every time you move rooms.
$map_area=%0
#say $map_area
map path %dbkey(@area_list,%isvalue(@area_list,$map_area))
#if @walk=1 {go} {gog}
This is predicated on you having a database variable formatted like so:
10977: Raim
4691: Jaru
889: Mostyn
etc
A variable like this is a clean and easy way to serve as the basis for a leyline tracker, troop marcher, etc, so worth making, in my opinion!
Method 1: Move randomly and hit stuff
----------------------------------
TRIGGER: You can find no such target as 'wight'
COMMAND:
#alarm "wightbasher" {+.1} {wightbash}
ALIAS: wightbash
COMMAND:
#untrigger {wightbasher}
#var exits {n|ne|e|se|s|sw|w|nw|u|d|in|out}
%item( @exits, %random( 1, %numitems( @exits)))
[your bash attack alias here]
Method 1a: Move (a bit more cleanly) randomly and hit stuff
----------------------------------
TRIGGER: You see a single exit leading (%w).
PATTERN:
#var exits %1
TRIGGER: You see exits leading (%w) and (%w).
PATTERN:
#var exits {}
#additem exits %1
#additem exits %2
etc etc etc, up until you have 12 triggers
TRIGGER: You can find no such target as 'wight'
COMMAND:
#alarm "wightbasher" {+.1} {wightbash}
ALIAS: wightbash
COMMAND:
#untrigger {wightbasher}
%item( @exits, %random( 1, %numitems( @exits)))
[your bash attack alias here]
Method two: Use mudbot mapper to cycle through a zone
-----------------------------
ALIAS: NALON (or whatever you want to call it)
COMMAND:
#t+ naljin
bashon (or whatever your bash alias is)
[your bash attack] spinelash eel ray (if you need help writing a bash alias that'll read in multiple targets, post in a reply asking how!)
area search @mount (I use my mount since it'll always be in the room. Feel free to search for something else)
ALIAS: NALOFF
COMMAND:
#t- naljin
area search stop
stop
CLASS: naljin (or whatever you want to call it)
TRIGGER: You can see the following *
COMMAND: [bashattack]
TRIGGER: You can find no such target as 'ray'.
COMMAND:
#if (%gmcp.char.vitals.equilibrium=1 and %gmcp.char.vitals.balance=1) {area search continue}
Method three: Follow a preset path
----------------------------
This takes a bit more setup, but it's perfect for creating a basher to run through a place like Xaanhal.
First, you'll want to capture a path.
#MARK starts capturing the path. Every direction you walk will then be recorded.
#PATH [name] will save the path you walked.
You can use this trigger to automatically covert it to a string variable. Note that it's set to fire off my prompt setup...mine ends with lr] - you'll want to change the final character if your prompt doesn't end with ]
TRIGGER: ~](*) assigned to (%w)
COMMAND:
pathname=%2
$expanded_path=%pathexpand(%1)
$expanded_path=%replace($expanded_path,j,ne)
$expanded_path=%replace($expanded_path,h,nw)
$expanded_path=%replace($expanded_path,k,sw)
$expanded_path=%replace($expanded_path,l,se)
#var @pathname $expanded_path
#say Path converted into a variable named path_%2!
You can also type #PATH to see all the paths you've got saved and manually create the string variable:
ALIAS: PATHCOVERT
COMMAND:
pathname=%1
$expanded_path=%pathexpand(%2)
$expanded_path=%replace($expanded_path,j,ne)
$expanded_path=%replace($expanded_path,h,nw)
$expanded_path=%replace($expanded_path,k,sw)
$expanded_path=%replace($expanded_path,l,se)
#var @pathname $expanded_path
Just type PATHCONVERT [paste path here] [variable name you want]
Now, for the basher part...
Simply set your current path to the path you made earlier:
bashpath=@path_xaanhal
And when it's time to move, simply grab the top number off that path:
#if (%numitems(@bashpath)>0) {%pop(@bashpath)}
I'm not really going to write the rest out in detail, because that's getting into heavier coding, but if someone is writing their own, feel free to use this thread (http://forums.aetolia.com/discussion/778/cmud-help-desk) to ask questions!
15.9 TRIGGERS AND AUTOMATION
Triggers and automation are allowed in Aetolia provided that you are present at your computer terminal at all times. FULLY automating quests and hunting - with movement and all actions included in the triggers - are allowed so long as one is present at the computer, as well as gambling automation.