Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
bakshi said:HI can u guys give me a good bard macro for like FH. Also can u show me how to use it and where to unzip it at. TY
|Original Code by Pugs
|Changed by SS44 to include, /fade, /potionbelt, /loot.
| Thanks to Cade for the help ,Jumjum5,
|Infernal, Soultaker Siddin Red and the rest of the brilliant minds
|here at red Guides.
|AFKHALLS.mac
|This was Hacked up by Pugs ~,~
|This could be made much better but this works.
|To use this macro Make a hotkey that says
|
|/echo You have entered Nedaria's Landing
|
|Then start the macro and press your hotkey in Nedaria's.
|You must have warp for this to work correctly
|Soultakers is what i use if you use other you
|will have to change the command to your warp's syntax.
| also /echo end will shut down the macro and zone you out of the halls.
#turbo
#Event MobDied "#*#You have slain#*#"
#event ding "#*#have gained a level! Welcome to level#*#"
#event end "Shutdown12345"
#event dzadd "PERSONYOUWANTTOADD tells you, 'CODEWORD'"
#event invite "#*#invites you to join#*#"
#event Zoned "#*#You have entered Guild Lobby#*#"
#event dzquit "#*#You have entered Nedaria's Landing#*#"
#event PoK "You have entered Guild Lobby."
|Change this to the ^^^^^^^^^^^^^^
|zone you are bound in
|-- Destroys Silver if you have more than the given amount! 0=disable
#define DESTROY_SILVER_IF_ABOVE 1
|-- Destroys Copper if you have more than the given amount! 0=disable
#define DESTROY_COPPER_IF_ABOVE 1
Sub Main
/declare LootAllItems int outer 1
/declare LootSlot int outer 0
|We are waiting for the hotkey to start the macro
:waitforit
/doevents
/doevents
/goto :waitforit
/return
| We have the extra long delay to account for zoneing Time.
| You may set the delay to what you want.
| You also need to change the twist to your line up.
| We then Clear our target so we don't cast on anything.
Sub indz
:begin
/delay 1s
/twist off
/face heading 270
/delay 1s
/warp loc -573.50 162.80 2.15
/circle on 21
/keypress forward hold
/twist 1 2 3 4 5 6 <==change to your setup
/twist adjust 2 <==Take out if you dont use the lvl 49 selo's
/target clear
/target clear
|This loop calls the events to be redone along with a GM check.
|It checks to insure that the mobs it targets are not over
| level 67(a left over from the vxed mac i think)
|It then check the range of the target if it over 220 it clears it
|The 3rd If command targets an NPC if you do not have a target
|The final Line Watches your health and succor you when you hit 30%
| you could change the command to gate if you like.
| ex /if (${Me.PctHPs}<=30) /gate
:loopstart
/delay 1s
/call GMcheck
/if (${Target.Level}>67) /tar npc next
/if (${Target.Distance}>220) /keypress esc
/if (${Target.ID}==FALSE) /tar NPC radius 220 rat
/if (${Me.PctHPs}<=20) /call succor
/if (${Me.PctHPs}<=80) /potionbelt activate 1<==Put Heal over time potion in slot 1 of potion belt.
/if (${Me.PctHPs}<=40) /potionbelt activate 2<==put instant heal potion in slot 2. both found in PoK by alchemy merchants
/doevents
/delay 10
/goto :loopstart
/return
|I dont like to drop too low on hp so i just change to twist in regen
|with my dots
Sub regen
/twist 1 7 8<==should be selo's, and regen
:regenloop
/doevents
/if (${Me.PctHPs}<=20) /call succor
/if (${Me.PctHPs}>=90) {
/twist 1 2 3 4 5 6<==change to your song setup
/return
}
/goto :regenloop
/return
|I never had this one called while i was in zone.
| but it warps you to that loc turn circle off
| and twists selos and heal song then when you reach
| 80% health you go back to killing
Sub succor
/warp loc 245 -33 0
/circle off
/twist 1 7 8<==selo's, regen
/delay 1s
/fade
/delay 120s
/return
/delay 60
/call regen
/return
| This is the GM check it is called about every 10 seconds.
| It beeps at you then /quits the game.
Sub GMcheck
/if (${Spawn[gm].ID}) {
/echo Gm detected
/beep
/beep
/beep
/q
/endmac
/unload
/q
}
/return
|This next bit removes you from the expdition if you still have it after
| you zone out
|Targets Eldros Danmor warps to him gets the adventure window then it
| warps back to Nideno and says forgotten halls allowing you to zone in.
|You then warp closer to the rock look at point behind the rock and
| press use or u, also you click with the mouse so you mouse needs to be
| in the center of the screen.
Sub event_dzquit
/doevents
/call gmcheck
/disband
/dzremove YOURCHARACTER'SNAME
/dzremove YOURCHARACTER'SNAME
/twist off
/delay 2s
/target Eldros Danmor
/warp target
/delay 2s
/say interested in visiting
/delay 3s
/target Nideno Eliagy
/warp target
/delay 2s
/say Forgotten halls
/delay 2s
/doevents
/warp loc 1544 -665 94
/face loc 1540, -675
/look 0
/doortarget
/delay 10s
/keypress u
/keypress u
/delay 1s
/target clear
/call destroysilver
/call indz
/return
|In the event of a water landing....
| This camps you out.
Sub Event_PoK
/echo sorry i don't know how or why but you died.
/circle off
/twist off
/delay 45s
/sit on
/camp desktop
/q
/endmacro
/return
Sub Event_MobDied
/doevents
/twist off
/call GMcheck
/circle off
/keypress forward
/delay 1s
/squelch /declare LootSlot int inner 0
/declare LootCheck int inner 0
/declare LootTotal int inner 0
/target npc corpse radius 200
:MovementLoop
/face fast nolook
/if (${Int[${Target.Distance}]}>13) {
/keypress forward hold
}
/if (${Int[${Target.Distance}]}<13&&${Int[${Target.Distance}]}>11) {
/keypress forward
}
/if (${Int[${Target.Distance}]}<9) {
/keypress back
}
/if (${Int[${Target.Distance}]}>13) {
/goto :MovementLoop
}
/keypress forward
/keypress back
/delay 5
/loot
/delay 5
/if (!${Corpse.Items}) {
/echo NO LOOT!
/notify LootWnd DoneButton leftmouseup
/call DestroyCopper
/delay 1s
/call checkanchor
/face heading 270
/circle on 21
/keypress forward hold
/return
}
/varset LootTotal ${Corpse.Items}
/for LootSlot 1 to ${LootTotal}
/itemnotify loot${LootSlot} leftmouseup
/delay 5
/if (${LootAllItems}) {
/echo Keeping a ${Cursor.Name}... WOOT!
/autoinventory
/autoinventory
/delay 5
} else {
/for LootCheck 1 to ${ItemsToLoot.Size}
/if (${Cursor.Name.Find[${ItemsToLoot[${LootCheck}]}]}) {
/echo Keeping a ${Cursor.Name}... WOOT!
/autoinventory
/autoinventory
/delay 5
}
/next LootCheck
}
/if (${Cursor.ID}) {
/echo Destroying a ${Cursor.Name}...
/destroy
/destroy
/delay 5
}
/next LootSlot
/delay 5
/notify LootWnd DoneButton leftmouseup
/delay 2
/call checkanchor
/face heading 270
/circle on 21
/keypress forward hold
/return
Sub CheckAnchor
/if (${Math.Distance[${AnchorY},${AnchorX}]}>12) /call MoveToAnchor
/return
Sub MoveToAnchor
/call indz
/return
|----------------------------------------------------------------------------
|SUB: DestroyCopper - Destroy all the copper
|----------------------------------------------------------------------------
Sub DestroyCopper
/squelch /windowstate InventoryWindow open
/shift /notify InventoryWindow IW_Money3 leftmouseup
/delay 1s ${Cursor.ID}>0
/destroy
/cleanup
/return
|----------------------------------------------------------------------------
|SUB: DestroySilver - Destroy all the silver
|----------------------------------------------------------------------------
Sub DestroySilver
/squelch /windowstate InventoryWindow open
/shift /notify InventoryWindow IW_Money2 leftmouseup
/delay 1s ${Cursor.ID}>0
/destroy
/cleanup
/return