rock-mod 0.0.1 → 0.2.0

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 (107) hide show
  1. package/LICENSE +21 -21
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/server/RockMod.d.ts +11 -5
  5. package/dist/server/RockMod.js +61 -19
  6. package/dist/server/common/utils/color/RGBA.d.ts +17 -0
  7. package/dist/server/common/utils/color/RGBA.js +28 -0
  8. package/dist/server/common/utils/color/index.d.ts +1 -0
  9. package/dist/server/common/utils/color/index.js +17 -0
  10. package/dist/server/common/utils/index.d.ts +2 -0
  11. package/dist/server/common/utils/index.js +18 -0
  12. package/dist/server/common/utils/math/Math.d.ts +6 -0
  13. package/dist/server/common/utils/math/Math.js +7 -0
  14. package/dist/server/common/utils/math/Vectors.d.ts +15 -2
  15. package/dist/server/common/utils/math/index.d.ts +1 -0
  16. package/dist/server/common/utils/math/index.js +17 -0
  17. package/dist/server/entities/altv/baseObject/AltVBaseObject.d.ts +9 -4
  18. package/dist/server/entities/altv/baseObject/AltVBaseObject.js +20 -6
  19. package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.d.ts +2 -1
  20. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.d.ts +7 -2
  21. package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.js +14 -0
  22. package/dist/server/entities/altv/entity/AltVEntitiesManager.d.ts +2 -1
  23. package/dist/server/entities/altv/entity/AltVEntity.d.ts +11 -6
  24. package/dist/server/entities/altv/entity/AltVEntity.js +12 -4
  25. package/dist/server/entities/altv/player/AltVPlayer.d.ts +42 -8
  26. package/dist/server/entities/altv/player/AltVPlayer.js +114 -12
  27. package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +28 -5
  28. package/dist/server/entities/altv/vehicle/AltVVehicle.js +76 -4
  29. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.d.ts +5 -1
  30. package/dist/server/entities/altv/vehicle/AltVVehiclesManager.js +12 -0
  31. package/dist/server/entities/altv/worldObject/AltVWorldObject.d.ts +9 -6
  32. package/dist/server/entities/altv/worldObject/AltVWorldObject.js +11 -6
  33. package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.d.ts +2 -1
  34. package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.d.ts +7 -4
  35. package/dist/server/entities/common/baseObject/IBaseObject.d.ts +5 -4
  36. package/dist/server/entities/common/baseObject/IBaseObjectsManager.d.ts +2 -0
  37. package/dist/server/entities/common/baseObject/index.d.ts +3 -0
  38. package/dist/server/entities/common/baseObject/index.js +19 -0
  39. package/dist/server/entities/common/entity/IEntitiesManager.d.ts +6 -1
  40. package/dist/server/entities/common/entity/IEntity.d.ts +4 -2
  41. package/dist/server/entities/common/entity/index.d.ts +2 -0
  42. package/dist/server/entities/common/entity/index.js +18 -0
  43. package/dist/server/entities/common/index.d.ts +5 -0
  44. package/dist/server/entities/common/index.js +21 -0
  45. package/dist/server/entities/common/player/IPlayer.d.ts +50 -3
  46. package/dist/server/entities/common/player/index.d.ts +2 -0
  47. package/dist/server/entities/common/player/index.js +18 -0
  48. package/dist/server/entities/common/vehicle/IVehicle.d.ts +41 -0
  49. package/dist/server/entities/common/vehicle/IVehicle.js +22 -0
  50. package/dist/server/entities/common/vehicle/IVehiclesManager.d.ts +6 -1
  51. package/dist/server/entities/common/vehicle/index.d.ts +2 -0
  52. package/dist/server/entities/common/vehicle/index.js +18 -0
  53. package/dist/server/entities/common/worldObject/IWorldObject.d.ts +5 -5
  54. package/dist/server/entities/common/worldObject/IWorldObjectsManager.d.ts +6 -1
  55. package/dist/server/entities/common/worldObject/index.d.ts +3 -0
  56. package/dist/server/entities/common/worldObject/index.js +19 -0
  57. package/dist/server/entities/index.d.ts +1 -0
  58. package/dist/server/entities/index.js +17 -0
  59. package/dist/server/entities/ragemp/baseObject/RageBaseObject.d.ts +8 -4
  60. package/dist/server/entities/ragemp/baseObject/RageBaseObject.js +10 -6
  61. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +6 -2
  62. package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +14 -0
  63. package/dist/server/entities/ragemp/entity/RageEntitiesManager.d.ts +6 -4
  64. package/dist/server/entities/ragemp/entity/RageEntity.d.ts +10 -6
  65. package/dist/server/entities/ragemp/entity/RageEntity.js +10 -4
  66. package/dist/server/entities/ragemp/player/RagePlayer.d.ts +41 -8
  67. package/dist/server/entities/ragemp/player/RagePlayer.js +106 -12
  68. package/dist/server/entities/ragemp/player/RagePlayersManager.d.ts +1 -0
  69. package/dist/server/entities/ragemp/player/RagePlayersManager.js +21 -0
  70. package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +27 -5
  71. package/dist/server/entities/ragemp/vehicle/RageVehicle.js +72 -4
  72. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.d.ts +4 -1
  73. package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +14 -0
  74. package/dist/server/entities/ragemp/worldObject/RageWorldObject.d.ts +8 -6
  75. package/dist/server/entities/ragemp/worldObject/RageWorldObject.js +10 -6
  76. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.d.ts +1 -1
  77. package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.d.ts +6 -4
  78. package/dist/server/factories/altv/AltVManagersFactory.d.ts +9 -0
  79. package/dist/server/{entities → factories}/altv/AltVManagersFactory.js +6 -2
  80. package/dist/server/factories/common/IManagersFactory.d.ts +8 -0
  81. package/dist/server/factories/ragemp/RageManagersFactory.d.ts +9 -0
  82. package/dist/server/{entities → factories}/ragemp/RageManagersFactory.js +6 -2
  83. package/dist/server/index.d.ts +3 -0
  84. package/dist/server/index.js +19 -0
  85. package/dist/server/net/altv/AltVNetManager.d.ts +10 -0
  86. package/dist/server/net/altv/AltVNetManager.js +20 -0
  87. package/dist/server/net/altv/events/AltVEventsManager.d.ts +16 -0
  88. package/dist/server/net/altv/events/AltVEventsManager.js +28 -0
  89. package/dist/server/net/altv/rpc/AltVRPCManager.d.ts +12 -0
  90. package/dist/server/net/altv/rpc/AltVRPCManager.js +23 -0
  91. package/dist/server/net/common/INetManager.d.ts +6 -0
  92. package/dist/server/net/common/INetManager.js +2 -0
  93. package/dist/server/net/common/events/IEventsManager.d.ts +16 -0
  94. package/dist/server/net/common/events/IEventsManager.js +2 -0
  95. package/dist/server/net/common/rpc/IRPCManager.d.ts +10 -0
  96. package/dist/server/net/common/rpc/IRPCManager.js +2 -0
  97. package/dist/server/net/ragemp/RageNetManager.d.ts +10 -0
  98. package/dist/server/net/ragemp/RageNetManager.js +20 -0
  99. package/dist/server/net/ragemp/events/RageEventsManager.d.ts +19 -0
  100. package/dist/server/net/ragemp/events/RageEventsManager.js +24 -0
  101. package/dist/server/net/ragemp/rpc/RageRPCManager.d.ts +11 -0
  102. package/dist/server/net/ragemp/rpc/RageRPCManager.js +19 -0
  103. package/package.json +62 -53
  104. package/dist/server/entities/altv/AltVManagersFactory.d.ts +0 -7
  105. package/dist/server/entities/common/IManagersFactory.d.ts +0 -6
  106. package/dist/server/entities/ragemp/RageManagersFactory.d.ts +0 -7
  107. /package/dist/server/{entities → factories}/common/IManagersFactory.js +0 -0
