BulletAssist

子弹追踪、坐标透视、强制锁定与开火抑制。

include/XBase/BulletAssist.h · XBase::BulletAssist

追踪计算、射线重定向和绘制由 XBase 后端持有,宿主只设置 Config 并决定 UI 开关。命中重定向只发生在本地玩家的开火作用域内,相机专用射线不参与改写。

配置

enum class AimPart {
    Head,
    Chest,
    Abdomen,
    Legs,
};

struct Config {
    bool tracking = false;
    bool throughWalls = false;
    bool hardLock = false;
    bool trackCivilian = true;
    bool trackFriend = false;
    bool trackHostile = true;
    bool trackNeutral = true;
    AimPart aimPart = AimPart::Chest;
    float lockRange = 100.0f;
    int maxTargets = 4;
    bool drawPedBounds = false;
    bool drawPedCollision = false;
    bool drawPedSkeleton = false;
    bool drawVehicleBounds = false;
    bool drawVehicleCollision = false;
};

void SetConfig(const Config& config);
Config GetConfig();

lockRange 下限为 10,maxTargets 限定 1~16,越界值由 XBase 在 SetConfig() 内收敛。

生命周期

void Init();
bool IsInitialized();
void Process();
void Shutdown();
void Draw();

Init()Process()Shutdown()Core 领域分发,宿主不要绕过 Core 建立第二套 Process()Draw() 由宿主在绘制回调中调用,只负责 ESP 显示,不驱动目标搜索。

开火抑制

bool ShouldSuppressPedFire(PedId ped);

只提供开火抑制判断,不暴露 CPed*;Ped 分类与总开关由 XBase::Ped::SetNoFire() 负责。

行为边界

  • 目标搜索基于相机前向与距离评分,关系过滤使用任务关系(平民/友军/敌对/中立),被锁定目标在每次开火时轮询。
  • 追踪命中重定向只作用于本地玩家的开火调用栈;相机专用射线(cameraIgnore)始终按原参数放行。
  • 追踪命中时只强制开启行人碰撞;只有启用 throughWalls 才关闭建筑、物体与假对象碰撞。
  • 已损毁载具不会作为有效命中实体返回。
  • hardLock 需要同时开启 tracking 并按住瞄准输入(瞄准键或鼠标键)才生效;锁定目标具有粘性,目标失效后才切换到准星最优目标,不会随多发轮询跳视角。
  • 剧情、过场动画、相机过渡、玩家控制被脚本禁用、玩家死亡或濒死、相机缓冲或行人池不可用时,追踪计算、射线重定向与 ESP 绘制同时停止,并持续清空候选列表、本次射击目标与强锁目标;离开阻断状态后延迟 750 毫秒自动恢复,不需要宿主重新开关功能。

版本能力

FeatureCapabilitySAVCIII
BulletAssistTracking / ThroughWalls / HardLock / PedBounds / VehicleBounds
BulletAssistPedCollision / PedSkeleton / VehicleCollision / FireSuppression

标注 ◐ 表示同领域内仍有部分动作受限。页面必须逐项查询 FeatureCapability,不能因为 Capability::BulletAssist 可链接就启用全部开关;III 当前没有可用的追踪后端。

On this page