@nativewrappers/fivem 0.0.109 → 0.0.111

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.
@@ -1,11 +1,17 @@
1
1
  import type { Vector3 } from "./common/utils/Vector";
2
2
  import type { BaseEntity } from "./models/BaseEntity";
3
3
  import type { Ped } from "./models/Ped";
4
+ import { SyncedSceneFlags } from "./enums/SyncedSceneFlags";
5
+ import type { EntityBone } from "./models/EntityBone";
4
6
  export declare class NetworkedScene {
5
7
  private scene;
6
- constructor(pos: Vector3, rot: Vector3, rotationOrder: number, holdLastFrame: boolean, looped: boolean, sceneHash: number, animTime: number, animSpeed: number);
7
- addPed(ped: Ped, animDict: string, animName: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number, p9: number): void;
8
- addEntity(entity: BaseEntity, animDict: string, animName: string, speed: number, speedMultiplier: number, flag: number): void;
8
+ static set AllowRemoveSyncedScenes(allow: boolean);
9
+ constructor(pos: Vector3, rot: Vector3, rotationOrder?: number, holdLastFrame?: boolean, looped?: boolean, phaseToStopScene?: number, phaseToStartScene?: number, animSpeed?: number);
10
+ addPed(ped: Ped, animDict: string, animName: string, blendInSpeed?: number, blendOutSpeed?: number, syncedSceneFlags?: SyncedSceneFlags, ragdollBlockingFlags?: number, moverBlendInData?: number, ikFlags?: number): void;
11
+ addEntity(entity: BaseEntity, animDict: string, animName: string, blendInSpeed?: number, blendOutSpeed?: number, syncedSceneFlags?: SyncedSceneFlags): void;
12
+ forceLocalUseOfSyncedSceneCamera(): void;
13
+ attachSceneToEntityBone(entity: BaseEntity, bone: EntityBone): void;
14
+ get LocalScene(): number;
9
15
  start(): void;
10
16
  stop(): void;
11
17
  }
