Jaksuhn / SomethingNeedDoing

30 stars 26 forks source link

Synthesis and RecipeNote addons appear to be failing #155

Open CoffeeSaint opened 3 weeks ago

CoffeeSaint commented 3 weeks ago

At the following steps of a macro, SND appears to be erroring out when CraftLoop is enabled:

/waitaddon "RecipeNote" /click "synthesize" /waitaddon "Synthesize"

Logging set to Verbose+ shows nothing of help:

2024-07-03 10:40:19.899 -04:00 [VRB] [GameGui] HoverItemId:42205 this:1128571680 2024-07-03 10:40:20.003 -04:00 [VRB] [GameGui] HoverItemId: 0 2024-07-03 10:40:30.801 -04:00 [VRB] [GameGui] HoverItemId:42202 this:1128571680 2024-07-03 10:40:30.922 -04:00 [VRB] [GameGui] HoverItemId:42205 this:1128571680 2024-07-03 10:40:31.042 -04:00 [VRB] [GameGui] HoverItemId: 0 2024-07-03 10:40:48.256 -04:00 [DBG] [SomethingNeedDoing] Executing: /craft 18 2024-07-03 10:40:48.256 -04:00 [DBG] [SomethingNeedDoing] Executing: /waitaddon "RecipeNote"

Macro also appear not to queue if CraftLoop is disabled.

Zereah commented 3 weeks ago

Running into similar issue. Any 'Click' instruction seems to not be functioning whatsoever, rendering basic use impossible as it never proceeds past the first line. By appending a I can get it to "Loop", in that after the specified time it returns "Looping", but it still never completes the initial click instruction or any other subsequent one. Manually skipping the action allows the rest of the script to function, but it just delays the problem to the start of the next Loop.

chrisrtxv commented 3 weeks ago

Tried it following the update to 1.11, the macro does not run with the /click command in place. Now returns [SND] Failure while running /click Synthesize (step 1): Unexpected click error

Here's the dalamud.log entry from one such attempt

2024-07-04 14:24:06.695 -05:00 [INF] LASTEXCEPTION:eyJXaGVuIjoiMjAyNC0wNy0wNFQxNDoyNDowNi42OTUzMDczLTA1OjAwIiwiSW5mbyI6IlN5c3RlbS5Bcmd1bWVudE91dE9mUmFuZ2VFeGNlcHRpb246IGxlbmd0aCAoJy0xJykgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSB2YWx1ZS4gKFBhcmFtZXRlciAnbGVuZ3RoJylcclxuQWN0dWFsIHZhbHVlIHdhcyAtMS5cclxuICAgYXQgU3lzdGVtLkFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbi5UaHJvd05lZ2F0aXZlW1RdKFQgdmFsdWUsIFN0cmluZyBwYXJhbU5hbWUpXHJcbiAgIGF0IFN5c3RlbS5Bcmd1bWVudE91dE9mUmFuZ2VFeGNlcHRpb24uVGhyb3dJZk5lZ2F0aXZlW1RdKFQgdmFsdWUsIFN0cmluZyBwYXJhbU5hbWUpXHJcbiAgIGF0IFN5c3RlbS5TdHJpbmcuVGhyb3dTdWJzdHJpbmdBcmd1bWVudE91dE9mUmFuZ2UoSW50MzIgc3RhcnRJbmRleCwgSW50MzIgbGVuZ3RoKVxyXG4gICBhdCBTb21ldGhpbmdOZWVkRG9pbmcuR3JhbW1hci5Db21tYW5kcy5DbGlja0NvbW1hbmQuRXhlY3V0ZShBY3RpdmVNYWNybyBtYWNybywgQ2FuY2VsbGF0aW9uVG9rZW4gdG9rZW4pIiwiQ29udGV4dCI6IltTb21ldGhpbmdOZWVkRG9pbmddIFVuZXhwZWN0ZWQgY2xpY2sgZXJyb3IifQ== 2024-07-04 14:24:06.695 -05:00 [ERR] [SomethingNeedDoing] Unexpected click error System.ArgumentOutOfRangeException: length ('-1') must be a non-negative value. (Parameter 'length') Actual value was -1. at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName) at System.ArgumentOutOfRangeException.ThrowIfNegative[T](T value, String paramName) at System.String.ThrowSubstringArgumentOutOfRange(Int32 startIndex, Int32 length) at SomethingNeedDoing.Grammar.Commands.ClickCommand.Execute(ActiveMacro macro, CancellationToken token)

