实体

交通 CCarCtrl

交通密度、脚本造车与路网

CCarCtrl.h

交通密度、随机车、脚本造车、AI 挂路网。和 CPopulation / CPathFind 配套。

密度与计数

CarDensityMultiplier / MaxNumberOfCarsInUse
static float& CarDensityMultiplier;
static unsigned int& MaxNumberOfCarsInUse;
static int& NumRandomCars;
static int& NumMissionCars;
static int& NumParkedCars;
static int& NumPermanentVehicles;

应急与警察车

NumLawEnforcerCars / bAllowEmergencyServicesToBeCreated
static unsigned int& NumLawEnforcerCars;
static unsigned int& NumAmbulancesOnDuty;
static unsigned int& NumFireTrucksOnDuty;
static bool& bAllowEmergencyServicesToBeCreated;

脚本造车

CreateCarForScript / SetCoordsOfScriptCar
static CVehicle* CreateCarForScript(int modelid, CVector posn, unsigned char MissionCleanUpFlag);
static void SetCoordsOfScriptCar(CVehicle* pVehicle, float x, float y, float z, unsigned char arg5, unsigned char arg6);
static CVehicle* GetNewVehicleDependingOnCarModel(int modelID, unsigned char createdBy);

随机生成

GenerateRandomCars / GenerateEmergencyServicesCar
static void GenerateRandomCars();
static void GenerateOneRandomCar();
static void GenerateEmergencyServicesCar();
static bool GenerateOneEmergencyServicesCar(unsigned int modelID, CVector posn);

挂路网

JoinCarWithRoadSystem / JoinCarWithRoadSystemGotoCoors
static void JoinCarWithRoadSystem(CVehicle* pVehicle);
static bool JoinCarWithRoadSystemGotoCoors(CVehicle* pVehicle, CVector const& posn, bool unused, bool bIsBoat);
static void JoinCarWithRoadAccordingToMission(CVehicle* pVehicle);

移除与兴趣车

PossiblyRemoveVehicle / RegisterVehicleOfInterest
static void PossiblyRemoveVehicle(CVehicle* pVehicle);
static void RemoveDistantCars();
static void RemoveCarsIfThePoolGetsFull();
static void RegisterVehicleOfInterest(CVehicle* pVehicle);
static void RemoveFromInterestingVehicleList(CVehicle* pVehicle);

上下乘客

SetUpDriverAndPassengersForVehicle
static void SetUpDriverAndPassengersForVehicle(CVehicle* pVehicle, int arg2, int arg3, bool arg4, bool arg5, int passengersNum);

On this page