spell up scripts 04/29/2015 06:27 PM CDT


anyone have a spell up script to cast fulls spells on myself or others that I can copy please ?
Reply
Re: spell up scripts 04/29/2015 07:28 PM CDT
>>anyone have a spell up script to cast fulls spells on myself or others that I can copy please ?

Most of us now use this: https://gswiki.play.net/mediawiki/index.php/The_Lich

There are still some hold outs though for various reasons.
Reply
Re: spell up scripts 04/29/2015 07:48 PM CDT
For Wizard, StormFront, Avalon or Lich?

Lich is easy - use waggle.lic. Lich provides some benefits that will be exceptionally difficult to express in a Wizard / SF script, such as pausing when mana is too low, stopping when a certain 'time duration' has been achieved, skipping spells you don't know yet, etc.

If you want to try to write a script for Avalon, Wizard or SF you can use this as a basis. You'll have to be responsible for making sure to pause the script when mana is low, and continuing when you have sufficient mana. Take out any spells you don't know, or don't want cast (there are 4 lines for each spell to be cast).




#Prepare for hunting

put prep 401
waitfor Your spell
put cast %1
pause 3
put prep 406
waitfor Your spell
put cast %1
pause 3
put prep 414
waitfor Your spell
put cast %1
pause 3
put prep 425
waitfor Your spell
put cast %1
pause 3
put prep 430
waitfor Your spell
put cast %1
pause 3
put prep 503
waitfor Your spell
put cast %1
pause 3
put prep 507
waitfor Your spell
put cast %1
pause 3
put prep 508
waitfor Your spell
put cast %1
pause 3
put prep 509
waitfor Your spell
put cast %1
pause 3
put prep 513
waitfor Your spell
put cast %1
pause 3
put prep 520
waitfor Your spell
put cast %1
pause 3
put prep 905
waitfor Your spell
put cast %1
pause 3
put prep 911
waitfor Your spell
put cast %1
pause 3
put prep 913
waitfor Your spell
put cast %1
pause 3

exit



Doug
Reply
Re: spell up scripts 04/29/2015 09:58 PM CDT
I use Stormfront. This is what my wizard uses. I have it tied to the INSERT key.

put incant 414
pause 3
put incant 913
pause 3
put incant 911
pause 3
put incant 509
pause 3
put incant 508
pause 3
put incant 507
pause 3
put incant 406
pause 3
put incant 905
pause 3
put incant 503
pause 3
put incant 401
pause 3
exit

I go high mana to low. Not sure if that helps anything.

Chad, player of a few
Reply
Re: spell up scripts 04/29/2015 10:26 PM CDT
If you want to get a bit fancier, the following is a snippet from the wizard FE macro I use to spell up. I try to balance the spells so I get about the same amount of time added for each spell. This has some error handling so you won't skip casting any spells due to game lag or armor hindrance. I also start with high mana spells and then work down.

I have a similar macro for my paladin but I added some additional code to remove his armor at the start, put it back on at the end, and to adjust his armor for armored fluidity.

Honestly ;waggle is much more efficient/convenient if you decide to use Lich though.


#Faulkil - Spellup

goto Incant540

Retry540:
pause 1

