babalae/better-genshin-impact · warning · TpPointNotActivate
地图图标绝对坐标匹配失败
Error message
地图图标绝对坐标匹配失败
What it means
TpPointNotActivate thrown from the absolute-coordinate click path after AbsoluteMapClickRetryCount attempts. The message is the runtime failureReason string (the prompt labels it '地图图标绝对坐标匹配失败'). Each attempt tries ConvertGenshinMapCoordinatesToImageCoordinates + click; if the click never lands on the TP icon within the budget, the last failureReason is surfaced.
Source
Thrown at BetterGenshinImpact/GameTask/AutoTrackPath/TpTask.cs:881
if (attempt + 1 >= AbsoluteMapClickRetryCount)
{
break;
}
await MoveTeleportTargetTowardZoomCenter(currentClickView);
var currentZoomLevel = GetCurrentBigMapZoomLevel();
var recoveryZoomLevel = Math.Max(MinTeleportZoomLevel, currentZoomLevel - AbsoluteMapClickZoomRecoveryStep);
if (_tpConfig.MapZoomEnabled && !IsZoomCloseEnough(currentZoomLevel, recoveryZoomLevel))
{
await AdjustMapZoomLevel(currentZoomLevel, recoveryZoomLevel);
}
await Delay(TeleportClickableAreaRetryDelayMs, ct);
currentClickView = await PrepareTeleportClickView(target);
}
Logger.LogWarning("目标传送点绝对坐标定位失败:{Reason}", failureReason);
throw new TpPointNotActivate(failureReason);
}
private double GetTeleportFinalClickZoomLevel(double nearestTpDistance, string mapName)
{
var targetZoomLevel = Math.Max(nearestTpDistance / TeleportFinalZoomDistanceFactor, MinTeleportZoomLevel);
return ClampTeleportFinalZoomLevel(targetZoomLevel, mapName);
}
private double GetTeleportTravelZoomLevel()
{
return GetTeleportMaxZoomLevel();
}
private static double GetTeleportMaxZoomLevel()
{
return TeleportMaxZoomLevel;
}
View on GitHub (pinned to a7cb36712d)
Solutions
- Enable _tpConfig.MapZoomEnabled so the recovery zoom stabilizes clicks between attempts.
- Run at 1920x1080 so the big-map coordinate transform is calibrated correctly.
- Retry (TpWithRetries catches TpPointNotActivate and retries up to 3 times).
- If a specific TP always fails, verify its coordinates in tp.json still match the live map (post-patch drift).
- Increase AbsoluteMapClickRetryCount for slow map loads.
Defensive patterns
Strategy: retry
Try / catch
try { await TpOnce(...); }
catch (TpPointNotActivate e) { /* TpWithRetries handles; verify tp.json coords post-patch */ } Prevention
- Enable _tpConfig.MapZoomEnabled so the recovery zoom stabilizes clicks.
- Run at 1920x1080 for accurate big-map coordinate transform.
- After Genshin patches, verify tp.json coordinates still match the live map.
When it happens
Trigger: Big-map coordinate transform producing click positions that miss the TP icon (zoom/pan mismatch between detected and actual map rect); the TP icon template not matching after the click; map panning drift between attempts; recovery zoom step not applied because MapZoomEnabled is off.
Common situations: Map zoom config disabled (_tpConfig.MapZoomEnabled=false) so AbsoluteMapClickZoomRecoveryStep never runs; coordinate transform off due to wrong bigMapInAllMapRect; new game patch shifted map coordinates; template for the TP icon changed.
Related errors
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/95981aa9733627c7.
Report an issue: GitHub.