babalae/better-genshin-impact · warning · TpPointNotActivate

地图缩放未到传送点显示级别

Error message

地图缩放未到传送点显示级别

What it means

TpPointNotActivate (a custom exception) thrown when, after MaxMapZoomWheelAttempts zoom-wheel attempts, the big-map zoom level still has not reached the threshold required to render teleport-point icons (IsTeleportPointDisplayZoomLevelReached returns false). The map view is too zoomed-out for TP icons to appear, so clicking is skipped and the teleport is treated as 'not activated'.

Source

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

            lastEvaluation = evaluation;
            if (evaluation.View != null)
            {
                var targetFinalZoomLevel = ClampTeleportFinalZoomLevel(finalZoomLevel, mapName);
                if (!ShouldAdjustTeleportFinalZoom(evaluation.View, targetFinalZoomLevel))
                {
                    return evaluation.View;
                }

                if (finalZoomAttempts >= MaxMapZoomWheelAttempts)
                {
                    if (!IsTeleportPointDisplayZoomLevelReached(evaluation.View.ZoomLevel, mapName))
                    {
                        var displayTpPointZoomLevel = GetDisplayTpPointZoomLevel(mapName);
                        Logger.LogWarning(
                            "地图缩放未到传送点显示级别,已跳过点击:zoom={ZoomLevel:0.00} required<={RequiredZoomLevel:0.00}",
                            evaluation.View.ZoomLevel,
                            displayTpPointZoomLevel);
                        throw new TpPointNotActivate("地图缩放未到传送点显示级别");
                    }

                    return evaluation.View;
                }

                if (!IsTeleportClickViewSafeAfterZoom(evaluation.View, targetFinalZoomLevel))
                {
                    await MoveTeleportTargetTowardZoomCenter(evaluation.View);
                    await Delay(TeleportClickableAreaRetryDelayMs, ct);
                    continue;
                }

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

            if (retryCount >= TeleportClickableAreaRetryCount)

View on GitHub (pinned to a7cb36712d)

Solutions

  1. Ensure the tool can send mouse-wheel input to Genshin (foreground focus, correct privileges).
  2. Run at 1920x1080 so zoom-level detection (GetCurrentBigMapZoomLevel via OCR/template) reads correctly.
  3. Retry the teleport — transient zoom misdetection recovers on the next TpWithRetries attempt.
  4. If persistent for a specific mapName, verify GetDisplayTpPointZoomLevel is configured for that map.
  5. Increase MaxMapZoomWheelAttempts for slow-zoom environments.
Defensive patterns

Strategy: retry

Try / catch

try { await TpOnce(...); }
catch (TpPointNotActivate e) when (e.Message.Contains("缩放未到传送点显示级别"))
{ /* TpWithRetries already retries; ensure wheel input reaches game */ }

Prevention

When it happens

Trigger: Map zoom adjustment via mouse wheel not registering on the game (input blocked, wrong focus); GetDisplayTpPointZoomLevel for the mapName returning a value the wheel cannot reach; game's map zoom clamped by UI; TpTask instantiated with a mapName whose required zoom differs from Teyvat.

Common situations: Mouse wheel input not reaching the game (overlay focus, admin elevation); map already at min/max zoom; user's mouse driver intercepting the wheel; anti-cheat dampening rapid wheel events.

Related errors


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