Not so much a scripting issue as a couple bugs: When I start Cmud, it always turns num lock on my laptop. I have no idea why, but it's annoying. When I start it up, despite the fact that I paid for it and put in a legit licence key, it'll always tell me I'm running a trial version at 30 days evaluation. Does anyone know why these problems happen?
go to cmud Prefs, by default it'll be on the User Interface, Command Line tabs. There's a checkbox for "activate numlock". Uncheck/check it as you like.
For the license issue, the best I think you could do is save all settings/modules/layouts/etc and reinstall. If that doesn't clear it up, you've probably got something in your registry screwing you over.
Selthis wanted something to toggle Timestamp. Alias and Button code below. Heads up, alias always toggles right, but the button will lose sync with whether or not timestamps are showing or not if you use the alias as well. Just press the button twice and problem solved.
I'm attempting to get a channel capture thing going, but it keeps cutting off after the first line. I can't figure out how to set it so that it just captures the entire tell/say up until the prompt. Currently, I'm just using #trigger {tells you,} {#CAP Tells}
I use a trigger state of (?)*, checking the first character of the line with the first character of my prompt. If I don't find it, I want to keep capturing, so I #state to keep within the capture
I am the righteous one... the claims are stated - it's the world I've created
Another option is CONFIG WRAPWIDTH 0 and switching to clientside wrapping. I prefer it because never dealing with newlines again is a beautiful thing, but if you've got a lot of triggers set up with newlines accounted for already, the transition is rough. As far as Lionas' method goes, I think he's matching everything with the (?)* and checking if %1 = "<". If it doesn't, it gets capped and state is set to 2(whichever one the capture all state is, not sure if #state is zero-based) until it finally catches a prompt, at which point it goes back to state 1 to wait for a new tell.
Edit: I'm on my phone or else I would write an example out.
My legacy mudbot failing entirely with the changes in endurance/willpower - I think, I'm looking for some help starting a basic system to deal with the defences not covered by the autohealing. I'm hoping someone will be able to give me some pointers on starting a basic queue system for eq/balance.
On a side note, I can't seem to get an #alarm to work for keeping pipes lit.
I just triggered the welcome to imperian message to do all the non eq/bal defenses not covered by auto curing with a temp timer or #wait for you for mindseye then triggered mindseye and each subsequent defense there after to queue eqbal defense, and on the last defense turn that trigger group off. So it doesn't auto reapply defenses. But as AM you rarely fight def strippers. What up priests and Templars.
For the pipes I just triggered the pipes going out line to queue eqbal light pipes, as well as filling them with any plant to queue up lighting. It's not perfect by any means but it works for me until I take up the notion to perfect it.
Okay, not too long ago, this was working. But now it is not.
<trigger priority="26550" regex="true" id="101"> <pattern>(\a+) tells you\, \"Pendant\.\"</pattern> <value>#if (%ismember(%1,@Pendantlist)) { generosity remove 102587 beckon artifacts 1025087 give 102587 to %1 } {reply No Pendant for you!}</value> </trigger>
I have a pendantlist variable in the same folder that is just a string list. I know it worked in the past but I have no clue what changed now so it does not work. Any ideas?
I wanna point out that the item number is different in some of those commands. You're beckoning 1025087 but removing/giving 102587. I'm assuming that 0 in the beckon line is unnecessary.
It is. Faz helped me get it working. For whatever reason, it was crapping if I include the ." part of the tell in the trigger. No clue why. Its only that trigger it craps on, but either way, its working now.
Edit: And is correct in my trigger in cmud. Odd. Must have accidently hit it when I was making the post.
My legacy mudbot failing entirely with the changes in endurance/willpower - I think, I'm looking for some help starting a basic system to deal with the defences not covered by the autohealing.
If you know how to compile imts, or don't mind learning how to, the change to make imts work after the removal of end/will is pretty easy.
How does one copy/paste aliases to another session/package? And how do you group things into a package so it can be put into other sessions?
Select the settings you want to copy, right click, select cut/copy. Click the class/session you want to put the in, and paste.
To export settings to be imported in another session, select the setts or classes you want to export, right click, and select export to XML.
I am the righteous one... the claims are stated - it's the world I've created
I tried the XML exporting, but it only did the triggers for some reason.
And then it duplicated my aliases on my hunter system. I'm seriously confused on how that happened. Also, when I copied the settings onto my blank session, it just wouldn't use them.
Anyone aware of any issues with Expression Triggers? I've got some rather simple ones I'm trying to get to work and they just don't like me at all. Even my Status Window doesn't seem to always update when variables change. I can make a brand new, no frills trigger when @Stats/Bal gets updated(which is updated when the GMCP Char.Vitals is received) and it will run once when I save the trigger after making changes, then never again. I've been itching to expression triggers for a few different purposes, so any ideas at all at what might be the problem would be appreciated.
Hate to double-post, but I'm having issues with something else. Between expression triggers not working but firing at completely random times to a trigger firing and doing the functional part of the trigger, but not echoing what it should be echoing, I'm thinking I need to just start a clean session and pull the things that work and are important over to it. Is there a quick, clean way to move stuff over without the worry of bringing corrupt triggers/aliases/etc over to the new session, or should I just manually rewrite my systems and take this opportunity to optimize stuff and make sure everything is working in the best way possible?
Specifically, my newest problem is with grove return/gaze moradeim systems not echoing.
One of the offending triggers. Still triggers and turns on autocuring and sets @grovereturning to 0, but doesn't actually activate the alarm alias like it should.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<trigger priority="42500" copy="yes">
<pattern>^You hurl yourself head first into the %w and find yourself safely back within your grove.$</pattern>
The alarm still works when I use it manually. Output will be pretty much this:
********************************
***GROVE RETURN SUCCESSFUL!!!***
********************************
Edit: Sorry for the wall of text. =/ I want to notice, I've not messed with any of these triggers/aliases at all today and they were working just fine this morning. Closed and restarted CMUD and it's still not working right.
Third post in a row. Sorry that I suck. Anyway, I'm thinking it's just some kind of issue with my session. Changed the trigger to #SHOW blah;#SAY blah;alarm green blah;#SHOW blah;#SAY blah to test out what it isn't doing correctly. When I grove return successfully and it triggers in a real situation, the two SAY's show up, but the SHOW's and alarm don't. When I use #SHOW to trigger it manually, it messes up the same way. When I use #SAY to trigger it or right click the trigger and EXECUTE SCRIPT, it works perfectly and shows the SHOW, SAY, alarm, SHOW, and SAY. I then tested the same triggers and alias in a blank, new session and it worked fine. I individually disabled all of my classes and triggers, and tried it in my normal session, and it is still broken. Only thing I can think of would be my session being corrupt or something in some way. I guess I'll be moving over to a clean new session. Hopefully, this will fix my Expression Trigger woes as well. Still, if anyone has any insight into my problems or maybe has experienced this before, I'd love any kind of information you might have for me.
Okay trying to get something rather simple i think in my cmud.
I would like 2 status lines where one shows my current gold, and the other is for the credits i can afford, so lets say i would like to buy credits at a maximum price of 8000 i would set that price, and then the cmud should some how figure out how much gold i have, and divide the amount with 8000 and then add the result in the status line.
If you wanted it to always show, you'd have to track how much gold you have. Best way is to track gold would be to have triggers for dropping, getting, giving, being given gold, as well as when you buy things. Since you don't see exactly how much you pick up while bashing, you could check INVENTORY BLAHBLAHBLAH so you just see what you're wielding, and your rift and gold, then update it each time that line is seen. After that, you'd make a StatusBar or StatusWindow that's something along the lines of "Gold: @gold (%eval(@gold/8000)C)". That should do it.
Not so much a scripting question. When I try to use the mapper in CMUD (V2, 2.37), during the configuration setup when you select what it scans each room for, it ALWAYS causes the program to stop responding when Next is clicked. Has anyone else run into this issue?
v3.xx is sooooo much better than v2.xx. Though it also uses a different license key and by now the time may have passed to get a free/discounted upgrade.
@Cadeyrn You asked (ages ago) for a simple queueing system to queue defs and the like. I use this for defences and as a basis for my combat, although queueing that far ahead in combat is a bad thing for bad players. I've got a seperate window that I cap a lot of random stuff in, that's why I'm capping things with #WIN Stuff. Feel free to change those to ECHO/SHOW/SAY, or just remove them. I've also got unnecessary commented lines in balance recovery that I used to debug. Feel free to remove those as well. I think those vars are BAL1 and EQ1 instead of BAL and EQ is because other triggers were messing with them. Also, change the prompt trigger to whatever your prompt looks like. Example of me deffing is below the code itself. Some of the short names in the defing alias are aliases that I've defined IG. Last but not least, \ is my separator, change to suit yours. (Yes, I know I should make a better one like \\ or || or |doThisToo| but I never feel like going back through my stuff to change it all.)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<class name="EQBal" copy="yes">
<alias name="oneb" copy="yes">
<value>#IF (!%1) {#WIN Stuff %ansi(brown)onEQBal: %ansi(gray)%numitems(@EQBalStack) item~(s~) in stack. %ansi(cyan)oneqbal list%ansi(reset)%ansi(gray) to list them.;#EXIT}
Edit: Forgot instructions. "oneb" is the alias that all the commands work off of. "oneb <command> queues stuff. "oneb list" displays all queued actions. "oneb clear" empties the stack. Last but not least, "oneb push <command>" puts <command> at the top of the stack. The stack won't automatically start if you have balance and eq, so make sure you're not queueing the first command, or queue everything then writhe or diag to get it started. Last note: The %exec in the code means that it will run aliases.
Comments
Edit: It made actual buttons on the forum...what?
the claims are stated - it's the world I've created
#trigger tellcap {^{%w|A masked man|A masked woman} tells you,{ in %w,|} "*} {#cap communication;#beep;#alarm {+0.5} {#beep}}
#cond {(?)*} {#if (%string(%1) = "<") {#state tellcap 0} {#cap communication;#state tellcap 1}}
EDIT: I keep meaning to switch to wrapwidth 0, but Lio has 7 years of legacy code just for him, plus some older stuff. :effort:
the claims are stated - it's the world I've created
I'm hoping someone will be able to give me some pointers on starting a basic queue system for eq/balance.
On a side note, I can't seem to get an #alarm to work for keeping pipes lit.
For the pipes I just triggered the pipes going out line to queue eqbal light pipes, as well as filling them with any plant to queue up lighting. It's not perfect by any means but it works for me until I take up the notion to perfect it.
<trigger priority="26550" regex="true" id="101">
<pattern>(\a+) tells you\, \"Pendant\.\"</pattern>
<value>#if (%ismember(%1,@Pendantlist)) {
generosity
remove 102587
beckon artifacts 1025087
give 102587 to %1
} {reply No Pendant for you!}</value>
</trigger>
I have a pendantlist variable in the same folder that is just a string list. I know it worked in the past but I have no clue what changed now so it does not work. Any ideas?
using
Edit: And is correct in my trigger in cmud. Odd. Must have accidently hit it when I was making the post.
the claims are stated - it's the world I've created
Specifically, my newest problem is with grove return/gaze moradeim systems not echoing.
One of the offending triggers. Still triggers and turns on autocuring and sets @grovereturning to 0, but doesn't actually activate the alarm alias like it should.
Alarm alias is:
The alarm still works when I use it manually. Output will be pretty much this:
Edit: Sorry for the wall of text. =/ I want to notice, I've not messed with any of these triggers/aliases at all today and they were working just fine this morning. Closed and restarted CMUD and it's still not working right.