{"record":{"id":"489951172a1772fb","repo":"babalae/better-genshin-impact","slug":"error-489951","errorCode":null,"errorMessage":"等待传送点交互面板超时","messagePattern":"等待传送点交互面板超时","errorType":"exception","errorClass":"TpPointNotActivate","httpStatus":null,"severity":"warning","filePath":"BetterGenshinImpact/GameTask/AutoTrackPath/TpTask.cs","lineNumber":931,"sourceCode":"        return GetBigMapZoomLevel(capture);\n    }\n\n    private async Task ClickTpPointAfterMapPointSelected(TeleportTargetContext target)\n    {\n        for (var pointAttempt = 0; pointAttempt < 3; pointAttempt++)\n        {\n            if (pointAttempt > 0)\n            {\n                await ClickTargetMapPoint(target);\n            }\n\n            if (await WaitForTeleportPanelAndConfirm(target.TargetTp))\n            {\n                return;\n            }\n        }\n\n        throw new TpPointNotActivate(\"等待传送点交互面板超时\");\n    }\n\n    private async Task<bool> WaitForTeleportPanelAndConfirm(GiTpPosition? targetTp)\n    {\n        var timeoutMilliseconds = GetTeleportPanelTimeoutMilliseconds();\n        var stopwatch = Stopwatch.StartNew();\n        for (var i = 0; i == 0 || stopwatch.ElapsedMilliseconds < timeoutMilliseconds; i++)\n        {\n            if (i > 0)\n            {\n                await Delay(UiRecognitionPollIntervalMs, ct);\n            }\n\n            using var teleportCapture = CaptureToRectArea();\n            var result = await HandleTeleportPanel(teleportCapture, targetTp);\n            switch (result)\n            {\n                case TeleportPanelResult.Confirmed:","sourceCodeStart":913,"sourceCodeEnd":949,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/GameTask/AutoTrackPath/TpTask.cs#L913-L949","documentation":"TpPointNotActivate thrown when WaitForTeleportPanelAndConfirm never reports the teleport confirmation panel within the configured timeout across all pointAttempt iterations. After clicking the map point, the code waits for the TP interaction panel (the '传送' button) to appear; if it never does, the point is considered not-activatable.","triggerScenarios":"Clicked coordinate did not hit an actual teleport point (no panel spawns); panel appeared but the template detector (OCR/icon match) failed to recognize it; game lagged past the timeout; teleport point locked/undiscovered so no panel ever shows.","commonSituations":"Undiscovered/locked TP; misclick onto non-interactive map area; UI scale or resolution breaking the panel template; slow disk/GPU causing the panel to render after the timeout; in co-op where some panels differ.","solutions":["Ensure the target teleport point is already unlocked in-game.","Run at 1920x1080 so the panel template matches; check UI animation speed is default.","Raise GetTeleportPanelTimeoutMilliseconds for slow machines.","Retry (TpWithRetries handles TpPointNotActivate).","Verify the click landed on the TP icon (see [296]/[294] fixes)."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { await TpOnce(...); }\ncatch (TpPointNotActivate e) when (e.Message.Contains(\"等待传送点交互面板超时\"))\n{ /* verify TP unlocked in-game; retry via TpWithRetries */ }","preventionTips":["Only target already-unlocked teleport points.","Run at 1920x1080 so the panel template is recognized.","Raise panel timeout on slow machines."],"tags":["teleport","panel-detection","timeout","big-map","tp-not-activate"],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}