• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Question - How to fire an event from specifi window i.e. someone buying from your trader

Joined
Jan 14, 2016
RedCents
1,418¢
Hey all, was wondering if I can get an event to fire when someone buys off my bazaar trader (using bazaar.mac btw). Basic events in macros do not fire in this particular situation so I assume they watch windows of a specific type of which bzr/trader is not. I looked at MQ2Events but I see nothing that suggests it can watch any window other than the default type events in our macros use. A search here and on the intarweb revealed nothing. I just need to be pointed in the right direction.


Tia


~ Incognito

- - - Updated - - -

Found {Window[BazaarWnd].Child[BZR_BazaarSlot${slot} and things like it in bazaar.mac, one of them has to be the one I want, but I have no idea of how to monitor the various windows from an event to make it fire...
 
Last edited:
you will have to watch the text for something like
#event sold "Pugs purchased #1# #2# for #3#. '
 
Check your chat logs after someone buys from you to see if something is logged through there. That is what MQ2Events parses to trigger (need to have /log on). I found this out the hard way trying to do use events for the PoK clicky stein.
 
Pugs, the text for a bazaar purchase on a trader does not come thru the normal chat channels but rather only in the trader window hence my problem. I tried a basic wildcard event and no dice.

Sum1, interesting, will give /log on a try... Although I'm confused since my log has always been off but I have been able to fire events in MQ2 macros just fine. it might be related to bazaar trader, but then that is not the same context as anything I can think of with the Drunkard's Stein... will try it anyways...
 
MQ2 can't see inside the sellers window where all sell messages are
 
Can not SEEeee the sell window comments.... BUT CAN I say CAN monitor the amount of cash on hand.. When the platinum/gold/silver/copper/tin increases execute your code................. HA! I am a gen i freaking us. WHOOP!

Or not,
Playbetter
 
Well I would want to know what sold so I can replenish without having to check everything in some 6 trader satchels to see what's missing.
 
Well I would want to know what sold so I can replenish without having to check everything in some 6 trader satchels to see what's missing.

I know its not a MQ solution, but you could use GINA create triggers when you sell something, then check the log. Might be easier?
 
I run my trader OFFLINE and just look up MY TRADER on another toon, adjust items shown to 999, and look at him, I know what all he has, and how much of any stackables or non-lore, so I can just check anytime I have a bit of downtime.
Its not an MQ solution (either), but its how I keep track of my vender dudes inventory.
 
When you log back in an offline trader there is an entry in the chat box of everything you sold while offline. Just log him back in and check right away so it doesn't disappear in the chat stream.
 
I am running the vendor at this time in real-time using the bazaar mac. I knew about the log file for offline mode, which is great, just wish they did that for online mode. I guess I could just turn the log on and check it but iirc it logs everything so it would be full of Gen Chat spam... I will look into the various suggestions, thx all!
 
Monitor your cash, when it increases do an inventory.mac
compare to a previous inventory
echo what was sold, write it to an ini
set new inventory and ini to old
in game monitor something you echo to trigger a report to read your ini

that would work,
Playbetter
 
Well I can't run another mac (plat tracker/inventory etc) as I am running bazaar.mac. But these are all good suggestions, I might be able to kludge together something... I was originally thinking of simply adding an event in bazaar.mac to fire when something was purchased. Maybe I will look at turning on EQ's log and using MQ2events.

- - - Updated - - -

Can not SEEeee the sell window comments.... BUT CAN I say CAN monitor the amount of cash on hand.. When the platinum/gold/silver/copper/tin increases execute your code................. HA! I am a gen i freaking us. WHOOP!

Or not,
Playbetter
Wait, can I fire an event based on currency changes? In regular MQ2 events? Or are we talking about a plat tracker...
 
Per Wiki, no you cannot fire an event from a data monitored variable..... but

You can set your total cash on hand = to a variable, say Cash
within the cycle of the bazaar macro have it run another sub with a variable, say CurrentCash. If Cash = CurrentCash /return
else dump an inventory...... inventory.mac may be able to be modified into an include
compare the two inventories and print the difference to an ini file to recall as needed

lot of work here, dunno if it would be worth it

you could just run the inventory.mac before the bazaar.mac... when you want to see what sold end the bazaar.mac and run the inventory.mac again to see what is different

I do hope you find a satisfactory solution.
Playbetter
 
About 10 years ago when I was heavily into bazaarquest there was a program(standalone) to parse your seller logs. I could see exactly what I sold and for how much.

My memory is a little bit hazy now, but I think it simply monitored the logs that EQ generated.

All I remember is that I could make pretty .xls spreadsheets from the data.
 
Well my dumbazz moniker is certainly apropos. On a whim I checked to see if EQ generated a log EVEN IF NOT in offline mode, and sure enough, it does! As long as I clear it out periodically I can tell who bought what, and for how much. This is beneficial not only to know what sold, but I can check to see if another trader is trying to corner the market by buying all the low-ballers and turning around and selling an item at 1000% mark-up.

Thx all for your suggestions!

Playbetter, I would love to see where the wiki talks about that, link? I might have missed a wiki (no easy way to see a list of all wikis) and/or important info.

Meistro, that is clever, I usually have another toon doing something else somewhere and I could just browse the trader from the field.

macroquester, I never knew of GINA, thx!
 
There is no way to setup an event that will trigger when your plat/gold/copper changes or when something sells, but there is something that a lot of people overlook and that is the timer event. You can set up a timer event to trigger and in that event you can check and see if anything has changed. That may not tell you what sold, but it is a start. If you had something that could read your /trader log like a VB script, you can easily execute the script from MQ. Your imagination would be your only limiter.


Now that I think about it, is there a way to send messages through EQBCS not using MQ2EQBC. Is there a way from like VBscript to send a message through EQBC server? Then this would be a no brainer if that could be done..
 
I know how I would keep track of my baz sales but I am not telling anyone.
 
There is no way to setup an event that will trigger when your plat/gold/copper changes or when something sells.

How does PlatTracker work? I'm not necessarily leaning in that direction, and maybe I can't tie in an 'event' per se, but if it can do it why can"t I (purely for edification purposes haha).

Your imagination would be your only limiter
Always true, and always good to remind us.

- - - Updated - - -

I know how I would keep track of my baz sales but I am not telling anyone.

That's just mean.. makes me think you would employ nefarious methods :twisted: :devil:
 
incognito
Playbetter, I would love to see where the wiki talks about that, link? I might have missed a wiki (no easy way to see a list of all wikis) and/or important info.

http://www.redguides.com/wiki/DataType:event

Please note I said there is no way to do it.

ctaylor22

There is no way to setup an event that will trigger when your plat/gold/copper changes

I agree............
playbetter

You can set your total cash on hand = to a variable, say Cash
within the cycle of the bazaar macro have it run another sub with a variable, say CurrentCash. If Cash = CurrentCash /return
else dump an inventory...... inventory.mac may be able to be modified into an include
compare the two inventories and print the difference to an ini file to recall as needed
When I wrote this I did not explain the idea was to write it as a sub routine and loop through it regularly.

After I just wrote this I thought. "I wonder if I am overthinking this?" An event can be triggered by the player, maybe he could "/echo run report"
and the event does another inventory.mac

Maybe this ain't helping so I am backing away for now...
Platbetter
 
This turned into a brainstorming session anyway, I like the way you think, and anytime someone gets me to think outside my own box its appreciated, even if we fail at the original task.

Triggering my own event, say every price update iteration, is not a bad solution. Thx everyone for your thoughts! Doing something completely outside of EQ/MQ2 utilizing an inventory dump is certainly viable.
 
You can not do this with an event. Thinking outside the box means not thinking about events.
 
I haven't looked at the bazaar.mac but...

My Idea for this is to add a sub to bazaar.mac where it does an inventory output once a minute checks the differences from the last file creates a list of the items you sold and your new plat total in the last minute then saves these to a new line in a new file shit I sold.csv with date and time. Then you have another mac called shitIsold.mac where it lists these in the mq2 window and finally if you want you can open this CSV in excel.

It wouldn't be perfect because if a few people buy a couple things in that 1 minute then you have 1k plat difference and 3 items gone but it would give you a pretty general idea of what is going on.

and for people who don't use bazaar.mac you would just make a different macro trackmysales.mac that calls that same sub from bazaar.mac
 
Here let me help you guys with the heavy lifting.

Rich (BB code):
| Maskoi's Super Secret Bazaar Inventory Macro v1.0 04/30/2016
Sub Main

	/declare IniFileName string outer Bazaar_${Me.CleanName}_Inventory.ini
	/call WriteTime
	/call HowManySatchels
	
/return

Sub WriteTime
	| Write day of the month,hour, minute. 
	/ini "${IniFileName}" "General" "Day" "${Time.Day}"
	/ini "${IniFileName}" "General" "Hour" "${Time.Hour}"
	/ini "${IniFileName}" "General" "Minute" "${Time.Minute}"
/return		

Sub HowManySatchels
	/declare i int local
	/for i 1 to 10
		/if (${InvSlot[pack${i}].Item.Container} && ${InvSlot[pack${i}].Item.Name.Find[Trader's Satchel]}) {
			/call PackIni ${i}
		} 
	/next i
/return

Sub PackIni(int BagNum)
	/declare j int local
	/for j 1 to ${Me.Inventory[pack${BagNum}].Container}
		/if (${Me.Inventory[pack${BagNum}].Item[${j}].ID}) {
			/ini "${IniFileName}" "Satchel${BagNum}" "BagSlot${j}" "${Me.Inventory[pack${BagNum}].Item[${j}].Name}"
			/echo /ini "${IniFileName}" "Satchel${BagNum}" "BagSlot${j}" "${Me.Inventory[pack${BagNum}].Item[${j}].Name}"
		} else {
			/ini "${IniFileName}" "Satchel${BagNum}"  "BagSlot${j}" "Empty"
			/echo "${IniFileName}" "Satchel${BagNum}"  "BagSlot${j}" "Empty"
		}
   /next j
/return

Output Bazaar_ToonNmae_Inventory.ini
Rich (BB code):
[General]
Day=30
Hour=16
Minute=12
[Satchel1]
BagSlot1=Flyscale Cloak
BagSlot2=Antithesis of Fear
BagSlot3=Elegant Defiant Leather Gloves
BagSlot4=Empty
BagSlot5=Empty
BagSlot6=Elegant Defiant Leather Gloves
BagSlot7=Empty
BagSlot8=Intricate Defiant Hammer
BagSlot9=Empty
BagSlot10=Antithesis of Fear
[Satchel2]
BagSlot1=Sylvan Cloth Robe Ornament
BagSlot2=Old Bloodforged Leather Legs Ornament
BagSlot3=Witch's Hat Ornament
BagSlot4=Empty
BagSlot5=Old Bloodforged Cloth Feet Ornament
BagSlot6=Skull Head Ornament
 
Question - How to fire an event from specifi window i.e. someone buying from your trader

Users who are viewing this thread

Back
Top
Cart