Handin.mac

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

kagonis
a hill giant
a hill giant
Posts: 228
Joined: Sat May 24, 2003 8:48 pm

Handin.mac

Post by kagonis » Fri Jun 11, 2004 3:42 pm

Here is the converted handin.mac, thanks to various people on helping converting it :)

Code: Select all

| handin.mac
|
| Author(s):
| - Kagonis
| - Corrections and suggestions by various people..
|   SukMage
|   DKAA
|   Wassup
|   WaBBiT
|
| Description:
| - Used to make handins to NPCs, nifty for those who
|    doesn't feel like getting carpal tunnel syndrome to
|    complete a quest that requires a lot of hand ins.
|
| Usage:
| - /macro handin.mac <pp|gp|sp|cp|"Item Name"> <amount> ["destroy"]
|    The you must type "destroy" for the macro to destroy items returned.
|
| Example:
| - /macro handin.mac "Batwing" 4 "destroy"
|    Will hand in 4 Batwing's and destroy the item(s) returned from the NPC.


Sub Main(string TheItem, int TheAmount, string DoDestroy)

    /declare Loopcount int local
    /declare Timeout timer local

    :GiveItem
        /if (!${Defined[TheItem]} || !${Defined[TheAmount]}) /call Syntax
        /for Loopcount 1 to ${TheAmount}
            /if (${TheItem.Equal[pp]}) {
                /ctrl /notify InventoryWindow IW_Money0 leftmouseup
            } else /if (${TheItem.Equal[gp]}) {
                /ctrl /notify InventoryWindow IW_Money1 leftmouseup
            } else /if (${TheItem.Equal[sp]}) {
                /ctrl /notify InventoryWindow IW_Money2 leftmouseup
            } else /if (${TheItem.Equal[cp]}) {
                /ctrl /notify InventoryWindow IW_Money3 leftmouseup
            } else {
                /ctrl /itemnotify ${FindItem[${TheItem}].InvSlot} leftmouseup
            }

            :WaitForItem
            /varset Timeout 5s
            /if (!${Cursor.ID}) {
                /if (!${Timeout.Value}) /goto :Done
                /delay 0
                /goto :WaitForItem
            }
            /click left target

            :Wait
            /varset Timeout 10s
            /if (${Cursor.ID}) {
                /if (!${Timeout.Value}) /goto :Done
                /delay 0
                /goto :Wait
            }
        /next Loopcount
        /notify GiveWnd GVW_Give_Button leftmouseup
        /delay 5

        :ClearCursor
        /if (${Cursor.ID}) {
            /if (${Defined[DoDestroy]} && ${DoDestroy.Equal[destroy]}) {
                /destroy
            } else {
                /autoinv
            }
            /delay 0
            /goto :ClearCursor
        }
    /goto :GiveItem
    :Done
        /endmacro
/return

Sub Syntax
    /echo Syntax: /macro handin <pp|gp|sp|cp|"Item Name"> <#> [destroy]
    /echo ..
    /echo Example: /macro handin gp 2 destroy
    /echo Will hand in 2 pieces of gold to the targeted NPC and then click give, and will destroy anything you get back on your cursor.
    /echo ..
    /echo Example: /macro handin "Batwing" 4
    /echo Will hand in 4 batwings to the targeted NPC and then click give, and will keep anything you get back on your cursor.
    /endmacro
/return
Edit: Fixed an error with hitting the "Give button", thanks to WaBBiT.
Last edited by kagonis on Fri Jun 18, 2004 2:13 am, edited 1 time in total.

WaBBiT
decaying skeleton
decaying skeleton
Posts: 6
Joined: Tue Mar 02, 2004 7:15 pm

Post by WaBBiT » Mon Jun 14, 2004 7:20 am

An error occurs here and it keeps handing more stackable stuff to the NPC without pressing Give button

Code: Select all

/click left npctrade give 
needs to be

Code: Select all

/notify GiveWnd GVW_Give_Button leftmouseup
Happy Turnins :D

wolf5
a ghoul
a ghoul
Posts: 89
Joined: Wed Jun 02, 2004 12:58 pm

Post by wolf5 » Mon Jun 14, 2004 9:08 am

Any beneficial hand ins i should know of?

:D :D :D :D

-Wolf5

User avatar
CuddleBunny
orc pawn
orc pawn
Posts: 23
Joined: Sun Feb 22, 2004 10:23 pm

Post by CuddleBunny » Mon Jun 14, 2004 11:59 am

