Skillet-Classic

Skillet-Classic

445k Downloads

Skillet, Enchanting, Trade

Raithen88 opened this issue · 13 comments

commented

Hi,
I tested the newest version, but still get the following "bug" if I trade with somebody:

For example, someone is looking for an enchanter for, let's say, mungoose weapon:

  • He trades me his stuff
  • we reopen trade window
  • He places his weapon in the trade window
  • I select mungoose in the enchanting windows (with skillet)
  • I select "enchant"
  • the Mungoose enchant is in the qeue
  • i enchant his weapon
  • we both agree to the trade
  • BUG: The mungoose enchant, although it was created successfully, stays in the qeue

can u add a fix, so that a traded enchant will be deleted from the qeue?

commented

This issue should now be resolved.

commented

The successful execution of an enchant should remove it from the queue. Depending on how you have the option Queue enchant reagents set, having an enchant in the queue shouldn't effect the next enchant. If the option is not checked, then the code is supposed to remove all enchants from the queue before executing the requested enchant. If the option is checked (or not), enchants are placed at the head of the queue so they will always be executed first. In addition, with the option checked, the queue is visible so you can click the Clear button.

Having said all that, clearly something is not working right. My highest level enchanter is 35 with a skill of 275. The odds of me finding any (enough) people to trade enchants are slim and none. Therefore, I'll need your help in understanding the issue and figuring out if it can be fixed.

First, I need you to enable skillet debugging. Type:

/skillet debuglogging on
/skillet debuglevel 4
/skillet tabledump

This will start logging the debug output to your character specific saved variables file. If you do a lot of enchanting while waiting for someone to trade with you, then type /skillet cleardebuglog just before you start a trade (the steps you posted above). When you have finished and encountered the bug, logoff (or) /reload (which flushes the in memory buffer to disk) and attach the character specific saved variables file, Skillet-Classic.lua here. I might need the global saved variables file, Skillet-Classic.lua as well. If you want to zip them up first, rename the character specific file to <character>.lua.

Let me examine the output you collect and then I'll let you know what we need to do next. I may need to add more debugging statements to the code or capture additional stuff.

Worst case might be that you create a toon on the server with my enchanter so we trade low level enchants until I figure it out!

commented
commented

Your English is MUCH superior to my German!

I can wait until you can get to it.

commented

Any update?

commented
commented
commented

Skillet-Classic-1.49-alpha6 contains these files so you can just use that for your testing.

commented

It looks like Blizzard triggers a failure event as you apply the enchant in the trade window and then a few seconds later, triggers a success event. It looks like I'll have to add a special case to make this work and I don't know how extensive that will be.

I'll have a simple change to ignore the UNIT_SPELLCAST_FAILED_QUIET if the trade window is open and see what that does. The attached zip contains Skillet.lua and SkilletQueue.lua. If this fails to fix the problem, I'll need you to collect the debug data again and upload it. Be sure to do a /skillet cleardebuglog before you start the experiment to minimize the amount of data I need to look at.

Skillet-Classic.zip

	"Sun Sep 18 23:12:43 2022(D1): DoTradeSkill(spell= 56, count= 1) altMode= false", -- [2563]
	"Sun Sep 18 23:12:47 2022(T): UNIT_SPELLCAST_FAILED_QUIET(player, Cast-2-0-0-0-27899-000000574E, 27899)", -- [2564]
	"Sun Sep 18 23:12:47 2022(T): spellName= Armschiene - Muskelkraft, processingSpell= Armschiene - Muskelkraft", -- [2565]
	"Sun Sep 18 23:12:47 2022(D0): StopCast(Armschiene - Muskelkraft, false): changingTrade= nil, processingSpell= Armschiene - Muskelkraft, queueCasting= true, pauseQueue= false", -- [2566]
	"Sun Sep 18 23:12:47 2022(D0): StopCast without success", -- [2567]
	"Sun Sep 18 23:12:55 2022(T): UNIT_SPELLCAST_SUCCEEDED(player, Cast-3-4468-1-34-27899-0000A789D6, 27899)", -- [2573]
	"Sun Sep 18 23:12:55 2022(T): spellID= 27899, spellName= Armschiene - Muskelkraft, processingSpell= nil", -- [2574]
	"Sun Sep 18 23:12:55 2022(T): UI_INFO_MESSAGE(Handel abgeschlossen.)", -- [2575]
	"Sun Sep 18 23:12:56 2022(T): BAG_UPDATE( 1 )", -- [2576]
	"Sun Sep 18 23:12:56 2022(T): UNIT_INVENTORY_CHANGED( player )", -- [2577]
commented

I tested the fix on a trade and it seems to be fixed. The now clears correctly with the trade.

commented

Skillet-Classic-1.49-alpha7 contains a potential fix for this issue.

There are numerous error conditions that might occur that I'm currently not testing for.

commented

I added you to Discord 23 days ago. However, for issues I'd very much like to have one opened here. We can discuss on Discord but having something here makes it easier to keep track. Just yesterday I went back to an old issue to remember what the fix was.

commented