• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Request - /mac skillcast fix (1 Viewer)

timmy

Well-known member
Joined
Apr 1, 2014
RedCents
1,363¢
i love this mac and now it doesn't work. i thought maybe it was because of new spell gems, but even in gem 1 the mac will cast 1 spell and then end.

error message:

error.jpg

macro:

Rich (BB code):
|SkillCast.mac
|Created by HooseNutz - 27 FEB 05
|-Required plugins NONE
|USE: /macro skillcast 8
|Why I made this, instead of using MQ2Twist |to twist a spell-gem and chance getting |caught using MQ2. And to skill-up your |choice of spell types.

#include spell_routines.inc
#turbo 10
   /Echo =============================
   /Echo HooseNutz's Spell Caster
   /Echo =============================

Sub Main
   /declare SpellName
   /varset SpellName ${Me.Gem[${Param0}]}
   /if (${Me.State.Equal[Sit]}) /stand

   :CheckMana
   /if (${Me.PctMana}<20) /goto :SitDown

   :CheckCursor
   /if (${Cursor.ID}) {
      /autoinv
      /goto :CheckCursor
   }

   :CastSpell
   /call cast "${SpellName}"
   /doevents
   /goto :CheckMana

   :SitDown
   /if (${Me.State.Equal[STAND]}) /sit on

   :HowMuchMana
   /if (${Me.PctMana}<98) /goto :HowMuchMana
   /goto :CheckMana
/endmacro
 
The error you are getting is because the MySub variable is being set to 56503 and the waitcast routine is trying to call the ${MySub} routine. Try posting your Spell_Routines.inc. Your line numbers are not matching up with any of the versions of Spell_Routines.inc I have.

You can PM the file to me if you want..
 
first time poster on this board. But as ctaylor22 has stated, it is your version of Spell_Routines.inc. The options are you can go with Spell_Routines.inc versions 2.7, 2.9, 3.01(<-probably not publicly available) or the plugin MQ2Cast if its available to you. While I no longer have access to the VIP boards on the macroquest or level 2 here, Im not sure whats allowed or not. But I can tell you if you use the the plugin version, you will need to change the line /call cast "${SpellName}" to /casting "${SpellName}" (its in the public wiki over there)
 
couldnt help myself

removed the include as,its not really needed for what you are doing here.
added a few delays so its not spamming things.

Rich (BB code):
|SkillCast.mac
|Created by HooseNutz - 27 FEB 05
|fixed by Kaen01 - 8 jan 2018
|-Required plugins NONE
|USE: /macro skillcast 8
|Why I made this, instead of using MQ2Twist |to twist a spell-gem and chance getting |caught using MQ2. And to skill-up your |choice of spell types.


#turbo 10

Sub Main
   /Echo =============================
   /Echo HooseNutz's Spell Caster
   /Echo =============================
   /declare SpellName
   /varset SpellName ${Me.Gem[${Param0}]}
   
   /if (${Me.State.Equal[Sit]}) /stand

   :CheckMana
   /if (${Me.PctMana}<20) /goto :SitDown

   :CheckCursor
   /if (${Cursor.ID}) {
      /autoinv
      /goto :CheckCursor
   }

   :CastSpell
   /cast "${SpellName}"
   /delay ${Math.Calc[(${Me.Gem[${Param0}].MyCastTime}+${Me.Gem[${Param0}].RecastTime}+${MacroQuest.Ping})\100]}
   /doevents
   /goto :CheckMana

   :SitDown
   /if (${Me.State.Equal[STAND]}) /sit on
   

   :HowMuchMana
   /if (${Me.PctMana}<98) /goto :HowMuchMana
   /delay 5
   /goto :CheckMana
/endmacro
 
Last edited:
It is as Ctaylor mentioned an issue with the mySub receiving incorrect information. The reason this is happening is because there was a change to the way parameters were handled in a patch to EQ dealing with undeclared variables. If you have a sub routine

Sub CombatCasting(string CastName, string CastGem, int castID, string MySub)

and it calls another sub

Sub CastSpells(string mySub, int castID)

with /call CastSpells ${mySub} ${castID} but on the original sub call mySub was never provided as a parameter because the call to it only included /call CombatSpells ${csSpell[1]} ${csSpellGem[1]}

then when it is received it generates the CastID using something like /if (${Spell[csSpell[1]}].ID}) /varset castID ${Spell[csSpell[1].ID}

then the call /call CastSpell ${mySub} ${castID}

will actually generate /call CastSpell ${castID} because mySub was declared by default in the previous sub but never given a value, thus it remains blank, almost like a space. So when the CastSpell sub receives the parameters it's only receiving the castID. later in the CastSpell sub it's getting /call ${mySub} which as it was read in the call was the castID, thus it tries to /call ${castID} instead of /call ${mySub}

To fix this you need to give base cases for all parameters in your sub-routines,

IE: /if (!${mySub.Length}) /varset mySub NULL

then /if (${MySub.NotEqual[NULL]}) /call ${mySub}

or for boolean values, /if (!${boolValue}) /varset boolvalue FALSE

int values /if (!${intValue}) /varset intValue 0

While that doesn't fix your problem it at least explains why it's happened. I updated the other guys spell_routines.inc to fix all these issues so I'm fully aware of the disconnect and what is causing it. If an updated file isn't available here I'd be more than happy to update it to correct those issues.

Alternately, I seen someone else posted a patch for that macro to remove the spell_routines.inc requirement. If that doesn't work out I'm attaching skill.mac which does spell casting and other skills as well.

I've modified this one from the original version that I found to only do the casting if the class can cast, additionally there is a meditate routine to speed it up.
 

Attachments

  • Skills.mac
    5.4 KB · Views: 22
thanks for all the help, guys. i use the cskillup map, maskoi, and that thing is legit. the only issue i had is that that macro is too smart for it's own good. if i'm skilling up my mages last few points of divination, the mac will stop when he reaches max divination but it won't max out his specialize divination. is this a big deal? no. it's so unimportant that the only reason i mention it is in case people wonder why i use such an old mac. i also used the skillcast mac when shit hit the fan during xp. tab over to cleric and /macro skillcast 12 which will chain group heals until get . it's a testament to KA that it's been a long time since i've even had to do this. twist can fulfill both things that i use the skillcast mac and the other macros you guys have posted are superior to it for skilling up skills. again, thank you.
 
Request - /mac skillcast fix

Users who are viewing this thread

Back
Top