Casino Tokens , Cabilis BoneChips hand in for faction, whatever. :roll:

Semper-Fi
orc pawn
orc pawn
Posts: 17
Joined: Sun Jun 13, 2004 4:35 pm

Post by Semper-Fi » Mon Jun 14, 2004 2:40 pm

a good hand in is bandages in misty thicket to the halfling who burned his hands, honeybugger the male on the round dome building. With 20 stacks of bandages you go from ready to attack to indifferently in rivervale!

Happy hunting evildoers!

TheWarden
a hill giant
a hill giant
Posts: 253
Joined: Sat Dec 27, 2003 3:51 pm
Location: In your bushes...

Post by TheWarden » Mon Jun 14, 2004 7:35 pm

Lol, i quit EQ for the night, but now I'm gonna go hand in some bandages...

[edit] The macro just gives 4 of the stacked items into his first slot over and over for me. Also, doesn't destroy items for me...

/mac handin.mac "Bone Chips" 4 destroy
and
/mac handin.mac "Bone Chips" 4 "destroy"

Am i doing it wrong? Lol, i ended up just doing:
/mac handin.mac "Bone Chips" 1
[img]http://img.photobucket.com/albums/v629/Deevious/SigPics/KristinKreukSig01.jpg[/img]

macrolover
a ghoul
a ghoul
Posts: 107
Joined: Sun Jul 14, 2002 9:19 am

the problem

Post by macrolover » Wed Jun 16, 2004 12:52 am

this mac isn't coded to put the items in any slot but the first. it would have to use.

Code: Select all

/notify GiveWnd GVW_MyItemSlot1 leftmouseup
/notify GiveWnd GVW_MyItemSlot2 leftmouseup
/notify GiveWnd GVW_MyItemSlot3 leftmouseup
/notify GiveWnd GVW_MyItemSlot4 leftmouseup
to put anything in the other slots

macrolover
a ghoul
a ghoul
Posts: 107
Joined: Sun Jul 14, 2002 9:19 am

the problem

Post by macrolover » Wed Jun 16, 2004 12:52 am

this mac isn't coded to put the items in any slot but the first. it would have to use.

Code: Select all

/notify GiveWnd GVW_MyItemSlot1 leftmouseup
/notify GiveWnd GVW_MyItemSlot2 leftmouseup
/notify GiveWnd GVW_MyItemSlot3 leftmouseup
/notify GiveWnd GVW_MyItemSlot4 leftmouseup
to put anything in the other slots

TheWarden
a hill giant
a hill giant
Posts: 253
Joined: Sat Dec 27, 2003 3:51 pm
Location: In your bushes...

Post by TheWarden » Wed Jun 16, 2004 8:49 am

Aha, thank you :oops: hehe

<-------Newb :P
[img]http://img.photobucket.com/albums/v629/Deevious/SigPics/KristinKreukSig01.jpg[/img]

User avatar
SukMage
a ghoul
a ghoul
Posts: 88
Joined: Fri Jun 04, 2004 5:08 pm

Post by SukMage » Wed Jun 16, 2004 4:29 pm

Can that just be pasted in? or does it need an /if statement? Will it not work if there is only 1 bandage going in to the window?

kagonis
a hill giant
a hill giant
Posts: 228
Joined: Sat May 24, 2003 8:48 pm

Post by kagonis » Fri Jun 18, 2004 2:32 am

Should be possible to change the macro in such a way that it will actually put the items in the slots/coinfields automatically dependant on coin or item..

This code is not tested, feel free to test and give feedback :)

Code: Select all

| handin.mac
|
| Author(s):
| - Kagonis
| - Corrections and suggestions by various people..
|   SukMage
|   DKAA
|   Wassup
|   WaBBiT
|
| Description:
| - Used to make handins to NPCs, nifty for those who
|    doesn't feel like getting carpal tunnel syndrome to
|    complete a quest that requires a lot of hand ins.
|
| Usage:
| - /macro handin.mac <pp|gp|sp|cp|"Item Name"> <amount> ["destroy"]
|    The you must type "destroy" for the macro to destroy items returned.
|
| Example:
| - /macro handin.mac "Batwing" 4 "destroy"
|    Will hand in 4 Batwing's and destroy the item(s) returned from the NPC.


