babalae/better-genshin-impact · warning · TpPointNotActivate

等待传送点交互面板超时

Error message

等待传送点交互面板超时

What it means

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.

Source

Thrown at BetterGenshinImpact/GameTask/AutoTrackPath/TpTask.cs:931

        return GetBigMapZoomLevel(capture);
    }

    private async Task ClickTpPointAfterMapPointSelected(TeleportTargetContext target)
    {
        for (var pointAttempt = 0; pointAttempt < 3; pointAttempt++)
        {
            if (pointAttempt > 0)
            {
                await ClickTargetMapPoint(target);
            }

            if (await WaitForTeleportPanelAndConfirm(target.TargetTp))
            {
                return;
            }
        }

        throw new TpPointNotActivate("等待传送点交互面板超时");
    }

    private async Task<bool> WaitForTeleportPanelAndConfirm(GiTpPosition? targetTp)
    {
        var timeoutMilliseconds = GetTeleportPanelTimeoutMilliseconds();
        var stopwatch = Stopwatch.StartNew();
        for (var i = 0; i == 0 || stopwatch.ElapsedMilliseconds < timeoutMilliseconds; i++)
        {
            if (i > 0)
            {
                await Delay(UiRecognitionPollIntervalMs, ct);
            }

            using var teleportCapture = CaptureToRectArea();
            var result = await HandleTeleportPanel(teleportCapture, targetTp);
            switch (result)
            {
                case TeleportPanelResult.Confirmed:

View on GitHub (pinned to a7cb36712d)

Solutions

  1. Ensure the target teleport point is already unlocked in-game.
  2. Run at 1920x1080 so the panel template matches; check UI animation speed is default.
  3. Raise GetTeleportPanelTimeoutMilliseconds for slow machines.
  4. Retry (TpWithRetries handles TpPointNotActivate).
  5. Verify the click landed on the TP icon (see [296]/[294] fixes).
Defensive patterns

Strategy: retry

Try / catch

try { await TpOnce(...); }
catch (TpPointNotActivate e) when (e.Message.Contains("等待传送点交互面板超时"))
{ /* verify TP unlocked in-game; retry via TpWithRetries */ }

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13). Data as JSON: /api/errors/489951172a1772fb. Report an issue: GitHub.