package/NetworkedScene.js CHANGED
@@ -1,11 +1,20 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { SyncedSceneFlags } from "./enums/SyncedSceneFlags";
3
4
  class NetworkedScene {
4
5
  static {
5
6
  __name(this, "NetworkedScene");
6
7
  }
7
8
  scene;
8
- constructor(pos, rot, rotationOrder, holdLastFrame, looped, sceneHash, animTime, animSpeed) {
9
+ /*
10
+ * Allows the current client to receive removed synced scene requests
11
+ * WARNING: This is unsecure, you shouldn't leave this set to true,
12
+ * you should disable this as fast as soon as possible to mitigate any possible exploits.
13
+ */
14
+ static set AllowRemoveSyncedScenes(allow) {
15
+ Citizen.invokeNative("0x144DA052257AE7D8", allow);
16
+ }
17
+ constructor(pos, rot, rotationOrder = 2, holdLastFrame = false, looped = false, phaseToStopScene = 1, phaseToStartScene = 0, animSpeed = 1) {
9
18
  this.scene = NetworkCreateSynchronisedScene(
10
19
  pos.x,
11
20
  pos.y,
@@ -16,12 +25,12 @@ class NetworkedScene {
16
25
  rotationOrder,
17
26
  holdLastFrame,
18
27
  looped,
19
- sceneHash,
20
- animTime + 0,
28
+ phaseToStopScene,
29
+ phaseToStartScene + 0,
21
30
  animSpeed + 0
22
31
  );
23
32
  }
24
- addPed(ped, animDict, animName, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, p9) {
33
+ addPed(ped, animDict, animName, blendInSpeed = 8, blendOutSpeed = -8, syncedSceneFlags = SyncedSceneFlags.None, ragdollBlockingFlags = 0, moverBlendInData = 1e3, ikFlags = 0) {
25
34
  NetworkAddPedToSynchronisedScene(
26
35
  ped.Handle,
27
36
  this.scene,
@@ -29,14 +38,23 @@ class NetworkedScene {
29
38
  animName,
30
39
  blendInSpeed,
31
40
  blendOutSpeed,
32
- duration,
33
- flag,
34
- playbackRate,
35
- p9
41
+ syncedSceneFlags,
42
+ ragdollBlockingFlags,
43
+ moverBlendInData,
44
+ ikFlags
36
45
  );
37
46
  }
38
- addEntity(entity, animDict, animName, speed, speedMultiplier, flag) {
39
- NetworkAddEntityToSynchronisedScene(entity.Handle, this.scene, animDict, animName, speed, speedMultiplier, flag);
47
+ addEntity(entity, animDict, animName, blendInSpeed = 8, blendOutSpeed = -8, syncedSceneFlags = SyncedSceneFlags.None) {
48
+ NetworkAddEntityToSynchronisedScene(entity.Handle, this.scene, animDict, animName, blendInSpeed, blendOutSpeed, syncedSceneFlags);
49
+ }
50
+ forceLocalUseOfSyncedSceneCamera() {
51
+ NetworkForceLocalUseOfSyncedSceneCamera(this.scene);
52
+ }
53
+ attachSceneToEntityBone(entity, bone) {
54
+ NetworkAttachSynchronisedSceneToEntity(this.scene, entity.Handle, bone.Index);
55
+ }
56
+ get LocalScene() {
57
+ return NetworkGetLocalSceneFromNetworkId(this.scene);
40
58
  }
41
59
  start() {
42
60
  NetworkStartSynchronisedScene(this.scene);
package/World.d.ts CHANGED
@@ -426,7 +426,7 @@ export declare abstract class World {
426
426
  * Gets the cloest [[`Vehicle`]] to the current coords, or null if none are found
427
427
  * @returns the closest vehicle or null
428
428
  */
429
- static getClosestVehicle(coords: Vector3): Vehicle | null;
429
+ static getClosestVehicle(coords: Vector3, startingDistance?: number): Vehicle | null;
430
430
  /**
431
431
  * Get all [[`Pickup`]] entities using the GetGamePool.
432
432
  * @returns Array of Pickups.
package/World.js CHANGED
@@ -874,10 +874,10 @@ class World {
874
874
  * Gets the cloest [[`Vehicle`]] to the current coords, or null if none are found
875
875
  * @returns the closest vehicle or null
876
876
  */
877
- static getClosestVehicle(coords) {
877
+ static getClosestVehicle(coords, startingDistance = 9999) {
878
878
  const vehicles = this.getAllVehicles();
879
879
  let currentVeh = null;
880
- let lastDistance = 9999;
880
+ let lastDistance = startingDistance;
881
881
  for (const vehicle of vehicles) {
882
882
  if (!currentVeh) {
883
883
  currentVeh = vehicle;
@@ -0,0 +1,21 @@
1
+ export declare enum SyncedSceneFlags {
2
+ None = 0,
3
+ UsePhysics = 1,
4
+ TagSyncOut = 2,
5
+ DontInterrupt = 4,
6
+ OnAbortStopScene = 8,
7
+ AbortOnWeaponDamage = 16,
8
+ BlockMoverUpdate = 32,
9
+ LoopWithinScene = 64,
10
+ PreserveVelocity = 128,
11
+ ExpandPedCapsuleFromSkeleton = 256,
12
+ ActivateRagdollOnCollision = 512,
13
+ HideWeapon = 1024,
14
+ AbortOnDeath = 2048,
15
+ VehicleAbortOnLargeImppapct = 4096,
16
+ VehicleAllowPlayerEntry = 8192,
17
+ ProcessAttachmentOnStart = 16384,
18
+ NetOnEarlyNoPedStopReturnToStart = 32768,
19
+ SetPedOutOfVehicleAtStart = 65536,
20
+ NetDisregardAttachmentChecks = 131072
21
+ }
@@ -0,0 +1,25 @@
1
+ var SyncedSceneFlags = /* @__PURE__ */ ((SyncedSceneFlags2) => {
2
+ SyncedSceneFlags2[SyncedSceneFlags2["None"] = 0] = "None";
3
+ SyncedSceneFlags2[SyncedSceneFlags2["UsePhysics"] = 1] = "UsePhysics";
4
+ SyncedSceneFlags2[SyncedSceneFlags2["TagSyncOut"] = 2] = "TagSyncOut";
5
+ SyncedSceneFlags2[SyncedSceneFlags2["DontInterrupt"] = 4] = "DontInterrupt";
6
+ SyncedSceneFlags2[SyncedSceneFlags2["OnAbortStopScene"] = 8] = "OnAbortStopScene";
7
+ SyncedSceneFlags2[SyncedSceneFlags2["AbortOnWeaponDamage"] = 16] = "AbortOnWeaponDamage";
8
+ SyncedSceneFlags2[SyncedSceneFlags2["BlockMoverUpdate"] = 32] = "BlockMoverUpdate";
9
+ SyncedSceneFlags2[SyncedSceneFlags2["LoopWithinScene"] = 64] = "LoopWithinScene";
10
+ SyncedSceneFlags2[SyncedSceneFlags2["PreserveVelocity"] = 128] = "PreserveVelocity";
11
+ SyncedSceneFlags2[SyncedSceneFlags2["ExpandPedCapsuleFromSkeleton"] = 256] = "ExpandPedCapsuleFromSkeleton";
12
+ SyncedSceneFlags2[SyncedSceneFlags2["ActivateRagdollOnCollision"] = 512] = "ActivateRagdollOnCollision";
13
+ SyncedSceneFlags2[SyncedSceneFlags2["HideWeapon"] = 1024] = "HideWeapon";
14
+ SyncedSceneFlags2[SyncedSceneFlags2["AbortOnDeath"] = 2048] = "AbortOnDeath";
15
+ SyncedSceneFlags2[SyncedSceneFlags2["VehicleAbortOnLargeImppapct"] = 4096] = "VehicleAbortOnLargeImppapct";
16
+ SyncedSceneFlags2[SyncedSceneFlags2["VehicleAllowPlayerEntry"] = 8192] = "VehicleAllowPlayerEntry";
17
+ SyncedSceneFlags2[SyncedSceneFlags2["ProcessAttachmentOnStart"] = 16384] = "ProcessAttachmentOnStart";
18
+ SyncedSceneFlags2[SyncedSceneFlags2["NetOnEarlyNoPedStopReturnToStart"] = 32768] = "NetOnEarlyNoPedStopReturnToStart";
19
+ SyncedSceneFlags2[SyncedSceneFlags2["SetPedOutOfVehicleAtStart"] = 65536] = "SetPedOutOfVehicleAtStart";
20
+ SyncedSceneFlags2[SyncedSceneFlags2["NetDisregardAttachmentChecks"] = 131072] = "NetDisregardAttachmentChecks";
21
+ return SyncedSceneFlags2;
22
+ })(SyncedSceneFlags || {});
23
+ export {
24
+ SyncedSceneFlags
25
+ };
package/index.d.ts CHANGED
@@ -143,6 +143,7 @@ export * from "./enums/Relationship";
143
143
  export * from "./enums/RopeType";
144
144
  export * from "./enums/ScreenEffect";
145
145
  export * from "./enums/SpeechModifier";
146
+ export * from "./enums/SyncedSceneFlags";
146
147
  export * from "./enums/Vehicle";
147
148
  export * from "./enums/Weather";
148
149
  export * from "./enums/ZoneID";
package/index.js CHANGED
@@ -143,6 +143,7 @@ export * from "./enums/Relationship";
143
143
  export * from "./enums/RopeType";
144
144
  export * from "./enums/ScreenEffect";
145
145
  export * from "./enums/SpeechModifier";
146
+ export * from "./enums/SyncedSceneFlags";
146
147
  export * from "./enums/Vehicle";
147
148
  export * from "./enums/Weather";
148
149
  export * from "./enums/ZoneID";
package/models/Ped.d.ts CHANGED
@@ -25,7 +25,7 @@ export declare class Ped extends BaseEntity {
25
25
  private static readonly speechModifierNames;
26
26
  private tasks;
27
27
  constructor(handle: number);
28
- get Player(): Player;
28
+ get Player(): Player | null;
29
29
  get Money(): number;
30
30
  set Money(amount: number);
31
31
  get Gender(): Gender;
package/models/Ped.js CHANGED
@@ -79,7 +79,11 @@ class Ped extends BaseEntity {
79
79
  super(handle);
80
80
  }
81
81
  get Player() {
82
- return new Player(NetworkGetPlayerIndexFromPed(this.handle));
82
+ const playerIndex = NetworkGetPlayerIndexFromPed(this.handle);
83
+ if (playerIndex === -1) {
84
+ return null;
85
+ }
86
+ return new Player(playerIndex);
83
87
  }
84
88
  get Money() {
85
89
  return GetPedMoney(this.handle);
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  ],
9
9
  "license": "MIT",
10
10
  "type": "module",
11
- "version": "0.0.109",
11
+ "version": "0.0.111",
12
12
  "repository": {
13
13
  "type": "git",
14
14
  "url": "https://github.com/nativewrappers/nativewrappers.git"