Ultameciia commented 3 weeks ago

I get the same error in the logs as Chrisrtxv, regardless of infinite loop or set amount.

Jaksuhn commented 3 weeks ago

hi, click commands have been updated, but unfortunately the click names have changed so please consult the help menu for the right ones. If any you used prior are missing let me know. I still need to investigate the craft loop issue though

chrisrtxv commented 3 weeks ago

Okay. I'd suggest in this case more specifically directing us to the Clicks tab specifically in the help menu, since some people dealing with this or finding it later might start at the Commands tab and not realize where else to be looking with only the basic pointer to look in Help. Which leads to a bit of an important discrepancy, where Commands still cites the example of /click synthesize which doesn't work anymore. XD So might add that to the list of things to fix in the next version push. :)

For whoever is reading this with this specific issue, /click synthesis appears to have been replaced in 1.11 with /click RecipeNote_Synthesis - whether or not looping works yet.

Edit to add: I'm having no issues so far with loop on. I just made a stack of 8 in a row with no interaction after setting it running following updating the click action.

Ultameciia commented 3 weeks ago

Hazarding a guess that the craft loop button is just appending the wrong /click action. But can confirm looping is working with the updated click action.

MarioLealP commented 3 weeks ago

My "loop button" still uses the "synthesis", any suggestion? image

/waitaddon "RecipeNote" /click "RecipeNote_Synthesis" /waitaddon "Synthesis" /ac "Muscle Memory" /ac "GroundWork"

something like this should work I assume? Except it does not :<

Ultameciia commented 3 weeks ago

It's outside of the scope of this issue, but change your /click "synthesize" to /click "RecipeNote_Synthesize"

Jaksuhn commented 3 weeks ago

Craftloop and the help menu have been updated (1.13) to reflect the click changes. Let me know if anyone still has problems

lucky48158 commented 2 weeks ago

