Help - Search - Members - Calendar
Full Version: Custom Zmud Scripts
Achaea's Forums > Off-Topic > Tech Support
Sena
I plan on learning seafaring soon, and I can't afford to buy credits at the moment, so I decided to make scripts for credits to help speed things up a bit. Prices will depend on what you want, but unless it's something especially difficult or time consuming, it will probably be 3-5 credits. I'll support and update the scripts for as long as I remember, so let me know if there are ever any problems with them or they need to be updated for some reason.

Post here or send me a pm with what you'd like, and we can work out the details. Sending me a message in Achaea will also work, but I'll probably be much slower to respond there.

Also, what you do with the scripts once they're finished is up to you. You can keep them private, share them with your friends, post them on the forums, whatever. Reselling them would be rather rude though, to say the least.
Trevize
I highly recommend her if you're looking for a good script. If you're not one who browses the tech support forum regularly, Sena is one of the most knowledgeable players here regarding zMUD. If you are, disregard, as you already know this.
Sena
QUOTE (Trevize @ May 18 2009, 07:45 PM) *
I highly recommend her if you're looking for a good script. If you're not one who browses the tech support forum regularly, Sena is one of the most knowledgeable players here regarding zMUD. If you are, disregard, as you already know this.

Thank you. wub.gif
Karr
I am -very- interested in getting a "body" like figure for tracking limb breaks through colour in some fashion
CODE
    
        Head


Left Arm         Right Arm
         Torso
            

Left Leg         Right Leg


With an outline of a person behind it to make it look nice.
I've tried coding one myself before but it always messes up in some fashion.

Price?
Sena
QUOTE (Karr @ May 18 2009, 07:54 PM) *
I am -very- interested in getting a "body" like figure for tracking limb breaks through colour in some fashion
CODE
    
        Head


Left Arm         Right Arm
         Torso
            

Left Leg         Right Leg


With an outline of a person behind it to make it look nice.
I've tried coding one myself before but it always messes up in some fashion.

Price?

I've never bothered with pretty buttons like that, so I'm not sure exactly how much work it is to get it looking nice. It will probably be 5 credits. It would also help if you made or found the image you want to use for it, the best art I could do myself is a stick person in MS Paint. tongue.gif
berenene
Having first hand experience with Sena's ability in Zmud, I wholeheartedly aggree with Trevize's statement.
Karr
QUOTE (Sena @ May 19 2009, 01:06 AM) *
QUOTE (Karr @ May 18 2009, 07:54 PM) *
I am -very- interested in getting a "body" like figure for tracking limb breaks through colour in some fashion
CODE
    
        Head


Left Arm         Right Arm
         Torso
            

Left Leg         Right Leg


With an outline of a person behind it to make it look nice.
I've tried coding one myself before but it always messes up in some fashion.

Price?

I've never bothered with pretty buttons like that, so I'm not sure exactly how much work it is to get it looking nice. It will probably be 5 credits. It would also help if you made or found the image you want to use for it, the best art I could do myself is a stick person in MS Paint. tongue.gif



Anything that simple for the picture will do, just a quick google of human outline found that one.

I'll pay you 5cr no problem if it all works!
(Just to note, I want it to track -my- limbs, not a target.. I think that would be easier anyway!)
Karr
So have it broken up in one of two ways.



Not sure which would be best.

Have it Green for ok, Yellow for broken and red for mangled?
I'm not sure what would be best coding wise :/

Let me know! Or shoot off ideas you think you can do?

(Note: All put into a status window of some kind?)
Sena
Okay, I'll work on it a bit and see what I can do.
Karr









Those would be all the seperate body parts. I figure you might need them all seperate.

(excluding torso, I need someone to post inbetween.)
Trendor
I actually have code to track target limbs like that and put it in a status window. I didn't write it however. I'm sure it can be changed to work that way. Also, it's for tracking limbs for a monk.
Karr
QUOTE (Trendor @ May 19 2009, 01:44 AM) *
I actually have code to track target limbs like that and put it in a status window. I didn't write it however. I'm sure it can be changed to work that way. Also, it's for tracking limbs for a monk.

