Maskoi
old and salty
- Joined
- Sep 28, 2005
- RedCents
- 82,796¢
This macro uses every major active hack I could think of at level 1.
Requirements:
- Ghosting
- Warping
- Piggy Zoning
- Ganking
- Sopening
Requirements:
- MQ2Addicts
- MQ2rWarp
- MQ2PiggyZone
- MQ2Pax
- MQ2Ghost
- Start your level 1 toon in Crescent Reach
- Grab your newbie bag out of the bank. You need at least 18 open bag/inventory slots
- Temperance is recommenced but not necessary. It might help prevent a death or 2
- I recommend not running this while boxing. The faster it computes the better. Lag=Death
- /mac charm
- If macro stalls just restart it and it will pick up from where it left off
- DO NOT TURN IN ANT PIECES until macro is finished.
- Turn in all your loot to Librarian Hemfar in Crescent Reach. There is no Quest to get you just hand the items to the NPC and select your reward.
- You will also get the Charm of Lore at about 100/100/100 hp/mana/endurance and level 19 to 20
Rich (BB code):
| Charm.mac v 1.1 by Maskoi Exclusive RedGuides/Notaddicted.com
| Binding in Crescent Reach and getting Temp is highly recommended
| Make sure to claim rewards as you go or you wont get full exp for items 4 rewards etc.
|
| You will need 2 empty 10 slot bags
|============================================
#turbo 40
#Event ImDead "You have been slain by#*#"
#Event ImDead "You died."
#Event ImDead "#*#Returning to Bind Location#*#"
#Event BoundIn "#*#bound in: #1#"
Sub Main
/declare LocXYZ string outer
/declare CurrentZone string outer 0
/declare TheZone string outer 0
/declare ImDead int outer 0
/declare BindZone string outer 0
/declare i int outer
/declare j int outer
/declare CItem[18] string outer
/varset CItem[1] moors "where the red flower grows" "Preserved Hairy Halfling Foot" "-894.99 -1604.84 95.40"
/varset CItem[2] moors "moss-covered rock" "Ancient Blighted Bark" "-894.99 -1604.84 95.40"
/varset CItem[3] moors "pile of dusty rocks" "Murdunk's Rites Beads" "-894.99 -1604.84 95.40"
/varset CItem[4] moors "ancient rock" "Petrified Leather Boot Sole" "-894.99 -1604.84 95.40"
/varset CItem[5] stonehive "rustling banebloom" "Preserved Kithicor Baneleaf" "-1432 -1444.60 39.30"
/varset CItem[6] mesa "age-old stones" "Devan's Feathered Arrow" "608.01 3400.02 185.38"
/varset CItem[7] mesa "waving woodblossom" "Sliver of Goru`kar's Willowstaff" "608.01 3400.02 185.38"
/varset CItem[8] mesa "silverspun petals" "Sparkling Windwillow Leaf" "608.01 3400.02 185.38"
/varset CItem[9] mesa "old tuffein lockbox" "Thunderhorn of the Tribe" "608.01 3400.02 185.38"
/varset CItem[10] mesa "storage crate" "Split Ravenoak Bow" "608.01 3400.02 185.38"
/varset CItem[11] mesa "forgotten bones" "Oread's Willow Whipvine" "608.01 3400.02 185.38"
/varset CItem[12] mesa "algae-covered stone" "Cracked Waterspring Scepter" "608.01 3400.02 185.38"
/varset CItem[13] roost "feathered fernstem" "Silvered Blackfeather Plume" "2125 -1592.00 -308.04"
/varset CItem[14] steppes "a worn jug" "Wulfnor Crown Gem" "725.69 1388.19 218.81"
/varset CItem[15] icefall "-2044.24 -1158.66 29.03" "Shattered Krithgor Keystone"
/varset CItem[16] crescent "discarded bones" "Broken Nokk Insignia" "211.01 -317.38 -49.83"
/varset CItem[17] crescent "pile of bones" "Ancient Jewelry Box" "211.01 -317.38 -49.83"
/varset CItem[18] crescent "-1603.44 -1511.66 -67.69" "Linguist's Note" "211.01 -317.38 -49.83"
| - Main Loop
/call CheckFreeSpace
/charinfo
/lootnodrop never
/if (!${Bool[${Plugin[mq2addicts]}]}) {
/echo MQ2TAddicts not detected! This macro requires it!
/plugin mq2addicts
}
/if (!${Bool[${Plugin[mq2rwarp]}]}) {
/echo MQ2RWarp not detected! This macro requires it !
/plugin mq2rwarp
}
/if (!${Bool[${Plugin[mq2pax]}]}) {
/echo MQ2Pax not detected! This macro requires it!
/plugin mq2pax
}
/if (!${Bool[${Plugin[mq2piggyzone]}]}) {
/echo MQ2PiggyZone not detected! This macro requires it!
/plugin mq2piggyzone
}
/if (!${Bool[${Plugin[mq2ghost]}]}) {
/echo MQ2Ghost not detected! This macro requires it!
/plugin mq2ghost
}
/echo Don't move during this macro!
/popup DO NOT MOVE DURING THIS MACRO!
/squelch /ghost off
/delay 3s
/for i 1 to ${CItem.Size}
/doevents
/call Loot ${CItem[${i}]}
/next i
/squelch /warp loc -1466.12 -1458.68 -87.05
/target Librarian Hemfar
/face nolook
/echo Time to turn in items
/delay 3s
/end
Sub CheckFreeSpace
/declare k int local
/declare CitemCount int local 0
/for k 1 to ${CItem.Size}
/if (${FindItem[${CItem[${k}].Arg[3,]}].InvSlot}) /varcalc CitemCount ${CitemCount}+1
/next k
/if (${Me.FreeInventory}<18-${CitemCount}) {
/echo You need at least 20 free slots in inventory you only have ${Me.FreeInventory}.
/echo Get a bag then restart macro.
/end
}
/return
Sub Loot(LZone, TarItem, LootItem, SafeSpot)
/doevents
/if (${FindItem[${LootItem}].InvSlot}) {
/echo Quest item >> ${LootItem} << already in inventory moving to next item.
/return
}
/Echo Checking Zone
/if (${Zone.ShortName.NotEqual[${LZone}]}) /call CheckZone ${LZone}
/echo We are in ${LZone}, opening ${TarItem}, looting ${LootItem}
/call gm
/if (${TarItem.Find[66]}) {
/echo ${LootItem} is a ground spawn loc ${TarItem}
/call Ground "${TarItem}" "${LootItem}"
/if (${Cursor.ID}) /autoinventory
/return
}
/echo Targeting ${TarItem}
/tar ${TarItem}
:WaitForSpawn
/if (!${Target.ID}) {
/call CheckZone ${CurrentZone} "${SafeSpot}"
/echo Waiting 30s for ${TarItem} to spawn.
/delay 30s
/goto :WaitForSpawn
}
/delay 20 ${Target.ID}==${Spawn[${TarItem}].ID}
/echo Opening ${TarItem}
/sopen
/delay 10
/echo Targeting ${TarItem}
/target ${TarItem}
/delay 20 ${Target.ID}==${Spawn[${TarItem}].ID}
/echo Aquired target opened >> ${TarItem} << /Ghost On
/ghost on
/echo Warping to ${TarItem}
/squelch /warp t
/delay 20 ${Target.Distance}<10
/if (${Target.Distance}<10) {
/echo Looting ${LootItem}
:WaitOnWindow
/doevents
/loot
/if (!${Window[LootWnd].Open}) /goto :WaitOnWindow
:ClickItem
/doevents
/delay 5
/if (${Window[LootWnd].Open} && ${Corpse.Item[1].Name.Length}>=1) /nomodkey /Itemnotify ${Corpse.Item[1].InvSlot} rightmouseup
/if (!${FindItem[${LootItem}].InvSlot}) /goto :ClickItem
/nomodkey /notify LootWnd DoneButton leftmouseup
/ghost reset
/echo warping to safe spot
/squelch /warp loc ${SafeSpot}
}
/delay 5s
/if (${Me.XTarget} >0) {
/doevents
/echo Aggro Detected! Fading...
/squelch /fade
/delay 30s
}
/return
Sub GM
:gm
/if (!${Spawn[gm].ID}) /return
/echo GM is in the zone!! Waiting for them to leave!
/delay 1m
/goto :gm
/return
Sub CheckZone(CZone, WarpTo)
/if (${Zone.ShortName.Equal[${CZone}]} && ${Zone.ShortName.Equal[${CurrentZone}]}) /return
/if (${Zone.ShortName.Equal[${CZone}]} && ${Zone.ShortName.NotEqual[${CurrentZone}]}) {
/if (${WarpTo}) {
/warp s
} else /warp loc ${WarpTo}
/varset LocXYZ ${Me.Y} ${Me.X} ${Me.Z}
/ghost off
/varset CurrentZone ${Zone.ShortName}
/echo Setting Currebt Zone to ${Zone.ShortName}
/delay 3s
}
/if (${Zone.ShortName.NotEqual[${CZone}]}) {
/echo You are not in the current quest zone ${CZone}. Attempting to piggyzone you to ${CZone}
/delay 10
/zone ${CZone}
/delay 300 ${Zone.ShortName.Equal[${CZone}]}
/echo Waitng 10s to clear lag effects from piggyzone
/delay 10s
/if (${WarpTo}==0) {
/warp s
} else /warp loc ${WarpTo}
/varset LocXYZ ${Me.Y} ${Me.X} ${Me.Z}
/ghost off
/delay 3s
}
/return
Sub Event_ImDead
/declare DeadTimer timer local 60s
/echo I Died
/varset ImDead 1
/squelch /ghost off
:wait
/if (${DeadTimer}==0) /return
/delay 5s
/if (${Window[RespawnWnd].Open} && ${ImDead}) {
/nomodkey /notify RespawnWnd RW_SelectButton leftmouseup
/varset ImDead 0
}
/if (!${ImDead}) {
/echo Returned to bind point waiting 5s
/delay 5s
/doevents flush
/return
}
/goto :wait
/return
Sub Event_BoundIn(Message, BoundIn)
/varset BindZone ${BoundIn}
/echo Bound In ${BindZone}
/return
Sub Ground(coord,gspawn)
/squelch /ghost on
/squelch /warp loc ${coord}
:TryAgain
/itemtarget
/delay 5
/squelch /ghost off
/gank
/delay 1s ${Cursor.ID}
/squelch /ghost on
/squelch /warp s
/delay 5
/if (${Cursor.Name.NotEqual[${gspawn}]}) {
/destroy
/delay 5
/goto :TryAgain
}
/squelch /ghost off
/delay 10
/autoinventory
/return
Last edited:


