@nativewrappers/redm-codegen 0.0.4 → 0.0.5

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.
Files changed (317) hide show
  1. package/dist/classes/AnimScene.d.ts +96 -96
  2. package/dist/classes/AnimScene.d.ts.map +1 -1
  3. package/dist/classes/AnimScene.js +137 -137
  4. package/dist/classes/BaseModel.d.ts +19 -19
  5. package/dist/classes/BaseModel.d.ts.map +1 -1
  6. package/dist/classes/BaseModel.js +33 -33
  7. package/dist/classes/BaseTask.d.ts +33 -33
  8. package/dist/classes/BaseTask.d.ts.map +1 -1
  9. package/dist/classes/BaseTask.js +40 -40
  10. package/dist/classes/Cam.d.ts +85 -85
  11. package/dist/classes/Cam.d.ts.map +1 -1
  12. package/dist/classes/Cam.js +108 -108
  13. package/dist/classes/Entity.d.ts +288 -283
  14. package/dist/classes/Entity.d.ts.map +1 -1
  15. package/dist/classes/Entity.js +410 -401
  16. package/dist/classes/Interior.d.ts +27 -27
  17. package/dist/classes/Interior.d.ts.map +1 -1
  18. package/dist/classes/Interior.js +42 -42
  19. package/dist/classes/ItemSet.d.ts +2 -2
  20. package/dist/classes/ItemSet.d.ts.map +1 -1
  21. package/dist/classes/ItemSet.js +3 -3
  22. package/dist/classes/Ped.d.ts +286 -286
  23. package/dist/classes/Ped.d.ts.map +1 -1
  24. package/dist/classes/Ped.js +425 -425
  25. package/dist/classes/PedModel.d.ts +1 -1
  26. package/dist/classes/PedModel.d.ts.map +1 -1
  27. package/dist/classes/PedModel.js +2 -2
  28. package/dist/classes/PedTask.d.ts +729 -729
  29. package/dist/classes/PedTask.d.ts.map +1 -1
  30. package/dist/classes/PedTask.js +935 -935
  31. package/dist/classes/PersChar.d.ts +13 -13
  32. package/dist/classes/PersChar.d.ts.map +1 -1
  33. package/dist/classes/PersChar.js +19 -19
  34. package/dist/classes/Pickup.d.ts +6 -6
  35. package/dist/classes/Pickup.d.ts.map +1 -1
  36. package/dist/classes/Pickup.js +13 -13
  37. package/dist/classes/Player.d.ts +343 -339
  38. package/dist/classes/Player.d.ts.map +1 -1
  39. package/dist/classes/Player.js +495 -489
  40. package/dist/classes/Prop.d.ts +64 -64
  41. package/dist/classes/Prop.d.ts.map +1 -1
  42. package/dist/classes/Prop.js +94 -94
  43. package/dist/classes/PropSet.d.ts +18 -18
  44. package/dist/classes/PropSet.d.ts.map +1 -1
  45. package/dist/classes/PropSet.js +27 -27
  46. package/dist/classes/Vehicle.d.ts +122 -122
  47. package/dist/classes/Vehicle.d.ts.map +1 -1
  48. package/dist/classes/Vehicle.js +147 -147
  49. package/dist/classes/VehicleModel.d.ts +1 -1
  50. package/dist/classes/VehicleModel.d.ts.map +1 -1
  51. package/dist/classes/VehicleModel.js +2 -2
  52. package/dist/classes/VehicleTask.d.ts +24 -24
  53. package/dist/classes/VehicleTask.d.ts.map +1 -1
  54. package/dist/classes/VehicleTask.js +30 -30
  55. package/dist/classes/Volume.d.ts +44 -44
  56. package/dist/classes/Volume.d.ts.map +1 -1
  57. package/dist/classes/Volume.js +58 -58
  58. package/dist/classes/Weapon.d.ts +351 -351
  59. package/dist/classes/Weapon.d.ts.map +1 -1
  60. package/dist/classes/Weapon.js +486 -486
  61. package/dist/namespaces/Aicoverpoint.d.ts +23 -23
  62. package/dist/namespaces/Aicoverpoint.d.ts.map +1 -1
  63. package/dist/namespaces/Aicoverpoint.js +35 -35
  64. package/dist/namespaces/Aitransport.d.ts +78 -78
  65. package/dist/namespaces/Aitransport.d.ts.map +1 -1
  66. package/dist/namespaces/Aitransport.js +95 -95
  67. package/dist/namespaces/Animscene.d.ts +48 -48
  68. package/dist/namespaces/Animscene.d.ts.map +1 -1
  69. package/dist/namespaces/Animscene.js +65 -65
  70. package/dist/namespaces/Audio.d.ts +476 -476
  71. package/dist/namespaces/Audio.d.ts.map +1 -1
  72. package/dist/namespaces/Audio.js +692 -692
  73. package/dist/namespaces/Bounty.d.ts +57 -57
  74. package/dist/namespaces/Bounty.d.ts.map +1 -1
  75. package/dist/namespaces/Bounty.js +90 -90
  76. package/dist/namespaces/CamStatics.d.ts +432 -432
  77. package/dist/namespaces/CamStatics.d.ts.map +1 -1
  78. package/dist/namespaces/CamStatics.js +606 -606
  79. package/dist/namespaces/Collection.d.ts +78 -78
  80. package/dist/namespaces/Collection.d.ts.map +1 -1
  81. package/dist/namespaces/Collection.js +111 -111
  82. package/dist/namespaces/Companion.d.ts +22 -22
  83. package/dist/namespaces/Companion.d.ts.map +1 -1
  84. package/dist/namespaces/Companion.js +30 -30
  85. package/dist/namespaces/Compapp.js +1 -1
  86. package/dist/namespaces/Compendium.d.ts +58 -58
  87. package/dist/namespaces/Compendium.d.ts.map +1 -1
  88. package/dist/namespaces/Compendium.js +83 -83
  89. package/dist/namespaces/Crashlog.d.ts +10 -10
  90. package/dist/namespaces/Crashlog.d.ts.map +1 -1
  91. package/dist/namespaces/Crashlog.js +21 -21
  92. package/dist/namespaces/Crew.js +4 -4
  93. package/dist/namespaces/Databinding.d.ts +154 -154
  94. package/dist/namespaces/Databinding.d.ts.map +1 -1
  95. package/dist/namespaces/Databinding.js +222 -222
  96. package/dist/namespaces/Datafile.js +4 -4
  97. package/dist/namespaces/Decorator.d.ts +19 -19
  98. package/dist/namespaces/Decorator.d.ts.map +1 -1
  99. package/dist/namespaces/Decorator.js +34 -34
  100. package/dist/namespaces/Dlc.d.ts +5 -5
  101. package/dist/namespaces/Dlc.d.ts.map +1 -1
  102. package/dist/namespaces/Dlc.js +9 -9
  103. package/dist/namespaces/EntityStatics.d.ts +80 -80
  104. package/dist/namespaces/EntityStatics.d.ts.map +1 -1
  105. package/dist/namespaces/EntityStatics.js +113 -113
  106. package/dist/namespaces/Event.js +4 -4
  107. package/dist/namespaces/Fire.d.ts +89 -89
  108. package/dist/namespaces/Fire.d.ts.map +1 -1
  109. package/dist/namespaces/Fire.js +115 -115
  110. package/dist/namespaces/Flock.js +2 -2
  111. package/dist/namespaces/Gang.js +2 -2
  112. package/dist/namespaces/GoogleAnalytics.js +2 -2
  113. package/dist/namespaces/Graphics.d.ts +781 -781
  114. package/dist/namespaces/Graphics.d.ts.map +1 -1
  115. package/dist/namespaces/Graphics.js +1207 -1207
  116. package/dist/namespaces/Hud.d.ts +483 -483
  117. package/dist/namespaces/Hud.d.ts.map +1 -1
  118. package/dist/namespaces/Hud.js +678 -678
  119. package/dist/namespaces/Ik.js +1 -1
  120. package/dist/namespaces/Interaction.js +3 -3
  121. package/dist/namespaces/InteriorStatics.d.ts +40 -40
  122. package/dist/namespaces/InteriorStatics.d.ts.map +1 -1
  123. package/dist/namespaces/InteriorStatics.js +57 -57
  124. package/dist/namespaces/Inventory.d.ts +211 -211
  125. package/dist/namespaces/Inventory.d.ts.map +1 -1
  126. package/dist/namespaces/Inventory.js +291 -291
  127. package/dist/namespaces/Itemdatabase.js +3 -3
  128. package/dist/namespaces/Itemset.js +2 -2
  129. package/dist/namespaces/Law.d.ts +1 -1
  130. package/dist/namespaces/Law.d.ts.map +1 -1
  131. package/dist/namespaces/Law.js +19 -19
  132. package/dist/namespaces/Localization.js +1 -1
  133. package/dist/namespaces/Map.js +3 -3
  134. package/dist/namespaces/Minigame.d.ts +65 -65
  135. package/dist/namespaces/Minigame.d.ts.map +1 -1
  136. package/dist/namespaces/Minigame.js +105 -105
  137. package/dist/namespaces/Misc.d.ts +3 -3
  138. package/dist/namespaces/Misc.d.ts.map +1 -1
  139. package/dist/namespaces/Misc.js +35 -35
  140. package/dist/namespaces/Missiondata.d.ts +15 -15
  141. package/dist/namespaces/Missiondata.d.ts.map +1 -1
  142. package/dist/namespaces/Missiondata.js +24 -24
  143. package/dist/namespaces/Money.js +3 -3
  144. package/dist/namespaces/Netshopping.d.ts +58 -58
  145. package/dist/namespaces/Netshopping.d.ts.map +1 -1
  146. package/dist/namespaces/Netshopping.js +89 -89
  147. package/dist/namespaces/Network.d.ts +1067 -1067
  148. package/dist/namespaces/Network.d.ts.map +1 -1
  149. package/dist/namespaces/Network.js +1586 -1586
  150. package/dist/namespaces/Object.d.ts +231 -231
  151. package/dist/namespaces/Object.d.ts.map +1 -1
  152. package/dist/namespaces/Object.js +337 -337
  153. package/dist/namespaces/Pad.d.ts +42 -42
  154. package/dist/namespaces/Pad.d.ts.map +1 -1
  155. package/dist/namespaces/Pad.js +68 -68
  156. package/dist/namespaces/Pathfind.js +10 -10
  157. package/dist/namespaces/PedStatics.d.ts +2 -2
  158. package/dist/namespaces/PedStatics.d.ts.map +1 -1
  159. package/dist/namespaces/PedStatics.js +10 -10
  160. package/dist/namespaces/Perschar.d.ts +54 -54
  161. package/dist/namespaces/Perschar.d.ts.map +1 -1
  162. package/dist/namespaces/Perschar.js +84 -84
  163. package/dist/namespaces/Physics.d.ts +121 -121
  164. package/dist/namespaces/Physics.d.ts.map +1 -1
  165. package/dist/namespaces/Physics.js +155 -155
  166. package/dist/namespaces/PlayerStatics.d.ts +97 -97
  167. package/dist/namespaces/PlayerStatics.d.ts.map +1 -1
  168. package/dist/namespaces/PlayerStatics.js +142 -142
  169. package/dist/namespaces/Population.d.ts +11 -11
  170. package/dist/namespaces/Population.d.ts.map +1 -1
  171. package/dist/namespaces/Population.js +15 -15
  172. package/dist/namespaces/Posse.d.ts +33 -33
  173. package/dist/namespaces/Posse.d.ts.map +1 -1
  174. package/dist/namespaces/Posse.js +51 -51
  175. package/dist/namespaces/Propset.d.ts +59 -59
  176. package/dist/namespaces/Propset.d.ts.map +1 -1
  177. package/dist/namespaces/Propset.js +81 -81
  178. package/dist/namespaces/Replay.d.ts +1 -1
  179. package/dist/namespaces/Replay.d.ts.map +1 -1
  180. package/dist/namespaces/Replay.js +2 -2
  181. package/dist/namespaces/Scripts.d.ts +1 -1
  182. package/dist/namespaces/Scripts.d.ts.map +1 -1
  183. package/dist/namespaces/Scripts.js +12 -12
  184. package/dist/namespaces/Shapetest.d.ts +11 -11
  185. package/dist/namespaces/Shapetest.d.ts.map +1 -1
  186. package/dist/namespaces/Shapetest.js +13 -13
  187. package/dist/namespaces/Socialclub.js +8 -8
  188. package/dist/namespaces/Socialclubfeed.js +1 -1
  189. package/dist/namespaces/Spactionproxy.js +4 -4
  190. package/dist/namespaces/Stats.d.ts +191 -191
  191. package/dist/namespaces/Stats.d.ts.map +1 -1
  192. package/dist/namespaces/Stats.js +281 -281
  193. package/dist/namespaces/Streaming.d.ts +84 -84
  194. package/dist/namespaces/Streaming.d.ts.map +1 -1
  195. package/dist/namespaces/Streaming.js +137 -137
  196. package/dist/namespaces/Task.d.ts +347 -347
  197. package/dist/namespaces/Task.d.ts.map +1 -1
  198. package/dist/namespaces/Task.js +488 -488
  199. package/dist/namespaces/Telemetry.d.ts +151 -151
  200. package/dist/namespaces/Telemetry.d.ts.map +1 -1
  201. package/dist/namespaces/Telemetry.js +206 -206
  202. package/dist/namespaces/Txd.js +1 -1
  203. package/dist/namespaces/Uiapps.d.ts +25 -25
  204. package/dist/namespaces/Uiapps.d.ts.map +1 -1
  205. package/dist/namespaces/Uiapps.js +36 -36
  206. package/dist/namespaces/Uievents.js +1 -1
  207. package/dist/namespaces/Uifeed.d.ts +15 -15
  208. package/dist/namespaces/Uifeed.d.ts.map +1 -1
  209. package/dist/namespaces/Uifeed.js +25 -25
  210. package/dist/namespaces/Uistickyfeed.d.ts +16 -16
  211. package/dist/namespaces/Uistickyfeed.d.ts.map +1 -1
  212. package/dist/namespaces/Uistickyfeed.js +21 -21
  213. package/dist/namespaces/Unlock.js +5 -5
  214. package/dist/namespaces/VehicleStatics.js +12 -12
  215. package/dist/namespaces/Voice.d.ts +38 -38
  216. package/dist/namespaces/Voice.d.ts.map +1 -1
  217. package/dist/namespaces/Voice.js +61 -61
  218. package/dist/namespaces/VolumeStatics.d.ts +99 -99
  219. package/dist/namespaces/VolumeStatics.d.ts.map +1 -1
  220. package/dist/namespaces/VolumeStatics.js +137 -137
  221. package/dist/namespaces/WeaponStatics.d.ts +276 -276
  222. package/dist/namespaces/WeaponStatics.d.ts.map +1 -1
  223. package/dist/namespaces/WeaponStatics.js +371 -371
  224. package/dist/types/NativeAliases.d.ts +3 -1
  225. package/dist/types/NativeAliases.d.ts.map +1 -1
  226. package/dist/types/NativeAliases.js +3 -1
  227. package/package.json +1 -1
  228. package/src/classes/AnimScene.ts +159 -159
  229. package/src/classes/BaseModel.ts +37 -37
  230. package/src/classes/BaseTask.ts +41 -41
  231. package/src/classes/Cam.ts +111 -111
  232. package/src/classes/Entity.ts +422 -411
  233. package/src/classes/Interior.ts +43 -43
  234. package/src/classes/ItemSet.ts +3 -3
  235. package/src/classes/Ped.ts +432 -432
  236. package/src/classes/PedModel.ts +2 -2
  237. package/src/classes/PedTask.ts +957 -957
  238. package/src/classes/PersChar.ts +22 -22
  239. package/src/classes/Pickup.ts +14 -14
  240. package/src/classes/Player.ts +994 -987
  241. package/src/classes/Prop.ts +106 -106
  242. package/src/classes/PropSet.ts +29 -29
  243. package/src/classes/Vehicle.ts +147 -147
  244. package/src/classes/VehicleModel.ts +2 -2
  245. package/src/classes/VehicleTask.ts +31 -31
  246. package/src/classes/Volume.ts +62 -62
  247. package/src/classes/Weapon.ts +511 -511
  248. package/src/namespaces/Aicoverpoint.ts +40 -40
  249. package/src/namespaces/Aitransport.ts +104 -104
  250. package/src/namespaces/Animscene.ts +71 -71
  251. package/src/namespaces/Audio.ts +725 -725
  252. package/src/namespaces/Bounty.ts +102 -102
  253. package/src/namespaces/CamStatics.ts +700 -700
  254. package/src/namespaces/Collection.ts +113 -113
  255. package/src/namespaces/Companion.ts +34 -34
  256. package/src/namespaces/Compapp.ts +1 -1
  257. package/src/namespaces/Compendium.ts +94 -94
  258. package/src/namespaces/Crashlog.ts +23 -23
  259. package/src/namespaces/Crew.ts +4 -4
  260. package/src/namespaces/Databinding.ts +237 -237
  261. package/src/namespaces/Datafile.ts +4 -4
  262. package/src/namespaces/Decorator.ts +37 -37
  263. package/src/namespaces/Dlc.ts +9 -9
  264. package/src/namespaces/EntityStatics.ts +117 -117
  265. package/src/namespaces/Event.ts +4 -4
  266. package/src/namespaces/Fire.ts +127 -127
  267. package/src/namespaces/Flock.ts +2 -2
  268. package/src/namespaces/Gang.ts +2 -2
  269. package/src/namespaces/GoogleAnalytics.ts +2 -2
  270. package/src/namespaces/Graphics.ts +1218 -1218
  271. package/src/namespaces/Hud.ts +696 -696
  272. package/src/namespaces/Ik.ts +1 -1
  273. package/src/namespaces/Interaction.ts +3 -3
  274. package/src/namespaces/InteriorStatics.ts +65 -65
  275. package/src/namespaces/Inventory.ts +294 -294
  276. package/src/namespaces/Itemdatabase.ts +3 -3
  277. package/src/namespaces/Itemset.ts +2 -2
  278. package/src/namespaces/Law.ts +20 -20
  279. package/src/namespaces/Localization.ts +1 -1
  280. package/src/namespaces/Map.ts +3 -3
  281. package/src/namespaces/Minigame.ts +109 -109
  282. package/src/namespaces/Misc.ts +38 -38
  283. package/src/namespaces/Missiondata.ts +28 -28
  284. package/src/namespaces/Money.ts +3 -3
  285. package/src/namespaces/Netshopping.ts +99 -99
  286. package/src/namespaces/Network.ts +1616 -1616
  287. package/src/namespaces/Object.ts +344 -344
  288. package/src/namespaces/Pad.ts +76 -76
  289. package/src/namespaces/Pathfind.ts +10 -10
  290. package/src/namespaces/PedStatics.ts +12 -12
  291. package/src/namespaces/Perschar.ts +86 -86
  292. package/src/namespaces/Physics.ts +171 -171
  293. package/src/namespaces/PlayerStatics.ts +162 -162
  294. package/src/namespaces/Population.ts +17 -17
  295. package/src/namespaces/Posse.ts +54 -54
  296. package/src/namespaces/Propset.ts +92 -92
  297. package/src/namespaces/Replay.ts +3 -3
  298. package/src/namespaces/Scripts.ts +13 -13
  299. package/src/namespaces/Shapetest.ts +14 -14
  300. package/src/namespaces/Socialclub.ts +8 -8
  301. package/src/namespaces/Socialclubfeed.ts +1 -1
  302. package/src/namespaces/Spactionproxy.ts +4 -4
  303. package/src/namespaces/Stats.ts +287 -287
  304. package/src/namespaces/Streaming.ts +159 -159
  305. package/src/namespaces/Task.ts +517 -517
  306. package/src/namespaces/Telemetry.ts +224 -224
  307. package/src/namespaces/Txd.ts +1 -1
  308. package/src/namespaces/Uiapps.ts +43 -43
  309. package/src/namespaces/Uievents.ts +1 -1
  310. package/src/namespaces/Uifeed.ts +28 -28
  311. package/src/namespaces/Uistickyfeed.ts +23 -23
  312. package/src/namespaces/Unlock.ts +5 -5
  313. package/src/namespaces/VehicleStatics.ts +12 -12
  314. package/src/namespaces/Voice.ts +70 -70
  315. package/src/namespaces/VolumeStatics.ts +143 -143
  316. package/src/namespaces/WeaponStatics.ts +383 -383
  317. package/src/types/NativeAliases.ts +6 -1
@@ -1,108 +1,94 @@
1
1
  import { createFromHandle } from '../types/HandleRegistry';
2
2
  import { inv, rai, raf, ras, pvi, _h, f } from '../types/NativeAliases';
