Need help with a macro you are writing? Ask here!
Moderator: MacroQuest Developers
-
MB13534
- decaying skeleton

- Posts: 2
- Joined: Wed Aug 04, 2004 9:01 pm
Post
by MB13534 » Wed Aug 04, 2004 9:08 pm
What i want to do is very simple, however im new with macroing and i am having a few problems.
I want to make a macro to raise conjuration. I want to cast summon food and then destroy the summoned food. I want to do this until i run out of mana. Once i run out of mana, i want to med, then repeat until i tell the macro to stop.
I think i know how to do the medding and casting ect, but i cant figure out how to destroy what is in the mouse curser. I tried /if (${Cursor.ID}) /destroy, but that doesnt work.. I also tried /if (${Cursor.Name.Find[black]}) /destroy.. Again no luck.
If somebody could either quickly put this macro together, or give me a little assistance, i would greatly appreciate it.
Thanks
-
Drumstix42
- a grimling bloodguard

- Posts: 808
- Joined: Mon May 03, 2004 4:25 pm
Post
by Drumstix42 » Wed Aug 04, 2004 9:11 pm
You'll need to learn to search for yourself, or you won't get too many friednly responses. There are many macros like this made.
Simplest one I've seen is:
http://macroquest2.com/phpBB2/viewtopic.php?t=8176
you will have to change the /autoinv found here:
to /destroy
And make sure your Quick Destory option in EQ is on.
-
Mimatas
- a hill giant

- Posts: 262
- Joined: Wed Mar 10, 2004 4:22 pm
Post
by Mimatas » Wed Aug 04, 2004 11:09 pm
duplicate question... posting my answer again:
change /if to /newif
maybe
-
wassup
- Official Guardian and Writer of TFM

- Posts: 1487
- Joined: Sat Oct 26, 2002 5:15 pm
Post
by wassup » Thu Aug 05, 2004 12:08 am
Mimatas wrote:duplicate question... posting my answer again:
change /if to /newif
maybe
There is no difference between /if and /newif.
-
zanomo
- a hill giant

- Posts: 285
- Joined: Thu Jun 24, 2004 11:21 pm
Post
by zanomo » Thu Aug 05, 2004 3:29 am
This may works for you.
Code: Select all
Sub Main
:castloop
/cast 1
/delay 50 ${Cursor.ID}
/destroy
/if (${Me.CurrentMana}<=5) /goto :Med
/goto :castloop
:Med
/if (!${Me.Sitting}) /sit
/if (${Me.CurrentMana}>=95) /goto :castloop
/goto :Med
/return
just replace the casting line with whatever gems you want to cast
-
Fuergrissa
- a grimling bloodguard

- Posts: 607
- Joined: Mon Dec 08, 2003 3:46 pm
- Location: UK
Post
by Fuergrissa » Thu Aug 05, 2004 4:57 am
zanomo wrote:This may works for you.
Code: Select all
Sub Main
:castloop
/cast 1
/delay 50 ${Cursor.ID}
/destroy
/if (${Me.CurrentMana}<=5) /goto :Med
/goto :castloop
:Med
/if (!${Me.Sitting}) /sit
/if (${Me.CurrentMana}>=95) /goto :castloop
/goto :Med
/return
Just mem your summon items spells in 1 gem and leave all others blank, it will cast whever spells you have memmed.
just replace the casting line with whatever gems you want to cast
I am sorry but NO NO NO NO NO NO NEVER use /destroy in a macro UNLESS you have a check and doublecheck its what you want to destroy with an ini file, if you have fast destroy on and go afk while doing mac, come back to pc and dont remember or even a family member looks at your epic by clicking on it GONE for GOOD, Please allways put conditions on /destroy.
I have not used mine for a while now as my cleric does not need to train spells anymore BUT i think it should work ok
Code: Select all
| trainspell.mac
| Written by Fuergrissa V2.0
| HandleItem routine "Borrowed" from bootyjuice, Thank You.
| Ini File: trainspell.ini
|
| 0 = Destroy
| 1 = Keep
|
| Any summoned items are added to the ini file automatically
| first time around and are kept by default.
#Define ArcaneMax 235
#include spellcast.inc
Sub Main
/declare ArcaneLevel int outer
/declare SpellName string outer
/declare GemNumber int outer
/declare WhatSkill string outer
/declare Maxxed int outer
/varcalc ArcaneLevel ${Me.Level}*5+5
/echo Your Spell Cap is ${ArcaneLevel}
/if (${ArcaneLevel}>ArcaneMax) /varset ArcaneLevel ArcaneMax
/echo Your Current Spell Cap is ${ArcaneLevel}
/varset GemNumber 0
/varset Maxxed 0
/varset SpellName ""
/varset WhatSkill ""
:TrainingLoop
/if (${Me.PctMana}<10) /goto :SitDown
/if (${Cursor.ID}) /call SummonedItem
/goto :CastSpell
:SitDown
/echo Mana at ${Me.PctMana}% Medding till over 98%
:MedLoop
/if (${Me.State.Equal[STAND]}) /sit
/if (${Me.PctMana}>98) /goto :FullMana
/goto :MedLoop
/return
:FullMana
/echo Mana at ${Me.PctMana}% Starting Casting Again.
/if (${Me.State.Equal[SIT]}) /stand
:CastSpell
/Varcalc GemNumber ${GemNumber}+1
/if (${GemNumber}>8) /varset GemNumber 1
/varset SpellName ${Me.Gem[${GemNumber}]}
/if (!${Me.Gem[${SpellName}]}) /goto :TrainingLoop
/goto :TestSkill
:StartCasting
/target myself
/echo Casting ${SpellName} from GemSlot ${GemNumber} of Type ${Spell[${SpellName}].Skill} (${Me.Skill[${Spell[${SpellName}].Skill}]})
/varset Maxxed 0
/call cast "${SpellName}"
/goto :TrainingLoop
/return
:TestSkill
/if (${Me.Skill[${Spell[${SpellName}].Skill}]}==${ArcaneLevel}) /goto :TooHigh
/goto :StartCasting
/return
:TooHigh
/varset WhatSkill ${Spell[${SpellName}].Skill}
/varcalc Maxxed ${Maxxed}+1
/echo You cannot Increase ${WhatSkill} anymore.
/if (${Maxxed}==8) /goto :Finished
/goto :TrainingLoop
/return
:Finished
/echo Ending
/endmacro
Sub SummonedItem
/declare ItemSetting int local
/declare NotFound int local
/varset NotFound -1
| Look up this item in trainspell.ini
/varset ItemSetting ${Ini[trainspell.ini,ItemList,${Cursor.Name},${NotFound}]}
/delay 5
| If the item isn't in the .ini file then add it.
/if (${ItemSetting}==${NotFound}) {
/ini "trainspell.ini" "ItemList" "${Cursor.Name}" "1"
/varset ItemSetting 1
}
| If we're keeping this item then bag it.
| Otherwise, just destroy it.
/if (${ItemSetting}==1) {
:BagIt
/autoinventory
/delay 5
/if (${Cursor.ID}) /goto :BagIt
} else {
/destroy
}
/return
[quote]"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."[/quote]