Kharne2009-04-19 13:02:28
I got a scroll IG on how to do this, but i think it is quite outdated. Could anyone point me in the right direction or input what you have (im a noob)
Esano2009-04-19 13:21:18
QUOTE (Kharne @ Apr 19 2009, 11:21 AM) <{POST_SNAPBACK}>
How would i set up my demsne effects so i would cast one every ten seconds?
I presume you're asking the same question there.
If you post the scroll, we can post corrections.
To summarise, use DoAfter. I'll explain in more detail later.
Kharne2009-04-19 13:33:24
I understood everything up to timers, im not sure if that is outdated or its my inability to understand how to configure timers
NOTICE: This is a guide for MUSHclient. The basics will, however, work
for any client with a bit of tweaking. Please read each step entirely
before starting it. Also, make sure scripting is set to Visual BASIC.
QUESTIONS: Send your questions, comments, and suggestions to Censored!
The goal of this missive is to instruct the reader on how to create an
effective timer for setting up demesne effects. This meld timer consists
of a simple set of timers, triggers, and variables that come together to
make your demesne fire all its effects at (nearly) the same time. If you
cast one effect, it will fire every 10 seconds, so the goal of the timer
is to automatically cast each effect 10 seconds apart. Having all your
effects hitting simultaneously will make your demesne much more
difficult for your enemies to handle.
STEP 1: SET UP VARIABLES
========================
Your first step is to create a set of variables like the following:
d_spores, d_pollen, d_thorns, d_storm, d_swarm. That is, one variable
for each of your demesne effects. I add the "d_" bit to make them all
appear near each other in an alphabetic list, but you can use any naming
scheme that works for you. Please note there is no variable for
Treelife, roots, or treebane. We'll deal with those later as they are
not effects you always want active.
STEP 2: ON/OFF SWITCH
=====================
Next we add an alias that SENDS TO SCRIPT called "MON" (short for MELD
ON) that does this:
world.setvariable "d_", "0"
This will make the variable for the "effect" have a value of "0". So for
Storm, it would look like this
world.setvariable "d_storm", "0"
Do this for every "d_" variable you made earlier. Make sure you
add them all to the "MON" alias so when you type "MON" it turns every
variable to "0". This will ready your meld for bringing up effects.
Repeat this for alias "MOFF" (MELD OFF) but instead of using a value
"0", use "1". We set the variables for each effect to "1" so the meld
timer will not try to raise that effect again. Thus, a value of "1" is
for an effect we do not need to cast again, and "0" is for one we have
yet to cast.
STEP 3: TRIGGERS
================
Now comes the tricky part. You need to cast each meld effect in a
demesne and highlight the first line of casting the effect. For
instance, the first line when you cast Storm would look like this:
You reach out to your demesne, then raise your arms to the sky and shout
loudly,
Make a trigger to catch this. You may have to hit the "regular
expression" box. It's good to change the colour of this text too. If the
colour changes when you cast it, then you are sure the trigger is
picking it up. Have the trigger SEND TO SCRIPT and make it set the
variable for the appropriate effect to "1" just like we did with MOFF
alias. So the trigger for Storm would look like this:
You reach out to your demesne, then raise your arms to the sky and shout
loudly,
(SEND: ) world.setvariable "d_storm", "1"
Also, check your variables to make sure storm was set to "1".
Double-checking now saves lots of pain in the future! Also, remember we
don't need a trigger for Treelife, Treebane, or Roots yet!
STEP 4: ADD THE TIMER
=====================
The last step is to create a 10 second timer. The timer should again
"SEND TO SCRIPT". For each of your meld effect variables ("d_")
you need something like this:
if getvariable ("d_storm") = "0" the send "forestcast storm demesne" end
if
This will make the client check the variable "d_storm" and see if it is
"0" (i.e. still needs to be cast). If it is "0", then it will try to
cast storm every 10 seconds. Remember, your meld fires every 10 seconds,
so you need to raise the effects right as they fire so that they will
fire in unison. So, your timer should be 10 seconds, sending to script,
and have those three lines for each variable. If your triggers were
correct, as you cast the effect it will change to the variable to a "1"
and no longer try cast the effect. Thus, it will cast the next one in
the list until there are none left!
NOTICE: This is a guide for MUSHclient. The basics will, however, work
for any client with a bit of tweaking. Please read each step entirely
before starting it. Also, make sure scripting is set to Visual BASIC.
QUESTIONS: Send your questions, comments, and suggestions to Censored!
The goal of this missive is to instruct the reader on how to create an
effective timer for setting up demesne effects. This meld timer consists
of a simple set of timers, triggers, and variables that come together to
make your demesne fire all its effects at (nearly) the same time. If you
cast one effect, it will fire every 10 seconds, so the goal of the timer
is to automatically cast each effect 10 seconds apart. Having all your
effects hitting simultaneously will make your demesne much more
difficult for your enemies to handle.
STEP 1: SET UP VARIABLES
========================
Your first step is to create a set of variables like the following:
d_spores, d_pollen, d_thorns, d_storm, d_swarm. That is, one variable
for each of your demesne effects. I add the "d_" bit to make them all
appear near each other in an alphabetic list, but you can use any naming
scheme that works for you. Please note there is no variable for
Treelife, roots, or treebane. We'll deal with those later as they are
not effects you always want active.
STEP 2: ON/OFF SWITCH
=====================
Next we add an alias that SENDS TO SCRIPT called "MON" (short for MELD
ON) that does this:
world.setvariable "d_
This will make the variable for the "effect" have a value of "0". So for
Storm, it would look like this
world.setvariable "d_storm", "0"
Do this for every "d_
add them all to the "MON" alias so when you type "MON" it turns every
variable to "0". This will ready your meld for bringing up effects.
Repeat this for alias "MOFF" (MELD OFF) but instead of using a value
"0", use "1". We set the variables for each effect to "1" so the meld
timer will not try to raise that effect again. Thus, a value of "1" is
for an effect we do not need to cast again, and "0" is for one we have
yet to cast.
STEP 3: TRIGGERS
================
Now comes the tricky part. You need to cast each meld effect in a
demesne and highlight the first line of casting the effect. For
instance, the first line when you cast Storm would look like this:
You reach out to your demesne, then raise your arms to the sky and shout
loudly,
Make a trigger to catch this. You may have to hit the "regular
expression" box. It's good to change the colour of this text too. If the
colour changes when you cast it, then you are sure the trigger is
picking it up. Have the trigger SEND TO SCRIPT and make it set the
variable for the appropriate effect to "1" just like we did with MOFF
alias. So the trigger for Storm would look like this:
You reach out to your demesne, then raise your arms to the sky and shout
loudly,
(SEND: ) world.setvariable "d_storm", "1"
Also, check your variables to make sure storm was set to "1".
Double-checking now saves lots of pain in the future! Also, remember we
don't need a trigger for Treelife, Treebane, or Roots yet!
STEP 4: ADD THE TIMER
=====================
The last step is to create a 10 second timer. The timer should again
"SEND TO SCRIPT". For each of your meld effect variables ("d_
you need something like this:
if getvariable ("d_storm") = "0" the send "forestcast storm demesne" end
if
This will make the client check the variable "d_storm" and see if it is
"0" (i.e. still needs to be cast). If it is "0", then it will try to
cast storm every 10 seconds. Remember, your meld fires every 10 seconds,
so you need to raise the effects right as they fire so that they will
fire in unison. So, your timer should be 10 seconds, sending to script,
and have those three lines for each variable. If your triggers were
correct, as you cast the effect it will change to the variable to a "1"
and no longer try cast the effect. Thus, it will cast the next one in
the list until there are none left!
Esano2009-04-19 13:42:41
I ... think I can see why they did it like that. So they can restore specific demesne effects and keep them in time.
Mostly, honestly, I'd do a much simpler list of DoAfters. The way they did it looks to be needlessly complex.
Note that the below is in Lua, not VBscript.
Make an alias to do this:
Send("forestcast spores")
DoAfter(10, "forestcast pollen")
DoAfter(20, "forestcast thorns")
DoAfter(30, "forestcast storm")
etc. Make sure the alias is set to send to script.
Mostly, honestly, I'd do a much simpler list of DoAfters. The way they did it looks to be needlessly complex.
Note that the below is in Lua, not VBscript.
Make an alias to do this:
Send("forestcast spores")
DoAfter(10, "forestcast pollen")
DoAfter(20, "forestcast thorns")
DoAfter(30, "forestcast storm")
etc. Make sure the alias is set to send to script.
Kharne2009-04-19 13:52:52
sorry to be a nub, but how do i change the script to Lua?
I havent changed the script yet and its coming up with an error
Script error
World: Lusternia
Execution of line 2 column 33
Immediate execution
Cannot use parentheses when calling a Sub
Line in error:
DoAfter(10, "forestcast pollen")
Thanks in advance
I havent changed the script yet and its coming up with an error
Script error
World: Lusternia
Execution of line 2 column 33
Immediate execution
Cannot use parentheses when calling a Sub
Line in error:
DoAfter(10, "forestcast pollen")
Thanks in advance
Kharne2009-04-19 13:55:34
and
Script error
World: Lusternia
Execution of line 2 column 33
Immediate execution
Cannot use parentheses when calling a Sub
Line in error:
DoAfter(10, "forestcast pollen")
Script error
World: Lusternia
Execution of line 2 column 33
Immediate execution
Cannot use parentheses when calling a Sub
Line in error:
DoAfter(10, "forestcast pollen")
Kharne2009-04-19 14:01:50
I dont think i can put it in Vua as i have ethelons system and its written in VBscript. Would it matter?
Esano2009-04-19 14:04:11
Yes, it would. Just change it to
world.Send "forestcast whatever"
world.DoAfter 10, "forestcast whatever"
That should be the correct syntax for VB.
EDIT: Added the world stuff, which might be necessary
world.Send "forestcast whatever"
world.DoAfter 10, "forestcast whatever"
That should be the correct syntax for VB.
EDIT: Added the world stuff, which might be necessary
Unknown2009-04-19 14:20:40
So... you have a guide that tells you exactly how to do what you want to do using the client you're using and the scripting language you're using... and you came here to ask how to do this? 

Kharne2009-04-19 14:23:03
yes, cos it didnt work lol
Unknown2009-04-19 14:24:07
Lol, ur doin it rong? 

Kharne2009-04-19 14:26:45
QUOTE (Esano @ Apr 20 2009, 01:04 AM) <{POST_SNAPBACK}>
Yes, it would. Just change it to
world.Send "forestcast whatever"
world.DoAfter 10, "forestcast whatever"
That should be the correct syntax for VB.
EDIT: Added the world stuff, which might be necessary
world.Send "forestcast whatever"
world.DoAfter 10, "forestcast whatever"
That should be the correct syntax for VB.
EDIT: Added the world stuff, which might be necessary
Much thanks for the help, has worked without the added bs
Esano2009-04-19 14:36:34
On reading over in more detail, the reason it didn't work probably has to do with clicking the regular expression box adding $. From what I can remember, Eth's system uses wrapwidth 0, so the first line he sees and copies may not end properly, the variable would never get set to 0, and it would just recast.
Of course, without knowing exactly what happened when it 'didnt work', you can't really tell.
I also noticed that it says you don't always want treelife/roots/treebane active. That's something I hadn't considered in the above example, and if it's true, you may want to work through whatever problems you're having with the original instructions.
Of course, without knowing exactly what happened when it 'didnt work', you can't really tell.
I also noticed that it says you don't always want treelife/roots/treebane active. That's something I hadn't considered in the above example, and if it's true, you may want to work through whatever problems you're having with the original instructions.