我开始为 GTA V 创建一个小型 Mod,但我没有找到很多教程。Mod应该会产生一辆带司机的加长豪华轿车。当豪华轿车靠近我时,我可以用 F 键进入后座,司机会开车带我到一个航点。
此刻,当我按下 Num1 时,车辆和司机正在产卵。司机上了车,朝我开来。我试图通过这样做进入后座
if (Game.Player.Character.GetVehicleIsTryingToEnter() == stretch && isEnteringCar == false)
{
isEnteringCar = true;
Game.Player.Character.Task.EnterVehicle(stretch, VehicleSeat.RightRear);
isEnteringCar = false;
}
拉伸是我正在生成的豪华轿车的对象名称。"isEnteringCar"是我添加的一个布尔值,所以 if, 语句只会在进入汽车时执行一次。这个 if 语句位于我的 onTick() 方法中,该方法在每个滴答时都会执行(显然)。但是当我在我的豪华轿车附近按 F 时,我的角色会陷入某种无限循环,即使我试图用我的 bool "isEnteringCar"来防止这种情况。“开门”-动画每刻都会重置,因此我的角色只是四处摆动,直到我再次使豪华轿车消失。
长话短说:
当我按“F”进入生成的豪华轿车时,布尔值“IsEnteringCar”设置为 true,因此该方法Game.Player.Character.Task.EnterVehicle(stretch, VehicleSeat.RightRear);
不会多次执行。当我成功进入车辆后,bool 被设置为 false,所以我下车后可以再次进入车辆。但是当我尝试进入汽车时,我的角色卡在 EnterVehicle() 方法中,可能是因为它干扰了 GTA 代码,使我在驾驶员座位上进入车辆。如何禁用“在驾驶员座位上进入汽车”-部分?