SkillupMagic.mac -- Raises magic skills

A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.

Moderator: MacroQuest Developers

giblet
decaying skeleton
decaying skeleton
Posts: 3
Joined: Fri Mar 05, 2004 1:42 pm

SkillupMagic.mac -- Raises magic skills

Post by giblet » Fri Mar 05, 2004 1:43 pm

give this a try, I've tried to keep the code clean.

Woops, forgot to mention you self target for the casting so make sure not to nuke yourself too hard. Wasn't an issue for me at all. PoK is a good place since you're immune to all offensive spells there.

Code: Select all

| Call this macro after defining targetted skill levels and appropriate spells
|
| Will iterate through all skills and raise them to requested levels in order
| The macro will auto end if the character moves.
|
| IMPORTANT NOTE: If you're casting a summoning spell and an item with "Summoned:"
|                 exists on your cursor it will be DESTROYED.



#define MANA_SIT 30			|% mana to sit and regain mana
#define MANA_CAST 90			|% mana to stand and resume casting

sub Main

  /declare loc_x global			|x loc
  /declare loc_y global			|y loc

  |record loc of character
  /varset loc_x $char(x)
  /varset loc_y $char(y)

  /call RaiseSkill "Abjuration" 120 "Taper Enchantment"
  /call RaiseSkill "Alteration" 120 "Shallow Breath"
  /call RaiseSkill "Conjuration" 120 "Mesmerize"
  /call RaiseSkill "Divination" 120 "True North"
  /call RaiseSkill "Evocation" 120 "Chaotic Feedback"
  /call RaiseSkill "Channeling" 120 "True North"
  /call RaiseSkill "Meditate" 120 "Alacrity"
  /call RaiseSkill "Specialize Alteration" 50 "Shallow Breath"
  /return


|===================================================================================
sub RaiseSkill(skill,level,spell)

  |general notification
  /echo - Raising @skill to @level with '@spell'
  /echo Macro will AUTO STOP if movement is detected.

  |return if spell not in book
  /if $char(book,"@spell")==NULL {
    /echo Spell '@spell' not in spellbook.
    /return
  }

  :loop
  |insert short semi-random delay
  /delay $calc(5+$rand(5))

  |exit if character movement detected
  /if (n @loc_x!=$char(x) || n @loc_y!=$char(y)) {
    /echo Movement detected!  Ending macro.
    /endmacro
  }

  |if casting a summoning spell and a summoned item on cursor, destroy it
  /if ("@spell"~~"Summon" && "$cursor(name)"~~"Summoned:") /destroy

  |return if this skill at desired level
  /if n $char(skill,"@skill")>=@level {
    /echo @skill at $char(skill,"@skill")
    /return
  }

  |insure spell memorized
  /if n $char(gem,"@spell")==0 {
    /memspell 8 "@spell"
    /delay 10s
  }

  |sit if not casting/medding and mana dropped to MANA_SIT value
  /if (n $char(mana,pct)<MANA_SIT && $char(state)=="STAND" && $char(casting)=="FALSE") /sit

  |if medding and mana not yet up to MANA_CAST, continue to med
  /if ($char(state)=="SIT" && n $char(mana,pct)<MANA_CAST) /goto :loop

  |cast if the spell has refreshed
  /if n $char(gem,"@spell")>0 {
    /if $char(state)=="SIT" /stand
    /if n $target(id)!=$char(id) /target myself
    /cast "@spell"
  }

  |loop
  /goto :loop
  /return

rasthan
decaying skeleton
decaying skeleton
Posts: 3
Joined: Wed Feb 04, 2004 5:51 pm

Post by rasthan » Fri Mar 19, 2004 2:56 pm

Thanks. This works great!

Zenatul
decaying skeleton
decaying skeleton
Posts: 1
Joined: Mon Mar 29, 2004 2:27 am

Post by Zenatul » Mon Mar 29, 2004 2:29 am

Great macro. Was wondering if you could incorporate something for wizards that casts harvest every 10 minutes, if you could, that would be just awesome~~
.etc

User avatar
Bad Karma
a snow griffon
a snow griffon
Posts: 346
Joined: Sat Nov 22, 2003 9:34 pm
Contact:

Post by Bad Karma » Mon Mar 29, 2004 10:03 pm

Zenatul wrote:Great macro. Was wondering if you could incorporate something for wizards that casts harvest every 10 minutes, if you could, that would be just awesome~~
Simply modify the code above to use the spell name you want, and set a /delay 10m.
[b]- Bad Karma
________________________________________[/b]

