@nativewrappers/fivem 0.0.80 → 0.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Audio.d.ts +2 -2
- package/Audio.js +99 -0
- package/Blip.d.ts +4 -3
- package/Blip.js +113 -0
- package/Camera.d.ts +3 -3
- package/Camera.js +190 -0
- package/Checkpoint.d.ts +2 -2
- package/Checkpoint.js +51 -0
- package/Events.js +80 -0
- package/Game.d.ts +10 -3
- package/Game.js +478 -0
- package/GameplayCamera.d.ts +2 -2
- package/GameplayCamera.js +152 -0
- package/Model.js +210 -0
- package/NetworkedScene.d.ts +2 -1
- package/NetworkedScene.js +50 -0
- package/ParticleEffect.d.ts +4 -3
- package/ParticleEffect.js +128 -0
- package/ParticleEffectAsset.d.ts +2 -2
- package/ParticleEffectAsset.js +133 -0
- package/Pickup.d.ts +1 -1
- package/Pickup.js +27 -0
- package/Raycast.d.ts +5 -3
- package/Raycast.js +132 -0
- package/RelationshipGroup.d.ts +1 -1
- package/RelationshipGroup.js +72 -0
- package/Rope.d.ts +1 -1
- package/Rope.js +149 -0
- package/TaskSequence.js +52 -0
- package/Tasks.d.ts +8 -3
- package/Tasks.js +334 -0
- package/World.d.ts +13 -4
- package/World.js +945 -0
- package/cfx/StateBagChangeHandler.js +0 -0
- package/cfx/index.d.ts +1 -1
- package/cfx/index.js +4 -0
- package/common/Command.js +111 -0
- package/common/Convar.js +58 -0
- package/common/GlobalData.js +16 -0
- package/common/Kvp.js +137 -0
- package/common/Resource.js +54 -0
- package/common/decors/Events.js +170 -0
- package/common/net/NetworkedMap.js +225 -0
- package/common/types.js +0 -0
- package/common/utils/ClassTypes.js +15 -0
- package/common/utils/Color.js +33 -0
- package/common/utils/Delay.d.ts +1 -0
- package/common/utils/Delay.js +6 -0
- package/common/utils/Maths.js +18 -0
- package/common/utils/Point.d.ts +9 -0
- package/common/utils/Point.js +36 -0
- package/common/utils/PointF.d.ts +1 -1
- package/common/utils/PointF.js +18 -0
- package/common/utils/Quaternion.d.ts +1 -1
- package/common/utils/Quaternion.js +33 -0
- package/common/utils/Vector.js +589 -0
- package/common/utils/cleanPlayerName.js +17 -0
- package/common/utils/enumValues.js +20 -0
- package/common/utils/getStringFromUInt8Array.js +6 -0
- package/common/utils/getUInt32FromUint8Array.js +6 -0
- package/enums/Alignment.js +9 -0
- package/enums/AnimationFlags.js +38 -0
- package/enums/AudioFlag.js +41 -0
- package/enums/BadgeStyle.js +186 -0
- package/enums/Blip.js +229 -0
- package/enums/Bone.js +105 -0
- package/enums/CameraShake.js +17 -0
- package/enums/CameraTypes.js +11 -0
- package/enums/CheckboxStyle.js +8 -0
- package/enums/Checkpoint.js +68 -0
- package/enums/CloudHat.js +27 -0
- package/enums/Control.js +364 -0
- package/enums/CursorSprite.js +18 -0
- package/enums/Driving.js +38 -0
- package/enums/ExplosionType.js +45 -0
- package/enums/FiringPattern.js +23 -0
- package/enums/Font.js +11 -0
- package/enums/ForceType.js +12 -0
- package/enums/Gender.js +8 -0
- package/enums/HelmetType.js +9 -0
- package/enums/HudColor.js +187 -0
- package/enums/HudComponent.js +57 -0
- package/enums/InputMode.js +8 -0
- package/enums/InvertAxis.js +10 -0
- package/enums/Language.js +18 -0
- package/enums/LeaveVehicleFlags.js +14 -0
- package/enums/LoadingSpinnerType.js +11 -0
- package/enums/MarkerType.js +48 -0
- package/enums/MenuAlignment.js +8 -0
- package/enums/NotificationType.js +14 -0
- package/enums/Parachute.js +19 -0
- package/enums/PickupType.js +77 -0
- package/enums/RadioStation.js +28 -0
- package/enums/RagdollType.js +10 -0
- package/enums/RaycastEnums.js +33 -0
- package/enums/Relationship.js +13 -0
- package/enums/RopeType.js +9 -0
- package/enums/ScreenEffect.js +87 -0
- package/enums/SpeechModifier.js +43 -0
- package/enums/Vehicle.js +396 -0
- package/enums/Weather.js +22 -0
- package/enums/ZoneID.js +95 -0
- package/hashes/MaterialHash.js +220 -0
- package/hashes/PedHash.js +728 -0
- package/hashes/VehicleHash.js +526 -0
- package/hashes/WeaponHash.js +155 -0
- package/hashes/WeatherTypeHash.js +22 -0
- package/index.js +166 -18794
- package/interfaces/Dimensions.d.ts +1 -1
- package/interfaces/Dimensions.js +0 -0
- package/models/BaseEntity.d.ts +10 -8
- package/models/BaseEntity.js +576 -0
- package/models/Entity.d.ts +0 -1
- package/models/Entity.js +0 -0
- package/models/EntityBone.d.ts +1 -1
- package/models/EntityBone.js +32 -0
- package/models/EntityBoneCollection.d.ts +1 -1
- package/models/EntityBoneCollection.js +27 -0
- package/models/Ped.d.ts +13 -5
- package/models/Ped.js +711 -0
- package/models/PedBone.d.ts +3 -2
- package/models/PedBone.js +18 -0
- package/models/PedBoneCollection.d.ts +3 -1
- package/models/PedBoneCollection.js +31 -0
- package/models/Player.d.ts +4 -2
- package/models/Player.js +188 -0
- package/models/Prop.d.ts +1 -1
- package/models/Prop.js +34 -0
- package/models/Vehicle.d.ts +9 -4
- package/models/Vehicle.js +582 -0
- package/models/VehicleDoor.d.ts +1 -1
- package/models/VehicleDoor.js +52 -0
- package/models/VehicleDoorCollection.d.ts +1 -1
- package/models/VehicleDoorCollection.js +66 -0
- package/models/VehicleMod.d.ts +1 -1
- package/models/VehicleMod.js +43 -0
- package/models/VehicleModCollection.d.ts +2 -2
- package/models/VehicleModCollection.js +227 -0
- package/models/VehicleToggleMod.d.ts +1 -1
- package/models/VehicleToggleMod.js +37 -0
- package/models/VehicleWheel.js +31 -0
- package/models/VehicleWheelCollection.d.ts +1 -1
- package/models/VehicleWheelCollection.js +61 -0
- package/models/VehicleWindow.d.ts +1 -1
- package/models/VehicleWindow.js +43 -0
- package/models/VehicleWindowCollection.d.ts +1 -1
- package/models/VehicleWindowCollection.js +62 -0
- package/package.json +2 -2
- package/ui/Container.d.ts +4 -2
- package/ui/Container.js +39 -0
- package/ui/Effects.d.ts +1 -1
- package/ui/Effects.js +112 -0
- package/ui/Fading.js +74 -0
- package/ui/Hud.d.ts +3 -2
- package/ui/Hud.js +47 -0
- package/ui/InstructionalButtons.js +42 -0
- package/ui/LoadingPrompt.d.ts +1 -1
- package/ui/LoadingPrompt.js +37 -0
- package/ui/Notification.js +17 -0
- package/ui/Rectangle.d.ts +4 -2
- package/ui/Rectangle.js +46 -0
- package/ui/Scaleform.d.ts +2 -1
- package/ui/Scaleform.js +240 -0
- package/ui/Screen.d.ts +6 -3
- package/ui/Screen.js +83 -0
- package/ui/Sprite.d.ts +3 -1
- package/ui/Sprite.js +70 -0
- package/ui/Text.d.ts +6 -3
- package/ui/Text.js +119 -0
- package/ui/Timerbar.js +241 -0
- package/ui/interfaces/IButton.d.ts +1 -1
- package/ui/interfaces/IButton.js +0 -0
- package/ui/interfaces/IDrawable.d.ts +3 -1
- package/ui/interfaces/IDrawable.js +0 -0
- package/ui/menu/Menu.d.ts +9 -4
- package/ui/menu/Menu.js +830 -0
- package/ui/menu/MenuControl.js +20 -0
- package/ui/menu/MenuControls.js +17 -0
- package/ui/menu/MenuSettings.d.ts +1 -1
- package/ui/menu/MenuSettings.js +57 -0
- package/ui/menu/items/UIMenuCheckboxItem.d.ts +3 -3
- package/ui/menu/items/UIMenuCheckboxItem.js +70 -0
- package/ui/menu/items/UIMenuItem.d.ts +10 -4
- package/ui/menu/items/UIMenuItem.js +1103 -0
- package/ui/menu/items/UIMenuListItem.d.ts +3 -3
- package/ui/menu/items/UIMenuListItem.js +118 -0
- package/ui/menu/items/UIMenuSeparatorItem.d.ts +1 -1
- package/ui/menu/items/UIMenuSeparatorItem.js +37 -0
- package/ui/menu/items/UIMenuSliderItem.d.ts +4 -3
- package/ui/menu/items/UIMenuSliderItem.js +180 -0
- package/ui/menu/items/panels/AbstractUIMenuPanel.d.ts +4 -3
- package/ui/menu/items/panels/AbstractUIMenuPanel.js +49 -0
- package/ui/menu/items/panels/UIMenuColorPanel.d.ts +3 -3
- package/ui/menu/items/panels/UIMenuColorPanel.js +215 -0
- package/ui/menu/items/panels/UIMenuGridPanel.d.ts +3 -3
- package/ui/menu/items/panels/UIMenuGridPanel.js +216 -0
- package/ui/menu/items/panels/UIMenuPercentagePanel.d.ts +2 -2
- package/ui/menu/items/panels/UIMenuPercentagePanel.js +138 -0
- package/ui/menu/items/panels/UIMenuStatisticsPanel.d.ts +3 -2
- package/ui/menu/items/panels/UIMenuStatisticsPanel.js +88 -0
- package/ui/menu/items/panels/UIMenuStatisticsPanelItem.d.ts +2 -1
- package/ui/menu/items/panels/UIMenuStatisticsPanelItem.js +48 -0
- package/ui/menu/modules/ListItem.js +18 -0
- package/utils/Animations.js +43 -0
- package/utils/Crypto.js +33 -0
- package/utils/LiteEvent.js +25 -0
- package/utils/Maths.js +18 -0
- package/utils/Point.js +36 -0
- package/utils/Size.js +16 -0
- package/utils/String.d.ts +1 -1
- package/utils/String.js +35 -0
- package/weapon/DlcWeaponData.d.ts +1 -1
- package/weapon/DlcWeaponData.js +40 -0
- package/weapon/Mk2WeaponHash.js +18 -0
- package/weapon/Weapon.d.ts +7 -7
- package/weapon/Weapon.js +276 -0
- package/weapon/WeaponAsset.d.ts +1 -1
- package/weapon/WeaponAsset.js +87 -0
- package/weapon/WeaponCollection.d.ts +3 -2
- package/weapon/WeaponCollection.js +179 -0
- package/weapon/WeaponDisplayNameByHash.d.ts +1 -1
- package/weapon/WeaponDisplayNameByHash.js +73 -0
- package/weapon/WeaponGroup.js +22 -0
- package/weapon/WeaponHudStats.d.ts +1 -1
- package/weapon/WeaponHudStats.js +33 -0
- package/weapon/WeaponLivery.js +17 -0
- package/weapon/WeaponLiveryColor.js +38 -0
- package/weapon/WeaponTint.js +46 -0
- package/weaponComponent/ComponentAttachmentPoint.js +22 -0
- package/weaponComponent/ComponentAttachmentPointByHash.js +307 -0
- package/weaponComponent/ComponentDisplayNameByHash.js +278 -0
- package/weaponComponent/DlcWeaponComponentData.js +40 -0
- package/weaponComponent/InvalidWeaponComponent.d.ts +1 -1
- package/weaponComponent/InvalidWeaponComponent.js +31 -0
- package/weaponComponent/WeaponComponent.d.ts +4 -4
- package/weaponComponent/WeaponComponent.js +124 -0
- package/weaponComponent/WeaponComponentCollection.d.ts +2 -2
- package/weaponComponent/WeaponComponentCollection.js +187 -0
- package/weaponComponent/WeaponComponentHash.js +670 -0
- package/weaponComponent/WeaponComponentHashesByWeaponHash.d.ts +1 -1
- package/weaponComponent/WeaponComponentHashesByWeaponHash.js +864 -0
- package/weaponComponent/WeaponComponentHudStats.js +33 -0
- package/common/index.d.ts +0 -8
- package/common/utils/Vector2.d.ts +0 -1
- package/common/utils/Vector3.d.ts +0 -1
- package/common/utils/Vector4.d.ts +0 -1
- package/common/utils/index.d.ts +0 -12
- package/enums/index.d.ts +0 -42
- package/hashes/index.d.ts +0 -5
- package/index.d.ts +0 -25
- package/models/index.d.ts +0 -18
- package/ui/index.d.ts +0 -15
- package/ui/interfaces/index.d.ts +0 -2
- package/ui/menu/index.d.ts +0 -6
- package/ui/menu/items/index.d.ts +0 -6
- package/ui/menu/items/panels/index.d.ts +0 -6
- package/ui/menu/modules/index.d.ts +0 -1
- package/utils/PointF.d.ts +0 -7
- package/utils/Quaternion.d.ts +0 -10
- package/utils/enumValues.d.ts +0 -12
- package/utils/getStringFromUInt8Array.d.ts +0 -8
- package/utils/getUInt32FromUint8Array.d.ts +0 -8
- package/utils/index.d.ts +0 -9
- package/weapon/index.d.ts +0 -8
- package/weaponComponent/index.d.ts +0 -5
|
@@ -0,0 +1,582 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { Vector3 } from "../common/utils/Vector";
|
|
4
|
+
import {
|
|
5
|
+
VehicleRoofState,
|
|
6
|
+
VehicleSeat
|
|
7
|
+
} from "fivem/enums/Vehicle";
|
|
8
|
+
import { Game } from "fivem/Game";
|
|
9
|
+
import { ClassTypes } from "../../common/utils/ClassTypes";
|
|
10
|
+
import { BaseEntity } from "./BaseEntity";
|
|
11
|
+
import { Ped } from "./Ped";
|
|
12
|
+
import { VehicleDoorCollection } from "./VehicleDoorCollection";
|
|
13
|
+
import { VehicleModCollection } from "./VehicleModCollection";
|
|
14
|
+
import { VehicleWheelCollection } from "./VehicleWheelCollection";
|
|
15
|
+
import { VehicleWindowCollection } from "./VehicleWindowCollection";
|
|
16
|
+
class Vehicle extends BaseEntity {
|
|
17
|
+
static {
|
|
18
|
+
__name(this, "Vehicle");
|
|
19
|
+
}
|
|
20
|
+
static getModelDisplayName(vehicleModel) {
|
|
21
|
+
return GetDisplayNameFromVehicleModel(vehicleModel.Hash);
|
|
22
|
+
}
|
|
23
|
+
static getModelClass(vehicleModel) {
|
|
24
|
+
return GetVehicleClassFromName(vehicleModel.Hash);
|
|
25
|
+
}
|
|
26
|
+
static getClassDisplayName(vehicleClass) {
|
|
27
|
+
return `VEH_CLASS_${vehicleClass}`;
|
|
28
|
+
}
|
|
29
|
+
static exists(vehicle) {
|
|
30
|
+
return typeof vehicle !== "undefined" && vehicle.exists();
|
|
31
|
+
}
|
|
32
|
+
static fromHandle(handle) {
|
|
33
|
+
if (!DoesEntityExist(handle)) return null;
|
|
34
|
+
return new Vehicle(handle);
|
|
35
|
+
}
|
|
36
|
+
static fromNetworkId(networkId) {
|
|
37
|
+
if (!NetworkDoesEntityExistWithNetworkId(networkId)) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return new Vehicle(NetworkGetEntityFromNetworkId(networkId));
|
|
41
|
+
}
|
|
42
|
+
_doors;
|
|
43
|
+
_mods;
|
|
44
|
+
_wheels;
|
|
45
|
+
_windows;
|
|
46
|
+
type = ClassTypes.Vehicle;
|
|
47
|
+
constructor(handle) {
|
|
48
|
+
super(handle);
|
|
49
|
+
}
|
|
50
|
+
exists() {
|
|
51
|
+
return super.exists() && GetEntityType(this.handle) === 2;
|
|
52
|
+
}
|
|
53
|
+
get DisplayName() {
|
|
54
|
+
return Vehicle.getModelDisplayName(this.Model);
|
|
55
|
+
}
|
|
56
|
+
get ClassDisplayName() {
|
|
57
|
+
return Vehicle.getClassDisplayName(this.ClassType);
|
|
58
|
+
}
|
|
59
|
+
get NumberPlate() {
|
|
60
|
+
return GetVehicleNumberPlateText(this.handle);
|
|
61
|
+
}
|
|
62
|
+
set NumberPlate(value) {
|
|
63
|
+
SetVehicleNumberPlateText(this.handle, value.substring(0, 8));
|
|
64
|
+
}
|
|
65
|
+
get ClassType() {
|
|
66
|
+
return GetVehicleClass(this.handle);
|
|
67
|
+
}
|
|
68
|
+
get BodyHealth() {
|
|
69
|
+
return GetVehicleBodyHealth(this.handle);
|
|
70
|
+
}
|
|
71
|
+
set BodyHealth(value) {
|
|
72
|
+
SetVehicleBodyHealth(this.handle, value);
|
|
73
|
+
}
|
|
74
|
+
get EngineHealth() {
|
|
75
|
+
return GetVehicleEngineHealth(this.handle);
|
|
76
|
+
}
|
|
77
|
+
set EngineHealth(value) {
|
|
78
|
+
SetVehicleEngineHealth(this.handle, value);
|
|
79
|
+
}
|
|
80
|
+
get PetrolTankHealth() {
|
|
81
|
+
return GetVehiclePetrolTankHealth(this.handle);
|
|
82
|
+
}
|
|
83
|
+
set PetrolTankHealth(value) {
|
|
84
|
+
SetVehiclePetrolTankHealth(this.handle, value);
|
|
85
|
+
}
|
|
86
|
+
get FuelLevel() {
|
|
87
|
+
return GetVehicleFuelLevel(this.handle);
|
|
88
|
+
}
|
|
89
|
+
set FuelLevel(value) {
|
|
90
|
+
SetVehicleFuelLevel(this.handle, value);
|
|
91
|
+
}
|
|
92
|
+
get OilLevel() {
|
|
93
|
+
return GetVehicleOilLevel(this.handle);
|
|
94
|
+
}
|
|
95
|
+
set OilLevel(value) {
|
|
96
|
+
SetVehicleOilLevel(this.handle, value);
|
|
97
|
+
}
|
|
98
|
+
get Gravity() {
|
|
99
|
+
return GetVehicleGravityAmount(this.handle);
|
|
100
|
+
}
|
|
101
|
+
set Gravity(value) {
|
|
102
|
+
SetVehicleGravityAmount(this.handle, value);
|
|
103
|
+
}
|
|
104
|
+
get IsEngineRunning() {
|
|
105
|
+
return GetIsVehicleEngineRunning(this.handle);
|
|
106
|
+
}
|
|
107
|
+
set IsEngineRunning(value) {
|
|
108
|
+
SetVehicleEngineOn(this.handle, value, true, true);
|
|
109
|
+
}
|
|
110
|
+
get IsEngineStarting() {
|
|
111
|
+
return IsVehicleEngineStarting(this.handle);
|
|
112
|
+
}
|
|
113
|
+
set IsEngineStarting(value) {
|
|
114
|
+
if ((this.IsEngineStarting || this.IsEngineRunning) && value) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
SetVehicleEngineOn(this.handle, value, !value, true);
|
|
118
|
+
}
|
|
119
|
+
get IsRadioEnabled() {
|
|
120
|
+
if (Game.Player.Character.isInVehicle(this)) {
|
|
121
|
+
return IsPlayerVehicleRadioEnabled();
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
set IsRadioEnabled(value) {
|
|
126
|
+
SetVehicleRadioEnabled(this.handle, value);
|
|
127
|
+
}
|
|
128
|
+
set RadioStation(value) {
|
|
129
|
+
this.IsRadioEnabled = true;
|
|
130
|
+
SetVehRadioStation(this.handle, value);
|
|
131
|
+
}
|
|
132
|
+
set Speed(value) {
|
|
133
|
+
if (this.Model.IsTrain) {
|
|
134
|
+
SetTrainSpeed(this.handle, value);
|
|
135
|
+
SetTrainCruiseSpeed(this.handle, value);
|
|
136
|
+
} else {
|
|
137
|
+
SetVehicleForwardSpeed(this.handle, value);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
get WheelSpeed() {
|
|
141
|
+
return GetVehicleDashboardSpeed(this.handle);
|
|
142
|
+
}
|
|
143
|
+
get EstimatedMaxSpeed() {
|
|
144
|
+
return GetVehicleEstimatedMaxSpeed(this.handle);
|
|
145
|
+
}
|
|
146
|
+
get Acceleration() {
|
|
147
|
+
return GetVehicleCurrentAcceleration(this.handle);
|
|
148
|
+
}
|
|
149
|
+
get CurrentRPM() {
|
|
150
|
+
return GetVehicleCurrentRpm(this.handle);
|
|
151
|
+
}
|
|
152
|
+
set CurrentRPM(value) {
|
|
153
|
+
SetVehicleCurrentRpm(this.handle, value);
|
|
154
|
+
}
|
|
155
|
+
get HighGear() {
|
|
156
|
+
return GetVehicleHighGear(this.handle);
|
|
157
|
+
}
|
|
158
|
+
set HighGear(value) {
|
|
159
|
+
SetVehicleHighGear(this.handle, value);
|
|
160
|
+
}
|
|
161
|
+
get CurrentGear() {
|
|
162
|
+
return GetVehicleCurrentGear(this.handle);
|
|
163
|
+
}
|
|
164
|
+
get SteeringAngle() {
|
|
165
|
+
return GetVehicleSteeringAngle(this.handle);
|
|
166
|
+
}
|
|
167
|
+
set SteeringAngle(value) {
|
|
168
|
+
SetVehicleSteeringAngle(this.handle, value);
|
|
169
|
+
}
|
|
170
|
+
get SteeringScale() {
|
|
171
|
+
return GetVehicleSteeringScale(this.handle);
|
|
172
|
+
}
|
|
173
|
+
set SteeringScale(value) {
|
|
174
|
+
SetVehicleSteeringScale(this.handle, value);
|
|
175
|
+
}
|
|
176
|
+
get IsAlarmSet() {
|
|
177
|
+
return IsVehicleAlarmSet(this.handle);
|
|
178
|
+
}
|
|
179
|
+
set IsAlarmSet(value) {
|
|
180
|
+
SetVehicleAlarm(this.handle, value);
|
|
181
|
+
}
|
|
182
|
+
get IsAlarmSounding() {
|
|
183
|
+
return IsVehicleAlarmActivated(this.handle);
|
|
184
|
+
}
|
|
185
|
+
get AlarmTimeLeft() {
|
|
186
|
+
return GetVehicleAlarmTimeLeft(this.handle);
|
|
187
|
+
}
|
|
188
|
+
set AlarmTimeLeft(value) {
|
|
189
|
+
SetVehicleAlarmTimeLeft(this.handle, value);
|
|
190
|
+
}
|
|
191
|
+
startAlarm() {
|
|
192
|
+
StartVehicleAlarm(this.handle);
|
|
193
|
+
}
|
|
194
|
+
get IsSirenActive() {
|
|
195
|
+
return IsVehicleSirenOn(this.handle);
|
|
196
|
+
}
|
|
197
|
+
set IsSirenActive(value) {
|
|
198
|
+
SetVehicleSiren(this.handle, value);
|
|
199
|
+
}
|
|
200
|
+
set HasMutedSirens(value) {
|
|
201
|
+
SetVehicleHasMutedSirens(this.handle, value);
|
|
202
|
+
}
|
|
203
|
+
soundHorn(duration, mode = Game.generateHash("HELDDOWN")) {
|
|
204
|
+
StartVehicleHorn(this.handle, duration, mode, false);
|
|
205
|
+
}
|
|
206
|
+
get IsWanted() {
|
|
207
|
+
return IsVehicleWanted(this.handle);
|
|
208
|
+
}
|
|
209
|
+
set IsWanted(value) {
|
|
210
|
+
SetVehicleIsWanted(this.handle, value);
|
|
211
|
+
}
|
|
212
|
+
set ProvidesCover(value) {
|
|
213
|
+
SetVehicleProvidesCover(this.handle, value);
|
|
214
|
+
}
|
|
215
|
+
set DropsMoneyOnExplosion(value) {
|
|
216
|
+
SetVehicleCreatesMoneyPickupsWhenExploded(this.handle, value);
|
|
217
|
+
}
|
|
218
|
+
get PreviouslyOwnedByPlayer() {
|
|
219
|
+
return IsVehiclePreviouslyOwnedByPlayer(this.handle);
|
|
220
|
+
}
|
|
221
|
+
set PreviouslyOwnedByPlayer(value) {
|
|
222
|
+
SetVehicleHasBeenOwnedByPlayer(this.handle, value);
|
|
223
|
+
}
|
|
224
|
+
get NeedsToBeHotwired() {
|
|
225
|
+
return IsVehicleNeedsToBeHotwired(this.handle);
|
|
226
|
+
}
|
|
227
|
+
set NeedsToBeHotwired(value) {
|
|
228
|
+
SetVehicleNeedsToBeHotwired(this.handle, value);
|
|
229
|
+
}
|
|
230
|
+
get AreLightsOn() {
|
|
231
|
+
return GetVehicleLightsState(this.handle)[0];
|
|
232
|
+
}
|
|
233
|
+
set AreLightsOn(value) {
|
|
234
|
+
SetVehicleLights(this.handle, value ? 3 : 4);
|
|
235
|
+
}
|
|
236
|
+
get AreHighBeamsOn() {
|
|
237
|
+
return GetVehicleLightsState(this.handle)[1];
|
|
238
|
+
}
|
|
239
|
+
set AreHighBeamsOn(value) {
|
|
240
|
+
SetVehicleFullbeam(this.handle, value);
|
|
241
|
+
}
|
|
242
|
+
get IsInteriorLightOn() {
|
|
243
|
+
return IsVehicleInteriorLightOn(this.handle);
|
|
244
|
+
}
|
|
245
|
+
set IsInteriorLightOn(value) {
|
|
246
|
+
SetVehicleInteriorlight(this.handle, value);
|
|
247
|
+
}
|
|
248
|
+
get IsSearchLightOn() {
|
|
249
|
+
return IsVehicleSearchlightOn(this.handle);
|
|
250
|
+
}
|
|
251
|
+
set IsSearchLightOn(value) {
|
|
252
|
+
SetVehicleSearchlight(this.handle, value, false);
|
|
253
|
+
}
|
|
254
|
+
get IsTaxiLightOn() {
|
|
255
|
+
return IsTaxiLightOn(this.handle);
|
|
256
|
+
}
|
|
257
|
+
set IsTaxiLightOn(value) {
|
|
258
|
+
SetTaxiLights(this.handle, value);
|
|
259
|
+
}
|
|
260
|
+
get IsLeftIndicatorLightOn() {
|
|
261
|
+
const val = GetVehicleIndicatorLights(this.handle);
|
|
262
|
+
return val === 1 || val === 3;
|
|
263
|
+
}
|
|
264
|
+
set IsLeftIndicatorLightOn(value) {
|
|
265
|
+
SetVehicleIndicatorLights(this.handle, 1, value);
|
|
266
|
+
}
|
|
267
|
+
get IsRightIndicatorLightOn() {
|
|
268
|
+
return GetVehicleIndicatorLights(this.handle) >= 2;
|
|
269
|
+
}
|
|
270
|
+
set IsRightIndicatorLightOn(value) {
|
|
271
|
+
SetVehicleIndicatorLights(this.handle, 0, value);
|
|
272
|
+
}
|
|
273
|
+
get IsHandbrakeForcedOn() {
|
|
274
|
+
return GetVehicleHandbrake(this.handle);
|
|
275
|
+
}
|
|
276
|
+
set IsHandbrakeForcedOn(value) {
|
|
277
|
+
SetVehicleHandbrake(this.handle, value);
|
|
278
|
+
}
|
|
279
|
+
set AreBrakeLightsOn(value) {
|
|
280
|
+
SetVehicleBrakeLights(this.handle, value);
|
|
281
|
+
}
|
|
282
|
+
set LightsMultiplier(value) {
|
|
283
|
+
SetVehicleLightMultiplier(this.handle, value);
|
|
284
|
+
}
|
|
285
|
+
set CanBeVisiblyDamaged(value) {
|
|
286
|
+
SetVehicleCanBeVisiblyDamaged(this.handle, value);
|
|
287
|
+
}
|
|
288
|
+
set Strong(toggle) {
|
|
289
|
+
SetVehicleStrong(this.handle, toggle);
|
|
290
|
+
}
|
|
291
|
+
set CanBreak(toggle) {
|
|
292
|
+
SetVehicleCanBreak(this.handle, toggle);
|
|
293
|
+
}
|
|
294
|
+
get IsDamaged() {
|
|
295
|
+
return IsVehicleDamaged(this.handle);
|
|
296
|
+
}
|
|
297
|
+
get IsDriveable() {
|
|
298
|
+
return IsVehicleDriveable(this.handle, false);
|
|
299
|
+
}
|
|
300
|
+
set IsDriveable(value) {
|
|
301
|
+
SetVehicleUndriveable(this.handle, !value);
|
|
302
|
+
}
|
|
303
|
+
get IsEngineOnFire() {
|
|
304
|
+
return IsVehicleEngineOnFire(this.handle);
|
|
305
|
+
}
|
|
306
|
+
get HasRoof() {
|
|
307
|
+
return DoesVehicleHaveRoof(this.handle);
|
|
308
|
+
}
|
|
309
|
+
get IsLeftHeadLightBroken() {
|
|
310
|
+
return GetIsLeftVehicleHeadlightDamaged(this.handle);
|
|
311
|
+
}
|
|
312
|
+
get IsRightHeadLightBroken() {
|
|
313
|
+
return GetIsRightVehicleHeadlightDamaged(this.handle);
|
|
314
|
+
}
|
|
315
|
+
get IsRearBumperBrokenOff() {
|
|
316
|
+
return IsVehicleBumperBrokenOff(this.handle, false);
|
|
317
|
+
}
|
|
318
|
+
get IsFrontBumperBrokenOff() {
|
|
319
|
+
return IsVehicleBumperBrokenOff(this.handle, true);
|
|
320
|
+
}
|
|
321
|
+
set IsAxlesStrong(value) {
|
|
322
|
+
SetVehicleHasStrongAxles(this.handle, value);
|
|
323
|
+
}
|
|
324
|
+
set CanEngineDegrade(value) {
|
|
325
|
+
SetVehicleEngineCanDegrade(this.handle, value);
|
|
326
|
+
}
|
|
327
|
+
set EnginePowerMultiplier(value) {
|
|
328
|
+
SetVehicleEnginePowerMultiplier(this.handle, value);
|
|
329
|
+
}
|
|
330
|
+
set EngineTorqueMultiplier(value) {
|
|
331
|
+
SetVehicleEngineTorqueMultiplier(this.handle, value);
|
|
332
|
+
}
|
|
333
|
+
get LandingGearState() {
|
|
334
|
+
return GetLandingGearState(this.handle);
|
|
335
|
+
}
|
|
336
|
+
set LandingGearState(value) {
|
|
337
|
+
SetVehicleLandingGear(this.handle, value);
|
|
338
|
+
}
|
|
339
|
+
get RoofState() {
|
|
340
|
+
return GetConvertibleRoofState(this.handle);
|
|
341
|
+
}
|
|
342
|
+
set RoofState(value) {
|
|
343
|
+
switch (value) {
|
|
344
|
+
case VehicleRoofState.Closed:
|
|
345
|
+
RaiseConvertibleRoof(this.handle, true);
|
|
346
|
+
RaiseConvertibleRoof(this.handle, false);
|
|
347
|
+
break;
|
|
348
|
+
case VehicleRoofState.Closing:
|
|
349
|
+
RaiseConvertibleRoof(this.handle, false);
|
|
350
|
+
break;
|
|
351
|
+
case VehicleRoofState.Opened:
|
|
352
|
+
LowerConvertibleRoof(this.handle, true);
|
|
353
|
+
LowerConvertibleRoof(this.handle, false);
|
|
354
|
+
break;
|
|
355
|
+
case VehicleRoofState.Opening:
|
|
356
|
+
LowerConvertibleRoof(this.handle, false);
|
|
357
|
+
break;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
get LockStatus() {
|
|
361
|
+
return GetVehicleDoorLockStatus(this.handle);
|
|
362
|
+
}
|
|
363
|
+
set LockStatus(value) {
|
|
364
|
+
SetVehicleDoorsLocked(this.handle, value);
|
|
365
|
+
}
|
|
366
|
+
get MaxBraking() {
|
|
367
|
+
return GetVehicleMaxBraking(this.handle);
|
|
368
|
+
}
|
|
369
|
+
get MaxTraction() {
|
|
370
|
+
return GetVehicleMaxTraction(this.handle);
|
|
371
|
+
}
|
|
372
|
+
get IsOnAllWheels() {
|
|
373
|
+
return IsVehicleOnAllWheels(this.handle);
|
|
374
|
+
}
|
|
375
|
+
get IsStopped() {
|
|
376
|
+
return IsVehicleStopped(this.handle);
|
|
377
|
+
}
|
|
378
|
+
get IsStoppedAtTrafficLights() {
|
|
379
|
+
return IsVehicleStoppedAtTrafficLights(this.handle);
|
|
380
|
+
}
|
|
381
|
+
get IsStolen() {
|
|
382
|
+
return IsVehicleStolen(this.handle);
|
|
383
|
+
}
|
|
384
|
+
set IsStolen(value) {
|
|
385
|
+
SetVehicleIsStolen(this.handle, value);
|
|
386
|
+
}
|
|
387
|
+
get IsConvertible() {
|
|
388
|
+
return IsVehicleAConvertible(this.handle, false);
|
|
389
|
+
}
|
|
390
|
+
set IsBurnoutForced(value) {
|
|
391
|
+
SetVehicleBurnout(this.handle, value);
|
|
392
|
+
}
|
|
393
|
+
get IsInBurnout() {
|
|
394
|
+
return IsVehicleInBurnout(this.handle);
|
|
395
|
+
}
|
|
396
|
+
get Driver() {
|
|
397
|
+
return this.getPedOnSeat(VehicleSeat.Driver);
|
|
398
|
+
}
|
|
399
|
+
// while ghosted use entity index, it doesn't look like you can ghost
|
|
400
|
+
// anything but players and vehicles
|
|
401
|
+
get Ghosted() {
|
|
402
|
+
return IsEntityGhostedToLocalPlayer(this.handle);
|
|
403
|
+
}
|
|
404
|
+
set GhostedForGhostPlayers(isGhostedForGhostPlayers) {
|
|
405
|
+
NetworkSetEntityGhostedWithOwner(this.handle, isGhostedForGhostPlayers);
|
|
406
|
+
}
|
|
407
|
+
set Ghosted(isGhosted) {
|
|
408
|
+
SetNetworkVehicleAsGhost(this.Handle, isGhosted);
|
|
409
|
+
}
|
|
410
|
+
static set GhostAlpha(alpha) {
|
|
411
|
+
SetGhostedEntityAlpha(alpha);
|
|
412
|
+
}
|
|
413
|
+
get IsInGhostCollision() {
|
|
414
|
+
return N_0x7ef7649b64d7ff10(this.handle);
|
|
415
|
+
}
|
|
416
|
+
static resetGhostAlpha() {
|
|
417
|
+
ResetGhostedEntityAlpha();
|
|
418
|
+
}
|
|
419
|
+
get Occupants() {
|
|
420
|
+
const driver = this.Driver;
|
|
421
|
+
if (!Ped.exists(driver)) {
|
|
422
|
+
return this.Passengers;
|
|
423
|
+
}
|
|
424
|
+
return [driver, ...this.Passengers];
|
|
425
|
+
}
|
|
426
|
+
get Passengers() {
|
|
427
|
+
const passengerCount = this.PassengerCount;
|
|
428
|
+
if (passengerCount === 0) {
|
|
429
|
+
return [];
|
|
430
|
+
}
|
|
431
|
+
const result = [];
|
|
432
|
+
for (let i = 0; i < this.PassengerCapacity; i++) {
|
|
433
|
+
if (!this.isSeatFree(i)) {
|
|
434
|
+
result.push(this.getPedOnSeat(i));
|
|
435
|
+
if (result.length === passengerCount) {
|
|
436
|
+
break;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
return result;
|
|
441
|
+
}
|
|
442
|
+
get Doors() {
|
|
443
|
+
if (!this._doors) {
|
|
444
|
+
this._doors = new VehicleDoorCollection(this);
|
|
445
|
+
}
|
|
446
|
+
return this._doors;
|
|
447
|
+
}
|
|
448
|
+
get Mods() {
|
|
449
|
+
if (!this._mods) {
|
|
450
|
+
this._mods = new VehicleModCollection(this);
|
|
451
|
+
}
|
|
452
|
+
return this._mods;
|
|
453
|
+
}
|
|
454
|
+
get Wheels() {
|
|
455
|
+
if (!this._wheels) {
|
|
456
|
+
this._wheels = new VehicleWheelCollection(this);
|
|
457
|
+
}
|
|
458
|
+
return this._wheels;
|
|
459
|
+
}
|
|
460
|
+
get Windows() {
|
|
461
|
+
if (!this._windows) {
|
|
462
|
+
this._windows = new VehicleWindowCollection(this);
|
|
463
|
+
}
|
|
464
|
+
return this._windows;
|
|
465
|
+
}
|
|
466
|
+
extraExists(extra) {
|
|
467
|
+
return DoesExtraExist(this.handle, extra);
|
|
468
|
+
}
|
|
469
|
+
isExtraOn(extra) {
|
|
470
|
+
return this.extraExists(extra) ? IsVehicleExtraTurnedOn(this.handle, extra) : false;
|
|
471
|
+
}
|
|
472
|
+
toggleExtra(extra, toggle) {
|
|
473
|
+
if (this.extraExists(extra)) {
|
|
474
|
+
SetVehicleExtra(this.handle, extra, !toggle);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
getPedOnSeat(seat) {
|
|
478
|
+
return new Ped(GetPedInVehicleSeat(this.handle, seat));
|
|
479
|
+
}
|
|
480
|
+
isSeatFree(seat) {
|
|
481
|
+
return IsVehicleSeatFree(this.handle, seat);
|
|
482
|
+
}
|
|
483
|
+
wash() {
|
|
484
|
+
this.DirtLevel = 0;
|
|
485
|
+
}
|
|
486
|
+
get DirtLevel() {
|
|
487
|
+
return GetVehicleDirtLevel(this.handle);
|
|
488
|
+
}
|
|
489
|
+
set DirtLevel(value) {
|
|
490
|
+
SetVehicleDirtLevel(this.handle, value);
|
|
491
|
+
}
|
|
492
|
+
placeOnGround() {
|
|
493
|
+
SetVehicleOnGroundProperly(this.handle);
|
|
494
|
+
}
|
|
495
|
+
repair() {
|
|
496
|
+
SetVehicleFixed(this.handle);
|
|
497
|
+
}
|
|
498
|
+
explode() {
|
|
499
|
+
ExplodeVehicle(this.handle, true, false);
|
|
500
|
+
}
|
|
501
|
+
explodeNetworked() {
|
|
502
|
+
NetworkExplodeVehicle(this.handle, true, false, false);
|
|
503
|
+
}
|
|
504
|
+
get CanTiresBurst() {
|
|
505
|
+
return GetVehicleTyresCanBurst(this.handle);
|
|
506
|
+
}
|
|
507
|
+
set CanTiresBurst(value) {
|
|
508
|
+
SetVehicleTyresCanBurst(this.handle, value);
|
|
509
|
+
}
|
|
510
|
+
set CanWheelsBreak(value) {
|
|
511
|
+
SetVehicleWheelsCanBreak(this.handle, value);
|
|
512
|
+
}
|
|
513
|
+
set CanDeformWheels(value) {
|
|
514
|
+
SetVehicleCanDeformWheels(this.handle, value);
|
|
515
|
+
}
|
|
516
|
+
get HasBombBay() {
|
|
517
|
+
return this.Bones ? this.Bones.hasBone("door_hatch_1") && this.Bones.hasBone("door_hatch_r") : false;
|
|
518
|
+
}
|
|
519
|
+
openBombBay() {
|
|
520
|
+
if (this.HasBombBay) {
|
|
521
|
+
OpenBombBayDoors(this.handle);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
closeBombBay() {
|
|
525
|
+
if (this.HasBombBay) {
|
|
526
|
+
CloseBombBayDoors(this.handle);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
setHeliYawPitchRollMult(mult) {
|
|
530
|
+
if (this.Model.IsHelicopter && mult >= 0 && mult <= 1) {
|
|
531
|
+
SetHelicopterRollPitchYawMult(this.handle, mult);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
set TowingCraneRaisedAmount(value) {
|
|
535
|
+
SetTowTruckCraneHeight(this.handle, value);
|
|
536
|
+
}
|
|
537
|
+
get TowedVehicle() {
|
|
538
|
+
return new Vehicle(GetEntityAttachedToTowTruck(this.handle));
|
|
539
|
+
}
|
|
540
|
+
towVehicle(vehicle, rear) {
|
|
541
|
+
AttachVehicleToTowTruck(this.handle, vehicle.Handle, rear, 0, 0, 0);
|
|
542
|
+
}
|
|
543
|
+
detachFromTowTruck() {
|
|
544
|
+
DetachVehicleFromAnyTowTruck(this.handle);
|
|
545
|
+
}
|
|
546
|
+
detachTowedVehicle() {
|
|
547
|
+
const vehicle = this.TowedVehicle;
|
|
548
|
+
if (Vehicle.exists(this.TowedVehicle)) {
|
|
549
|
+
DetachVehicleFromTowTruck(this.handle, vehicle.Handle);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
deform(position, damageAmount, radius) {
|
|
553
|
+
SetVehicleDamage(this.handle, position.x, position.y, position.z, damageAmount, radius, false);
|
|
554
|
+
}
|
|
555
|
+
get PassengerCapacity() {
|
|
556
|
+
return GetVehicleMaxNumberOfPassengers(this.handle);
|
|
557
|
+
}
|
|
558
|
+
get PassengerCount() {
|
|
559
|
+
return GetVehicleNumberOfPassengers(this.handle);
|
|
560
|
+
}
|
|
561
|
+
set RespotTimer(time) {
|
|
562
|
+
SetNetworkVehicleRespotTimer(this.NetworkId, time);
|
|
563
|
+
}
|
|
564
|
+
getHandlingFloat(fieldName) {
|
|
565
|
+
return GetVehicleHandlingFloat(this.handle, "CHandlingData", fieldName);
|
|
566
|
+
}
|
|
567
|
+
setHandlingFloat(fieldName, value) {
|
|
568
|
+
SetVehicleHandlingFloat(this.handle, "CHandlingData", fieldName, value);
|
|
569
|
+
}
|
|
570
|
+
getHandlingInt(fieldName) {
|
|
571
|
+
return GetVehicleHandlingInt(this.handle, "CHandlingData", fieldName);
|
|
572
|
+
}
|
|
573
|
+
setHandlingInt(fieldName, value) {
|
|
574
|
+
SetVehicleHandlingInt(this.handle, "CHandlingData", fieldName, Math.ceil(value));
|
|
575
|
+
}
|
|
576
|
+
getHandlingVector(fieldName) {
|
|
577
|
+
return Vector3.fromArray(GetVehicleHandlingVector(this.handle, "CHandlingData", fieldName));
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
export {
|
|
581
|
+
Vehicle
|
|
582
|
+
};
|
package/models/VehicleDoor.d.ts
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
class VehicleDoor {
|
|
4
|
+
static {
|
|
5
|
+
__name(this, "VehicleDoor");
|
|
6
|
+
}
|
|
7
|
+
_owner;
|
|
8
|
+
_index;
|
|
9
|
+
constructor(owner, index) {
|
|
10
|
+
this._owner = owner;
|
|
11
|
+
this._index = index;
|
|
12
|
+
}
|
|
13
|
+
get Index() {
|
|
14
|
+
return this._index;
|
|
15
|
+
}
|
|
16
|
+
set Index(index) {
|
|
17
|
+
this._index = index;
|
|
18
|
+
}
|
|
19
|
+
get AngleRatio() {
|
|
20
|
+
return GetVehicleDoorAngleRatio(this._owner.Handle, this.Index);
|
|
21
|
+
}
|
|
22
|
+
set AngleRatio(value) {
|
|
23
|
+
SetVehicleDoorControl(this._owner.Handle, this.Index, 1, value);
|
|
24
|
+
}
|
|
25
|
+
set CanBeBroken(value) {
|
|
26
|
+
SetVehicleDoorBreakable(this._owner.Handle, this.Index, value);
|
|
27
|
+
}
|
|
28
|
+
get IsOpen() {
|
|
29
|
+
return this.AngleRatio > 0;
|
|
30
|
+
}
|
|
31
|
+
get IsFullyOpen() {
|
|
32
|
+
return IsVehicleDoorFullyOpen(this._owner.Handle, this.Index);
|
|
33
|
+
}
|
|
34
|
+
get IsBroken() {
|
|
35
|
+
return IsVehicleDoorDamaged(this._owner.Handle, this.Index);
|
|
36
|
+
}
|
|
37
|
+
get Vehicle() {
|
|
38
|
+
return this._owner;
|
|
39
|
+
}
|
|
40
|
+
open(loose = false, instantly = false) {
|
|
41
|
+
SetVehicleDoorOpen(this._owner.Handle, this.Index, loose, instantly);
|
|
42
|
+
}
|
|
43
|
+
close(instantly = false) {
|
|
44
|
+
SetVehicleDoorShut(this._owner.Handle, this.Index, instantly);
|
|
45
|
+
}
|
|
46
|
+
break(stayInTheWorld = true) {
|
|
47
|
+
SetVehicleDoorBroken(this._owner.Handle, this.Index, stayInTheWorld);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
VehicleDoor
|
|
52
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { VehicleDoorIndex } from "fivem/enums/Vehicle";
|
|
4
|
+
import { VehicleDoor } from "./VehicleDoor";
|
|
5
|
+
class VehicleDoorCollection {
|
|
6
|
+
static {
|
|
7
|
+
__name(this, "VehicleDoorCollection");
|
|
8
|
+
}
|
|
9
|
+
_owner;
|
|
10
|
+
_vehicleDoors = /* @__PURE__ */ new Map();
|
|
11
|
+
constructor(owner) {
|
|
12
|
+
this._owner = owner;
|
|
13
|
+
}
|
|
14
|
+
getDoors(index) {
|
|
15
|
+
if (!this._vehicleDoors.has(index)) {
|
|
16
|
+
this._vehicleDoors.set(index, new VehicleDoor(this._owner, index));
|
|
17
|
+
}
|
|
18
|
+
return this._vehicleDoors.get(index);
|
|
19
|
+
}
|
|
20
|
+
getAllDoors() {
|
|
21
|
+
return Object.keys(VehicleDoorIndex).filter((key) => !isNaN(Number(key))).map((key) => {
|
|
22
|
+
const index = Number(key);
|
|
23
|
+
if (this.hasDoor(index)) {
|
|
24
|
+
return this.getDoors(index);
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}).filter((d) => d);
|
|
28
|
+
}
|
|
29
|
+
openAllDoors(loose, instantly) {
|
|
30
|
+
this.getAllDoors().forEach((door) => {
|
|
31
|
+
door?.open(loose, instantly);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
closeAllDoors(instantly) {
|
|
35
|
+
this.getAllDoors().forEach((door) => {
|
|
36
|
+
door?.close(instantly);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
breakAllDoors(stayInTheWorld) {
|
|
40
|
+
this.getAllDoors().forEach((door) => {
|
|
41
|
+
door?.break(stayInTheWorld);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
hasDoor(index) {
|
|
45
|
+
if (this._owner.Bones === void 0) return false;
|
|
46
|
+
switch (index) {
|
|
47
|
+
case VehicleDoorIndex.FrontLeftDoor:
|
|
48
|
+
return this._owner.Bones.hasBone("door_dside_f");
|
|
49
|
+
case VehicleDoorIndex.FrontRightDoor:
|
|
50
|
+
return this._owner.Bones.hasBone("door_pside_f");
|
|
51
|
+
case VehicleDoorIndex.BackLeftDoor:
|
|
52
|
+
return this._owner.Bones.hasBone("door_dside_r");
|
|
53
|
+
case VehicleDoorIndex.BackRightDoor:
|
|
54
|
+
return this._owner.Bones.hasBone("door_pside_r");
|
|
55
|
+
case VehicleDoorIndex.Hood:
|
|
56
|
+
return this._owner.Bones.hasBone("bonnet");
|
|
57
|
+
case VehicleDoorIndex.Trunk:
|
|
58
|
+
return this._owner.Bones.hasBone("boot");
|
|
59
|
+
default:
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
VehicleDoorCollection
|
|
66
|
+
};
|