If someone -has- one of those too, sure i'll take it.
I haven't got the "breaking all limbs" thing in Occie working well for me so far though.

I'm actually quite excited and hopeful about this one though.



That's the torso.
Karr
Sena just did some amazing work for me.
Highly reccomended, was very helpful along the way keeping me updated.
Very quick work, very friendly, very helpful.

A++
Sena
Bumping this, and letting anyone who wants scripts know that I'll be away from home for about a week. I'll have my laptop, so I'll be able to get online occasionally, but not very reliably. I can work on scripts offline, I'll just be slow to respond to anything.
Karr
I know it's a simple thing to make, but I can't seem to do it right sad.gif

When my SoA blocks damage, I want it to take the full price of the shield and divide it by the amount of blocks i've done, echoing "Your shield has cost you X credits per block!" and when i'm at 500h or lower, could it have a "Your shield has cost you X amount of deaths!".

When I block when that low on health, have it add to both counter obviously. A Blocks a block.

Also have an alias that will show me the amount of blocks on request.

I know it's possible, I know Trance has also got the same sort of script but i'm willing to support Sena!
Deladan
Actually I just want someone to go through my system and clean it up some get it to curing correctly and running a bit faster so if she can do that hiiiiiiiiiiii
Sena
QUOTE (Deladan @ May 26 2009, 01:40 AM) *
Actually I just want someone to go through my system and clean it up some get it to curing correctly and running a bit faster so if she can do that hiiiiiiiiiiii

Depending on the size of your system it should be doable, but it will probably take a while. I also can't guarantee that I'll be able to make it much faster.

If you're serious about it, I'll need to look at your system to see what could be improved and how much work it will take before I decide on whether I'll do it and how much it would cost.
Deladan
Oh I'm serious. I have a lot of stuff that needs to be reworked and I just really don't have the time to do it.
Qzadzia
I need a script, but damn, if you're working this man's whole system you're not likely to get to a smaller request like mine any time soon.
Aoe
Sena is really good, I asked her to do a script for me which made the most tedious job on achaea a million times easier. Well worth the credits on that one.
Trendor
Not to take away business from Sena, but if she's busy with other jobs or RL stuff, I maybe able to help out.


Just consider it sub-contracting. tongue.gif
Sena
QUOTE (Qzadzia @ May 26 2009, 12:48 PM) *
I need a script, but damn, if you're working this man's whole system you're not likely to get to a smaller request like mine any time soon.

Tell me what you want anyways, he still hasn't sent his system yet so I don't have anything to work on at the moment. I can also do two things at once, especially if it's a small script while I'm working on a large project.
Sena
QUOTE (Trendor @ May 26 2009, 12:55 PM) *
Not to take away business from Sena, but if she's busy with other jobs or RL stuff, I maybe able to help out.


Just consider it sub-contracting. tongue.gif

I still have plenty of free time. tongue.gif
Trendor
It was just an offer. I know how RL can get in the way at times.

Not saying they come directly to me. I was offering to you in case you get swamped with things.


Forgot the tongue.gif
Sena
I finished fixing up Deladan's system, so if anyone wants scripts I'm not working on anything now. (Other than playing with my attack messages, of course.)
Cooper
You put in that 'Cooper tells you, "Heartstop."' 'heartstop' trigger right?
Gorlasintan
QUOTE (Cooper @ Jun 3 2009, 07:41 PM) *
You put in that 'Cooper tells you, "Heartstop."' 'heartstop' trigger right?

That would be ripping off Dakeyras's system.

Well, kind of.

#REGEX {^(\d+)h, .+} {#IF (%1 < @maxhealth) {heartstop}}
Trici
QUOTE (Gorlasintan @ Jun 3 2009, 07:48 PM) *
#REGEX {^(\d+)h, .+} {#IF (%1 < @maxhealth) {heartstop}}
What about afflictions?
Sena
QUOTE (Cooper @ Jun 3 2009, 08:41 PM) *
You put in that 'Cooper tells you, "Heartstop."' 'heartstop' trigger right?