In our own quest for excellence, we should strive to take the time to help those who help themselves.

All others should [b]RTFM[/b]!!!!!!!!!

tranze204
a lesser mummy
a lesser mummy
Posts: 39
Joined: Tue Mar 02, 2004 6:26 pm

MAX skill level

Post by tranze204 » Sat Apr 03, 2004 11:28 am

Can you make it so that it automatically figures out the max spell casting skill level, and cast till then, when its set to 120 and you already have a higher skill then it wont cast other spells to get it past 120, or for example if you level 20 you cant get a skill of 120 so it keeps trying and only 1 skill is worked on thats already maxed at 105...thanx

Stilgar
a lesser mummy
a lesser mummy
Posts: 44
Joined: Thu Oct 23, 2003 9:43 pm

Post by Stilgar » Sat Apr 03, 2004 1:05 pm

look at this line:

/call RaiseSkill "Abjuration" 120 "Taper Enchantment"


change the number to something that suits you more.

Wolffe
orc pawn
orc pawn
Posts: 11
Joined: Tue Apr 06, 2004 2:50 pm

Summoning for Conj

Post by Wolffe » Tue Apr 06, 2004 2:55 pm

I was summoning food, and was hoping it would destroy the item on the cursor, but alas it does not. it stacks a few and then EQ starts spamming me about having too much stuff on my cursor. Any ideas?

Ehnal Seks
decaying skeleton
decaying skeleton
Posts: 2
Joined: Thu Apr 01, 2004 4:24 pm

Post by Ehnal Seks » Tue Apr 06, 2004 11:57 pm

yea, use a different spell. and stilgar -> ever play dark ages? www.darkages.com

Wolffe
orc pawn
orc pawn
Posts: 11
Joined: Tue Apr 06, 2004 2:50 pm

Post by Wolffe » Wed Apr 07, 2004 1:31 pm

I did, am using unswerving hammer of faith cast on myself. Works great =)

illus1on
orc pawn
orc pawn
Posts: 24
Joined: Wed Apr 14, 2004 3:32 pm

Post by illus1on » Thu Apr 15, 2004 6:08 pm

this macro isnt working for me... and I am not sure why. I edited it to be skills of 235, with the spells of my choice, and when I start the macro, it fails. It gives a bunch of /if fails, etc.

am I doing something wrong?


ps - 2nd day using MQ2

lost_man
orc pawn
orc pawn
Posts: 11
Joined: Sat Oct 11, 2003 5:52 pm

Post by lost_man » Fri Apr 16, 2004 12:52 am

The macro works for the most part..

The only problem is it does not destroy the Summoned:Halo of Light

Any ideas?

Remblan
orc pawn
orc pawn
Posts: 10
Joined: Thu Apr 22, 2004 2:44 am

Halo fix

Post by Remblan » Thu Apr 22, 2004 1:16 pm

To get it to Auto-Destroy Halo of light you need to edit this line

Code: Select all

/if ("@spell"~~"Summon" && "$cursor(name)"~~"Summoned:") /destroy 
to say this

Code: Select all

/if ("@spell"~~"Halo" && "$cursor(name)"~~"Summoned:") /destroy
  

Put now that the macro is broken, it does not matter. Give me a few days and I will try to get t fixed if I can. I am learning codong and the new MQ2Data at the same time so please be patient.

Bardmad
a lesser mummy
a lesser mummy
Posts: 36
Joined: Mon Apr 05, 2004 4:55 am

After last patch

Post by Bardmad » Sun Apr 25, 2004 6:52 pm

I'm having problem after the recent patch. this is a great program, but it's not working now. it's giving error msg like If (command)... etc.. cant really remember. and my EQW got disappeared when i on the spellup mac. anyone having the same problem?

Mongol311
a lesser mummy
a lesser mummy
Posts: 45
Joined: Sat Apr 24, 2004 12:06 pm
Location: Connecticut, USA

Post by Mongol311 » Mon Apr 26, 2004 4:33 am

Is anyone updating this macro for mq2? just wondering, if not, I will give a try in the next few days.
I live in an asbestos igloo, do your worst!
(Devs, please don't hate me, I donated!)

homburg
orc pawn
orc pawn
Posts: 20
Joined: Wed Apr 07, 2004 9:52 am

Post by homburg » Mon Apr 26, 2004 10:51 am

I'd love to see this updated. Terribly useful macro. I've tried a bit, but cannot get a thing to happen. I stink at this stuff though, so no big shock.