Charm of Lore Macro

Toppers

New member
Joined
May 11, 2007
Messages
27
Reaction score
0
Points
1
Location
Guild Hall
This is my first macro i thought good enough to share hope ya like it. Let me know how well it works for you, ran great for me. I cleaned it up abit hope ya like this one abit better. i ran it take about 5 minutes to complete pending on zone times. Also it will auto loot ground spawns.


ok last reminder, make sure to turn in 4 items then claim the reward. if you try to turn in all before you claim rewards you will get your charm but not the exp to go with it. i took a lvl 2 toon thruogh this got him level 17.
 

Attachments

  • charm2.mac
    3.2 KB · Views: 941
Last edited:
nice work, went perfectly the first time and lost the 2nd to last drop loot because of agro but warp'd to last drop anyway ,thanks again
 
I just ran it on my 65 monk an hour ago and it was great. The only thing was it cut itself off right down near the end cause it said I couldn't loot with an NPC near who would aggro me. I bent over and clicked and looted the item but I think it was gonna do something else that didn't get done. It was right before it said to pickup the book off the table and that step didn't get done. I ended up with 17 items to turnin so will have to check the quest and see where that book is so I can finish what the macro would have done.

I'm fixing to run it on a couple more lower levels...nice job on the macro and thanks for releasing it.
 
re

been doing this by hand for a while, using slipgear and this quest will get you to around lvl 19 from creation.
 
Don't take offense, just pointing out some things that you could work on on future macros :)

First off, messy code. Hard to look over and see where each "section" begins and ends. Proper indenting works wonders for this, and adding lines between sections.

