babalae/better-genshin-impact · error · Exception
未进入和合成台交互对话界面
Error message
未进入和合成台交互对话界面
What it means
Thrown by GoToCraftingBenchTask.GoToCraftingBenchOnce after a three-stage attempt to enter the crafting-bench dialogue all fail Bv.IsInCraftingTalkUi: a direct retry (TryPressCrafting), then a step-backward + retry, then a final check. None put the UI into the talk state.
Source
Thrown at BetterGenshinImpact/GameTask/Common/Job/GoToCraftingBenchTask.cs:270
// 多种尝试 责任链
if (!IsInCraftingTalkUi())
{
// 直接重试
await TryPressCrafting(ct);
if (!IsInCraftingTalkUi())
{
// 往回走一步重试
Simulation.SendInput.SimulateAction(GIActions.MoveBackward, KeyType.KeyDown);
await Delay(200, ct);
Simulation.SendInput.SimulateAction(GIActions.MoveBackward, KeyType.KeyUp);
await TryPressCrafting(ct);
// 最后 check
if (!IsInCraftingTalkUi())
{
throw new Exception("未进入和合成台交互对话界面");
}
}
}
// 等待进入合成界面
await _chooseTalkOptionTask.SelectLastOptionUntilEnd(ct,
region => region.Find(ElementRecognition.Get("BtnWhiteConfirm", region)).IsExist()
);
await Delay(800, ct);
}
private bool IsInCraftingTalkUi()
{
using var ra = CaptureToRectArea();
return Bv.IsInTalkUi(ra);
}View on GitHub (pinned to a7cb36712d)
Solutions
- Confirm craftLocalizedString matches the in-game bench prompt for the configured culture.
- Re-approach: rerun the pathing EndAction or walk forward before retrying FindFAndPress.
- Increase retries and vary approach direction rather than only stepping backward.
- Verify the character landed close enough to the bench by checking a known landmark via OCR/template.
Example fix
null
Defensive patterns
Strategy: retry
Validate before calling
null
Type guard
null
Try / catch
try { await GoToCraftingBenchOnce(country, ct); }
catch (Exception e) when (e.Message == "未进入和合成台交互对话界面")
{ /* re-path to the bench and vary approach direction, then retry */ } Prevention
- Confirm craftLocalizedString matches the in-game bench prompt for the configured culture.
- Vary approach direction (forward as well as backward) across retries.
- Re-run the pathing EndAction to close the distance to the bench.
When it happens
Trigger: IsInCraftingTalkUi() (which captures and calls Bv.IsInTalkUi) returns false through: initial check, after TryPressCrafting (FindFAndPress on '合成'), and after MoveBackward + TryPressCrafting. The bench's F-prompt was never engaged.
Common situations: Character is not actually at the bench (pathing undershot); camera/wall occludes the bench F-prompt; localized '合成' string does not match the prompt text; the bench requires a different approach vector (the 枫丹 auto-run exception left the character past the bench).
Related errors
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/a898a55fd5fb572b.
Report an issue: GitHub.