Incant540:
# 540-Temporal Reversion
# 1200 seconds + 60 for every Major Elt known
# 120 minutes
match Retry540 ...wait
match Retry540 [Spell Hindrance
match Done540 Cast Roundtime
put INCANT 540
matchwait

Done540:
pause 2
goto Incant430


Retry430:
pause 1

Incant430:
# 430-Elemental Barrier
# 1200 seconds + 60 for every Minor Elt known
# 95 minutes
match Retry430 ...wait
match Retry430 [Spell Hindrance
match Done430 Cast Roundtime
put INCANT 430
matchwait

Done430:
pause 2
goto Incant425


Retry425:
pause 1

Incant425:
# 425-Elemental Targetting
# 1200 seconds + 60 for every Minor Elt known
# 95 minutes
match Retry425 ...wait
match Retry425 [Spell Hindrance
match Done425 Cast Roundtime
put INCANT 425
matchwait

Done425:
pause 2
goto Incant520

Skipped some spells because you should have the idea now.

Retry503:
pause 1

Incant503:
# 503-Thurfel's Ward
# 1200 seconds + 60 for every Major Elt known
# 120 minutes
match Retry503 ...wait
match Retry503 [Spell Hindrance
match Done503 Cast Roundtime
put INCANT 503
matchwait

Done503:
pause 2
goto Incant401


Retry401:
pause 1

Incant401:
# 401-Elemental Defense I
# 1200 seconds + 60 for every Minor Elt known
# 95 minutes
match Retry401 ...wait
match Retry401 [Spell Hindrance
match Done401 Cast Roundtime
put INCANT 401
matchwait

Done401:

-- Robert aka Faulkil

"Wyrom isn't interacting with me, I think he is AFK scripting."
Reply
Re: spell up scripts 04/29/2015 11:04 PM CDT
I know nothing whatsoever about Lich or fancy ways of writing scripts. Plain old English (more or less) is what I use, in two parts.

Part 1:

put prep 401
put cast
pause 4
put prep 406
put cast
pause 4
put prep 419
put cast
pause 4
put prep 503
put cast
pause 4
put prep 503
put cast
pause 4
put prep 507
put cast
pause 4
put prep 507
put cast
pause 4
put prep 508
put cast
pause 4
put prep 508
put cast
pause 4
put prep 508
put cast
pause 4
put prep 509
put cast
pause 4
put prep 509
put cast
pause 4
put prep 509
put cast
pause 4
put prep 905
put cast
pause 4
put prep 905
put cast
pause 4
put prep 911
put cast
pause 4
put prep 911
put cast
pause 4
put prep 913
put cast
pause 4
put prep 913
put cast


"So, what does that green line on the graph represent?"
"Oh, that's the projection of a hypothetical offspring from a union between Sauron and Cruella de Ville; we use that as a baseline for determining character alignment."
Reply
Re: spell up scripts 04/29/2015 11:06 PM CDT
Part 2

put prep 425
put cast
pause 4
put prep 430
put cast
pause 4
put prep 520
put cast
pause 4
put prep 520
put cast
pause 4
put prep 540
put cast


"So, what does that green line on the graph represent?"
"Oh, that's the projection of a hypothetical offspring from a union between Sauron and Cruella de Ville; we use that as a baseline for determining character alignment."
Reply
Re: spell up scripts 04/29/2015 11:21 PM CDT
And a potential quick pro tip (I think it will work in SF, too).

After you've chosen your 'favorite' script from amongst these offerings, you can add %1 to the end of the 'put incant' line.

The %1 entry will then target the character requested - and if no character is requested, will simply put a null value, resulting in casting on yourself.

Example (from Robert's Robust Round of Radical Ractification)



#Faulkil - Spellup

goto Incant540

Retry540:
pause 1

Incant540:
# 540-Temporal Reversion
# 1200 seconds + 60 for every Major Elt known
# 120 minutes
match Retry540 ...wait
match Retry540 [Spell Hindrance
match Done540 Cast Roundtime
put INCANT 540 %1
matchwait

Done540:
pause 2
goto Incant430




Presuming you named this 'spellup.cmd', you could call it from the command line by entering .spellup

And you would target another character from the command line by entering .spellup faulkil

or the appropriate character's name. That will meet all the requirements given.

Doug
Reply
Re: spell up scripts 04/30/2015 12:13 AM CDT
Crud! I left out 513. Never use it myself; warmage, ye know.

"So, what does that green line on the graph represent?"
"Oh, that's the projection of a hypothetical offspring from a union between Sauron and Cruella de Ville; we use that as a baseline for determining character alignment."
Reply
Re: spell up scripts 04/30/2015 01:26 PM CDT
>>After you've chosen your 'favorite' script from amongst these offerings, you can add %1 to the end of the 'put incant' line.

Well, you can put the %1 after cast, but putting it after incant 540 is still just going to target yourself. Incant always targets yourself when using buff spells. You can include a target but it's just going to ignore it.

When I'm not using waggle.lic (because I can't use Lich on my work computer) I use something like this for my script that will cast at other people and the script that is for self-spelling will use incant instead of prep/cast. No real difference though really.



#Casts X amount of spirit spells on target

if_1 goto Begin
echo !!!!! Usage: "scriptname" <Target> <number of multicasts> !!!!!
echo !!!!! <Target> is required !!!!!
exit

Begin:
save 101
Counter Set 1

Start:
put prep %s
match Ready Your spell is
match NotReady You already have a spell readied!
match Hindered Wait
matchwait

Ready:
put cast at %1 %2
match Hindered [Spell Hindrance for
match Success Cast Roundtime
matchwait

NotReady:
put release
waitfor You feel the magic of your spell
put prep %s
waitfor Your spell is
put cast at %1 %2
match Hindered [Spell Hindrance for
match Success Cast Roundtime
matchwait

Hindered:
pause 2
goto Start

Success:
pause 2
Counter Add
goto NextSpell%c

NextSpell2:
save 103
goto Start

NextSpell3:
save 104
goto Start

NextSpell4:
save 105
goto Start

NextSpell5:
save 107
goto Start

NextSpell6:
save 112
goto Start

NextSpell7:
save 202
goto Start

NextSpell8:
save 207
goto Start

NextSpell9:
exit
Reply
Re: spell up scripts 04/30/2015 01:35 PM CDT
A more elegant solution! I do something similar for alchemy for each of the steps in a recipe (call different subroutines to Boil, SIMMER, CHANT, etc then return to the main recipe for the next step) but never bothered to go back and update my spellup macro in a similar fashion. I'll probably go ahead and update my spellup macro this evening while the idea is still fresh in my mind to do so.

Thanks for posting your example!

-- Robert

"Wyrom isn't interacting with me, I think he is AFK scripting."
Reply
Re: spell up scripts 04/30/2015 03:15 PM CDT
>>Well, you can put the %1 after cast, but putting it after incant 540 is still just going to target yourself. Incant always targets yourself when using buff spells. You can include a target but it's just going to ignore it.

Excellent point (d'oh!) and elegant solution!

Doug
Reply
Re: spell up scripts 04/30/2015 10:12 PM CDT
Here's my updated spellup script based on Rob's example. Much cleaner!

-- Robert

#Faulkil - Spellup

Begin:
put RELEASE
Counter Set 1

GOTO NextSpell%c

RetrySpell:
pause 1

CastSpell:
match RetrySpell ...wait
match RetrySpell [Spell Hindrance
match CastSuccess Cast Roundtime
put INCANT %s
matchwait

CastSuccess:
Counter Add
pause 3
goto NextSpell%c

NextSpell1:
save 540
GOTO CastSpell

NextSpell2:
save 430
GOTO CastSpell

NextSpell3:
save 425
GOTO CastSpell

NextSpell4:
save 520
GOTO CastSpell

NextSpell5:
save 414
GOTO CastSpell

NextSpell6:
save 913
GOTO CastSpell

NextSpell7:
save 911
GOTO CastSpell

NextSpell8:
save 513
GOTO CastSpell

NextSpell9:
save 509
GOTO CastSpell

NextSpell10:
save 508
GOTO CastSpell

NextSpell11:
save 507
GOTO CastSpell

NextSpell12:
save 406
GOTO CastSpell

NextSpell13:
save 905
GOTO CastSpell

NextSpell14:
save 503
GOTO CastSpell

NextSpell15:
save 401
GOTO CastSpell

NextSpell16:
exit



"Wyrom isn't interacting with me, I think he is AFK scripting."
Reply
Re: spell up scripts 05/01/2015 12:10 AM CDT
And with this simple change (two lines) this script is modified to cast either at self, or at <character> (at least I hope I get this one right. :)

CastSpell:
match RetrySpell ...wait
match RetrySpell [Spell Hindrance
match CastSuccess Cast Roundtime
put PREPARE %s
put CAST %1
matchwait

Doug
Reply
Re: spell up scripts 05/01/2015 02:39 AM CDT
Here's mine. This allows you to specify if you want to cast only major elementals, minors, or wizard spells, and also allows you to add a number of multi-casts. For example, typing { .spell minor 3 } will attempt to use multi-cast to cast only your minor elementals three times. Leaving no arguments will default to a full spell-up.




if_1 goto SPELL%1%
goto SPELLfull

labelError:
echo
echo Syntax: spell <full|MnE|MjE|Wiz|mass>
echo
exit

SPELLfull:

echo Commencing full spell-up.

put inc 430 %2
waitfor Roundtime
pause 3

put inc 425 %2
waitfor Roundtime
pause 3

put inc 414 %2
waitfor Roundtime
pause 3

put inc 406 %2
waitfor Roundtime
pause 3

put inc 401 %2
waitfor Roundtime
pause 3

put inc 503 %2
waitfor Roundtime
pause 3

put inc 507 %2
waitfor Roundtime
pause 3

put inc 508 %2
waitfor Roundtime
pause 3

put inc 509 %2
waitfor Roundtime
pause 3

put inc 513 %2
waitfor Roundtime
pause 3

put inc 520 %2
waitfor Roundtime
pause 3

put inc 540 %2
waitfor Roundtime
pause 3

put inc 905 %2
waitfor Roundtime
pause 3

put inc 911 %2
waitfor Roundtime
pause 3

put inc 913 %2

goto END


SPELLMjE:
SPELLMaj:
SPELLMajor:

echo Casting Major Elementals only.

put inc 503 %2
waitfor Roundtime
pause 3

put inc 507 %2
waitfor Roundtime
pause 3

put inc 508 %2
waitfor Roundtime
pause 3

put inc 509 %2
waitfor Roundtime
pause 3

put inc 513 %2
waitfor Roundtime
pause 3

put inc 520 %2
waitfor Roundtime
pause 3

put inc 540 %2

goto END

SPELLMnE:
SPELLMin:
SPELLMinor:

echo Casting Minor Elementals only.

put inc 430 %2
waitfor Roundtime
pause 3

put inc 425 %2
waitfor Roundtime
pause 3

put inc 414 %2
waitfor Roundtime
pause 3

put inc 406 %2
waitfor Roundtime
pause 3

put inc 401 %2

goto END

SPELLWiz:
SPELLWizard:

echo Casting Wizard spells only.

put inc 905 %2
waitfor Roundtime
pause 3

put inc 911 %2
waitfor Roundtime
pause 3

put inc 913 %2

goto END

SPELLmass:

echo Casting Mass Spells.
#BLURS

put inc 911 3
waitfor Roundtime
pause 3

#GUARDS

put inc 419 4

goto END

END:
Reply