Before I fixed it, it actually would have been really easy to destroy his entire system with a single tell that he wouldn't even see. tongue.gif
Cooper
#trigger {Cooper tells you, "Lolsystemkill."} {#gag;#killall}

Hmm....
Jonathin
laugh.gif
Dontarion
QUOTE (Sena @ Jun 4 2009, 03:16 AM) *
QUOTE (Cooper @ Jun 3 2009, 08:41 PM) *
You put in that 'Cooper tells you, "Heartstop."' 'heartstop' trigger right?

Before I fixed it, it actually would have been really easy to destroy his entire system with a single tell that he wouldn't even see. tongue.gif


It's doable but if the computer or zMud is under any stress gag's are visible for up to seconds quite often.

Zugg said a long time ago that gag and sub kills zMud in terms of speed and is why users can often see the switch on the screen.
Sena
Just a notice to anyone who still wants scripts, I've been sick a lot lately and haven't had much time to work on zMUD stuff, so it may take a while for me to finish anything. I'll still be doing scripts, but nothing big or complex for now.
Sena
I've been somewhat bored lately, and short on ideas for interesting scripts, and not really saving up credits for anything now. So, I'll go back to doing scripts for free now, as long as it's not really time consuming. If anyone has ideas for something interesting or complex, I'd probably enjoy working on it.
Ulaw
sena i was wondering if you could help me a bit with a question

I want to track my prompt. the health mana endurance willpower and most importantly balance or none, equilibrium or none etc.

i have this

^(\d+)h\, (\d+)m\, (\d+)e\, (\d+)w exdb\-

health = %1
mana = %2
endurance = %3
willpower = %4

no problem there, but how should i handle the rest as this varies, if you are blind or not, deaf or not, balance or not, eq or not etc. How can i track those just by using the prompt?

Sena
You could use [@cexkdb]* to match 0 or more of any of the characters inside the brackets, or @?c?e?x?k?d?b? to match one or more of each individual character. If you use the second method, you'll want to verify that that's the correct order, and that none are missing, I don't remember if that's exactly right.

With either method, you can capture the entire string, and in this case it would be %5. To find out whether part of the string is there, use %pos. For example:
CODE
#REGEX {^(\d+)h, (\d+)m, (\d+)e, (\d+)w ([@cexkdb]*)-} {health=%1;mana=%2;endurance=%3;willpower=%4;#IF (%pos(x,%5)) {balance=1};#IF (%pos(e,%5)) {equilibrium=1}}


With the second method, you can also capture each character individually. In that case, instead of using %pos, you'd just need to add something to set it to 0 if it's not there.
CODE
#REGEX {^(\d+)h, (\d+)m, (\d+)e, (\d+)w (@?)(c?)(e?)(x?)(k?)(d?)(b?)-} {health=%1;mana=%2;endurance=%3;willpower=%4;equilibrium=%if(%7,1,0);balance=%if(%8,1,0)}
Ulaw
Thanks, thats great, i understand that. I will use option one.

Another question though

I was planning to do this: if you get hit with a group of afflictions say stupidity, epilepsy, dizziness and paralysis in that order. I was going to add all that to a list and cure from the top of the list, but that is not efficient. I would want to cure paralysis first, then stupidity then the rest. Is there a way i can prioritize this list
Sena
There are a few ways to prioritise it, depending on how your curing system works. What I would do is have stringlists of afflictions to use as priorities, and then loop through that stringlist, checking to see if you have each affliction in turn. That way, afflictions higher on the list will be prioritised.

It's not a full script, but here's a basic example:
CODE
#VARIABLE HerbPriority {Slickness|Asthma|Stupidity|Hypersomnia|Paralysis|Confusion}

#FORALL @HerbPriority {#IF (%ismember(%i,@CurrentAfflictions)) {cure %i;#ABORT 1}}

