rock-mod 0.20.0 → 0.22.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/dist/client/RockMod.d.ts +1 -1
- package/dist/client/RockMod.js +4 -0
- package/dist/client/entities/ccmp/blip/CCMPBlip.d.ts +38 -0
- package/dist/client/entities/ccmp/blip/CCMPBlip.js +118 -0
- package/dist/client/entities/ccmp/blip/CCMPBlipsManager.d.ts +27 -0
- package/dist/client/entities/ccmp/blip/CCMPBlipsManager.js +191 -0
- package/dist/client/entities/ccmp/camera/CCMPCamera.d.ts +24 -0
- package/dist/client/entities/ccmp/camera/CCMPCamera.js +58 -0
- package/dist/client/entities/ccmp/camera/CCMPCameraManager.d.ts +16 -0
- package/dist/client/entities/ccmp/camera/CCMPCameraManager.js +51 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshape.d.ts +26 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshape.js +83 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshapesManager.d.ts +31 -0
- package/dist/client/entities/ccmp/colshape/CCMPColshapesManager.js +193 -0
- package/dist/client/entities/ccmp/marker/CCMPMarker.d.ts +34 -0
- package/dist/client/entities/ccmp/marker/CCMPMarker.js +109 -0
- package/dist/client/entities/ccmp/marker/CCMPMarkersManager.d.ts +27 -0
- package/dist/client/entities/ccmp/marker/CCMPMarkersManager.js +180 -0
- package/dist/client/entities/ccmp/object/CCMPObject.d.ts +53 -0
- package/dist/client/entities/ccmp/object/CCMPObject.js +218 -0
- package/dist/client/entities/ccmp/object/CCMPObjectsManager.d.ts +27 -0
- package/dist/client/entities/ccmp/object/CCMPObjectsManager.js +177 -0
- package/dist/client/entities/ccmp/ped/CCMPPed.d.ts +65 -0
- package/dist/client/entities/ccmp/ped/CCMPPed.js +199 -0
- package/dist/client/entities/ccmp/ped/CCMPPedsManager.d.ts +27 -0
- package/dist/client/entities/ccmp/ped/CCMPPedsManager.js +177 -0
- package/dist/client/entities/ccmp/player/CCMPPlayer.d.ts +112 -0
- package/dist/client/entities/ccmp/player/CCMPPlayer.js +338 -0
- package/dist/client/entities/ccmp/player/CCMPPlayersManager.d.ts +85 -0
- package/dist/client/entities/ccmp/player/CCMPPlayersManager.js +331 -0
- package/dist/client/entities/ccmp/vehicle/CCMPVehicle.d.ts +119 -0
- package/dist/client/entities/ccmp/vehicle/CCMPVehicle.js +392 -0
- package/dist/client/entities/ccmp/vehicle/CCMPVehiclesManager.d.ts +27 -0
- package/dist/client/entities/ccmp/vehicle/CCMPVehiclesManager.js +183 -0
- package/dist/client/entities/common/baseObject/IBaseObject.d.ts +2 -1
- package/dist/client/entities/common/entity/IEntity.d.ts +3 -0
- package/dist/client/entities/ragemp/entity/RageEntity.d.ts +7 -0
- package/dist/client/entities/ragemp/entity/RageEntity.js +45 -2
- package/dist/client/factories/ccmp/CCMPManagersFactory.d.ts +48 -0
- package/dist/client/factories/ccmp/CCMPManagersFactory.js +189 -0
- package/dist/client/factories/ccmp/createNotImplementedProxy.d.ts +1 -0
- package/dist/client/factories/ccmp/createNotImplementedProxy.js +24 -0
- package/dist/client/game/ccmp/browser/CCMPBrowserManager.d.ts +22 -0
- package/dist/client/game/ccmp/browser/CCMPBrowserManager.js +66 -0
- package/dist/client/game/ccmp/chat/CCMPChatManager.d.ts +26 -0
- package/dist/client/game/ccmp/chat/CCMPChatManager.js +41 -0
- package/dist/client/game/ccmp/controls/CCMPControlsManager.d.ts +33 -0
- package/dist/client/game/ccmp/controls/CCMPControlsManager.js +47 -0
- package/dist/client/game/ccmp/cursor/CCMPCursorManager.d.ts +6 -0
- package/dist/client/game/ccmp/cursor/CCMPCursorManager.js +15 -0
- package/dist/client/game/ccmp/gameplay/CCMPGameplayManager.d.ts +6 -0
- package/dist/client/game/ccmp/gameplay/CCMPGameplayManager.js +10 -0
- package/dist/client/game/ccmp/graphics/CCMPGraphicsManager.d.ts +58 -0
- package/dist/client/game/ccmp/graphics/CCMPGraphicsManager.js +112 -0
- package/dist/client/game/ccmp/gui/CCMPGuiManager.d.ts +5 -0
- package/dist/client/game/ccmp/gui/CCMPGuiManager.js +17 -0
- package/dist/client/game/ccmp/keys/CCMPKeysManager.d.ts +41 -0
- package/dist/client/game/ccmp/keys/CCMPKeysManager.js +94 -0
- package/dist/client/game/ccmp/nametags/CCMPNametagsManager.d.ts +4 -0
- package/dist/client/game/ccmp/nametags/CCMPNametagsManager.js +6 -0
- package/dist/client/game/ccmp/native/CCMPNativeCallerManager.d.ts +74 -0
- package/dist/client/game/ccmp/native/CCMPNativeCallerManager.js +129 -0
- package/dist/client/game/ccmp/native/_generated/nativeDispatch.d.ts +5 -0
- package/dist/client/game/ccmp/native/_generated/nativeDispatch.js +8123 -0
- package/dist/client/game/ccmp/object/CCMPGameObjectManager.d.ts +4 -0
- package/dist/client/game/ccmp/object/CCMPGameObjectManager.js +6 -0
- package/dist/client/game/ccmp/pathfind/CCMPPathfindManager.d.ts +26 -0
- package/dist/client/game/ccmp/pathfind/CCMPPathfindManager.js +31 -0
- package/dist/client/game/ccmp/raycasting/CCMPRaycastingManager.d.ts +10 -0
- package/dist/client/game/ccmp/raycasting/CCMPRaycastingManager.js +46 -0
- package/dist/client/game/ccmp/storage/CCMPStorageManager.d.ts +7 -0
- package/dist/client/game/ccmp/storage/CCMPStorageManager.js +14 -0
- package/dist/client/game/ccmp/streaming/CCMPStreamingManager.d.ts +17 -0
- package/dist/client/game/ccmp/streaming/CCMPStreamingManager.js +41 -0
- package/dist/client/game/ccmp/ui/CCMPUiManager.d.ts +41 -0
- package/dist/client/game/ccmp/ui/CCMPUiManager.js +69 -0
- package/dist/client/game/ccmp/zone/CCMPZoneManager.d.ts +19 -0
- package/dist/client/game/ccmp/zone/CCMPZoneManager.js +20 -0
- package/dist/client/game/common/browser/IBrowserManager.d.ts +7 -0
- package/dist/client/game/common/chat/IChatManager.d.ts +1 -0
- package/dist/client/game/common/controls/IControlsManager.d.ts +3 -0
- package/dist/client/game/common/graphics/IGraphicsManager.d.ts +17 -0
- package/dist/client/game/common/streaming/IStreamingManager.d.ts +2 -0
- package/dist/client/game/ragemp/browser/RageBrowserManager.d.ts +2 -1
- package/dist/client/game/ragemp/browser/RageBrowserManager.js +30 -1
- package/dist/client/game/ragemp/chat/RageChatManager.d.ts +1 -0
- package/dist/client/game/ragemp/chat/RageChatManager.js +3 -0
- package/dist/client/game/ragemp/controls/RageControlsManager.d.ts +3 -0
- package/dist/client/game/ragemp/controls/RageControlsManager.js +9 -0
- package/dist/client/game/ragemp/graphics/RageGraphicsManager.d.ts +5 -1
- package/dist/client/game/ragemp/graphics/RageGraphicsManager.js +12 -0
- package/dist/client/game/ragemp/streaming/RageStreamingManager.d.ts +2 -0
- package/dist/client/game/ragemp/streaming/RageStreamingManager.js +6 -0
- package/dist/client/net/ccmp/CCMPConsoleForwarder.d.ts +11 -0
- package/dist/client/net/ccmp/CCMPConsoleForwarder.js +153 -0
- package/dist/client/net/ccmp/CCMPNetManager.d.ts +23 -0
- package/dist/client/net/ccmp/CCMPNetManager.js +55 -0
- package/dist/client/net/ccmp/dataHandler/CCMPDataHandler.d.ts +23 -0
- package/dist/client/net/ccmp/dataHandler/CCMPDataHandler.js +43 -0
- package/dist/client/net/ccmp/events/CCMPEventsBridge.d.ts +14 -0
- package/dist/client/net/ccmp/events/CCMPEventsBridge.js +19 -0
- package/dist/client/net/ccmp/events/CCMPEventsManager.d.ts +72 -0
- package/dist/client/net/ccmp/events/CCMPEventsManager.js +177 -0
- package/dist/client/net/ccmp/events/CCMPInProcessEmitter.d.ts +45 -0
- package/dist/client/net/ccmp/events/CCMPInProcessEmitter.js +133 -0
- package/dist/client/net/ccmp/events/CCMPRenderTicker.d.ts +18 -0
- package/dist/client/net/ccmp/events/CCMPRenderTicker.js +74 -0
- package/dist/client/net/ccmp/events/CCMPSyncedMetaBridge.d.ts +29 -0
- package/dist/client/net/ccmp/events/CCMPSyncedMetaBridge.js +45 -0
- package/dist/client/net/ccmp/rpc/CCMPRPCManager.d.ts +22 -0
- package/dist/client/net/ccmp/rpc/CCMPRPCManager.js +31 -0
- package/dist/client/net/common/dataHandler/IDataHandler.d.ts +2 -2
- package/dist/client/net/common/events/types.d.ts +6 -4
- package/dist/client/net/common/events/types.js +1 -0
- package/dist/client/net/ragemp/dataHandler/RageDataHandler.d.ts +2 -2
- package/dist/client/utils/ccmp/CCMPUtilsManager.d.ts +18 -0
- package/dist/client/utils/ccmp/CCMPUtilsManager.js +20 -0
- package/dist/server/RockMod.d.ts +1 -1
- package/dist/server/RockMod.js +4 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObject.d.ts +8 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObject.js +21 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObjectsIterator.d.ts +8 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObjectsIterator.js +16 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObjectsManager.d.ts +19 -0
- package/dist/server/entities/ccmp/baseObject/CCMPBaseObjectsManager.js +49 -0
- package/dist/server/entities/ccmp/blip/CCMPBlip.d.ts +36 -0
- package/dist/server/entities/ccmp/blip/CCMPBlip.js +86 -0
- package/dist/server/entities/ccmp/blip/CCMPBlipsManager.d.ts +9 -0
- package/dist/server/entities/ccmp/blip/CCMPBlipsManager.js +33 -0
- package/dist/server/entities/ccmp/colshape/CCMPCircleColshape.d.ts +7 -0
- package/dist/server/entities/ccmp/colshape/CCMPCircleColshape.js +10 -0
- package/dist/server/entities/ccmp/colshape/CCMPColshape.d.ts +25 -0
- package/dist/server/entities/ccmp/colshape/CCMPColshape.js +53 -0
- package/dist/server/entities/ccmp/colshape/CCMPColshapesManager.d.ts +28 -0
- package/dist/server/entities/ccmp/colshape/CCMPColshapesManager.js +108 -0
- package/dist/server/entities/ccmp/colshape/CCMPCuboidColshape.d.ts +7 -0
- package/dist/server/entities/ccmp/colshape/CCMPCuboidColshape.js +10 -0
- package/dist/server/entities/ccmp/colshape/CCMPCylinderColshape.d.ts +7 -0
- package/dist/server/entities/ccmp/colshape/CCMPCylinderColshape.js +10 -0
- package/dist/server/entities/ccmp/colshape/CCMPRectangleColshape.d.ts +7 -0
- package/dist/server/entities/ccmp/colshape/CCMPRectangleColshape.js +10 -0
- package/dist/server/entities/ccmp/colshape/CCMPSphereColshape.d.ts +7 -0
- package/dist/server/entities/ccmp/colshape/CCMPSphereColshape.js +10 -0
- package/dist/server/entities/ccmp/entity/CCMPEntitiesManager.d.ts +8 -0
- package/dist/server/entities/ccmp/entity/CCMPEntitiesManager.js +10 -0
- package/dist/server/entities/ccmp/entity/CCMPEntity.d.ts +13 -0
- package/dist/server/entities/ccmp/entity/CCMPEntity.js +28 -0
- package/dist/server/entities/ccmp/marker/CCMPMarker.d.ts +34 -0
- package/dist/server/entities/ccmp/marker/CCMPMarker.js +85 -0
- package/dist/server/entities/ccmp/marker/CCMPMarkersManager.d.ts +9 -0
- package/dist/server/entities/ccmp/marker/CCMPMarkersManager.js +30 -0
- package/dist/server/entities/ccmp/object/CCMPObject.d.ts +48 -0
- package/dist/server/entities/ccmp/object/CCMPObject.js +68 -0
- package/dist/server/entities/ccmp/object/CCMPObjectsManager.d.ts +9 -0
- package/dist/server/entities/ccmp/object/CCMPObjectsManager.js +27 -0
- package/dist/server/entities/ccmp/ped/CCMPPed.d.ts +33 -0
- package/dist/server/entities/ccmp/ped/CCMPPed.js +82 -0
- package/dist/server/entities/ccmp/ped/CCMPPedsManager.d.ts +9 -0
- package/dist/server/entities/ccmp/ped/CCMPPedsManager.js +28 -0
- package/dist/server/entities/ccmp/player/CCMPPlayer.d.ts +65 -0
- package/dist/server/entities/ccmp/player/CCMPPlayer.js +180 -0
- package/dist/server/entities/ccmp/player/CCMPPlayersManager.d.ts +12 -0
- package/dist/server/entities/ccmp/player/CCMPPlayersManager.js +66 -0
- package/dist/server/entities/ccmp/vehicle/CCMPVehicle.d.ts +58 -0
- package/dist/server/entities/ccmp/vehicle/CCMPVehicle.js +161 -0
- package/dist/server/entities/ccmp/vehicle/CCMPVehiclesManager.d.ts +9 -0
- package/dist/server/entities/ccmp/vehicle/CCMPVehiclesManager.js +31 -0
- package/dist/server/entities/ccmp/worldObject/CCMPWorldObject.d.ts +9 -0
- package/dist/server/entities/ccmp/worldObject/CCMPWorldObject.js +7 -0
- package/dist/server/entities/ccmp/worldObject/CCMPWorldObjectsIterator.d.ts +10 -0
- package/dist/server/entities/ccmp/worldObject/CCMPWorldObjectsIterator.js +40 -0
- package/dist/server/entities/ccmp/worldObject/CCMPWorldObjectsManager.d.ts +11 -0
- package/dist/server/entities/ccmp/worldObject/CCMPWorldObjectsManager.js +16 -0
- package/dist/server/entities/mock/player/MockPlayersManager.js +2 -1
- package/dist/server/entities/ragemp/entity/RageEntity.d.ts +5 -1
- package/dist/server/entities/ragemp/entity/RageEntity.js +17 -1
- package/dist/server/entities/ragemp/object/RageObjectsManager.js +1 -1
- package/dist/server/entities/ragemp/ped/RagePedsManager.js +1 -1
- package/dist/server/entities/ragemp/vehicle/RageVehiclesManager.js +1 -1
- package/dist/server/factories/ccmp/CCMPManagersFactory.d.ts +23 -0
- package/dist/server/factories/ccmp/CCMPManagersFactory.js +46 -0
- package/dist/server/net/ccmp/CCMPNetManager.d.ts +19 -0
- package/dist/server/net/ccmp/CCMPNetManager.js +112 -0
- package/dist/server/net/ccmp/events/CCMPEventsManager.d.ts +17 -0
- package/dist/server/net/ccmp/events/CCMPEventsManager.js +54 -0
- package/dist/server/net/ccmp/rpc/CCMPRPCManager.d.ts +8 -0
- package/dist/server/net/ccmp/rpc/CCMPRPCManager.js +18 -0
- package/dist/server/net/common/events/types.d.ts +2 -0
- package/dist/server/net/common/events/types.js +1 -0
- package/dist/server/utils/ccmp/CCMPUtilsManager.d.ts +4 -0
- package/dist/server/utils/ccmp/CCMPUtilsManager.js +9 -0
- package/dist/server/world/ccmp/CCMPWorldManager.d.ts +10 -0
- package/dist/server/world/ccmp/CCMPWorldManager.js +24 -0
- package/package.json +3 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPMarkersManager = void 0;
|
|
4
|
+
const CCMPWorldObjectsManager_1 = require("../worldObject/CCMPWorldObjectsManager");
|
|
5
|
+
const CCMPMarker_1 = require("./CCMPMarker");
|
|
6
|
+
class CCMPMarkersManager extends CCMPWorldObjectsManager_1.CCMPWorldObjectsManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
super({
|
|
9
|
+
baseObjectsType: "marker",
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
create(options) {
|
|
13
|
+
const { position, dimension, type, scale, color, rotation } = options;
|
|
14
|
+
const ccmpMarker = ccmp.markers.create(type, position.x, position.y, position.z, scale, {
|
|
15
|
+
color: { r: color.r, g: color.g, b: color.b, a: color.a ?? 255 },
|
|
16
|
+
rotation: { x: rotation.x, y: rotation.y, z: rotation.z },
|
|
17
|
+
dimension,
|
|
18
|
+
});
|
|
19
|
+
if (!ccmpMarker) {
|
|
20
|
+
throw new Error("CCMPMarkersManager.create: ccmp.markers.create failed (server full?)");
|
|
21
|
+
}
|
|
22
|
+
const marker = new CCMPMarker_1.CCMPMarker({
|
|
23
|
+
ccmpMarker,
|
|
24
|
+
onDestroy: (m) => this.unregisterBaseObject(m),
|
|
25
|
+
});
|
|
26
|
+
this.registerBaseObject(marker);
|
|
27
|
+
return marker;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.CCMPMarkersManager = CCMPMarkersManager;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CCMPEntity } from "../entity/CCMPEntity";
|
|
2
|
+
import { type IObject } from "../../common/object/IObject";
|
|
3
|
+
import { BaseObjectType } from "../../../../shared";
|
|
4
|
+
import { type IVector3D } from "../../../../shared/common/utils/math/Vectors";
|
|
5
|
+
import type { StreamSyncedMeta } from "@classic-mp/types/server";
|
|
6
|
+
export interface ICCMPObjectNative extends StreamSyncedMeta {
|
|
7
|
+
id: number;
|
|
8
|
+
isExists: boolean;
|
|
9
|
+
position: {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
z: number;
|
|
13
|
+
};
|
|
14
|
+
rotation: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
z: number;
|
|
18
|
+
};
|
|
19
|
+
model: number;
|
|
20
|
+
dimension: number;
|
|
21
|
+
alpha: number;
|
|
22
|
+
destroy(): boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface ICCMPObjectOptions {
|
|
25
|
+
ccmpObject: ICCMPObjectNative;
|
|
26
|
+
alpha: number;
|
|
27
|
+
onDestroy: (object: CCMPObject) => void;
|
|
28
|
+
}
|
|
29
|
+
export declare class CCMPObject extends CCMPEntity implements IObject {
|
|
30
|
+
private readonly _ccmpObject;
|
|
31
|
+
private readonly _onDestroy;
|
|
32
|
+
get id(): number;
|
|
33
|
+
get type(): BaseObjectType;
|
|
34
|
+
get isExists(): boolean;
|
|
35
|
+
get position(): IVector3D;
|
|
36
|
+
get dimension(): number;
|
|
37
|
+
get model(): number;
|
|
38
|
+
get rotation(): IVector3D;
|
|
39
|
+
get alpha(): number;
|
|
40
|
+
protected get ccmpMeta(): ICCMPObjectNative;
|
|
41
|
+
constructor(options: ICCMPObjectOptions);
|
|
42
|
+
destroy(): void;
|
|
43
|
+
setPosition(value: IVector3D): void;
|
|
44
|
+
setDimension(value: number): void;
|
|
45
|
+
setModel(value: string): void;
|
|
46
|
+
setRotation(value: IVector3D): void;
|
|
47
|
+
setAlpha(value: number): void;
|
|
48
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPObject = void 0;
|
|
4
|
+
const CCMPEntity_1 = require("../entity/CCMPEntity");
|
|
5
|
+
const shared_1 = require("../../../../shared");
|
|
6
|
+
const Vectors_1 = require("../../../../shared/common/utils/math/Vectors");
|
|
7
|
+
const RockMod_1 = require("../../../RockMod");
|
|
8
|
+
class CCMPObject extends CCMPEntity_1.CCMPEntity {
|
|
9
|
+
_ccmpObject;
|
|
10
|
+
_onDestroy;
|
|
11
|
+
get id() {
|
|
12
|
+
return this._ccmpObject.id;
|
|
13
|
+
}
|
|
14
|
+
get type() {
|
|
15
|
+
return shared_1.BaseObjectType.Object;
|
|
16
|
+
}
|
|
17
|
+
get isExists() {
|
|
18
|
+
return this._ccmpObject.isExists;
|
|
19
|
+
}
|
|
20
|
+
get position() {
|
|
21
|
+
const p = this._ccmpObject.position;
|
|
22
|
+
return new Vectors_1.Vector3D(p.x, p.y, p.z);
|
|
23
|
+
}
|
|
24
|
+
get dimension() {
|
|
25
|
+
return this._ccmpObject.dimension;
|
|
26
|
+
}
|
|
27
|
+
get model() {
|
|
28
|
+
return this._ccmpObject.model;
|
|
29
|
+
}
|
|
30
|
+
get rotation() {
|
|
31
|
+
const r = this._ccmpObject.rotation;
|
|
32
|
+
return new Vectors_1.Vector3D(r.x, r.y, r.z);
|
|
33
|
+
}
|
|
34
|
+
get alpha() {
|
|
35
|
+
return this._ccmpObject.alpha;
|
|
36
|
+
}
|
|
37
|
+
get ccmpMeta() {
|
|
38
|
+
return this._ccmpObject;
|
|
39
|
+
}
|
|
40
|
+
constructor(options) {
|
|
41
|
+
super();
|
|
42
|
+
this._ccmpObject = options.ccmpObject;
|
|
43
|
+
this._ccmpObject.alpha = options.alpha;
|
|
44
|
+
this._onDestroy = options.onDestroy;
|
|
45
|
+
}
|
|
46
|
+
destroy() {
|
|
47
|
+
if (!this._ccmpObject.isExists)
|
|
48
|
+
return;
|
|
49
|
+
this._ccmpObject.destroy();
|
|
50
|
+
this._onDestroy(this);
|
|
51
|
+
}
|
|
52
|
+
setPosition(value) {
|
|
53
|
+
this._ccmpObject.position = { x: value.x, y: value.y, z: value.z };
|
|
54
|
+
}
|
|
55
|
+
setDimension(value) {
|
|
56
|
+
this._ccmpObject.dimension = value;
|
|
57
|
+
}
|
|
58
|
+
setModel(value) {
|
|
59
|
+
this._ccmpObject.model = RockMod_1.RockMod.instance.utils.hash(value);
|
|
60
|
+
}
|
|
61
|
+
setRotation(value) {
|
|
62
|
+
this._ccmpObject.rotation = { x: value.x, y: value.y, z: value.z };
|
|
63
|
+
}
|
|
64
|
+
setAlpha(value) {
|
|
65
|
+
this._ccmpObject.alpha = value;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.CCMPObject = CCMPObject;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type IObjectCreateOptions, type IObjectsManager } from "../../common/object/IObjectsManager";
|
|
2
|
+
import { CCMPEntitiesManager } from "../entity/CCMPEntitiesManager";
|
|
3
|
+
import { CCMPObject } from "./CCMPObject";
|
|
4
|
+
export interface ICCMPObjectCreateOptions extends IObjectCreateOptions {
|
|
5
|
+
}
|
|
6
|
+
export declare class CCMPObjectsManager extends CCMPEntitiesManager<CCMPObject> implements IObjectsManager {
|
|
7
|
+
constructor();
|
|
8
|
+
create(options: ICCMPObjectCreateOptions): CCMPObject;
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPObjectsManager = void 0;
|
|
4
|
+
const CCMPEntitiesManager_1 = require("../entity/CCMPEntitiesManager");
|
|
5
|
+
const CCMPObject_1 = require("./CCMPObject");
|
|
6
|
+
class CCMPObjectsManager extends CCMPEntitiesManager_1.CCMPEntitiesManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
super({
|
|
9
|
+
baseObjectsType: "object",
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
create(options) {
|
|
13
|
+
const { model, position, dimension, rotation, alpha } = options;
|
|
14
|
+
const ccmpObject = ccmp.objects.create(ccmp.hash(model), position.x, position.y, position.z, rotation.x, rotation.y, rotation.z, { dimension, alpha });
|
|
15
|
+
if (!ccmpObject) {
|
|
16
|
+
throw new Error("CCMPObjectsManager.create: ccmp.objects.create failed (server full?)");
|
|
17
|
+
}
|
|
18
|
+
const object = new CCMPObject_1.CCMPObject({
|
|
19
|
+
ccmpObject,
|
|
20
|
+
alpha,
|
|
21
|
+
onDestroy: (o) => this.unregisterBaseObject(o),
|
|
22
|
+
});
|
|
23
|
+
this.registerBaseObject(object);
|
|
24
|
+
return object;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.CCMPObjectsManager = CCMPObjectsManager;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CCMPEntity } from "../entity/CCMPEntity";
|
|
2
|
+
import { type IPed } from "../../common/ped/IPed";
|
|
3
|
+
import { BaseObjectType } from "../../../../shared";
|
|
4
|
+
import { type IVector3D } from "../../../../shared/common/utils/math/Vectors";
|
|
5
|
+
import type { Ped as CcmpPed } from "@classic-mp/types/server";
|
|
6
|
+
export interface ICCMPPedOptions {
|
|
7
|
+
ccmpPed: CcmpPed;
|
|
8
|
+
onDestroy: (ped: CCMPPed) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare class CCMPPed extends CCMPEntity implements IPed {
|
|
11
|
+
private readonly _ccmpPed;
|
|
12
|
+
private readonly _onDestroy;
|
|
13
|
+
get id(): number;
|
|
14
|
+
get type(): BaseObjectType;
|
|
15
|
+
get isExists(): boolean;
|
|
16
|
+
get position(): IVector3D;
|
|
17
|
+
get dimension(): number;
|
|
18
|
+
get model(): number;
|
|
19
|
+
get rotation(): IVector3D;
|
|
20
|
+
get heading(): number;
|
|
21
|
+
get health(): number;
|
|
22
|
+
get armour(): number;
|
|
23
|
+
protected get ccmpMeta(): CcmpPed;
|
|
24
|
+
constructor(options: ICCMPPedOptions);
|
|
25
|
+
destroy(): void;
|
|
26
|
+
setPosition(value: IVector3D): void;
|
|
27
|
+
setDimension(value: number): void;
|
|
28
|
+
setModel(value: string): void;
|
|
29
|
+
setRotation(value: IVector3D): void;
|
|
30
|
+
setHeading(value: number): void;
|
|
31
|
+
setHealth(value: number): void;
|
|
32
|
+
setArmour(value: number): void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPPed = void 0;
|
|
4
|
+
const CCMPEntity_1 = require("../entity/CCMPEntity");
|
|
5
|
+
const shared_1 = require("../../../../shared");
|
|
6
|
+
const Vectors_1 = require("../../../../shared/common/utils/math/Vectors");
|
|
7
|
+
const Math_1 = require("../../../../shared/common/utils/math/Math");
|
|
8
|
+
const RockMod_1 = require("../../../RockMod");
|
|
9
|
+
class CCMPPed extends CCMPEntity_1.CCMPEntity {
|
|
10
|
+
_ccmpPed;
|
|
11
|
+
_onDestroy;
|
|
12
|
+
get id() {
|
|
13
|
+
return this._ccmpPed.id;
|
|
14
|
+
}
|
|
15
|
+
get type() {
|
|
16
|
+
return shared_1.BaseObjectType.Ped;
|
|
17
|
+
}
|
|
18
|
+
get isExists() {
|
|
19
|
+
return this._ccmpPed.isExists;
|
|
20
|
+
}
|
|
21
|
+
get position() {
|
|
22
|
+
const p = this._ccmpPed.position;
|
|
23
|
+
return new Vectors_1.Vector3D(p.x, p.y, p.z);
|
|
24
|
+
}
|
|
25
|
+
get dimension() {
|
|
26
|
+
return this._ccmpPed.dimension;
|
|
27
|
+
}
|
|
28
|
+
get model() {
|
|
29
|
+
return this._ccmpPed.model;
|
|
30
|
+
}
|
|
31
|
+
// CCMP exposes only heading; map it onto rotation.z.
|
|
32
|
+
get rotation() {
|
|
33
|
+
return new Vectors_1.Vector3D(0, 0, this._ccmpPed.heading);
|
|
34
|
+
}
|
|
35
|
+
get heading() {
|
|
36
|
+
return this._ccmpPed.heading;
|
|
37
|
+
}
|
|
38
|
+
get health() {
|
|
39
|
+
return this._ccmpPed.health;
|
|
40
|
+
}
|
|
41
|
+
get armour() {
|
|
42
|
+
return this._ccmpPed.armour;
|
|
43
|
+
}
|
|
44
|
+
get ccmpMeta() {
|
|
45
|
+
return this._ccmpPed;
|
|
46
|
+
}
|
|
47
|
+
constructor(options) {
|
|
48
|
+
super();
|
|
49
|
+
this._ccmpPed = options.ccmpPed;
|
|
50
|
+
this._onDestroy = options.onDestroy;
|
|
51
|
+
}
|
|
52
|
+
destroy() {
|
|
53
|
+
if (!this._ccmpPed.isExists)
|
|
54
|
+
return;
|
|
55
|
+
this._ccmpPed.destroy();
|
|
56
|
+
this._onDestroy(this);
|
|
57
|
+
}
|
|
58
|
+
setPosition(value) {
|
|
59
|
+
this._ccmpPed.teleport(value.x, value.y, value.z);
|
|
60
|
+
}
|
|
61
|
+
setDimension(value) {
|
|
62
|
+
this._ccmpPed.dimension = value;
|
|
63
|
+
}
|
|
64
|
+
setModel(value) {
|
|
65
|
+
// CCMP ped.model is u32; hash the name via the shared util before assignment.
|
|
66
|
+
this._ccmpPed.model = RockMod_1.RockMod.instance.utils.hash(value);
|
|
67
|
+
}
|
|
68
|
+
setRotation(value) {
|
|
69
|
+
// CCMP exposes only heading; pitch/roll (x/y) are silently dropped.
|
|
70
|
+
this._ccmpPed.heading = value.z;
|
|
71
|
+
}
|
|
72
|
+
setHeading(value) {
|
|
73
|
+
this._ccmpPed.heading = value;
|
|
74
|
+
}
|
|
75
|
+
setHealth(value) {
|
|
76
|
+
this._ccmpPed.health = (0, Math_1.MathClamp)(value, 0, 200);
|
|
77
|
+
}
|
|
78
|
+
setArmour(value) {
|
|
79
|
+
this._ccmpPed.armour = (0, Math_1.MathClamp)(value, 0, 100);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.CCMPPed = CCMPPed;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type IPedCreateOptions, type IPedsManager } from "../../common/ped/IPedsManager";
|
|
2
|
+
import { CCMPEntitiesManager } from "../entity/CCMPEntitiesManager";
|
|
3
|
+
import { CCMPPed } from "./CCMPPed";
|
|
4
|
+
export interface ICCMPPedCreateOptions extends IPedCreateOptions {
|
|
5
|
+
}
|
|
6
|
+
export declare class CCMPPedsManager extends CCMPEntitiesManager<CCMPPed> implements IPedsManager {
|
|
7
|
+
constructor();
|
|
8
|
+
create(options: ICCMPPedCreateOptions): CCMPPed;
|
|
9
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPPedsManager = void 0;
|
|
4
|
+
const CCMPEntitiesManager_1 = require("../entity/CCMPEntitiesManager");
|
|
5
|
+
const CCMPPed_1 = require("./CCMPPed");
|
|
6
|
+
class CCMPPedsManager extends CCMPEntitiesManager_1.CCMPEntitiesManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
super({
|
|
9
|
+
baseObjectsType: "ped",
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
create(options) {
|
|
13
|
+
const { model, position, rotation, dimension } = options;
|
|
14
|
+
// CCMP peds API does not yet support `frozen` — it is silently ignored.
|
|
15
|
+
const ccmpPed = ccmp.peds.create(ccmp.hash(model), position.x, position.y, position.z, rotation.z);
|
|
16
|
+
if (!ccmpPed) {
|
|
17
|
+
throw new Error("CCMPPedsManager.create: ccmp.peds.create failed (server full?)");
|
|
18
|
+
}
|
|
19
|
+
ccmpPed.dimension = dimension;
|
|
20
|
+
const ped = new CCMPPed_1.CCMPPed({
|
|
21
|
+
ccmpPed,
|
|
22
|
+
onDestroy: (p) => this.unregisterBaseObject(p),
|
|
23
|
+
});
|
|
24
|
+
this.registerBaseObject(ped);
|
|
25
|
+
return ped;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.CCMPPedsManager = CCMPPedsManager;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { CCMPEntity } from "../entity/CCMPEntity";
|
|
2
|
+
import { type ICustomization, type IPlayer } from "../../common/player/IPlayer";
|
|
3
|
+
import { type CCMPVehicle } from "../vehicle/CCMPVehicle";
|
|
4
|
+
import { BaseObjectType, type IServerToClientEvents } from "../../../../shared";
|
|
5
|
+
import { type IClientRPCList } from "../../../../shared/net/common/rpc/types";
|
|
6
|
+
import { type IVector3D, Vector3D } from "../../../../shared/common/utils/math/Vectors";
|
|
7
|
+
import type { Player as CcmpPlayer } from "@classic-mp/types/server";
|
|
8
|
+
export interface ICCMPPlayerOptions {
|
|
9
|
+
ccmpPlayer: CcmpPlayer;
|
|
10
|
+
}
|
|
11
|
+
export declare class CCMPPlayer extends CCMPEntity implements IPlayer {
|
|
12
|
+
private readonly _ccmpPlayer;
|
|
13
|
+
get id(): number;
|
|
14
|
+
get type(): BaseObjectType;
|
|
15
|
+
get isExists(): boolean;
|
|
16
|
+
get position(): IVector3D;
|
|
17
|
+
get dimension(): number;
|
|
18
|
+
get model(): number;
|
|
19
|
+
get rotation(): IVector3D;
|
|
20
|
+
get name(): string;
|
|
21
|
+
get socialClub(): string;
|
|
22
|
+
get heading(): number;
|
|
23
|
+
get health(): number;
|
|
24
|
+
get armour(): number;
|
|
25
|
+
get isDead(): boolean;
|
|
26
|
+
get ip(): string;
|
|
27
|
+
get serial(): string;
|
|
28
|
+
get vehicle(): CCMPVehicle | null;
|
|
29
|
+
get seat(): number;
|
|
30
|
+
get weapon(): number;
|
|
31
|
+
get weaponAmmo(): number;
|
|
32
|
+
protected get ccmpMeta(): CcmpPlayer;
|
|
33
|
+
get eyeColor(): number;
|
|
34
|
+
get streamedPlayers(): CCMPPlayer[];
|
|
35
|
+
constructor(options: ICCMPPlayerOptions);
|
|
36
|
+
destroy(): void;
|
|
37
|
+
setPosition(value: IVector3D): void;
|
|
38
|
+
setDimension(value: number): void;
|
|
39
|
+
setModel(value: string): void;
|
|
40
|
+
setRotation(value: IVector3D): void;
|
|
41
|
+
emitEvent<K extends keyof IServerToClientEvents>(eventName: K, ...args: Parameters<IServerToClientEvents[K]>): void;
|
|
42
|
+
emitRPC<K extends keyof IClientRPCList>(rpcName: K, ...args: Parameters<IClientRPCList[K]>): Promise<ReturnType<IClientRPCList[K]>>;
|
|
43
|
+
spawn(_position: Vector3D): void;
|
|
44
|
+
setName(name: string): void;
|
|
45
|
+
setHeading(value: number): void;
|
|
46
|
+
setHealth(value: number): void;
|
|
47
|
+
setArmour(value: number): void;
|
|
48
|
+
setWeaponAmmo(weapon: string, ammo: number): void;
|
|
49
|
+
giveWeapon(weapon: string, ammo: number): void;
|
|
50
|
+
removeWeapon(weapon: string): void;
|
|
51
|
+
enableVoiceTo(_player: CCMPPlayer): void;
|
|
52
|
+
disableVoiceTo(_player: CCMPPlayer): void;
|
|
53
|
+
putIntoVehicle(vehicle: CCMPVehicle, seat?: number): void;
|
|
54
|
+
ejectFromVehicle(): void;
|
|
55
|
+
setCustomization(_data: ICustomization): void;
|
|
56
|
+
setHeadOverlay(_overlayID: number, _index: number, _opacity: number, _firstColor: number, _secondColor: number): void;
|
|
57
|
+
setEyeColor(_colorID: number): void;
|
|
58
|
+
setProp(_propID: number, _drawableID: number, _textureID: number): void;
|
|
59
|
+
setClothes(_componentID: number, _drawableID: number, _textureID: number, _paletteID: number): void;
|
|
60
|
+
setHairColor(_colorID: number, _highlightColorID: number): void;
|
|
61
|
+
kick(reason?: string): void;
|
|
62
|
+
playAnimation(dictionary: string, name: string, speed: number, flag: number): void;
|
|
63
|
+
stopAnimation(): void;
|
|
64
|
+
removeFromVehicle(): void;
|
|
65
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPPlayer = void 0;
|
|
4
|
+
const CCMPEntity_1 = require("../entity/CCMPEntity");
|
|
5
|
+
const shared_1 = require("../../../../shared");
|
|
6
|
+
const Vectors_1 = require("../../../../shared/common/utils/math/Vectors");
|
|
7
|
+
const Math_1 = require("../../../../shared/common/utils/math/Math");
|
|
8
|
+
const RockMod_1 = require("../../../RockMod");
|
|
9
|
+
const notImplemented = (name) => {
|
|
10
|
+
throw new Error(`Not implemented yet: ${name}`);
|
|
11
|
+
};
|
|
12
|
+
class CCMPPlayer extends CCMPEntity_1.CCMPEntity {
|
|
13
|
+
_ccmpPlayer;
|
|
14
|
+
get id() {
|
|
15
|
+
return this._ccmpPlayer.id;
|
|
16
|
+
}
|
|
17
|
+
get type() {
|
|
18
|
+
return shared_1.BaseObjectType.Player;
|
|
19
|
+
}
|
|
20
|
+
get isExists() {
|
|
21
|
+
return ccmp.players.getById(this._ccmpPlayer.id) !== null;
|
|
22
|
+
}
|
|
23
|
+
get position() {
|
|
24
|
+
const p = this._ccmpPlayer.position;
|
|
25
|
+
if (!p)
|
|
26
|
+
return new Vectors_1.Vector3D(0, 0, 0);
|
|
27
|
+
return new Vectors_1.Vector3D(p.x, p.y, p.z);
|
|
28
|
+
}
|
|
29
|
+
get dimension() {
|
|
30
|
+
return this._ccmpPlayer.dimension;
|
|
31
|
+
}
|
|
32
|
+
get model() {
|
|
33
|
+
return this._ccmpPlayer.model;
|
|
34
|
+
}
|
|
35
|
+
// CCMP exposes only heading; pitch/roll (x/y components) are silently dropped on setRotation.
|
|
36
|
+
get rotation() {
|
|
37
|
+
return new Vectors_1.Vector3D(0, 0, this._ccmpPlayer.heading);
|
|
38
|
+
}
|
|
39
|
+
get name() {
|
|
40
|
+
return this._ccmpPlayer.name;
|
|
41
|
+
}
|
|
42
|
+
get socialClub() {
|
|
43
|
+
return this._ccmpPlayer.socialClub;
|
|
44
|
+
}
|
|
45
|
+
get heading() {
|
|
46
|
+
return this._ccmpPlayer.heading;
|
|
47
|
+
}
|
|
48
|
+
get health() {
|
|
49
|
+
return this._ccmpPlayer.health;
|
|
50
|
+
}
|
|
51
|
+
get armour() {
|
|
52
|
+
return this._ccmpPlayer.armour;
|
|
53
|
+
}
|
|
54
|
+
get isDead() {
|
|
55
|
+
return this._ccmpPlayer.health <= 0;
|
|
56
|
+
}
|
|
57
|
+
get ip() {
|
|
58
|
+
return notImplemented("CCMPPlayer.ip");
|
|
59
|
+
}
|
|
60
|
+
get serial() {
|
|
61
|
+
return notImplemented("CCMPPlayer.serial");
|
|
62
|
+
}
|
|
63
|
+
get vehicle() {
|
|
64
|
+
const ccmpVehicle = this._ccmpPlayer.vehicle;
|
|
65
|
+
if (!ccmpVehicle)
|
|
66
|
+
return null;
|
|
67
|
+
return RockMod_1.RockMod.instance.vehicles.findByID(ccmpVehicle.id);
|
|
68
|
+
}
|
|
69
|
+
get seat() {
|
|
70
|
+
return this._ccmpPlayer.seat;
|
|
71
|
+
}
|
|
72
|
+
get weapon() {
|
|
73
|
+
return this._ccmpPlayer.currentWeapon;
|
|
74
|
+
}
|
|
75
|
+
get weaponAmmo() {
|
|
76
|
+
return this._ccmpPlayer.ammo;
|
|
77
|
+
}
|
|
78
|
+
get ccmpMeta() {
|
|
79
|
+
return this._ccmpPlayer;
|
|
80
|
+
}
|
|
81
|
+
get eyeColor() {
|
|
82
|
+
return notImplemented("CCMPPlayer.eyeColor");
|
|
83
|
+
}
|
|
84
|
+
get streamedPlayers() {
|
|
85
|
+
return notImplemented("CCMPPlayer.streamedPlayers");
|
|
86
|
+
}
|
|
87
|
+
constructor(options) {
|
|
88
|
+
super();
|
|
89
|
+
this._ccmpPlayer = options.ccmpPlayer;
|
|
90
|
+
}
|
|
91
|
+
destroy() {
|
|
92
|
+
notImplemented("CCMPPlayer.destroy");
|
|
93
|
+
}
|
|
94
|
+
setPosition(value) {
|
|
95
|
+
this._ccmpPlayer.teleport(value.x, value.y, value.z);
|
|
96
|
+
}
|
|
97
|
+
setDimension(value) {
|
|
98
|
+
this._ccmpPlayer.dimension = value;
|
|
99
|
+
}
|
|
100
|
+
setModel(value) {
|
|
101
|
+
// CCMP runtime accepts a string and JOAATs server-side via op_set_player_model.
|
|
102
|
+
this._ccmpPlayer.model = value;
|
|
103
|
+
}
|
|
104
|
+
setRotation(value) {
|
|
105
|
+
this._ccmpPlayer.heading = value.z;
|
|
106
|
+
}
|
|
107
|
+
emitEvent(eventName, ...args) {
|
|
108
|
+
return RockMod_1.RockMod.instance.net.events.emitClient(this, eventName, ...args);
|
|
109
|
+
}
|
|
110
|
+
emitRPC(rpcName, ...args) {
|
|
111
|
+
return RockMod_1.RockMod.instance.net.rpc.emitClient(this, rpcName, ...args);
|
|
112
|
+
}
|
|
113
|
+
spawn(_position) {
|
|
114
|
+
notImplemented("CCMPPlayer.spawn");
|
|
115
|
+
}
|
|
116
|
+
setName(name) {
|
|
117
|
+
this._ccmpPlayer.name = name;
|
|
118
|
+
}
|
|
119
|
+
setHeading(value) {
|
|
120
|
+
this._ccmpPlayer.heading = value;
|
|
121
|
+
}
|
|
122
|
+
setHealth(value) {
|
|
123
|
+
this._ccmpPlayer.health = (0, Math_1.MathClamp)(value, 0, 100);
|
|
124
|
+
}
|
|
125
|
+
setArmour(value) {
|
|
126
|
+
this._ccmpPlayer.armour = (0, Math_1.MathClamp)(value, 0, 100);
|
|
127
|
+
}
|
|
128
|
+
setWeaponAmmo(weapon, ammo) {
|
|
129
|
+
this._ccmpPlayer.setWeaponAmmo(RockMod_1.RockMod.instance.utils.hash(weapon), ammo);
|
|
130
|
+
}
|
|
131
|
+
giveWeapon(weapon, ammo) {
|
|
132
|
+
this._ccmpPlayer.giveWeapon(RockMod_1.RockMod.instance.utils.hash(weapon), ammo);
|
|
133
|
+
}
|
|
134
|
+
removeWeapon(weapon) {
|
|
135
|
+
this._ccmpPlayer.removeWeapon(RockMod_1.RockMod.instance.utils.hash(weapon));
|
|
136
|
+
}
|
|
137
|
+
enableVoiceTo(_player) {
|
|
138
|
+
notImplemented("CCMPPlayer.enableVoiceTo");
|
|
139
|
+
}
|
|
140
|
+
disableVoiceTo(_player) {
|
|
141
|
+
notImplemented("CCMPPlayer.disableVoiceTo");
|
|
142
|
+
}
|
|
143
|
+
putIntoVehicle(vehicle, seat) {
|
|
144
|
+
this._ccmpPlayer.putIntoVehicle(vehicle.id, seat);
|
|
145
|
+
}
|
|
146
|
+
ejectFromVehicle() {
|
|
147
|
+
this._ccmpPlayer.removeFromVehicle();
|
|
148
|
+
}
|
|
149
|
+
setCustomization(_data) {
|
|
150
|
+
notImplemented("CCMPPlayer.setCustomization");
|
|
151
|
+
}
|
|
152
|
+
setHeadOverlay(_overlayID, _index, _opacity, _firstColor, _secondColor) {
|
|
153
|
+
notImplemented("CCMPPlayer.setHeadOverlay");
|
|
154
|
+
}
|
|
155
|
+
setEyeColor(_colorID) {
|
|
156
|
+
notImplemented("CCMPPlayer.setEyeColor");
|
|
157
|
+
}
|
|
158
|
+
setProp(_propID, _drawableID, _textureID) {
|
|
159
|
+
notImplemented("CCMPPlayer.setProp");
|
|
160
|
+
}
|
|
161
|
+
setClothes(_componentID, _drawableID, _textureID, _paletteID) {
|
|
162
|
+
notImplemented("CCMPPlayer.setClothes");
|
|
163
|
+
}
|
|
164
|
+
setHairColor(_colorID, _highlightColorID) {
|
|
165
|
+
notImplemented("CCMPPlayer.setHairColor");
|
|
166
|
+
}
|
|
167
|
+
kick(reason) {
|
|
168
|
+
this._ccmpPlayer.kick(reason ?? "");
|
|
169
|
+
}
|
|
170
|
+
playAnimation(dictionary, name, speed, flag) {
|
|
171
|
+
this._ccmpPlayer.playAnimation(dictionary, name, speed, flag);
|
|
172
|
+
}
|
|
173
|
+
stopAnimation() {
|
|
174
|
+
this._ccmpPlayer.stopAnimation();
|
|
175
|
+
}
|
|
176
|
+
removeFromVehicle() {
|
|
177
|
+
this._ccmpPlayer.removeFromVehicle();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
exports.CCMPPlayer = CCMPPlayer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type IPlayersManager } from "../../common/player/IPlayersManager";
|
|
2
|
+
import { CCMPEntitiesManager } from "../entity/CCMPEntitiesManager";
|
|
3
|
+
import { CCMPPlayer } from "./CCMPPlayer";
|
|
4
|
+
import { type CCMPNetManager } from "../../../net/ccmp/CCMPNetManager";
|
|
5
|
+
export declare class CCMPPlayersManager extends CCMPEntitiesManager<CCMPPlayer> implements IPlayersManager {
|
|
6
|
+
constructor(net: CCMPNetManager);
|
|
7
|
+
getByName(name: string): CCMPPlayer;
|
|
8
|
+
findByName(name: string): CCMPPlayer | null;
|
|
9
|
+
getBySocialClub(socialClub: string): CCMPPlayer;
|
|
10
|
+
findBySocialClub(socialClub: string): CCMPPlayer | null;
|
|
11
|
+
private _init;
|
|
12
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCMPPlayersManager = void 0;
|
|
4
|
+
const CCMPEntitiesManager_1 = require("../entity/CCMPEntitiesManager");
|
|
5
|
+
const CCMPPlayer_1 = require("./CCMPPlayer");
|
|
6
|
+
const types_1 = require("../../../net/common/events/types");
|
|
7
|
+
class CCMPPlayersManager extends CCMPEntitiesManager_1.CCMPEntitiesManager {
|
|
8
|
+
constructor(net) {
|
|
9
|
+
super({
|
|
10
|
+
baseObjectsType: "player",
|
|
11
|
+
});
|
|
12
|
+
this._init(net);
|
|
13
|
+
}
|
|
14
|
+
getByName(name) {
|
|
15
|
+
const player = this.findByName(name);
|
|
16
|
+
if (!player) {
|
|
17
|
+
throw new Error(`Player with name ${name} not found`);
|
|
18
|
+
}
|
|
19
|
+
return player;
|
|
20
|
+
}
|
|
21
|
+
findByName(name) {
|
|
22
|
+
for (const player of this.iterator.all()) {
|
|
23
|
+
if (player.name === name) {
|
|
24
|
+
return player;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
getBySocialClub(socialClub) {
|
|
30
|
+
const player = this.findBySocialClub(socialClub);
|
|
31
|
+
if (!player) {
|
|
32
|
+
throw new Error(`Player with socialClub ${socialClub} not found`);
|
|
33
|
+
}
|
|
34
|
+
return player;
|
|
35
|
+
}
|
|
36
|
+
findBySocialClub(socialClub) {
|
|
37
|
+
for (const player of this.iterator.all()) {
|
|
38
|
+
if (player.socialClub === socialClub) {
|
|
39
|
+
return player;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
_init(net) {
|
|
45
|
+
net.events.onInternal({
|
|
46
|
+
playerConnected: (ccmpPlayer) => {
|
|
47
|
+
const player = new CCMPPlayer_1.CCMPPlayer({ ccmpPlayer });
|
|
48
|
+
this.registerBaseObject(player);
|
|
49
|
+
net.events.emitInternal(types_1.ServerInternalEventName.PlayerConnected, player);
|
|
50
|
+
},
|
|
51
|
+
playerDisconnected: (ccmpPlayer) => {
|
|
52
|
+
const player = this.getByID(ccmpPlayer.id);
|
|
53
|
+
net.events.emitInternal(types_1.ServerInternalEventName.PlayerQuit, player, "disconnect", "");
|
|
54
|
+
this.unregisterBaseObject(player);
|
|
55
|
+
net.events.emitInternal(types_1.ServerInternalEventName.PlayerDisconnected, player);
|
|
56
|
+
},
|
|
57
|
+
playerDimensionChange: (ccmpPlayer, oldDim, newDim) => {
|
|
58
|
+
const player = this.findByID(ccmpPlayer.id);
|
|
59
|
+
if (!player)
|
|
60
|
+
return;
|
|
61
|
+
net.events.emitInternal(types_1.ServerInternalEventName.PlayerDimensionChange, player, oldDim, newDim);
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.CCMPPlayersManager = CCMPPlayersManager;
|