Are you running out of keys to use as macros??
Then run this easy menu-driven system to cast all spells!
Casts Mage, Necro, Druid, Cleric, Chivalry and even does some skills.
I have even added BlaZe Bunny's ClaimR script (with some minor modifications). (I hope it's ok with you blaze

Does EVERYTHING but take out the trash

See Screenshot. Even very easy to customize for your own use.
If you have questions, or suggestions, please let me know.
ENJOY!
Code: Select all
;*************************************************
; Cast All Spells by Natilla v1.0
; v1.0 04/21/09
; Base Script By: Talon Rhein
; Claim and Claimall by: BlaZe Bunny (formerly BlaZe Budd)
; Creates a menu where you can select spells to cast and skills to use.
; Magery, Necromancy, Chivalry, Cleric, Druid and even Skills (hiding, detect hidden, etc)
; Very Simple and easy to use.
; Can be easily adjusted to suit the most common spells you use.
; This script will not cast DRUID spells if you do not have a druid spellbook!
; This script will not cast a spell if you do not have the required skill level.
; THIS IS NOT A SKILLS TRAINER!
; Enjoy!
;**************************************************
;**************************************************
; CHANGE THESE OPTIONS IF YOU WANT
; User definied Variables:
; if using the claim or claimall buttons:
set %pathfind #true ;#true for pathfinding, set to #false to not pathfind (used in claim and claimall)
set %userrange 6 ;enter number 1-9 for how many tiles away you want claim script to look
; End User Defined Variables
;**************************************************
menu Clear
menu Clear
menu hideeuo
menu Window Title Cast All Spells by Natilla v1.0
menu Window Color Black
menu Window Size 906 72
menu Font Transparent #true
menu Font Align Right
menu Font Name MS Sans Serif
menu Font Size 8
menu Font Style
menu Font Color WindowText
menu Font BGColor Yellow
menu Button q1 4 4 89 29 Magery Buffs ;can change the name of "Magery Buffs" to whatever you like
menu Button q5 4 40 89 29 Necromancy ;can change the name of "Necromancy" to whatever you like
menu Button q2 100 4 89 29 Magery Offense ;can change the name of "Magery Offense" to whatever you like
menu Button q6 100 40 89 29 Druid ;can change the name of "Druid" to whatever you like
menu Button q3 196 4 89 29 Magery Misc ;can change the name of "Magery Misc" to whatever you like
menu Button q7 196 40 89 29 Skills ;can change the name of "Skills" to whatever you like
menu Button q4 292 4 89 29 Chivalry ;can change the name of "Chivalry" to whatever you like
menu Button q8 292 40 89 29 Cleric ;can change the name of "Cleric" to whatever you like
menu Font BGColor Red
menu Button qTargetMonster 812 4 89 29 Last Target
menu Font BGColor Blue
menu Button qTargetSelf 812 40 89 29 Target Self
menu Font BGColor Green
menu Show 47 608
Set #menubutton n/a
;======================================================
;----find spellbook and save variable-------
;======================================================
event Macro 8 7
wait 20
finditem MPF C_ , #BACKPACKID
if #findkind = -1
{
display ok Could not find your spellbook, please target it now
set #targcurs 1
while #targcurs = 1
wait 0
set %spellbook #ltargetid
}
if #findkind <> -1
set %spellbook #findID
goto mainloop
;========================================================
;---------------MAIN LOOP------------------------
;========================================================
mainLoop:
if #menubutton <> n/a
{
if q in #menubutton
{
gosub #menubutton ;opens sub menu
}
else
{
gosub castSpell #menubutton
}
set #menubutton n/a
}
wait 5
goto mainLoop
; *******************************************************************
;********************************************************************
; Here is where you can change what spells are displayed and used.
; To change them, follow this example:
; Let;s change Create Food to Earthquake.
; First, replace the text "Create Food" to "Earthquake" (without the quotes).
; Then, after the word "button" put the text that would come after [cs
; so for this example, after the word "button" replace "createfood" with "earthquake" (without the quotes)
; That's all there is to do to change the spells. Very easy, huh? =D
; DO NOT CHANGE ANY OF THE NUMBERS.
; *******************************************************************
;********************************************************************
sub q1
menu Button createfood 400 4 89 29 Create Food
menu Button clumsy 400 40 89 29 Clumsy
menu Button curse 496 4 89 29 Curse
menu Button weaken 496 40 89 29 Weaken
menu Button strength 592 4 89 29 Strength
menu Button bless 592 40 89 29 Bless
menu Button reactivearmor 688 4 89 29 Reactive Armor
menu Button protection 688 40 89 29 Protection
return
sub q2
menu Button fireball 400 4 89 29 Fireball
menu Button firefield 400 40 89 29 Fire Field
menu Button lightning 496 4 89 29 Lightning
menu Button energybolt 496 40 89 29 Enegy Bolt
menu Button energyfield 592 4 89 29 Energy Field
menu Button harm 592 40 89 29 Harm
menu Button poisonfield 688 4 89 29 Poison Field
menu Button paralyzefield 688 40 89 29 Paralyze Field
return
sub q3
menu Button recall 400 4 89 29 Recall
menu Button gatetravel 400 40 89 29 Gate
menu Button greaterheal 496 4 89 29 Greater Heal
menu Button archcure 496 40 89 29 Arch Cure
menu Button telekinesis 592 4 89 29 Telekinesis
menu Button teleport 592 40 89 29 Teleport
menu Button earthelemental 688 4 89 29 Earth Elemental
menu Button energyvortex 688 40 89 29 Energy Vortex
return
sub q4
menu Button consecrateweapon 400 4 89 29 Consecrate Weap
menu Button divinefury 400 40 89 29 Divine Fury
menu Button enemyofone 496 4 89 29 Enemy of One
menu Button 1 496 40 89 29 Nothing
menu Button qClaimS 592 4 89 29 Claim (Single)
menu Button qClaim_loop 592 40 89 29 Claim (Loop)
menu Button qClaimallS 688 4 89 29 Claimall (Single)
menu Button qClaimall_loop 688 40 89 29 Claimall (Loop)
return
sub q5
menu Button animatedead 400 4 89 29 Animate Dead
menu Button lichform 400 40 89 29 Lich Form
menu Button wraithform 496 4 89 29 Wraith Form
menu Button horrificbeast 496 40 89 29 Horrific Beast
menu Button vampiricembrace 592 4 89 29 Vampiric Embrace
menu Button wither 592 40 89 29 Wither
menu Button strangle 688 4 89 29 Strangle
menu Button summonfamiliar 688 40 89 29 Summon Familiar
return
sub q6
menu Button enchantedgrove 400 4 89 29 Enchanted Grove
menu Button volcaniceruption 400 40 89 29 Volcanic Eruption
menu Button stonecircle 496 4 89 29 Stone Circle
menu Button lurestone 496 40 89 29 Lure Stone
menu Button restorativesoil 592 4 89 29 Restorative Soil
menu Button swarmofinsects 592 40 89 29 Swarm of Insects
menu Button shieldofearth 688 4 89 29 Shield of Earth
menu Button graspingroots 688 40 89 29 Grasping Roots
return
sub q7
menu Button qHiding 400 4 89 29 Hiding
menu Button qTracking 400 40 89 29 Tracking
menu Button qPeace 496 4 89 29 Peace
menu Button qDisco 496 40 89 29 Disco
menu Button qProvoke 592 4 89 29 Provoke
menu Button qDetect 592 40 89 29 Detect Hidden
menu Button qLore 688 4 89 29 Animal Lore
menu Button qMed 688 40 89 29 Meditate
return
sub q8
menu Button touchoflife 400 4 89 29 Touch of Life
menu Button purge 400 40 89 29 Purge
menu Button restoration 496 4 89 29 Restoration
menu Button angelicfaith 496 40 89 29 Angelic Faith
menu Button dampenspirit 592 4 89 29 Dampen Spirit
menu Button sacredboon 592 40 89 29 Sacred Boon
menu Button smite 688 4 89 29 Smite
menu Button trialbyfire 688 40 89 29 Trial By Fire
return
sub castSpell
msg $
msg [cs %1 $
set #menubutton n/a
return
sub qHiding
_Setup_ReHide
EVENT macro 13 21
_Setup_ScanJournal:
SCANJOURNAL 1
IF hidden_yourself_well in #JOURNAL
GOTO _Setup_DoneHiding
WAIT 10s
GOTO _Setup_ReHide
_Setup_DoneHiding:
return
sub qTargetSelf
event Macro 23 0
return
sub qtracking
event macro 13 38
return
sub qpeace
event macro 13 9
return
sub qdisco
event macro 13 15
return
sub qprovoke
event macro 13 22
return
sub qdetect
event macro 13 14
return
sub qlore
event macro 13 2
return
sub qmed
event macro 13 46
return
sub qTargetMonster
event macro 22 0
return
sub qClaimS
msg [claim $
return
sub qClaimAllS
msg [claimall $
return
;***********************
sub qClaim_loop
set #menubutton N/A
menu delete qclaim_loop
menu Button qStopClaiming 592 40 89 29 Stop Claiming
set %claimall #false
gosub findCorpse
return
;*************************
sub qClaimAll_loop
set #menubutton N/A
menu delete qclaimall_loop
menu Button qStopClaimAll 688 40 89 29 Stop Claiming All
set %claimall #true
gosub findCorpse
return
;;;;; ;;;;; ;;;;; ;;;;; ;;;;;
sub findCorpse
set %claim Herewego
for %range 1 %userrange
{
findItem YFM G_ , %range
if #findKind > 0
gosub claim
}
target
key esc
set %claim done
if %claimall = #false
{
gosub qStopClaiming
}
if %claimall = #true
{
gosub qStopClaimall
}
return
;;;;;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;;;;;;
sub claim
set #lTargetID #findID
set #lTargetKind 1
gosub sayIt
if done notIn %claim
goto again
;set %claim HereWeGo
again:
target 2s
event macro 22
wait %lagTimer
gosub journalCheck
set %range 1
gosub Checkstop
return
;;;;;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;;;;;; ;;;;;;;
sub sayIt
if %claimAll = #false
event macro 1 0 [claim
else
event macro 1 0 [claimall
return
;;;;; ;;;;; ;;;;; ;;;;; ;;;;;
sub journalCheck
for %scan 1 3
{
scanJournal %scan
if isn't_a_corpse! in #journal || can't_get_there in #journal || earn_the_rights in #journal
{
set %claim done
ignoreItem #findID
}
if cannot_be_seen in #journal
{
if %pathfind = #true
{
event pathfind #findX #findY
gosub sayIt
}
else
{
set %claim done
ignoreitem #findID
return
}
set %scan 3
}
}
return
;*******************************
sub qStopClaiming
set #menubutton N/A
menu delete qStopClaiming
menu Button qclaim_loop 592 40 89 29 Claim (Loop)
key esc
goto mainloop
sub qStopClaimAll
set #menubutton N/A
menu delete qStopClaimAll
menu Button qclaimall_loop 688 40 89 29 Claimall (Loop)
key esc
goto mainloop
sub Checkstop
if qstopclaiming in #menubutton
{
gosub qStopClaiming
}
if qStopClaimAll in #menubutton
{
gosub qStopClaimAll
}
else
return