Sub Main(string TheItem, int TheAmount, string DoDestroy)

    /declare Loopcount int local
    /declare Timeout timer local
    /declare Itemtype string local

    :GiveItem
        /if (!${Defined[TheItem]} || !${Defined[TheAmount]}) /call Syntax
        /for Loopcount 1 to ${TheAmount}
            /if (${TheItem.Equal[pp]}) {
                /ctrl /notify InventoryWindow IW_Money0 leftmouseup
                /varset Itemtype "coin"
            } else /if (${TheItem.Equal[gp]}) {
                /ctrl /notify InventoryWindow IW_Money1 leftmouseup
                /varset Itemtype "coin"
            } else /if (${TheItem.Equal[sp]}) {
                /ctrl /notify InventoryWindow IW_Money2 leftmouseup
                /varset Itemtype "coin"
            } else /if (${TheItem.Equal[cp]}) {
                /ctrl /notify InventoryWindow IW_Money3 leftmouseup
                /varset Itemtype "coin"
            } else {
                /ctrl /itemnotify ${FindItem[${TheItem}].InvSlot} leftmouseup
                /varset Itemtype "item"
            }

            :WaitForItem
            /varset Timeout 5s
            /if (!${Cursor.ID}) {
                /if (!${Timeout.Value}) /goto :Done
                /delay 0
                /goto :WaitForItem
            }

            /if (${Loopcount.Value} == 1 || ${Itemtype.Equal[coin]}) {
                /click left target
            } else {
                /if (${Itemtype.Equal[item]}) {
                    /notify GiveWnd GVW_MyItemSlot${Loopcount.Value} leftmouseup
                }
            }

            :Wait
            /varset Timeout 10s
            /if (${Cursor.ID}) {
                /if (!${Timeout.Value}) /goto :Done
                /delay 0
                /goto :Wait
            }
        /next Loopcount
        /notify GiveWnd GVW_Give_Button leftmouseup
        /delay 5

        :ClearCursor
        /if (${Cursor.ID}) {
            /if (${Defined[DoDestroy]} && ${DoDestroy.Equal[destroy]}) {
                /destroy
            } else {
                /autoinv
            }
            /delay 0
            /goto :ClearCursor
        }
    /goto :GiveItem
    :Done
        /endmacro
/return

Sub Syntax
    /echo Syntax: /macro handin <pp|gp|sp|cp|"Item Name"> <#> [destroy]
    /echo ..
    /echo Example: /macro handin gp 2 destroy
    /echo Will hand in 2 pieces of gold to the targeted NPC and then click give, and will destroy anything you get back on your cursor.
    /echo ..
    /echo Example: /macro handin "Batwing" 4
    /echo Will hand in 4 batwings to the targeted NPC and then click give, and will keep anything you get back on your cursor.
    /endmacro
/return

leptoid
a lesser mummy
a lesser mummy
Posts: 35
Joined: Tue May 11, 2004 4:47 pm

Post by leptoid » Fri Jun 25, 2004 1:38 pm

could this be used in qeynos to hand in 2gp at a time to an npc for faction? (yes, there's a specific npc for this) I'd rather not manually hand him 2000gp 2 gp at a time manually.

TheWarden
a hill giant
a hill giant
Posts: 253
Joined: Sat Dec 27, 2003 3:51 pm
Location: In your bushes...

Post by TheWarden » Fri Jun 25, 2004 6:21 pm

Yes, target that stupid pally(I hate him so much, Lol, he shouts too much) and type:

/macro handin gp 2
[img]http://img.photobucket.com/albums/v629/Deevious/SigPics/KristinKreukSig01.jpg[/img]

WhiteWolf
a ghoul
a ghoul
Posts: 89
Joined: Wed Apr 14, 2004 5:41 am

Post by WhiteWolf » Tue Jul 06, 2004 3:59 pm

ok, ive been working on this, but ive hit a few snags.
first, Loopcount.Value does not work. Loopcount does, somewhat.

ok, been toying around some more, and /next Loopcount is working, but now its just picking the item up and holding it on the cursor. if i manually drop it, it picks another one up and holds it again. it continues as such until i drop the 4th, then it clicks give, and starts over, dropping the first one and holding the second.

still playing around with it, trying to figure this portion out.

Epsilon
a lesser mummy
a lesser mummy
Posts: 61
Joined: Wed Apr 30, 2003 5:46 pm

Post by Epsilon » Sun Jul 25, 2004 4:40 pm

i have been using this macro for the casino and it happens very often that he hands in 2 tokens stacked..no wonder why i burned money so fast

how can i fix this?