new system

by Weylin

Back to Combat Guide.

Weylin2006-06-02 04:05:34
since Orti beat me like 4 minuets ago I have decided to make a new system since mine sucks....He killed me in 3 hits because my variables where mismatched and I didnt heal slit throat...very very sad I know but back to the main subject. I dont really know how to script super well, and I really want to learn if there is anyone out there who knows if there is a manual for learning what all the # commands in Zmud are I would really appriciate it
Murphy2006-06-02 04:11:58
while you're in the main bit (ie screen where you play the game) just go Help -> search in the menu.

Has everything you ever want to know.
Weylin2006-06-02 04:13:25
thanks Murphy!
Weylin2006-06-02 04:24:22
also this is what most of my cures look like, how would I make it better?

#if @salvebalance=1 {
sunallergy=1
liniment
} {sunallergy=1}
Murphy2006-06-02 04:35:01
#IF (@salvebalance = 1 AND @slickness = 0 AND @aeon = 0 AND @stunned = 0) {#IF (@sunallergy = 1) {apply liniment} {#IF (@brokenrightleg = 1 OR @brokenleftleg = 1) {apply mending to legs}}}

That's a very basic one. Building a good system takes a long long time. I've spent on redoing Thorgal's system, at least a RL fortnight of 10 hours a day fixing testing coding.



In case you'rw wondering, that's how to set up a nice big elseif line.
Weylin2006-06-02 04:37:11
why do you cure your legs there?
Murphy2006-06-02 04:39:22
it's just an example of a trigger that might fire on salvebalance.

My own system is much more complicated than that, here i'll show you a snippet

#if (%ismember( asleep, @afflictions)=0 and %ismember( stunned, @afflictions)=0 and %ismember( pause, @mechanics)=0 and %ismember( aeon, @afflictions)=0 and %ismember( salvebalance, @mechanics) and %ismember( slickness , @afflictions)=0 AND %ismember( sap, @afflictions)=0) {
#if ((%ismember( concussion, @afflictions) or %ismember( lefteye, @afflictions) or %ismember( righteye, @afflictions))) {salve regeneration head}

That's just a little part of it, i use stringlists and all sorts of bits and pieces.
Weylin2006-06-02 04:41:45
.......you are a god!! I wish I could do that kind of stuff
Murphy2006-06-02 04:56:50
so would this be a good time to mention my system being for sale then
Soll2006-06-02 09:55:35
Any reason you use '=0' other than comfort? I always use '!%ismember(concussion, @afflictions)' when I use ismember..
Murphy2006-06-02 11:34:15
The reason i use = 0 is so its easier to track, i like to have sometimes more brackets than i need so:

#IF (%ismember(concussion, @affliction)=0) {regen to head}
is easier for me to follow and count the brackets in a long if statement than
#IF !%ismember(concussion, @affliction) both have the same effect, but i find it easier to track, as an =0 is easier to spot than a !.

I find when you write systems, you like to do things a certain way even if it's a little bit quirky.
Soll2006-06-02 11:41:22
Tell me about it. biggrin.gif Kay, thanks for setting me straight there. I was suddenly worrying if =0 was a billion times faster or something. tongue.gif
Daganev2006-06-02 18:49:43
ummmmm

Murphy you are wrong.. you don't use %ismember(concusion, @afflictions)=0... you leave the 0 out.

You only do the =0 when your checking for the absence of stun/sleep/etc...

=0 means the affliction is MISSING from the list, not putting in =0 means the affliction is there, or you could put = 1
Weylin2006-06-02 21:42:10
QUOTE(Murphy @ Jun 1 2006, 09:56 PM) 293221

so would this be a good time to mention my system being for sale then



dude if I had money I would buy it!
Soll2006-06-02 21:55:40
QUOTE(daganev @ Jun 2 2006, 06:49 PM) 293307

ummmmm

Murphy you are wrong.. you don't use %ismember(concusion, @afflictions)=0... you leave the 0 out.

You only do the =0 when your checking for the absence of stun/sleep/etc...

=0 means the affliction is MISSING from the list, not putting in =0 means the affliction is there, or you could put = 1



Umm. Yes. '#if (%ismember( asleep, @afflictions)=0 and %ismember( stunned, @afflictions)=0 and %ismember( pause, @mechanics)=0 and %ismember( aeon, @afflictions)=0 and %ismember( salvebalance, @mechanics) and %ismember( slickness , @afflictions)=0 AND %ismember( sap, @afflictions)=0) {
#if ((%ismember( concussion, @afflictions) or %ismember( lefteye, @afflictions) or %ismember( righteye, @afflictions))) {salve regeneration head}'

If not asleep, not stunned, not 'paused', not aeoned, with salvebalance, not slick, and not sapped then he'll continue checking for afflictions. That's what you want to do.
Murphy2006-06-03 03:29:24
Yeh daganev, the previous was an example of how i like to do it.
Daganev2006-06-03 17:35:39
Murphy you said you prefer to do %ifmember(concusion, @affliction)=0... however, in the code you posted, you did %ifmember(consucion, @affliction)

Soll asked if the =0 is necessary, and you said no... however, the 0 IS necessary, because you are checking for a negetive, if your checking for a possitive then the 0 is not necessary.. I'm sure you both undertand but other people reading the thread may not.
Soll2006-06-03 18:55:33
No, once the main checks are done Murphy was checking for if he was afflicted, to see if he needed to cure. Concussion is one of the things he was checking for, to see if he needed to use regen to cure it.
Xavius2006-06-03 19:34:55
So this here is a prime example of why Murphy does it this way. Daganev's skimming right over the ! too.
Daganev2006-06-03 19:35:16
AHA...

indeed, I keep not seeing the "!"

"!" means NOT for those who don't know.

And was completely confused by using the Concusion as an example, instead of the sleep/aeon etc, as in the Code concusion is a possitive check, not a negetive check.