• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Question - How to make a macro select an item in a window (1 Viewer)

Joined
Jul 1, 2015
RedCents
9,002¢
I am currently making a macro that will select Gift of legacies lost out of the /claim window and I got stuck on the part of figuring out how to get MQ2 to select a certain item out of one of these type of windows:

AM8udwZ.jpg

Another NPC that usually has a window like this is a currency NPC and I couldn't find any macros on search or google that bought items with currency really fast or any macro that used "this type" of window, just those that use the normal windows.

Anyone make a macro before that uses /claim or a currency window that could show me their code or point me in the right direction?
 
You can check the string for specific text but it is ugly and convoluted in the end
I messed with this a bit, your best bet would be to find the # of the item then use mq2task to select the reward#

look at my newtoon.mac to see how I was doing this and using /windows open you should be able to figure out which it is
 
/windowstate can be used to open and close the window. As far as the finding items in the list, you would just have to search through the list to find what you want. I have never played with the claim window to know just how difficult/easy this would be.
 
/window open <--- will tell you what windows are open
/window claimwnd <-- this is what the claim window is called and this will tell you all the subparts of that window

ClaimFeatureList = the window pane with list of things to click
claimclaimbutton = the claim button

This *should* work... I tested the selecting with what I had in my claim window like Lamp Post....
I also tested using the button ClaimClaimCancel and that worked...


The below should give you your very own Lamp Post!
Rich (BB code):
/invoke ${Window[claimwnd].Child[ClaimFeatureList].Select[${Window[claimwnd].Child[ClaimFeatureList].List[=Lamp Post]}]}
/delay 2s
/invoke ${Window[claimwnd].Child[ClaimClaimButton].LeftMouseUp}

- - - Updated - - -

Claim window is a strange creature! it is not alphanumeric

The table header sorts it sir!
 
look at my newtoon.mac to see how I was doing this and using /windows open you should be able to figure out which it is

I used your newtoon.mac as a guide, it was pretty helpful =)

I wanted to skip the tutorial and head straight to PoK and then I usually bind in the guild lobby instead of PoK so I wanted to change that up a bit too.

I ran the macro about 4 times last night after completely finishing it to make sure it didn't get stuck:

Rich (BB code):
-------------
Getting Fellowship Insignia + Binding in Guild Lobby Macro
----------**|

Sub Main
	 /if (${Zone.ShortName.Equal[Crescent]}) /call CrescentReach
	 /if (${Zone.ShortName.Equal[PoKnowledge]}) /call PoKnowledge
	 /if (${Zone.ShortName.Equal[Guildlobby]}) /call Guildlobby
/end

Sub CrescentReach

	/echo In Crescent Reach, Starting the macro
	/claim
	/delay 2s
	/invoke ${Window[claimwnd].Child[ClaimFeatureList].Select[${Window[claimwnd].Child[ClaimFeatureList].List[=Gift of Legacies Lost]}]}
	/delay 2s
	/invoke ${Window[claimwnd].Child[ClaimClaimButton].LeftMouseUp}
	/delay 2s
	/nomodkey /notify confirmationdialogbox CD_Yes_Button leftmouseup
	/delay 2s
	/nomodkey /itemnotify "${FindItem[Gift of Legacies Lost]}" rightmouseup
	/Delay 2s
	/autoi
	/Delay 2s
	/nomodkey /itemnotify "${FindItem[Potion of Speed]}" rightmouseup
	/Delay 2s
	/nomodkey /itemnotify "${FindItem[Book of Knowledge]}" rightmouseup
	/delay 60s ${Zone.ShortName.Equal[PoKnowledge]}==TRUE
/return

Sub PoKnowledge

	/echo In Plane of Knowledge, Letting things load first
	/delay 15s
	/plugin mq2advpath load
	/delay 2s
	/moveto loc 504 273
	/delay 10s
	/moveto loc 312 150
	/delay 5s
	/moveto loc 318 71
	/delay 5s
	/doortarget POKDOOR503
	/moveto loc ${Switch.DefaultY} ${Switch.DefaultX}
	/delay 5s
	/if (${Switch.Open}==FALSE) /call openDoor
	/moveto loc 381 72
	/delay 5s
	/target npc Randall
	/moveto loc 439 70
	/delay 5s
	/say how
	/delay 1s
	/moveto stop
	/if (${Cursor.ID}) /autoinventory
	/doortarget POKDOOR503
	/moveto loc ${Switch.DefaultY} ${Switch.DefaultX}
	/delay 3s ${MoveTo.Stopped}
	/if (${Switch.Open}==FALSE) /call openDoor
	/moveto loc 307 73
	/delay 7s
	/moveto loc 130 64
	/delay 7s
	/moveto loc 28 137
	/delay 7s
	/moveto loc -185 143
	/delay 7s
	/moveto loc -185 143
	/delay 10s
	/moveto loc -198 356
	/delay 10s
	/moveto loc -351 602
	/delay 10s
	/moveto loc -439 607
	/delay 10s
	/moveto loc -358 1279
	/delay 10s
	/moveto loc -291 1349
	/delay 10s
	/moveto loc -351 1403
	/delay 10s
	/doortarget FACADE
	/moveto loc ${Switch.DefaultY} ${Switch.DefaultX}
	/delay 60s ${Zone.ShortName.Equal[Guildlobby]}==TRUE
/return

Sub Guildlobby

	/echo In Guild Lobby, I'm going to bind and then wait for pickup
	/delay 15s
	/moveto loc .79 .88
	/delay 5s
	/moveto loc 57 -1
	/delay 5s
	/moveto loc 68 -38
	/delay 5s
	/moveto loc 238 10
	/delay 5s
	/moveto loc 257 -107
	/delay 5s
	/moveto loc 414 -136
	/delay 5s
	/moveto loc 414 -299
	/delay 4s
	/tar High Priest of Luclin
	/delay 2s
	/hail
	/delay 2s
	/say bind my soul
	/delay 2s