When trying to have a craftloop with 1.21, I keep getting the following: [20:54][SND] Failure while running /waitaddon "Synthesis" (step 1): Addon not found [[20:56][SND] Failure while running /waitaddon "RecipeNote" (step 1): Addon not found

How do I fix this?

chrisrtxv commented 4 days ago

As of 1.26.0.0, I'm finding this function broken again, on macros that previously worked without issue. I've tried /click RecipeNote_Synthesize as well as /click RecipeNote Synthesize without the underscore as it now appears in the internal documentation. Both return errors and a lack of crafting beginning.

Log info for attempt with underscore:

LASTEXCEPTION:eyJXaGVuIjoiMjAyNC0wNy0yNVQxODozOTowMS4zNTgxOTctMDU6MDAiLCJJbmZvIjoiU29tZXRoaW5nTmVlZERvaW5nLkV4Y2VwdGlvbnMuTWFjcm9Db21tYW5kRXJyb3I6IEFkZG9uIFJlY2lwZU5vdGVfU3ludGhlc2l6ZSBub3QgZm91bmQuXHJcbiAgIGF0IFNvbWV0aGluZ05lZWREb2luZy5HcmFtbWFyLkNvbW1hbmRzLkNsaWNrQ29tbWFuZC5FeGVjdXRlKEFjdGl2ZU1hY3JvIG1hY3JvLCBDYW5jZWxsYXRpb25Ub2tlbiB0b2tlbikgaW4gL2hvbWUvcnVubmVyL3dvcmsvU29tZXRoaW5nTmVlZERvaW5nL1NvbWV0aGluZ05lZWREb2luZy9Tb21ldGhpbmdOZWVkRG9pbmcvR3JhbW1hci9Db21tYW5kcy9DbGlja0NvbW1hbmQuY3M6bGluZSA2MCIsIkNvbnRleHQiOiJbU29tZXRoaW5nTmVlZERvaW5nXSBVbmV4cGVjdGVkIGNsaWNrIGVycm9yIn0= 2024-07-25 18:39:01.357 -05:00 [ERR] [SomethingNeedDoing] Unexpected click error SomethingNeedDoing.Exceptions.MacroCommandError: Addon RecipeNote_Synthesize not found. at SomethingNeedDoing.Grammar.Commands.ClickCommand.Execute(ActiveMacro macro, CancellationToken token) in /home/runner/work/SomethingNeedDoing/SomethingNeedDoing/SomethingNeedDoing/Grammar/Commands/ClickCommand.cs:line 60 2024-07-25 18:39:17.626 -05:00 [INF]

Log info for without underscore:

LASTEXCEPTION:eyJXaGVuIjoiMjAyNC0wNy0yNVQxODo0Mjo0OS4yMDQyMTIyLTA1OjAwIiwiSW5mbyI6IlN5c3RlbS5JbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uOiBDb3VsZCBub3QgZmluZCBtZXRob2QgU3ludGhlc2l6ZSB3aXRoIDEgYXJndW1lbnRzIGZvciBSZWNpcGVOb3RlIFxyXG4gICBhdCBTb21ldGhpbmdOZWVkRG9pbmcuR3JhbW1hci5Db21tYW5kcy5DbGlja0NvbW1hbmQuRXhlY3V0ZShBY3RpdmVNYWNybyBtYWNybywgQ2FuY2VsbGF0aW9uVG9rZW4gdG9rZW4pIGluIC9ob21lL3J1bm5lci93b3JrL1NvbWV0aGluZ05lZWREb2luZy9Tb21ldGhpbmdOZWVkRG9pbmcvU29tZXRoaW5nTmVlZERvaW5nL0dyYW1tYXIvQ29tbWFuZHMvQ2xpY2tDb21tYW5kLmNzOmxpbmUgMTAyIiwiQ29udGV4dCI6IltTb21ldGhpbmdOZWVkRG9pbmddIFVuZXhwZWN0ZWQgY2xpY2sgZXJyb3IifQ== 2024-07-25 18:42:49.204 -05:00 [ERR] [SomethingNeedDoing] Unexpected click error System.InvalidOperationException: Could not find method Synthesize with 1 arguments for RecipeNote at SomethingNeedDoing.Grammar.Commands.ClickCommand.Execute(ActiveMacro macro, CancellationToken token) in /home/runner/work/SomethingNeedDoing/SomethingNeedDoing/SomethingNeedDoing/Grammar/Commands/ClickCommand.cs:line 102 2024-07-25 18:43:41.157 -05:00 [INF]

chrisrtxv commented 2 days ago

Right, so I've found the immediate cause of the new click error: It's the <wait.#> instruction. If /click RecipeNote Synthesis is followed by, for instance, , it throws the click error and the macro does not run. Removing the <wait.#> command allows the click action to work, but without the wait, none of the macro actions are executed; it skips past all of them, and if there is a /echo string at the end, it runs that and stops as if the macro is complete.

The workaround I have found based on this is to replace the <wait.#> with a /wait on the next line. This lets the macro run almost completely as expected. It will initiate, carry out, and complete a craft, and even loop. So it will function, but I don't know if this is the new intended way for it to be (and if so the documentation seems to be out of date regarding this change) or if something else internally has broken stopping it from behaving like it used to and it's just pleasant happenstance that this is still a viable way around that.

Either way, solution for those who need it and hopefully useful info for a fix if one is in the offing.

Jaksuhn commented 1 day ago

yeah that's a bug, I'll look into seeing why the wait modifier isn't working with it