That will check Slickness, Asthma, Stupidity, Hypersomnia, Paralysis, and Confusion, in that order, curing the first affliction it finds, and then stopping.
Sena
Another way you could do it is to assign a number to each affliction when you get it (for example, name paralysis "001_paralysis" and slickness "002_slickness"), and then just use %sort to sort the list before curing the top item. Lower numbers will have a higher priority. This method has a big disadvantage though, in that you can't easily change priorities. If you use a stringlist, you could easily change the priority list so that a certain affliction is prioritised higher against a certain class, for example. With the sorting method, you'd use the same priority in every situation.
Ulaw
okay i follow the logic on both options there.

I dont fully understand the #forall command so i will do some reading on it to understand it fully before i say no to that.

the %sort option seems to be the simplest to implement but as you mentioned the disadvantages. What about this you set a number to each herb eg 001_bloodroot 002_goldenseal etc but instead of 001 or 002 you put a variable there eg @priority1_bloodroot @priority2_goldenseal @priority3_kelp @priority4_stand

then you have and alias for group priority eg #alias (vlock) {@priority1 = 3, @priority2 = 2, @priority3 = 1} and you have #alias (prone) {@priority1 = 1, @priority4 = 2, @priority2 = 3} something like that. would that work?

vlock would then heal asthma first then goldenseal then paralysis
prone would then heal paralysis, stand then goldenseal
Sena
You could probably make that work, but it seems unnecessarily complex. Unless it would require completely reworking your system, I recommend using a stringlist.

#FORALL is pretty simple. It just performs the specified script for each item in a list, using %i to represent the current item.

Here are some simple examples.
CODE
#FORALL 1|2|3|4|5 {#SHOW %i}

#FORALL 1|2|3|4|5 {#IF (%i>3) {#SHOW %i}}

The first would simply show each number. The second would show each number that's greater than 3, which is 4 and 5 in this example.
Ulaw

#VARIABLE HerbPriority {Slickness|Asthma|Stupidity|Hypersomnia|Paralysis|Confusion}

#FORALL @HerbPriority {#IF (%ismember(%i,@CurrentAfflictions)) {cure %i;#ABORT 1}}

Sorry Sena i was looking at this again. And well when i said i understood the logic i did but i dont think i understand this code.

Let me try:

you have a variable @currentafflictions. you write a trigger to capture when you get hit with asthma eg
#trigger (your chest closes tighter) (#additem currentafflictions asthma)

now your @currentafflictions has asthma in its list, next
#trigger (your chest closes tighter) (#forall @HerbPriority {#if (%ismember(%1,@currentafflictions)) {cure %i;abort 1} {elso do xyz} }

This looks at your @herbpriority and your @currentaffliction and if asthma is found in @currentafflictions and in @herbpriority then it must cure asthma, then stop after 1 loop. you can also put an else loop into it as well right after the abort 1.

Let me know if im understanding this correctly
thanks
Sena
That seems right, I think. It's hard to focus right now for some reason. Just remember that, when #ABORT 1 fires, the entire script will be aborted, nothing else in that block will be executed. If you want to do something else after the #FORALL, #ABORT wouldn't be the best choice.
Ulaw
okay thanks.

if you get afflicted with asthma first then, slickness will it then cure slickness first and then asthma.?
Sena
If the script runs after you have both, then yes. But if the script runs when it sees the asthma line, and then you get slickness on the next line, it will only notice the asthma. You could have the curing script check your afflictions on the prompt, so that it will take multiple afflictions into account for things like dstab/dsl.
Ulaw
Great stuff, that works. I tried it with mind batter and well it cures first what i have in my herb priority.

Now my next step is to get it to wait for herb balance before healing the next one. Any suggestions?

I was thinking of something like this
CODE
#forall @herb_priority (#if %ismember(%i,@herb_aff) {#if (@herb_bal = 1) {cure%i}}}


Sena
It would save on resources to check for herb balance before moving on to the rest of the script.
CODE
#if (@herb_bal = 1) {#forall @herb_priority {#if (%ismember(%i,@herb_aff)) {cure%i}}}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.