babalae/better-genshin-impact · error · Exception

目标传送点位于不可点击区域,传送失败

Error message

目标传送点位于不可点击区域,传送失败

What it means

Generic Exception thrown after TeleportClickableAreaRetryCount retries when the target teleport point never landed inside a clickable viewport region. EvaluateTeleportClickView returned a non-null view each time but the click coordinates stayed outside the safe radius (lastEvaluation.FailureReason is logged). The teleport target is effectively off-screen or occluded.

Source

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

                    await Delay(TeleportClickableAreaRetryDelayMs, ct);
                    continue;
                }

                await AdjustTeleportZoomLevelTo(targetFinalZoomLevel);
                finalZoomAttempts++;
                continue;
            }

            if (retryCount >= TeleportClickableAreaRetryCount)
            {
                Logger.LogWarning(
                    "目标传送点未移动到可点击区域,传送失败:click=({ClickX:0.0},{ClickY:0.0}) radius={Radius:0.0} zoom={ZoomLevel:0.00} reason={Reason}",
                    lastEvaluation?.ClickX ?? 0,
                    lastEvaluation?.ClickY ?? 0,
                    lastEvaluation?.RequiredVisibleRadius ?? 0,
                    lastEvaluation?.ZoomLevel ?? GetCurrentBigMapZoomLevel(),
                    lastEvaluation?.FailureReason ?? "未知");
                throw new Exception("目标传送点位于不可点击区域,传送失败");
            }

            if (!moveZoomAdjusted)
            {
                moveZoomAdjusted = true;
                if (await AdjustInitialTeleportMoveZoomLevel(mapName, targetX, targetY))
                {
                    continue;
                }
            }

            await MoveMapToTeleportClickArea(targetX, targetY, mapName, evaluation.RequiredVisibleRadius);
            await Delay(TeleportClickableAreaRetryDelayMs, ct);
        }

        throw new Exception("目标传送点位于不可点击区域,传送失败");
    }

View on GitHub (pinned to a7cb36712d)

Solutions

  1. Retry the teleport (TpWithRetries wraps this with up to 3 attempts).
  2. Run at 1920x1080 so the click/radius math matches the calibrated viewport.
  3. Confirm map-drag (SendInput mouse move with button down) reaches the game.
  4. If a specific TP consistently fails, raise TeleportClickableAreaRetryCount or pre-pan closer.
  5. Verify zoom is high enough that RequiredVisibleRadius fits the window.
Defensive patterns

Strategy: retry

Try / catch

try { await TpOnce(...); }
catch (Exception e) when (e.Message.Contains("不可点击区域"))
{ /* logged with click coords + radius; retry via TpWithRetries or skip TP */ }

Prevention

When it happens

Trigger: Target TP located near a map edge/ corner the map-pan logic cannot center; required visible radius larger than the viewport at the working zoom; MoveMapToTeleportClickArea not converging within the retry budget; map panning input not reaching the game.

Common situations: Edge-of-map teleporters (isolated islands, distant domains); low zoom making the required radius exceed the window; map-drag input blocked; retry budget too small for a far pan.

Related errors


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