3
3
  export class Network {
4
- static disableRealtimeMultiplayer() {
5
- inv('0x236905C700FDB54D');
6
- }
7
4
  /**
8
- * @param volume
5
+ * @param description
6
+ * @returns
9
7
  */
10
- static spawnConfigRemoveExclusionVolume(volume) {
11
- inv('0xA35E7BF20FA269E0', volume.handle);
8
+ static ugcDidDescriptionRequestSucceed(description) {
9
+ return !!inv('0x162C23CA83ED0A62', _h(description), rai());
12
10
  }
13
11
  /**
14
- * @param tunableContext
15
- * @param tunableName
16
12
  * @returns
17
13
  */
18
- static doesTunableExist(tunableContext, tunableName) {
19
- return inv('0x85E5F8B9B898B20A', _h(tunableContext), _h(tunableName), rai());
14
+ static getGameMode() {
15
+ return inv('0x225640E09EFFDC3F', rai());
20
16
  }
21
17
  /**
22
- * Note: this native was added in build 1311.23
23
- *
24
- * @param p0
25
- * @returns
18
+ * @param amount
26
19
  */
27
- static N_0x982D7AD755B8F62C(p0) {
28
- return inv('0x982D7AD755B8F62C', p0, rai());
29
- }
30
- static startSoloTutorialSession() {
31
- inv('0x17E0198B3882C2CB');
20
+ static reserveNetworkClientMissionPeds(amount) {
21
+ inv('0x807E119F80231732', amount);
32
22
  }
33
23
  /**
34
24
  * @param p0
25
+ * @param p1
35
26
  * @param p2
36
27
  * @param p3
37
- * @returns p1
38
28
  */
39
- static setRichPresence(p0, p2, p3) {
40
- const result = inv('0x1DCCACDCFC569362', p0, pvi(), p2, p3);
41
- return result;
29
+ static setInMpCutscene(p0, p1, p2, p3) {
30
+ inv('0x9CA5DE655269FEC4', p0, p1, p2, p3);
42
31
  }
43
32
  /**
44
- * @returns
33
+ * @param toggle
34
+ * @param playerPed
45
35
  */
46
- static pedmugshotTake() {
47
- return inv('0xCD954F330693F5F2');
36
+ static setInSpectatorMode(toggle, playerPed) {
37
+ inv('0x423DE3854BB50894', toggle, playerPed.handle);
48
38
  }
49
39
  /**
50
- * @param entity
40
+ * @param p0
51
41
  */
52
- static N_0xBB1EC8C2EEF33BAA(entity) {
53
- inv('0xBB1EC8C2EEF33BAA', entity.handle);
42
+ static N_0x3E74A687A73979C6(p0) {
43
+ inv('0x3E74A687A73979C6', p0);
54
44
  }
55
45
  /**
56
- * @returns
46
+ * @returns sessionRequestId
57
47
  */
58
- static haveOnlinePrivileges() {
59
- return inv('0x25CB5A9F37BFD063', rai());
48
+ static sessionIsRequestPendingTransition() {
49
+ const result = inv('0xCCF878D50F8AB10D', pvi());
50
+ return [result[0], result[1]];
60
51
  }
61
52
  /**
62
- * @param p0
63
- * @param index
64
- * @returns
53
+ * @param offset
65
54
  */
66
- static ugcQueryGetRootContentId(p0, index) {
67
- return inv('0x566CEB0542EF5ECF', p0, index, ras());
55
+ static spawnConfigSetGroundToRootOffset(offset) {
56
+ inv('0x59577799F6AE2F34', f(offset));
68
57
  }
69
58
  /**
70
59
  * @returns
71
60
  */
72
- static didFindGamersSucceed() {
73
- return inv('0xF9B83B77929D8863');
74
- }
75
- static N_0x0BF90CBB6B72977B() {
76
- inv('0x0BF90CBB6B72977B');
61
+ static checkAccessAndAlertIfFail() {
62
+ return inv('0x2A8112A974DE1EF6');
77
63
  }
78
64
  /**
79
- * @returns gamerHandle
65
+ * Note: this native was added in build 1311.23
66
+ *
67
+ * @returns
80
68
  */
81
- static getLocalHandle() {
82
- const result = inv('0xE86051786B66CD8E', pvi());
83
- return result;
69
+ static N_0xFB3205788F8AFA3F() {
70
+ return inv('0xFB3205788F8AFA3F', rai());
84
71
  }
85
72
  /**
86
- * nullsub, doesn't do anything
87
- *
88
- * @param p0
73
+ * @returns
89
74
  */
90
- static N_0x2C4E98DDA475364F(p0) {
91
- inv('0x2C4E98DDA475364F', p0);
75
+ static getNumRecentGamers() {
76
+ return inv('0x37A834AEC6A4F74A', rai());
92
77
  }
93
78
  /**
94
- * @param entity
95
79
  * @returns
96
80
  */
97
- static getGlobalEntityFlags(entity) {
98
- return inv('0xDD7806FD0543BC3D', entity.handle, rai());
81
+ static N_0xD3A3C8B9F3BDEF81() {
82
+ return inv('0xD3A3C8B9F3BDEF81');
99
83
  }
100
84
  /**
101
- * @param description
85
+ * Returns the entity's network ID.
86
+ *
87
+ * @param entity
102
88
  * @returns
103
89
  */
104
- static ugcHasDescriptionRequestFinished(description) {
105
- return inv('0xEBFA8D50ADDC54C4', _h(description), rai());
90
+ static N_0xF302AB9D978352EE(entity) {
91
+ return inv('0xF302AB9D978352EE', entity.handle, rai());
106
92
  }
107
93
  /**
108
94
  * @param contentTypeName
@@ -155,7 +141,7 @@ export class Network {
155
141
  * @returns
156
142
  */
157
143
  static isPlayerConcealed(player) {
158
- return inv('0x919B3C98ED8292F9', player.handle, rai());
144
+ return !!inv('0x919B3C98ED8292F9', player.handle, rai());
159
145
  }
160
146
  /**
161
147
  * @param description
@@ -168,7 +154,7 @@ export class Network {
168
154
  * @returns
169
155
  */
170
156
  static sessionLeaveSession() {
171
- return inv('0x17C21B7319A05047', rai());
157
+ return !!inv('0x17C21B7319A05047', rai());
172
158
  }
173
159
  /**
174
160
  * Hardcoded to return false.
@@ -204,7 +190,7 @@ export class Network {
204
190
  * @returns
205
191
  */
206
192
  static N_0xDCA4A74135E1DEA5(p0) {
207
- return inv('0xDCA4A74135E1DEA5', p0, rai());
193
+ return !!inv('0xDCA4A74135E1DEA5', p0, rai());
208
194
  }
209
195
  /**
210
196
  * @returns gamerHandle
@@ -229,235 +215,360 @@ export class Network {
229
215
  return createFromHandle('Entity', inv('0xCE4E5D9B0A4FF560', netId, rai()));
230
216
  }
231
217
  /**
232
- * Returns string for GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO
233
- *
234
- * @param p0
235
- * @param p1
236
- * @param p2
237
- * @returns
218
+ * Note: this native was added in build 1311.23, but was only used after build 1436.25
238
219
  */
239
- static ugcQueryGetCreatorPhoto(p0, p1, p2) {
240
- return inv('0x409FE0CA6A4D1D49', p0, p1, p2, ras());
220
+ static requestCloudTunables() {
221
+ inv('0x42FB3B532D526E6C');
241
222
  }
242
223
  /**
243
224
  * @param toggle
244
225
  */
245
- static setRecentGamersEnabled(toggle) {
246
- inv('0x29FE035D35B8589C', toggle);
226
+ static setScriptReadyForEvents(toggle) {
227
+ inv('0x7AC752103856FB20', toggle);
247
228
  }
248
229
  /**
230
+ * @param amount
249
231
  * @returns
250
232
  */
251
- static getLaunchParamString() {
252
- return inv('0xC59AB6A04333C502', ras());
233
+ static canRegisterMissionPeds(amount) {
234
+ return !!inv('0xBCBF4FEF9FA5D781', amount, rai());
253
235
  }
254
236
  /**
255
- * @param entity
256
- * @param toggle
237
+ * @returns gamerHandle1; gamerHandle2
257
238
  */
258
- static setEntityRemainsWhenUnnetworked(entity, toggle) {
259
- inv('0xD785864798258032', entity.handle, toggle);
239
+ static areHandlesTheSame() {
240
+ const result = inv('0x57DBA049E110F217', pvi(), pvi(), rai());
241
+ return [!!result[0], result[1], result[2]];
260
242
  }
261
243
  /**
262
- * @param flags
263
- * @param userHash
264
- * @param p2
265
- * @returns sessionRequestId
244
+ * Old name: _SET_LOCAL_PLAYER_AS_GHOST
245
+ *
246
+ * @param toggle
266
247
  */
267
- static sessionRequestSessionNominated(flags, userHash, p2) {
268
- const result = inv('0x4F4672457FF597D1', flags, userHash, p2, pvi(), rai());
269
- return [!!result[0], result[1]];
248
+ static setLocalPlayerAsGhost(toggle) {
249
+ inv('0x5FFE9B4144F9712F', toggle);
270
250
  }
271
251
  /**
272
- * @param description
273
- * @returns
252
+ * Example: char displayName[64];
253
+ * if (_NETWORK_GET_DISPLAY_NAME_FROM_HANDLE(handle, displayName))
254
+ * {
255
+ * // use displayName
256
+ * }
257
+ *
258
+ * @param displayName
259
+ * @returns gamerHandle
274
260
  */
275
- static ugcIsDescriptionRequestInProgress(description) {
276
- return inv('0x2D5DC831176D0114', _h(description), rai());
261
+ static getDisplayNameFromHandle(displayName) {
262
+ const result = inv('0x7FEE4F07C54B6B3C', pvi(), displayName);
263
+ return [result[0], result[1]];
277
264
  }
278
- /**
279
- * @param ugcRequestId
280
- */
281
- static ugcClearQueryResults(ugcRequestId) {
282
- inv('0xE931354FEA710038', ugcRequestId);
265
+ static endTutorialSession() {
266
+ inv('0xD0AFAFF5A51D72F7');
283
267
  }
284
268
  /**
285
- * @param threadId
286
- * @returns
269
+ * @param p0
270
+ * @param p2
271
+ * @returns p1
287
272
  */
288
- static getHostOfThread(threadId) {
289
- return createFromHandle('Player', inv('0xB4A25351D79B444C', threadId, rai()));
273
+ static isPlayerAParticipantOnScript(p0, p2) {
274
+ const result = inv('0x1AD5B71586B94820', p0.handle, pvi(), p2, rai());
275
+ return [!!result[0], result[1]];
290
276
  }
291
277
  /**
292
278
  * @returns
293
279
  */
294
- static isGameInProgress() {
295
- return inv('0x10FAB35428CCC9D7', rai());
280
+ static getTotalNumFriends() {
281
+ return inv('0xDB7ABDD203FA3704', rai());
296
282
  }
297
283
  /**
298
- * @param rangeStart
299
- * @param rangeEnd
284
+ * Returns ugcRequestId
285
+ *
286
+ * @param p0
287
+ * @param maxGet
288
+ * @param contentTypeName
289
+ * @param p3
290
+ * @param p4
291
+ * @param p5
300
292
  * @returns
301
293
  */
302
- static getRandomIntRanged(rangeStart, rangeEnd) {
303
- return inv('0xE30CF56F1EFA5F43', rangeStart, rangeEnd, rai());
294
+ static ugcQueryByContentType(p0, maxGet, contentTypeName, p3, p4, p5) {
295
+ return inv('0xF40EF49B3099E98E', p0, maxGet, contentTypeName, p3, p4, p5, rai());
304
296
  }
305
297
  /**
306
298
  * @param p0
299
+ * @param index
300
+ * @param p2
307
301
  * @returns
308
302
  */
309
- static acceptRsInvite(p0) {
310
- return inv('0xB2CEA5105AAC8DDE', p0);
303
+ static ugcQueryGetRating(p0, index, p2) {
304
+ return inv('0x24CD8FAEA1368379', p0, index, p2, raf());
311
305
  }
312
306
  /**
313
307
  * @param player
314
- * @param toggle
315
308
  */
316
- static concealPlayer(player, toggle) {
317
- inv('0xBBDF066252829606', player.handle, toggle);
309
+ static N_0xD78A26024BB13E08(player) {
310
+ inv('0xD78A26024BB13E08', player.handle);
318
311
  }
319
312
  /**
320
- * ^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it. pc or last gen? ^^ last-gen Old name: _NETWORK_SET_ENTITY_INVISIBLE_TO_NETWORK
313
+ * Only used in R* Script fm_race_controller
321
314
  *
322
- * @param entity
323
- * @param toggle
315
+ * @param p0
324
316
  */
325
- static setEntityOnlyExistsForParticipants(entity, toggle) {
326
- inv('0xF1CA12B18AEF5298', entity.handle, toggle);
317
+ static N_0x71FA2D1880C48032(p0) {
318
+ inv('0x71FA2D1880C48032', p0);
327
319
  }
328
320
  /**
329
- * @param doorHash
321
+ * Note: this native was added in build 1311.23
322
+ *
323
+ * @param p0
324
+ * @param p1
325
+ * @param p2
326
+ * @param p3
327
+ * @returns
330
328
  */
331
- static setDoorNetworked(doorHash) {
332
- inv('0x51D99497ABF3F451', _h(doorHash));
329
+ static N_0x5F328FC909F0E0FF(p0, p1, p2, p3) {
330
+ return !!inv('0x5F328FC909F0E0FF', p0, p1, p2, p3, rai());
333
331
  }
334
332
  /**
335
- * @param p0
336
- * @param index
337
- * @returns gamerHandle
333
+ * Old name: _NETWORK_SET_VEHICLE_WHEELS_DESTRUCTIBLE
334
+ *
335
+ * @param entity
336
+ * @param p1
338
337
  */
339
- static ugcQueryGetCreatorHandle(p0, index) {
340
- const result = inv('0xADB56322EEDFBDC9', p0, index, pvi());
341
- return [result[0], result[1]];
338
+ static triggerDamageEventForZeroDamage(entity, p1) {
339
+ inv('0x0C8BC052AE87D744', entity.handle, p1);
342
340
  }
343
341
  /**
344
- * @param paramName
342
+ * nullsub, doesn't do anything
343
+ *
345
344
  * @returns
346
345
  */
347
- static getLaunchParamExists(paramName) {
348
- return inv('0x02E97CE283648CD9', paramName);
346
+ static getNetStatisticsInfo() {
347
+ return inv('0x6FD992C4A1C1B986');
349
348
  }
350
349
  /**
351
- * @returns gamerHandle
350
+ * nullsub, doesn't do anything
352
351
  */
353
- static canReceiveInviteFromHandle() {
354
- const result = inv('0xF23D6475640D29EB', pvi());
355
- return [result[0], result[1]];
352
+ static N_0xFC6FCF4C03F1BBF6() {
353
+ inv('0xFC6FCF4C03F1BBF6');
356
354
  }
357
- /**
358
- * @param player
359
- * @param p1
360
- */
361
- static addPlayerToRecentGamersList(player, p1) {
362
- inv('0x157D8F3DE12B307F', player.handle, p1);
355
+ static N_0x43CF999205084B4B() {
356
+ inv('0x43CF999205084B4B');
363
357
  }
364
358
  /**
359
+ * p0 appears to be for MP
360
+ *
361
+ * @param p0
365
362
  * @returns
366
363
  */
367
- static N_0x232E1EB23CDB313C() {
368
- return inv('0x232E1EB23CDB313C', rai());
364
+ static getNumReservedMissionVehicles(p0) {
365
+ return inv('0xCF3A965906452031', p0, rai());
369
366
  }
370
367
  /**
371
- * Note: this native was added in build 1311.23
372
- *
373
- * @returns sessionId1; sessionId2
368
+ * @param name
369
+ * @returns
374
370
  */
375
- static sessionAreSessionIdsEqual() {
376
- const result = inv('0x4DEC5000F7B508F0', pvi(), pvi(), rai());
377
- return [!!result[0], result[1], result[2]];
371
+ static textureDownloadTextureNameIsValid(name) {
372
+ return inv('0xE2C3CEC3C0903A00', name);
378
373
  }
379
374
  /**
375
+ * @param scriptName
376
+ * @param p1
377
+ * @param p2
378
+ * @param p3
380
379
  * @returns
381
380
  */
382
- static isTutorialSessionChangePending() {
383
- return inv('0x35F0B98A8387274D', rai());
381
+ static isScriptActive(scriptName, p1, p2, p3) {
382
+ return !!inv('0x9D40DF90FAD26098', scriptName, p1, p2, p3, rai());
384
383
  }
385
- static ugcReleaseAllCachedDescriptions() {
386
- inv('0x68103E2247887242');
384
+ /**
385
+ * @param p0
386
+ */
387
+ static N_0x5CB8B0C846D0F30B(p0) {
388
+ inv('0x5CB8B0C846D0F30B', p0);
389
+ }
390
+ /**
391
+ * @returns loadingState
392
+ */
393
+ static canAccessMultiplayer() {
394
+ const result = inv('0xAF50DA1A3F8B1BA4', pvi(), rai());
395
+ return [!!result[0], result[1]];
396
+ }
397
+ /**
398
+ * @returns p0
399
+ */
400
+ static getCurrentFriendPageData() {
401
+ const result = inv('0xA3EEC0A5AFF3FC5B', pvi());
402
+ return [result[0], result[1]];
403
+ }
404
+ /**
405
+ * @returns p0
406
+ */
407
+ static getSizeOfHostBroadcastDataStorage() {
408
+ const result = inv('0xBA24095EA96DFE17', pvi(), rai());
409
+ return [result[0], result[1]];
387
410
  }
388
411
  /**
389
- * @param animScene
390
412
  * @returns
391
413
  */
392
- static requestControlOfAnimScene(animScene) {
393
- return inv('0xAAA92B631B13F614', animScene.handle);
414
+ static getInstanceIdOfThisScript() {
415
+ return inv('0x638A3A81733086DB', rai());
394
416
  }
395
- static setMissionFinished() {
396
- inv('0x3B3D11CD9FFCDFC9');
417
+ /**
418
+ * @param p0
419
+ * @returns
420
+ */
421
+ static awardHasReachedMaxclaim(p0) {
422
+ return inv('0xFBE782B3165AC8EC', p0);
397
423
  }
398
424
  /**
399
- * Note: this native was added in build 1311.23
400
- *
401
425
  * @param p0
402
426
  * @returns
403
427
  */
404
- static N_0x1E4E097D71D449FB(p0) {
405
- return inv('0x1E4E097D71D449FB', p0, rai());
428
+ static N_0xBB697756309D77EE(p0) {
429
+ return inv('0xBB697756309D77EE', p0);
430
+ }
431
+ /**
432
+ * @returns
433
+ */
434
+ static autoSessionIsInstancedSession() {
435
+ return inv('0x277865A734918AE6');
406
436
  }
407
437
  /**
408
- * Note: this native was added in build 1311.23
409
- *
410
438
  * @param p0
439
+ * @param p1
440
+ * @returns
411
441
  */
412
- static N_0xC1968045EEB563B7(p0) {
413
- inv('0xC1968045EEB563B7', p0);
442
+ static resetPopulation(p0, p1) {
443
+ return inv('0x101F538C25ABB39A', p0, p1);
414
444
  }
415
445
  /**
416
- * Old name: _CLEAR_LAUNCH_PARAMS
446
+ * @param ped
447
+ * @returns Returns the network id for the specified `ped` or `0` if the entity isn't networked.
417
448
  */
418
- static clearServiceEventArguments() {
419
- inv('0x966DD84FB6A46017');
449
+ static pedToNet(ped) {
450
+ return inv('0x0EDEC3C276198689', ped.handle, rai());
451
+ }
452
+ /**
453
+ * @param p0
454
+ * @returns
455
+ */
456
+ static N_0x27B1AE4D8C652F08(p0) {
457
+ return inv('0x27B1AE4D8C652F08', p0, rai());
458
+ }
459
+ /**
460
+ * @param entity
461
+ * @returns
462
+ */
463
+ static hasEntityBeenRegisteredWithThisThread(entity) {
464
+ return !!inv('0xB07D3185E11657A5', entity.handle, rai());
420
465
  }
421
466
  /**
422
- * Old name: _NETWORK_ALLOW_LOCAL_ENTITY_ATTACHMENT
423
- *
424
467
  * @param entity
425
468
  * @param toggle
426
469
  */
427
- static allowRemoteAttachmentModification(entity, toggle) {
428
- inv('0x267C78C60E806B9A', entity.handle, toggle);
470
+ static setEntityGhostedToLocalPlayer(entity, toggle) {
471
+ inv('0xEE5AE9956743BA20', entity.handle, toggle);
429
472
  }
430
473
  /**
431
- * @param volume
474
+ * @param player
475
+ * @returns weaponHash: Refer to [enum: eWeaponHash]
432
476
  */
433
- static spawnConfigAddExclusionVolume(volume) {
434
- inv('0xEEB7818B1D307212', volume.handle);
477
+ static getEntityKillerOfPlayer(player) {
478
+ const result = inv('0x42B2DAA6B596F5F8', player.handle, pvi(), rai());
479
+ return [createFromHandle('Entity', result[0]), result[1]];
435
480
  }
436
481
  /**
437
- * Note: this native was added in build 1436.31
438
- *
439
482
  * @param p0
440
483
  * @returns
441
484
  */
442
- static N_0x78271BC02AE9AF83(p0) {
443
- return inv('0x78271BC02AE9AF83', p0, rai());
485
+ static getNumCreatedMissionPickups(p0) {
486
+ return inv('0xD2BA051B94CA9BCC', p0, rai());
487
+ }
488
+ /**
489
+ * @param entity
490
+ * @param p1
491
+ * @param p2
492
+ * @param p3
493
+ */
494
+ static setEntityVisibleInCutscene(entity, p1, p2, p3) {
495
+ inv('0xE0031D3C8F36AB82', entity.handle, p1, p2, p3);
496
+ }
497
+ /**
498
+ * Hardcoded to return -1.
499
+ *
500
+ * @param p1
501
+ * @returns p0
502
+ */
503
+ static displaynamesFromHandlesStart(p1) {
504
+ const result = inv('0xD66C9E72B3CC4982', pvi(), p1, rai());
505
+ return [result[0], result[1]];
444
506
  }
445
507
  /**
446
- * @param netID
447
508
  * @returns
448
509
  */
449
- static isDamageTrackerActiveOnNetworkId(netID) {
450
- return inv('0x6E192E33AD436366', netID, rai());
510
+ static N_0xCC4E72C339461ED1() {
511
+ return inv('0xCC4E72C339461ED1');
451
512
  }
452
513
  /**
453
- * Always returns -1. Seems to be XB1 specific.
514
+ * nullsub, doesn't do anything
454
515
  *
455
- * @returns gamerHandle
516
+ * @returns
456
517
  */
457
- static startUserContentPermissionsCheck() {
458
- const result = inv('0xDEB2B99A1AF1A2A6', pvi(), rai());
518
+ static N_0x160F0CE6D76A39C9() {
519
+ return inv('0x160F0CE6D76A39C9');
520
+ }
521
+ /**
522
+ * Old name: _NETWORK_GET_OLDEST_RESEND_COUNT_FOR_PLAYER
523
+ *
524
+ * @param player
525
+ * @returns
526
+ */
527
+ static getHighestReliableResendCount(player) {
528
+ return inv('0x52C1EADAF7B10302', player.handle, rai());
529
+ }
530
+ /**
531
+ * Checks for session flag 'SF_PRIVATE'
532
+ *
533
+ * @returns
534
+ */
535
+ static sessionIsPrivate() {
536
+ return !!inv('0xCEF70AA5B3F89BA1', rai());
537
+ }
538
+ /**
539
+ * @param toggle
540
+ */
541
+ static autoSessionSetAllowedToSplit(toggle) {
542
+ inv('0x0A428058079EE65C', toggle);
543
+ }
544
+ static N_0x19B52C20B5C4757C() {
545
+ inv('0x19B52C20B5C4757C');
546
+ }
547
+ /**
548
+ * @returns sessionRequestId
549
+ */
550
+ static sessionIsNsrrSuccess() {
551
+ const result = inv('0x0F44A5C78D114922', pvi());
459
552
  return [result[0], result[1]];
460
553
  }
554
+ /**
555
+ * @returns
556
+ */
557
+ static isPlatformInvitePending() {
558
+ return inv('0xFC4165C9165C166F');
559
+ }
560
+ /**
561
+ * @returns
562
+ */
563
+ static isInMpCutscene() {
564
+ return !!inv('0x6CC27C9FA2040220', rai());
565
+ }
566
+ /**
567
+ * @returns
568
+ */
569
+ static N_0x273E04A3A7AD1F2D() {
570
+ return !!inv('0x273E04A3A7AD1F2D', rai());
571
+ }
461
572
  /**
462
573
  * gets the object id of a network id
463
574
  *
@@ -504,7 +615,7 @@ export class Network {
504
615
  * @returns
505
616
  */
506
617
  static isHost() {
507
- return inv('0x8DB296B814EDDA07', rai());
618
+ return !!inv('0x8DB296B814EDDA07', rai());
508
619
  }
509
620
  /**
510
621
  * @returns p0
@@ -532,7 +643,7 @@ export class Network {
532
643
  * @returns
533
644
  */
534
645
  static N_0x9E5A47744C0F0376(p0) {
535
- return inv('0x9E5A47744C0F0376', p0, rai());
646
+ return !!inv('0x9E5A47744C0F0376', p0, rai());
536
647
  }
537
648
  /**
538
649
  * @param p0
@@ -581,13 +692,13 @@ export class Network {
581
692
  * @returns
582
693
  */
583
694
  static isInSession() {
584
- return inv('0xCA97246103B63917', rai());
695
+ return !!inv('0xCA97246103B63917', rai());
585
696
  }
586
697
  /**
587
698
  * @returns
588
699
  */
589
700
  static isTunableCloudRequestPending() {
590
- return inv('0x0467C11ED88B7D28', rai());
701
+ return !!inv('0x0467C11ED88B7D28', rai());
591
702
  }
592
703
  /**
593
704
  * Old name: _NETWORK_IS_CONNECTION_ENDPOINT_RELAY_SERVER
@@ -596,7 +707,7 @@ export class Network {
596
707
  * @returns
597
708
  */
598
709
  static isConnectedViaRelay(player) {
599
- return inv('0x16D3D49902F697BB', player.handle, rai());
710
+ return !!inv('0x16D3D49902F697BB', player.handle, rai());
600
711
  }
601
712
  /**
602
713
  * @param p0
@@ -634,7 +745,7 @@ export class Network {
634
745
  * @returns
635
746
  */
636
747
  static haveRosBannedPriv() {
637
- return inv('0x8020A73847E0CA7D', rai());
748
+ return !!inv('0x8020A73847E0CA7D', rai());
638
749
  }
639
750
  /**
640
751
  * @param p0
@@ -689,7 +800,7 @@ export class Network {
689
800
  * @returns
690
801
  */
691
802
  static hasValidRosCredentials() {
692
- return inv('0x85443FF4C328F53B', rai());
803
+ return !!inv('0x85443FF4C328F53B', rai());
693
804
  }
694
805
  /**
695
806
  * @param ped_amt
@@ -699,130 +810,133 @@ export class Network {
699
810
  * @returns
700
811
  */
701
812
  static canRegisterMissionEntities(ped_amt, vehicle_amt, object_amt, pickup_amt) {
702
- return inv('0x69778E7564BADE6D', ped_amt, vehicle_amt, object_amt, pickup_amt, rai());
813
+ return !!inv('0x69778E7564BADE6D', ped_amt, vehicle_amt, object_amt, pickup_amt, rai());
703
814
  }
704
815
  /**
816
+ * @param description
817
+ * @param length
705
818
  * @returns
706
819
  */
707
- static didRecentGamerNamesRequestSucceed() {
708
- return inv('0x12AEB56B489415C5');
820
+ static ugcGetCachedDescription(description, length) {
821
+ return inv('0x40F7E66472DF3E5C', _h(description), length, ras());
709
822
  }
710
823
  /**
711
- * @returns sessionRequestId
824
+ * @param toggle
712
825
  */
713
- static sessionCancelRequest() {
714
- const result = inv('0xE72E5C1289BD1F40', pvi());
715
- return [result[0], result[1]];
826
+ static N_0x780A13F780A13F1B(toggle) {
827
+ inv('0x780A13F780A13F1B', toggle);
716
828
  }
717
829
  /**
718
- * @param message
830
+ * @param p1
719
831
  * @returns gamerHandle
720
832
  */
721
- static N_0x5759160AC17C13CE(message) {
722
- const result = inv('0x5759160AC17C13CE', pvi(), message);
723
- return result;
833
+ static requestPedshotTextureMultiplayerDownload(p1) {
834
+ const result = inv('0xB5C4B18B12A2AF23', pvi(), p1, ras());
835
+ return [result[0], result[1]];
724
836
  }
725
837
  /**
726
- * @param id
727
- * @returns
838
+ * @param setting
728
839
  */
729
- static cloudHasRequestCompleted(id) {
730
- return inv('0x4C61B39930D045DA', id, rai());
840
+ static N_0xE3AB5EEFCB6671A2(setting) {
841
+ inv('0xE3AB5EEFCB6671A2', setting);
731
842
  }
732
843
  /**
733
- * nullsub, doesn't do anything
844
+ * @param p0
845
+ * @returns
734
846
  */
735
- static N_0xACC44768AF229042() {
736
- inv('0xACC44768AF229042');
847
+ static N_0x3AA0CDC63696166D(p0) {
848
+ return !!inv('0x3AA0CDC63696166D', p0, rai());
737
849
  }
738
850
  /**
739
- * Hardcoded to return zero. ==== PS4 specific info ==== Returns some sort of unavailable reason:
740
- * -1 = REASON_INVALID
741
- * 0 = REASON_OTHER
742
- * 1 = REASON_SYSTEM_UPDATE
743
- * 2 = REASON_GAME_UPDATE
744
- * 3 = REASON_SIGNED_OUT
745
- * 4 = REASON_AGE
746
- * 5 = REASON_CONNECTION =================================
747
- *
851
+ * @param p0
852
+ * @param p1
748
853
  * @returns
749
854
  */
750
- static getNpUnavailableReason() {
751
- return inv('0x74FB3E29E6D10FA9', rai());
855
+ static N_0xE39600E50D608693(p0, p1) {
856
+ return !!inv('0xE39600E50D608693', p0, p1, rai());
752
857
  }
753
858
  /**
754
- * @param netId
859
+ * @param flags Refer to [enum: eSessionFlags]
755
860
  * @returns
756
861
  */
757
- static netToPropset(netId) {
758
- return createFromHandle('PropSet', inv('0xD08066E00D26C448', netId, rai()));
862
+ static sessionAddSessionFlags(flags) {
863
+ return inv('0xE546BDA1B3E288EE', flags);
759
864
  }
760
865
  /**
761
- * @param paramName
866
+ * @param p0
867
+ * @param playerCount
868
+ * @returns
762
869
  */
763
- static clearLaunchParam(paramName) {
764
- inv('0x782C94DB6469634D', paramName);
870
+ static requestRecentGamerNames(p0, playerCount) {
871
+ return inv('0x6D206D383BB5F6B1', p0, playerCount);
765
872
  }
766
873
  /**
767
- * @param p0
874
+ * @returns
768
875
  */
769
- static N_0x603469298A4308AF(p0) {
770
- inv('0x603469298A4308AF', p0);
876
+ static getHostOfThisScript() {
877
+ return createFromHandle('Player', inv('0xC7B4D79B01FA7A5C', rai()));
771
878
  }
772
879
  /**
773
- * @param player
880
+ * @param animScene
774
881
  * @returns
775
882
  */
776
- static isAimCamActive(player) {
777
- return inv('0x8E7CE19219669AEB', player.handle);
883
+ static hasControlOfAnimScene(animScene) {
884
+ return inv('0x26A5C12FACFF8724', animScene.handle);
778
885
  }
779
886
  /**
780
- * Note: scripts seem to indicate that this was renamed to NETWORK_IS_PLAYER_IN_MP_FAST_INSTANCE
887
+ * Equivalent to NETWORK_REQUEST_SESSION_SEAMLESS if userHash == 0.
888
+ * Otherwise it is equivalent to NETWORK_SESSION_REQUEST_SESSION_COMPETITIVE(flags, MATCHTYPE_SEAMLESS, userHash, 0, sessionRequestId); p1 is unused
781
889
  *
782
- * @param player
783
- * @returns
890
+ * @param flags
891
+ * @param seamlessType
892
+ * @param userHash
893
+ * @returns sessionRequestId
784
894
  */
785
- static isPlayerInMpCutscene(player) {
786
- return inv('0x63F9EE203C3619F2', player.handle, rai());
895
+ static sessionRequestSessionSeamless(flags, seamlessType, userHash) {
896
+ const result = inv('0x2989E131FDE37E97', flags, seamlessType, userHash, pvi());
897
+ return [result[0], result[1]];
787
898
  }
788
899
  /**
789
- * @param time
900
+ * @returns
790
901
  */
791
- static setLocalPlayerInvincibleTime(time) {
792
- inv('0x2D95C7E2D7E07307', time);
902
+ static hasCompletedMpIntroFlowOnCurrentSlot() {
903
+ return inv('0xDD73C9838CE7181D');
793
904
  }
794
905
  /**
795
- * @param p0
796
- * @returns
906
+ * @param configProperty
907
+ * @param include
797
908
  */
798
- static N_0x3F2EE18A3E294801(p0) {
799
- return inv('0x3F2EE18A3E294801', p0, rai());
909
+ static spawnConfigAddPropertyScripted(configProperty, include) {
910
+ inv('0x44D59EC597BBF348', configProperty, include);
800
911
  }
801
912
  /**
802
- * @param player
913
+ * @param p0
914
+ * @returns
803
915
  */
804
- static N_0x7B3FF2D193628126(player) {
805
- inv('0x7B3FF2D193628126', player.handle);
916
+ static N_0xA2837A5E21FB5A58(p0) {
917
+ return !!inv('0xA2837A5E21FB5A58', p0, rai());
806
918
  }
807
919
  /**
808
- * @param milliseconds
920
+ * @returns
809
921
  */
810
- static clearClockOverrideOvertime(milliseconds) {
811
- inv('0x65F040D91001ED4B', milliseconds);
922
+ static N_0x0E54D4DA6018FF8E() {
923
+ return !!inv('0x0E54D4DA6018FF8E', rai());
812
924
  }
813
925
  /**
814
- * @param player
926
+ * Returns the entity associated with the given network ID.
927
+ *
928
+ * @param networkId
815
929
  * @returns
816
930
  */
817
- static getPlayerTutorialSessionInstance(player) {
818
- return inv('0x3B39236746714134', player.handle, rai());
931
+ static N_0x4538EE7C321590BC(networkId) {
932
+ return createFromHandle('Entity', inv('0x4538EE7C321590BC', networkId, rai()));
819
933
  }
820
934
  /**
821
935
  * @param amount
822
936
  * @returns
823
937
  */
824
938
  static canRegisterMissionVehicles(amount) {
825
- return inv('0x7277F1F2E085EE74', amount, rai());
939
+ return !!inv('0x7277F1F2E085EE74', amount, rai());
826
940
  }
827
941
  /**
828
942
  * Takes the specified time and writes it to the structure specified in the second argument. struct date_time
@@ -853,7 +967,7 @@ export class Network {
853
967
  * @returns
854
968
  */
855
969
  static N_0xCD53E6CBF609C012(ugcRequestId) {
856
- return inv('0xCD53E6CBF609C012', ugcRequestId, rai());
970
+ return !!inv('0xCD53E6CBF609C012', ugcRequestId, rai());
857
971
  }
858
972
  /**
859
973
  * @param p0
@@ -956,308 +1070,196 @@ export class Network {
956
1070
  static personaPhotoWriteScProfile(texture, personaPhotoType, formatIndex) {
957
1071
  return inv('0xB72999D3120599DF', texture, personaPhotoType, formatIndex);
958
1072
  }
959
- static N_0x9B39B0555CC692B5() {
960
- inv('0x9B39B0555CC692B5');
961
- }
962
1073
  /**
963
1074
  * @param p0
1075
+ * @param p1
964
1076
  * @returns
965
1077
  */
966
- static N_0xE79BA3BC265895DA(p0) {
967
- return inv('0xE79BA3BC265895DA', p0, ras());
968
- }
969
- /**
970
- * @param netPlaylistActivity
971
- */
972
- static activitySetCurrent(netPlaylistActivity) {
973
- inv('0x9ADAC065D9F6706F', netPlaylistActivity);
974
- }
975
- /**
976
- * @param queueGroup
977
- * @returns
978
- */
979
- static sessionIsRequestInProgressByQueueGroup(queueGroup) {
980
- return inv('0x9E762A595CF88E4A', queueGroup);
1078
+ static N_0x271F95E55C663B8B(p0, p1) {
1079
+ return inv('0x271F95E55C663B8B', p0, p1);
981
1080
  }
982
1081
  /**
983
1082
  * @returns
984
1083
  */
985
- static pedmugshotGetStatus() {
986
- return inv('0xCBAC13F065C47596', rai());
1084
+ static sessionGetSessionFlags() {
1085
+ return inv('0x51F33DBC1A41CBFD', rai());
987
1086
  }
988
1087
  /**
1088
+ * Note: this native was added in build 1311.23
1089
+ *
989
1090
  * @returns
990
1091
  */
991
- static getTunableCloudCrc() {
992
- return inv('0x10BD227A753B0D84', rai());
1092
+ static N_0x039AD6B57D5179FF() {
1093
+ return inv('0x039AD6B57D5179FF', rai());
993
1094
  }
994
1095
  /**
995
- * Returns true if the passed value is less than 32.
1096
+ * Old name: _NETWORK_GET_NUM_UNACKED_FOR_PLAYER
996
1097
  *
997
1098
  * @param player
998
1099
  * @returns
999
1100
  */
1000
- static isPlayerIndexValid(player) {
1001
- return inv('0x255A5EF65EDA9167', player.handle);
1101
+ static getNumUnackedReliables(player) {
1102
+ return inv('0xFF8FCF9FFC458A1C', player.handle, rai());
1002
1103
  }
1003
1104
  /**
1004
1105
  * @param entity
1005
- * @returns
1106
+ * @param toggle
1006
1107
  */
1007
- static getEntityIsNetworked(entity) {
1008
- return inv('0xC7827959479DCC78', entity.handle, rai());
1108
+ static allowEntityFadingForInstances(entity, toggle) {
1109
+ inv('0xF3354D6CA46F419D', entity.handle, toggle);
1009
1110
  }
1010
1111
  /**
1011
- * @param vehicle
1012
- * @returns Returns the network id for the specified `vehicle`, or `0` if the vehicle isn't networked.
1112
+ * Only used in R* Script startup_clip
1013
1113
  */
1014
- static vehToNet(vehicle) {
1015
- return inv('0xB4C94523F023419C', vehicle.handle, rai());
1114
+ static N_0xFD4272A137703449() {
1115
+ inv('0xFD4272A137703449');
1016
1116
  }
1017
1117
  /**
1018
- * Only used in R* SP Scripts
1019
- *
1020
1118
  * @param player
1021
- * @param personaPhotoLocalCacheType
1119
+ * @param type
1120
+ */
1121
+ static N_0x51951DE06C0D1C40(player, type) {
1122
+ inv('0x51951DE06C0D1C40', player.handle, type);
1123
+ }
1124
+ /**
1125
+ * @param p0
1022
1126
  * @returns
1023
1127
  */
1024
- static requestPedshotTextureLocalBackupDownload(player, personaPhotoLocalCacheType) {
1025
- return inv('0x356F9FB0698C1FEB', player, personaPhotoLocalCacheType, ras());
1128
+ static N_0x5ED39DA62BEB1330(p0) {
1129
+ return inv('0x5ED39DA62BEB1330', p0);
1026
1130
  }
1027
1131
  /**
1028
1132
  * @param p0
1133
+ * @param index
1134
+ * @returns
1029
1135
  */
1030
- static N_0xE5634491A58C2703(p0) {
1031
- inv('0xE5634491A58C2703', f(p0));
1136
+ static ugcQueryGetName(p0, index) {
1137
+ return inv('0x2D053EA815702DD1', p0, index, ras());
1032
1138
  }
1033
1139
  /**
1034
1140
  * @param p0
1035
- * @param p1
1036
- * @param p2
1037
- * @param p3
1141
+ * @param index
1038
1142
  * @returns
1039
1143
  */
1040
- static N_0x64A36BA85CE01A81(p0, p1, p2, p3) {
1041
- return inv('0x64A36BA85CE01A81', p0, p1, p2, p3);
1144
+ static ugcQueryGetBookMarked(p0, index) {
1145
+ return inv('0x98539FC453AEA639', p0, index);
1042
1146
  }
1043
1147
  /**
1044
- * @returns sessionRequestId
1148
+ * @param entity
1149
+ * @param timer
1150
+ * @param p2
1045
1151
  */
1046
- static sessionIsSessionRequestIdValid() {
1047
- const result = inv('0x2F54B146D3EDCE4D', pvi());
1048
- return [result[0], result[1]];
1152
+ static setNetworkRespotTimer(entity, timer, p2) {
1153
+ inv('0x442B4347B6EC36E8', entity.handle, timer, p2);
1049
1154
  }
1050
1155
  /**
1051
- * @returns
1156
+ * @returns gamerHandle
1052
1157
  */
1053
- static isResettingPopulation() {
1054
- return inv('0x1BB50CD340A996E6');
1158
+ static getGamertagFromFriend() {
1159
+ const result = inv('0x5659D87BE674AB17', pvi(), ras());
1160
+ return [result[0], result[1]];
1055
1161
  }
1056
1162
  /**
1057
- * Note: this native was added in build 1311.23
1058
- *
1059
- * @param p0
1163
+ * @param player
1060
1164
  * @returns
1061
1165
  */
1062
- static N_0x039B692B3318FAB6(p0) {
1063
- return inv('0x039B692B3318FAB6', p0, rai());
1166
+ static getPlayerWaypointIsActive(player) {
1167
+ return inv('0xDCC4B7F7112E8AB7', player.handle);
1064
1168
  }
1065
1169
  /**
1066
- * Always returns 60
1067
- *
1170
+ * @param inviteIndex
1068
1171
  * @returns
1069
1172
  */
1070
- static getMaxNumNetworkObjects() {
1071
- return inv('0xC7BE335216B5EC7C', rai());
1173
+ static N_0x981146E5C9CE9250(inviteIndex) {
1174
+ return !!inv('0x981146E5C9CE9250', inviteIndex, rai());
1072
1175
  }
1073
1176
  /**
1074
- * Checks if the user has ROS privilege 14.
1075
- *
1076
- * @returns
1177
+ * @param netID
1077
1178
  */
1078
- static ugcHasPrivilege() {
1079
- return inv('0x6506BFA755FB209C');
1179
+ static disableProximityMigration(netID) {
1180
+ inv('0x407091CF6037118E', netID);
1080
1181
  }
1081
1182
  /**
1082
- * @param networkId
1083
- * @param bStopCloning
1183
+ * @param p0
1184
+ * @param p1
1185
+ * @param dataSize
1186
+ * @returns outData
1084
1187
  */
1085
- static setNetworkIdStopCloning(networkId, bStopCloning) {
1086
- inv('0x9ED3108D6847760A', networkId, bStopCloning);
1188
+ static getRecentGamerNames(p0, p1, dataSize) {
1189
+ const result = inv('0xFEFCC345CE357453', p0, p1, pvi(), dataSize);
1190
+ return [result[0], result[1]];
1087
1191
  }
1088
1192
  /**
1089
- * Returns CGameConfig->ConfigOnlineServices->RosTitleName (see gameconfig.xml)
1090
- *
1091
1193
  * @returns
1092
1194
  */
1093
- static getRosTitleName() {
1094
- return inv('0xAC6153A0722F524C', ras());
1195
+ static isInTutorialSession() {
1196
+ return !!inv('0xADA24309FE08DACF', rai());
1095
1197
  }
1096
1198
  /**
1097
- * @returns
1199
+ * @param tunableContext
1200
+ * @param tunableName
1201
+ * @returns value
1098
1202
  */
1099
- static getScriptStatus() {
1100
- return inv('0x57D158647A6BFABF', rai());
1203
+ static accessTunableInt(tunableContext, tunableName) {
1204
+ const result = inv('0x8BE1146DFD5D4468', _h(tunableContext), _h(tunableName), pvi(), rai());
1205
+ return [!!result[0], result[1]];
1101
1206
  }
1102
1207
  /**
1103
- * @param p0
1104
- * @param p1
1105
- * @param p2
1106
- * @param p3
1208
+ * @param tunableContext
1209
+ * @param tunableName
1210
+ * @param defaultValue
1211
+ * @returns
1107
1212
  */
1108
- static setNetworkIdVisibleInCutscene(p0, p1, p2, p3) {
1109
- inv('0xA6928482543022B4', p0, p1, p2, p3);
1213
+ static tryAccessTunableIntHash(tunableContext, tunableName, defaultValue) {
1214
+ return inv('0xA25E006B36719774', _h(tunableContext), _h(tunableName), defaultValue, rai());
1110
1215
  }
1111
1216
  /**
1112
- * @param amount
1217
+ * @param tunableContext
1218
+ * @param tunableName
1219
+ * @param defaultValue
1220
+ * @returns
1113
1221
  */
1114
- static reserveNetworkMissionObjects(amount) {
1115
- inv('0x4E5C93BD0C32FBF8', amount);
1222
+ static tryAccessTunableBoolHash(tunableContext, tunableName, defaultValue) {
1223
+ return !!inv('0xB2AD5D29A99D4B26', _h(tunableContext), _h(tunableName), defaultValue, rai());
1116
1224
  }
1117
1225
  /**
1118
- * @param entity
1119
- * @param player
1120
- * @returns p2
1226
+ * @param seed
1121
1227
  */
1122
- static N_0x75FC34A2BA345BD1(entity, player) {
1123
- const result = inv('0x75FC34A2BA345BD1', entity.handle, player.handle, pvi(), rai());
1124
- return [!!result[0], result[1]];
1228
+ static seedRandomNumberGenerator(seed) {
1229
+ inv('0xF1B84178F8674195', seed);
1125
1230
  }
1126
1231
  /**
1232
+ * @param netId
1127
1233
  * @returns
1128
1234
  */
1129
- static autoSessionIsAllowedToMerge() {
1130
- return inv('0xAADED99A6B268A27');
1235
+ static isNetworkIdOwnedByParticipant(netId) {
1236
+ return !!inv('0xA1607996431332DF', netId, rai());
1131
1237
  }
1132
1238
  /**
1133
- * @param p0
1239
+ * @param scriptName
1134
1240
  * @param p1
1135
1241
  * @param p2
1136
1242
  * @returns
1137
1243
  */
1138
- static N_0x7A8E8DF782B47EB0(p0, p1, p2) {
1139
- return inv('0x7A8E8DF782B47EB0', p0, p1, p2);
1244
+ static getHostOfScript(scriptName, p1, p2) {
1245
+ return createFromHandle('Player', inv('0x1D6A14F1F9A736FC', scriptName, p1, p2, rai()));
1246
+ }
1247
+ static spawnConfigSetCancelSearch() {
1248
+ inv('0x765E60A1DCB8B1CE');
1140
1249
  }
1141
1250
  /**
1142
- * Hardcoded to return false.
1143
- *
1251
+ * @param player
1144
1252
  * @returns
1145
1253
  */
1146
- static shouldShowPromotionDlg() {
1147
- return inv('0xDA4B1A479C414FB2');
1254
+ static getPlayerIndex(player) {
1255
+ return inv('0x24FB80D107371267', player.handle, rai());
1148
1256
  }
1149
1257
  /**
1150
- * @param amount
1258
+ * @param ugcRequestId
1259
+ * @returns
1151
1260
  */
1152
- static reserveNetworkMissionPeds(amount) {
1153
- inv('0xB60FEBA45333D36F', amount);
1154
- }
1155
- /**
1156
- * @param pos
1157
- * @param heading
1158
- */
1159
- static spawnConfigAddSpawnPoint(pos, heading) {
1160
- inv('0xFD1AC0B3858F224C', f(pos.x), f(pos.y), f(pos.z), f(heading));
1161
- }
1162
- /**
1163
- * @param paramName
1164
- * @param value
1165
- */
1166
- static setLaunchParamValue(paramName, value) {
1167
- inv('0x668AF6E4933AC13F', paramName, value);
1168
- }
1169
- /**
1170
- * @returns gamerHandle
1171
- */
1172
- static canViewGamerUserContent() {
1173
- const result = inv('0x246545C37C27A717', pvi());
1174
- return [result[0], result[1]];
1175
- }
1176
- /**
1177
- * @param p0
1178
- * @returns
1179
- */
1180
- static isParticipantActive(p0) {
1181
- return inv('0x6FF8FF40B6357D45', p0, rai());
1182
- }
1183
- /**
1184
- * @param p0
1185
- * @returns
1186
- */
1187
- static getNumCreatedMissionPeds(p0) {
1188
- return inv('0xCB215C4B56A7FAE7', p0, rai());
1189
- }
1190
- /**
1191
- * @returns
1192
- */
1193
- static isInTutorialSession() {
1194
- return inv('0xADA24309FE08DACF', rai());
1195
- }
1196
- /**
1197
- * @param tunableContext
1198
- * @param tunableName
1199
- * @returns value
1200
- */
1201
- static accessTunableInt(tunableContext, tunableName) {
1202
- const result = inv('0x8BE1146DFD5D4468', _h(tunableContext), _h(tunableName), pvi(), rai());
1203
- return [!!result[0], result[1]];
1204
- }
1205
- /**
1206
- * @param tunableContext
1207
- * @param tunableName
1208
- * @param defaultValue
1209
- * @returns
1210
- */
1211
- static tryAccessTunableIntHash(tunableContext, tunableName, defaultValue) {
1212
- return inv('0xA25E006B36719774', _h(tunableContext), _h(tunableName), defaultValue, rai());
1213
- }
1214
- /**
1215
- * @param tunableContext
1216
- * @param tunableName
1217
- * @param defaultValue
1218
- * @returns
1219
- */
1220
- static tryAccessTunableBoolHash(tunableContext, tunableName, defaultValue) {
1221
- return inv('0xB2AD5D29A99D4B26', _h(tunableContext), _h(tunableName), defaultValue, rai());
1222
- }
1223
- /**
1224
- * @param seed
1225
- */
1226
- static seedRandomNumberGenerator(seed) {
1227
- inv('0xF1B84178F8674195', seed);
1228
- }
1229
- /**
1230
- * @param netId
1231
- * @returns
1232
- */
1233
- static isNetworkIdOwnedByParticipant(netId) {
1234
- return inv('0xA1607996431332DF', netId, rai());
1235
- }
1236
- /**
1237
- * @param scriptName
1238
- * @param p1
1239
- * @param p2
1240
- * @returns
1241
- */
1242
- static getHostOfScript(scriptName, p1, p2) {
1243
- return createFromHandle('Player', inv('0x1D6A14F1F9A736FC', scriptName, p1, p2, rai()));
1244
- }
1245
- static spawnConfigSetCancelSearch() {
1246
- inv('0x765E60A1DCB8B1CE');
1247
- }
1248
- /**
1249
- * @param player
1250
- * @returns
1251
- */
1252
- static getPlayerIndex(player) {
1253
- return inv('0x24FB80D107371267', player.handle, rai());
1254
- }
1255
- /**
1256
- * @param ugcRequestId
1257
- * @returns
1258
- */
1259
- static ugcQueryGetContentNum(ugcRequestId) {
1260
- return inv('0x76160E0396142765', ugcRequestId, rai());
1261
+ static ugcQueryGetContentNum(ugcRequestId) {
1262
+ return inv('0x76160E0396142765', ugcRequestId, rai());
1261
1263
  }
1262
1264
  /**
1263
1265
  * @param ctx
@@ -1273,7 +1275,7 @@ export class Network {
1273
1275
  * @returns
1274
1276
  */
1275
1277
  static ugcIsBookMarked(contentId) {
1276
- return inv('0xE42D1042F09865FE', contentId, rai());
1278
+ return !!inv('0xE42D1042F09865FE', contentId, rai());
1277
1279
  }
1278
1280
  /**
1279
1281
  * @returns p0
@@ -1361,7 +1363,7 @@ export class Network {
1361
1363
  * @returns
1362
1364
  */
1363
1365
  static N_0xA47D48D06AA5A188() {
1364
- return inv('0xA47D48D06AA5A188', rai());
1366
+ return !!inv('0xA47D48D06AA5A188', rai());
1365
1367
  }
1366
1368
  /**
1367
1369
  * @returns
@@ -1377,7 +1379,7 @@ export class Network {
1377
1379
  * @returns
1378
1380
  */
1379
1381
  static N_0x26A867C0B7A456D1(entity) {
1380
- return inv('0x26A867C0B7A456D1', entity.handle, rai());
1382
+ return !!inv('0x26A867C0B7A456D1', entity.handle, rai());
1381
1383
  }
1382
1384
  /**
1383
1385
  * @param netHandle
@@ -1397,7 +1399,7 @@ export class Network {
1397
1399
  * @returns
1398
1400
  */
1399
1401
  static N_0xDA1BFED8582F61F0() {
1400
- return inv('0xDA1BFED8582F61F0', rai());
1402
+ return !!inv('0xDA1BFED8582F61F0', rai());
1401
1403
  }
1402
1404
  /**
1403
1405
  * Note: this native was added in build 1311.23
@@ -1412,7 +1414,7 @@ export class Network {
1412
1414
  * @returns
1413
1415
  */
1414
1416
  static isCloudAvailable() {
1415
- return inv('0x9A4CF4F48AD77302', rai());
1417
+ return !!inv('0x9A4CF4F48AD77302', rai());
1416
1418
  }
1417
1419
  /**
1418
1420
  * @param p0
@@ -1431,137 +1433,124 @@ export class Network {
1431
1433
  return inv('0xA21E3BAD0A42D199');
1432
1434
  }
1433
1435
  /**
1434
- * _NETWORK_GET_A* - _NETWORK_GET_D*
1435
- *
1436
- * @param ped
1437
- * @returns p1
1438
- */
1439
- static N_0x6CF82A7F65A5AD5F(ped) {
1440
- const result = inv('0x6CF82A7F65A5AD5F', ped.handle, pvi(), rai());
1441
- return [createFromHandle('Player', result[0]), result[1]];
1442
- }
1443
- /**
1444
- * @param p1
1445
- * @returns gamerHandle
1436
+ * @returns
1446
1437
  */
1447
- static getGamerStatus(p1) {
1448
- const result = inv('0xDDAEB478E58F8DEA', pvi(), p1, rai());
1449
- return [result[0], result[1]];
1438
+ static N_0x18B94666CF610AEB() {
1439
+ return !!inv('0x18B94666CF610AEB', rai());
1450
1440
  }
1451
1441
  /**
1452
- * Returns result of session request:
1453
- * 0 - NOT_FOUND
1454
- * 1 - IN_PROGRESS
1455
- * 2 - TIMEOUT
1456
- * 3 - PLAYER_OFFLINE
1457
- * 4 - GANG_MEMBERS_CHANGED
1458
- * 5 - PLAYER_CANCELLED
1459
- * 6 - PLAYER_SET_TOO_LARGE
1460
- * 7 - MATCH_ACCEPTED
1461
- * 8 - OTHER
1442
+ * p0 appears to be for MP
1462
1443
  *
1463
- * @returns sessionRequestId; p1
1444
+ * @param p0
1445
+ * @returns
1464
1446
  */
1465
- static sessionGetSessionRequestResult() {
1466
- const result = inv('0x0DD051B1BF4B8BD6', pvi(), pvi(), rai());
1467
- return [result[0], result[1], result[2]];
1468
- }
1469
- static N_0xA63E4F050F20021F() {
1470
- inv('0xA63E4F050F20021F');
1447
+ static getNumReservedMissionObjects(p0) {
1448
+ return inv('0xAA81B5F10BC43AC2', p0, rai());
1471
1449
  }
1472
1450
  /**
1473
- * @param amount
1474
1451
  * @returns
1475
1452
  */
1476
- static canRegisterMissionObjects(amount) {
1477
- return inv('0x800DD4721A8B008B', amount, rai());
1453
+ static hasSocialClubAccount() {
1454
+ return !!inv('0x67A5589628E0CFF6', rai());
1478
1455
  }
1479
1456
  /**
1480
- * @param description
1481
- * @returns
1457
+ * @param netHandle
1458
+ * @returns Returns the `entity` handle for the `netHandle` or `0` if the entity doesn't exist.
1482
1459
  */
1483
- static ugcReleaseCachedDescription(description) {
1484
- return inv('0x5A34CD9C3C5BEC44', _h(description), rai());
1460
+ static netToPed(netHandle) {
1461
+ return createFromHandle('Ped', inv('0xBDCD95FC216A8B3E', netHandle, rai()));
1485
1462
  }
1486
1463
  /**
1487
- * @param toggle
1464
+ * 0 = succeeded
1465
+ * 1 = pending
1466
+ * 2 = failed
1467
+ *
1468
+ * @param textureDownloadId
1469
+ * @returns
1488
1470
  */
1489
- static setFriendlyFireOption(toggle) {
1490
- inv('0xF808475FA571D823', toggle);
1471
+ static getStatusOfTextureDownload(textureDownloadId) {
1472
+ return inv('0x8BD6C6DEA20E82C6', textureDownloadId, rai());
1491
1473
  }
1492
1474
  /**
1493
- * @returns sessionRequestId
1475
+ * @returns gamerHandle
1494
1476
  */
1495
- static sessionTransitionToSession() {
1496
- const result = inv('0xF20B18A330E6DB5C', pvi());
1497
- return [result[0], result[1]];
1477
+ static N_0xF23A6D6C11D8EC15() {
1478
+ const result = inv('0xF23A6D6C11D8EC15', pvi(), rai());
1479
+ return [!!result[0], result[1]];
1498
1480
  }
1499
1481
  /**
1500
- * Hardcoded to return false.
1482
+ * Always returns 40
1501
1483
  *
1502
1484
  * @returns
1503
1485
  */
1504
- static isPromotionEnabled() {
1505
- return inv('0x8FF6059DA26E688A');
1486
+ static getMaxNumNetworkVehicles() {
1487
+ return inv('0x0AFCE529F69B21FF', rai());
1506
1488
  }
1507
1489
  /**
1508
- * @param playersToTake
1509
- * @param maxInstancePlayers
1510
- * @param sessionFlags
1511
- * @param bucketId
1512
- * @returns
1490
+ * @param netId
1491
+ * @param p1
1492
+ * @param p2
1513
1493
  */
1514
- static autoSessionSplitSession(playersToTake, maxInstancePlayers, sessionFlags, bucketId) {
1515
- return inv('0xC223D299C670413D', playersToTake, maxInstancePlayers, sessionFlags, bucketId);
1494
+ static keepNetworkIdInFastInstance(netId, p1, p2) {
1495
+ inv('0xE1BC73D6815BA361', netId, p1, p2);
1516
1496
  }
1517
1497
  /**
1518
- * @param p0
1519
- * @returns
1498
+ * @returns gamerHandle
1520
1499
  */
1521
- static N_0x923346025512DFB7(p0) {
1522
- return inv('0x923346025512DFB7', p0);
1500
+ static isHandleValid() {
1501
+ const result = inv('0x6F79B93B0A8E4133', pvi(), rai());
1502
+ return [!!result[0], result[1]];
1523
1503
  }
1524
1504
  /**
1525
- * @returns args
1505
+ * @param p0
1506
+ * @returns p1
1526
1507
  */
1527
- static resurrectLocalPlayer2() {
1528
- const result = inv('0x4154B7D8C75E5DCF', pvi());
1508
+ static N_0x691E4DE5309EAEFC(p0) {
1509
+ const result = inv('0x691E4DE5309EAEFC', p0, pvi());
1529
1510
  return result;
1530
1511
  }
1531
1512
  /**
1532
- * Only used in R* Script net_stable_manager
1513
+ * @param entity
1514
+ * @returns
1515
+ */
1516
+ static getNetworkIdFromEntity(entity) {
1517
+ return inv('0xA11700682F3AD45C', entity.handle, rai());
1518
+ }
1519
+ /**
1520
+ * Only used in SP R* Script dominoes_sp: p1 = 0
1533
1521
  *
1534
- * @param threadId
1535
- * @returns pedMax; vehicleMax; unkMax; pedMin; vehicleMin; unkMin
1522
+ * @param player
1523
+ * @param p1
1536
1524
  */
1537
- static getReservedMissionEntitiesForThread(threadId) {
1538
- const result = inv('0x99AAC89C510DEB0D', threadId, pvi(), pvi(), pvi(), pvi(), pvi(), pvi());
1539
- return [result[0], result[1], result[2], result[3], result[4], result[5]];
1525
+ static N_0x02C4C6C2900D84DF(player, p1) {
1526
+ inv('0x02C4C6C2900D84DF', player.handle, p1);
1540
1527
  }
1541
1528
  /**
1542
- * @param p0
1543
1529
  * @returns
1544
1530
  */
1545
- static N_0xD7BAD4062074B9C1(p0) {
1546
- return inv('0xD7BAD4062074B9C1', p0, rai());
1531
+ static isSessionActive() {
1532
+ return !!inv('0xD83C2B94E7508980', rai());
1547
1533
  }
1548
1534
  /**
1549
- * @param hour
1550
- * @param minute
1551
- * @param second
1552
- * @param transitionTime
1553
- * @param pauseClock
1535
+ * @param animScene
1536
+ * @returns
1554
1537
  */
1555
- static clockTimeOverride(hour, minute, second, transitionTime, pauseClock) {
1556
- inv('0x669E223E64B1903C', hour, minute, second, transitionTime, pauseClock);
1538
+ static animSceneToNet(animScene) {
1539
+ return inv('0xE0D73CDDEA79DDCD', animScene.handle, rai());
1557
1540
  }
1558
1541
  /**
1559
- * @param netId
1560
- * @param player
1561
- * @param toggle
1542
+ * @returns
1562
1543
  */
1563
- static setNetworkIdAlwaysExistsForPlayer(netId, player, toggle) {
1564
- inv('0xA8A024587329F36A', netId, player.handle, toggle);
1544
+ static getRank() {
1545
+ return inv('0x32C90CDFAF40514C', rai());
1546
+ }
1547
+ /**
1548
+ * @param message
1549
+ * @returns gamerHandle
1550
+ */
1551
+ static addFriend(message) {
1552
+ const result = inv('0x8E02D73914064223', pvi(), message, rai());
1553
+ return [!!result[0], result[1]];
1565
1554
  }
1566
1555
  /**
1567
1556
  * @returns
@@ -1577,7 +1566,7 @@ export class Network {
1577
1566
  * @returns
1578
1567
  */
1579
1568
  static isTimeMoreThan(timeA, timeB) {
1580
- return inv('0xDE350F8651E4346C', timeA, timeB, rai());
1569
+ return !!inv('0xDE350F8651E4346C', timeA, timeB, rai());
1581
1570
  }
1582
1571
  /**
1583
1572
  * @returns
@@ -1663,7 +1652,7 @@ export class Network {
1663
1652
  * @returns
1664
1653
  */
1665
1654
  static isEntityAGhost(entity) {
1666
- return inv('0x21D04D7BC538C146', entity.handle, rai());
1655
+ return !!inv('0x21D04D7BC538C146', entity.handle, rai());
1667
1656
  }
1668
1657
  static clearGetGamerStatus() {
1669
1658
  inv('0x86E0660E4F5C956D');
@@ -1701,119 +1690,244 @@ export class Network {
1701
1690
  return [result[0], result[1]];
1702
1691
  }
1703
1692
  /**
1704
- * Note: this native was added in build 1311.16
1705
- *
1706
- * @returns
1693
+ * @param p0
1694
+ * @returns gamerHandle
1707
1695
  */
1708
- static isObjectReassignmentInProgress() {
1709
- return inv('0x8FE9EB11EC9CC23A', rai());
1710
- }
1711
- /**
1712
- * @param scriptName
1713
- * @param instanceId
1714
- * @param position
1696
+ static N_0x16EFB123C4451032(p0) {
1697
+ const result = inv('0x16EFB123C4451032', p0, pvi(), rai());
1698
+ return [!!result[0], result[1]];
1699
+ }
1700
+ /**
1701
+ * Return the local Participant ID
1702
+ *
1715
1703
  * @returns
1716
1704
  */
1717
- static getNumScriptParticipants(scriptName, instanceId, position) {
1718
- return inv('0x3658E8CD94FC121A', scriptName, instanceId, _h(position), rai());
1705
+ static participantId() {
1706
+ return createFromHandle('Player', inv('0x90986E8876CE0A83', rai()));
1707
+ }
1708
+ static N_0x97BCE4C4B3191228() {
1709
+ inv('0x97BCE4C4B3191228');
1710
+ }
1711
+ /**
1712
+ * @param volume
1713
+ * @param p1
1714
+ * @param originalWeight
1715
+ * @param p3
1716
+ * @param p4
1717
+ */
1718
+ static N_0x13F592FC3BF0EA84(volume, p1, originalWeight, p3, p4) {
1719
+ inv('0x13F592FC3BF0EA84', volume.handle, p1, f(originalWeight), p3, p4);
1719
1720
  }
1720
1721
  /**
1721
- * @param p0
1722
1722
  * @returns
1723
1723
  */
1724
- static N_0x6C27442A225A241A(p0) {
1725
- return inv('0x6C27442A225A241A', p0, rai());
1724
+ static N_0xBF8276E51761F9DA() {
1725
+ return inv('0xBF8276E51761F9DA', rai());
1726
+ }
1727
+ /**
1728
+ * Note: this native was added in build 1311.23
1729
+ *
1730
+ * @returns
1731
+ */
1732
+ static N_0x316FD416C432C761() {
1733
+ return !!inv('0x316FD416C432C761', rai());
1734
+ }
1735
+ /**
1736
+ * nullsub, doesn't do anything
1737
+ *
1738
+ * @returns
1739
+ */
1740
+ static N_0xEC089F84A9C16C62() {
1741
+ return inv('0xEC089F84A9C16C62');
1742
+ }
1743
+ /**
1744
+ * @param netId
1745
+ * @returns
1746
+ */
1747
+ static getRopeIdFromNetworkId(netId) {
1748
+ return inv('0xEB1A4DD8352EC828', netId, rai());
1749
+ }
1750
+ /**
1751
+ * @param ugcRequestId
1752
+ * @returns
1753
+ */
1754
+ static ugcDidRequestSucceed(ugcRequestId) {
1755
+ return inv('0x0B6009A90B8495F1', ugcRequestId);
1756
+ }
1757
+ /**
1758
+ * @returns
1759
+ */
1760
+ static getNetworkTimeAccurate() {
1761
+ return inv('0x89023FBBF9200E9F', rai());
1726
1762
  }
1727
1763
  /**
1728
1764
  * @param p0
1729
- * @param p1
1765
+ * @returns
1730
1766
  */
1731
- static spawnConfigSetTuningFloat(p0, p1) {
1732
- inv('0x0608326F7B98C08D', _h(p0), f(p1));
1767
+ static getNumCreatedMissionVehicles(p0) {
1768
+ return inv('0x0CD9AB83489430EA', p0, rai());
1769
+ }
1770
+ static showAccountUpgradeUi() {
1771
+ inv('0x83FE8D7229593017');
1733
1772
  }
1734
1773
  /**
1735
- * @param p1
1736
- * @returns outData
1774
+ * Hardcoded to return false.
1775
+ *
1776
+ * @returns
1737
1777
  */
1738
- static N_0x7BCA0A3972708436(p1) {
1739
- const result = inv('0x7BCA0A3972708436', pvi(), p1, rai());
1778
+ static isInSessionLobby() {
1779
+ return inv('0xC5196C42DE19F646');
1780
+ }
1781
+ /**
1782
+ * Always returns a null string.
1783
+ *
1784
+ * @returns gamerHandle
1785
+ */
1786
+ static getGamertagFromHandle() {
1787
+ const result = inv('0x426141162EBE5CDB', pvi(), ras());
1740
1788
  return [result[0], result[1]];
1741
1789
  }
1742
1790
  /**
1743
- * Hardcoded to return zero.
1791
+ * Returns the network ID of the given object.
1792
+ *
1793
+ * @param object
1794
+ * @returns Returns the network id for the specified `object`, or `0` if the entity isn't networked.
1795
+ */
1796
+ static objToNet(object) {
1797
+ return inv('0x99BFDC94A603E541', object.handle, rai());
1798
+ }
1799
+ /**
1800
+ * @param p0
1801
+ * @returns
1802
+ */
1803
+ static requestJoin(p0) {
1804
+ return inv('0xE483BB6BE686F632', p0, rai());
1805
+ }
1806
+ /**
1807
+ * Note: this native was added in build 1311.23
1744
1808
  *
1745
1809
  * @param p0
1746
- * @param p1
1747
- * @param p2
1748
1810
  * @returns
1749
1811
  */
1750
- static getDisplaynamesFromHandles(p0, p1, p2) {
1751
- return inv('0x58CC181719256197', p0, p1, p2, rai());
1812
+ static N_0x4835413EA6F9C9CD(p0) {
1813
+ return inv('0x4835413EA6F9C9CD', p0, rai());
1752
1814
  }
1753
1815
  /**
1816
+ * Returns ugcRequestId
1817
+ *
1818
+ * @param contentId
1819
+ * @param latestVersion
1820
+ * @param contentTypeName
1754
1821
  * @returns
1755
1822
  */
1756
- static isHostOfThisScript() {
1757
- return inv('0x83CD99A1E6061AB5', rai());
1823
+ static ugcQueryByContentId(contentId, latestVersion, contentTypeName) {
1824
+ return inv('0x69D22E183580113F', contentId, latestVersion, contentTypeName, rai());
1758
1825
  }
1759
1826
  /**
1760
1827
  * @param p0
1761
- * @param index
1828
+ */
1829
+ static N_0x3034C77C79A58880(p0) {
1830
+ inv('0x3034C77C79A58880', p0);
1831
+ }
1832
+ /**
1833
+ * @param paramName
1762
1834
  * @returns
1763
1835
  */
1764
- static ugcQueryGetLanguage(p0, index) {
1765
- return inv('0x97764E8AC6487A9A', p0, index, rai());
1836
+ static getLaunchParamValue(paramName) {
1837
+ return inv('0x65E65CA6A0FE59D4', paramName, ras());
1766
1838
  }
1767
1839
  /**
1768
- * Note: this native was added in build 1355.30
1840
+ * @param p0
1841
+ */
1842
+ static N_0xCF23AB5BD47B384D(p0) {
1843
+ inv('0xCF23AB5BD47B384D', p0);
1844
+ }
1845
+ /**
1846
+ * Note: this native was added in build 1311.23
1769
1847
  *
1770
1848
  * @param p0
1849
+ * @param p1
1850
+ * @param p2
1771
1851
  */
1772
- static N_0x422F9D6D6C7BC290(p0) {
1773
- inv('0x422F9D6D6C7BC290', p0);
1852
+ static N_0x3CBD6565D9C3B133(p0, p1, p2) {
1853
+ inv('0x3CBD6565D9C3B133', p0, p1, f(p2));
1774
1854
  }
1775
1855
  /**
1776
- * @param propSet
1777
1856
  * @returns
1778
1857
  */
1779
- static propsetToNet(propSet) {
1780
- return inv('0x74F99EF7EF503398', propSet.handle, rai());
1858
+ static hasReceivedHostBroadcastData() {
1859
+ return !!inv('0x5D10B3795F3FC886', rai());
1781
1860
  }
1782
1861
  /**
1783
- * @param p0
1862
+ * @param languageId
1863
+ * @returns
1784
1864
  */
1785
- static N_0x5CD3AAD8FF9ED121(p0) {
1786
- inv('0x5CD3AAD8FF9ED121', p0);
1865
+ static ugcIsLanguageSupported(languageId) {
1866
+ return !!inv('0xF53E48461B71EECB', languageId, rai());
1787
1867
  }
1788
1868
  /**
1789
- * @param netId
1790
1869
  * @returns
1791
1870
  */
1792
- static netToAnimScene(netId) {
1793
- return createFromHandle('AnimScene', inv('0xD7F6781A0ABAF6FB', netId, rai()));
1871
+ static actionPlatformInvite() {
1872
+ return inv('0x3B82ACC3F4B6240C');
1873
+ }
1874
+ /**
1875
+ * nullsub, doesn't do anything
1876
+ *
1877
+ * @returns
1878
+ */
1879
+ static dumpNetIfConfig() {
1880
+ return inv('0xAEDF1BC1C133D6E3');
1881
+ }
1882
+ /**
1883
+ * @returns
1884
+ */
1885
+ static sessionIsTransitioning() {
1886
+ return inv('0xF2CBC969C4F090C7');
1794
1887
  }
1795
1888
  /**
1796
1889
  * @param p0
1797
1890
  * @param index
1891
+ * @param p2
1798
1892
  * @returns
1799
1893
  */
1800
- static ugcQueryGetContentHasPlayerRecord(p0, index) {
1801
- return inv('0xF794765390A6DCA5', p0, index);
1894
+ static ugcQueryGetVersion(p0, index, p2) {
1895
+ return inv('0x63E9DCBC8B0931ED', p0, index, p2, rai());
1802
1896
  }
1803
- static N_0x814729078AED6D30() {
1804
- inv('0x814729078AED6D30');
1897
+ /**
1898
+ * @param p0
1899
+ * @param p1
1900
+ */
1901
+ static N_0x3F0ABAE38A0515AD(p0, p1) {
1902
+ inv('0x3F0ABAE38A0515AD', p0, p1);
1805
1903
  }
1806
1904
  /**
1905
+ * Subtracts the second argument from the first, then returns whether the result is negative.
1906
+ *
1907
+ * @param timeA
1908
+ * @param timeB
1807
1909
  * @returns
1808
1910
  */
1809
- static isSignedOnline() {
1810
- return inv('0x1077788E268557C2', rai());
1911
+ static isTimeLessThan(timeA, timeB) {
1912
+ return !!inv('0xCB2CF5148012C8D0', timeA, timeB, rai());
1811
1913
  }
1812
1914
  /**
1915
+ * Old name: _NETWORK_GET_UNRELIABLE_RESEND_COUNT_FOR_PLAYER
1916
+ *
1917
+ * @param player
1813
1918
  * @returns
1814
1919
  */
1815
- static isInSpectatorMode() {
1816
- return inv('0x048746E388762E11', rai());
1920
+ static getUnreliableResendCount(player) {
1921
+ return inv('0x3765C3A3E8192E10', player.handle, rai());
1922
+ }
1923
+ /**
1924
+ * Note: this native was added in build 1311.23
1925
+ *
1926
+ * @param p0
1927
+ * @returns
1928
+ */
1929
+ static N_0x106CBDD5077DEDE1(p0) {
1930
+ return inv('0x106CBDD5077DEDE1', p0, rai());
1817
1931
  }
1818
1932
  static N_0x49CF17A564918E8D() {
1819
1933
  inv('0x49CF17A564918E8D');
@@ -1907,7 +2021,7 @@ export class Network {
1907
2021
  * @returns
1908
2022
  */
1909
2023
  static requestControlOfNetworkId(netId) {
1910
- return inv('0xA670B3662FAFFBD0', netId, rai());
2024
+ return !!inv('0xA670B3662FAFFBD0', netId, rai());
1911
2025
  }
1912
2026
  /**
1913
2027
  * @param volume
@@ -1949,395 +2063,480 @@ export class Network {
1949
2063
  * @returns
1950
2064
  */
1951
2065
  static commerceStoreIsOpen() {
1952
- return inv('0xCE5E79D9E303628E', rai());
2066
+ return !!inv('0xCE5E79D9E303628E', rai());
1953
2067
  }
1954
- static clearClockTimeOverride() {
1955
- inv('0xD972DF67326F966E');
2068
+ /**
2069
+ * @param flags
2070
+ * @returns
2071
+ */
2072
+ static sessionRemovePlayerFlags(flags) {
2073
+ return inv('0x3215BBE34D3418C5', flags);
1956
2074
  }
1957
- static N_0xC8B6D18E22484643() {
1958
- inv('0xC8B6D18E22484643');
2075
+ /**
2076
+ * @returns
2077
+ */
2078
+ static getTimeoutTime() {
2079
+ return inv('0x5ED0356A0CE3A34F', rai());
1959
2080
  }
1960
2081
  /**
1961
2082
  * @param p0
1962
- * @param p1
1963
2083
  */
1964
- static N_0xDC6AD5C046F33AB4(p0, p1) {
1965
- inv('0xDC6AD5C046F33AB4', p0, p1);
2084
+ static setLocalPlayerInvisibleLocally(p0) {
2085
+ inv('0xE5F773C1A1D9D168', p0);
1966
2086
  }
1967
2087
  /**
1968
- * @param entity
2088
+ * @param threadId
1969
2089
  * @returns
1970
2090
  */
1971
- static hasControlOfEntity(entity) {
1972
- return inv('0x01BF60A500E28887', entity.handle, rai());
2091
+ static isThreadActive(threadId) {
2092
+ return inv('0x31DAD2CD6D49546E', threadId);
1973
2093
  }
1974
2094
  /**
1975
- * @param player
2095
+ * Returns false if pedshot push failed
2096
+ *
2097
+ * @param texture
2098
+ * @param playerSlot
2099
+ * @param p2
2100
+ * @param personaPhotoLocalCacheType
1976
2101
  * @returns
1977
2102
  */
1978
- static getUniqueIntForPlayer(player) {
1979
- return inv('0x07F723401B9D921C', player.handle, rai());
2103
+ static personaPhotoWriteLocal(texture, playerSlot, p2, personaPhotoLocalCacheType) {
2104
+ return inv('0x2A48D9567940598F', texture, playerSlot, p2, personaPhotoLocalCacheType);
1980
2105
  }
1981
2106
  /**
1982
- * @param tunableContext
1983
- * @param tunableName
2107
+ * @param index
1984
2108
  * @returns
1985
2109
  */
1986
- static accessTunableBool(tunableContext, tunableName) {
1987
- return inv('0xAA6A47A573ABB75A', _h(tunableContext), _h(tunableName), rai());
2110
+ static getParticipantIndex(index) {
2111
+ return inv('0x1B84DF6AF2A46938', index, rai());
1988
2112
  }
1989
2113
  /**
1990
- * @returns gamerHandle
2114
+ * @param p0
1991
2115
  */
1992
- static removeFriend() {
1993
- const result = inv('0x55F618F68AB854D3', pvi());
1994
- return [result[0], result[1]];
1995
- }
1996
- static N_0x6C7E04E9DE451789() {
1997
- inv('0x6C7E04E9DE451789');
2116
+ static N_0xD637D327080CD86E(p0) {
2117
+ inv('0xD637D327080CD86E', p0);
1998
2118
  }
1999
2119
  /**
2000
2120
  * @returns
2001
2121
  */
2002
- static N_0x0B6B4507AC5EA8B8() {
2003
- return inv('0x0B6B4507AC5EA8B8', rai());
2122
+ static sessionIsAnyRequestInProgress() {
2123
+ return inv('0xBAFFDE5F953720D9');
2004
2124
  }
2005
2125
  /**
2006
- * @param netID
2007
- * @param toggle
2126
+ * @param p0
2127
+ * @param p1
2128
+ * @param p2
2129
+ * @param p3
2130
+ * @param p4
2131
+ * @param p5
2132
+ * @returns
2008
2133
  */
2009
- static activateDamageTrackerOnNetworkId(netID, toggle) {
2010
- inv('0xD45B1FFCCD52FF19', netID, toggle);
2134
+ static isSphereVisibleToPlayer(p0, p1, p2, p3, p4, p5) {
2135
+ return !!inv('0xDC3A310219E5DA62', p0, p1, p2, p3, p4, p5, rai());
2011
2136
  }
2012
2137
  /**
2013
- * *NETWORK_SPAWN_CONFIG**
2138
+ * @param netHandle
2139
+ * @returns Returns the `entity` handle for the `netHandle` or `0` if the entity doesn't exist.
2014
2140
  */
2015
- static N_0x6CEE2E30021DAEC6() {
2016
- inv('0x6CEE2E30021DAEC6');
2017
- }
2018
- static N_0x5B9C6AC118FD4774() {
2019
- inv('0x5B9C6AC118FD4774');
2141
+ static netToEnt(netHandle) {
2142
+ return createFromHandle('Entity', inv('0xBFFEAB45A9A9094A', netHandle, rai()));
2020
2143
  }
2021
2144
  /**
2022
- * @param player
2023
- * @param trackedPlayer
2145
+ * Note: this native was added in build 1311.23
2146
+ *
2024
2147
  * @returns
2025
2148
  */
2026
- static isTrackedPlayerVisible(player, trackedPlayer) {
2027
- return inv('0xE525878A35B9EEBD', player.handle, trackedPlayer.handle);
2028
- }
2029
- static activityResetToIdle() {
2030
- inv('0x3FE141FDB990E3D1');
2149
+ static N_0x062842D61D0D53FD() {
2150
+ return !!inv('0x062842D61D0D53FD', rai());
2031
2151
  }
2032
2152
  /**
2033
2153
  * @param p0
2034
- * @returns
2035
2154
  */
2036
- static hasControlOfPickupPlacement(p0) {
2037
- return inv('0x51EABCF2786515AB', p0, rai());
2155
+ static N_0xFF36F36B07E69059(p0) {
2156
+ inv('0xFF36F36B07E69059', p0);
2038
2157
  }
2039
2158
  /**
2040
- * Converts the specified entity into a local entity, removing it from the networked pool. This will only work if you're the owner of the entity.
2041
- *
2042
- * @param entity The entity to un-network
2159
+ * @param flags
2160
+ * @returns
2043
2161
  */
2044
- static unregisterNetworkedEntity(entity) {
2045
- inv('0xE31A04513237DC89', entity.handle);
2162
+ static sessionSetPlayerFlags(flags) {
2163
+ return inv('0x0AE241A4A9ADEEEC', flags);
2046
2164
  }
2047
2165
  /**
2048
- * nullsub, doesn't do anything
2166
+ * @param contentId
2167
+ * @param dataSize
2168
+ * @param p4
2169
+ * @param flags
2170
+ * @returns gamerHandle; data
2049
2171
  */
2050
- static showPsnUgcRestriction() {
2051
- inv('0x5C497525F803486B');
2172
+ static sendSessionInvite(contentId, dataSize, p4, flags) {
2173
+ const result = inv('0xE47001B7CB8B98AE', pvi(), contentId, pvi(), dataSize, p4, flags);
2174
+ return [result[0], result[1], result[2]];
2175
+ }
2176
+ static N_0x61BFBAA795E712AD() {
2177
+ inv('0x61BFBAA795E712AD');
2052
2178
  }
2053
2179
  /**
2054
- * @param p0
2055
- * @param p1
2180
+ * @param playerSlot
2181
+ * @param personaPhotoLocalCacheType
2056
2182
  * @returns
2057
2183
  */
2058
- static ugcQueryGetPosixUpdatedDate(p0, p1) {
2059
- return inv('0x21A99A72B00D8002', p0, p1, rai());
2184
+ static localPlayerPedshotTextureDownloadRequest(playerSlot, personaPhotoLocalCacheType) {
2185
+ return inv('0x6E2FD8CF7EB10E53', playerSlot, personaPhotoLocalCacheType, rai());
2060
2186
  }
2061
2187
  /**
2062
- * @param index
2188
+ * Hardcoded to return zero.
2189
+ *
2063
2190
  * @returns
2064
2191
  */
2065
- static hasRosPrivilege(index) {
2066
- return inv('0xA699957E60D80214', index, rai());
2192
+ static N_0x5133CF81924F1129() {
2193
+ return inv('0x5133CF81924F1129', rai());
2067
2194
  }
2068
2195
  /**
2196
+ * Returns the Player associated to a given Ped when in an online session.
2197
+ *
2198
+ * @param ped
2069
2199
  * @returns
2070
2200
  */
2071
- static isSessionStarted() {
2072
- return inv('0x9DE624D2FC4B603F', rai());
2201
+ static getPlayerIndexFromPed(ped) {
2202
+ return createFromHandle('Player', inv('0x6C0E2E0125610278', ped.handle, rai()));
2073
2203
  }
2074
2204
  /**
2075
- * @param toggle
2205
+ * @param netID
2206
+ * @returns
2076
2207
  */
2077
- static setLocalPlayerSyncLookAt(toggle) {
2078
- inv('0x524FF0AEFF9C3973', toggle);
2208
+ static doesNetworkIdExist(netID) {
2209
+ return !!inv('0x38CE16C96BD11344', netID, rai());
2079
2210
  }
2080
2211
  /**
2081
- * @returns gamerHandle
2212
+ * @param local
2213
+ * @param remote
2214
+ * @param instanceId
2082
2215
  */
2083
- static showProfileUi() {
2084
- const result = inv('0x859ED1CEA343FCA8', pvi());
2085
- return result;
2216
+ static setLocalPlayerVisibleInCutscene(local, remote, instanceId) {
2217
+ inv('0xD1065D68947E7B6E', local, remote, instanceId);
2086
2218
  }
2087
2219
  /**
2088
- * @param player
2089
- * @param toggle
2220
+ * Params: p5 = 50.f, p6 = 0 in R* Script net_fetch (NET_FETCH_CLIENT_UPDATE_PED_ROLE_CLUE_IDLE)
2221
+ *
2222
+ * @param pos
2223
+ * @param p5
2224
+ * @param p6
2225
+ * @returns p0; p1
2090
2226
  */
2091
- static setPlayerVisibleLocally(player, toggle) {
2092
- inv('0xFAA10F1FAFB11AF2', player.handle, toggle);
2227
+ static N_0x880A7202301E282B(pos, p5, p6) {
2228
+ const result = inv('0x880A7202301E282B', pvi(), pvi(), f(pos.x), f(pos.y), f(pos.z), f(p5), p6, rai());
2229
+ return [!!result[0], result[1], result[2]];
2093
2230
  }
2094
2231
  /**
2095
- * *NETWORK_SPAWN_CONFIG**
2232
+ * Note: this native was added in build 1491.50
2096
2233
  *
2097
- * @param nsctf
2234
+ * @param p0
2235
+ * @returns
2098
2236
  */
2099
- static N_0x5D3C528B7A7DF836(nsctf) {
2100
- inv('0x5D3C528B7A7DF836', _h(nsctf));
2237
+ static N_0xDBDF80673BBA3D65(p0) {
2238
+ return !!inv('0xDBDF80673BBA3D65', p0, rai());
2101
2239
  }
2102
2240
  /**
2103
- * @returns
2241
+ * @param p0
2104
2242
  */
2105
- static autoSessionIsAutoWarpDisabled() {
2106
- return inv('0xE258570E0C116A66');
2243
+ static N_0x9F24A34863FD35DA(p0) {
2244
+ inv('0x9F24A34863FD35DA', p0);
2245
+ }
2246
+ static clearPlatformInvite() {
2247
+ inv('0xA4484173759749B1');
2248
+ }
2249
+ /**
2250
+ * @param toggle
2251
+ * @param p2
2252
+ * @returns p1
2253
+ */
2254
+ static autoSessionSetAllowedToMerge(toggle, p2) {
2255
+ const result = inv('0x63246A24F5747510', toggle, pvi(), p2);
2256
+ return result;
2107
2257
  }
2108
2258
  /**
2109
2259
  * @returns
2110
2260
  */
2111
- static didGetGamerStatusSucceed() {
2112
- return inv('0x5AE17C6B0134B7F1');
2261
+ static getTotalNumPlayers() {
2262
+ return inv('0xCF61D4B4702EE9EB', rai());
2113
2263
  }
2114
2264
  /**
2265
+ * Note: this native was added in build 1311.23
2266
+ *
2115
2267
  * @param p0
2116
- * @param p1
2117
- * @param p2
2118
- * @param p3
2119
- * @param p4
2120
2268
  * @returns
2121
2269
  */
2122
- static isSphereVisibleToAnotherMachine(p0, p1, p2, p3, p4) {
2123
- return inv('0xD82CF8E64C8729D8', p0, p1, p2, p3, p4, rai());
2270
+ static N_0x744BFBB0CA908161(p0) {
2271
+ return inv('0x744BFBB0CA908161', p0, rai());
2124
2272
  }
2125
2273
  /**
2126
- * @param p0
2274
+ * @param player
2127
2275
  * @returns
2128
2276
  */
2129
- static checkCommunicationPrivileges(p0) {
2130
- return inv('0x83F28CE49FBBFFBA', p0, rai());
2277
+ static isPlayerActive(player) {
2278
+ return !!inv('0xB8DFD30D6973E135', player.handle, rai());
2131
2279
  }
2132
2280
  /**
2133
- * Note: this native was added in build 1355.30
2281
+ * @returns
2134
2282
  */
2135
- static N_0x40FEDB13870042F1() {
2136
- inv('0x40FEDB13870042F1');
2283
+ static getPlatformInviteId() {
2284
+ return inv('0x9BCF28FB5D65A9BE', rai());
2137
2285
  }
2138
2286
  /**
2139
- * @param player1
2140
- * @param player2
2287
+ * @param p0
2288
+ * @param index
2141
2289
  * @returns
2142
2290
  */
2143
- static N_0xFE53B1F8D43F19BF(player1, player2) {
2144
- return inv('0xFE53B1F8D43F19BF', player1.handle, player2.handle, rai());
2291
+ static ugcQueryGetOwnerId(p0, index) {
2292
+ return inv('0xF9F0B3028431967B', p0, index, ras());
2145
2293
  }
2146
2294
  /**
2147
- * @param id
2295
+ * @param tunableContext
2296
+ * @param tunableName
2297
+ * @param defaultValue
2148
2298
  * @returns
2149
2299
  */
2150
- static cloudDidRequestSucceed(id) {
2151
- return inv('0x3A3D5568AF297CD5', id, rai());
2300
+ static tryAccessTunableFloatHash(tunableContext, tunableName, defaultValue) {
2301
+ return inv('0xA18393089C05E49C', _h(tunableContext), _h(tunableName), f(defaultValue), raf());
2152
2302
  }
2153
2303
  /**
2154
- * @param player
2155
2304
  * @returns
2156
2305
  */
2157
- static isPlayerConnected(player) {
2158
- return inv('0x93DC1BE4E1ABE9D1', player.handle, rai());
2306
+ static hasNetworkTimeStarted() {
2307
+ return !!inv('0x46718ACEEDEAFC84', rai());
2159
2308
  }
2160
2309
  /**
2161
2310
  * Hardcoded to return false.
2162
2311
  *
2163
- * @returns gamerHandle
2312
+ * @returns
2164
2313
  */
2165
- static isPendingFriend() {
2166
- const result = inv('0x0BE73DA6984A6E33', pvi());
2167
- return [result[0], result[1]];
2314
+ static isInPlatformParty() {
2315
+ return !!inv('0x2FC5650B0271CB57', rai());
2168
2316
  }
2169
2317
  /**
2170
- * Note: this native was added in build 1311.23
2318
+ * Return the local Participant ID. This native is exactly the same as 'PARTICIPANT_ID' native.
2171
2319
  *
2172
- * @param p0
2320
+ * @returns
2173
2321
  */
2174
- static N_0xA7670F7991099680(p0) {
2175
- inv('0xA7670F7991099680', p0);
2322
+ static participantIdToInt() {
2323
+ return inv('0x57A3BDDAD8E5AA0A', rai());
2176
2324
  }
2177
2325
  /**
2178
- * @param instanceId
2326
+ * @param toggle
2327
+ * @param pos
2179
2328
  */
2180
- static setLocalPlayerPendingFastInstanceId(instanceId) {
2181
- inv('0x007FF852DCF49DA4', instanceId);
2329
+ static setInStaticSpectatorMode(toggle, pos) {
2330
+ inv('0xFBF1ECFB39A77B5F', toggle, f(pos.x), f(pos.y), f(pos.z));
2182
2331
  }
2183
2332
  /**
2184
2333
  * @param p0
2334
+ * @returns
2185
2335
  */
2186
- static N_0xF342F6BD0A8287D5(p0) {
2187
- inv('0xF342F6BD0A8287D5', p0);
2336
+ static requestControlOfPickupPlacement(p0) {
2337
+ return !!inv('0x56ED2C48558DAB78', p0, rai());
2188
2338
  }
2189
2339
  /**
2190
- * @returns
2340
+ * @param entity
2191
2341
  */
2192
- static isFindingGamers() {
2193
- return inv('0xDDDF64C91BFCF0AA', rai());
2342
+ static registerEntityAsNetworked(entity) {
2343
+ inv('0x06FAACD625D80CAA', entity.handle);
2194
2344
  }
2195
2345
  /**
2196
- * Returns textureDownloadId
2346
+ * Session flag 'SF_PRIVATE' is set internally
2347
+ * p1 represents max amount of players in private session
2197
2348
  *
2198
- * @param filePath
2199
- * @param name
2200
- * @param p3
2201
- * @returns gamerHandle
2349
+ * @param flags
2350
+ * @param numPlayers
2351
+ * @param userHash
2352
+ * @returns sessionRequestId
2202
2353
  */
2203
- static textureDownloadRequest(filePath, name, p3) {
2204
- const result = inv('0x16160DA74A8E74A2', pvi(), filePath, name, p3, rai());
2354
+ static sessionRequestSessionPrivate(flags, numPlayers, userHash) {
2355
+ const result = inv('0x39A8EF7AF29A192C', flags, numPlayers, userHash, pvi());
2205
2356
  return [result[0], result[1]];
2206
2357
  }
2207
2358
  /**
2208
- * @returns gamerHandle
2359
+ * @param textureDownloadId
2209
2360
  */
2210
- static isFriendHandleOnline() {
2211
- const result = inv('0xE348D1404BD80146', pvi(), rai());
2212
- return [!!result[0], result[1]];
2361
+ static textureDownloadRelease(textureDownloadId) {
2362
+ inv('0x487EB90B98E9FB19', textureDownloadId);
2213
2363
  }
2214
2364
  /**
2215
- * @param netId
2216
- * @returns weaponHash: Refer to [enum: eWeaponHash]
2365
+ * Only used in R* Script net_rolling_playlist
2217
2366
  */
2218
- static getDestroyerOfNetworkId(netId) {
2219
- const result = inv('0x7A1ADEEF01740A24', netId, pvi(), rai());
2220
- return [result[0], result[1]];
2367
+ static sessionPlaylistGoToNextContent() {
2368
+ inv('0xBDE605F925B07127');
2221
2369
  }
2222
2370
  /**
2223
- * Returns value of fwuiCachedSetting "general.onlineNotificationsInStoryMode"
2371
+ * Note: this native was added in build 1311.23
2224
2372
  *
2225
- * @returns
2373
+ * @returns sessionId
2226
2374
  */
2227
- static areOnlineNotificationsShownInStoryMode() {
2228
- return inv('0xF5C5929E07512F80', rai());
2375
+ static sessionGetSessionId() {
2376
+ const result = inv('0xE9B356C330C0A806', pvi());
2377
+ return result;
2229
2378
  }
2230
2379
  /**
2231
- * Subtracts the second argument from the first.
2232
- *
2380
+ * @returns
2381
+ */
2382
+ static autoSessionSplitSessionSuccessful() {
2383
+ return inv('0x6D87BA8EF15226CD');
2384
+ }
2385
+ /**
2386
+ * @param ugcRequestId
2387
+ * @returns
2388
+ */
2389
+ static ugcHasRequestFinished(ugcRequestId) {
2390
+ return inv('0xA9EB4D606076615D', ugcRequestId);
2391
+ }
2392
+ /**
2393
+ * @returns sessionRequestId
2394
+ */
2395
+ static sessionIsRequestInProgress() {
2396
+ const result = inv('0x8FB7C254CFCBF78E', pvi());
2397
+ return [result[0], result[1]];
2398
+ }
2399
+ /**
2400
+ * Adds the first argument to the second.
2401
+ *
2233
2402
  * @param timeA
2234
2403
  * @param timeB
2235
2404
  * @returns
2236
2405
  */
2237
- static getTimeDifference(timeA, timeB) {
2238
- return inv('0xA2C6FC031D46FFF0', timeA, timeB, rai());
2406
+ static getTimeOffset(timeA, timeB) {
2407
+ return inv('0x017008CCDAD48503', timeA, timeB, rai());
2239
2408
  }
2240
2409
  /**
2241
2410
  * @param p0
2242
2411
  * @returns
2243
2412
  */
2244
- static N_0xD1FFB246F4E088AC(p0) {
2245
- return inv('0xD1FFB246F4E088AC', p0, rai());
2413
+ static N_0xC028B3F52C707C49(p0) {
2414
+ return !!inv('0xC028B3F52C707C49', p0, rai());
2246
2415
  }
2247
2416
  /**
2248
- * @param description
2417
+ * nullsub, doesn't do anything
2418
+ *
2249
2419
  * @returns
2250
2420
  */
2251
- static ugcDidDescriptionRequestSucceed(description) {
2252
- return inv('0x162C23CA83ED0A62', _h(description), rai());
2421
+ static N_0xC964FCD3D1720697() {
2422
+ return inv('0xC964FCD3D1720697');
2253
2423
  }
2254
2424
  /**
2425
+ * @param p0
2426
+ * @param p1
2255
2427
  * @returns
2256
2428
  */
2257
- static getGameMode() {
2258
- return inv('0x225640E09EFFDC3F', rai());
2429
+ static ugcQueryGetPublished(p0, p1) {
2430
+ return inv('0x9993F1E11944A3DD', p0, p1);
2431
+ }
2432
+ static disableRealtimeMultiplayer() {
2433
+ inv('0x236905C700FDB54D');
2259
2434
  }
2260
2435
  /**
2261
- * @param amount
2436
+ * @param volume
2262
2437
  */
2263
- static reserveNetworkClientMissionPeds(amount) {
2264
- inv('0x807E119F80231732', amount);
2438
+ static spawnConfigRemoveExclusionVolume(volume) {
2439
+ inv('0xA35E7BF20FA269E0', volume.handle);
2265
2440
  }
2266
2441
  /**
2267
- * @param p0
2268
- * @param p1
2269
- * @param p2
2270
- * @param p3
2442
+ * @param tunableContext
2443
+ * @param tunableName
2444
+ * @returns
2271
2445
  */
2272
- static setInMpCutscene(p0, p1, p2, p3) {
2273
- inv('0x9CA5DE655269FEC4', p0, p1, p2, p3);
2446
+ static doesTunableExist(tunableContext, tunableName) {
2447
+ return !!inv('0x85E5F8B9B898B20A', _h(tunableContext), _h(tunableName), rai());
2274
2448
  }
2275
2449
  /**
2276
- * @param toggle
2277
- * @param playerPed
2450
+ * Note: this native was added in build 1311.23
2451
+ *
2452
+ * @param p0
2453
+ * @returns
2278
2454
  */
2279
- static setInSpectatorMode(toggle, playerPed) {
2280
- inv('0x423DE3854BB50894', toggle, playerPed.handle);
2455
+ static N_0x982D7AD755B8F62C(p0) {
2456
+ return inv('0x982D7AD755B8F62C', p0, rai());
2457
+ }
2458
+ static startSoloTutorialSession() {
2459
+ inv('0x17E0198B3882C2CB');
2281
2460
  }
2282
2461
  /**
2283
2462
  * @param p0
2463
+ * @param p2
2464
+ * @param p3
2465
+ * @returns p1
2284
2466
  */
2285
- static N_0x3E74A687A73979C6(p0) {
2286
- inv('0x3E74A687A73979C6', p0);
2467
+ static setRichPresence(p0, p2, p3) {
2468
+ const result = inv('0x1DCCACDCFC569362', p0, pvi(), p2, p3);
2469
+ return result;
2287
2470
  }
2288
2471
  /**
2289
- * @returns sessionRequestId
2472
+ * @returns
2290
2473
  */
2291
- static sessionIsRequestPendingTransition() {
2292
- const result = inv('0xCCF878D50F8AB10D', pvi());
2293
- return [result[0], result[1]];
2474
+ static pedmugshotTake() {
2475
+ return inv('0xCD954F330693F5F2');
2294
2476
  }
2295
2477
  /**
2296
- * @param offset
2478
+ * @param entity
2297
2479
  */
2298
- static spawnConfigSetGroundToRootOffset(offset) {
2299
- inv('0x59577799F6AE2F34', f(offset));
2480
+ static N_0xBB1EC8C2EEF33BAA(entity) {
2481
+ inv('0xBB1EC8C2EEF33BAA', entity.handle);
2300
2482
  }
2301
2483
  /**
2302
2484
  * @returns
2303
2485
  */
2304
- static checkAccessAndAlertIfFail() {
2305
- return inv('0x2A8112A974DE1EF6');
2486
+ static haveOnlinePrivileges() {
2487
+ return !!inv('0x25CB5A9F37BFD063', rai());
2306
2488
  }
2307
2489
  /**
2308
- * Note: this native was added in build 1311.23
2309
- *
2490
+ * @param p0
2491
+ * @param index
2310
2492
  * @returns
2311
2493
  */
2312
- static N_0xFB3205788F8AFA3F() {
2313
- return inv('0xFB3205788F8AFA3F', rai());
2494
+ static ugcQueryGetRootContentId(p0, index) {
2495
+ return inv('0x566CEB0542EF5ECF', p0, index, ras());
2314
2496
  }
2315
2497
  /**
2316
2498
  * @returns
2317
2499
  */
2318
- static getNumRecentGamers() {
2319
- return inv('0x37A834AEC6A4F74A', rai());
2500
+ static didFindGamersSucceed() {
2501
+ return inv('0xF9B83B77929D8863');
2502
+ }
2503
+ static N_0x0BF90CBB6B72977B() {
2504
+ inv('0x0BF90CBB6B72977B');
2320
2505
  }
2321
2506
  /**
2322
- * @returns
2507
+ * @returns gamerHandle
2323
2508
  */
2324
- static N_0xD3A3C8B9F3BDEF81() {
2325
- return inv('0xD3A3C8B9F3BDEF81');
2509
+ static getLocalHandle() {
2510
+ const result = inv('0xE86051786B66CD8E', pvi());
2511
+ return result;
2326
2512
  }
2327
2513
  /**
2328
- * Returns the entity's network ID.
2514
+ * nullsub, doesn't do anything
2329
2515
  *
2516
+ * @param p0
2517
+ */
2518
+ static N_0x2C4E98DDA475364F(p0) {
2519
+ inv('0x2C4E98DDA475364F', p0);
2520
+ }
2521
+ /**
2330
2522
  * @param entity
2331
2523
  * @returns
2332
2524
  */
2333
- static N_0xF302AB9D978352EE(entity) {
2334
- return inv('0xF302AB9D978352EE', entity.handle, rai());
2525
+ static getGlobalEntityFlags(entity) {
2526
+ return inv('0xDD7806FD0543BC3D', entity.handle, rai());
2527
+ }
2528
+ /**
2529
+ * @param description
2530
+ * @returns
2531
+ */
2532
+ static ugcHasDescriptionRequestFinished(description) {
2533
+ return !!inv('0xEBFA8D50ADDC54C4', _h(description), rai());
2335
2534
  }
2336
2535
  /**
2337
2536
  * @returns
2338
2537
  */
2339
2538
  static canSessionEnd() {
2340
- return inv('0x4EEBC3694E49C572', rai());
2539
+ return !!inv('0x4EEBC3694E49C572', rai());
2341
2540
  }
2342
2541
  /**
2343
2542
  * @returns
@@ -2359,7 +2558,7 @@ export class Network {
2359
2558
  * @returns
2360
2559
  */
2361
2560
  static isInPlatformPartyChat() {
2362
- return inv('0xFD8B834A8BA05048', rai());
2561
+ return !!inv('0xFD8B834A8BA05048', rai());
2363
2562
  }
2364
2563
  /**
2365
2564
  * @param friendIndex
@@ -2373,7 +2572,7 @@ export class Network {
2373
2572
  * @returns
2374
2573
  */
2375
2574
  static commerceStoreIsEnabled() {
2376
- return inv('0xDBC754CB6CCB9378', rai());
2575
+ return !!inv('0xDBC754CB6CCB9378', rai());
2377
2576
  }
2378
2577
  /**
2379
2578
  * @param p0
@@ -2386,7 +2585,7 @@ export class Network {
2386
2585
  * @returns
2387
2586
  */
2388
2587
  static hasControlOfNetworkId(netId) {
2389
- return inv('0x4D36070FE0215186', netId, rai());
2588
+ return !!inv('0x4D36070FE0215186', netId, rai());
2390
2589
  }
2391
2590
  /**
2392
2591
  * @param flags
@@ -2434,7 +2633,7 @@ export class Network {
2434
2633
  * @returns
2435
2634
  */
2436
2635
  static isClockTimeOverridden() {
2437
- return inv('0xD7C95D322FF57522', rai());
2636
+ return !!inv('0xD7C95D322FF57522', rai());
2438
2637
  }
2439
2638
  /**
2440
2639
  * @param player
@@ -2445,360 +2644,235 @@ export class Network {
2445
2644
  return result;
2446
2645
  }
2447
2646
  /**
2448
- * Note: this native was added in build 1311.23, but was only used after build 1436.25
2647
+ * Returns string for GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO
2648
+ *
2649
+ * @param p0
2650
+ * @param p1
2651
+ * @param p2
2652
+ * @returns
2449
2653
  */
2450
- static requestCloudTunables() {
2451
- inv('0x42FB3B532D526E6C');
2654
+ static ugcQueryGetCreatorPhoto(p0, p1, p2) {
2655
+ return inv('0x409FE0CA6A4D1D49', p0, p1, p2, ras());
2452
2656
  }
2453
2657
  /**
2454
2658
  * @param toggle
2455
2659
  */
2456
- static setScriptReadyForEvents(toggle) {
2457
- inv('0x7AC752103856FB20', toggle);
2660
+ static setRecentGamersEnabled(toggle) {
2661
+ inv('0x29FE035D35B8589C', toggle);
2458
2662
  }
2459
2663
  /**
2460
- * @param amount
2461
2664
  * @returns
2462
2665
  */
2463
- static canRegisterMissionPeds(amount) {
2464
- return inv('0xBCBF4FEF9FA5D781', amount, rai());
2666
+ static getLaunchParamString() {
2667
+ return inv('0xC59AB6A04333C502', ras());
2465
2668
  }
2466
2669
  /**
2467
- * @returns gamerHandle1; gamerHandle2
2670
+ * @param entity
2671
+ * @param toggle
2468
2672
  */
2469
- static areHandlesTheSame() {
2470
- const result = inv('0x57DBA049E110F217', pvi(), pvi(), rai());
2471
- return [!!result[0], result[1], result[2]];
2673
+ static setEntityRemainsWhenUnnetworked(entity, toggle) {
2674
+ inv('0xD785864798258032', entity.handle, toggle);
2472
2675
  }
2473
2676
  /**
2474
- * Old name: _SET_LOCAL_PLAYER_AS_GHOST
2475
- *
2476
- * @param toggle
2677
+ * @param flags
2678
+ * @param userHash
2679
+ * @param p2
2680
+ * @returns sessionRequestId
2477
2681
  */
2478
- static setLocalPlayerAsGhost(toggle) {
2479
- inv('0x5FFE9B4144F9712F', toggle);
2682
+ static sessionRequestSessionNominated(flags, userHash, p2) {
2683
+ const result = inv('0x4F4672457FF597D1', flags, userHash, p2, pvi(), rai());
2684
+ return [!!result[0], result[1]];
2480
2685
  }
2481
2686
  /**
2482
- * Example: char displayName[64];
2483
- * if (_NETWORK_GET_DISPLAY_NAME_FROM_HANDLE(handle, displayName))
2484
- * {
2485
- * // use displayName
2486
- * }
2487
- *
2488
- * @param displayName
2489
- * @returns gamerHandle
2687
+ * @param description
2688
+ * @returns
2490
2689
  */
2491
- static getDisplayNameFromHandle(displayName) {
2492
- const result = inv('0x7FEE4F07C54B6B3C', pvi(), displayName);
2493
- return [result[0], result[1]];
2690
+ static ugcIsDescriptionRequestInProgress(description) {
2691
+ return !!inv('0x2D5DC831176D0114', _h(description), rai());
2494
2692
  }
2495
- static endTutorialSession() {
2496
- inv('0xD0AFAFF5A51D72F7');
2693
+ /**
2694
+ * @param ugcRequestId
2695
+ */
2696
+ static ugcClearQueryResults(ugcRequestId) {
2697
+ inv('0xE931354FEA710038', ugcRequestId);
2497
2698
  }
2498
2699
  /**
2499
- * @param p0
2500
- * @param p2
2501
- * @returns p1
2700
+ * @param threadId
2701
+ * @returns
2502
2702
  */
2503
- static isPlayerAParticipantOnScript(p0, p2) {
2504
- const result = inv('0x1AD5B71586B94820', p0.handle, pvi(), p2, rai());
2505
- return [!!result[0], result[1]];
2703
+ static getHostOfThread(threadId) {
2704
+ return createFromHandle('Player', inv('0xB4A25351D79B444C', threadId, rai()));
2506
2705
  }
2507
2706
  /**
2508
2707
  * @returns
2509
2708
  */
2510
- static getTotalNumFriends() {
2511
- return inv('0xDB7ABDD203FA3704', rai());
2709
+ static isGameInProgress() {
2710
+ return !!inv('0x10FAB35428CCC9D7', rai());
2512
2711
  }
2513
2712
  /**
2514
- * Returns ugcRequestId
2515
- *
2516
- * @param p0
2517
- * @param maxGet
2518
- * @param contentTypeName
2519
- * @param p3
2520
- * @param p4
2521
- * @param p5
2713
+ * @param rangeStart
2714
+ * @param rangeEnd
2522
2715
  * @returns
2523
2716
  */
2524
- static ugcQueryByContentType(p0, maxGet, contentTypeName, p3, p4, p5) {
2525
- return inv('0xF40EF49B3099E98E', p0, maxGet, contentTypeName, p3, p4, p5, rai());
2717
+ static getRandomIntRanged(rangeStart, rangeEnd) {
2718
+ return inv('0xE30CF56F1EFA5F43', rangeStart, rangeEnd, rai());
2526
2719
  }
2527
2720
  /**
2528
2721
  * @param p0
2529
- * @param index
2530
- * @param p2
2531
2722
  * @returns
2532
2723
  */
2533
- static ugcQueryGetRating(p0, index, p2) {
2534
- return inv('0x24CD8FAEA1368379', p0, index, p2, raf());
2724
+ static acceptRsInvite(p0) {
2725
+ return inv('0xB2CEA5105AAC8DDE', p0);
2535
2726
  }
2536
2727
  /**
2537
2728
  * @param player
2729
+ * @param toggle
2538
2730
  */
2539
- static N_0xD78A26024BB13E08(player) {
2540
- inv('0xD78A26024BB13E08', player.handle);
2731
+ static concealPlayer(player, toggle) {
2732
+ inv('0xBBDF066252829606', player.handle, toggle);
2541
2733
  }
2542
2734
  /**
2543
- * Only used in R* Script fm_race_controller
2735
+ * ^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it. pc or last gen? ^^ last-gen Old name: _NETWORK_SET_ENTITY_INVISIBLE_TO_NETWORK
2544
2736
  *
2545
- * @param p0
2737
+ * @param entity
2738
+ * @param toggle
2546
2739
  */
2547
- static N_0x71FA2D1880C48032(p0) {
2548
- inv('0x71FA2D1880C48032', p0);
2740
+ static setEntityOnlyExistsForParticipants(entity, toggle) {
2741
+ inv('0xF1CA12B18AEF5298', entity.handle, toggle);
2549
2742
  }
2550
2743
  /**
2551
- * Note: this native was added in build 1311.23
2552
- *
2553
- * @param p0
2554
- * @param p1
2555
- * @param p2
2556
- * @param p3
2557
- * @returns
2744
+ * @param doorHash
2558
2745
  */
2559
- static N_0x5F328FC909F0E0FF(p0, p1, p2, p3) {
2560
- return inv('0x5F328FC909F0E0FF', p0, p1, p2, p3, rai());
2746
+ static setDoorNetworked(doorHash) {
2747
+ inv('0x51D99497ABF3F451', _h(doorHash));
2561
2748
  }
2562
2749
  /**
2563
- * Old name: _NETWORK_SET_VEHICLE_WHEELS_DESTRUCTIBLE
2564
- *
2565
- * @param entity
2566
- * @param p1
2567
- */
2568
- static triggerDamageEventForZeroDamage(entity, p1) {
2569
- inv('0x0C8BC052AE87D744', entity.handle, p1);
2570
- }
2571
- /**
2572
- * nullsub, doesn't do anything
2573
- *
2574
- * @returns
2575
- */
2576
- static getNetStatisticsInfo() {
2577
- return inv('0x6FD992C4A1C1B986');
2578
- }
2579
- /**
2580
- * nullsub, doesn't do anything
2581
- */
2582
- static N_0xFC6FCF4C03F1BBF6() {
2583
- inv('0xFC6FCF4C03F1BBF6');
2584
- }
2585
- static N_0x43CF999205084B4B() {
2586
- inv('0x43CF999205084B4B');
2587
- }
2588
- /**
2589
- * p0 appears to be for MP
2590
- *
2591
2750
  * @param p0
2592
- * @returns
2593
- */
2594
- static getNumReservedMissionVehicles(p0) {
2595
- return inv('0xCF3A965906452031', p0, rai());
2596
- }
2597
- /**
2598
- * @param name
2599
- * @returns
2751
+ * @param index
2752
+ * @returns gamerHandle
2600
2753
  */
2601
- static textureDownloadTextureNameIsValid(name) {
2602
- return inv('0xE2C3CEC3C0903A00', name);
2754
+ static ugcQueryGetCreatorHandle(p0, index) {
2755
+ const result = inv('0xADB56322EEDFBDC9', p0, index, pvi());
2756
+ return [result[0], result[1]];
2603
2757
  }
2604
2758
  /**
2605
- * @param scriptName
2606
- * @param p1
2607
- * @param p2
2608
- * @param p3
2759
+ * @param paramName
2609
2760
  * @returns
2610
2761
  */
2611
- static isScriptActive(scriptName, p1, p2, p3) {
2612
- return inv('0x9D40DF90FAD26098', scriptName, p1, p2, p3, rai());
2613
- }
2614
- /**
2615
- * @param p0
2616
- */
2617
- static N_0x5CB8B0C846D0F30B(p0) {
2618
- inv('0x5CB8B0C846D0F30B', p0);
2619
- }
2620
- /**
2621
- * @returns loadingState
2622
- */
2623
- static canAccessMultiplayer() {
2624
- const result = inv('0xAF50DA1A3F8B1BA4', pvi(), rai());
2625
- return [!!result[0], result[1]];
2762
+ static getLaunchParamExists(paramName) {
2763
+ return inv('0x02E97CE283648CD9', paramName);
2626
2764
  }
2627
2765
  /**
2628
- * @returns p0
2766
+ * @returns gamerHandle
2629
2767
  */
2630
- static getCurrentFriendPageData() {
2631
- const result = inv('0xA3EEC0A5AFF3FC5B', pvi());
2768
+ static canReceiveInviteFromHandle() {
2769
+ const result = inv('0xF23D6475640D29EB', pvi());
2632
2770
  return [result[0], result[1]];
2633
2771
  }
2634
2772
  /**
2635
- * @returns p0
2773
+ * @param player
2774
+ * @param p1
2636
2775
  */
2637
- static getSizeOfHostBroadcastDataStorage() {
2638
- const result = inv('0xBA24095EA96DFE17', pvi(), rai());
2639
- return [result[0], result[1]];
2776
+ static addPlayerToRecentGamersList(player, p1) {
2777
+ inv('0x157D8F3DE12B307F', player.handle, p1);
2640
2778
  }
2641
2779
  /**
2642
2780
  * @returns
2643
2781
  */
2644
- static getInstanceIdOfThisScript() {
2645
- return inv('0x638A3A81733086DB', rai());
2782
+ static N_0x232E1EB23CDB313C() {
2783
+ return !!inv('0x232E1EB23CDB313C', rai());
2646
2784
  }
2647
2785
  /**
2648
- * @param p0
2649
- * @returns
2786
+ * Note: this native was added in build 1311.23
2787
+ *
2788
+ * @returns sessionId1; sessionId2
2650
2789
  */
2651
- static awardHasReachedMaxclaim(p0) {
2652
- return inv('0xFBE782B3165AC8EC', p0);
2790
+ static sessionAreSessionIdsEqual() {
2791
+ const result = inv('0x4DEC5000F7B508F0', pvi(), pvi(), rai());
2792
+ return [!!result[0], result[1], result[2]];
2653
2793
  }
2654
2794
  /**
2655
- * @param p0
2656
2795
  * @returns
2657
2796
  */
2658
- static N_0xBB697756309D77EE(p0) {
2659
- return inv('0xBB697756309D77EE', p0);
2797
+ static isTutorialSessionChangePending() {
2798
+ return !!inv('0x35F0B98A8387274D', rai());
2660
2799
  }
2661
- /**
2662
- * @returns
2663
- */
2664
- static autoSessionIsInstancedSession() {
2665
- return inv('0x277865A734918AE6');
2800
+ static ugcReleaseAllCachedDescriptions() {
2801
+ inv('0x68103E2247887242');
2666
2802
  }
2667
2803
  /**
2668
- * @param p0
2669
- * @param p1
2804
+ * @param animScene
2670
2805
  * @returns
2671
2806
  */
2672
- static resetPopulation(p0, p1) {
2673
- return inv('0x101F538C25ABB39A', p0, p1);
2807
+ static requestControlOfAnimScene(animScene) {
2808
+ return inv('0xAAA92B631B13F614', animScene.handle);
2674
2809
  }
2675
- /**
2676
- * @param ped
2677
- * @returns Returns the network id for the specified `ped` or `0` if the entity isn't networked.
2678
- */
2679
- static pedToNet(ped) {
2680
- return inv('0x0EDEC3C276198689', ped.handle, rai());
2810
+ static setMissionFinished() {
2811
+ inv('0x3B3D11CD9FFCDFC9');
2681
2812
  }
2682
2813
  /**
2814
+ * Note: this native was added in build 1311.23
2815
+ *
2683
2816
  * @param p0
2684
2817
  * @returns
2685
2818
  */
2686
- static N_0x27B1AE4D8C652F08(p0) {
2687
- return inv('0x27B1AE4D8C652F08', p0, rai());
2688
- }
2689
- /**
2690
- * @param entity
2691
- * @returns
2692
- */
2693
- static hasEntityBeenRegisteredWithThisThread(entity) {
2694
- return inv('0xB07D3185E11657A5', entity.handle, rai());
2695
- }
2696
- /**
2697
- * @param entity
2698
- * @param toggle
2699
- */
2700
- static setEntityGhostedToLocalPlayer(entity, toggle) {
2701
- inv('0xEE5AE9956743BA20', entity.handle, toggle);
2702
- }
2703
- /**
2704
- * @param player
2705
- * @returns weaponHash: Refer to [enum: eWeaponHash]
2706
- */
2707
- static getEntityKillerOfPlayer(player) {
2708
- const result = inv('0x42B2DAA6B596F5F8', player.handle, pvi(), rai());
2709
- return [createFromHandle('Entity', result[0]), result[1]];
2819
+ static N_0x1E4E097D71D449FB(p0) {
2820
+ return inv('0x1E4E097D71D449FB', p0, rai());
2710
2821
  }
2711
2822
  /**
2823
+ * Note: this native was added in build 1311.23
2824
+ *
2712
2825
  * @param p0
2713
- * @returns
2714
2826
  */
2715
- static getNumCreatedMissionPickups(p0) {
2716
- return inv('0xD2BA051B94CA9BCC', p0, rai());
2827
+ static N_0xC1968045EEB563B7(p0) {
2828
+ inv('0xC1968045EEB563B7', p0);
2717
2829
  }
2718
2830
  /**
2719
- * @param entity
2720
- * @param p1
2721
- * @param p2
2722
- * @param p3
2831
+ * Old name: _CLEAR_LAUNCH_PARAMS
2723
2832
  */
2724
- static setEntityVisibleInCutscene(entity, p1, p2, p3) {
2725
- inv('0xE0031D3C8F36AB82', entity.handle, p1, p2, p3);
2833
+ static clearServiceEventArguments() {
2834
+ inv('0x966DD84FB6A46017');
2726
2835
  }
2727
2836
  /**
2728
- * Hardcoded to return -1.
2837
+ * Old name: _NETWORK_ALLOW_LOCAL_ENTITY_ATTACHMENT
2729
2838
  *
2730
- * @param p1
2731
- * @returns p0
2839
+ * @param entity
2840
+ * @param toggle
2732
2841
  */
2733
- static displaynamesFromHandlesStart(p1) {
2734
- const result = inv('0xD66C9E72B3CC4982', pvi(), p1, rai());
2735
- return [result[0], result[1]];
2842
+ static allowRemoteAttachmentModification(entity, toggle) {
2843
+ inv('0x267C78C60E806B9A', entity.handle, toggle);
2736
2844
  }
2737
2845
  /**
2738
- * @returns
2846
+ * @param volume
2739
2847
  */
2740
- static N_0xCC4E72C339461ED1() {
2741
- return inv('0xCC4E72C339461ED1');
2848
+ static spawnConfigAddExclusionVolume(volume) {
2849
+ inv('0xEEB7818B1D307212', volume.handle);
2742
2850
  }
2743
2851
  /**
2744
- * nullsub, doesn't do anything
2852
+ * Note: this native was added in build 1436.31
2745
2853
  *
2854
+ * @param p0
2746
2855
  * @returns
2747
2856
  */
2748
- static N_0x160F0CE6D76A39C9() {
2749
- return inv('0x160F0CE6D76A39C9');
2857
+ static N_0x78271BC02AE9AF83(p0) {
2858
+ return inv('0x78271BC02AE9AF83', p0, rai());
2750
2859
  }
2751
2860
  /**
2752
- * Old name: _NETWORK_GET_OLDEST_RESEND_COUNT_FOR_PLAYER
2753
- *
2754
- * @param player
2861
+ * @param netID
2755
2862
  * @returns
2756
2863
  */
2757
- static getHighestReliableResendCount(player) {
2758
- return inv('0x52C1EADAF7B10302', player.handle, rai());
2864
+ static isDamageTrackerActiveOnNetworkId(netID) {
2865
+ return !!inv('0x6E192E33AD436366', netID, rai());
2759
2866
  }
2760
2867
  /**
2761
- * Checks for session flag 'SF_PRIVATE'
2868
+ * Always returns -1. Seems to be XB1 specific.
2762
2869
  *
2763
- * @returns
2764
- */
2765
- static sessionIsPrivate() {
2766
- return inv('0xCEF70AA5B3F89BA1', rai());
2767
- }
2768
- /**
2769
- * @param toggle
2770
- */
2771
- static autoSessionSetAllowedToSplit(toggle) {
2772
- inv('0x0A428058079EE65C', toggle);
2773
- }
2774
- static N_0x19B52C20B5C4757C() {
2775
- inv('0x19B52C20B5C4757C');
2776
- }
2777
- /**
2778
- * @returns sessionRequestId
2870
+ * @returns gamerHandle
2779
2871
  */
2780
- static sessionIsNsrrSuccess() {
2781
- const result = inv('0x0F44A5C78D114922', pvi());
2872
+ static startUserContentPermissionsCheck() {
2873
+ const result = inv('0xDEB2B99A1AF1A2A6', pvi(), rai());
2782
2874
  return [result[0], result[1]];
2783
2875
  }
2784
- /**
2785
- * @returns
2786
- */
2787
- static isPlatformInvitePending() {
2788
- return inv('0xFC4165C9165C166F');
2789
- }
2790
- /**
2791
- * @returns
2792
- */
2793
- static isInMpCutscene() {
2794
- return inv('0x6CC27C9FA2040220', rai());
2795
- }
2796
- /**
2797
- * @returns
2798
- */
2799
- static N_0x273E04A3A7AD1F2D() {
2800
- return inv('0x273E04A3A7AD1F2D', rai());
2801
- }
2802
2876
  /**
2803
2877
  * Old name: _NETWORK_GET_AVERAGE_PACKET_LOSS_FOR_PLAYER
2804
2878
  *
@@ -2820,7 +2894,7 @@ export class Network {
2820
2894
  * @returns
2821
2895
  */
2822
2896
  static isPlayerAParticipant(player) {
2823
- return inv('0x3CA58F6CB7CBD784', player.handle, rai());
2897
+ return !!inv('0x3CA58F6CB7CBD784', player.handle, rai());
2824
2898
  }
2825
2899
  /**
2826
2900
  * @returns
@@ -2868,7 +2942,7 @@ export class Network {
2868
2942
  * @returns
2869
2943
  */
2870
2944
  static N_0x3E4A16BC669E71B3() {
2871
- return inv('0x3E4A16BC669E71B3', rai());
2945
+ return !!inv('0x3E4A16BC669E71B3', rai());
2872
2946
  }
2873
2947
  /**
2874
2948
  * @returns
@@ -2883,7 +2957,7 @@ export class Network {
2883
2957
  * @returns
2884
2958
  */
2885
2959
  static getThisScriptIsNetworkScript() {
2886
- return inv('0x2910669969E9535E', rai());
2960
+ return !!inv('0x2910669969E9535E', rai());
2887
2961
  }
2888
2962
  /**
2889
2963
  * @param p0
@@ -2906,7 +2980,7 @@ export class Network {
2906
2980
  * @returns
2907
2981
  */
2908
2982
  static N_0x862C5040F4888741(player1, player2) {
2909
- return inv('0x862C5040F4888741', player1.handle, player2.handle, rai());
2983
+ return !!inv('0x862C5040F4888741', player1.handle, player2.handle, rai());
2910
2984
  }
2911
2985
  /**
2912
2986
  * @param player
@@ -2996,7 +3070,7 @@ export class Network {
2996
3070
  * @returns
2997
3071
  */
2998
3072
  static checkUserContentPrivileges(p0) {
2999
- return inv('0x595F028698072DD9', p0, rai());
3073
+ return !!inv('0x595F028698072DD9', p0, rai());
3000
3074
  }
3001
3075
  /**
3002
3076
  * @param player
@@ -3013,602 +3087,599 @@ export class Network {
3013
3087
  return [result[0], result[1], result[2]];
3014
3088
  }
3015
3089
  /**
3016
- * @param description
3017
- * @param length
3018
3090
  * @returns
3019
3091
  */
3020
- static ugcGetCachedDescription(description, length) {
3021
- return inv('0x40F7E66472DF3E5C', _h(description), length, ras());
3092
+ static didRecentGamerNamesRequestSucceed() {
3093
+ return inv('0x12AEB56B489415C5');
3022
3094
  }
3023
3095
  /**
3024
- * @param toggle
3096
+ * @returns sessionRequestId
3025
3097
  */
3026
- static N_0x780A13F780A13F1B(toggle) {
3027
- inv('0x780A13F780A13F1B', toggle);
3098
+ static sessionCancelRequest() {
3099
+ const result = inv('0xE72E5C1289BD1F40', pvi());
3100
+ return [result[0], result[1]];
3028
3101
  }
3029
3102
  /**
3030
- * @param p1
3103
+ * @param message
3031
3104
  * @returns gamerHandle
3032
3105
  */
3033
- static requestPedshotTextureMultiplayerDownload(p1) {
3034
- const result = inv('0xB5C4B18B12A2AF23', pvi(), p1, ras());
3035
- return [result[0], result[1]];
3106
+ static N_0x5759160AC17C13CE(message) {
3107
+ const result = inv('0x5759160AC17C13CE', pvi(), message);
3108
+ return result;
3036
3109
  }
3037
3110
  /**
3038
- * @param setting
3111
+ * @param id
3112
+ * @returns
3039
3113
  */
3040
- static N_0xE3AB5EEFCB6671A2(setting) {
3041
- inv('0xE3AB5EEFCB6671A2', setting);
3114
+ static cloudHasRequestCompleted(id) {
3115
+ return !!inv('0x4C61B39930D045DA', id, rai());
3042
3116
  }
3043
3117
  /**
3044
- * @param p0
3045
- * @returns
3118
+ * nullsub, doesn't do anything
3046
3119
  */
3047
- static N_0x3AA0CDC63696166D(p0) {
3048
- return inv('0x3AA0CDC63696166D', p0, rai());
3120
+ static N_0xACC44768AF229042() {
3121
+ inv('0xACC44768AF229042');
3049
3122
  }
3050
3123
  /**
3051
- * @param p0
3052
- * @param p1
3124
+ * Hardcoded to return zero. ==== PS4 specific info ==== Returns some sort of unavailable reason:
3125
+ * -1 = REASON_INVALID
3126
+ * 0 = REASON_OTHER
3127
+ * 1 = REASON_SYSTEM_UPDATE
3128
+ * 2 = REASON_GAME_UPDATE
3129
+ * 3 = REASON_SIGNED_OUT
3130
+ * 4 = REASON_AGE
3131
+ * 5 = REASON_CONNECTION =================================
3132
+ *
3053
3133
  * @returns
3054
3134
  */
3055
- static N_0xE39600E50D608693(p0, p1) {
3056
- return inv('0xE39600E50D608693', p0, p1, rai());
3135
+ static getNpUnavailableReason() {
3136
+ return inv('0x74FB3E29E6D10FA9', rai());
3057
3137
  }
3058
3138
  /**
3059
- * @param flags Refer to [enum: eSessionFlags]
3139
+ * @param netId
3060
3140
  * @returns
3061
3141
  */
3062
- static sessionAddSessionFlags(flags) {
3063
- return inv('0xE546BDA1B3E288EE', flags);
3142
+ static netToPropset(netId) {
3143
+ return createFromHandle('PropSet', inv('0xD08066E00D26C448', netId, rai()));
3144
+ }
3145
+ /**
3146
+ * @param paramName
3147
+ */
3148
+ static clearLaunchParam(paramName) {
3149
+ inv('0x782C94DB6469634D', paramName);
3064
3150
  }
3065
3151
  /**
3066
3152
  * @param p0
3067
- * @param playerCount
3068
- * @returns
3069
3153
  */
3070
- static requestRecentGamerNames(p0, playerCount) {
3071
- return inv('0x6D206D383BB5F6B1', p0, playerCount);
3154
+ static N_0x603469298A4308AF(p0) {
3155
+ inv('0x603469298A4308AF', p0);
3072
3156
  }
3073
3157
  /**
3158
+ * @param player
3074
3159
  * @returns
3075
3160
  */
3076
- static getHostOfThisScript() {
3077
- return createFromHandle('Player', inv('0xC7B4D79B01FA7A5C', rai()));
3161
+ static isAimCamActive(player) {
3162
+ return inv('0x8E7CE19219669AEB', player.handle);
3078
3163
  }
3079
3164
  /**
3080
- * @param animScene
3165
+ * Note: scripts seem to indicate that this was renamed to NETWORK_IS_PLAYER_IN_MP_FAST_INSTANCE
3166
+ *
3167
+ * @param player
3081
3168
  * @returns
3082
3169
  */
3083
- static hasControlOfAnimScene(animScene) {
3084
- return inv('0x26A5C12FACFF8724', animScene.handle);
3170
+ static isPlayerInMpCutscene(player) {
3171
+ return !!inv('0x63F9EE203C3619F2', player.handle, rai());
3085
3172
  }
3086
3173
  /**
3087
- * Equivalent to NETWORK_REQUEST_SESSION_SEAMLESS if userHash == 0.
3088
- * Otherwise it is equivalent to NETWORK_SESSION_REQUEST_SESSION_COMPETITIVE(flags, MATCHTYPE_SEAMLESS, userHash, 0, sessionRequestId); p1 is unused
3089
- *
3090
- * @param flags
3091
- * @param seamlessType
3092
- * @param userHash
3093
- * @returns sessionRequestId
3174
+ * @param time
3094
3175
  */
3095
- static sessionRequestSessionSeamless(flags, seamlessType, userHash) {
3096
- const result = inv('0x2989E131FDE37E97', flags, seamlessType, userHash, pvi());
3097
- return [result[0], result[1]];
3176
+ static setLocalPlayerInvincibleTime(time) {
3177
+ inv('0x2D95C7E2D7E07307', time);
3098
3178
  }
3099
3179
  /**
3180
+ * @param p0
3100
3181
  * @returns
3101
3182
  */
3102
- static hasCompletedMpIntroFlowOnCurrentSlot() {
3103
- return inv('0xDD73C9838CE7181D');
3183
+ static N_0x3F2EE18A3E294801(p0) {
3184
+ return inv('0x3F2EE18A3E294801', p0, rai());
3104
3185
  }
3105
3186
  /**
3106
- * @param configProperty
3107
- * @param include
3187
+ * @param player
3108
3188
  */
3109
- static spawnConfigAddPropertyScripted(configProperty, include) {
3110
- inv('0x44D59EC597BBF348', configProperty, include);
3189
+ static N_0x7B3FF2D193628126(player) {
3190
+ inv('0x7B3FF2D193628126', player.handle);
3111
3191
  }
3112
3192
  /**
3113
- * @param p0
3114
- * @returns
3193
+ * @param milliseconds
3115
3194
  */
3116
- static N_0xA2837A5E21FB5A58(p0) {
3117
- return inv('0xA2837A5E21FB5A58', p0, rai());
3195
+ static clearClockOverrideOvertime(milliseconds) {
3196
+ inv('0x65F040D91001ED4B', milliseconds);
3118
3197
  }
3119
3198
  /**
3199
+ * @param player
3120
3200
  * @returns
3121
3201
  */
3122
- static N_0x0E54D4DA6018FF8E() {
3123
- return inv('0x0E54D4DA6018FF8E', rai());
3202
+ static getPlayerTutorialSessionInstance(player) {
3203
+ return inv('0x3B39236746714134', player.handle, rai());
3204
+ }
3205
+ static N_0x9B39B0555CC692B5() {
3206
+ inv('0x9B39B0555CC692B5');
3124
3207
  }
3125
3208
  /**
3126
- * Returns the entity associated with the given network ID.
3127
- *
3128
- * @param networkId
3209
+ * @param p0
3129
3210
  * @returns
3130
3211
  */
3131
- static N_0x4538EE7C321590BC(networkId) {
3132
- return createFromHandle('Entity', inv('0x4538EE7C321590BC', networkId, rai()));
3212
+ static N_0xE79BA3BC265895DA(p0) {
3213
+ return inv('0xE79BA3BC265895DA', p0, ras());
3133
3214
  }
3134
3215
  /**
3135
- * @param p0
3136
- * @param p1
3216
+ * @param netPlaylistActivity
3217
+ */
3218
+ static activitySetCurrent(netPlaylistActivity) {
3219
+ inv('0x9ADAC065D9F6706F', netPlaylistActivity);
3220
+ }
3221
+ /**
3222
+ * @param queueGroup
3137
3223
  * @returns
3138
3224
  */
3139
- static N_0x271F95E55C663B8B(p0, p1) {
3140
- return inv('0x271F95E55C663B8B', p0, p1);
3225
+ static sessionIsRequestInProgressByQueueGroup(queueGroup) {
3226
+ return inv('0x9E762A595CF88E4A', queueGroup);
3141
3227
  }
3142
3228
  /**
3143
3229
  * @returns
3144
3230
  */
3145
- static sessionGetSessionFlags() {
3146
- return inv('0x51F33DBC1A41CBFD', rai());
3231
+ static pedmugshotGetStatus() {
3232
+ return inv('0xCBAC13F065C47596', rai());
3147
3233
  }
3148
3234
  /**
3149
- * Note: this native was added in build 1311.23
3150
- *
3151
3235
  * @returns
3152
3236
  */
3153
- static N_0x039AD6B57D5179FF() {
3154
- return inv('0x039AD6B57D5179FF', rai());
3237
+ static getTunableCloudCrc() {
3238
+ return inv('0x10BD227A753B0D84', rai());
3155
3239
  }
3156
3240
  /**
3157
- * Old name: _NETWORK_GET_NUM_UNACKED_FOR_PLAYER
3241
+ * Returns true if the passed value is less than 32.
3158
3242
  *
3159
3243
  * @param player
3160
3244
  * @returns
3161
3245
  */
3162
- static getNumUnackedReliables(player) {
3163
- return inv('0xFF8FCF9FFC458A1C', player.handle, rai());
3246
+ static isPlayerIndexValid(player) {
3247
+ return inv('0x255A5EF65EDA9167', player.handle);
3164
3248
  }
3165
3249
  /**
3166
3250
  * @param entity
3167
- * @param toggle
3251
+ * @returns
3168
3252
  */
3169
- static allowEntityFadingForInstances(entity, toggle) {
3170
- inv('0xF3354D6CA46F419D', entity.handle, toggle);
3253
+ static getEntityIsNetworked(entity) {
3254
+ return !!inv('0xC7827959479DCC78', entity.handle, rai());
3171
3255
  }
3172
3256
  /**
3173
- * Only used in R* Script startup_clip
3257
+ * @param vehicle
3258
+ * @returns Returns the network id for the specified `vehicle`, or `0` if the vehicle isn't networked.
3174
3259
  */
3175
- static N_0xFD4272A137703449() {
3176
- inv('0xFD4272A137703449');
3260
+ static vehToNet(vehicle) {
3261
+ return inv('0xB4C94523F023419C', vehicle.handle, rai());
3177
3262
  }
3178
3263
  /**
3264
+ * Only used in R* SP Scripts
3265
+ *
3179
3266
  * @param player
3180
- * @param type
3181
- */
3182
- static N_0x51951DE06C0D1C40(player, type) {
3183
- inv('0x51951DE06C0D1C40', player.handle, type);
3184
- }
3185
- /**
3186
- * @param p0
3267
+ * @param personaPhotoLocalCacheType
3187
3268
  * @returns
3188
3269
  */
3189
- static N_0x5ED39DA62BEB1330(p0) {
3190
- return inv('0x5ED39DA62BEB1330', p0);
3270
+ static requestPedshotTextureLocalBackupDownload(player, personaPhotoLocalCacheType) {
3271
+ return inv('0x356F9FB0698C1FEB', player, personaPhotoLocalCacheType, ras());
3191
3272
  }
3192
3273
  /**
3193
3274
  * @param p0
3194
- * @param index
3195
- * @returns
3196
3275
  */
3197
- static ugcQueryGetName(p0, index) {
3198
- return inv('0x2D053EA815702DD1', p0, index, ras());
3276
+ static N_0xE5634491A58C2703(p0) {
3277
+ inv('0xE5634491A58C2703', f(p0));
3199
3278
  }
3200
3279
  /**
3201
3280
  * @param p0
3202
- * @param index
3203
- * @returns
3204
- */
3205
- static ugcQueryGetBookMarked(p0, index) {
3206
- return inv('0x98539FC453AEA639', p0, index);
3207
- }
3208
- /**
3209
- * @param entity
3210
- * @param timer
3281
+ * @param p1
3211
3282
  * @param p2
3283
+ * @param p3
3284
+ * @returns
3212
3285
  */
3213
- static setNetworkRespotTimer(entity, timer, p2) {
3214
- inv('0x442B4347B6EC36E8', entity.handle, timer, p2);
3286
+ static N_0x64A36BA85CE01A81(p0, p1, p2, p3) {
3287
+ return inv('0x64A36BA85CE01A81', p0, p1, p2, p3);
3215
3288
  }
3216
3289
  /**
3217
- * @returns gamerHandle
3290
+ * @returns sessionRequestId
3218
3291
  */
3219
- static getGamertagFromFriend() {
3220
- const result = inv('0x5659D87BE674AB17', pvi(), ras());
3292
+ static sessionIsSessionRequestIdValid() {
3293
+ const result = inv('0x2F54B146D3EDCE4D', pvi());
3221
3294
  return [result[0], result[1]];
3222
3295
  }
3223
3296
  /**
3224
- * @param player
3225
3297
  * @returns
3226
3298
  */
3227
- static getPlayerWaypointIsActive(player) {
3228
- return inv('0xDCC4B7F7112E8AB7', player.handle);
3299
+ static isResettingPopulation() {
3300
+ return inv('0x1BB50CD340A996E6');
3229
3301
  }
3230
3302
  /**
3231
- * @param inviteIndex
3303
+ * Note: this native was added in build 1311.23
3304
+ *
3305
+ * @param p0
3232
3306
  * @returns
3233
3307
  */
3234
- static N_0x981146E5C9CE9250(inviteIndex) {
3235
- return inv('0x981146E5C9CE9250', inviteIndex, rai());
3308
+ static N_0x039B692B3318FAB6(p0) {
3309
+ return inv('0x039B692B3318FAB6', p0, rai());
3236
3310
  }
3237
3311
  /**
3238
- * @param netID
3312
+ * Always returns 60
3313
+ *
3314
+ * @returns
3239
3315
  */
3240
- static disableProximityMigration(netID) {
3241
- inv('0x407091CF6037118E', netID);
3316
+ static getMaxNumNetworkObjects() {
3317
+ return inv('0xC7BE335216B5EC7C', rai());
3242
3318
  }
3243
3319
  /**
3244
- * @param p0
3245
- * @param p1
3246
- * @param dataSize
3247
- * @returns outData
3320
+ * Checks if the user has ROS privilege 14.
3321
+ *
3322
+ * @returns
3248
3323
  */
3249
- static getRecentGamerNames(p0, p1, dataSize) {
3250
- const result = inv('0xFEFCC345CE357453', p0, p1, pvi(), dataSize);
3251
- return [result[0], result[1]];
3324
+ static ugcHasPrivilege() {
3325
+ return inv('0x6506BFA755FB209C');
3252
3326
  }
3253
3327
  /**
3254
- * @returns
3328
+ * @param networkId
3329
+ * @param bStopCloning
3255
3330
  */
3256
- static N_0x18B94666CF610AEB() {
3257
- return inv('0x18B94666CF610AEB', rai());
3331
+ static setNetworkIdStopCloning(networkId, bStopCloning) {
3332
+ inv('0x9ED3108D6847760A', networkId, bStopCloning);
3258
3333
  }
3259
3334
  /**
3260
- * p0 appears to be for MP
3335
+ * Returns CGameConfig->ConfigOnlineServices->RosTitleName (see gameconfig.xml)
3261
3336
  *
3262
- * @param p0
3263
3337
  * @returns
3264
3338
  */
3265
- static getNumReservedMissionObjects(p0) {
3266
- return inv('0xAA81B5F10BC43AC2', p0, rai());
3339
+ static getRosTitleName() {
3340
+ return inv('0xAC6153A0722F524C', ras());
3267
3341
  }
3268
3342
  /**
3269
3343
  * @returns
3270
3344
  */
3271
- static hasSocialClubAccount() {
3272
- return inv('0x67A5589628E0CFF6', rai());
3345
+ static getScriptStatus() {
3346
+ return inv('0x57D158647A6BFABF', rai());
3273
3347
  }
3274
3348
  /**
3275
- * @param netHandle
3276
- * @returns Returns the `entity` handle for the `netHandle` or `0` if the entity doesn't exist.
3349
+ * @param p0
3350
+ * @param p1
3351
+ * @param p2
3352
+ * @param p3
3277
3353
  */
3278
- static netToPed(netHandle) {
3279
- return createFromHandle('Ped', inv('0xBDCD95FC216A8B3E', netHandle, rai()));
3354
+ static setNetworkIdVisibleInCutscene(p0, p1, p2, p3) {
3355
+ inv('0xA6928482543022B4', p0, p1, p2, p3);
3280
3356
  }
3281
3357
  /**
3282
- * 0 = succeeded
3283
- * 1 = pending
3284
- * 2 = failed
3285
- *
3286
- * @param textureDownloadId
3287
- * @returns
3358
+ * @param amount
3288
3359
  */
3289
- static getStatusOfTextureDownload(textureDownloadId) {
3290
- return inv('0x8BD6C6DEA20E82C6', textureDownloadId, rai());
3360
+ static reserveNetworkMissionObjects(amount) {
3361
+ inv('0x4E5C93BD0C32FBF8', amount);
3291
3362
  }
3292
3363
  /**
3293
- * @returns gamerHandle
3364
+ * @param entity
3365
+ * @param player
3366
+ * @returns p2
3294
3367
  */
3295
- static N_0xF23A6D6C11D8EC15() {
3296
- const result = inv('0xF23A6D6C11D8EC15', pvi(), rai());
3368
+ static N_0x75FC34A2BA345BD1(entity, player) {
3369
+ const result = inv('0x75FC34A2BA345BD1', entity.handle, player.handle, pvi(), rai());
3297
3370
  return [!!result[0], result[1]];
3298
3371
  }
3299
3372
  /**
3300
- * Always returns 40
3301
- *
3302
3373
  * @returns
3303
3374
  */
3304
- static getMaxNumNetworkVehicles() {
3305
- return inv('0x0AFCE529F69B21FF', rai());
3375
+ static autoSessionIsAllowedToMerge() {
3376
+ return inv('0xAADED99A6B268A27');
3306
3377
  }
3307
3378
  /**
3308
- * @param netId
3379
+ * @param p0
3309
3380
  * @param p1
3310
3381
  * @param p2
3382
+ * @returns
3311
3383
  */
3312
- static keepNetworkIdInFastInstance(netId, p1, p2) {
3313
- inv('0xE1BC73D6815BA361', netId, p1, p2);
3384
+ static N_0x7A8E8DF782B47EB0(p0, p1, p2) {
3385
+ return inv('0x7A8E8DF782B47EB0', p0, p1, p2);
3314
3386
  }
3315
3387
  /**
3316
- * @returns gamerHandle
3388
+ * Hardcoded to return false.
3389
+ *
3390
+ * @returns
3317
3391
  */
3318
- static isHandleValid() {
3319
- const result = inv('0x6F79B93B0A8E4133', pvi(), rai());
3320
- return [!!result[0], result[1]];
3392
+ static shouldShowPromotionDlg() {
3393
+ return inv('0xDA4B1A479C414FB2');
3321
3394
  }
3322
3395
  /**
3323
- * @param p0
3324
- * @returns p1
3396
+ * @param amount
3325
3397
  */
3326
- static N_0x691E4DE5309EAEFC(p0) {
3327
- const result = inv('0x691E4DE5309EAEFC', p0, pvi());
3328
- return result;
3398
+ static reserveNetworkMissionPeds(amount) {
3399
+ inv('0xB60FEBA45333D36F', amount);
3329
3400
  }
3330
3401
  /**
3331
- * @param entity
3332
- * @returns
3402
+ * @param pos
3403
+ * @param heading
3333
3404
  */
3334
- static getNetworkIdFromEntity(entity) {
3335
- return inv('0xA11700682F3AD45C', entity.handle, rai());
3405
+ static spawnConfigAddSpawnPoint(pos, heading) {
3406
+ inv('0xFD1AC0B3858F224C', f(pos.x), f(pos.y), f(pos.z), f(heading));
3336
3407
  }
3337
3408
  /**
3338
- * Only used in SP R* Script dominoes_sp: p1 = 0
3339
- *
3340
- * @param player
3341
- * @param p1
3409
+ * @param paramName
3410
+ * @param value
3342
3411
  */
3343
- static N_0x02C4C6C2900D84DF(player, p1) {
3344
- inv('0x02C4C6C2900D84DF', player.handle, p1);
3412
+ static setLaunchParamValue(paramName, value) {
3413
+ inv('0x668AF6E4933AC13F', paramName, value);
3345
3414
  }
3346
3415
  /**
3347
- * @returns
3416
+ * @returns gamerHandle
3348
3417
  */
3349
- static isSessionActive() {
3350
- return inv('0xD83C2B94E7508980', rai());
3418
+ static canViewGamerUserContent() {
3419
+ const result = inv('0x246545C37C27A717', pvi());
3420
+ return [result[0], result[1]];
3351
3421
  }
3352
3422
  /**
3353
- * @param animScene
3423
+ * @param p0
3354
3424
  * @returns
3355
3425
  */
3356
- static animSceneToNet(animScene) {
3357
- return inv('0xE0D73CDDEA79DDCD', animScene.handle, rai());
3426
+ static isParticipantActive(p0) {
3427
+ return !!inv('0x6FF8FF40B6357D45', p0, rai());
3358
3428
  }
3359
3429
  /**
3430
+ * @param p0
3360
3431
  * @returns
3361
3432
  */
3362
- static getRank() {
3363
- return inv('0x32C90CDFAF40514C', rai());
3433
+ static getNumCreatedMissionPeds(p0) {
3434
+ return inv('0xCB215C4B56A7FAE7', p0, rai());
3364
3435
  }
3365
3436
  /**
3366
- * @param message
3367
- * @returns gamerHandle
3437
+ * _NETWORK_GET_A* - _NETWORK_GET_D*
3438
+ *
3439
+ * @param ped
3440
+ * @returns p1
3368
3441
  */
3369
- static addFriend(message) {
3370
- const result = inv('0x8E02D73914064223', pvi(), message, rai());
3371
- return [!!result[0], result[1]];
3442
+ static N_0x6CF82A7F65A5AD5F(ped) {
3443
+ const result = inv('0x6CF82A7F65A5AD5F', ped.handle, pvi(), rai());
3444
+ return [createFromHandle('Player', result[0]), result[1]];
3372
3445
  }
3373
3446
  /**
3374
- * @param p0
3447
+ * @param p1
3375
3448
  * @returns gamerHandle
3376
3449
  */
3377
- static N_0x16EFB123C4451032(p0) {
3378
- const result = inv('0x16EFB123C4451032', p0, pvi(), rai());
3379
- return [!!result[0], result[1]];
3450
+ static getGamerStatus(p1) {
3451
+ const result = inv('0xDDAEB478E58F8DEA', pvi(), p1, rai());
3452
+ return [result[0], result[1]];
3380
3453
  }
3381
3454
  /**
3382
- * Return the local Participant ID
3455
+ * Returns result of session request:
3456
+ * 0 - NOT_FOUND
3457
+ * 1 - IN_PROGRESS
3458
+ * 2 - TIMEOUT
3459
+ * 3 - PLAYER_OFFLINE
3460
+ * 4 - GANG_MEMBERS_CHANGED
3461
+ * 5 - PLAYER_CANCELLED
3462
+ * 6 - PLAYER_SET_TOO_LARGE
3463
+ * 7 - MATCH_ACCEPTED
3464
+ * 8 - OTHER
3383
3465
  *
3384
- * @returns
3466
+ * @returns sessionRequestId; p1
3385
3467
  */
3386
- static participantId() {
3387
- return createFromHandle('Player', inv('0x90986E8876CE0A83', rai()));
3388
- }
3389
- static N_0x97BCE4C4B3191228() {
3390
- inv('0x97BCE4C4B3191228');
3468
+ static sessionGetSessionRequestResult() {
3469
+ const result = inv('0x0DD051B1BF4B8BD6', pvi(), pvi(), rai());
3470
+ return [result[0], result[1], result[2]];
3391
3471
  }
3392
- /**
3393
- * @param volume
3394
- * @param p1
3395
- * @param originalWeight
3396
- * @param p3
3397
- * @param p4
3398
- */
3399
- static N_0x13F592FC3BF0EA84(volume, p1, originalWeight, p3, p4) {
3400
- inv('0x13F592FC3BF0EA84', volume.handle, p1, f(originalWeight), p3, p4);
3472
+ static N_0xA63E4F050F20021F() {
3473
+ inv('0xA63E4F050F20021F');
3401
3474
  }
3402
3475
  /**
3476
+ * @param amount
3403
3477
  * @returns
3404
3478
  */
3405
- static N_0xBF8276E51761F9DA() {
3406
- return inv('0xBF8276E51761F9DA', rai());
3479
+ static canRegisterMissionObjects(amount) {
3480
+ return !!inv('0x800DD4721A8B008B', amount, rai());
3407
3481
  }
3408
3482
  /**
3409
- * Note: this native was added in build 1311.23
3410
- *
3483
+ * @param description
3411
3484
  * @returns
3412
3485
  */
3413
- static N_0x316FD416C432C761() {
3414
- return inv('0x316FD416C432C761', rai());
3486
+ static ugcReleaseCachedDescription(description) {
3487
+ return !!inv('0x5A34CD9C3C5BEC44', _h(description), rai());
3415
3488
  }
3416
3489
  /**
3417
- * nullsub, doesn't do anything
3418
- *
3419
- * @returns
3490
+ * @param toggle
3420
3491
  */
3421
- static N_0xEC089F84A9C16C62() {
3422
- return inv('0xEC089F84A9C16C62');
3492
+ static setFriendlyFireOption(toggle) {
3493
+ inv('0xF808475FA571D823', toggle);
3423
3494
  }
3424
3495
  /**
3425
- * @param netId
3426
- * @returns
3496
+ * @returns sessionRequestId
3427
3497
  */
3428
- static getRopeIdFromNetworkId(netId) {
3429
- return inv('0xEB1A4DD8352EC828', netId, rai());
3498
+ static sessionTransitionToSession() {
3499
+ const result = inv('0xF20B18A330E6DB5C', pvi());
3500
+ return [result[0], result[1]];
3430
3501
  }
3431
3502
  /**
3432
- * @param ugcRequestId
3503
+ * Hardcoded to return false.
3504
+ *
3433
3505
  * @returns
3434
3506
  */
3435
- static ugcDidRequestSucceed(ugcRequestId) {
3436
- return inv('0x0B6009A90B8495F1', ugcRequestId);
3507
+ static isPromotionEnabled() {
3508
+ return inv('0x8FF6059DA26E688A');
3437
3509
  }
3438
3510
  /**
3511
+ * @param playersToTake
3512
+ * @param maxInstancePlayers
3513
+ * @param sessionFlags
3514
+ * @param bucketId
3439
3515
  * @returns
3440
3516
  */
3441
- static getNetworkTimeAccurate() {
3442
- return inv('0x89023FBBF9200E9F', rai());
3517
+ static autoSessionSplitSession(playersToTake, maxInstancePlayers, sessionFlags, bucketId) {
3518
+ return inv('0xC223D299C670413D', playersToTake, maxInstancePlayers, sessionFlags, bucketId);
3443
3519
  }
3444
3520
  /**
3445
3521
  * @param p0
3446
3522
  * @returns
3447
3523
  */
3448
- static getNumCreatedMissionVehicles(p0) {
3449
- return inv('0x0CD9AB83489430EA', p0, rai());
3524
+ static N_0x923346025512DFB7(p0) {
3525
+ return inv('0x923346025512DFB7', p0);
3450
3526
  }
3451
- static showAccountUpgradeUi() {
3452
- inv('0x83FE8D7229593017');
3527
+ /**
3528
+ * @returns args
3529
+ */
3530
+ static resurrectLocalPlayer2() {
3531
+ const result = inv('0x4154B7D8C75E5DCF', pvi());
3532
+ return result;
3453
3533
  }
3454
3534
  /**
3455
- * Hardcoded to return false.
3535
+ * Only used in R* Script net_stable_manager
3456
3536
  *
3457
- * @returns
3537
+ * @param threadId
3538
+ * @returns pedMax; vehicleMax; unkMax; pedMin; vehicleMin; unkMin
3458
3539
  */
3459
- static isInSessionLobby() {
3460
- return inv('0xC5196C42DE19F646');
3540
+ static getReservedMissionEntitiesForThread(threadId) {
3541
+ const result = inv('0x99AAC89C510DEB0D', threadId, pvi(), pvi(), pvi(), pvi(), pvi(), pvi());
3542
+ return [result[0], result[1], result[2], result[3], result[4], result[5]];
3461
3543
  }
3462
3544
  /**
3463
- * Always returns a null string.
3464
- *
3465
- * @returns gamerHandle
3545
+ * @param p0
3546
+ * @returns
3466
3547
  */
3467
- static getGamertagFromHandle() {
3468
- const result = inv('0x426141162EBE5CDB', pvi(), ras());
3469
- return [result[0], result[1]];
3548
+ static N_0xD7BAD4062074B9C1(p0) {
3549
+ return !!inv('0xD7BAD4062074B9C1', p0, rai());
3470
3550
  }
3471
3551
  /**
3472
- * Returns the network ID of the given object.
3473
- *
3474
- * @param object
3475
- * @returns Returns the network id for the specified `object`, or `0` if the entity isn't networked.
3552
+ * @param hour
3553
+ * @param minute
3554
+ * @param second
3555
+ * @param transitionTime
3556
+ * @param pauseClock
3476
3557
  */
3477
- static objToNet(object) {
3478
- return inv('0x99BFDC94A603E541', object.handle, rai());
3558
+ static clockTimeOverride(hour, minute, second, transitionTime, pauseClock) {
3559
+ inv('0x669E223E64B1903C', hour, minute, second, transitionTime, pauseClock);
3479
3560
  }
3480
3561
  /**
3481
- * @param p0
3482
- * @returns
3562
+ * @param netId
3563
+ * @param player
3564
+ * @param toggle
3483
3565
  */
3484
- static requestJoin(p0) {
3485
- return inv('0xE483BB6BE686F632', p0, rai());
3566
+ static setNetworkIdAlwaysExistsForPlayer(netId, player, toggle) {
3567
+ inv('0xA8A024587329F36A', netId, player.handle, toggle);
3486
3568
  }
3487
3569
  /**
3488
- * Note: this native was added in build 1311.23
3570
+ * Note: this native was added in build 1311.16
3489
3571
  *
3490
- * @param p0
3491
3572
  * @returns
3492
3573
  */
3493
- static N_0x4835413EA6F9C9CD(p0) {
3494
- return inv('0x4835413EA6F9C9CD', p0, rai());
3574
+ static isObjectReassignmentInProgress() {
3575
+ return !!inv('0x8FE9EB11EC9CC23A', rai());
3495
3576
  }
3496
3577
  /**
3497
- * Returns ugcRequestId
3498
- *
3499
- * @param contentId
3500
- * @param latestVersion
3501
- * @param contentTypeName
3578
+ * @param scriptName
3579
+ * @param instanceId
3580
+ * @param position
3502
3581
  * @returns
3503
3582
  */
3504
- static ugcQueryByContentId(contentId, latestVersion, contentTypeName) {
3505
- return inv('0x69D22E183580113F', contentId, latestVersion, contentTypeName, rai());
3583
+ static getNumScriptParticipants(scriptName, instanceId, position) {
3584
+ return inv('0x3658E8CD94FC121A', scriptName, instanceId, _h(position), rai());
3506
3585
  }
3507
3586
  /**
3508
3587
  * @param p0
3588
+ * @returns
3509
3589
  */
3510
- static N_0x3034C77C79A58880(p0) {
3511
- inv('0x3034C77C79A58880', p0);
3590
+ static N_0x6C27442A225A241A(p0) {
3591
+ return inv('0x6C27442A225A241A', p0, rai());
3512
3592
  }
3513
3593
  /**
3514
- * @param paramName
3515
- * @returns
3594
+ * @param p0
3595
+ * @param p1
3516
3596
  */
3517
- static getLaunchParamValue(paramName) {
3518
- return inv('0x65E65CA6A0FE59D4', paramName, ras());
3597
+ static spawnConfigSetTuningFloat(p0, p1) {
3598
+ inv('0x0608326F7B98C08D', _h(p0), f(p1));
3519
3599
  }
3520
3600
  /**
3521
- * @param p0
3601
+ * @param p1
3602
+ * @returns outData
3522
3603
  */
3523
- static N_0xCF23AB5BD47B384D(p0) {
3524
- inv('0xCF23AB5BD47B384D', p0);
3604
+ static N_0x7BCA0A3972708436(p1) {
3605
+ const result = inv('0x7BCA0A3972708436', pvi(), p1, rai());
3606
+ return [result[0], result[1]];
3525
3607
  }
3526
3608
  /**
3527
- * Note: this native was added in build 1311.23
3609
+ * Hardcoded to return zero.
3528
3610
  *
3529
3611
  * @param p0
3530
3612
  * @param p1
3531
3613
  * @param p2
3532
- */
3533
- static N_0x3CBD6565D9C3B133(p0, p1, p2) {
3534
- inv('0x3CBD6565D9C3B133', p0, p1, f(p2));
3535
- }
3536
- /**
3537
3614
  * @returns
3538
3615
  */
3539
- static hasReceivedHostBroadcastData() {
3540
- return inv('0x5D10B3795F3FC886', rai());
3616
+ static getDisplaynamesFromHandles(p0, p1, p2) {
3617
+ return inv('0x58CC181719256197', p0, p1, p2, rai());
3541
3618
  }
3542
3619
  /**
3543
- * @param languageId
3544
3620
  * @returns
3545
3621
  */
3546
- static ugcIsLanguageSupported(languageId) {
3547
- return inv('0xF53E48461B71EECB', languageId, rai());
3622
+ static isHostOfThisScript() {
3623
+ return !!inv('0x83CD99A1E6061AB5', rai());
3548
3624
  }
3549
3625
  /**
3626
+ * @param p0
3627
+ * @param index
3550
3628
  * @returns
3551
3629
  */
3552
- static actionPlatformInvite() {
3553
- return inv('0x3B82ACC3F4B6240C');
3630
+ static ugcQueryGetLanguage(p0, index) {
3631
+ return inv('0x97764E8AC6487A9A', p0, index, rai());
3554
3632
  }
3555
3633
  /**
3556
- * nullsub, doesn't do anything
3634
+ * Note: this native was added in build 1355.30
3557
3635
  *
3558
- * @returns
3636
+ * @param p0
3559
3637
  */
3560
- static dumpNetIfConfig() {
3561
- return inv('0xAEDF1BC1C133D6E3');
3638
+ static N_0x422F9D6D6C7BC290(p0) {
3639
+ inv('0x422F9D6D6C7BC290', p0);
3562
3640
  }
3563
3641
  /**
3642
+ * @param propSet
3564
3643
  * @returns
3565
3644
  */
3566
- static sessionIsTransitioning() {
3567
- return inv('0xF2CBC969C4F090C7');
3645
+ static propsetToNet(propSet) {
3646
+ return inv('0x74F99EF7EF503398', propSet.handle, rai());
3568
3647
  }
3569
3648
  /**
3570
3649
  * @param p0
3571
- * @param index
3572
- * @param p2
3573
- * @returns
3574
3650
  */
3575
- static ugcQueryGetVersion(p0, index, p2) {
3576
- return inv('0x63E9DCBC8B0931ED', p0, index, p2, rai());
3651
+ static N_0x5CD3AAD8FF9ED121(p0) {
3652
+ inv('0x5CD3AAD8FF9ED121', p0);
3577
3653
  }
3578
3654
  /**
3579
- * @param p0
3580
- * @param p1
3655
+ * @param netId
3656
+ * @returns
3581
3657
  */
3582
- static N_0x3F0ABAE38A0515AD(p0, p1) {
3583
- inv('0x3F0ABAE38A0515AD', p0, p1);
3658
+ static netToAnimScene(netId) {
3659
+ return createFromHandle('AnimScene', inv('0xD7F6781A0ABAF6FB', netId, rai()));
3584
3660
  }
3585
3661
  /**
3586
- * Subtracts the second argument from the first, then returns whether the result is negative.
3587
- *
3588
- * @param timeA
3589
- * @param timeB
3662
+ * @param p0
3663
+ * @param index
3590
3664
  * @returns
3591
3665
  */
3592
- static isTimeLessThan(timeA, timeB) {
3593
- return inv('0xCB2CF5148012C8D0', timeA, timeB, rai());
3666
+ static ugcQueryGetContentHasPlayerRecord(p0, index) {
3667
+ return inv('0xF794765390A6DCA5', p0, index);
3668
+ }
3669
+ static N_0x814729078AED6D30() {
3670
+ inv('0x814729078AED6D30');
3594
3671
  }
3595
3672
  /**
3596
- * Old name: _NETWORK_GET_UNRELIABLE_RESEND_COUNT_FOR_PLAYER
3597
- *
3598
- * @param player
3599
3673
  * @returns
3600
3674
  */
3601
- static getUnreliableResendCount(player) {
3602
- return inv('0x3765C3A3E8192E10', player.handle, rai());
3675
+ static isSignedOnline() {
3676
+ return !!inv('0x1077788E268557C2', rai());
3603
3677
  }
3604
3678
  /**
3605
- * Note: this native was added in build 1311.23
3606
- *
3607
- * @param p0
3608
3679
  * @returns
3609
3680
  */
3610
- static N_0x106CBDD5077DEDE1(p0) {
3611
- return inv('0x106CBDD5077DEDE1', p0, rai());
3681
+ static isInSpectatorMode() {
3682
+ return !!inv('0x048746E388762E11', rai());
3612
3683
  }
3613
3684
  /**
3614
3685
  * @param featureId
@@ -3689,14 +3760,14 @@ export class Network {
3689
3760
  * @returns
3690
3761
  */
3691
3762
  static requestControlOfEntity(entity) {
3692
- return inv('0xB69317BF5E782347', entity.handle, rai());
3763
+ return !!inv('0xB69317BF5E782347', entity.handle, rai());
3693
3764
  }
3694
3765
  /**
3695
3766
  * @param p0
3696
3767
  * @returns
3697
3768
  */
3698
3769
  static N_0xD7D0DF27CB1765B5(p0) {
3699
- return inv('0xD7D0DF27CB1765B5', p0, rai());
3770
+ return !!inv('0xD7D0DF27CB1765B5', p0, rai());
3700
3771
  }
3701
3772
  /**
3702
3773
  * @returns
@@ -3712,7 +3783,7 @@ export class Network {
3712
3783
  * @returns
3713
3784
  */
3714
3785
  static arePlayersInSameTutorialSession(player, index) {
3715
- return inv('0x9DE986FC9A87C474', player.handle, index, rai());
3786
+ return !!inv('0x9DE986FC9A87C474', player.handle, index, rai());
3716
3787
  }
3717
3788
  static clearFoundGamers() {
3718
3789
  inv('0x6D14CCEE1B40381A');
@@ -3816,7 +3887,7 @@ export class Network {
3816
3887
  * @returns
3817
3888
  */
3818
3889
  static isPlayerInSpectatorMode(player) {
3819
- return inv('0x5B709519997ECF0F', player.handle, rai());
3890
+ return !!inv('0x5B709519997ECF0F', player.handle, rai());
3820
3891
  }
3821
3892
  /**
3822
3893
  * _SET_PLAYER_V* - _SET_S*
@@ -3832,13 +3903,13 @@ export class Network {
3832
3903
  * @returns
3833
3904
  */
3834
3905
  static hasControlOfPickup(pickup) {
3835
- return inv('0x5BC9495F0B3B6FA6', pickup.handle, rai());
3906
+ return !!inv('0x5BC9495F0B3B6FA6', pickup.handle, rai());
3836
3907
  }
3837
3908
  /**
3838
3909
  * @returns
3839
3910
  */
3840
3911
  static N_0x67CCDF74C4DF7169() {
3841
- return inv('0x67CCDF74C4DF7169', rai());
3912
+ return !!inv('0x67CCDF74C4DF7169', rai());
3842
3913
  }
3843
3914
  /**
3844
3915
  * @param textureDownloadId
@@ -3855,368 +3926,297 @@ export class Network {
3855
3926
  static getNumPeerNegotiationResponses() {
3856
3927
  return inv('0x4FE932E84FE932E8', rai());
3857
3928
  }
3858
- /**
3859
- * @param flags
3860
- * @returns
3861
- */
3862
- static sessionRemovePlayerFlags(flags) {
3863
- return inv('0x3215BBE34D3418C5', flags);
3929
+ static clearClockTimeOverride() {
3930
+ inv('0xD972DF67326F966E');
3864
3931
  }
3865
- /**
3866
- * @returns
3867
- */
3868
- static getTimeoutTime() {
3869
- return inv('0x5ED0356A0CE3A34F', rai());
3932
+ static N_0xC8B6D18E22484643() {
3933
+ inv('0xC8B6D18E22484643');
3870
3934
  }
3871
3935
  /**
3872
3936
  * @param p0
3937
+ * @param p1
3873
3938
  */
3874
- static setLocalPlayerInvisibleLocally(p0) {
3875
- inv('0xE5F773C1A1D9D168', p0);
3876
- }
3877
- /**
3878
- * @param threadId
3879
- * @returns
3880
- */
3881
- static isThreadActive(threadId) {
3882
- return inv('0x31DAD2CD6D49546E', threadId);
3939
+ static N_0xDC6AD5C046F33AB4(p0, p1) {
3940
+ inv('0xDC6AD5C046F33AB4', p0, p1);
3883
3941
  }
3884
3942
  /**
3885
- * Returns false if pedshot push failed
3886
- *
3887
- * @param texture
3888
- * @param playerSlot
3889
- * @param p2
3890
- * @param personaPhotoLocalCacheType
3943
+ * @param entity
3891
3944
  * @returns
3892
3945
  */
3893
- static personaPhotoWriteLocal(texture, playerSlot, p2, personaPhotoLocalCacheType) {
3894
- return inv('0x2A48D9567940598F', texture, playerSlot, p2, personaPhotoLocalCacheType);
3946
+ static hasControlOfEntity(entity) {
3947
+ return !!inv('0x01BF60A500E28887', entity.handle, rai());
3895
3948
  }
3896
3949
  /**
3897
- * @param index
3950
+ * @param player
3898
3951
  * @returns
3899
3952
  */
3900
- static getParticipantIndex(index) {
3901
- return inv('0x1B84DF6AF2A46938', index, rai());
3902
- }
3903
- /**
3904
- * @param p0
3905
- */
3906
- static N_0xD637D327080CD86E(p0) {
3907
- inv('0xD637D327080CD86E', p0);
3953
+ static getUniqueIntForPlayer(player) {
3954
+ return inv('0x07F723401B9D921C', player.handle, rai());
3908
3955
  }
3909
3956
  /**
3957
+ * @param tunableContext
3958
+ * @param tunableName
3910
3959
  * @returns
3911
3960
  */
3912
- static sessionIsAnyRequestInProgress() {
3913
- return inv('0xBAFFDE5F953720D9');
3961
+ static accessTunableBool(tunableContext, tunableName) {
3962
+ return !!inv('0xAA6A47A573ABB75A', _h(tunableContext), _h(tunableName), rai());
3914
3963
  }
3915
3964
  /**
3916
- * @param p0
3917
- * @param p1
3918
- * @param p2
3919
- * @param p3
3920
- * @param p4
3921
- * @param p5
3922
- * @returns
3965
+ * @returns gamerHandle
3923
3966
  */
3924
- static isSphereVisibleToPlayer(p0, p1, p2, p3, p4, p5) {
3925
- return inv('0xDC3A310219E5DA62', p0, p1, p2, p3, p4, p5, rai());
3967
+ static removeFriend() {
3968
+ const result = inv('0x55F618F68AB854D3', pvi());
3969
+ return [result[0], result[1]];
3926
3970
  }
3927
- /**
3928
- * @param netHandle
3929
- * @returns Returns the `entity` handle for the `netHandle` or `0` if the entity doesn't exist.
3930
- */
3931
- static netToEnt(netHandle) {
3932
- return createFromHandle('Entity', inv('0xBFFEAB45A9A9094A', netHandle, rai()));
3971
+ static N_0x6C7E04E9DE451789() {
3972
+ inv('0x6C7E04E9DE451789');
3933
3973
  }
3934
3974
  /**
3935
- * Note: this native was added in build 1311.23
3936
- *
3937
3975
  * @returns
3938
3976
  */
3939
- static N_0x062842D61D0D53FD() {
3940
- return inv('0x062842D61D0D53FD', rai());
3941
- }
3942
- /**
3943
- * @param p0
3944
- */
3945
- static N_0xFF36F36B07E69059(p0) {
3946
- inv('0xFF36F36B07E69059', p0);
3977
+ static N_0x0B6B4507AC5EA8B8() {
3978
+ return !!inv('0x0B6B4507AC5EA8B8', rai());
3947
3979
  }
3948
3980
  /**
3949
- * @param flags
3950
- * @returns
3951
- */
3952
- static sessionSetPlayerFlags(flags) {
3953
- return inv('0x0AE241A4A9ADEEEC', flags);
3981
+ * @param netID
3982
+ * @param toggle
3983
+ */
3984
+ static activateDamageTrackerOnNetworkId(netID, toggle) {
3985
+ inv('0xD45B1FFCCD52FF19', netID, toggle);
3954
3986
  }
3955
3987
  /**
3956
- * @param contentId
3957
- * @param dataSize
3958
- * @param p4
3959
- * @param flags
3960
- * @returns gamerHandle; data
3988
+ * *NETWORK_SPAWN_CONFIG**
3961
3989
  */
3962
- static sendSessionInvite(contentId, dataSize, p4, flags) {
3963
- const result = inv('0xE47001B7CB8B98AE', pvi(), contentId, pvi(), dataSize, p4, flags);
3964
- return [result[0], result[1], result[2]];
3990
+ static N_0x6CEE2E30021DAEC6() {
3991
+ inv('0x6CEE2E30021DAEC6');
3965
3992
  }
3966
- static N_0x61BFBAA795E712AD() {
3967
- inv('0x61BFBAA795E712AD');
3993
+ static N_0x5B9C6AC118FD4774() {
3994
+ inv('0x5B9C6AC118FD4774');
3968
3995
  }
3969
3996
  /**
3970
- * @param playerSlot
3971
- * @param personaPhotoLocalCacheType
3997
+ * @param player
3998
+ * @param trackedPlayer
3972
3999
  * @returns
3973
4000
  */
3974
- static localPlayerPedshotTextureDownloadRequest(playerSlot, personaPhotoLocalCacheType) {
3975
- return inv('0x6E2FD8CF7EB10E53', playerSlot, personaPhotoLocalCacheType, rai());
4001
+ static isTrackedPlayerVisible(player, trackedPlayer) {
4002
+ return inv('0xE525878A35B9EEBD', player.handle, trackedPlayer.handle);
4003
+ }
4004
+ static activityResetToIdle() {
4005
+ inv('0x3FE141FDB990E3D1');
3976
4006
  }
3977
4007
  /**
3978
- * Hardcoded to return zero.
3979
- *
4008
+ * @param p0
3980
4009
  * @returns
3981
4010
  */
3982
- static N_0x5133CF81924F1129() {
3983
- return inv('0x5133CF81924F1129', rai());
4011
+ static hasControlOfPickupPlacement(p0) {
4012
+ return !!inv('0x51EABCF2786515AB', p0, rai());
3984
4013
  }
3985
4014
  /**
3986
- * Returns the Player associated to a given Ped when in an online session.
4015
+ * Converts the specified entity into a local entity, removing it from the networked pool. This will only work if you're the owner of the entity.
3987
4016
  *
3988
- * @param ped
3989
- * @returns
4017
+ * @param entity The entity to un-network
3990
4018
  */
3991
- static getPlayerIndexFromPed(ped) {
3992
- return createFromHandle('Player', inv('0x6C0E2E0125610278', ped.handle, rai()));
4019
+ static unregisterNetworkedEntity(entity) {
4020
+ inv('0xE31A04513237DC89', entity.handle);
3993
4021
  }
3994
4022
  /**
3995
- * @param netID
3996
- * @returns
4023
+ * nullsub, doesn't do anything
3997
4024
  */
3998
- static doesNetworkIdExist(netID) {
3999
- return inv('0x38CE16C96BD11344', netID, rai());
4025
+ static showPsnUgcRestriction() {
4026
+ inv('0x5C497525F803486B');
4000
4027
  }
4001
4028
  /**
4002
- * @param local
4003
- * @param remote
4004
- * @param instanceId
4029
+ * @param p0
4030
+ * @param p1
4031
+ * @returns
4005
4032
  */
4006
- static setLocalPlayerVisibleInCutscene(local, remote, instanceId) {
4007
- inv('0xD1065D68947E7B6E', local, remote, instanceId);
4033
+ static ugcQueryGetPosixUpdatedDate(p0, p1) {
4034
+ return inv('0x21A99A72B00D8002', p0, p1, rai());
4008
4035
  }
4009
4036
  /**
4010
- * Params: p5 = 50.f, p6 = 0 in R* Script net_fetch (NET_FETCH_CLIENT_UPDATE_PED_ROLE_CLUE_IDLE)
4011
- *
4012
- * @param pos
4013
- * @param p5
4014
- * @param p6
4015
- * @returns p0; p1
4037
+ * @param index
4038
+ * @returns
4016
4039
  */
4017
- static N_0x880A7202301E282B(pos, p5, p6) {
4018
- const result = inv('0x880A7202301E282B', pvi(), pvi(), f(pos.x), f(pos.y), f(pos.z), f(p5), p6, rai());
4019
- return [!!result[0], result[1], result[2]];
4040
+ static hasRosPrivilege(index) {
4041
+ return !!inv('0xA699957E60D80214', index, rai());
4020
4042
  }
4021
4043
  /**
4022
- * Note: this native was added in build 1491.50
4023
- *
4024
- * @param p0
4025
4044
  * @returns
4026
4045
  */
4027
- static N_0xDBDF80673BBA3D65(p0) {
4028
- return inv('0xDBDF80673BBA3D65', p0, rai());
4046
+ static isSessionStarted() {
4047
+ return !!inv('0x9DE624D2FC4B603F', rai());
4029
4048
  }
4030
4049
  /**
4031
- * @param p0
4050
+ * @param toggle
4032
4051
  */
4033
- static N_0x9F24A34863FD35DA(p0) {
4034
- inv('0x9F24A34863FD35DA', p0);
4035
- }
4036
- static clearPlatformInvite() {
4037
- inv('0xA4484173759749B1');
4052
+ static setLocalPlayerSyncLookAt(toggle) {
4053
+ inv('0x524FF0AEFF9C3973', toggle);
4038
4054
  }
4039
4055
  /**
4040
- * @param toggle
4041
- * @param p2
4042
- * @returns p1
4056
+ * @returns gamerHandle
4043
4057
  */
4044
- static autoSessionSetAllowedToMerge(toggle, p2) {
4045
- const result = inv('0x63246A24F5747510', toggle, pvi(), p2);
4058
+ static showProfileUi() {
4059
+ const result = inv('0x859ED1CEA343FCA8', pvi());
4046
4060
  return result;
4047
4061
  }
4048
4062
  /**
4049
- * @returns
4063
+ * @param player
4064
+ * @param toggle
4050
4065
  */
4051
- static getTotalNumPlayers() {
4052
- return inv('0xCF61D4B4702EE9EB', rai());
4066
+ static setPlayerVisibleLocally(player, toggle) {
4067
+ inv('0xFAA10F1FAFB11AF2', player.handle, toggle);
4053
4068
  }
4054
4069
  /**
4055
- * Note: this native was added in build 1311.23
4070
+ * *NETWORK_SPAWN_CONFIG**
4056
4071
  *
4057
- * @param p0
4058
- * @returns
4072
+ * @param nsctf
4059
4073
  */
4060
- static N_0x744BFBB0CA908161(p0) {
4061
- return inv('0x744BFBB0CA908161', p0, rai());
4074
+ static N_0x5D3C528B7A7DF836(nsctf) {
4075
+ inv('0x5D3C528B7A7DF836', _h(nsctf));
4062
4076
  }
4063
4077
  /**
4064
- * @param player
4065
4078
  * @returns
4066
4079
  */
4067
- static isPlayerActive(player) {
4068
- return inv('0xB8DFD30D6973E135', player.handle, rai());
4080
+ static autoSessionIsAutoWarpDisabled() {
4081
+ return inv('0xE258570E0C116A66');
4069
4082
  }
4070
4083
  /**
4071
4084
  * @returns
4072
4085
  */
4073
- static getPlatformInviteId() {
4074
- return inv('0x9BCF28FB5D65A9BE', rai());
4086
+ static didGetGamerStatusSucceed() {
4087
+ return inv('0x5AE17C6B0134B7F1');
4075
4088
  }
4076
4089
  /**
4077
4090
  * @param p0
4078
- * @param index
4091
+ * @param p1
4092
+ * @param p2
4093
+ * @param p3
4094
+ * @param p4
4079
4095
  * @returns
4080
4096
  */
4081
- static ugcQueryGetOwnerId(p0, index) {
4082
- return inv('0xF9F0B3028431967B', p0, index, ras());
4097
+ static isSphereVisibleToAnotherMachine(p0, p1, p2, p3, p4) {
4098
+ return !!inv('0xD82CF8E64C8729D8', p0, p1, p2, p3, p4, rai());
4083
4099
  }
4084
4100
  /**
4085
- * @param tunableContext
4086
- * @param tunableName
4087
- * @param defaultValue
4101
+ * @param p0
4088
4102
  * @returns
4089
4103
  */
4090
- static tryAccessTunableFloatHash(tunableContext, tunableName, defaultValue) {
4091
- return inv('0xA18393089C05E49C', _h(tunableContext), _h(tunableName), f(defaultValue), raf());
4104
+ static checkCommunicationPrivileges(p0) {
4105
+ return !!inv('0x83F28CE49FBBFFBA', p0, rai());
4092
4106
  }
4093
4107
  /**
4094
- * @returns
4108
+ * Note: this native was added in build 1355.30
4095
4109
  */
4096
- static hasNetworkTimeStarted() {
4097
- return inv('0x46718ACEEDEAFC84', rai());
4110
+ static N_0x40FEDB13870042F1() {
4111
+ inv('0x40FEDB13870042F1');
4098
4112
  }
4099
4113
  /**
4100
- * Hardcoded to return false.
4101
- *
4114
+ * @param player1
4115
+ * @param player2
4102
4116
  * @returns
4103
4117
  */
4104
- static isInPlatformParty() {
4105
- return inv('0x2FC5650B0271CB57', rai());
4118
+ static N_0xFE53B1F8D43F19BF(player1, player2) {
4119
+ return inv('0xFE53B1F8D43F19BF', player1.handle, player2.handle, rai());
4106
4120
  }
4107
4121
  /**
4108
- * Return the local Participant ID. This native is exactly the same as 'PARTICIPANT_ID' native.
4109
- *
4122
+ * @param id
4110
4123
  * @returns
4111
4124
  */
4112
- static participantIdToInt() {
4113
- return inv('0x57A3BDDAD8E5AA0A', rai());
4114
- }
4115
- /**
4116
- * @param toggle
4117
- * @param pos
4118
- */
4119
- static setInStaticSpectatorMode(toggle, pos) {
4120
- inv('0xFBF1ECFB39A77B5F', toggle, f(pos.x), f(pos.y), f(pos.z));
4125
+ static cloudDidRequestSucceed(id) {
4126
+ return !!inv('0x3A3D5568AF297CD5', id, rai());
4121
4127
  }
4122
4128
  /**
4123
- * @param p0
4129
+ * @param player
4124
4130
  * @returns
4125
4131
  */
4126
- static requestControlOfPickupPlacement(p0) {
4127
- return inv('0x56ED2C48558DAB78', p0, rai());
4128
- }
4129
- /**
4130
- * @param entity
4131
- */
4132
- static registerEntityAsNetworked(entity) {
4133
- inv('0x06FAACD625D80CAA', entity.handle);
4132
+ static isPlayerConnected(player) {
4133
+ return !!inv('0x93DC1BE4E1ABE9D1', player.handle, rai());
4134
4134
  }
4135
4135
  /**
4136
- * Session flag 'SF_PRIVATE' is set internally
4137
- * p1 represents max amount of players in private session
4136
+ * Hardcoded to return false.
4138
4137
  *
4139
- * @param flags
4140
- * @param numPlayers
4141
- * @param userHash
4142
- * @returns sessionRequestId
4138
+ * @returns gamerHandle
4143
4139
  */
4144
- static sessionRequestSessionPrivate(flags, numPlayers, userHash) {
4145
- const result = inv('0x39A8EF7AF29A192C', flags, numPlayers, userHash, pvi());
4140
+ static isPendingFriend() {
4141
+ const result = inv('0x0BE73DA6984A6E33', pvi());
4146
4142
  return [result[0], result[1]];
4147
4143
  }
4148
4144
  /**
4149
- * @param textureDownloadId
4145
+ * Note: this native was added in build 1311.23
4146
+ *
4147
+ * @param p0
4150
4148
  */
4151
- static textureDownloadRelease(textureDownloadId) {
4152
- inv('0x487EB90B98E9FB19', textureDownloadId);
4149
+ static N_0xA7670F7991099680(p0) {
4150
+ inv('0xA7670F7991099680', p0);
4153
4151
  }
4154
4152
  /**
4155
- * Only used in R* Script net_rolling_playlist
4153
+ * @param instanceId
4156
4154
  */
4157
- static sessionPlaylistGoToNextContent() {
4158
- inv('0xBDE605F925B07127');
4155
+ static setLocalPlayerPendingFastInstanceId(instanceId) {
4156
+ inv('0x007FF852DCF49DA4', instanceId);
4159
4157
  }
4160
4158
  /**
4161
- * Note: this native was added in build 1311.23
4162
- *
4163
- * @returns sessionId
4159
+ * @param p0
4164
4160
  */
4165
- static sessionGetSessionId() {
4166
- const result = inv('0xE9B356C330C0A806', pvi());
4167
- return result;
4161
+ static N_0xF342F6BD0A8287D5(p0) {
4162
+ inv('0xF342F6BD0A8287D5', p0);
4168
4163
  }
4169
4164
  /**
4170
4165
  * @returns
4171
4166
  */
4172
- static autoSessionSplitSessionSuccessful() {
4173
- return inv('0x6D87BA8EF15226CD');
4167
+ static isFindingGamers() {
4168
+ return !!inv('0xDDDF64C91BFCF0AA', rai());
4174
4169
  }
4175
4170
  /**
4176
- * @param ugcRequestId
4177
- * @returns
4171
+ * Returns textureDownloadId
4172
+ *
4173
+ * @param filePath
4174
+ * @param name
4175
+ * @param p3
4176
+ * @returns gamerHandle
4178
4177
  */
4179
- static ugcHasRequestFinished(ugcRequestId) {
4180
- return inv('0xA9EB4D606076615D', ugcRequestId);
4178
+ static textureDownloadRequest(filePath, name, p3) {
4179
+ const result = inv('0x16160DA74A8E74A2', pvi(), filePath, name, p3, rai());
4180
+ return [result[0], result[1]];
4181
4181
  }
4182
4182
  /**
4183
- * @returns sessionRequestId
4183
+ * @returns gamerHandle
4184
4184
  */
4185
- static sessionIsRequestInProgress() {
4186
- const result = inv('0x8FB7C254CFCBF78E', pvi());
4187
- return [result[0], result[1]];
4185
+ static isFriendHandleOnline() {
4186
+ const result = inv('0xE348D1404BD80146', pvi(), rai());
4187
+ return [!!result[0], result[1]];
4188
4188
  }
4189
4189
  /**
4190
- * Adds the first argument to the second.
4191
- *
4192
- * @param timeA
4193
- * @param timeB
4194
- * @returns
4190
+ * @param netId
4191
+ * @returns weaponHash: Refer to [enum: eWeaponHash]
4195
4192
  */
4196
- static getTimeOffset(timeA, timeB) {
4197
- return inv('0x017008CCDAD48503', timeA, timeB, rai());
4193
+ static getDestroyerOfNetworkId(netId) {
4194
+ const result = inv('0x7A1ADEEF01740A24', netId, pvi(), rai());
4195
+ return [result[0], result[1]];
4198
4196
  }
4199
4197
  /**
4200
- * @param p0
4198
+ * Returns value of fwuiCachedSetting "general.onlineNotificationsInStoryMode"
4199
+ *
4201
4200
  * @returns
4202
4201
  */
4203
- static N_0xC028B3F52C707C49(p0) {
4204
- return inv('0xC028B3F52C707C49', p0, rai());
4202
+ static areOnlineNotificationsShownInStoryMode() {
4203
+ return !!inv('0xF5C5929E07512F80', rai());
4205
4204
  }
4206
4205
  /**
4207
- * nullsub, doesn't do anything
4206
+ * Subtracts the second argument from the first.
4208
4207
  *
4208
+ * @param timeA
4209
+ * @param timeB
4209
4210
  * @returns
4210
4211
  */
4211
- static N_0xC964FCD3D1720697() {
4212
- return inv('0xC964FCD3D1720697');
4212
+ static getTimeDifference(timeA, timeB) {
4213
+ return inv('0xA2C6FC031D46FFF0', timeA, timeB, rai());
4213
4214
  }
4214
4215
  /**
4215
4216
  * @param p0
4216
- * @param p1
4217
4217
  * @returns
4218
4218
  */
4219
- static ugcQueryGetPublished(p0, p1) {
4220
- return inv('0x9993F1E11944A3DD', p0, p1);
4219
+ static N_0xD1FFB246F4E088AC(p0) {
4220
+ return !!inv('0xD1FFB246F4E088AC', p0, rai());
4221
4221
  }
4222
4222
  }