Here is an example:
http://macroquest2.com/phpBB2/viewtopic.php?t=8213
You would make a file called acorn.mac
Then copy all the code into that file
Code: Select all
| Misty Thicket Acorns Macro : acorns.mac
| Macro by "Caffeine";
| DummyMode portion contributed unknowingly by psykotic and BrainDeath
#chat tell
#event AcornsOut "[MQ2] NULL"
Sub Main
/declare Side int outer 2
/declare TSide int outer
/declare Pause timer outer
/declare X2 int outer
/declare Y2 int outer
/declare LocYP2 int outer
/declare LocYM2 int outer
/declare LocXP2 int outer
/declare LocXM2 int outer
| Time in minutes to wait if GM zones in or person gets too close.
/declare DummyTime int outer
/declare DummyTime2 int outer 15
/declare Count int outer
/declare X int outer
/declare Y int outer
/declare LocX int outer
/declare LocXP int outer
/declare LocXM int outer
/declare LocY int outer
/declare LocYP int outer
/declare LocYM int outer
:Begin
/varcalc DummyTime ${DummyTime2}*600
/doevents
/if (${Spawn[gm].ID}) /call DummyMode
/varset Count 100
/itemtarget *Green
/doevents
|------------------------Begin Determine Side (Aimed for accuracy)----------------|
/varset X ${Me.X}
/varset Y ${Me.Y}
/if (${X}<-38.51 && ${Y}>-148.95) /varset Side 1
/if (${Y}<-148.95 && ${Y}>-180.77 && ${X}<-60.01) /varset Side 1
/if (${Y}<-180.77 && ${Y}>-217.53 && ${X}<-92.28) /varset Side 1
/if (${Y}<-217.53 && ${Y}>-250.21 && ${X}<-117.23) /varset Side 1
/if (${Y}<-250.21 && ${Y}>-281.90 && ${X}<-132.30) /varset Side 1
/if (${Y}<-281.90 && ${Y}>-318.48 && ${X}<-149.63) /varset Side 1
/if (${Y}<-318.48 && ${Y}>-353.96 && ${X}<-168.68) /varset Side 1
/if (${Y}<-353.96 && ${Y}>-372.38 && ${X}<-194.76) /varset Side 1
/if (${Y}<-372.38 && ${Y}>-406.97 && ${X}<-242.62) /varset Side 1
/if (${Y}<-406.97 && ${Y}>-436.08 && ${X}<-286.41) /varset Side 1
/if (${Y}<-436.08 && ${Y}>-458.42 && ${X}<-312.38) /varset Side 1
/if (${Y}<-458.42 && ${Y}>-487.87 && ${X}<-312.73) /varset Side 1
/if (${Y}<-487.87 && ${Y}>-552.88 && ${X}<-313.52) /varset Side 1
/if (${Y}<-552.88 && ${Y}>-580.92 && ${X}<-337.42) /varset Side 1
/if (${Y}<-580.92 && ${Y}>-604.01 && ${X}<-361.09) /varset Side 1
/if (${Y}<-604.01 && ${Y}>-623.84 && ${X}<-381.41) /varset Side 1
/if (${Y}<-623.84 && ${Y}>-646.12 && ${X}<-404.25) /varset Side 1
/if (${Y}<-646.12 && ${Y}>-656.06 && ${X}<-419.88) /varset Side 1
/if (${Y}<-656.06 && ${Y}>-701.68 && ${X}<-421.05) /varset Side 1
/if (${Y}<-701.68 && ${Y}>-760.85 && ${X}<-422.01) /varset Side 1
/if (${Y}<-760.85 && ${Y}>-788.74 && ${X}<-434.44) /varset Side 1
/if (${Y}<-788.74 && ${Y}>-844.72 && ${X}<-459.62) /varset Side 1
/if (${Y}<-844.72 && ${Y}>-860.35 && ${X}<-464.97) /varset Side 1
/if (${Y}<-860.35 && ${X}<-466.83) /varset Side 1
/if (${X}>-38.51 && ${Y}>-148.95) /varset Side 0
/if (${Y}<-148.95 && ${Y}>-180.77 && ${X}>-60.01) /varset Side 0
/if (${Y}<-180.77 && ${Y}>-217.53 && ${X}>-92.28) /varset Side 0
/if (${Y}<-217.53 && ${Y}>-250.21 && ${X}>-117.23) /varset Side 0
/if (${Y}<-250.21 && ${Y}>-281.90 && ${X}>-132.30) /varset Side 0
/if (${Y}<-281.90 && ${Y}>-318.48 && ${X}>-149.63) /varset Side 0
/if (${Y}<-318.48 && ${Y}>-353.96 && ${X}>-168.68) /varset Side 0
/if (${Y}<-353.96 && ${Y}>-372.38 && ${X}>-194.76) /varset Side 0
/if (${Y}<-372.38 && ${Y}>-406.97 && ${X}>-242.62) /varset Side 0
/if (${Y}<-406.97 && ${Y}>-436.08 && ${X}>-286.41) /varset Side 0
/if (${Y}<-436.08 && ${Y}>-458.42 && ${X}>-312.38) /varset Side 0
/if (${Y}<-458.42 && ${Y}>-487.87 && ${X}>-312.73) /varset Side 0
/if (${Y}<-487.87 && ${Y}>-552.88 && ${X}>-313.52) /varset Side 0
/if (${Y}<-552.88 && ${Y}>-580.92 && ${X}>-337.42) /varset Side 0
/if (${Y}<-580.92 && ${Y}>-604.01 && ${X}>-361.09) /varset Side 0
/if (${Y}<-604.01 && ${Y}>-623.84 && ${X}>-381.41) /varset Side 0
/if (${Y}<-623.84 && ${Y}>-646.12 && ${X}>-404.25) /varset Side 0
/if (${Y}<-646.12 && ${Y}>-656.06 && ${X}>-419.88) /varset Side 0
/if (${Y}<-656.06 && ${Y}>-701.68 && ${X}>-421.05) /varset Side 0
/if (${Y}<-701.68 && ${Y}>-760.85 && ${X}>-422.01) /varset Side 0
/if (${Y}<-760.85 && ${Y}>-788.74 && ${X}>-434.44) /varset Side 0
/if (${Y}<-788.74 && ${Y}>-844.72 && ${X}>-459.62) /varset Side 0
/if (${Y}<-844.72 && ${Y}>-860.35 && ${X}>-464.97) /varset Side 0
/if (${Y}<-860.35 && ${X}>-466.83) /varset Side 0
/echo ${Target.Name}
/varset X ${Target.X}
/varset Y ${Target.Y}
/if (${X}<-38.51 && ${Y}>-148.95) /varset TSide 1
/if (${Y}<-148.95 && ${Y}>-180.77 && ${X}<-60.01) /varset TSide 1
/if (${Y}<-180.77 && ${Y}>-217.53 && ${X}<-92.28) /varset TSide 1
/if (${Y}<-217.53 && ${Y}>-250.21 && ${X}<-117.23) /varset TSide 1
/if (${Y}<-250.21 && ${Y}>-281.90 && ${X}<-132.30) /varset TSide 1
/if (${Y}<-281.90 && ${Y}>-318.48 && ${X}<-149.63) /varset TSide 1
/if (${Y}<-318.48 && ${Y}>-353.96 && ${X}<-168.68) /varset TSide 1
/if (${Y}<-353.96 && ${Y}>-372.38 && ${X}<-194.76) /varset TSide 1
/if (${Y}<-372.38 && ${Y}>-406.97 && ${X}<-242.62) /varset TSide 1
/if (${Y}<-406.97 && ${Y}>-436.08 && ${X}<-286.41) /varset TSide 1
/if (${Y}<-436.08 && ${Y}>-458.42 && ${X}<-312.38) /varset TSide 1
/if (${Y}<-458.42 && ${Y}>-487.87 && ${X}<-312.73) /varset TSide 1
/if (${Y}<-487.87 && ${Y}>-552.88 && ${X}<-313.52) /varset TSide 1
/if (${Y}<-552.88 && ${Y}>-580.92 && ${X}<-337.42) /varset TSide 1
/if (${Y}<-580.92 && ${Y}>-604.01 && ${X}<-361.09) /varset TSide 1
/if (${Y}<-604.01 && ${Y}>-623.84 && ${X}<-381.41) /varset TSide 1
/if (${Y}<-623.84 && ${Y}>-646.12 && ${X}<-404.25) /varset TSide 1
/if (${Y}<-646.12 && ${Y}>-656.06 && ${X}<-419.88) /varset TSide 1
/if (${Y}<-656.06 && ${Y}>-701.68 && ${X}<-421.05) /varset TSide 1
/if (${Y}<-701.68 && ${Y}>-760.85 && ${X}<-422.01) /varset TSide 1
/if (${Y}<-760.85 && ${Y}>-788.74 && ${X}<-434.44) /varset TSide 1
/if (${Y}<-788.74 && ${Y}>-844.72 && ${X}<-459.62) /varset TSide 1
/if (${Y}<-844.72 && ${Y}>-860.35 && ${X}<-464.97) /varset TSide 1
/if (${Y}<-860.35 && ${X}<-466.83) /varset TSide 1
/if (${X}>-38.51 && ${Y}>-148.95) /varset TSide 0
/if (${Y}<-148.95 && ${Y}>-180.77 && ${X}>-60.01) /varset TSide 0
/if (${Y}<-180.77 && ${Y}>-217.53 && ${X}>-92.28) /varset TSide 0
/if (${Y}<-217.53 && ${Y}>-250.21 && ${X}>-117.23) /varset TSide 0
/if (${Y}<-250.21 && ${Y}>-281.90 && ${X}>-132.30) /varset TSide 0
/if (${Y}<-281.90 && ${Y}>-318.48 && ${X}>-149.63) /varset TSide 0
/if (${Y}<-318.48 && ${Y}>-353.96 && ${X}>-168.68) /varset TSide 0
/if (${Y}<-353.96 && ${Y}>-372.38 && ${X}>-194.76) /varset TSide 0
/if (${Y}<-372.38 && ${Y}>-406.97 && ${X}>-242.62) /varset TSide 0
/if (${Y}<-406.97 && ${Y}>-436.08 && ${X}>-286.41) /varset TSide 0
/if (${Y}<-436.08 && ${Y}>-458.42 && ${X}>-312.38) /varset TSide 0
/if (${Y}<-458.42 && ${Y}>-487.87 && ${X}>-312.73) /varset TSide 0
/if (${Y}<-487.87 && ${Y}>-552.88 && ${X}>-313.52) /varset TSide 0
/if (${Y}<-552.88 && ${Y}>-580.92 && ${X}>-337.42) /varset TSide 0
/if (${Y}<-580.92 && ${Y}>-604.01 && ${X}>-361.09) /varset TSide 0
/if (${Y}<-604.01 && ${Y}>-623.84 && ${X}>-381.41) /varset TSide 0
/if (${Y}<-623.84 && ${Y}>-646.12 && ${X}>-404.25) /varset TSide 0
/if (${Y}<-646.12 && ${Y}>-656.06 && ${X}>-419.88) /varset TSide 0
/if (${Y}<-656.06 && ${Y}>-701.68 && ${X}>-421.05) /varset TSide 0
/if (${Y}<-701.68 && ${Y}>-760.85 && ${X}>-422.01) /varset TSide 0
/if (${Y}<-760.85 && ${Y}>-788.74 && ${X}>-434.44) /varset TSide 0
/if (${Y}<-788.74 && ${Y}>-844.72 && ${X}>-459.62) /varset TSide 0
/if (${Y}<-844.72 && ${Y}>-860.35 && ${X}>-464.97) /varset TSide 0
/if (${Y}<-860.35 && ${X}>-466.83) /varset TSide 0
:Z
/doevents
/if (${Spawn[gm].ID}) /call DummyMode
|------------------------End Determine Side (Aimed for accuracy)----------------|
/if (${Side}==${TSide}) /goto :GoTo
/if (${Side}!=${TSide}) /goto :Side
:GoTo
/if (${Target.Distance}<10) /goto :GoTo2
/delay 1
| -----------------------------------STUCK LOOP---------------------|
/varset X2 ${Me.X}
/varset Y2 ${Me.Y}
/varcalc LocXP2 ${X2}+1
/varcalc LocXM2 ${X2}-1
/varcalc LocYP2 ${Y2}+1
/varcalc LocYM2 ${Y2}-1
/varset Count 100
/if (${Spawn[gm].ID}) /call DummyMode
/delay 5
/if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
/face loc ${Math.Rand[10000], ${Math.Rand[10000]
/keypress forward hold
/delay 2s
/goto :Begin
}
/keypress forward hold
/face
/varset Count ${Count}-1
/goto :GoTo
:GoTo2
/keypress forward
/click left item
/delay 8
/autoinv
/if (${Spawn[gm].ID}) /call DummyMode
/goto :Begin
:Side
/if (${Side}==0 && ${TSide}==1) {
/varset LocY -100.00
/varset LocX 13.58
/varcalc LocXP ${LocX}+10
/varcalc LocXM ${LocX}-10
/varcalc LocYP ${LocY}+10
/varcalc LocYM ${LocY}-10
/varset X2 ${Me.X}
/varset Y2 ${Me.Y}
/varset Count 100
/delay 3
/if (${X2}==${Me.X} && ${Y2}==${Me.Y}) {
/face loc ${Math.Rand[10000], ${Math.Rand[10000]
/keypress forward hold
/delay 2s
/goto :Begin
}
/if (${Spawn[gm].ID}) /call DummyMode
:Loopa
/face loc ${LocY}, ${LocX}
/keypress forward hold
/varset X2 ${Me.X}
/varset Y2 ${Me.Y}
/varcalc LocXP2 ${X2}+1
/varcalc LocXM2 ${X2}-1
/varcalc LocYP2 ${Y2}+1
/varcalc LocYM2 ${Y2}-1
/varset Count 100
/delay 5
/if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
/face loc ${Math.Rand[10000], ${Math.Rand[10000]
/keypress forward hold
/delay 2s
/goto :Begin
}
/if (${Spawn[gm].ID}) /call DummyMode
/varset X ${Me.X}
/varset Y ${Me.Y}
/if (${LocXP}>${Me.X} && ${LocXM}<${Me.X} && ${LocYP}>${Me.Y} && ${LocYM}<${Me.Y}) /goto :Loopb
/goto :Loopa
:Loopb
/varset LocY -100.00
/varset LocX -88.00
/varcalc LocXP ${LocX}+10
/varcalc LocXM ${LocX}-10
/varcalc LocYP ${LocY}+10
/varcalc LocYM ${LocY}-10
/varset X2 ${Me.X}
/varset Y2 ${Me.Y}
/varcalc LocXP2 ${X2}+1
/varcalc LocXM2 ${X2}-1
/varcalc LocYP2 ${Y2}+1
/varcalc LocYM2 ${Y2}-1
/varset Count 100
/delay 5
/if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
/face loc ${Math.Rand[10000], ${Math.Rand[10000]
/keypress forward hold
/delay 2s
/goto :Begin
}
/face loc ${LocY}, ${LocX}
/keypress forward hold
/if (${LocXP}>${Me.X} && ${LocXM}<${Me.X} && ${LocYP}>${Me.Y} && ${LocYM}<${Me.Y}) /goto :Begin
/goto :Loopb
}
/if (${Side}==1 && ${TSide}==0) {
:Loopc
/varset LocY -100.00
/varset LocX -88.00
/varcalc LocXP ${LocX}+10
/varcalc LocXM ${LocX}-10
/varcalc LocYP ${LocY}+10
/varcalc LocYM ${LocY}-10
/varset X2 ${Me.X}
/varset Y2 ${Me.Y}
/varcalc LocXP2 ${X2}+1
/varcalc LocXM2 ${X2}-1
/varcalc LocYP2 ${Y2}+1
/varcalc LocYM2 ${Y2}-1
/varset Count 100
/delay 5
/if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
/face loc ${Math.Rand[10000], ${Math.Rand[10000]
/keypress forward hold
/delay 2s
/goto :Begin
}
/if (${Spawn[gm].ID}) /call DummyMode
/face loc ${LocY}, ${LocX}
/keypress forward hold
/if (${LocXP}>${Me.X} && ${LocXM}<${Me.X} && ${LocYP}>${Me.Y} && ${LocYM}<${Me.Y}) /goto :Loopd
/goto :Loopc
:Loopd
/varset LocY -100.00
/varset LocX 13.58
/varcalc LocXP ${LocX}+10
/varcalc LocXM ${LocX}-10
/varcalc LocYP ${LocY}+10
/varcalc LocYM ${LocY}-10
/varset X2 ${Me.X}
/varset Y2 ${Me.Y}
/varcalc LocXP2 ${X2}+1
/varcalc LocXM2 ${X2}-1
/varcalc LocYP2 ${Y2}+1
/varcalc LocYM2 ${Y2}-1
/varset Count 100
/delay 5
/if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
/face loc ${Math.Rand[10000], ${Math.Rand[10000]
/keypress forward hold
/delay 2s
/goto :Begin
}
/face loc ${LocY}, ${LocX}
/keypress forward hold
/varset X ${Me.X}
/varset Y ${Me.Y}
/if (${LocXP}>${Me.X} && ${LocXM}<${Me.X} && ${LocYP}>${Me.Y} && ${LocYM}<${Me.Y}) /goto :Begin
/goto :Loopd
}
:Pause
/echo PAUSE
/echo PAUSE
/echo PAUSE
/echo PAUSE
/endmacro
/return
Sub event_AcornsOut
/echo Acorns out, entering Delay sequence
/afk Back in a few my good friends.
/keypress forward
/sit
/delay 4m
/return
Sub event_chat
/call DummyMode
/return
Sub DummyMode
/beep
/beep
/beep
/echo Entering Dummy Mode...
/afk Be back in a wee bit.
/sit on
:waitabit
/delay ${DummyTime}
/if (${Spawn[gm].ID}) /call DummyMode
/afk off
/stand
/call Main
/return
*Code is the yellow text above.
Then you would place acorn.mac in your macro folder.
In game you would type /macro acorn
Thats it some macros are more involved and you will have to make multiple files. Most names of those files are included in the 1st line of the macro as above | Misty Thicket Acorns Macro : acorns.mac <-- (there).
Im assuming you already followed all the directions and compiled macroquest2 correctly. You do not need to recompile MQ2 to use macros.