All your lootwindow checking have unclosed brackets, I'm kinda wondeirng why people aren't getting errors, oh well :)
Code:
/if (${Window[LootWnd].Open}) [B][COLOR=Red]{[/COLOR][/B]
/if (${Corpse.Items}==1) [B][COLOR=Red]{[/COLOR][/B]
/itemnotify loot1 rightmouseup
/itemnotify loot1 rightmouseup
/notify LootWnd DoneButton Leftmouseup
Use subs for tasks/operations that are done multiple times in the macro. Just like you're using the 'gm' and 'zone' subroutine.


Here's a quick c/p cleanup I've done (untested) for you to look at (and because I was bored) ;)

For picking up ground items you can use /itemtarget and /gank (part of MQ2ReachIt). /itemtarget without any parameters will target the nearest groundspawn. I'm guessing you can do the same for the book, you'd know better cause I haven't done this questline :)

Code:
Sub Main
    | Ensure required plugins are loaded...
    /if (!${Plugin[mq2mmowarp].Name.Equal[mq2mmowarp]}) /plugin mq2mmowarp
    /if (!${Plugin[mq2piggyzone].Name.Equal[mq2piggyzone]}) /plugin mq2piggyzone
    /if (!${Plugin[mq2stealth].Name.Equal[mq2stealth]}) /plugin mq2stealth
    /if (!${Plugin[mq2reachit].Name.Equal[mq2reachit]}) /plugin mq2reachit

    /call Paranoia
    /squelch /warp loc -2042.28 -2217.93 186.19
    /delay 2s
    /stealth on

    /call GetTarget "where the red flower grows"
    /call GetTarget "moss-covered rock"
    /call GetTarget "pile of dusty rocks"
    /call GetTarget "ancient rock"

    /stealth Return
    /delay 1s
    /stealth off

    /call Paranoia
    /zone stonehive
    /call Zoning

    /call GetTarget "rustling banebloom"

    /stealth Return
    /delay 1s
    /stealth off

    /call Paranoia
    /zone mesa
    /call Zoning

    /call Paranoia
    /warp loc -437.35, 1977.32, 49.86
    /delay 3s
    /stealth on

    /call GetTarget "age-old stones"
    /call GetTarget "waving woodblossom"
    /call GetTarget "silverspun petals"
    /call GetTarget "old tuffein lockbox"
    /call GetTarget "storage crate"
    /call GetTarget "forgotten bones"
    /call GetTarget "algae-covered stone"

    /stealth Return
    /delay 1s
    /stealth off

    /call Paranoia
    /zone roost
    /call Zoning
    /call Paranoia
    /stealth on

    /call GetTarget "feathered fernstem"

    /stealth Return
    /delay 1s
    /stealth off

    /call Paranoia
    /zone steppes
    /call Zoning
    /call Paranoia
    /warp loc -1416.38, -1883.31, 39.12
    /delay 2s
    /stealth on

    /call GetTarget "a worn jug"

    /stealth Return
    /delay 1s
    /stealth off

    /call Paranoia
    /zone icefall
    /call Zoning
    /call Paranoia
    /stealth on
    /delay 2s
    /warp loc -2044.24 -1158.79 29.03

    /itemtarget
    /gank

    /stealth Return
    /delay 1s
    /stealth off

    /call Paranoia
    /zone crescent
    /call Zoning
    /call Paranoia
    /warp loc -1603.44 -1511.66 -67.69
    /delay 2s
    /stealth on

    /call GetTarget "discarded bones"
    /call GetTarget "pile of bones"

    /stealth Return
    /delay 1s
    /stealth off

    /echo Get the book off the table.
    /popup Get the book off the table.
    /delay 4s
    /target Librarian Hemfar
    /echo Head for your target and turn items in.
    /popup Head for your target and turn items in.
    /delay 3s
    /echo Thanks for using Macro's by Toppers.
/return

Sub GetTarget(string Wanted)
    /declare Timeout    timer   local   1s
    /declare LootTotal  int     local   0
    /declare i          int     local   0
    /call Paranoia
    /if (!${Defined[Wanted]}) /goto :End

    :Target1
        /squelch /target ${Wanted}
        /delay 5
    /if (!${Target.ID}) /goto :Target1

    /faropen
    /delay 2s

    :Target2
        /squelch /target ${Wanted}
        /delay 5
    /if (!${Target.ID}) /goto :Target2
    /squelch /warp Target

    /squelch /warp target
    /delay 1s
    :LootLag
        /loot
        /varset Timeout ${Timeout.OriginalValue}
        :WaitForOpen
            /doevents
            /delay 1s (${Window[LootWnd].Open} || !${Timeout})
            /if (!${Timeout}) /goto :End
        /if (!${Window[LootWnd].Open}) /goto :WaitForOpen
        /delay 1
        /if (${LootTotal} != ${Corpse.Items}) {
            /varset LootTotal ${Corpse.Items}
            /delay 1s
            /goto :LootLag
        }
        /for i 1 to ${LootTotal}
            :LootItem
                /delay 2
                /itemnotify loot${i} LeftMouseUp
                /delay 5 (!${Corpse.Item[${i}].ID})
            /if (${Corpse.Item[${i}].ID}) /goto :LootItem
            /varset Timeout ${Timeout.OriginalValue}
            :Cursor
                /delay 1
            /if (${Timeout} && ${Cursor.ID}) /goto :Cursor
            /if (${Cursor.ID}) /autoinventory
        /next i
    /if (${Corpse.Items}) /goto :LootLag
    /notify LootWnd DoneButton LeftMouseUp
    :WaitForClose
        /delay 1 (!${Window[LootWnd].Open})
    /if (${Window[LootWnd].Open}) /goto :WaitForClose
    :End
/return

Sub Paranoia
    :Wait
        /call SafetyCheck 0
    /if (${Macro.Return.NotEqual[OK]}) {
        /delay 1s
        /goto :Wait
    }
/return

Sub Zoning
    :Fading 
        /delay 3s
        /squelch /target myself 
    /If (!${Target.ID}) /goto :Fading 
    /delay 5s
    /squelch /target clear
/return

Sub SafetyCheck(int Radius, int Exclude)
    /declare i              int     local   0
    /declare c              int     local   0
    /if (!${Defined[Radius]}) /declare Radius   int     local   -1
    /declare SafeSearch     string  local   pc ${If[${Radius} > -1,radius ${Radius} zradius 50,]} notid ${Me.ID}
    /if (${Defined[Exclude]}) /varset SafeSearch ${SafeSearch} noalert ${Exclude}

    /if (${SpawnCount[${SafeSearch}]} || ${SpawnCount[gm]}) {
        /if (${SpawnCount[gm]}) {
            /return GM
        } else {
            /for i 1 to ${SpawnCount[${SafeSearch}]}
                /if (${Group.Member[${NearestSpawn[${i}, ${SafeSearch}]}]}) /goto :Continue
                /return PC
                :Continue
            /next i
        }
    }
/return OK
 
I'll give your rewrite a go soon as this movie is over since I didn't run my other toons thru the first one, yet. I'm gonna lookup the "book off the table" part to see what that's about since the other macro left me standing at the last item to actually open and loot.
 
thanks for the input all, take alook at the slipgear aug macro.
 
Last edited:
I just finished running this again with another toon and it didn't end at the point it did the first time.

I tried running the changed version by EvenLess but after several tries to prod it along, it just sat there not going anywhere. It did load the new plugin but that's all. Not being skilled at making macros yet, I did look at it to see if I could figure why it didn't want to do anything after checking plugins. The only thing I saw that I don't know its full purpose was a :Wait in the first execution it would do...hopefully it didn't mean to just wait for an extended time and I got too anxious not seeing action.
 
... after several tries to prod it along, it just sat there not going anywhere. It did load the new plugin but that's all. Not being skilled at making macros yet, I did look at it to see if I could figure why it didn't want to do anything after checking plugins. The only thing I saw that I don't know its full purpose was a :Wait in the first execution it would do...
Did it write ":Wait" in the MQ Chat Window? If it did then it's a bug (in my macro).

Lines starting with a colon (like :Wait) are merely points/anchors in a macro that you can jump to using the /goto command.

Only place in the (untested) rewrite where there's a :Wait entry is the Paranoia subroutine, which basically just checks if there's any GM's in the zone (player radius check is set to 0). So if a GM is in the zone the sub enters a loop where it continuously checks if the GM is still there and as long as the macro is in this loop it does nothing else.

I think I'll tinker with it later on my new twink :)
 
Just tested my rewrite. Worked fine, had to be started in Blightfire Moors and did all steps on it's own after that (except looting the book, which is a groundspawn so can be done with /itemtarget and /gank).
 
Thanks for the input EvenLessSpam have already added the /itemtarget and /gank still looking over the rest as i am still a noob to macro writing.
:D
 
what are the ending stats to this charm?

With allakhazam down I dont know why mine is only 12 ac 153 hp so on.

Any help would be greatly appreciated. I am not sure if I didnt turn something in to get the next charm or I was missing a few items. I do know that I was attacked in Direwind - did I miss items there? I know I got one there.

Thanks!
 
what are the ending stats to this charm?

With allakhazam down I dont know why mine is only 12 ac 153 hp so on.

Any help would be greatly appreciated. I am not sure if I didnt turn something in to get the next charm or I was missing a few items. I do know that I was attacked in Direwind - did I miss items there? I know I got one there.

Thanks!

Stats 12 ac 153 hp/mana/hp 18 all stats 7 all sv 6 attack 1 hp/mana regen 4 avoidance 1 stun resist. Can get 500+ hp etc. from mob drops, raid, etc.

I would recommend slipgear aug adds 10 ac 50 hp/mana/end 15 to stats and 10 to sv.
 
Might also do the wanderlust aug, there is a macro for it around here somewhere.

With Alla's down, the only list of charm items I know about is here:
http://samanna.net/eq.progression/prog.tsscheck.shtml

http://home.comcast.net/~mathadon/Guides/TSS/index.htm might have some info but I think it's mostly for doing the factioning for raids.

Good luck.


Yes, the wanderlust aug is actually better then the slipgear if you are 70+. It is mulitple quests to it lots of zoneing and required lvl for the diffrent quest. I would still recommend the slipgear til you get the levels.
 
I can't get this to work properly, but then again I'm very new to all of this.

I click on the file to download and open and it says it's corrupt. Am I missing a program or something?

If someone could PM me that would be great. Or reply to this, either way.

Much appreciated.

EDIT: Nevermind, got it. =)
 
Last edited:
flawless

nice i just finished running this macro. it worked perfectly. thank you very much you now save me hours from having to manually warp this quest.