/echo You should have your fellowship Insignia now and be bound in the guild lobby.

/end








Sub openDoor
	/if (${Switch.Open}==FALSE) {
		:openSwitchLoop
			/face door
			/if (${Window[LargeDialogWindow]}) /invoke ${Window[largedialogwindow].Child[LDW_OkButton].LeftMouseUp}
			/click left door
			/delay 2s
			/if (${Switch.Open}==FALSE) /goto :openSwitchLoop
	}
	/delay 1s
/return
/end


You start it in CR, it claims gift of legacies lost, pops a speed pot, uses PoK boot, grabs fellowship insignia and then binds in GL.
 
I used your newtoon.mac as a guide, it was pretty helpful =)

I wanted to skip the tutorial and head straight to PoK and then I usually bind in the guild lobby instead of PoK so I wanted to change that up a bit too.

I ran the macro about 4 times last night after completely finishing it to make sure it didn't get stuck:

Rich (BB code):
-------------
Getting Fellowship Insignia + Binding in Guild Lobby Macro
----------**|

Sub Main
	 /if (${Zone.ShortName.Equal[Crescent]}) /call CrescentReach
	 /if (${Zone.ShortName.Equal[PoKnowledge]}) /call PoKnowledge
	 /if (${Zone.ShortName.Equal[Guildlobby]}) /call Guildlobby
/end

Sub CrescentReach

	/echo In Crescent Reach, Starting the macro
	/claim
	/delay 2s
	/invoke ${Window[claimwnd].Child[ClaimFeatureList].Select[${Window[claimwnd].Child[ClaimFeatureList].List[=Gift of Legacies Lost]}]}
	/delay 2s
	/invoke ${Window[claimwnd].Child[ClaimClaimButton].LeftMouseUp}
	/delay 2s
	/nomodkey /notify confirmationdialogbox CD_Yes_Button leftmouseup
	/delay 2s
	/nomodkey /itemnotify "${FindItem[Gift of Legacies Lost]}" rightmouseup
	/Delay 2s
	/autoi
	/Delay 2s
	/nomodkey /itemnotify "${FindItem[Potion of Speed]}" rightmouseup
	/Delay 2s
	/nomodkey /itemnotify "${FindItem[Book of Knowledge]}" rightmouseup
	/delay 60s ${Zone.ShortName.Equal[PoKnowledge]}==TRUE
/return

Sub PoKnowledge

	/echo In Plane of Knowledge, Letting things load first
	/delay 15s
	/plugin mq2advpath load
	/delay 2s
	/moveto loc 504 273
	/delay 10s
	/moveto loc 312 150
	/delay 5s
	/moveto loc 318 71
	/delay 5s
	/doortarget POKDOOR503
	/moveto loc ${Switch.DefaultY} ${Switch.DefaultX}
	/delay 5s
	/if (${Switch.Open}==FALSE) /call openDoor
	/moveto loc 381 72
	/delay 5s
	/target npc Randall
	/moveto loc 439 70
	/delay 5s
	/say how
	/delay 1s
	/moveto stop
	/if (${Cursor.ID}) /autoinventory
	/doortarget POKDOOR503
	/moveto loc ${Switch.DefaultY} ${Switch.DefaultX}
	/delay 3s ${MoveTo.Stopped}
	/if (${Switch.Open}==FALSE) /call openDoor
	/moveto loc 307 73
	/delay 7s
	/moveto loc 130 64
	/delay 7s
	/moveto loc 28 137
	/delay 7s
	/moveto loc -185 143
	/delay 7s
	/moveto loc -185 143
	/delay 10s
	/moveto loc -198 356
	/delay 10s
	/moveto loc -351 602
	/delay 10s
	/moveto loc -439 607
	/delay 10s
	/moveto loc -358 1279
	/delay 10s
	/moveto loc -291 1349
	/delay 10s
	/moveto loc -351 1403
	/delay 10s
	/doortarget FACADE
	/moveto loc ${Switch.DefaultY} ${Switch.DefaultX}
	/delay 60s ${Zone.ShortName.Equal[Guildlobby]}==TRUE
/return

Sub Guildlobby

	/echo In Guild Lobby, I'm going to bind and then wait for pickup
	/delay 15s
	/moveto loc .79 .88
	/delay 5s
	/moveto loc 57 -1
	/delay 5s
	/moveto loc 68 -38
	/delay 5s
	/moveto loc 238 10
	/delay 5s
	/moveto loc 257 -107
	/delay 5s
	/moveto loc 414 -136
	/delay 5s
	/moveto loc 414 -299
	/delay 4s
	/tar High Priest of Luclin
	/delay 2s
	/hail
	/delay 2s
	/say bind my soul
	/delay 2s

/echo You should have your fellowship Insignia now and be bound in the guild lobby.

/end








Sub openDoor
	/if (${Switch.Open}==FALSE) {
		:openSwitchLoop
			/face door
			/if (${Window[LargeDialogWindow]}) /invoke ${Window[largedialogwindow].Child[LDW_OkButton].LeftMouseUp}
			/click left door
			/delay 2s
			/if (${Switch.Open}==FALSE) /goto :openSwitchLoop
	}
	/delay 1s
/return
/end


You start it in CR, it claims gift of legacies lost, pops a speed pot, uses PoK boot, grabs fellowship insignia and then binds in GL.

this is a great macro, deserves its own thread.
 
Question - How to make a macro select an item in a window

Users who are viewing this thread

Back
Top