gpt4 book ai didi

c# - 如何使用 C# 脚本让我的角色进入 GTA 中车辆后座的汽车?

转载 作者:行者123 更新时间:2023-12-02 10:35:57 25 4
gpt4 key购买 nike

我开始为 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;
}

stretch 是我正在生成的豪华轿车的对象名称。 "isEnteringCar" 是我添加的一个 bool 值,因此 if, 语句只会在进入汽车时执行一次。该 if 语句位于我的 onTick() 方法中,该方法在每个时钟周期(显然)都会执行。但是当我在我的豪华轿车附近按 F 时,我的角色陷入了某种无限循环,即使我试图用我的 bool "isEnteringCar" 来阻止这种情况。 “开门”动画每次都会重置,因此我的角色只会扭动,直到我再次让豪华轿车消失。

长话短说:

当我按“F”进入生成的豪华轿车时, bool 值“IsEnteringCar”设置为 true,因此该方法 Game.Player.Character.Task.EnterVehicle(stretch, VehicleSeat.RightRear); 不会被执行多次。当我成功进入车辆后,bool 值会被设置回 false,这样我下车后就可以再次进入车辆。但是当我尝试进入汽车时,我的角色被困在 EnterVehicle() 方法中,可能是因为它干扰了让我在驾驶员座位上进入车辆的 GTA 代码。如何禁用“在驾驶座进入汽车”部分?

最佳答案

您可以尝试使用角色 Ped 对象内可用的标志来检查您是否已经在车辆内,您也可以尝试使用方法 SetIntoVehicle 而不是使用任务,例如:

if (!Game.Player.Character.IsGettingIntoVehicle && !Game.Player.Character.IsInVehicle())
{
Game.Player.Character.SetIntoVehicle(stretch, VehicleSeat.RightRear);
}

这里是假设您使用 ScriptHookVDotNet v3.0.2 的相关来源:https://github.com/crosire/scripthookvdotnet/blob/master/source/scripting_v3/GTA/Entities/Peds/Ped.cs

关于c# - 如何使用 C# 脚本让我的角色进入 GTA 中车辆后座的汽车?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56506900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com