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.
- package/LICENSE +21 -21
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/server/RockMod.d.ts +11 -5
- package/dist/server/RockMod.js +61 -19
- package/dist/server/common/utils/color/RGBA.d.ts +17 -0
- package/dist/server/common/utils/color/RGBA.js +28 -0
- package/dist/server/common/utils/color/index.d.ts +1 -0
- package/dist/server/common/utils/color/index.js +17 -0
- package/dist/server/common/utils/index.d.ts +2 -0
- package/dist/server/common/utils/index.js +18 -0
- package/dist/server/common/utils/math/Math.d.ts +6 -0
- package/dist/server/common/utils/math/Math.js +7 -0
- package/dist/server/common/utils/math/Vectors.d.ts +15 -2
- package/dist/server/common/utils/math/index.d.ts +1 -0
- package/dist/server/common/utils/math/index.js +17 -0
- package/dist/server/entities/altv/baseObject/AltVBaseObject.d.ts +9 -4
- package/dist/server/entities/altv/baseObject/AltVBaseObject.js +20 -6
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsIterator.d.ts +2 -1
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.d.ts +7 -2
- package/dist/server/entities/altv/baseObject/AltVBaseObjectsManager.js +14 -0
- package/dist/server/entities/altv/entity/AltVEntitiesManager.d.ts +2 -1
- package/dist/server/entities/altv/entity/AltVEntity.d.ts +11 -6
- package/dist/server/entities/altv/entity/AltVEntity.js +12 -4
- package/dist/server/entities/altv/player/AltVPlayer.d.ts +42 -8
- package/dist/server/entities/altv/player/AltVPlayer.js +114 -12
- package/dist/server/entities/altv/vehicle/AltVVehicle.d.ts +28 -5
- package/dist/server/entities/altv/vehicle/AltVVehicle.js +76 -4
- package/dist/server/entities/altv/vehicle/AltVVehiclesManager.d.ts +5 -1
- package/dist/server/entities/altv/vehicle/AltVVehiclesManager.js +12 -0
- package/dist/server/entities/altv/worldObject/AltVWorldObject.d.ts +9 -6
- package/dist/server/entities/altv/worldObject/AltVWorldObject.js +11 -6
- package/dist/server/entities/altv/worldObject/AltVWorldObjectsIterator.d.ts +2 -1
- package/dist/server/entities/altv/worldObject/AltVWorldObjectsManager.d.ts +7 -4
- package/dist/server/entities/common/baseObject/IBaseObject.d.ts +5 -4
- package/dist/server/entities/common/baseObject/IBaseObjectsManager.d.ts +2 -0
- package/dist/server/entities/common/baseObject/index.d.ts +3 -0
- package/dist/server/entities/common/baseObject/index.js +19 -0
- package/dist/server/entities/common/entity/IEntitiesManager.d.ts +6 -1
- package/dist/server/entities/common/entity/IEntity.d.ts +4 -2
- package/dist/server/entities/common/entity/index.d.ts +2 -0
- package/dist/server/entities/common/entity/index.js +18 -0
- package/dist/server/entities/common/index.d.ts +5 -0
- package/dist/server/entities/common/index.js +21 -0
- package/dist/server/entities/common/player/IPlayer.d.ts +50 -3
- package/dist/server/entities/common/player/index.d.ts +2 -0
- package/dist/server/entities/common/player/index.js +18 -0
- package/dist/server/entities/common/vehicle/IVehicle.d.ts +41 -0
- package/dist/server/entities/common/vehicle/IVehicle.js +22 -0
- package/dist/server/entities/common/vehicle/IVehiclesManager.d.ts +6 -1
- package/dist/server/entities/common/vehicle/index.d.ts +2 -0
- package/dist/server/entities/common/vehicle/index.js +18 -0
- package/dist/server/entities/common/worldObject/IWorldObject.d.ts +5 -5
- package/dist/server/entities/common/worldObject/IWorldObjectsManager.d.ts +6 -1
- package/dist/server/entities/common/worldObject/index.d.ts +3 -0
- package/dist/server/entities/common/worldObject/index.js +19 -0
- package/dist/server/entities/index.d.ts +1 -0
- package/dist/server/entities/index.js +17 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObject.d.ts +8 -4
- package/dist/server/entities/ragemp/baseObject/RageBaseObject.js +10 -6
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +6 -2
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +14 -0
- package/dist/server/entities/ragemp/entity/RageEntitiesManager.d.ts +6 -4
- package/dist/server/entities/ragemp/entity/RageEntity.d.ts +10 -6
- package/dist/server/entities/ragemp/entity/RageEntity.js +10 -4
- package/dist/server/entities/ragemp/player/RagePlayer.d.ts +41 -8
- package/dist/server/entities/ragemp/player/RagePlayer.js +106 -12
- package/dist/server/entities/ragemp/player/RagePlayersManager.d.ts +1 -0
- package/dist/server/entities/ragemp/player/RagePlayersManager.js +21 -0
- package/dist/server/entities/ragemp/vehicle/RageVehicle.d.ts +27 -5
- package/dist/server/entities/ragemp/vehicle/RageVehicle.js +72 -4
- package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.d.ts +4 -1
- package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +14 -0
- package/dist/server/entities/ragemp/worldObject/RageWorldObject.d.ts +8 -6
- package/dist/server/entities/ragemp/worldObject/RageWorldObject.js +10 -6
- package/dist/server/entities/ragemp/worldObject/RageWorldObjectsIterator.d.ts +1 -1
- package/dist/server/entities/ragemp/worldObject/RageWorldObjectsManager.d.ts +6 -4
- package/dist/server/factories/altv/AltVManagersFactory.d.ts +9 -0
- package/dist/server/{entities → factories}/altv/AltVManagersFactory.js +6 -2
- package/dist/server/factories/common/IManagersFactory.d.ts +8 -0
- package/dist/server/factories/ragemp/RageManagersFactory.d.ts +9 -0
- package/dist/server/{entities → factories}/ragemp/RageManagersFactory.js +6 -2
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.js +19 -0
- package/dist/server/net/altv/AltVNetManager.d.ts +10 -0
- package/dist/server/net/altv/AltVNetManager.js +20 -0
- package/dist/server/net/altv/events/AltVEventsManager.d.ts +16 -0
- package/dist/server/net/altv/events/AltVEventsManager.js +28 -0
- package/dist/server/net/altv/rpc/AltVRPCManager.d.ts +12 -0
- package/dist/server/net/altv/rpc/AltVRPCManager.js +23 -0
- package/dist/server/net/common/INetManager.d.ts +6 -0
- package/dist/server/net/common/INetManager.js +2 -0
- package/dist/server/net/common/events/IEventsManager.d.ts +16 -0
- package/dist/server/net/common/events/IEventsManager.js +2 -0
- package/dist/server/net/common/rpc/IRPCManager.d.ts +10 -0
- package/dist/server/net/common/rpc/IRPCManager.js +2 -0
- package/dist/server/net/ragemp/RageNetManager.d.ts +10 -0
- package/dist/server/net/ragemp/RageNetManager.js +20 -0
- package/dist/server/net/ragemp/events/RageEventsManager.d.ts +19 -0
- package/dist/server/net/ragemp/events/RageEventsManager.js +24 -0
- package/dist/server/net/ragemp/rpc/RageRPCManager.d.ts +11 -0
- package/dist/server/net/ragemp/rpc/RageRPCManager.js +19 -0
- package/package.json +62 -53
- package/dist/server/entities/altv/AltVManagersFactory.d.ts +0 -7
- package/dist/server/entities/common/IManagersFactory.d.ts +0 -6
- package/dist/server/entities/ragemp/RageManagersFactory.d.ts +0 -7
- /package/dist/server/{entities → factories}/common/IManagersFactory.js +0 -0
|
@@ -1,7 +1,48 @@
|
|
|
1
1
|
import { IEntity, IEntityOptions } from "../entity/IEntity";
|
|
2
|
+
import { IRGBA } from "../../../common/utils";
|
|
3
|
+
import { IPlayer } from "../player";
|
|
4
|
+
export declare enum VehicleSeat {
|
|
5
|
+
NONE = 255,
|
|
6
|
+
DRIVER = 256,
|
|
7
|
+
PASSENGER_1 = 257,
|
|
8
|
+
PASSENGER_2 = 258,
|
|
9
|
+
PASSENGER_3 = 259,
|
|
10
|
+
PASSENGER_4 = 260,
|
|
11
|
+
PASSENGER_5 = 261,
|
|
12
|
+
PASSENGER_6 = 262,
|
|
13
|
+
PASSENGER_7 = 263,
|
|
14
|
+
PASSENGER_8 = 264,
|
|
15
|
+
PASSENGER_9 = 265,
|
|
16
|
+
PASSENGER_10 = 266,
|
|
17
|
+
PASSENGER_11 = 267,
|
|
18
|
+
PASSENGER_12 = 268,
|
|
19
|
+
PASSENGER_13 = 269,
|
|
20
|
+
PASSENGER_14 = 270,
|
|
21
|
+
PASSENGER_15 = 271,
|
|
22
|
+
PASSENGER_16 = 272
|
|
23
|
+
}
|
|
2
24
|
export interface IVehicleOptions extends IEntityOptions {
|
|
3
25
|
}
|
|
4
26
|
export interface IVehicle extends IEntity {
|
|
5
27
|
get bodyHealth(): number;
|
|
28
|
+
get engineHealth(): number;
|
|
29
|
+
get numberPlate(): string;
|
|
30
|
+
get isLocked(): boolean;
|
|
31
|
+
get isDead(): boolean;
|
|
32
|
+
get primaryColor(): number;
|
|
33
|
+
get secondaryColor(): number;
|
|
34
|
+
get customPrimaryColor(): IRGBA;
|
|
35
|
+
get customSecondaryColor(): IRGBA;
|
|
36
|
+
get driver(): IPlayer | null;
|
|
37
|
+
get passengers(): Set<IPlayer>;
|
|
6
38
|
setBodyHealth(value: number): void;
|
|
39
|
+
setEngineHealth(value: number): void;
|
|
40
|
+
setNumberPlate(value: string): void;
|
|
41
|
+
setLocked(value: boolean): void;
|
|
42
|
+
setPrimaryColor(value: number): void;
|
|
43
|
+
setSecondaryColor(value: number): void;
|
|
44
|
+
setCustomPrimaryColor(value: IRGBA): void;
|
|
45
|
+
setCustomSecondaryColor(value: IRGBA): void;
|
|
46
|
+
explode(): void;
|
|
47
|
+
repair(): void;
|
|
7
48
|
}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VehicleSeat = void 0;
|
|
4
|
+
var VehicleSeat;
|
|
5
|
+
(function (VehicleSeat) {
|
|
6
|
+
VehicleSeat[VehicleSeat["NONE"] = 255] = "NONE";
|
|
7
|
+
VehicleSeat[VehicleSeat["DRIVER"] = 256] = "DRIVER";
|
|
8
|
+
VehicleSeat[VehicleSeat["PASSENGER_1"] = 257] = "PASSENGER_1";
|
|
9
|
+
VehicleSeat[VehicleSeat["PASSENGER_2"] = 258] = "PASSENGER_2";
|
|
10
|
+
VehicleSeat[VehicleSeat["PASSENGER_3"] = 259] = "PASSENGER_3";
|
|
11
|
+
VehicleSeat[VehicleSeat["PASSENGER_4"] = 260] = "PASSENGER_4";
|
|
12
|
+
VehicleSeat[VehicleSeat["PASSENGER_5"] = 261] = "PASSENGER_5";
|
|
13
|
+
VehicleSeat[VehicleSeat["PASSENGER_6"] = 262] = "PASSENGER_6";
|
|
14
|
+
VehicleSeat[VehicleSeat["PASSENGER_7"] = 263] = "PASSENGER_7";
|
|
15
|
+
VehicleSeat[VehicleSeat["PASSENGER_8"] = 264] = "PASSENGER_8";
|
|
16
|
+
VehicleSeat[VehicleSeat["PASSENGER_9"] = 265] = "PASSENGER_9";
|
|
17
|
+
VehicleSeat[VehicleSeat["PASSENGER_10"] = 266] = "PASSENGER_10";
|
|
18
|
+
VehicleSeat[VehicleSeat["PASSENGER_11"] = 267] = "PASSENGER_11";
|
|
19
|
+
VehicleSeat[VehicleSeat["PASSENGER_12"] = 268] = "PASSENGER_12";
|
|
20
|
+
VehicleSeat[VehicleSeat["PASSENGER_13"] = 269] = "PASSENGER_13";
|
|
21
|
+
VehicleSeat[VehicleSeat["PASSENGER_14"] = 270] = "PASSENGER_14";
|
|
22
|
+
VehicleSeat[VehicleSeat["PASSENGER_15"] = 271] = "PASSENGER_15";
|
|
23
|
+
VehicleSeat[VehicleSeat["PASSENGER_16"] = 272] = "PASSENGER_16";
|
|
24
|
+
})(VehicleSeat || (exports.VehicleSeat = VehicleSeat = {}));
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { IEntitiesManager } from "../entity/IEntitiesManager";
|
|
1
|
+
import { IEntitiesManager, IEntityCreateOptions } from "../entity/IEntitiesManager";
|
|
2
2
|
import { IVehicle } from "./IVehicle";
|
|
3
|
+
export interface IVehicleCreateOptions extends IEntityCreateOptions {
|
|
4
|
+
engine: boolean;
|
|
5
|
+
locked: boolean;
|
|
6
|
+
}
|
|
3
7
|
export interface IVehiclesManager extends IEntitiesManager<IVehicle> {
|
|
8
|
+
create(options: IVehicleCreateOptions): IVehicle;
|
|
4
9
|
}
|
|
@@ -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("./IVehicle"), exports);
|
|
18
|
+
__exportStar(require("./IVehiclesManager"), exports);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { IBaseObject, IBaseObjectOptions } from "../baseObject/IBaseObject";
|
|
2
|
-
import {
|
|
2
|
+
import { IVector3D } from "../../../common/utils/math/Vectors";
|
|
3
3
|
export interface IWorldObjectOptions extends IBaseObjectOptions {
|
|
4
|
-
position: Vector3D;
|
|
5
|
-
dimension: number;
|
|
6
4
|
}
|
|
7
5
|
export interface IWorldObject extends IBaseObject {
|
|
8
|
-
position:
|
|
9
|
-
dimension: number;
|
|
6
|
+
get position(): IVector3D;
|
|
7
|
+
get dimension(): number;
|
|
8
|
+
setPosition(value: IVector3D): void;
|
|
9
|
+
setDimension(value: number): void;
|
|
10
10
|
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../baseObject/IBaseObjectsManager";
|
|
1
|
+
import { IBaseObjectCreateOptions, IBaseObjectsManager, IBaseObjectsManagerOptions } from "../baseObject/IBaseObjectsManager";
|
|
2
2
|
import { IWorldObject } from "./IWorldObject";
|
|
3
3
|
import { IWorldObjectsIterator } from "./IWorldObjectsIterator";
|
|
4
|
+
import { IVector3D } from "../../../common/utils";
|
|
4
5
|
export interface IWorldObjectsManagerOptions extends IBaseObjectsManagerOptions {
|
|
5
6
|
}
|
|
7
|
+
export interface IWorldObjectCreateOptions extends IBaseObjectCreateOptions {
|
|
8
|
+
position: IVector3D;
|
|
9
|
+
dimension: number;
|
|
10
|
+
}
|
|
6
11
|
export interface IWorldObjectsManager<T extends IWorldObject> extends IBaseObjectsManager<T> {
|
|
7
12
|
get iterator(): IWorldObjectsIterator<T>;
|
|
8
13
|
}
|
|
@@ -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("./IWorldObject"), exports);
|
|
18
|
+
__exportStar(require("./IWorldObjectsIterator"), exports);
|
|
19
|
+
__exportStar(require("./IWorldObjectsManager"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./common";
|
|
@@ -0,0 +1,17 @@
|
|
|
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("./common"), exports);
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { BaseObjectType, IBaseObject, IBaseObjectOptions } from "../../common/baseObject/IBaseObject";
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export interface IRageBaseObjectOptions<T extends EntityMp> extends IBaseObjectOptions {
|
|
3
|
+
mpEntity: T;
|
|
4
|
+
}
|
|
5
|
+
export declare abstract class RageBaseObject<T extends EntityMp = EntityMp> implements IBaseObject {
|
|
6
|
+
private readonly _mpEntity;
|
|
5
7
|
get id(): number;
|
|
6
8
|
get type(): BaseObjectType;
|
|
7
|
-
|
|
9
|
+
get isExists(): boolean;
|
|
10
|
+
protected get mpEntity(): T;
|
|
11
|
+
protected constructor(options: IRageBaseObjectOptions<T>);
|
|
8
12
|
destroy(): void;
|
|
9
13
|
}
|
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RageBaseObject = void 0;
|
|
4
4
|
class RageBaseObject {
|
|
5
|
-
|
|
6
|
-
_type;
|
|
5
|
+
_mpEntity;
|
|
7
6
|
get id() {
|
|
8
|
-
return this.
|
|
7
|
+
return this._mpEntity.id;
|
|
9
8
|
}
|
|
10
9
|
get type() {
|
|
11
|
-
return this.
|
|
10
|
+
return this._mpEntity.type;
|
|
11
|
+
}
|
|
12
|
+
get isExists() {
|
|
13
|
+
return this._mpEntity.isExists();
|
|
14
|
+
}
|
|
15
|
+
get mpEntity() {
|
|
16
|
+
return this._mpEntity;
|
|
12
17
|
}
|
|
13
18
|
constructor(options) {
|
|
14
|
-
this.
|
|
15
|
-
this._type = options.type;
|
|
19
|
+
this._mpEntity = options.mpEntity;
|
|
16
20
|
}
|
|
17
21
|
destroy() {
|
|
18
22
|
console.log("destroy");
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { IBaseObjectsManager, IBaseObjectsManagerOptions } from "../../common/baseObject/IBaseObjectsManager";
|
|
2
2
|
import { RageBaseObject } from "./RageBaseObject";
|
|
3
3
|
import { RageBaseObjectsIterator } from "./RageBaseObjectsIterator";
|
|
4
|
-
export
|
|
4
|
+
export interface IRageBaseObjectsManagerOptions extends IBaseObjectsManagerOptions {
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class RageBaseObjectsManager<T extends RageBaseObject<EntityMp>> implements IBaseObjectsManager<RageBaseObject<EntityMp>> {
|
|
5
7
|
private readonly _baseObjects;
|
|
6
8
|
private readonly _baseObjectsType;
|
|
7
9
|
protected readonly _iterator: RageBaseObjectsIterator<T>;
|
|
8
10
|
protected get baseObjects(): ReadonlyMap<number, T>;
|
|
9
11
|
get iterator(): RageBaseObjectsIterator<T>;
|
|
10
|
-
protected constructor(options:
|
|
12
|
+
protected constructor(options: IRageBaseObjectsManagerOptions);
|
|
11
13
|
getByID(id: number): T;
|
|
12
14
|
findByID(id: number): T | null;
|
|
15
|
+
protected registerBaseObject(baseObject: T): void;
|
|
16
|
+
protected unregisterBaseObject(baseObject: T): void;
|
|
13
17
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RageBaseObjectsManager = void 0;
|
|
4
4
|
const RageBaseObjectsIterator_1 = require("./RageBaseObjectsIterator");
|
|
5
|
+
const RockMod_1 = require("../../../RockMod");
|
|
5
6
|
class RageBaseObjectsManager {
|
|
6
7
|
_baseObjects;
|
|
7
8
|
_baseObjectsType;
|
|
@@ -28,5 +29,18 @@ class RageBaseObjectsManager {
|
|
|
28
29
|
const baseObject = this._baseObjects.get(id);
|
|
29
30
|
return baseObject ?? null;
|
|
30
31
|
}
|
|
32
|
+
registerBaseObject(baseObject) {
|
|
33
|
+
if (this._baseObjects.has(baseObject.id)) {
|
|
34
|
+
throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} already exists`);
|
|
35
|
+
}
|
|
36
|
+
this._baseObjects.set(baseObject.id, baseObject);
|
|
37
|
+
RockMod_1.RockMod.instance.net.events.emit("rm::entityCreated", baseObject);
|
|
38
|
+
}
|
|
39
|
+
unregisterBaseObject(baseObject) {
|
|
40
|
+
if (!this._baseObjects.delete(baseObject.id)) {
|
|
41
|
+
throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} not found`);
|
|
42
|
+
}
|
|
43
|
+
RockMod_1.RockMod.instance.net.events.emit("rm::entityDestroyed", baseObject);
|
|
44
|
+
}
|
|
31
45
|
}
|
|
32
46
|
exports.RageBaseObjectsManager = RageBaseObjectsManager;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { IEntitiesManager
|
|
1
|
+
import { IEntitiesManager } from "../../common/entity/IEntitiesManager";
|
|
2
2
|
import { RageEntity } from "./RageEntity";
|
|
3
|
-
import { RageWorldObjectsManager } from "../worldObject/RageWorldObjectsManager";
|
|
4
|
-
export
|
|
5
|
-
|
|
3
|
+
import { IRageWorldObjectsManagerOptions, RageWorldObjectsManager } from "../worldObject/RageWorldObjectsManager";
|
|
4
|
+
export interface IRageEntitiesManagerOptions extends IRageWorldObjectsManagerOptions {
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class RageEntitiesManager<T extends RageEntity<EntityMp>> extends RageWorldObjectsManager<T> implements IEntitiesManager<T> {
|
|
7
|
+
protected constructor(options: IRageEntitiesManagerOptions);
|
|
6
8
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { IEntity
|
|
2
|
-
import { RageWorldObject } from "../worldObject/RageWorldObject";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { IEntity } from "../../common/entity/IEntity";
|
|
2
|
+
import { IRageWorldObjectOptions, RageWorldObject } from "../worldObject/RageWorldObject";
|
|
3
|
+
import { Vector3D } from "../../../common/utils";
|
|
4
|
+
export interface IRageEntityOptions<T extends EntityMp> extends IRageWorldObjectOptions<T> {
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class RageEntity<T extends EntityMp> extends RageWorldObject<T> implements IEntity {
|
|
7
|
+
get model(): number;
|
|
8
|
+
get rotation(): Vector3D;
|
|
9
|
+
protected constructor(options: IRageEntityOptions<T>);
|
|
7
10
|
setModel(value: string): void;
|
|
11
|
+
setRotation(value: Vector3D): void;
|
|
8
12
|
}
|
|
@@ -2,17 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RageEntity = void 0;
|
|
4
4
|
const RageWorldObject_1 = require("../worldObject/RageWorldObject");
|
|
5
|
+
const utils_1 = require("../../../common/utils");
|
|
5
6
|
class RageEntity extends RageWorldObject_1.RageWorldObject {
|
|
6
|
-
_model;
|
|
7
7
|
get model() {
|
|
8
|
-
return this.
|
|
8
|
+
return this.mpEntity.model;
|
|
9
|
+
}
|
|
10
|
+
get rotation() {
|
|
11
|
+
const { x, y, z } = this.mpEntity.rotation;
|
|
12
|
+
return new utils_1.Vector3D(x, y, z);
|
|
9
13
|
}
|
|
10
14
|
constructor(options) {
|
|
11
15
|
super(options);
|
|
12
|
-
this._model = options.model;
|
|
13
16
|
}
|
|
14
17
|
setModel(value) {
|
|
15
|
-
this.
|
|
18
|
+
this.mpEntity.model = mp.joaat(value);
|
|
19
|
+
}
|
|
20
|
+
setRotation(value) {
|
|
21
|
+
this.mpEntity.rotation = new mp.Vector3(value);
|
|
16
22
|
}
|
|
17
23
|
}
|
|
18
24
|
exports.RageEntity = RageEntity;
|
|
@@ -1,13 +1,46 @@
|
|
|
1
|
-
import { RageEntity } from "../entity/RageEntity";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { IRageEntityOptions, RageEntity } from "../entity/RageEntity";
|
|
2
|
+
import { ICustomization, IPlayer } from "../../common/player/IPlayer";
|
|
3
|
+
import { RageVehicle } from "../vehicle/RageVehicle";
|
|
4
|
+
import { Vector3D } from "../../../common/utils/math/Vectors";
|
|
5
|
+
import { IRageClientEvents } from "../../../net/ragemp/events/RageEventsManager";
|
|
6
|
+
import { IRageClientRPC } from "../../../net/ragemp/rpc/RageRPCManager";
|
|
7
|
+
interface IRagePlayerOptions extends IRageEntityOptions<PlayerMp> {
|
|
8
|
+
}
|
|
9
|
+
export declare class RagePlayer extends RageEntity<PlayerMp> implements IPlayer {
|
|
7
10
|
get name(): string;
|
|
8
11
|
get socialClub(): string;
|
|
12
|
+
get heading(): number;
|
|
9
13
|
get health(): number;
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
get armour(): number;
|
|
15
|
+
get ip(): string;
|
|
16
|
+
get serial(): string;
|
|
17
|
+
get vehicle(): RageVehicle | null;
|
|
18
|
+
get seat(): number;
|
|
19
|
+
get weapon(): number;
|
|
20
|
+
get weaponAmmo(): number;
|
|
21
|
+
get eyeColor(): number;
|
|
22
|
+
get streamedPlayers(): RagePlayer[];
|
|
23
|
+
constructor(options: IRagePlayerOptions);
|
|
24
|
+
emitEvent<K extends keyof IRageClientEvents>(eventName: K, ...args: Parameters<IRageClientEvents[K]>): void;
|
|
25
|
+
emitRPC<K extends keyof IRageClientRPC>(rpcName: K, ...args: Parameters<IRageClientRPC[K]>): Promise<ReturnType<IRageClientRPC[K]>>;
|
|
26
|
+
spawn(position: Vector3D): void;
|
|
27
|
+
setName(name: string): void;
|
|
28
|
+
setHeading(value: number): void;
|
|
12
29
|
setHealth(value: number): void;
|
|
30
|
+
setArmour(value: number): void;
|
|
31
|
+
setWeaponAmmo(weapon: string, ammo: number): void;
|
|
32
|
+
giveWeapon(weapon: string, ammo: number): void;
|
|
33
|
+
removeWeapon(weapon: string): void;
|
|
34
|
+
enableVoiceTo(player: RagePlayer): void;
|
|
35
|
+
disableVoiceTo(player: RagePlayer): void;
|
|
36
|
+
putIntoVehicle(vehicle: RageVehicle, seat?: number): void;
|
|
37
|
+
ejectFromVehicle(): void;
|
|
38
|
+
setCustomization(data: ICustomization): void;
|
|
39
|
+
setHeadOverlay(overlayID: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
|
|
40
|
+
setEyeColor(colorID: number): void;
|
|
41
|
+
setProp(propID: number, drawableID: number, textureID: number): void;
|
|
42
|
+
setClothes(componentID: number, drawableID: number, textureID: number, paletteID: number): void;
|
|
43
|
+
setHairColor(colorID: number, highlightColorID: number): void;
|
|
44
|
+
kick(reason?: string): void;
|
|
13
45
|
}
|
|
46
|
+
export {};
|
|
@@ -2,30 +2,124 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RagePlayer = void 0;
|
|
4
4
|
const RageEntity_1 = require("../entity/RageEntity");
|
|
5
|
+
const RockMod_1 = require("../../../RockMod");
|
|
5
6
|
class RagePlayer extends RageEntity_1.RageEntity {
|
|
6
|
-
_name;
|
|
7
|
-
_socialClub;
|
|
8
|
-
_health;
|
|
9
7
|
get name() {
|
|
10
|
-
return this.
|
|
8
|
+
return this.mpEntity.name;
|
|
11
9
|
}
|
|
12
10
|
get socialClub() {
|
|
13
|
-
return this.
|
|
11
|
+
return this.mpEntity.socialClub;
|
|
12
|
+
}
|
|
13
|
+
get heading() {
|
|
14
|
+
return this.mpEntity.heading;
|
|
14
15
|
}
|
|
15
16
|
get health() {
|
|
16
|
-
return this.
|
|
17
|
+
return this.mpEntity.health;
|
|
18
|
+
}
|
|
19
|
+
get armour() {
|
|
20
|
+
return this.mpEntity.armour;
|
|
21
|
+
}
|
|
22
|
+
get ip() {
|
|
23
|
+
return this.mpEntity.ip;
|
|
24
|
+
}
|
|
25
|
+
get serial() {
|
|
26
|
+
return this.mpEntity.serial;
|
|
27
|
+
}
|
|
28
|
+
get vehicle() {
|
|
29
|
+
const mpVehicle = this.mpEntity.vehicle;
|
|
30
|
+
if (!mpVehicle) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return RockMod_1.RockMod.instance.vehicles.getByID(mpVehicle.id);
|
|
34
|
+
}
|
|
35
|
+
get seat() {
|
|
36
|
+
return this.mpEntity.seat;
|
|
37
|
+
}
|
|
38
|
+
get weapon() {
|
|
39
|
+
return this.mpEntity.weapon;
|
|
40
|
+
}
|
|
41
|
+
get weaponAmmo() {
|
|
42
|
+
return this.mpEntity.weaponAmmo;
|
|
43
|
+
}
|
|
44
|
+
get eyeColor() {
|
|
45
|
+
return this.mpEntity.eyeColor;
|
|
46
|
+
}
|
|
47
|
+
get streamedPlayers() {
|
|
48
|
+
const players = [];
|
|
49
|
+
for (const mpEntity of this.mpEntity.streamedPlayers) {
|
|
50
|
+
players.push(RockMod_1.RockMod.instance.players.getByID(mpEntity.id));
|
|
51
|
+
}
|
|
52
|
+
return players;
|
|
17
53
|
}
|
|
18
54
|
constructor(options) {
|
|
19
55
|
super(options);
|
|
20
|
-
this._name = options.name;
|
|
21
|
-
this._socialClub = options.socialClub;
|
|
22
|
-
this._health = 100;
|
|
23
56
|
}
|
|
24
|
-
|
|
25
|
-
this
|
|
57
|
+
emitEvent(eventName, ...args) {
|
|
58
|
+
return RockMod_1.RockMod.instance.net.events.emitClient(this, eventName, ...args);
|
|
59
|
+
}
|
|
60
|
+
emitRPC(rpcName, ...args) {
|
|
61
|
+
return RockMod_1.RockMod.instance.net.rpc.emitClient(this, rpcName, ...args);
|
|
62
|
+
}
|
|
63
|
+
spawn(position) {
|
|
64
|
+
return this.mpEntity.spawn(new mp.Vector3(position));
|
|
65
|
+
}
|
|
66
|
+
setName(name) {
|
|
67
|
+
this.mpEntity.name = name;
|
|
68
|
+
}
|
|
69
|
+
setHeading(value) {
|
|
70
|
+
this.mpEntity.heading = value;
|
|
26
71
|
}
|
|
27
72
|
setHealth(value) {
|
|
28
|
-
this.
|
|
73
|
+
this.mpEntity.health = Math.clamp(value, 0, 100);
|
|
74
|
+
}
|
|
75
|
+
setArmour(value) {
|
|
76
|
+
this.mpEntity.armour = Math.clamp(value, 0, 100);
|
|
77
|
+
}
|
|
78
|
+
setWeaponAmmo(weapon, ammo) {
|
|
79
|
+
return this.mpEntity.setWeaponAmmo(mp.joaat(weapon), ammo);
|
|
80
|
+
}
|
|
81
|
+
giveWeapon(weapon, ammo) {
|
|
82
|
+
return this.mpEntity.giveWeapon(weapon, ammo);
|
|
83
|
+
}
|
|
84
|
+
removeWeapon(weapon) {
|
|
85
|
+
return this.mpEntity.removeWeapon(weapon);
|
|
86
|
+
}
|
|
87
|
+
enableVoiceTo(player) {
|
|
88
|
+
const mpPlayer = mp.players.at(player.id);
|
|
89
|
+
return this.mpEntity.enableVoiceTo(mpPlayer);
|
|
90
|
+
}
|
|
91
|
+
disableVoiceTo(player) {
|
|
92
|
+
const mpPlayer = mp.players.at(player.id);
|
|
93
|
+
return this.mpEntity.disableVoiceTo(mpPlayer);
|
|
94
|
+
}
|
|
95
|
+
putIntoVehicle(vehicle, seat) {
|
|
96
|
+
const mpVehicle = mp.vehicles.at(vehicle.id);
|
|
97
|
+
return this.mpEntity.putIntoVehicle(mpVehicle, seat || 0);
|
|
98
|
+
}
|
|
99
|
+
ejectFromVehicle() {
|
|
100
|
+
return this.mpEntity.removeFromVehicle();
|
|
101
|
+
}
|
|
102
|
+
setCustomization(data) {
|
|
103
|
+
const { gender, shapeFirst, shapeSecond, shapeThird, skinFirst, skinSecond, skinThird, shapeMix, skinMix, thirdMix, eyeColor, hairColor, highlightColor, faceFeatures, } = data;
|
|
104
|
+
return this.mpEntity.setCustomization(gender, shapeFirst, shapeSecond, shapeThird, skinFirst, skinSecond, skinThird, shapeMix, skinMix, thirdMix, eyeColor, hairColor, highlightColor, faceFeatures);
|
|
105
|
+
}
|
|
106
|
+
setHeadOverlay(overlayID, index, opacity, firstColor, secondColor) {
|
|
107
|
+
return this.mpEntity.setHeadOverlay(overlayID, [index, opacity, firstColor, secondColor]);
|
|
108
|
+
}
|
|
109
|
+
setEyeColor(colorID) {
|
|
110
|
+
this.mpEntity.eyeColor = colorID;
|
|
111
|
+
}
|
|
112
|
+
setProp(propID, drawableID, textureID) {
|
|
113
|
+
return this.mpEntity.setProp(propID, drawableID, textureID);
|
|
114
|
+
}
|
|
115
|
+
setClothes(componentID, drawableID, textureID, paletteID) {
|
|
116
|
+
return this.mpEntity.setClothes(componentID, drawableID, textureID, paletteID);
|
|
117
|
+
}
|
|
118
|
+
setHairColor(colorID, highlightColorID) {
|
|
119
|
+
return this.mpEntity.setHairColor(colorID, highlightColorID);
|
|
120
|
+
}
|
|
121
|
+
kick(reason) {
|
|
122
|
+
return this.mpEntity.kick(reason ?? "");
|
|
29
123
|
}
|
|
30
124
|
}
|
|
31
125
|
exports.RagePlayer = RagePlayer;
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RagePlayersManager = void 0;
|
|
4
4
|
const RageEntitiesManager_1 = require("../entity/RageEntitiesManager");
|
|
5
|
+
const RagePlayer_1 = require("./RagePlayer");
|
|
6
|
+
const RockMod_1 = require("../../../RockMod");
|
|
5
7
|
class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
|
|
6
8
|
constructor() {
|
|
7
9
|
super({
|
|
8
10
|
baseObjectsType: "player",
|
|
9
11
|
});
|
|
12
|
+
this._init();
|
|
10
13
|
}
|
|
11
14
|
getByName(name) {
|
|
12
15
|
const player = this.findByName(name);
|
|
@@ -38,5 +41,23 @@ class RagePlayersManager extends RageEntitiesManager_1.RageEntitiesManager {
|
|
|
38
41
|
}
|
|
39
42
|
return null;
|
|
40
43
|
}
|
|
44
|
+
_init() {
|
|
45
|
+
const net = RockMod_1.RockMod.instance.net;
|
|
46
|
+
net.events.on({
|
|
47
|
+
playerJoin: (mpPlayer) => {
|
|
48
|
+
mpPlayer.isExists = () => mp.players.exists(mpPlayer);
|
|
49
|
+
const player = new RagePlayer_1.RagePlayer({
|
|
50
|
+
mpEntity: mpPlayer,
|
|
51
|
+
});
|
|
52
|
+
this.registerBaseObject(player);
|
|
53
|
+
RockMod_1.RockMod.instance.net.events.emit("rm::playerConnected", player);
|
|
54
|
+
},
|
|
55
|
+
playerQuit: (mpPlayer) => {
|
|
56
|
+
const player = this.getByID(mpPlayer.id);
|
|
57
|
+
this.unregisterBaseObject(player);
|
|
58
|
+
net.events.emit("rm::playerDisconnected", player);
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
41
62
|
}
|
|
42
63
|
exports.RagePlayersManager = RagePlayersManager;
|
|
@@ -1,8 +1,30 @@
|
|
|
1
|
-
import { RageEntity } from "../entity/RageEntity";
|
|
2
|
-
import { IVehicle
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { IRageEntityOptions, RageEntity } from "../entity/RageEntity";
|
|
2
|
+
import { IVehicle } from "../../common/vehicle/IVehicle";
|
|
3
|
+
import { RGBA } from "../../../common/utils";
|
|
4
|
+
import { RagePlayer } from "../player/RagePlayer";
|
|
5
|
+
export interface IRageVehicleOptions extends IRageEntityOptions<VehicleMp> {
|
|
6
|
+
}
|
|
7
|
+
export declare class RageVehicle extends RageEntity<VehicleMp> implements IVehicle {
|
|
5
8
|
get bodyHealth(): number;
|
|
6
|
-
|
|
9
|
+
get engineHealth(): number;
|
|
10
|
+
get numberPlate(): string;
|
|
11
|
+
get isLocked(): boolean;
|
|
12
|
+
get isDead(): boolean;
|
|
13
|
+
get primaryColor(): number;
|
|
14
|
+
get secondaryColor(): number;
|
|
15
|
+
get customPrimaryColor(): RGBA;
|
|
16
|
+
get customSecondaryColor(): RGBA;
|
|
17
|
+
get driver(): RagePlayer | null;
|
|
18
|
+
get passengers(): Set<RagePlayer>;
|
|
19
|
+
constructor(options: IRageVehicleOptions);
|
|
7
20
|
setBodyHealth(value: number): void;
|
|
21
|
+
setEngineHealth(value: number): void;
|
|
22
|
+
setNumberPlate(value: string): void;
|
|
23
|
+
setLocked(value: boolean): void;
|
|
24
|
+
setPrimaryColor(value: number): void;
|
|
25
|
+
setSecondaryColor(value: number): void;
|
|
26
|
+
setCustomPrimaryColor(value: RGBA): void;
|
|
27
|
+
setCustomSecondaryColor(value: RGBA): void;
|
|
28
|
+
explode(): void;
|
|
29
|
+
repair(): void;
|
|
8
30
|
}
|