@nativewrappers/redm-codegen 0.0.2 → 0.0.4
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/dist/classes/AnimScene.d.ts +101 -101
- package/dist/classes/AnimScene.d.ts.map +1 -1
- package/dist/classes/AnimScene.js +147 -147
- package/dist/classes/BaseModel.d.ts +12 -12
- package/dist/classes/BaseModel.d.ts.map +1 -1
- package/dist/classes/BaseModel.js +18 -18
- package/dist/classes/BaseTask.d.ts +22 -22
- package/dist/classes/BaseTask.d.ts.map +1 -1
- package/dist/classes/BaseTask.js +29 -29
- package/dist/classes/Cam.d.ts +86 -86
- package/dist/classes/Cam.d.ts.map +1 -1
- package/dist/classes/Cam.js +116 -116
- package/dist/classes/Entity.d.ts +426 -425
- package/dist/classes/Entity.d.ts.map +1 -1
- package/dist/classes/Entity.js +594 -589
- package/dist/classes/Interior.d.ts +1 -1
- package/dist/classes/Interior.d.ts.map +1 -1
- package/dist/classes/Ped.d.ts +13 -12
- package/dist/classes/Ped.d.ts.map +1 -1
- package/dist/classes/Ped.js +5 -0
- package/dist/classes/PedTask.d.ts +729 -729
- package/dist/classes/PedTask.d.ts.map +1 -1
- package/dist/classes/PedTask.js +951 -951
- package/dist/classes/PersChar.d.ts +11 -11
- package/dist/classes/PersChar.d.ts.map +1 -1
- package/dist/classes/PersChar.js +17 -17
- package/dist/classes/Pickup.d.ts +3 -3
- package/dist/classes/Pickup.d.ts.map +1 -1
- package/dist/classes/Pickup.js +7 -7
- package/dist/classes/Player.d.ts +164 -164
- package/dist/classes/Player.d.ts.map +1 -1
- package/dist/classes/Player.js +218 -218
- package/dist/classes/Prop.d.ts +87 -86
- package/dist/classes/Prop.d.ts.map +1 -1
- package/dist/classes/Prop.js +131 -126
- package/dist/classes/PropSet.d.ts +18 -18
- package/dist/classes/PropSet.d.ts.map +1 -1
- package/dist/classes/PropSet.js +25 -25
- package/dist/classes/Vehicle.d.ts +1 -0
- package/dist/classes/Vehicle.d.ts.map +1 -1
- package/dist/classes/Vehicle.js +5 -0
- package/dist/classes/VehicleTask.d.ts +18 -18
- package/dist/classes/VehicleTask.d.ts.map +1 -1
- package/dist/classes/VehicleTask.js +26 -26
- package/dist/classes/Volume.d.ts +1 -1
- package/dist/classes/Volume.d.ts.map +1 -1
- package/dist/classes/Weapon.d.ts +277 -277
- package/dist/classes/Weapon.d.ts.map +1 -1
- package/dist/classes/Weapon.js +398 -398
- package/dist/namespaces/Aitransport.d.ts +77 -77
- package/dist/namespaces/Aitransport.d.ts.map +1 -1
- package/dist/namespaces/Aitransport.js +94 -94
- package/dist/namespaces/Animscene.d.ts +51 -51
- package/dist/namespaces/Animscene.d.ts.map +1 -1
- package/dist/namespaces/Animscene.js +69 -69
- package/dist/namespaces/Audio.d.ts +2 -2
- package/dist/namespaces/Audio.d.ts.map +1 -1
- package/dist/namespaces/Bounty.d.ts +57 -57
- package/dist/namespaces/Bounty.d.ts.map +1 -1
- package/dist/namespaces/Bounty.js +90 -90
- package/dist/namespaces/Brain.d.ts +15 -15
- package/dist/namespaces/Brain.d.ts.map +1 -1
- package/dist/namespaces/Brain.js +20 -20
- package/dist/namespaces/CamStatics.d.ts +317 -317
- package/dist/namespaces/CamStatics.d.ts.map +1 -1
- package/dist/namespaces/CamStatics.js +449 -449
- package/dist/namespaces/Collection.d.ts +13 -13
- package/dist/namespaces/Collection.d.ts.map +1 -1
- package/dist/namespaces/Collection.js +8 -8
- package/dist/namespaces/Companion.d.ts +22 -22
- package/dist/namespaces/Companion.d.ts.map +1 -1
- package/dist/namespaces/Companion.js +30 -30
- package/dist/namespaces/Compendium.d.ts +60 -60
- package/dist/namespaces/Compendium.d.ts.map +1 -1
- package/dist/namespaces/Compendium.js +80 -80
- package/dist/namespaces/Crashlog.d.ts +10 -10
- package/dist/namespaces/Crashlog.d.ts.map +1 -1
- package/dist/namespaces/Crashlog.js +14 -14
- package/dist/namespaces/Databinding.d.ts +173 -173
- package/dist/namespaces/Databinding.d.ts.map +1 -1
- package/dist/namespaces/Databinding.js +263 -263
- package/dist/namespaces/Dlc.d.ts +5 -5
- package/dist/namespaces/Dlc.d.ts.map +1 -1
- package/dist/namespaces/Dlc.js +9 -9
- package/dist/namespaces/EntityStatics.d.ts +178 -178
- package/dist/namespaces/EntityStatics.d.ts.map +1 -1
- package/dist/namespaces/EntityStatics.js +242 -242
- package/dist/namespaces/Event.d.ts +62 -62
- package/dist/namespaces/Event.d.ts.map +1 -1
- package/dist/namespaces/Event.js +82 -82
- package/dist/namespaces/Fire.d.ts +7 -7
- package/dist/namespaces/Fire.d.ts.map +1 -1
- package/dist/namespaces/Fire.js +9 -9
- package/dist/namespaces/Graphics.d.ts +797 -797
- package/dist/namespaces/Graphics.d.ts.map +1 -1
- package/dist/namespaces/Graphics.js +1095 -1095
- package/dist/namespaces/Hud.d.ts +477 -477
- package/dist/namespaces/Hud.d.ts.map +1 -1
- package/dist/namespaces/Hud.js +721 -721
- package/dist/namespaces/InteriorStatics.d.ts +2 -2
- package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
- package/dist/namespaces/Inventory.d.ts +216 -216
- package/dist/namespaces/Inventory.d.ts.map +1 -1
- package/dist/namespaces/Inventory.js +301 -301
- package/dist/namespaces/Itemdatabase.d.ts +8 -8
- package/dist/namespaces/Itemdatabase.d.ts.map +1 -1
- package/dist/namespaces/Itemdatabase.js +7 -7
- package/dist/namespaces/Law.d.ts +2 -2
- package/dist/namespaces/Law.d.ts.map +1 -1
- package/dist/namespaces/Map.d.ts +65 -65
- package/dist/namespaces/Map.d.ts.map +1 -1
- package/dist/namespaces/Map.js +91 -91
- package/dist/namespaces/Minigame.d.ts +17 -17
- package/dist/namespaces/Minigame.d.ts.map +1 -1
- package/dist/namespaces/Minigame.js +25 -25
- package/dist/namespaces/Misc.d.ts +5 -5
- package/dist/namespaces/Misc.d.ts.map +1 -1
- package/dist/namespaces/Missiondata.d.ts +3 -3
- package/dist/namespaces/Missiondata.d.ts.map +1 -1
- package/dist/namespaces/Netshopping.d.ts +1 -1
- package/dist/namespaces/Netshopping.d.ts.map +1 -1
- package/dist/namespaces/Network.d.ts +1302 -1310
- package/dist/namespaces/Network.d.ts.map +1 -1
- package/dist/namespaces/Network.js +1910 -1918
- package/dist/namespaces/Object.d.ts +170 -170
- package/dist/namespaces/Object.d.ts.map +1 -1
- package/dist/namespaces/Object.js +232 -232
- package/dist/namespaces/Pad.d.ts +103 -103
- package/dist/namespaces/Pad.d.ts.map +1 -1
- package/dist/namespaces/Pad.js +134 -134
- package/dist/namespaces/PedStatics.d.ts +3 -3
- package/dist/namespaces/PedStatics.d.ts.map +1 -1
- package/dist/namespaces/Perschar.d.ts +71 -71
- package/dist/namespaces/Perschar.d.ts.map +1 -1
- package/dist/namespaces/Perschar.js +106 -106
- package/dist/namespaces/Persistence.d.ts +30 -30
- package/dist/namespaces/Persistence.d.ts.map +1 -1
- package/dist/namespaces/Persistence.js +42 -42
- package/dist/namespaces/PlayerStatics.d.ts +52 -52
- package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
- package/dist/namespaces/PlayerStatics.js +71 -71
- package/dist/namespaces/Population.d.ts +3 -3
- package/dist/namespaces/Population.d.ts.map +1 -1
- package/dist/namespaces/Posse.d.ts +28 -28
- package/dist/namespaces/Posse.d.ts.map +1 -1
- package/dist/namespaces/Posse.js +44 -44
- package/dist/namespaces/Propset.d.ts +59 -59
- package/dist/namespaces/Propset.d.ts.map +1 -1
- package/dist/namespaces/Propset.js +81 -81
- package/dist/namespaces/Scripts.d.ts +3 -3
- package/dist/namespaces/Scripts.d.ts.map +1 -1
- package/dist/namespaces/Socialclub.d.ts +1 -1
- package/dist/namespaces/Socialclub.d.ts.map +1 -1
- package/dist/namespaces/Stats.d.ts +85 -85
- package/dist/namespaces/Stats.d.ts.map +1 -1
- package/dist/namespaces/Stats.js +113 -113
- package/dist/namespaces/Streaming.d.ts +35 -35
- package/dist/namespaces/Streaming.d.ts.map +1 -1
- package/dist/namespaces/Streaming.js +53 -53
- package/dist/namespaces/Task.d.ts +367 -367
- package/dist/namespaces/Task.d.ts.map +1 -1
- package/dist/namespaces/Task.js +508 -508
- package/dist/namespaces/Telemetry.d.ts +198 -198
- package/dist/namespaces/Telemetry.d.ts.map +1 -1
- package/dist/namespaces/Telemetry.js +274 -274
- package/dist/namespaces/Uiapps.d.ts +24 -24
- package/dist/namespaces/Uiapps.d.ts.map +1 -1
- package/dist/namespaces/Uiapps.js +33 -33
- package/dist/namespaces/Uistickyfeed.d.ts +16 -16
- package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
- package/dist/namespaces/Uistickyfeed.js +21 -21
- package/dist/namespaces/VehicleStatics.d.ts +2 -2
- package/dist/namespaces/VehicleStatics.d.ts.map +1 -1
- package/dist/namespaces/Water.d.ts +27 -27
- package/dist/namespaces/Water.d.ts.map +1 -1
- package/dist/namespaces/Water.js +41 -41
- package/dist/namespaces/WeaponStatics.d.ts +250 -250
- package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
- package/dist/namespaces/WeaponStatics.js +372 -372
- package/dist/namespaces/Zone.d.ts +8 -8
- package/dist/namespaces/Zone.d.ts.map +1 -1
- package/dist/namespaces/Zone.js +9 -9
- package/package.json +1 -1
- package/src/classes/AnimScene.ts +170 -170
- package/src/classes/BaseModel.ts +21 -21
- package/src/classes/BaseTask.ts +31 -31
- package/src/classes/Cam.ts +124 -124
- package/src/classes/Entity.ts +619 -614
- package/src/classes/Interior.ts +1 -1
- package/src/classes/Ped.ts +17 -12
- package/src/classes/PedTask.ts +1011 -1011
- package/src/classes/PersChar.ts +19 -19
- package/src/classes/Pickup.ts +8 -8
- package/src/classes/Player.ts +227 -227
- package/src/classes/Prop.ts +146 -141
- package/src/classes/PropSet.ts +29 -29
- package/src/classes/Vehicle.ts +5 -0
- package/src/classes/VehicleTask.ts +30 -30
- package/src/classes/Volume.ts +1 -1
- package/src/classes/Weapon.ts +414 -414
- package/src/namespaces/Aitransport.ts +102 -102
- package/src/namespaces/Animscene.ts +78 -78
- package/src/namespaces/Audio.ts +2 -2
- package/src/namespaces/Bounty.ts +102 -102
- package/src/namespaces/Brain.ts +22 -22
- package/src/namespaces/CamStatics.ts +501 -501
- package/src/namespaces/Collection.ts +16 -16
- package/src/namespaces/Companion.ts +34 -34
- package/src/namespaces/Compendium.ts +93 -93
- package/src/namespaces/Crashlog.ts +16 -16
- package/src/namespaces/Databinding.ts +280 -280
- package/src/namespaces/Dlc.ts +9 -9
- package/src/namespaces/EntityStatics.ts +249 -249
- package/src/namespaces/Event.ts +92 -92
- package/src/namespaces/Fire.ts +10 -10
- package/src/namespaces/Graphics.ts +1155 -1155
- package/src/namespaces/Hud.ts +763 -763
- package/src/namespaces/InteriorStatics.ts +2 -2
- package/src/namespaces/Inventory.ts +321 -321
- package/src/namespaces/Itemdatabase.ts +11 -11
- package/src/namespaces/Law.ts +2 -2
- package/src/namespaces/Map.ts +104 -104
- package/src/namespaces/Minigame.ts +29 -29
- package/src/namespaces/Misc.ts +5 -5
- package/src/namespaces/Missiondata.ts +3 -3
- package/src/namespaces/Netshopping.ts +1 -1
- package/src/namespaces/Network.ts +1921 -1929
- package/src/namespaces/Object.ts +237 -237
- package/src/namespaces/Pad.ts +151 -151
- package/src/namespaces/PedStatics.ts +3 -3
- package/src/namespaces/Perschar.ts +116 -116
- package/src/namespaces/Persistence.ts +48 -48
- package/src/namespaces/PlayerStatics.ts +75 -75
- package/src/namespaces/Population.ts +3 -3
- package/src/namespaces/Posse.ts +47 -47
- package/src/namespaces/Propset.ts +92 -92
- package/src/namespaces/Scripts.ts +3 -3
- package/src/namespaces/Socialclub.ts +1 -1
- package/src/namespaces/Stats.ts +129 -129
- package/src/namespaces/Streaming.ts +62 -62
- package/src/namespaces/Task.ts +538 -538
- package/src/namespaces/Telemetry.ts +295 -295
- package/src/namespaces/Uiapps.ts +39 -39
- package/src/namespaces/Uistickyfeed.ts +23 -23
- package/src/namespaces/VehicleStatics.ts +2 -2
- package/src/namespaces/Water.ts +47 -47
- package/src/namespaces/WeaponStatics.ts +394 -394
- package/src/namespaces/Zone.ts +11 -11
package/dist/classes/Entity.js
CHANGED
|
@@ -8,253 +8,311 @@ export class Entity {
|
|
|
8
8
|
static fromHandle(handle) {
|
|
9
9
|
return handle === 0 ? null : new Entity(handle);
|
|
10
10
|
}
|
|
11
|
+
static fromNetworkId(netId) {
|
|
12
|
+
if (!inv('0x38CE16C96BD11F2C', netId, rai()))
|
|
13
|
+
return null;
|
|
14
|
+
return Entity.fromHandle(inv('0x5B912C3F653822E6', netId, rai()));
|
|
15
|
+
}
|
|
11
16
|
/**
|
|
12
|
-
* @param targetEntity
|
|
13
17
|
* @returns
|
|
14
18
|
*/
|
|
15
|
-
|
|
16
|
-
return inv('
|
|
17
|
-
}
|
|
18
|
-
deleteCarriable() {
|
|
19
|
-
inv('0x0D0DB2B6AF19A987', this.handle);
|
|
19
|
+
getIsBird() {
|
|
20
|
+
return inv('0xC346A546612C49A9', this.handle);
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
+
* Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
|
|
23
24
|
*
|
|
24
|
-
* @param animDict
|
|
25
|
-
* @param animName
|
|
26
25
|
* @returns
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
|
-
return inv('
|
|
27
|
+
getForwardVectorYx() {
|
|
28
|
+
return Vector3.fromArray(inv('0x935A30AA88FB1014', this.handle, rav()));
|
|
30
29
|
}
|
|
31
30
|
/**
|
|
32
|
-
* @param
|
|
33
|
-
* @param
|
|
31
|
+
* @param pos
|
|
32
|
+
* @param xAxis
|
|
33
|
+
* @param yAxis
|
|
34
|
+
* @param zAxis
|
|
35
|
+
* @param clearArea
|
|
34
36
|
*/
|
|
35
|
-
|
|
36
|
-
inv('
|
|
37
|
+
setCoords(pos, xAxis, yAxis, zAxis, clearArea) {
|
|
38
|
+
inv('0x06843DA7060A026B', this.handle, f(pos.x), f(pos.y), f(pos.z), xAxis, yAxis, zAxis, clearArea);
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
+
* @param boneName
|
|
41
42
|
* @returns
|
|
42
43
|
*/
|
|
43
|
-
|
|
44
|
-
return inv('
|
|
44
|
+
getBoneIndexByName(boneName) {
|
|
45
|
+
return inv('0xBACA8FE9C76C124E', this.handle, boneName, rai());
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
47
|
-
* @param
|
|
48
|
+
* @param pause
|
|
48
49
|
*/
|
|
49
|
-
|
|
50
|
-
inv('
|
|
50
|
+
pauseTracking(pause) {
|
|
51
|
+
inv('0x36EB4D34D4A092C5', this.handle, pause);
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
53
|
-
* @
|
|
54
|
+
* @param toggle
|
|
54
55
|
*/
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
setLoadCollisionFlag(toggle) {
|
|
57
|
+
inv('0x9B9EE31AED48072E', this.handle, toggle);
|
|
57
58
|
}
|
|
58
59
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
60
|
+
* Changes type and quality of skins
|
|
61
|
+
* type hashes: https://pastebin.com/C1WvQjCy
|
|
62
|
+
*
|
|
63
|
+
* @param type
|
|
61
64
|
*/
|
|
62
|
-
|
|
63
|
-
inv('
|
|
65
|
+
setCarcassType(type) {
|
|
66
|
+
inv('0x399657ED871B3A6C', this.handle, _h(type));
|
|
64
67
|
}
|
|
65
68
|
/**
|
|
66
|
-
* @
|
|
69
|
+
* @param toggle
|
|
67
70
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
setHasGravity(toggle) {
|
|
72
|
+
inv('0x0CEDB728A1083FA7', this.handle, toggle);
|
|
70
73
|
}
|
|
71
74
|
/**
|
|
72
|
-
* @param
|
|
73
|
-
* @param traceType
|
|
75
|
+
* @param relative
|
|
74
76
|
* @returns
|
|
75
77
|
*/
|
|
76
|
-
|
|
77
|
-
return inv('
|
|
78
|
+
getSpeedVector(relative) {
|
|
79
|
+
return Vector3.fromArray(inv('0xF2DB09816A419DC5', this.handle, relative, rav()));
|
|
78
80
|
}
|
|
79
81
|
/**
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* @param animDict
|
|
84
|
-
* @param animClip
|
|
82
|
+
* @param entity2
|
|
83
|
+
* @param p2
|
|
84
|
+
* @param p3
|
|
85
85
|
* @returns
|
|
86
86
|
*/
|
|
87
|
-
|
|
88
|
-
return inv('
|
|
87
|
+
hasBeenDamagedByEntity(entity2, p2, p3) {
|
|
88
|
+
return inv('0x7B6E7BEC1143AC86', this.handle, entity2.handle, p2, p3, rai());
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
|
-
* @param playerPedToIgnore
|
|
92
|
-
* @param flags
|
|
93
91
|
* @returns
|
|
94
92
|
*/
|
|
95
|
-
|
|
96
|
-
return
|
|
93
|
+
isFullyLooted() {
|
|
94
|
+
return inv('0x8DE41E9902E85756', this.handle);
|
|
97
95
|
}
|
|
98
96
|
/**
|
|
99
|
-
* Gets the Y-component of the entity's forward vector.
|
|
100
|
-
*
|
|
101
97
|
* @returns
|
|
102
98
|
*/
|
|
103
|
-
|
|
104
|
-
return inv('
|
|
99
|
+
isOccluded() {
|
|
100
|
+
return inv('0x140188E884645624', this.handle, rai());
|
|
105
101
|
}
|
|
106
102
|
/**
|
|
107
|
-
* @param
|
|
108
|
-
* @param roll
|
|
109
|
-
* @param yaw
|
|
110
|
-
* @param rotationOrder
|
|
111
|
-
* @param p5
|
|
103
|
+
* @param toggle
|
|
112
104
|
*/
|
|
113
|
-
|
|
114
|
-
inv('
|
|
105
|
+
setCanBeDamaged(toggle) {
|
|
106
|
+
inv('0x0D06D522B90E861F', this.handle, toggle);
|
|
115
107
|
}
|
|
116
108
|
/**
|
|
117
|
-
* @param
|
|
118
|
-
* @param
|
|
109
|
+
* @param forceFlags
|
|
110
|
+
* @param pos
|
|
111
|
+
* @param offset
|
|
112
|
+
* @param boneIndex
|
|
113
|
+
* @param isDirectionRel
|
|
114
|
+
* @param ignoreUpVec
|
|
115
|
+
* @param isForceRel
|
|
116
|
+
* @param p12
|
|
117
|
+
* @param p13
|
|
119
118
|
*/
|
|
120
|
-
|
|
121
|
-
inv('
|
|
119
|
+
applyForceToEntity(forceFlags, pos, offset, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13) {
|
|
120
|
+
inv('0xF15E8F5D333F09C4', this.handle, forceFlags, f(pos.x), f(pos.y), f(pos.z), f(offset.x), f(offset.y), f(offset.z), boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13);
|
|
122
121
|
}
|
|
123
122
|
/**
|
|
124
|
-
*
|
|
125
|
-
* BOOL p2: handles an additional special proofs flag, so it simply indicates whether it should be enabled or disabled, not sure what exactly it proofs the entity from though
|
|
126
|
-
*
|
|
127
|
-
* @param proofsBitset
|
|
128
|
-
* @param specialFlag
|
|
123
|
+
* @returns
|
|
129
124
|
*/
|
|
130
|
-
|
|
131
|
-
inv('
|
|
125
|
+
isDead() {
|
|
126
|
+
return inv('0x7D5B1F88E7504BBA', this.handle, rai());
|
|
132
127
|
}
|
|
133
128
|
/**
|
|
129
|
+
* @param pos1
|
|
130
|
+
* @param pos2
|
|
131
|
+
* @param p7
|
|
132
|
+
* @param p8
|
|
133
|
+
* @param p9
|
|
134
134
|
* @returns
|
|
135
135
|
*/
|
|
136
|
-
|
|
137
|
-
return inv('
|
|
136
|
+
isInArea(pos1, pos2, p7, p8, p9) {
|
|
137
|
+
return inv('0x0C2634C40A16193E', this.handle, f(pos1.x), f(pos1.y), f(pos1.z), f(pos2.x), f(pos2.y), f(pos2.z), p7, p8, p9, rai());
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
|
+
* Returns the coordinates of an entity-bone.
|
|
141
|
+
* https://github.com/femga/rdr3_discoveries/tree/master/boneNames
|
|
142
|
+
*
|
|
143
|
+
* @param boneIndex
|
|
140
144
|
* @returns
|
|
141
145
|
*/
|
|
142
|
-
|
|
143
|
-
return inv('
|
|
146
|
+
getWorldPositionOfBone(boneIndex) {
|
|
147
|
+
return Vector3.fromArray(inv('0x82CFA50E34681CA5', this.handle, boneIndex, rav()));
|
|
144
148
|
}
|
|
145
149
|
/**
|
|
146
|
-
*
|
|
150
|
+
* https://github.com/femga/rdr3_discoveries/tree/master/animations
|
|
151
|
+
*
|
|
152
|
+
* @param animName
|
|
153
|
+
* @param animDict
|
|
154
|
+
* @param p3
|
|
155
|
+
* @param loop
|
|
156
|
+
* @param stayInAnim
|
|
157
|
+
* @param p6
|
|
158
|
+
* @param delta
|
|
159
|
+
* @param bitset
|
|
147
160
|
* @returns
|
|
148
161
|
*/
|
|
149
|
-
|
|
150
|
-
return
|
|
162
|
+
playAnim(animName, animDict, p3, loop, stayInAnim, p6, delta, bitset) {
|
|
163
|
+
return inv('0xDC6D22FAB76D4874', this.handle, animName, animDict, f(p3), loop, stayInAnim, p6, f(delta), bitset, rai());
|
|
151
164
|
}
|
|
152
165
|
/**
|
|
153
|
-
*
|
|
166
|
+
* Returns false if entity is not a ped or object.
|
|
167
|
+
*
|
|
168
|
+
* @returns lootTable
|
|
154
169
|
*/
|
|
155
|
-
|
|
156
|
-
inv('
|
|
170
|
+
getScriptOverrideLootTablePermanent() {
|
|
171
|
+
const result = inv('0x1E804EA9B12030A4', this.handle, pvi());
|
|
172
|
+
return [result[0], result[1]];
|
|
157
173
|
}
|
|
158
174
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* @param lootTable
|
|
175
|
+
* @param animDict
|
|
176
|
+
* @param animName
|
|
177
|
+
* @param p3
|
|
163
178
|
* @returns
|
|
164
179
|
*/
|
|
165
|
-
|
|
166
|
-
return inv('
|
|
180
|
+
hasAnimFinished(animDict, animName, p3) {
|
|
181
|
+
return inv('0xAEB40615337EF1E3', this.handle, animDict, animName, p3, rai());
|
|
167
182
|
}
|
|
168
183
|
/**
|
|
169
|
-
* @
|
|
184
|
+
* @param bCanBeDamaged
|
|
185
|
+
* @param relGroup
|
|
170
186
|
*/
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
return [result[0] & 0xFFFFFFFF, result[1]];
|
|
187
|
+
setCanBeDamagedByRelationshipGroup(bCanBeDamaged, relGroup) {
|
|
188
|
+
inv('0x0EF1AFB18649E015', this.handle, bCanBeDamaged, _h(relGroup));
|
|
174
189
|
}
|
|
175
190
|
/**
|
|
176
|
-
* @param actionHash
|
|
177
191
|
* @returns
|
|
178
192
|
*/
|
|
179
|
-
|
|
180
|
-
return inv('
|
|
193
|
+
getUprightValue() {
|
|
194
|
+
return inv('0x56398BE65160C3BE', this.handle, raf());
|
|
181
195
|
}
|
|
182
196
|
/**
|
|
183
|
-
* @param
|
|
197
|
+
* @param pos
|
|
198
|
+
* @param heading
|
|
199
|
+
* @param xAxis
|
|
200
|
+
* @param yAxis
|
|
201
|
+
* @param zAxis
|
|
184
202
|
*/
|
|
185
|
-
|
|
186
|
-
inv('
|
|
203
|
+
setCoordsAndHeading(pos, heading, xAxis, yAxis, zAxis) {
|
|
204
|
+
inv('0x203BEFFDBE12E96A', this.handle, f(pos.x), f(pos.y), f(pos.z), f(heading), xAxis, yAxis, zAxis);
|
|
187
205
|
}
|
|
188
206
|
/**
|
|
189
|
-
*
|
|
207
|
+
* Returns zero if the entity is not a carriable
|
|
190
208
|
*
|
|
191
209
|
* @returns
|
|
192
210
|
*/
|
|
193
|
-
|
|
194
|
-
return inv('
|
|
211
|
+
getCarryConfig() {
|
|
212
|
+
return (inv('0x0FD25587BB306C86', this.handle, rai())) & 0xFFFFFFFF;
|
|
195
213
|
}
|
|
196
214
|
/**
|
|
197
|
-
*
|
|
215
|
+
* tier: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityThreatTier
|
|
198
216
|
*
|
|
199
|
-
* @
|
|
217
|
+
* @param tier
|
|
218
|
+
* @param p2
|
|
200
219
|
*/
|
|
201
|
-
|
|
202
|
-
|
|
220
|
+
setThreatTier(tier, p2) {
|
|
221
|
+
inv('0x4B436BAC8CBE9B07', this.handle, tier, p2);
|
|
203
222
|
}
|
|
204
223
|
/**
|
|
224
|
+
* Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
|
|
225
|
+
*
|
|
205
226
|
* @returns
|
|
206
227
|
*/
|
|
207
|
-
|
|
208
|
-
return inv('
|
|
228
|
+
getHeading() {
|
|
229
|
+
return inv('0xC230DD956E2F5507', this.handle, raf());
|
|
209
230
|
}
|
|
210
231
|
/**
|
|
211
|
-
*
|
|
232
|
+
* Returns the LOD distance of an entity.
|
|
212
233
|
*
|
|
213
234
|
* @returns
|
|
214
235
|
*/
|
|
215
|
-
|
|
216
|
-
return inv('
|
|
236
|
+
getLodDist() {
|
|
237
|
+
return inv('0xDF240D0C2A948683', this.handle, rai());
|
|
217
238
|
}
|
|
218
239
|
/**
|
|
219
240
|
* @returns
|
|
220
241
|
*/
|
|
221
|
-
|
|
222
|
-
return inv('
|
|
242
|
+
doesHaveDrawable() {
|
|
243
|
+
return inv('0x20487F0DA9AF164A', this.handle, rai());
|
|
223
244
|
}
|
|
224
245
|
/**
|
|
225
|
-
* @
|
|
246
|
+
* @param xyzw
|
|
226
247
|
*/
|
|
227
|
-
|
|
228
|
-
|
|
248
|
+
setQuaternion(xyzw) {
|
|
249
|
+
inv('0x100E7007D13E3687', this.handle, f(xyzw.x), f(xyzw.y), f(xyzw.z), f(xyzw.w));
|
|
229
250
|
}
|
|
230
251
|
/**
|
|
231
252
|
* @returns
|
|
232
253
|
*/
|
|
233
|
-
|
|
234
|
-
return inv('
|
|
254
|
+
isAttachedToAnyObject() {
|
|
255
|
+
return inv('0x306C1F6178F01AB3', this.handle, rai());
|
|
235
256
|
}
|
|
236
257
|
/**
|
|
237
|
-
*
|
|
258
|
+
* Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions.
|
|
238
259
|
*
|
|
260
|
+
* @param toggle
|
|
261
|
+
*/
|
|
262
|
+
setInvincible(toggle) {
|
|
263
|
+
inv('0xA5C38736C426FCB8', this.handle, toggle);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Attaches entity1 to bone (boneIndex) of entity2. boneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type.
|
|
267
|
+
* https://github.com/femga/rdr3_discoveries/tree/master/boneNames useSoftPinning - if set to false attached entity will not detach when fixed
|
|
268
|
+
* collision - controls collision between the two entities (FALSE disables collision).
|
|
269
|
+
* isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds)
|
|
270
|
+
* vertexIndex - position of vertex
|
|
271
|
+
* fixedRot - if false it ignores entity vector
|
|
272
|
+
*
|
|
273
|
+
* @param entity2
|
|
274
|
+
* @param boneIndex
|
|
275
|
+
* @param pos
|
|
276
|
+
* @param rot
|
|
277
|
+
* @param p9
|
|
278
|
+
* @param useSoftPinning
|
|
279
|
+
* @param collision
|
|
280
|
+
* @param isPed
|
|
281
|
+
* @param vertexIndex
|
|
282
|
+
* @param fixedRot
|
|
283
|
+
* @param p15
|
|
284
|
+
* @param p16
|
|
285
|
+
*/
|
|
286
|
+
attachToEntity(entity2, boneIndex, pos, rot, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16) {
|
|
287
|
+
inv('0x6B9BBD38AB0796DF', this.handle, entity2.handle, boneIndex, f(pos.x), f(pos.y), f(pos.z), f(rot.x), f(rot.y), f(rot.z), p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15, p16);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
239
290
|
* @returns
|
|
240
291
|
*/
|
|
241
|
-
|
|
242
|
-
return
|
|
292
|
+
getIsAnimal() {
|
|
293
|
+
return inv('0x9A100F1CF4546629', this.handle);
|
|
243
294
|
}
|
|
244
295
|
/**
|
|
245
|
-
*
|
|
296
|
+
* p6/relative - makes the xyz force not relative to world coords, but to something else
|
|
297
|
+
* p7/highForce - setting false will make the force really low
|
|
298
|
+
*
|
|
299
|
+
* @param forceType
|
|
300
|
+
* @param pos
|
|
301
|
+
* @param component
|
|
302
|
+
* @param isDirectionRel
|
|
303
|
+
* @param isForceRel
|
|
304
|
+
* @param p8
|
|
246
305
|
*/
|
|
247
|
-
|
|
248
|
-
inv('
|
|
306
|
+
applyForceToCenterOfMass(forceType, pos, component, isDirectionRel, isForceRel, p8) {
|
|
307
|
+
inv('0x31DA7CEC5334DB37', this.handle, forceType, f(pos.x), f(pos.y), f(pos.z), component, isDirectionRel, isForceRel, p8);
|
|
249
308
|
}
|
|
250
309
|
/**
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
* @param flags
|
|
310
|
+
* Old name: _GET_ENTITY_CAN_BE_DAMAGED
|
|
311
|
+
*
|
|
254
312
|
* @returns
|
|
255
313
|
*/
|
|
256
|
-
|
|
257
|
-
return
|
|
314
|
+
getCanBeDamaged() {
|
|
315
|
+
return inv('0x75DF9E73F2F005FD', this.handle);
|
|
258
316
|
}
|
|
259
317
|
/**
|
|
260
318
|
* @param p1
|
|
@@ -329,113 +387,78 @@ export class Entity {
|
|
|
329
387
|
return createFromHandle('Player', inv('0x6888A43C35A5F630', this.handle, rai()));
|
|
330
388
|
}
|
|
331
389
|
/**
|
|
332
|
-
*
|
|
333
|
-
* {
|
|
334
|
-
* CARRIABLE_STATE_NONE,
|
|
335
|
-
* CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED,
|
|
336
|
-
* CARRIABLE_STATE_CARRIABLE_INTRO,
|
|
337
|
-
* CARRIABLE_STATE_CARRIABLE,
|
|
338
|
-
* CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND,
|
|
339
|
-
* CARRIABLE_STATE_CARRIED_BY_HUMAN,
|
|
340
|
-
* CARRIABLE_STATE_BEING_PLACED_ON_GROUND,
|
|
341
|
-
* CARRIABLE_STATE_CARRIED_BY_MOUNT,
|
|
342
|
-
* CARRIABLE_STATE_BEING_PLACED_ON_MOUNT,
|
|
343
|
-
* CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT,
|
|
344
|
-
* CARRIABLE_STATE_BEING_CUT_FREE,
|
|
345
|
-
* CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE,
|
|
346
|
-
* CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE
|
|
347
|
-
* };
|
|
348
|
-
*
|
|
349
|
-
* @returns
|
|
390
|
+
* @param p1
|
|
350
391
|
*/
|
|
351
|
-
|
|
352
|
-
|
|
392
|
+
N_0xA48E4801DEBDF7E4(p1) {
|
|
393
|
+
inv('0xA48E4801DEBDF7E4', this.handle, p1);
|
|
353
394
|
}
|
|
354
395
|
/**
|
|
355
|
-
* @param
|
|
396
|
+
* @param toggle
|
|
397
|
+
* @param keepPhysics
|
|
356
398
|
*/
|
|
357
|
-
|
|
358
|
-
inv('
|
|
399
|
+
setCompletelyDisableCollision(toggle, keepPhysics) {
|
|
400
|
+
inv('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
|
|
359
401
|
}
|
|
360
402
|
/**
|
|
361
|
-
* Params: p1 (probably animType) = 1, 0
|
|
362
|
-
*
|
|
363
403
|
* @param p1
|
|
364
|
-
* @returns
|
|
365
404
|
*/
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* @param enabled
|
|
371
|
-
*/
|
|
372
|
-
setLightsEnabled(enabled) {
|
|
373
|
-
inv('0xEBDC12861D079ABA', this.handle, enabled);
|
|
405
|
+
N_0xCDB682BB47C02F0A(p1) {
|
|
406
|
+
inv('0xCDB682BB47C02F0A', this.handle, _h(p1));
|
|
374
407
|
}
|
|
375
408
|
/**
|
|
376
|
-
*
|
|
377
|
-
*
|
|
378
|
-
*
|
|
379
|
-
*
|
|
380
|
-
* @param offset
|
|
409
|
+
* @param volume
|
|
410
|
+
* @param p2
|
|
411
|
+
* @param p3
|
|
381
412
|
* @returns
|
|
382
413
|
*/
|
|
383
|
-
|
|
384
|
-
return
|
|
414
|
+
isInVolume(volume, p2, p3) {
|
|
415
|
+
return inv('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
|
|
385
416
|
}
|
|
386
417
|
/**
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
* @param entity2
|
|
390
|
-
* @param xSize
|
|
391
|
-
* @param ySize
|
|
392
|
-
* @param zSize
|
|
393
|
-
* @param p5
|
|
394
|
-
* @param p6
|
|
395
|
-
* @param p7
|
|
396
|
-
* @returns
|
|
418
|
+
* @returns rightVector; forwardVector; upVector; position
|
|
397
419
|
*/
|
|
398
|
-
|
|
399
|
-
|
|
420
|
+
getMatrix() {
|
|
421
|
+
const result = inv('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
|
|
422
|
+
return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
|
|
400
423
|
}
|
|
401
424
|
/**
|
|
402
|
-
*
|
|
425
|
+
* Called if entity is in water and submerged level is larger than 1f. If CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION is true, it gets disabled as well.
|
|
403
426
|
*/
|
|
404
|
-
|
|
405
|
-
inv('
|
|
427
|
+
N_0x371D179701D9C082() {
|
|
428
|
+
inv('0x371D179701D9C082', this.handle);
|
|
406
429
|
}
|
|
407
430
|
/**
|
|
408
|
-
*
|
|
409
|
-
*
|
|
410
|
-
* @param toggle
|
|
431
|
+
* @param p1
|
|
432
|
+
* @returns
|
|
411
433
|
*/
|
|
412
|
-
|
|
413
|
-
inv('
|
|
434
|
+
getMaxHealth(p1) {
|
|
435
|
+
return inv('0x15D757606D170C3C', this.handle, p1, rai());
|
|
414
436
|
}
|
|
415
437
|
/**
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
419
|
-
* @returns
|
|
438
|
+
* @param animDict
|
|
439
|
+
* @param animName
|
|
440
|
+
* @param time
|
|
420
441
|
*/
|
|
421
|
-
|
|
422
|
-
|
|
442
|
+
setAnimCurrentTime(animDict, animName, time) {
|
|
443
|
+
inv('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
|
|
423
444
|
}
|
|
424
445
|
/**
|
|
425
|
-
*
|
|
426
|
-
*
|
|
446
|
+
* Gets the current coordinates for a specified entity.
|
|
447
|
+
* `entity` = The entity to get the coordinates from.
|
|
448
|
+
* `alive` = Unused by the game, potentially used by debug builds in order to assert whether or not an entity was alive. If entity is a ped and it's in a vehicle or on a mount the coords of that entity are returned. Set 'realCoords' to true when you need the true ped coords.
|
|
427
449
|
*
|
|
428
|
-
* @param
|
|
429
|
-
* @param
|
|
450
|
+
* @param alive
|
|
451
|
+
* @param realCoords
|
|
452
|
+
* @returns
|
|
430
453
|
*/
|
|
431
|
-
|
|
432
|
-
inv('
|
|
454
|
+
getCoords(alive, realCoords) {
|
|
455
|
+
return Vector3.fromArray(inv('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
|
|
433
456
|
}
|
|
434
457
|
/**
|
|
435
458
|
* @returns
|
|
436
459
|
*/
|
|
437
|
-
|
|
438
|
-
return inv('
|
|
460
|
+
isAnObject() {
|
|
461
|
+
return inv('0x0A27A546A375FDEF', this.handle, rai());
|
|
439
462
|
}
|
|
440
463
|
/**
|
|
441
464
|
* @returns
|
|
@@ -524,306 +547,381 @@ export class Entity {
|
|
|
524
547
|
getHealthFloat() {
|
|
525
548
|
return inv('0x96C638784DB4C815', this.handle, raf());
|
|
526
549
|
}
|
|
550
|
+
/**
|
|
551
|
+
* LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).
|
|
552
|
+
*
|
|
553
|
+
* @param value
|
|
554
|
+
*/
|
|
555
|
+
setLodDist(value) {
|
|
556
|
+
inv('0x5FB407F0A7C877BF', this.handle, value);
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* @param toggle
|
|
560
|
+
*/
|
|
561
|
+
setDynamic(toggle) {
|
|
562
|
+
inv('0xFBFC4473F66CE344', this.handle, toggle);
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* @param radius
|
|
566
|
+
*/
|
|
567
|
+
setCustomPickupRadius(radius) {
|
|
568
|
+
inv('0x482D17E45665DA44', this.handle, f(radius));
|
|
569
|
+
}
|
|
527
570
|
/**
|
|
528
571
|
* @returns
|
|
529
572
|
*/
|
|
530
|
-
|
|
531
|
-
return inv('
|
|
573
|
+
getPopulationType() {
|
|
574
|
+
return inv('0xADE28862B6D7B85B', this.handle, rai());
|
|
532
575
|
}
|
|
533
576
|
/**
|
|
534
|
-
* Gets the entity's forward vector in YX(Z) eulers. Similar to GET_ENTITY_FORWARD_VECTOR
|
|
535
|
-
*
|
|
536
577
|
* @returns
|
|
537
578
|
*/
|
|
538
|
-
|
|
539
|
-
return
|
|
579
|
+
isAVehicle() {
|
|
580
|
+
return inv('0xC3D96AF45FCCEC4C', this.handle, rai());
|
|
540
581
|
}
|
|
541
582
|
/**
|
|
542
583
|
* @param pos
|
|
543
|
-
* @param
|
|
544
|
-
* @param
|
|
545
|
-
* @
|
|
546
|
-
* @param clearArea
|
|
584
|
+
* @param atTop
|
|
585
|
+
* @param inWorldCoords
|
|
586
|
+
* @returns
|
|
547
587
|
*/
|
|
548
|
-
|
|
549
|
-
inv('
|
|
588
|
+
getHeight(pos, atTop, inWorldCoords) {
|
|
589
|
+
return inv('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
|
|
550
590
|
}
|
|
551
591
|
/**
|
|
552
|
-
* @param
|
|
592
|
+
* @param pos
|
|
553
593
|
* @returns
|
|
554
594
|
*/
|
|
555
|
-
|
|
556
|
-
return inv('
|
|
595
|
+
getOffsetFromGivenWorldCoords(pos) {
|
|
596
|
+
return Vector3.fromArray(inv('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
|
|
597
|
+
}
|
|
598
|
+
addTrackingTrails() {
|
|
599
|
+
inv('0x1AD922AB5038DEF3', this.handle);
|
|
557
600
|
}
|
|
558
601
|
/**
|
|
559
|
-
* @param
|
|
602
|
+
* @param toggle
|
|
560
603
|
*/
|
|
561
|
-
|
|
562
|
-
inv('
|
|
604
|
+
setCanClimbOnEntity(toggle) {
|
|
605
|
+
inv('0x24AED2A608F93C4C', this.handle, toggle);
|
|
563
606
|
}
|
|
564
607
|
/**
|
|
565
|
-
* @
|
|
608
|
+
* @returns minimum; maximum
|
|
566
609
|
*/
|
|
567
|
-
|
|
568
|
-
inv('
|
|
610
|
+
getWorldPositionOfDimensions() {
|
|
611
|
+
const result = inv('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
|
|
612
|
+
return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
|
|
569
613
|
}
|
|
570
614
|
/**
|
|
571
|
-
*
|
|
572
|
-
*
|
|
615
|
+
* @param p1
|
|
616
|
+
* @returns
|
|
617
|
+
*/
|
|
618
|
+
isUnderwater(p1) {
|
|
619
|
+
return inv('0xD4E5C1E93C466127', this.handle, p1);
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* @param animation
|
|
623
|
+
* @param animGroup
|
|
624
|
+
* @param p3
|
|
625
|
+
* @returns
|
|
626
|
+
*/
|
|
627
|
+
stopAnim(animation, animGroup, p3) {
|
|
628
|
+
return inv('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* @returns
|
|
632
|
+
*/
|
|
633
|
+
hasCollidedWithAnything() {
|
|
634
|
+
return inv('0xDF18751EC74F90FF', this.handle, rai());
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
|
|
573
638
|
*
|
|
574
|
-
* @
|
|
639
|
+
* @returns
|
|
575
640
|
*/
|
|
576
|
-
|
|
577
|
-
inv('
|
|
641
|
+
getVehicleIndexFromIndex() {
|
|
642
|
+
return createFromHandle('Vehicle', inv('0xDF1E5AAC561AFC59', this.handle, rai()));
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* @returns
|
|
646
|
+
*/
|
|
647
|
+
isVisible() {
|
|
648
|
+
return inv('0xFFC96ECB7FA404CA', this.handle, rai());
|
|
578
649
|
}
|
|
579
650
|
/**
|
|
651
|
+
* SET_ENTITY_LO*
|
|
652
|
+
*
|
|
580
653
|
* @param toggle
|
|
581
654
|
*/
|
|
582
|
-
|
|
583
|
-
inv('
|
|
655
|
+
N_0xFF9965C47FA404DA(toggle) {
|
|
656
|
+
inv('0xFF9965C47FA404DA', this.handle, toggle);
|
|
584
657
|
}
|
|
585
658
|
/**
|
|
586
|
-
*
|
|
659
|
+
* Valid indices: 0 - 3
|
|
660
|
+
* Index 1 always returns a `hogtied` config, doesn't matter the entity.
|
|
661
|
+
* It's for humans only and the ped must be resurrected first if it's dead.
|
|
662
|
+
*
|
|
663
|
+
* @param index
|
|
587
664
|
* @returns
|
|
588
665
|
*/
|
|
589
|
-
|
|
590
|
-
return
|
|
666
|
+
getOptimalCarryConfig(index) {
|
|
667
|
+
return (inv('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
|
|
668
|
+
}
|
|
669
|
+
setFadeIn() {
|
|
670
|
+
inv('0xA91E6CF94404E8C9', this.handle);
|
|
591
671
|
}
|
|
592
672
|
/**
|
|
593
|
-
* @param entity2
|
|
594
|
-
* @param p2
|
|
595
|
-
* @param p3
|
|
596
673
|
* @returns
|
|
597
674
|
*/
|
|
598
|
-
|
|
599
|
-
return inv('
|
|
675
|
+
hasBeenDamagedByAnyPed() {
|
|
676
|
+
return inv('0x9934E9C42D52D87E', this.handle, rai());
|
|
600
677
|
}
|
|
601
678
|
/**
|
|
679
|
+
* @param targetEntity
|
|
602
680
|
* @returns
|
|
603
681
|
*/
|
|
604
|
-
|
|
605
|
-
return inv('
|
|
682
|
+
isTouchingEntity(targetEntity) {
|
|
683
|
+
return inv('0x9A2304A64C3C8423', this.handle, targetEntity.handle, rai());
|
|
684
|
+
}
|
|
685
|
+
deleteCarriable() {
|
|
686
|
+
inv('0x0D0DB2B6AF19A987', this.handle);
|
|
606
687
|
}
|
|
607
688
|
/**
|
|
689
|
+
* Returns a normalized value between 0.0f and 1.0f. You can get the actual anim time by multiplying this by GET_ANIM_DURATION
|
|
690
|
+
*
|
|
691
|
+
* @param animDict
|
|
692
|
+
* @param animName
|
|
608
693
|
* @returns
|
|
609
694
|
*/
|
|
610
|
-
|
|
611
|
-
return inv('
|
|
695
|
+
getAnimCurrentTime(animDict, animName) {
|
|
696
|
+
return inv('0x627520389E288A73', this.handle, animDict, animName, raf());
|
|
612
697
|
}
|
|
613
698
|
/**
|
|
614
|
-
* @param
|
|
699
|
+
* @param entity2
|
|
700
|
+
* @param thisFrameOnly
|
|
615
701
|
*/
|
|
616
|
-
|
|
617
|
-
inv('
|
|
702
|
+
setNoCollisionEntity(entity2, thisFrameOnly) {
|
|
703
|
+
inv('0xE037BF068223C38D', this.handle, entity2.handle, thisFrameOnly);
|
|
618
704
|
}
|
|
619
705
|
/**
|
|
620
|
-
*
|
|
621
|
-
*
|
|
622
|
-
* @
|
|
623
|
-
* @param boneIndex
|
|
624
|
-
* @param isDirectionRel
|
|
625
|
-
* @param ignoreUpVec
|
|
626
|
-
* @param isForceRel
|
|
627
|
-
* @param p12
|
|
628
|
-
* @param p13
|
|
706
|
+
* Result is in meters per second (m/s)
|
|
707
|
+
*
|
|
708
|
+
* @returns
|
|
629
709
|
*/
|
|
630
|
-
|
|
631
|
-
inv('
|
|
710
|
+
getSpeed() {
|
|
711
|
+
return inv('0xFB6BA510A533DF81', this.handle, raf());
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* @param bOnlyDamagedWhenRunningScript
|
|
715
|
+
*/
|
|
716
|
+
setCanOnlyBeDamagedByScriptParticipants(bOnlyDamagedWhenRunningScript) {
|
|
717
|
+
inv('0xFF83AF534156B399', this.handle, bOnlyDamagedWhenRunningScript);
|
|
632
718
|
}
|
|
633
719
|
/**
|
|
634
720
|
* @returns
|
|
635
721
|
*/
|
|
636
|
-
|
|
637
|
-
return inv('
|
|
722
|
+
isTrackedVisible() {
|
|
723
|
+
return inv('0xC8CCDB712FBCBA92', this.handle);
|
|
724
|
+
}
|
|
725
|
+
/**
|
|
726
|
+
* @param p1
|
|
727
|
+
* @param collision
|
|
728
|
+
*/
|
|
729
|
+
detachEntity(p1, collision) {
|
|
730
|
+
inv('0x64CDE9D6BF8ECAD3', this.handle, p1, collision);
|
|
638
731
|
}
|
|
639
732
|
/**
|
|
640
|
-
* @param pos1
|
|
641
|
-
* @param pos2
|
|
642
|
-
* @param p7
|
|
643
|
-
* @param p8
|
|
644
|
-
* @param p9
|
|
645
733
|
* @returns
|
|
646
734
|
*/
|
|
647
|
-
|
|
648
|
-
return inv('
|
|
735
|
+
isVisibleToScript() {
|
|
736
|
+
return inv('0xF213C724E77F321A', this.handle, rai());
|
|
649
737
|
}
|
|
650
738
|
/**
|
|
651
|
-
*
|
|
652
|
-
*
|
|
653
|
-
*
|
|
654
|
-
* @param boneIndex
|
|
739
|
+
* @param entity2
|
|
740
|
+
* @param traceType
|
|
655
741
|
* @returns
|
|
656
742
|
*/
|
|
657
|
-
|
|
658
|
-
return
|
|
743
|
+
hasClearLosToEntity(entity2, traceType) {
|
|
744
|
+
return inv('0xFCDFF7B72D23A1AC', this.handle, entity2.handle, traceType, rai());
|
|
659
745
|
}
|
|
660
746
|
/**
|
|
661
|
-
*
|
|
747
|
+
* Used in Script Function GENERIC_ITEM_HAS_ANIM_COMPLETED
|
|
748
|
+
* *GET_ENTITY**
|
|
662
749
|
*
|
|
663
|
-
* @param animName
|
|
664
750
|
* @param animDict
|
|
665
|
-
* @param
|
|
666
|
-
* @param loop
|
|
667
|
-
* @param stayInAnim
|
|
668
|
-
* @param p6
|
|
669
|
-
* @param delta
|
|
670
|
-
* @param bitset
|
|
751
|
+
* @param animClip
|
|
671
752
|
* @returns
|
|
672
753
|
*/
|
|
673
|
-
|
|
674
|
-
return inv('
|
|
754
|
+
N_0x8E46E18AA828334F(animDict, animClip) {
|
|
755
|
+
return inv('0x8E46E18AA828334F', this.handle, animDict, animClip, raf());
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* @param playerPedToIgnore
|
|
759
|
+
* @param flags
|
|
760
|
+
* @returns
|
|
761
|
+
*/
|
|
762
|
+
getNearestPlayerToEntity(playerPedToIgnore, flags) {
|
|
763
|
+
return createFromHandle('Player', inv('0x990E294FC387FB88', this.handle, playerPedToIgnore.handle, flags, rai()));
|
|
764
|
+
}
|
|
765
|
+
/**
|
|
766
|
+
* Gets the Y-component of the entity's forward vector.
|
|
767
|
+
*
|
|
768
|
+
* @returns
|
|
769
|
+
*/
|
|
770
|
+
getForwardY() {
|
|
771
|
+
return inv('0x9A5C073ECBDA7EE7', this.handle, raf());
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* @param pitch
|
|
775
|
+
* @param roll
|
|
776
|
+
* @param yaw
|
|
777
|
+
* @param rotationOrder
|
|
778
|
+
* @param p5
|
|
779
|
+
*/
|
|
780
|
+
setRotation(pitch, roll, yaw, rotationOrder, p5) {
|
|
781
|
+
inv('0x9CC8314DFEDE441E', this.handle, f(pitch), f(roll), f(yaw), rotationOrder, p5);
|
|
782
|
+
}
|
|
783
|
+
/**
|
|
784
|
+
* @param p1
|
|
785
|
+
* @param relationshipGroup
|
|
786
|
+
*/
|
|
787
|
+
setOnlyDamagedByRelationshipGroup(p1, relationshipGroup) {
|
|
788
|
+
inv('0x6C1F6AA2F0ADD104', this.handle, p1, _h(relationshipGroup));
|
|
675
789
|
}
|
|
676
790
|
/**
|
|
677
|
-
*
|
|
791
|
+
* https://github.com/femga/rdr3_discoveries/tree/master/AI/ENTITY_PROOFS
|
|
792
|
+
* BOOL p2: handles an additional special proofs flag, so it simply indicates whether it should be enabled or disabled, not sure what exactly it proofs the entity from though
|
|
678
793
|
*
|
|
679
|
-
* @
|
|
794
|
+
* @param proofsBitset
|
|
795
|
+
* @param specialFlag
|
|
680
796
|
*/
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
return [result[0], result[1]];
|
|
797
|
+
setProofs(proofsBitset, specialFlag) {
|
|
798
|
+
inv('0xFAEE099C6F890BB8', this.handle, proofsBitset, specialFlag);
|
|
684
799
|
}
|
|
685
800
|
/**
|
|
686
|
-
* @param animDict
|
|
687
|
-
* @param animName
|
|
688
|
-
* @param p3
|
|
689
801
|
* @returns
|
|
690
802
|
*/
|
|
691
|
-
|
|
692
|
-
return inv('
|
|
803
|
+
hasCollisionLoadedAroundEntity() {
|
|
804
|
+
return inv('0xBEB1600952B9CF5C', this.handle, rai());
|
|
693
805
|
}
|
|
694
806
|
/**
|
|
695
|
-
* @
|
|
696
|
-
* @param relGroup
|
|
807
|
+
* @returns
|
|
697
808
|
*/
|
|
698
|
-
|
|
699
|
-
inv('
|
|
809
|
+
getIsCarriablePelt() {
|
|
810
|
+
return inv('0x255B6DB4E3AD3C3E', this.handle);
|
|
700
811
|
}
|
|
701
812
|
/**
|
|
813
|
+
* @param p1
|
|
702
814
|
* @returns
|
|
703
815
|
*/
|
|
704
|
-
|
|
705
|
-
return inv('
|
|
816
|
+
getVelocity(p1) {
|
|
817
|
+
return Vector3.fromArray(inv('0x4805D2B1D8CF94A9', this.handle, p1, rav()));
|
|
706
818
|
}
|
|
707
819
|
/**
|
|
708
|
-
* @param
|
|
709
|
-
* @param heading
|
|
710
|
-
* @param xAxis
|
|
711
|
-
* @param yAxis
|
|
712
|
-
* @param zAxis
|
|
820
|
+
* @param toggle
|
|
713
821
|
*/
|
|
714
|
-
|
|
715
|
-
inv('
|
|
822
|
+
setCanAutoVaultOnEntity(toggle) {
|
|
823
|
+
inv('0x80646744FA88F9D7', this.handle, toggle);
|
|
716
824
|
}
|
|
717
825
|
/**
|
|
718
|
-
* Returns
|
|
826
|
+
* Sets the loot table an entity will carry. Returns true if loot table has been successfully set. Returns false if entity is not a ped or object.
|
|
827
|
+
* https://github.com/femga/rdr3_discoveries/blob/master/AI/EVENTS/loot_rewards.lua
|
|
719
828
|
*
|
|
829
|
+
* @param lootTable
|
|
720
830
|
* @returns
|
|
721
831
|
*/
|
|
722
|
-
|
|
723
|
-
return
|
|
832
|
+
scriptOverrideLootTablePermanent(lootTable) {
|
|
833
|
+
return inv('0x8C03CD6B5E0E85E8', this.handle, _h(lootTable));
|
|
724
834
|
}
|
|
725
835
|
/**
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
* @param tier
|
|
729
|
-
* @param p2
|
|
836
|
+
* @returns argStruct
|
|
730
837
|
*/
|
|
731
|
-
|
|
732
|
-
inv('
|
|
838
|
+
getScript() {
|
|
839
|
+
const result = inv('0x2A08A32B6D49906F', this.handle, pvi(), rai());
|
|
840
|
+
return [result[0] & 0xFFFFFFFF, result[1]];
|
|
733
841
|
}
|
|
734
842
|
/**
|
|
735
|
-
*
|
|
736
|
-
*
|
|
843
|
+
* @param actionHash
|
|
737
844
|
* @returns
|
|
738
845
|
*/
|
|
739
|
-
|
|
740
|
-
return inv('
|
|
846
|
+
hasAnimEventFired(actionHash) {
|
|
847
|
+
return inv('0x5851CC48405F4A07', this.handle, _h(actionHash), rai());
|
|
741
848
|
}
|
|
742
849
|
/**
|
|
743
|
-
*
|
|
850
|
+
* @param p1
|
|
851
|
+
*/
|
|
852
|
+
N_0xEF259AA1E097E0AD(p1) {
|
|
853
|
+
inv('0xEF259AA1E097E0AD', this.handle, p1);
|
|
854
|
+
}
|
|
855
|
+
/**
|
|
856
|
+
* Getter for FREEZE_ENTITY_POSITION
|
|
744
857
|
*
|
|
745
858
|
* @returns
|
|
746
859
|
*/
|
|
747
|
-
|
|
748
|
-
return inv('
|
|
860
|
+
isFrozen() {
|
|
861
|
+
return inv('0x083D497D57B7400F', this.handle);
|
|
749
862
|
}
|
|
750
863
|
/**
|
|
864
|
+
* Returns the entity that is looting a ped but only while the looting is active
|
|
865
|
+
*
|
|
751
866
|
* @returns
|
|
752
867
|
*/
|
|
753
|
-
|
|
754
|
-
return inv('
|
|
868
|
+
getLootingPed() {
|
|
869
|
+
return createFromHandle('Ped', inv('0xEF2D9ED7CE684F08', this.handle, rai()));
|
|
755
870
|
}
|
|
756
871
|
/**
|
|
757
|
-
* @
|
|
872
|
+
* @returns
|
|
758
873
|
*/
|
|
759
|
-
|
|
760
|
-
inv('
|
|
874
|
+
isWaitingForWorldCollision() {
|
|
875
|
+
return inv('0x5E1CC2E8DC3111DD', this.handle, rai());
|
|
761
876
|
}
|
|
762
877
|
/**
|
|
878
|
+
* Gets the X-component of the entity's forward vector.
|
|
879
|
+
*
|
|
763
880
|
* @returns
|
|
764
881
|
*/
|
|
765
|
-
|
|
766
|
-
return inv('
|
|
882
|
+
getForwardX() {
|
|
883
|
+
return inv('0xDB0954E9960F6457', this.handle, raf());
|
|
767
884
|
}
|
|
768
885
|
/**
|
|
769
|
-
*
|
|
770
|
-
*
|
|
771
|
-
* @param toggle
|
|
886
|
+
* @returns
|
|
772
887
|
*/
|
|
773
|
-
|
|
774
|
-
inv('
|
|
888
|
+
isAPed() {
|
|
889
|
+
return inv('0xCF8176912DDA4EA5', this.handle, rai());
|
|
775
890
|
}
|
|
776
891
|
/**
|
|
777
|
-
*
|
|
778
|
-
* https://github.com/femga/rdr3_discoveries/tree/master/boneNames useSoftPinning - if set to false attached entity will not detach when fixed
|
|
779
|
-
* collision - controls collision between the two entities (FALSE disables collision).
|
|
780
|
-
* isPed - pitch doesn't work when false and roll will only work on negative numbers (only peds)
|
|
781
|
-
* vertexIndex - position of vertex
|
|
782
|
-
* fixedRot - if false it ignores entity vector
|
|
783
|
-
*
|
|
784
|
-
* @param entity2
|
|
785
|
-
* @param boneIndex
|
|
786
|
-
* @param pos
|
|
787
|
-
* @param rot
|
|
788
|
-
* @param p9
|
|
789
|
-
* @param useSoftPinning
|
|
790
|
-
* @param collision
|
|
791
|
-
* @param isPed
|
|
792
|
-
* @param vertexIndex
|
|
793
|
-
* @param fixedRot
|
|
794
|
-
* @param p15
|
|
795
|
-
* @param p16
|
|
892
|
+
* @returns
|
|
796
893
|
*/
|
|
797
|
-
|
|
798
|
-
inv('
|
|
894
|
+
getPitch() {
|
|
895
|
+
return inv('0xEF355ABEFF7F5005', this.handle, raf());
|
|
799
896
|
}
|
|
800
897
|
/**
|
|
801
898
|
* @returns
|
|
802
899
|
*/
|
|
803
|
-
|
|
804
|
-
return inv('
|
|
900
|
+
isStatic() {
|
|
901
|
+
return inv('0x86468ADFA0F6B861', this.handle, rai());
|
|
805
902
|
}
|
|
806
903
|
/**
|
|
807
|
-
*
|
|
808
|
-
* p7/highForce - setting false will make the force really low
|
|
904
|
+
* Returns the model hash from the entity
|
|
809
905
|
*
|
|
810
|
-
* @
|
|
811
|
-
* @param pos
|
|
812
|
-
* @param component
|
|
813
|
-
* @param isDirectionRel
|
|
814
|
-
* @param isForceRel
|
|
815
|
-
* @param p8
|
|
906
|
+
* @returns
|
|
816
907
|
*/
|
|
817
|
-
|
|
818
|
-
inv('
|
|
908
|
+
getModel() {
|
|
909
|
+
return (inv('0xDA76A9F39210D365', this.handle, rai())) & 0xFFFFFFFF;
|
|
819
910
|
}
|
|
820
911
|
/**
|
|
821
|
-
*
|
|
822
|
-
|
|
912
|
+
* Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
|
|
913
|
+
*/
|
|
914
|
+
deleteEntity() {
|
|
915
|
+
inv('0x4CD38C78BD19A497', this.handle);
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* @param team
|
|
919
|
+
* @param playerPedToIgnore
|
|
920
|
+
* @param flags
|
|
823
921
|
* @returns
|
|
824
922
|
*/
|
|
825
|
-
|
|
826
|
-
return inv('
|
|
923
|
+
getNearestPlayerToOnTeam(team, playerPedToIgnore, flags) {
|
|
924
|
+
return createFromHandle('Player', inv('0xB2C30C3B4AFF718C', this.handle, team, playerPedToIgnore.handle, flags, rai()));
|
|
827
925
|
}
|
|
828
926
|
/**
|
|
829
927
|
* Seems to return true if entity is burned / scorched
|
|
@@ -950,48 +1048,157 @@ export class Entity {
|
|
|
950
1048
|
* @param weaponHash Refer to [enum: eWeaponHash]
|
|
951
1049
|
* @returns
|
|
952
1050
|
*/
|
|
953
|
-
changeHealth(amount, entity2, weaponHash) {
|
|
954
|
-
return inv('0x835F131E7DC8F97A', this.handle, f(amount), entity2.handle, weaponHash);
|
|
1051
|
+
changeHealth(amount, entity2, weaponHash) {
|
|
1052
|
+
return inv('0x835F131E7DC8F97A', this.handle, f(amount), entity2.handle, weaponHash);
|
|
1053
|
+
}
|
|
1054
|
+
/**
|
|
1055
|
+
* @returns
|
|
1056
|
+
*/
|
|
1057
|
+
getAttachedTo() {
|
|
1058
|
+
return createFromHandle('Entity', inv('0x56D713888A566481', this.handle, rai()));
|
|
1059
|
+
}
|
|
1060
|
+
/**
|
|
1061
|
+
* @param toggle
|
|
1062
|
+
*/
|
|
1063
|
+
setOnlyDamagedByPlayer(toggle) {
|
|
1064
|
+
inv('0x473598683095D430', this.handle, toggle);
|
|
1065
|
+
}
|
|
1066
|
+
/**
|
|
1067
|
+
* @param p1
|
|
1068
|
+
* @param p2
|
|
1069
|
+
*/
|
|
1070
|
+
setIsTargetPriority(p1, p2) {
|
|
1071
|
+
inv('0x0A5D170C44CB2189', this.handle, p1, f(p2));
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* @param pos
|
|
1075
|
+
* @param flags
|
|
1076
|
+
* @returns
|
|
1077
|
+
*/
|
|
1078
|
+
hasClearLosToCoord(pos, flags) {
|
|
1079
|
+
return inv('0x0C9DBF48C6BA6E4C', this.handle, f(pos.x), f(pos.y), f(pos.z), flags);
|
|
1080
|
+
}
|
|
1081
|
+
/**
|
|
1082
|
+
* @param flagId Refer to [enum: eCarryingFlags]
|
|
1083
|
+
* @param value
|
|
1084
|
+
*/
|
|
1085
|
+
setCarryingFlag(flagId, value) {
|
|
1086
|
+
inv('0x18FF3110CF47115D', this.handle, flagId, value);
|
|
1087
|
+
}
|
|
1088
|
+
/**
|
|
1089
|
+
* @returns
|
|
1090
|
+
*/
|
|
1091
|
+
getIsPredator() {
|
|
1092
|
+
return inv('0x5594AFE9DE0C01B7', this.handle);
|
|
1093
|
+
}
|
|
1094
|
+
/**
|
|
1095
|
+
* enum eCarriableState
|
|
1096
|
+
* {
|
|
1097
|
+
* CARRIABLE_STATE_NONE,
|
|
1098
|
+
* CARRIABLE_STATE_TRANSITIONING_TO_HOGTIED,
|
|
1099
|
+
* CARRIABLE_STATE_CARRIABLE_INTRO,
|
|
1100
|
+
* CARRIABLE_STATE_CARRIABLE,
|
|
1101
|
+
* CARRIABLE_STATE_BEING_PICKED_UP_FROM_GROUND,
|
|
1102
|
+
* CARRIABLE_STATE_CARRIED_BY_HUMAN,
|
|
1103
|
+
* CARRIABLE_STATE_BEING_PLACED_ON_GROUND,
|
|
1104
|
+
* CARRIABLE_STATE_CARRIED_BY_MOUNT,
|
|
1105
|
+
* CARRIABLE_STATE_BEING_PLACED_ON_MOUNT,
|
|
1106
|
+
* CARRIABLE_STATE_BEING_PICKED_UP_FROM_MOUNT,
|
|
1107
|
+
* CARRIABLE_STATE_BEING_CUT_FREE,
|
|
1108
|
+
* CARRIABLE_STATE_BEING_PLACED_ON_GROUND_ESCAPE,
|
|
1109
|
+
* CARRIABLE_STATE_BEING_PLACED_IN_VEHICLE
|
|
1110
|
+
* };
|
|
1111
|
+
*
|
|
1112
|
+
* @returns
|
|
1113
|
+
*/
|
|
1114
|
+
getCarriableState() {
|
|
1115
|
+
return inv('0x61914209C36EFDDB', this.handle, rai());
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* @param value
|
|
1119
|
+
*/
|
|
1120
|
+
setMaxHealth(value) {
|
|
1121
|
+
inv('0x166E7CF68597D8B5', this.handle, value);
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Params: p1 (probably animType) = 1, 0
|
|
1125
|
+
*
|
|
1126
|
+
* @param p1
|
|
1127
|
+
* @returns
|
|
1128
|
+
*/
|
|
1129
|
+
isPlayingAnyAnim(p1) {
|
|
1130
|
+
return inv('0x0B7CB1300CBFE19C', this.handle, p1, rai());
|
|
1131
|
+
}
|
|
1132
|
+
/**
|
|
1133
|
+
* @param enabled
|
|
1134
|
+
*/
|
|
1135
|
+
setLightsEnabled(enabled) {
|
|
1136
|
+
inv('0xEBDC12861D079ABA', this.handle, enabled);
|
|
1137
|
+
}
|
|
1138
|
+
/**
|
|
1139
|
+
* Offset values are relative to the entity. x = left/right
|
|
1140
|
+
* y = forward/backward
|
|
1141
|
+
* z = up/down
|
|
1142
|
+
*
|
|
1143
|
+
* @param offset
|
|
1144
|
+
* @returns
|
|
1145
|
+
*/
|
|
1146
|
+
getOffsetFromInWorldCoords(offset) {
|
|
1147
|
+
return Vector3.fromArray(inv('0x1899F328B0E12848', this.handle, f(offset.x), f(offset.y), f(offset.z), rav()));
|
|
955
1148
|
}
|
|
956
1149
|
/**
|
|
1150
|
+
* Checks if entity1 is within the box defined by x/y/zSize of entity2. Last three parameters are almost always p5 = 0, p6 = 1, p7 = 0
|
|
1151
|
+
*
|
|
1152
|
+
* @param entity2
|
|
1153
|
+
* @param xSize
|
|
1154
|
+
* @param ySize
|
|
1155
|
+
* @param zSize
|
|
1156
|
+
* @param p5
|
|
1157
|
+
* @param p6
|
|
1158
|
+
* @param p7
|
|
957
1159
|
* @returns
|
|
958
1160
|
*/
|
|
959
|
-
|
|
960
|
-
return
|
|
1161
|
+
isAtEntity(entity2, xSize, ySize, zSize, p5, p6, p7) {
|
|
1162
|
+
return inv('0xC057F02B837A27F6', this.handle, entity2.handle, f(xSize), f(ySize), f(zSize), p5, p6, p7, rai());
|
|
961
1163
|
}
|
|
962
1164
|
/**
|
|
963
1165
|
* @param toggle
|
|
964
1166
|
*/
|
|
965
|
-
|
|
966
|
-
inv('
|
|
1167
|
+
setVisible(toggle) {
|
|
1168
|
+
inv('0x1794B4FCC84D812F', this.handle, toggle);
|
|
967
1169
|
}
|
|
968
1170
|
/**
|
|
969
|
-
*
|
|
970
|
-
*
|
|
1171
|
+
* Old name: _SET_ENTITY_CLEANUP_BY_ENGINE
|
|
1172
|
+
*
|
|
1173
|
+
* @param toggle
|
|
971
1174
|
*/
|
|
972
|
-
|
|
973
|
-
inv('
|
|
1175
|
+
setShouldFreezeWaitingOnCollision(toggle) {
|
|
1176
|
+
inv('0x740CB4F3F602C9F4', this.handle, toggle);
|
|
974
1177
|
}
|
|
975
1178
|
/**
|
|
976
|
-
*
|
|
977
|
-
*
|
|
1179
|
+
* Note: this native was removed in 1232 but added back in 1311
|
|
1180
|
+
* Old name: _GET_ENTITY_PROOFS
|
|
1181
|
+
*
|
|
978
1182
|
* @returns
|
|
979
1183
|
*/
|
|
980
|
-
|
|
981
|
-
return inv('
|
|
1184
|
+
getProofs() {
|
|
1185
|
+
return inv('0x6CF0DAD7FA1088EA', this.handle, rai());
|
|
982
1186
|
}
|
|
983
1187
|
/**
|
|
984
|
-
*
|
|
985
|
-
*
|
|
1188
|
+
* skin - everything alpha except skin
|
|
1189
|
+
* Set entity alpha level. Ranging from 0 to 255 but changes occur after every 20 percent (after every 51).
|
|
1190
|
+
*
|
|
1191
|
+
* @param alphaLevel
|
|
1192
|
+
* @param skin
|
|
986
1193
|
*/
|
|
987
|
-
|
|
988
|
-
inv('
|
|
1194
|
+
setAlpha(alphaLevel, skin) {
|
|
1195
|
+
inv('0x0DF7692B1D9E7BA7', this.handle, alphaLevel, skin);
|
|
989
1196
|
}
|
|
990
1197
|
/**
|
|
991
1198
|
* @returns
|
|
992
1199
|
*/
|
|
993
|
-
|
|
994
|
-
return inv('
|
|
1200
|
+
getThreatTier() {
|
|
1201
|
+
return inv('0xE12F56CB25D9CE23', this.handle, rai());
|
|
995
1202
|
}
|
|
996
1203
|
/**
|
|
997
1204
|
* Returns entityType: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eEntityType
|
|
@@ -1073,80 +1280,6 @@ export class Entity {
|
|
|
1073
1280
|
isAttachedToAnyVehicle() {
|
|
1074
1281
|
return inv('0x12DF6E0D2E736749', this.handle, rai());
|
|
1075
1282
|
}
|
|
1076
|
-
/**
|
|
1077
|
-
* @param p1
|
|
1078
|
-
*/
|
|
1079
|
-
N_0xA48E4801DEBDF7E4(p1) {
|
|
1080
|
-
inv('0xA48E4801DEBDF7E4', this.handle, p1);
|
|
1081
|
-
}
|
|
1082
|
-
/**
|
|
1083
|
-
* @param toggle
|
|
1084
|
-
* @param keepPhysics
|
|
1085
|
-
*/
|
|
1086
|
-
setCompletelyDisableCollision(toggle, keepPhysics) {
|
|
1087
|
-
inv('0xE0580EC84813875A', this.handle, toggle, keepPhysics);
|
|
1088
|
-
}
|
|
1089
|
-
/**
|
|
1090
|
-
* @param p1
|
|
1091
|
-
*/
|
|
1092
|
-
N_0xCDB682BB47C02F0A(p1) {
|
|
1093
|
-
inv('0xCDB682BB47C02F0A', this.handle, _h(p1));
|
|
1094
|
-
}
|
|
1095
|
-
/**
|
|
1096
|
-
* @param volume
|
|
1097
|
-
* @param p2
|
|
1098
|
-
* @param p3
|
|
1099
|
-
* @returns
|
|
1100
|
-
*/
|
|
1101
|
-
isInVolume(volume, p2, p3) {
|
|
1102
|
-
return inv('0x5A5526BC09C06623', this.handle, volume, p2, p3, rai());
|
|
1103
|
-
}
|
|
1104
|
-
/**
|
|
1105
|
-
* @returns rightVector; forwardVector; upVector; position
|
|
1106
|
-
*/
|
|
1107
|
-
getMatrix() {
|
|
1108
|
-
const result = inv('0x3A9B1120AF13FBF2', this.handle, pvv(), pvv(), pvv(), pvv());
|
|
1109
|
-
return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1]), Vector3.fromArray(result[2]), Vector3.fromArray(result[3])];
|
|
1110
|
-
}
|
|
1111
|
-
/**
|
|
1112
|
-
* Called if entity is in water and submerged level is larger than 1f. If CARRYING_FLAG_FORCE_ALLOW_WARP_TO_SAFE_GROUND_LOCATION is true, it gets disabled as well.
|
|
1113
|
-
*/
|
|
1114
|
-
N_0x371D179701D9C082() {
|
|
1115
|
-
inv('0x371D179701D9C082', this.handle);
|
|
1116
|
-
}
|
|
1117
|
-
/**
|
|
1118
|
-
* @param p1
|
|
1119
|
-
* @returns
|
|
1120
|
-
*/
|
|
1121
|
-
getMaxHealth(p1) {
|
|
1122
|
-
return inv('0x15D757606D170C3C', this.handle, p1, rai());
|
|
1123
|
-
}
|
|
1124
|
-
/**
|
|
1125
|
-
* @param animDict
|
|
1126
|
-
* @param animName
|
|
1127
|
-
* @param time
|
|
1128
|
-
*/
|
|
1129
|
-
setAnimCurrentTime(animDict, animName, time) {
|
|
1130
|
-
inv('0x11CDABDC7783B2BC', this.handle, animDict, animName, f(time));
|
|
1131
|
-
}
|
|
1132
|
-
/**
|
|
1133
|
-
* Gets the current coordinates for a specified entity.
|
|
1134
|
-
* `entity` = The entity to get the coordinates from.
|
|
1135
|
-
* `alive` = Unused by the game, potentially used by debug builds in order to assert whether or not an entity was alive. If entity is a ped and it's in a vehicle or on a mount the coords of that entity are returned. Set 'realCoords' to true when you need the true ped coords.
|
|
1136
|
-
*
|
|
1137
|
-
* @param alive
|
|
1138
|
-
* @param realCoords
|
|
1139
|
-
* @returns
|
|
1140
|
-
*/
|
|
1141
|
-
getCoords(alive, realCoords) {
|
|
1142
|
-
return Vector3.fromArray(inv('0xA86D5F069399F44D', this.handle, alive, realCoords, rav()));
|
|
1143
|
-
}
|
|
1144
|
-
/**
|
|
1145
|
-
* @returns
|
|
1146
|
-
*/
|
|
1147
|
-
isAnObject() {
|
|
1148
|
-
return inv('0x0A27A546A375FDEF', this.handle, rai());
|
|
1149
|
-
}
|
|
1150
1283
|
/**
|
|
1151
1284
|
* Used in Script Function DUELING_DID_PLAYER_DISARM_OPPONENT
|
|
1152
1285
|
*
|
|
@@ -1227,92 +1360,6 @@ export class Entity {
|
|
|
1227
1360
|
isAtCoord(pos, xSize, ySize, zSize, p7, p8, p9) {
|
|
1228
1361
|
return inv('0x5E58342602E94718', this.handle, f(pos.x), f(pos.y), f(pos.z), f(xSize), f(ySize), f(zSize), p7, p8, p9, rai());
|
|
1229
1362
|
}
|
|
1230
|
-
/**
|
|
1231
|
-
* LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).
|
|
1232
|
-
*
|
|
1233
|
-
* @param value
|
|
1234
|
-
*/
|
|
1235
|
-
setLodDist(value) {
|
|
1236
|
-
inv('0x5FB407F0A7C877BF', this.handle, value);
|
|
1237
|
-
}
|
|
1238
|
-
/**
|
|
1239
|
-
* @param toggle
|
|
1240
|
-
*/
|
|
1241
|
-
setDynamic(toggle) {
|
|
1242
|
-
inv('0xFBFC4473F66CE344', this.handle, toggle);
|
|
1243
|
-
}
|
|
1244
|
-
/**
|
|
1245
|
-
* @param radius
|
|
1246
|
-
*/
|
|
1247
|
-
setCustomPickupRadius(radius) {
|
|
1248
|
-
inv('0x482D17E45665DA44', this.handle, f(radius));
|
|
1249
|
-
}
|
|
1250
|
-
/**
|
|
1251
|
-
* @returns
|
|
1252
|
-
*/
|
|
1253
|
-
getPopulationType() {
|
|
1254
|
-
return inv('0xADE28862B6D7B85B', this.handle, rai());
|
|
1255
|
-
}
|
|
1256
|
-
/**
|
|
1257
|
-
* @returns
|
|
1258
|
-
*/
|
|
1259
|
-
isAVehicle() {
|
|
1260
|
-
return inv('0xC3D96AF45FCCEC4C', this.handle, rai());
|
|
1261
|
-
}
|
|
1262
|
-
/**
|
|
1263
|
-
* @param pos
|
|
1264
|
-
* @param atTop
|
|
1265
|
-
* @param inWorldCoords
|
|
1266
|
-
* @returns
|
|
1267
|
-
*/
|
|
1268
|
-
getHeight(pos, atTop, inWorldCoords) {
|
|
1269
|
-
return inv('0x296DEBC84474B375', this.handle, f(pos.x), f(pos.y), f(pos.z), atTop, inWorldCoords, raf());
|
|
1270
|
-
}
|
|
1271
|
-
/**
|
|
1272
|
-
* @param pos
|
|
1273
|
-
* @returns
|
|
1274
|
-
*/
|
|
1275
|
-
getOffsetFromGivenWorldCoords(pos) {
|
|
1276
|
-
return Vector3.fromArray(inv('0x497C6B1A2C9AE69C', this.handle, f(pos.x), f(pos.y), f(pos.z), rav()));
|
|
1277
|
-
}
|
|
1278
|
-
addTrackingTrails() {
|
|
1279
|
-
inv('0x1AD922AB5038DEF3', this.handle);
|
|
1280
|
-
}
|
|
1281
|
-
/**
|
|
1282
|
-
* @param toggle
|
|
1283
|
-
*/
|
|
1284
|
-
setCanClimbOnEntity(toggle) {
|
|
1285
|
-
inv('0x24AED2A608F93C4C', this.handle, toggle);
|
|
1286
|
-
}
|
|
1287
|
-
/**
|
|
1288
|
-
* @returns minimum; maximum
|
|
1289
|
-
*/
|
|
1290
|
-
getWorldPositionOfDimensions() {
|
|
1291
|
-
const result = inv('0xF3FDA9A617A15145', this.handle, pvv(), pvv());
|
|
1292
|
-
return [Vector3.fromArray(result[0]), Vector3.fromArray(result[1])];
|
|
1293
|
-
}
|
|
1294
|
-
/**
|
|
1295
|
-
* @param p1
|
|
1296
|
-
* @returns
|
|
1297
|
-
*/
|
|
1298
|
-
isUnderwater(p1) {
|
|
1299
|
-
return inv('0xD4E5C1E93C466127', this.handle, p1);
|
|
1300
|
-
}
|
|
1301
|
-
/**
|
|
1302
|
-
* @param animation
|
|
1303
|
-
* @param animGroup
|
|
1304
|
-
* @param p3
|
|
1305
|
-
* @returns
|
|
1306
|
-
*/
|
|
1307
|
-
stopAnim(animation, animGroup, p3) {
|
|
1308
|
-
return inv('0x786591D986DE9159', this.handle, animation, animGroup, f(p3));
|
|
1309
|
-
}
|
|
1310
|
-
/**
|
|
1311
|
-
* @returns
|
|
1312
|
-
*/
|
|
1313
|
-
hasCollidedWithAnything() {
|
|
1314
|
-
return inv('0xDF18751EC74F90FF', this.handle, rai());
|
|
1315
|
-
}
|
|
1316
1363
|
/**
|
|
1317
1364
|
* @param entity2
|
|
1318
1365
|
* @param p2
|
|
@@ -1434,47 +1481,5 @@ export class Entity {
|
|
|
1434
1481
|
isUpright(angle) {
|
|
1435
1482
|
return inv('0xF6F6AFD8D4FB2658', this.handle, f(angle), rai());
|
|
1436
1483
|
}
|
|
1437
|
-
/**
|
|
1438
|
-
* Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
|
|
1439
|
-
*
|
|
1440
|
-
* @returns
|
|
1441
|
-
*/
|
|
1442
|
-
getVehicleIndexFromIndex() {
|
|
1443
|
-
return createFromHandle('Vehicle', inv('0xDF1E5AAC561AFC59', this.handle, rai()));
|
|
1444
|
-
}
|
|
1445
|
-
/**
|
|
1446
|
-
* @returns
|
|
1447
|
-
*/
|
|
1448
|
-
isVisible() {
|
|
1449
|
-
return inv('0xFFC96ECB7FA404CA', this.handle, rai());
|
|
1450
|
-
}
|
|
1451
|
-
/**
|
|
1452
|
-
* SET_ENTITY_LO*
|
|
1453
|
-
*
|
|
1454
|
-
* @param toggle
|
|
1455
|
-
*/
|
|
1456
|
-
N_0xFF9965C47FA404DA(toggle) {
|
|
1457
|
-
inv('0xFF9965C47FA404DA', this.handle, toggle);
|
|
1458
|
-
}
|
|
1459
|
-
/**
|
|
1460
|
-
* Valid indices: 0 - 3
|
|
1461
|
-
* Index 1 always returns a `hogtied` config, doesn't matter the entity.
|
|
1462
|
-
* It's for humans only and the ped must be resurrected first if it's dead.
|
|
1463
|
-
*
|
|
1464
|
-
* @param index
|
|
1465
|
-
* @returns
|
|
1466
|
-
*/
|
|
1467
|
-
getOptimalCarryConfig(index) {
|
|
1468
|
-
return (inv('0x34F008A7E48C496B', this.handle, index, rai())) & 0xFFFFFFFF;
|
|
1469
|
-
}
|
|
1470
|
-
setFadeIn() {
|
|
1471
|
-
inv('0xA91E6CF94404E8C9', this.handle);
|
|
1472
|
-
}
|
|
1473
|
-
/**
|
|
1474
|
-
* @returns
|
|
1475
|
-
*/
|
|
1476
|
-
hasBeenDamagedByAnyPed() {
|
|
1477
|
-
return inv('0x9934E9C42D52D87E', this.handle, rai());
|
|
1478
|
-
}
|
|
1479
1484
|
}
|
|
1480
1485
|
registerHandle('Entity', Entity);
|