@@ -2,30 +2,132 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVPlayer = void 0;
4
4
  const AltVEntity_1 = require("../entity/AltVEntity");
5
+ const RockMod_1 = require("../../../RockMod");
6
+ var Player = AltVServer.Player;
7
+ var Vehicle = AltVServer.Vehicle;
8
+ var Vector3 = AltVShared.Vector3;
9
+ var hash = AltVShared.hash;
5
10
  class AltVPlayer extends AltVEntity_1.AltVEntity {
6
- _name;
7
- _socialClub;
8
- _health;
9
11
  get name() {
10
- return this._name;
12
+ return this.mpEntity.name;
11
13
  }
12
14
  get socialClub() {
13
- return this._socialClub;
15
+ return this.mpEntity.socialClubName;
16
+ }
17
+ get heading() {
18
+ return this.mpEntity.headRot.z;
14
19
  }
15
20
  get health() {
16
- return this._health;
21
+ return this.mpEntity.health;
22
+ }
23
+ get armour() {
24
+ return this.mpEntity.armour;
25
+ }
26
+ get ip() {
27
+ return this.mpEntity.ip;
28
+ }
29
+ get serial() {
30
+ return this.mpEntity.hwidHash;
31
+ }
32
+ get vehicle() {
33
+ const mpVehicle = this.mpEntity.vehicle;
34
+ if (!mpVehicle) {
35
+ return null;
36
+ }
37
+ return RockMod_1.RockMod.instance.vehicles.getByID(mpVehicle.id);
38
+ }
39
+ get seat() {
40
+ return this.mpEntity.seat;
41
+ }
42
+ get weapon() {
43
+ return this.mpEntity.currentWeapon;
44
+ }
45
+ get weaponAmmo() {
46
+ return this.mpEntity.getAmmo(this.weapon);
47
+ }
48
+ get eyeColor() {
49
+ return this.mpEntity.getEyeColor();
50
+ }
51
+ get streamedPlayers() {
52
+ const players = [];
53
+ for (const { entity } of this.mpEntity.streamedEntities) {
54
+ if (entity instanceof Player) {
55
+ players.push(RockMod_1.RockMod.instance.players.getByID(entity.id));
56
+ }
57
+ }
58
+ return players;
17
59
  }
18
60
  constructor(options) {
19
61
  super(options);
20
- this._name = options.name;
21
- this._socialClub = options.socialClub;
22
- this._health = 100;
23
62
  }
24
- setName(value) {
25
- this._name = value;
63
+ emitEvent(eventName, ...args) {
64
+ return RockMod_1.RockMod.instance.net.events.emitClient(this, eventName, ...args);
65
+ }
66
+ emitRPC(rpcName, ...args) {
67
+ return RockMod_1.RockMod.instance.net.rpc.emitClient(this, rpcName, ...args);
68
+ }
69
+ spawn(position) {
70
+ return this.mpEntity.spawn(position);
71
+ }
72
+ setName(name) {
73
+ throw new Error(`Not implemented (setName: ${name})`);
74
+ }
75
+ setHeading(value) {
76
+ this.mpEntity.rot = new Vector3(0, 0, value);
26
77
  }
27
78
  setHealth(value) {
28
- this._health = value;
79
+ this.mpEntity.health = Math.clamp(value, 0, 100);
80
+ }
81
+ setArmour(value) {
82
+ this.mpEntity.armour = Math.clamp(value, 0, 100);
83
+ }
84
+ setWeaponAmmo(weapon, ammo) {
85
+ return this.mpEntity.setWeaponAmmo(weapon, ammo);
86
+ }
87
+ giveWeapon(weapon, ammo) {
88
+ return this.mpEntity.giveWeapon(weapon, ammo, true);
89
+ }
90
+ removeWeapon(weapon) {
91
+ return this.mpEntity.removeWeapon(hash(weapon));
92
+ }
93
+ enableVoiceTo(player) {
94
+ throw new Error(`Not implemented (enableVoiceTo: ${this.id} -> ${player.id})`);
95
+ }
96
+ disableVoiceTo(player) {
97
+ throw new Error(`Not implemented (disableVoiceTo: ${this.id} -> ${player.id})`);
98
+ }
99
+ putIntoVehicle(vehicle, seat) {
100
+ const mpVehicle = Vehicle.getByID(vehicle.id);
101
+ if (!mpVehicle) {
102
+ throw new Error(`Multiplayer vehicle with id ${vehicle.id} not found`);
103
+ }
104
+ return this.mpEntity.setIntoVehicle(mpVehicle, seat ?? 0);
105
+ }
106
+ ejectFromVehicle() {
107
+ return this.mpEntity.clearTasks();
108
+ }
109
+ setCustomization(data) {
110
+ throw new Error(`Not implemented (setCustomization: ${data})`);
111
+ }
112
+ setHeadOverlay(overlayID, index, opacity, firstColor, secondColor) {
113
+ this.mpEntity.setHeadOverlayColor(overlayID, 1, firstColor, secondColor);
114
+ this.mpEntity.setHeadOverlay(overlayID, index, opacity);
115
+ }
116
+ setEyeColor(colorID) {
117
+ this.mpEntity.setEyeColor(colorID);
118
+ }
119
+ setProp(propID, drawableID, textureID) {
120
+ this.mpEntity.setProp(propID, drawableID, textureID);
121
+ }
122
+ setClothes(componentID, drawableID, textureID, paletteID) {
123
+ this.mpEntity.setClothes(componentID, drawableID, textureID, paletteID);
124
+ }
125
+ setHairColor(colorID, highlightColorID) {
126
+ this.mpEntity.setHairColor(colorID);
127
+ this.mpEntity.setHairHighlightColor(highlightColorID);
128
+ }
129
+ kick(reason) {
130
+ return this.mpEntity.kick(reason);
29
131
  }
30
132
  }
31
133
  exports.AltVPlayer = AltVPlayer;
@@ -1,8 +1,31 @@
1
- import { AltVEntity } from "../entity/AltVEntity";
2
- import { IVehicle, IVehicleOptions } from "../../common/vehicle/IVehicle";
3
- export declare class AltVVehicle extends AltVEntity implements IVehicle {
4
- private _bodyHealth;
1
+ import { AltVEntity, IAltVEntityOptions } from "../entity/AltVEntity";
2
+ import { IVehicle } from "../../common/vehicle/IVehicle";
3
+ import Vehicle = AltVServer.Vehicle;
4
+ import { RGBA } from "../../../common/utils";
5
+ import { AltVPlayer } from "../player/AltVPlayer";
6
+ export interface IAltVVehicleOptions extends IAltVEntityOptions<Vehicle> {
7
+ }
8
+ export declare class AltVVehicle extends AltVEntity<Vehicle> implements IVehicle {
5
9
  get bodyHealth(): number;
6
- constructor(options: IVehicleOptions);
10
+ get engineHealth(): number;
11
+ get numberPlate(): string;
12
+ get isLocked(): boolean;
13
+ get isDead(): boolean;
14
+ get primaryColor(): number;
15
+ get secondaryColor(): number;
16
+ get customPrimaryColor(): RGBA;
17
+ get customSecondaryColor(): RGBA;
18
+ get driver(): AltVPlayer | null;
19
+ get passengers(): Set<AltVPlayer>;
20
+ constructor(options: IAltVVehicleOptions);
7
21
  setBodyHealth(value: number): void;
22
+ setEngineHealth(value: number): void;
23
+ setNumberPlate(value: string): void;
24
+ setLocked(value: boolean): void;
25
+ setPrimaryColor(value: number): void;
26
+ setSecondaryColor(value: number): void;
27
+ setCustomPrimaryColor(value: RGBA): void;
28
+ setCustomSecondaryColor(value: RGBA): void;
29
+ explode(): void;
30
+ repair(): void;
8
31
  }
@@ -2,17 +2,89 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVVehicle = void 0;
4
4
  const AltVEntity_1 = require("../entity/AltVEntity");
5
+ var VehicleLockState = AltVShared.VehicleLockState;
6
+ const utils_1 = require("../../../common/utils");
7
+ const RockMod_1 = require("../../../RockMod");
5
8
  class AltVVehicle extends AltVEntity_1.AltVEntity {
6
- _bodyHealth;
7
9
  get bodyHealth() {
8
- return this._bodyHealth;
10
+ return this.mpEntity.bodyHealth;
11
+ }
12
+ get engineHealth() {
13
+ return this.mpEntity.engineHealth;
14
+ }
15
+ get numberPlate() {
16
+ return this.mpEntity.numberPlateText;
17
+ }
18
+ get isLocked() {
19
+ return this.mpEntity.lockState > 1;
20
+ }
21
+ get isDead() {
22
+ return this.mpEntity.destroyed;
23
+ }
24
+ get primaryColor() {
25
+ return this.mpEntity.primaryColor;
26
+ }
27
+ get secondaryColor() {
28
+ return this.mpEntity.secondaryColor;
29
+ }
30
+ get customPrimaryColor() {
31
+ const { r, g, b, a } = this.mpEntity.customPrimaryColor;
32
+ return new utils_1.RGBA(r, g, b, a);
33
+ }
34
+ get customSecondaryColor() {
35
+ const { r, g, b, a } = this.mpEntity.customSecondaryColor;
36
+ return new utils_1.RGBA(r, g, b, a);
37
+ }
38
+ get driver() {
39
+ const mpPlayer = this.mpEntity.driver;
40
+ if (!mpPlayer) {
41
+ return null;
42
+ }
43
+ return RockMod_1.RockMod.instance.players.getByID(mpPlayer.id);
44
+ }
45
+ get passengers() {
46
+ const players = new Set();
47
+ for (const mpPlayer of Object.values(this.mpEntity.passengers)) {
48
+ const player = RockMod_1.RockMod.instance.players.getByID(mpPlayer.id);
49
+ players.add(player);
50
+ }
51
+ return players;
9
52
  }
10
53
  constructor(options) {
11
54
  super(options);
12
- this._bodyHealth = 100;
13
55
  }
14
56
  setBodyHealth(value) {
15
- this._bodyHealth = value;
57
+ this.mpEntity.bodyHealth = value;
58
+ }
59
+ setEngineHealth(value) {
60
+ this.mpEntity.engineHealth = value;
61
+ }
62
+ setNumberPlate(value) {
63
+ this.mpEntity.numberPlateText = value;
64
+ }
65
+ setLocked(value) {
66
+ this.mpEntity.lockState = value ? VehicleLockState.Locked : VehicleLockState.Unlocked;
67
+ }
68
+ setPrimaryColor(value) {
69
+ this.mpEntity.primaryColor = value;
70
+ }
71
+ setSecondaryColor(value) {
72
+ this.mpEntity.secondaryColor = value;
73
+ }
74
+ setCustomPrimaryColor(value) {
75
+ const { r, g, b, a } = value;
76
+ this.mpEntity.customPrimaryColor = new AltVShared.RGBA(r, g, b, a);
77
+ }
78
+ setCustomSecondaryColor(value) {
79
+ const { r, g, b, a } = value;
80
+ this.mpEntity.customSecondaryColor = new AltVShared.RGBA(r, g, b, a);
81
+ }
82
+ explode() {
83
+ this.mpEntity.engineHealth = 0;
84
+ this.mpEntity.bodyHealth = 0;
85
+ }
86
+ repair() {
87
+ return this.mpEntity.repair();
16
88
  }
17
89
  }
18
90
  exports.AltVVehicle = AltVVehicle;
@@ -1,6 +1,10 @@
1
1
  import { AltVEntitiesManager } from "../entity/AltVEntitiesManager";
2
2
  import { AltVVehicle } from "./AltVVehicle";
3
- import { IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
3
+ import { IVehicleCreateOptions, IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
4
+ import { IVehicle } from "../../common/vehicle/IVehicle";
5
+ export interface IAltVVehicleCreateOptions extends IVehicleCreateOptions {
6
+ }
4
7
  export declare class AltVVehiclesManager extends AltVEntitiesManager<AltVVehicle> implements IVehiclesManager {
5
8
  constructor();
9
+ create(options: IAltVVehicleCreateOptions): IVehicle;
6
10
  }
@@ -2,11 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVVehiclesManager = void 0;
4
4
  const AltVEntitiesManager_1 = require("../entity/AltVEntitiesManager");
5
+ const AltVVehicle_1 = require("./AltVVehicle");
6
+ var alt = AltVServer;
5
7
  class AltVVehiclesManager extends AltVEntitiesManager_1.AltVEntitiesManager {
6
8
  constructor() {
7
9
  super({
8
10
  baseObjectsType: "vehicle",
9
11
  });
10
12
  }
13
+ create(options) {
14
+ const { model, position, dimension, rotation, engine, locked } = options;
15
+ const mpEntity = new alt.Vehicle(model, position, rotation);
16
+ mpEntity.dimension = dimension;
17
+ mpEntity.engineOn = engine;
18
+ mpEntity.lockState = locked ? 2 : 1;
19
+ const vehicle = new AltVVehicle_1.AltVVehicle({ mpEntity });
20
+ this.registerBaseObject(vehicle);
21
+ return vehicle;
22
+ }
11
23
  }
12
24
  exports.AltVVehiclesManager = AltVVehiclesManager;
@@ -1,10 +1,13 @@
1
- import { IWorldObject, IWorldObjectOptions } from "../../common/worldObject/IWorldObject";
1
+ import { IWorldObject } from "../../common/worldObject/IWorldObject";
2
2
  import { Vector3D } from "../../../common/utils/math/Vectors";
3
- import { AltVBaseObject } from "../baseObject/AltVBaseObject";
4
- export declare abstract class AltVWorldObject extends AltVBaseObject implements IWorldObject {
5
- private readonly _position;
6
- private readonly _dimension;
3
+ import { AltVBaseObject, IAltVBaseObjectOptions } from "../baseObject/AltVBaseObject";
4
+ import WorldObject = AltVServer.WorldObject;
5
+ export interface IAltVWorldObjectOptions<T extends WorldObject> extends IAltVBaseObjectOptions<T> {
6
+ }
7
+ export declare abstract class AltVWorldObject<T extends WorldObject> extends AltVBaseObject<T> implements IWorldObject {
7
8
  get position(): Vector3D;
8
9
  get dimension(): number;
9
- protected constructor(options: IWorldObjectOptions);
10
+ protected constructor(options: IAltVWorldObjectOptions<T>);
11
+ setPosition(value: Vector3D): void;
12
+ setDimension(value: number): void;
10
13
  }
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AltVWorldObject = void 0;
4
+ const Vectors_1 = require("../../../common/utils/math/Vectors");
4
5
  const AltVBaseObject_1 = require("../baseObject/AltVBaseObject");
6
+ var Vector3 = AltVShared.Vector3;
5
7
  class AltVWorldObject extends AltVBaseObject_1.AltVBaseObject {
6
- _position;
7
- _dimension;
8
8
  get position() {
9
- return this._position;
9
+ const { x, y, z } = this.mpEntity.pos;
10
+ return new Vectors_1.Vector3D(x, y, z);
10
11
  }
11
12
  get dimension() {
12
- return this._dimension;
13
+ return this.mpEntity.dimension;
13
14
  }
14
15
  constructor(options) {
15
16
  super(options);
16
- this._position = options.position;
17
- this._dimension = options.dimension;
17
+ }
18
+ setPosition(value) {
19
+ this.mpEntity.pos = new Vector3(value);
20
+ }
21
+ setDimension(value) {
22
+ this.mpEntity.dimension = value;
18
23
  }
19
24
  }
20
25
  exports.AltVWorldObject = AltVWorldObject;
@@ -2,7 +2,8 @@ import { IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIte
2
2
  import { AltVWorldObject } from "./AltVWorldObject";
3
3
  import { AltVBaseObjectsIterator } from "../baseObject/AltVBaseObjectsIterator";
4
4
  import { Vector2D, Vector3D } from "../../../common/utils/math/Vectors";
5
- export declare class AltVWorldObjectsIterator<T extends AltVWorldObject> extends AltVBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
5
+ import WorldObject = AltVServer.WorldObject;
6
+ export declare class AltVWorldObjectsIterator<T extends AltVWorldObject<WorldObject>> extends AltVBaseObjectsIterator<T> implements IWorldObjectsIterator<T> {
6
7
  constructor(baseObjects: ReadonlyMap<number, T>);
7
8
  dimension(value: number): IterableIterator<T>;
8
9
  range2D(center: Vector2D, range: number): IterableIterator<T>;
@@ -1,9 +1,12 @@
1
- import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../../common/worldObject/IWorldObjectsManager";
1
+ import { IWorldObjectsManager } from "../../common/worldObject/IWorldObjectsManager";
2
2
  import { AltVWorldObject } from "./AltVWorldObject";
3
- import { AltVBaseObjectsManager } from "../baseObject/AltVBaseObjectsManager";
3
+ import { AltVBaseObjectsManager, IAltVBaseObjectsManagerOptions } from "../baseObject/AltVBaseObjectsManager";
4
4
  import { AltVWorldObjectsIterator } from "./AltVWorldObjectsIterator";
5
- export declare abstract class AltVWorldObjectsManager<T extends AltVWorldObject> extends AltVBaseObjectsManager<T> implements IWorldObjectsManager<T> {
5
+ import WorldObject = AltVServer.WorldObject;
6
+ export interface IAltVWorldObjectsManagerOptions extends IAltVBaseObjectsManagerOptions {
7
+ }
8
+ export declare abstract class AltVWorldObjectsManager<T extends AltVWorldObject<WorldObject>> extends AltVBaseObjectsManager<T> implements IWorldObjectsManager<T> {
6
9
  protected readonly _iterator: AltVWorldObjectsIterator<T>;
7
10
  get iterator(): AltVWorldObjectsIterator<T>;
8
- protected constructor(options: IWorldObjectsManagerOptions);
11
+ protected constructor(options: IAltVWorldObjectsManagerOptions);
9
12
  }
@@ -1,13 +1,14 @@
1
+ import BaseObject = AltVServer.BaseObject;
1
2
  export declare enum BaseObjectType {
2
3
  Player = "player",
3
4
  Vehicle = "vehicle"
4
5
  }
5
6
  export interface IBaseObjectOptions {
6
- id: number;
7
- type: BaseObjectType;
7
+ mpEntity: EntityMp | BaseObject;
8
8
  }
9
9
  export interface IBaseObject {
10
- id: number;
11
- type: BaseObjectType;
10
+ get id(): number;
11
+ get type(): BaseObjectType;
12
+ get isExists(): boolean;
12
13
  destroy(): void;
13
14
  }
@@ -3,6 +3,8 @@ import { IBaseObjectsIterator } from "./IBaseObjectsIterator";
3
3
  export interface IBaseObjectsManagerOptions {
4
4
  baseObjectsType: `${BaseObjectType}`;
5
5
  }
6
+ export interface IBaseObjectCreateOptions {
7
+ }
6
8
  export interface IBaseObjectsManager<T extends IBaseObject> {
7
9
  get iterator(): IBaseObjectsIterator<T>;
8
10
  getByID(id: number): T;
@@ -0,0 +1,3 @@
1
+ export * from "./IBaseObject";
2
+ export * from "./IBaseObjectsIterator";
3
+ export * from "./IBaseObjectsManager";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IBaseObject"), exports);
18
+ __exportStar(require("./IBaseObjectsIterator"), exports);
19
+ __exportStar(require("./IBaseObjectsManager"), exports);
@@ -1,6 +1,11 @@
1
- import { IWorldObjectsManager, IWorldObjectsManagerOptions } from "../worldObject/IWorldObjectsManager";
1
+ import { IWorldObjectCreateOptions, IWorldObjectsManager, IWorldObjectsManagerOptions } from "../worldObject/IWorldObjectsManager";
2
2
  import { IEntity } from "./IEntity";
3
+ import { IVector3D } from "../../../common/utils";
3
4
  export interface IEntitiesManagerOptions extends IWorldObjectsManagerOptions {
4
5
  }
6
+ export interface IEntityCreateOptions extends IWorldObjectCreateOptions {
7
+ model: string;
8
+ rotation: IVector3D;
9
+ }
5
10
  export interface IEntitiesManager<T extends IEntity> extends IWorldObjectsManager<T> {
6
11
  }
@@ -1,8 +1,10 @@
1
1
  import { IWorldObject, IWorldObjectOptions } from "../worldObject/IWorldObject";
2
+ import { IVector3D } from "../../../common/utils";
2
3
  export interface IEntityOptions extends IWorldObjectOptions {
3
- model: string;
4
4
  }
5
5
  export interface IEntity extends IWorldObject {
6
- get model(): string;
6
+ get model(): number;
7
+ get rotation(): IVector3D;
7
8
  setModel(value: string): void;
9
+ setRotation(value: IVector3D): void;
8
10
  }
@@ -0,0 +1,2 @@
1
+ export * from "./IEntitiesManager";
2
+ export * from "./IEntity";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IEntitiesManager"), exports);
18
+ __exportStar(require("./IEntity"), exports);
@@ -0,0 +1,5 @@
1
+ export * from "./baseObject";
2
+ export * from "./entity";
3
+ export * from "./player";
4
+ export * from "./vehicle";
5
+ export * from "./worldObject";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./baseObject"), exports);
18
+ __exportStar(require("./entity"), exports);
19
+ __exportStar(require("./player"), exports);
20
+ __exportStar(require("./vehicle"), exports);
21
+ __exportStar(require("./worldObject"), exports);
@@ -1,12 +1,59 @@
1
1
  import { IEntity, IEntityOptions } from "../entity/IEntity";
2
+ import { IVehicle } from "../vehicle/IVehicle";
3
+ import { IVector3D } from "../../../common/utils/math/Vectors";
4
+ import { INetClientEvents } from "../../../net/common/events/IEventsManager";
5
+ import { INetClientRPC } from "../../../net/common/rpc/IRPCManager";
6
+ export interface ICustomization {
7
+ gender: boolean;
8
+ shapeFirst: number;
9
+ shapeSecond: number;
10
+ shapeThird: number;
11
+ skinFirst: number;
12
+ skinSecond: number;
13
+ skinThird: number;
14
+ shapeMix: number;
15
+ skinMix: number;
16
+ thirdMix: number;
17
+ eyeColor: number;
18
+ hairColor: number;
19
+ highlightColor: number;
20
+ faceFeatures: number[];
21
+ }
2
22
  export interface IPlayerOptions extends IEntityOptions {
3
- name: string;
4
- socialClub: string;
5
23
  }
6
24
  export interface IPlayer extends IEntity {
7
25
  get name(): string;
8
26
  get socialClub(): string;
27
+ get heading(): number;
9
28
  get health(): number;
10
- setName(value: string): void;
29
+ get armour(): number;
30
+ get ip(): string;
31
+ get serial(): string;
32
+ get vehicle(): IVehicle | null;
33
+ get seat(): number;
34
+ get weapon(): number;
35
+ get weaponAmmo(): number;
36
+ get eyeColor(): number;
37
+ get streamedPlayers(): IPlayer[];
38
+ emitEvent<K extends keyof INetClientEvents>(eventName: K, ...args: Parameters<INetClientEvents[K]>): void;
39
+ emitRPC<K extends keyof INetClientEvents>(rpcName: K, ...args: Parameters<INetClientEvents[K]>): Promise<ReturnType<INetClientRPC[K]>>;
40
+ spawn(position: IVector3D): void;
41
+ setName(name: string): void;
42
+ setHeading(value: number): void;
11
43
  setHealth(value: number): void;
44
+ setArmour(value: number): void;
45
+ setWeaponAmmo(weapon: string, ammo: number): void;
46
+ giveWeapon(weapon: string, ammo: number): void;
47
+ removeWeapon(weapon: string): void;
48
+ enableVoiceTo(player: IPlayer): void;
49
+ disableVoiceTo(player: IPlayer): void;
50
+ putIntoVehicle(vehicle: IVehicle, seat?: number): void;
51
+ ejectFromVehicle(): void;
52
+ setCustomization(data: ICustomization): void;
53
+ setHeadOverlay(overlayID: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
54
+ setEyeColor(colorID: number): void;
55
+ setProp(propID: number, drawableID: number, textureID: number): void;
56
+ setClothes(componentID: number, drawableID: number, textureID: number, paletteID: number): void;
57
+ setHairColor(colorID: number, highlightColorID: number): void;
58
+ kick(reason?: string): void;
12
59
  }
@@ -0,0 +1,2 @@
1
+ export * from "./IPlayer";
2
+ export * from "./IPlayersManager";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IPlayer"), exports);
18
+ __exportStar(require("./IPlayersManager"), exports);