rock-mod 0.17.0 → 0.19.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 +9 -1
- package/dist/client/RockMod.js +53 -32
- package/dist/client/console/common/IConsoleManager.d.ts +8 -0
- package/dist/client/console/common/IConsoleManager.js +1 -0
- package/dist/client/console/common/index.d.ts +1 -0
- package/dist/client/console/common/index.js +1 -0
- package/dist/client/console/index.d.ts +1 -0
- package/dist/client/console/index.js +1 -0
- package/dist/client/console/ragemp/RageConsoleManager.d.ts +9 -0
- package/dist/client/console/ragemp/RageConsoleManager.js +20 -0
- package/dist/client/entities/common/baseObject/IBaseObject.d.ts +4 -1
- package/dist/client/entities/common/baseObject/IBaseObjectsManager.d.ts +4 -1
- package/dist/client/entities/common/blip/IBlip.d.ts +3 -2
- package/dist/client/entities/common/camera/ICamera.d.ts +16 -0
- package/dist/client/entities/common/camera/ICamera.js +1 -0
- package/dist/client/entities/common/camera/ICameraManager.d.ts +14 -0
- package/dist/client/entities/common/camera/ICameraManager.js +1 -0
- package/dist/client/entities/common/camera/index.d.ts +2 -0
- package/dist/client/entities/common/camera/index.js +2 -0
- package/dist/client/entities/common/colshape/IColshapesManager.d.ts +1 -1
- package/dist/client/entities/common/entity/IEntitiesManager.d.ts +4 -1
- package/dist/client/entities/common/entity/IEntity.d.ts +21 -2
- package/dist/client/entities/common/index.d.ts +2 -0
- package/dist/client/entities/common/index.js +2 -0
- package/dist/client/entities/common/marker/IMarker.d.ts +6 -2
- package/dist/client/entities/common/marker/IMarkersManager.d.ts +2 -2
- package/dist/client/entities/common/object/IObject.d.ts +2 -2
- package/dist/client/entities/common/ped/IPed.d.ts +14 -0
- package/dist/client/entities/common/player/IPlayer.d.ts +36 -2
- package/dist/client/entities/common/player/IPlayersManager.d.ts +4 -0
- package/dist/client/entities/common/router/IEntityPoolRouter.d.ts +8 -0
- package/dist/client/entities/common/router/IEntityPoolRouter.js +1 -0
- package/dist/client/entities/common/router/index.d.ts +1 -0
- package/dist/client/entities/common/router/index.js +1 -0
- package/dist/client/entities/common/vehicle/IVehicle.d.ts +38 -0
- package/dist/client/entities/common/vehicle/IVehiclesManager.d.ts +1 -0
- package/dist/client/entities/common/worldObject/IWorldObject.d.ts +2 -1
- package/dist/client/entities/common/worldObject/IWorldObjectsIterator.d.ts +1 -1
- package/dist/client/entities/common/worldObject/IWorldObjectsManager.d.ts +1 -1
- package/dist/client/entities/ragemp/baseObject/RageBaseObject.d.ts +4 -1
- package/dist/client/entities/ragemp/baseObject/RageBaseObject.js +9 -0
- package/dist/client/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +3 -0
- package/dist/client/entities/ragemp/baseObject/RageBaseObjectsManager.js +22 -2
- package/dist/client/entities/ragemp/blip/RageBlip.d.ts +4 -1
- package/dist/client/entities/ragemp/blip/RageBlip.js +14 -5
- package/dist/client/entities/ragemp/camera/RageCamera.d.ts +19 -0
- package/dist/client/entities/ragemp/camera/RageCamera.js +43 -0
- package/dist/client/entities/ragemp/camera/RageCameraManager.d.ts +9 -0
- package/dist/client/entities/ragemp/camera/RageCameraManager.js +26 -0
- package/dist/client/entities/ragemp/entity/RageEntitiesManager.d.ts +3 -0
- package/dist/client/entities/ragemp/entity/RageEntitiesManager.js +5 -0
- package/dist/client/entities/ragemp/entity/RageEntity.d.ts +20 -1
- package/dist/client/entities/ragemp/entity/RageEntity.js +57 -0
- package/dist/client/entities/ragemp/marker/RageMarker.d.ts +6 -2
- package/dist/client/entities/ragemp/marker/RageMarker.js +16 -1
- package/dist/client/entities/ragemp/object/RageObject.d.ts +3 -3
- package/dist/client/entities/ragemp/object/RageObject.js +5 -5
- package/dist/client/entities/ragemp/object/RageObjectsManager.d.ts +2 -0
- package/dist/client/entities/ragemp/object/RageObjectsManager.js +18 -0
- package/dist/client/entities/ragemp/ped/RagePed.d.ts +14 -0
- package/dist/client/entities/ragemp/ped/RagePed.js +46 -0
- package/dist/client/entities/ragemp/ped/RagePedsManager.d.ts +2 -0
- package/dist/client/entities/ragemp/ped/RagePedsManager.js +18 -0
- package/dist/client/entities/ragemp/player/RagePlayer.d.ts +36 -2
- package/dist/client/entities/ragemp/player/RagePlayer.js +111 -3
- package/dist/client/entities/ragemp/player/RagePlayersManager.d.ts +8 -4
- package/dist/client/entities/ragemp/player/RagePlayersManager.js +41 -18
- package/dist/client/entities/ragemp/router/RageEntityPoolRouter.d.ts +12 -0
- package/dist/client/entities/ragemp/router/RageEntityPoolRouter.js +65 -0
- package/dist/client/entities/ragemp/vehicle/RageVehicle.d.ts +35 -1
- package/dist/client/entities/ragemp/vehicle/RageVehicle.js +102 -0
- package/dist/client/entities/ragemp/vehicle/RageVehiclesManager.d.ts +3 -0
- package/dist/client/entities/ragemp/vehicle/RageVehiclesManager.js +21 -0
- package/dist/client/entities/ragemp/worldObject/RageWorldObject.d.ts +1 -0
- package/dist/client/entities/ragemp/worldObject/RageWorldObject.js +3 -0
- package/dist/client/factories/common/IManagersFactory.d.ts +27 -2
- package/dist/client/factories/ragemp/RageManagersFactory.d.ts +56 -10
- package/dist/client/factories/ragemp/RageManagersFactory.js +103 -11
- package/dist/client/game/common/IGameManagers.d.ts +44 -0
- package/dist/client/game/common/IGameManagers.js +1 -0
- package/dist/client/game/common/browser/IBrowserManager.d.ts +5 -0
- package/dist/client/game/common/browser/IBrowserManager.js +1 -0
- package/dist/client/game/common/browser/index.d.ts +1 -0
- package/dist/client/game/common/browser/index.js +1 -0
- package/dist/client/game/common/camera/IGameCameraManager.d.ts +4 -0
- package/dist/client/game/common/camera/IGameCameraManager.js +1 -0
- package/dist/client/game/common/camera/index.d.ts +1 -0
- package/dist/client/game/common/camera/index.js +1 -0
- package/dist/client/game/common/chat/IChatManager.d.ts +4 -0
- package/dist/client/game/common/chat/IChatManager.js +1 -0
- package/dist/client/game/common/chat/index.d.ts +1 -0
- package/dist/client/game/common/chat/index.js +1 -0
- package/dist/client/game/common/controls/IControlsManager.d.ts +6 -0
- package/dist/client/game/common/controls/IControlsManager.js +1 -0
- package/dist/client/game/common/controls/index.d.ts +1 -0
- package/dist/client/game/common/controls/index.js +1 -0
- package/dist/client/game/common/cursor/ICursorManager.d.ts +5 -0
- package/dist/client/game/common/cursor/ICursorManager.js +1 -0
- package/dist/client/game/common/cursor/index.d.ts +1 -0
- package/dist/client/game/common/cursor/index.js +1 -0
- package/dist/client/game/common/gameplay/IGameplayManager.d.ts +5 -0
- package/dist/client/game/common/gameplay/IGameplayManager.js +1 -0
- package/dist/client/game/common/gameplay/index.d.ts +1 -0
- package/dist/client/game/common/gameplay/index.js +1 -0
- package/dist/client/game/common/graphics/IGraphicsManager.d.ts +14 -0
- package/dist/client/game/common/graphics/IGraphicsManager.js +1 -0
- package/dist/client/game/common/graphics/index.d.ts +1 -0
- package/dist/client/game/common/graphics/index.js +1 -0
- package/dist/client/game/common/gui/IGuiManager.d.ts +3 -0
- package/dist/client/game/common/gui/IGuiManager.js +1 -0
- package/dist/client/game/common/gui/index.d.ts +1 -0
- package/dist/client/game/common/gui/index.js +1 -0
- package/dist/client/game/common/index.d.ts +22 -0
- package/dist/client/game/common/index.js +22 -0
- package/dist/client/game/common/keys/IKeysManager.d.ts +6 -0
- package/dist/client/game/common/keys/IKeysManager.js +1 -0
- package/dist/client/game/common/keys/index.d.ts +1 -0
- package/dist/client/game/common/keys/index.js +1 -0
- package/dist/client/game/common/localPlayer/ILocalPlayerManager.d.ts +4 -0
- package/dist/client/game/common/localPlayer/ILocalPlayerManager.js +1 -0
- package/dist/client/game/common/localPlayer/index.d.ts +1 -0
- package/dist/client/game/common/localPlayer/index.js +1 -0
- package/dist/client/game/common/nametags/INametagsManager.d.ts +3 -0
- package/dist/client/game/common/nametags/INametagsManager.js +1 -0
- package/dist/client/game/common/nametags/index.d.ts +1 -0
- package/dist/client/game/common/nametags/index.js +1 -0
- package/dist/client/game/common/native/INativeCallerManager.d.ts +3 -0
- package/dist/client/game/common/native/INativeCallerManager.js +1 -0
- package/dist/client/game/common/native/index.d.ts +1 -0
- package/dist/client/game/common/native/index.js +1 -0
- package/dist/client/game/common/object/IGameObjectManager.d.ts +3 -0
- package/dist/client/game/common/object/IGameObjectManager.js +1 -0
- package/dist/client/game/common/object/index.d.ts +1 -0
- package/dist/client/game/common/object/index.js +1 -0
- package/dist/client/game/common/pathfind/IPathfindManager.d.ts +8 -0
- package/dist/client/game/common/pathfind/IPathfindManager.js +1 -0
- package/dist/client/game/common/pathfind/index.d.ts +1 -0
- package/dist/client/game/common/pathfind/index.js +1 -0
- package/dist/client/game/common/raycasting/IRaycastingManager.d.ts +15 -0
- package/dist/client/game/common/raycasting/IRaycastingManager.js +1 -0
- package/dist/client/game/common/raycasting/index.d.ts +1 -0
- package/dist/client/game/common/raycasting/index.js +1 -0
- package/dist/client/game/common/storage/IStorageManager.d.ts +6 -0
- package/dist/client/game/common/storage/IStorageManager.js +1 -0
- package/dist/client/game/common/storage/index.d.ts +1 -0
- package/dist/client/game/common/storage/index.js +1 -0
- package/dist/client/game/common/streaming/IStreamingManager.d.ts +12 -0
- package/dist/client/game/common/streaming/IStreamingManager.js +1 -0
- package/dist/client/game/common/streaming/index.d.ts +1 -0
- package/dist/client/game/common/streaming/index.js +1 -0
- package/dist/client/game/common/ui/IUiManager.d.ts +11 -0
- package/dist/client/game/common/ui/IUiManager.js +1 -0
- package/dist/client/game/common/ui/index.d.ts +1 -0
- package/dist/client/game/common/ui/index.js +1 -0
- package/dist/client/game/common/voiceChat/IVoiceChatManager.d.ts +4 -0
- package/dist/client/game/common/voiceChat/IVoiceChatManager.js +1 -0
- package/dist/client/game/common/voiceChat/index.d.ts +1 -0
- package/dist/client/game/common/voiceChat/index.js +1 -0
- package/dist/client/game/common/weapon/IWeaponManager.d.ts +3 -0
- package/dist/client/game/common/weapon/IWeaponManager.js +1 -0
- package/dist/client/game/common/weapon/index.d.ts +1 -0
- package/dist/client/game/common/weapon/index.js +1 -0
- package/dist/client/game/common/zone/IZoneManager.d.ts +4 -0
- package/dist/client/game/common/zone/IZoneManager.js +1 -0
- package/dist/client/game/common/zone/index.d.ts +1 -0
- package/dist/client/game/common/zone/index.js +1 -0
- package/dist/client/game/index.d.ts +1 -0
- package/dist/client/game/index.js +1 -0
- package/dist/client/game/ragemp/browser/RageBrowserManager.d.ts +7 -0
- package/dist/client/game/ragemp/browser/RageBrowserManager.js +19 -0
- package/dist/client/game/ragemp/camera/RageGameCameraManager.d.ts +5 -0
- package/dist/client/game/ragemp/camera/RageGameCameraManager.js +8 -0
- package/dist/client/game/ragemp/chat/RageChatManager.d.ts +5 -0
- package/dist/client/game/ragemp/chat/RageChatManager.js +8 -0
- package/dist/client/game/ragemp/controls/RageControlsManager.d.ts +7 -0
- package/dist/client/game/ragemp/controls/RageControlsManager.js +14 -0
- package/dist/client/game/ragemp/cursor/RageCursorManager.d.ts +6 -0
- package/dist/client/game/ragemp/cursor/RageCursorManager.js +10 -0
- package/dist/client/game/ragemp/gameplay/RageGameplayManager.d.ts +6 -0
- package/dist/client/game/ragemp/gameplay/RageGameplayManager.js +8 -0
- package/dist/client/game/ragemp/graphics/RageGraphicsManager.d.ts +8 -0
- package/dist/client/game/ragemp/graphics/RageGraphicsManager.js +30 -0
- package/dist/client/game/ragemp/gui/RageGuiManager.d.ts +4 -0
- package/dist/client/game/ragemp/gui/RageGuiManager.js +5 -0
- package/dist/client/game/ragemp/keys/RageKeysManager.d.ts +7 -0
- package/dist/client/game/ragemp/keys/RageKeysManager.js +14 -0
- package/dist/client/game/ragemp/localPlayer/RageLocalPlayerManager.d.ts +5 -0
- package/dist/client/game/ragemp/localPlayer/RageLocalPlayerManager.js +8 -0
- package/dist/client/game/ragemp/nametags/RageNametagsManager.d.ts +4 -0
- package/dist/client/game/ragemp/nametags/RageNametagsManager.js +5 -0
- package/dist/client/game/ragemp/native/RageNativeCallerManager.d.ts +4 -0
- package/dist/client/game/ragemp/native/RageNativeCallerManager.js +5 -0
- package/dist/client/game/ragemp/object/RageGameObjectManager.d.ts +4 -0
- package/dist/client/game/ragemp/object/RageGameObjectManager.js +5 -0
- package/dist/client/game/ragemp/pathfind/RagePathfindManager.d.ts +5 -0
- package/dist/client/game/ragemp/pathfind/RagePathfindManager.js +5 -0
- package/dist/client/game/ragemp/raycasting/RageRaycastingManager.d.ts +8 -0
- package/dist/client/game/ragemp/raycasting/RageRaycastingManager.js +41 -0
- package/dist/client/game/ragemp/storage/RageStorageManager.d.ts +7 -0
- package/dist/client/game/ragemp/storage/RageStorageManager.js +20 -0
- package/dist/client/game/ragemp/streaming/RageStreamingManager.d.ts +13 -0
- package/dist/client/game/ragemp/streaming/RageStreamingManager.js +30 -0
- package/dist/client/game/ragemp/ui/RageUiManager.d.ts +12 -0
- package/dist/client/game/ragemp/ui/RageUiManager.js +28 -0
- package/dist/client/game/ragemp/voiceChat/RageVoiceChatManager.d.ts +5 -0
- package/dist/client/game/ragemp/voiceChat/RageVoiceChatManager.js +8 -0
- package/dist/client/game/ragemp/weapon/RageWeaponManager.d.ts +4 -0
- package/dist/client/game/ragemp/weapon/RageWeaponManager.js +5 -0
- package/dist/client/game/ragemp/zone/RageZoneManager.d.ts +5 -0
- package/dist/client/game/ragemp/zone/RageZoneManager.js +5 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.js +2 -0
- package/dist/client/net/common/INetManager.d.ts +2 -0
- package/dist/client/net/common/dataHandler/IDataHandler.d.ts +4 -0
- package/dist/client/net/common/dataHandler/IDataHandler.js +1 -0
- package/dist/client/net/common/events/IEventsBridge.d.ts +4 -0
- package/dist/client/net/common/events/IEventsBridge.js +1 -0
- package/dist/client/net/common/events/IEventsManager.d.ts +7 -3
- package/dist/client/net/common/events/types.d.ts +35 -2
- package/dist/client/net/common/events/types.js +11 -0
- package/dist/client/net/common/rpc/IRPCManager.d.ts +1 -1
- package/dist/client/net/ragemp/RageNetManager.d.ts +5 -0
- package/dist/client/net/ragemp/RageNetManager.js +11 -0
- package/dist/client/net/ragemp/dataHandler/RageDataHandler.d.ts +7 -0
- package/dist/client/net/ragemp/dataHandler/RageDataHandler.js +14 -0
- package/dist/client/net/ragemp/events/RageEventsBridge.d.ts +12 -0
- package/dist/client/net/ragemp/events/RageEventsBridge.js +137 -0
- package/dist/client/net/ragemp/events/RageEventsManager.d.ts +10 -9
- package/dist/client/net/ragemp/events/RageEventsManager.js +12 -0
- package/dist/client/net/ragemp/rpc/RageRPCManager.d.ts +1 -1
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.d.ts +1 -0
- package/dist/server/entities/ragemp/baseObject/RageBaseObjectsManager.js +10 -1
- package/dist/server/entities/ragemp/player/RagePlayersManager.js +28 -1
- package/dist/server/net/altv/events/AltVEventsManager.d.ts +1 -0
- package/dist/server/net/altv/events/AltVEventsManager.js +3 -0
- package/dist/server/net/common/events/IEventsManager.d.ts +1 -0
- package/dist/server/net/common/events/types.d.ts +11 -1
- package/dist/server/net/common/events/types.js +5 -0
- package/dist/server/net/mock/events/MockEventsManager.d.ts +1 -0
- package/dist/server/net/mock/events/MockEventsManager.js +3 -0
- package/dist/server/net/ragemp/events/RageEventsManager.d.ts +1 -0
- package/dist/server/net/ragemp/events/RageEventsManager.js +5 -0
- package/dist/shared/common/utils/color/RGBA.d.ts +3 -1
- package/dist/shared/entities/IBaseObject.d.ts +6 -1
- package/dist/shared/entities/IBaseObject.js +1 -0
- package/dist/shared/net/common/events/types.d.ts +6 -1
- package/dist/shared/net/common/events/types.js +2 -0
- package/dist/shared/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -2
|
@@ -2,12 +2,21 @@ export class RageBaseObject {
|
|
|
2
2
|
get id() {
|
|
3
3
|
return this._mpEntity.id;
|
|
4
4
|
}
|
|
5
|
+
get remoteId() {
|
|
6
|
+
return this.mpEntity.remoteId;
|
|
7
|
+
}
|
|
8
|
+
get handle() {
|
|
9
|
+
return this.mpEntity.handle;
|
|
10
|
+
}
|
|
5
11
|
get type() {
|
|
6
12
|
return this._mpEntity.type;
|
|
7
13
|
}
|
|
8
14
|
get isExists() {
|
|
9
15
|
return this._mpEntity.isExists();
|
|
10
16
|
}
|
|
17
|
+
destroy() {
|
|
18
|
+
this.mpEntity.destroy();
|
|
19
|
+
}
|
|
11
20
|
get mpEntity() {
|
|
12
21
|
return this._mpEntity;
|
|
13
22
|
}
|
|
@@ -12,6 +12,9 @@ export declare abstract class RageBaseObjectsManager<T extends RageBaseObject<En
|
|
|
12
12
|
protected constructor(options: IRageBaseObjectsManagerOptions);
|
|
13
13
|
getByID(id: number): T;
|
|
14
14
|
findByID(id: number): T | null;
|
|
15
|
+
getByRemoteID(remoteId: number): T;
|
|
16
|
+
findByRemoteID(remoteId: number): T | null;
|
|
17
|
+
deleteById(id: number): T;
|
|
15
18
|
protected registerBaseObject(baseObject: T): void;
|
|
16
19
|
protected unregisterBaseObject(baseObject: T): void;
|
|
17
20
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RageBaseObjectsIterator } from "./RageBaseObjectsIterator";
|
|
2
2
|
import { RockMod } from "../../../RockMod";
|
|
3
|
-
import { ClientInternalEventName } from "
|
|
3
|
+
import { ClientInternalEventName } from "../../../net/common/events/types";
|
|
4
4
|
export class RageBaseObjectsManager {
|
|
5
5
|
get baseObjects() {
|
|
6
6
|
return this._baseObjects;
|
|
@@ -14,7 +14,10 @@ export class RageBaseObjectsManager {
|
|
|
14
14
|
this._iterator = new RageBaseObjectsIterator(this._baseObjects);
|
|
15
15
|
mp.events.add("entityDestroyed", (mpEntity) => {
|
|
16
16
|
if (mpEntity.type === this._baseObjectsType) {
|
|
17
|
-
const baseObject = this.
|
|
17
|
+
const baseObject = this.findByID(mpEntity.id);
|
|
18
|
+
if (!baseObject) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
18
21
|
this.unregisterBaseObject(baseObject);
|
|
19
22
|
}
|
|
20
23
|
});
|
|
@@ -30,6 +33,23 @@ export class RageBaseObjectsManager {
|
|
|
30
33
|
const baseObject = this._baseObjects.get(id);
|
|
31
34
|
return baseObject !== null && baseObject !== void 0 ? baseObject : null;
|
|
32
35
|
}
|
|
36
|
+
getByRemoteID(remoteId) {
|
|
37
|
+
const baseObject = this.findByRemoteID(remoteId);
|
|
38
|
+
if (!baseObject) {
|
|
39
|
+
throw new Error(`BaseObject [${this._baseObjectsType}] with id ${remoteId} not found`);
|
|
40
|
+
}
|
|
41
|
+
return baseObject;
|
|
42
|
+
}
|
|
43
|
+
findByRemoteID(remoteId) {
|
|
44
|
+
const baseObject = Array.from(this._baseObjects.values()).find((obj) => obj.remoteId === remoteId);
|
|
45
|
+
return baseObject !== null && baseObject !== void 0 ? baseObject : null;
|
|
46
|
+
}
|
|
47
|
+
deleteById(id) {
|
|
48
|
+
const object = this.getByID(id);
|
|
49
|
+
object.destroy();
|
|
50
|
+
this.unregisterBaseObject(object);
|
|
51
|
+
return object;
|
|
52
|
+
}
|
|
33
53
|
registerBaseObject(baseObject) {
|
|
34
54
|
if (this._baseObjects.has(baseObject.id)) {
|
|
35
55
|
throw new Error(`BaseObject [${this._baseObjectsType}] with id ${baseObject.id} already exists`);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { type IRageWorldObjectOptions, RageWorldObject } from "../worldObject/RageWorldObject";
|
|
2
2
|
import { type IBlip } from "../../common/blip/IBlip";
|
|
3
|
-
import { type IBlipColor, type IBlipSprite } from "
|
|
3
|
+
import { type IBlipColor, type IBlipSprite } from "../../../../shared/entities";
|
|
4
4
|
export interface IRageBlipOptions extends IRageWorldObjectOptions<EntityMp> {
|
|
5
5
|
}
|
|
6
6
|
export declare class RageBlip extends RageWorldObject<EntityMp> implements IBlip {
|
|
7
|
+
private get _blipEntity();
|
|
7
8
|
get sprite(): IBlipSprite;
|
|
8
9
|
get color(): IBlipColor;
|
|
9
10
|
get alpha(): number;
|
|
@@ -12,4 +13,6 @@ export declare class RageBlip extends RageWorldObject<EntityMp> implements IBlip
|
|
|
12
13
|
setSprite(value: IBlipSprite): void;
|
|
13
14
|
setColor(value: IBlipColor): void;
|
|
14
15
|
setAlpha(value: number): void;
|
|
16
|
+
setShowHeadingIndicator(value: boolean): void;
|
|
17
|
+
setRotation(value: number): void;
|
|
15
18
|
}
|
|
@@ -1,27 +1,36 @@
|
|
|
1
1
|
import { RageWorldObject } from "../worldObject/RageWorldObject";
|
|
2
2
|
export class RageBlip extends RageWorldObject {
|
|
3
|
+
get _blipEntity() {
|
|
4
|
+
return this.mpEntity;
|
|
5
|
+
}
|
|
3
6
|
get sprite() {
|
|
4
|
-
return this.
|
|
7
|
+
return this._blipEntity.getSprite();
|
|
5
8
|
}
|
|
6
9
|
get color() {
|
|
7
|
-
return this.
|
|
10
|
+
return this._blipEntity.getColour();
|
|
8
11
|
}
|
|
9
12
|
get alpha() {
|
|
10
13
|
return this.mpEntity.alpha;
|
|
11
14
|
}
|
|
12
15
|
get shortRange() {
|
|
13
|
-
return this.
|
|
16
|
+
return this._blipEntity.isShortRange();
|
|
14
17
|
}
|
|
15
18
|
constructor(options) {
|
|
16
19
|
super(options);
|
|
17
20
|
}
|
|
18
21
|
setSprite(value) {
|
|
19
|
-
this.
|
|
22
|
+
this._blipEntity.setSprite(value);
|
|
20
23
|
}
|
|
21
24
|
setColor(value) {
|
|
22
|
-
this.
|
|
25
|
+
this._blipEntity.setColour(value);
|
|
23
26
|
}
|
|
24
27
|
setAlpha(value) {
|
|
25
28
|
this.mpEntity.alpha = value;
|
|
26
29
|
}
|
|
30
|
+
setShowHeadingIndicator(value) {
|
|
31
|
+
this._blipEntity.setShowHeadingIndicator(value);
|
|
32
|
+
}
|
|
33
|
+
setRotation(value) {
|
|
34
|
+
this._blipEntity.setRotation(value);
|
|
35
|
+
}
|
|
27
36
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ICamera } from "../../../entities";
|
|
2
|
+
import { type IVector3D, Vector3D } from "../../../../shared/index";
|
|
3
|
+
import { type IRageBaseObjectOptions, RageBaseObject } from "../../../entities/ragemp/baseObject/RageBaseObject";
|
|
4
|
+
export interface IRageCameraOptions extends IRageBaseObjectOptions<EntityMp> {
|
|
5
|
+
}
|
|
6
|
+
export declare class RageCamera extends RageBaseObject implements ICamera {
|
|
7
|
+
constructor(options: IRageCameraOptions);
|
|
8
|
+
private get _cameraEntity();
|
|
9
|
+
get isActive(): boolean;
|
|
10
|
+
setIsActive(value: boolean): void;
|
|
11
|
+
get direction(): IVector3D;
|
|
12
|
+
get fov(): number;
|
|
13
|
+
setFov(value: number): void;
|
|
14
|
+
pointAtCoord(value: IVector3D): void;
|
|
15
|
+
setPosition(value: Vector3D): void;
|
|
16
|
+
get position(): Vector3D;
|
|
17
|
+
get rotation(): IVector3D;
|
|
18
|
+
setRotation(value: IVector3D): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Vector3D } from "../../../../shared/index";
|
|
2
|
+
import { RageBaseObject } from "../../../entities/ragemp/baseObject/RageBaseObject";
|
|
3
|
+
export class RageCamera extends RageBaseObject {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
}
|
|
7
|
+
get _cameraEntity() {
|
|
8
|
+
return this.mpEntity;
|
|
9
|
+
}
|
|
10
|
+
get isActive() {
|
|
11
|
+
return this._cameraEntity.isActive();
|
|
12
|
+
}
|
|
13
|
+
setIsActive(value) {
|
|
14
|
+
this._cameraEntity.setActive(value);
|
|
15
|
+
}
|
|
16
|
+
get direction() {
|
|
17
|
+
const { x, y, z } = this._cameraEntity.getDirection();
|
|
18
|
+
return new Vector3D(x, y, z);
|
|
19
|
+
}
|
|
20
|
+
get fov() {
|
|
21
|
+
return this._cameraEntity.getFov();
|
|
22
|
+
}
|
|
23
|
+
setFov(value) {
|
|
24
|
+
this._cameraEntity.setFov(value);
|
|
25
|
+
}
|
|
26
|
+
pointAtCoord(value) {
|
|
27
|
+
this._cameraEntity.pointAtCoord(value.x, value.y, value.z);
|
|
28
|
+
}
|
|
29
|
+
setPosition(value) {
|
|
30
|
+
this._cameraEntity.setCoord(value.x, value.y, value.z);
|
|
31
|
+
}
|
|
32
|
+
get position() {
|
|
33
|
+
const { x, y, z } = this._cameraEntity.getCoord();
|
|
34
|
+
return new Vector3D(x, y, z);
|
|
35
|
+
}
|
|
36
|
+
get rotation() {
|
|
37
|
+
const { x, y, z } = this._cameraEntity.getRot(2);
|
|
38
|
+
return new Vector3D(x, y, z);
|
|
39
|
+
}
|
|
40
|
+
setRotation(value) {
|
|
41
|
+
this._cameraEntity.setRot(value.x, value.y, value.z, 2);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RageCamera } from "../../../entities/ragemp/camera/RageCamera";
|
|
2
|
+
import { type ICameraCreateOptions, type ICameraManager } from "../../../entities";
|
|
3
|
+
import { RageBaseObjectsManager } from "../../../entities/ragemp/baseObject/RageBaseObjectsManager";
|
|
4
|
+
export declare class RageCameraManager extends RageBaseObjectsManager<RageCamera> implements ICameraManager {
|
|
5
|
+
constructor();
|
|
6
|
+
create(options: ICameraCreateOptions): RageCamera;
|
|
7
|
+
renderScriptCams(render: boolean, ease: boolean, easeTime: number, freezePreviousCamera: boolean): void;
|
|
8
|
+
getGameplayCamera(): RageCamera;
|
|
9
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RageCamera } from "../../../entities/ragemp/camera/RageCamera";
|
|
2
|
+
import { RageBaseObjectsManager } from "../../../entities/ragemp/baseObject/RageBaseObjectsManager";
|
|
3
|
+
export class RageCameraManager extends RageBaseObjectsManager {
|
|
4
|
+
constructor() {
|
|
5
|
+
super({
|
|
6
|
+
baseObjectsType: "camera",
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
create(options) {
|
|
10
|
+
const mpEntity = mp.cameras.new(options.name, new mp.Vector3(options.position), new mp.Vector3(options.rotation), options.fov);
|
|
11
|
+
const camera = new RageCamera({
|
|
12
|
+
mpEntity: mpEntity,
|
|
13
|
+
});
|
|
14
|
+
this.registerBaseObject(camera);
|
|
15
|
+
return camera;
|
|
16
|
+
}
|
|
17
|
+
renderScriptCams(render, ease, easeTime, freezePreviousCamera) {
|
|
18
|
+
mp.game.cam.renderScriptCams(render, ease, easeTime, freezePreviousCamera, false, 0);
|
|
19
|
+
}
|
|
20
|
+
getGameplayCamera() {
|
|
21
|
+
const mpCamera = mp.cameras.gameplay;
|
|
22
|
+
return new RageCamera({
|
|
23
|
+
mpEntity: mpCamera,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -5,4 +5,7 @@ export interface IRageEntitiesManagerOptions extends IRageWorldObjectsManagerOpt
|
|
|
5
5
|
}
|
|
6
6
|
export declare abstract class RageEntitiesManager<T extends RageEntity<EntityMp>> extends RageWorldObjectsManager<T> implements IEntitiesManager<T> {
|
|
7
7
|
protected constructor(options: IRageEntitiesManagerOptions);
|
|
8
|
+
abstract syncWithMpPool(): void;
|
|
9
|
+
abstract registerById(id: number): T;
|
|
10
|
+
unregisterById(id: number): T;
|
|
8
11
|
}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
|
+
import { type IBaseObject } from "../../common/baseObject";
|
|
1
2
|
import { type IEntity } from "../../common/entity/IEntity";
|
|
2
3
|
import { type IRageWorldObjectOptions, RageWorldObject } from "../worldObject/RageWorldObject";
|
|
3
|
-
import { Vector3D } from "../../../../shared/common/utils";
|
|
4
|
+
import { type IVector3D, Vector3D } from "../../../../shared/common/utils";
|
|
4
5
|
export interface IRageEntityOptions<T extends EntityMp> extends IRageWorldObjectOptions<T> {
|
|
5
6
|
}
|
|
6
7
|
export declare abstract class RageEntity<T extends EntityMp> extends RageWorldObject<T> implements IEntity {
|
|
7
8
|
get model(): number;
|
|
8
9
|
get rotation(): Vector3D;
|
|
9
10
|
protected constructor(options: IRageEntityOptions<T>);
|
|
11
|
+
get heading(): number;
|
|
12
|
+
setHeading(heading: number): void;
|
|
10
13
|
setModel(value: string): void;
|
|
11
14
|
setRotation(value: Vector3D): void;
|
|
15
|
+
get forwardVector(): Vector3D;
|
|
16
|
+
freezePosition(freeze: boolean): void;
|
|
17
|
+
setCollision(collision: boolean, keepPhysics: boolean): void;
|
|
18
|
+
setInvincible(invincible: boolean): void;
|
|
19
|
+
setVisible(visible: boolean): void;
|
|
20
|
+
setAlpha(alpha: number): void;
|
|
21
|
+
get alpha(): number;
|
|
22
|
+
getOffsetFromInWorldCoords(offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
23
|
+
resetAlpha(): void;
|
|
24
|
+
getBoneIndexByName(boneName: string): number;
|
|
25
|
+
getWorldPositionOfBone(boneIndex: number): IVector3D;
|
|
26
|
+
getVariable(name: string): unknown | null;
|
|
27
|
+
attachToEntity(target: IBaseObject, boneIndex: number, offset: IVector3D, rotation: IVector3D, p9: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number, fixedRot: boolean): void;
|
|
28
|
+
detach(useDetachVelocity: boolean, collision: boolean): void;
|
|
29
|
+
getSpeed(): number;
|
|
30
|
+
isPlayingAnim(dictionary: string, name: string, taskFlag: number): boolean;
|
|
12
31
|
}
|
|
@@ -11,10 +11,67 @@ export class RageEntity extends RageWorldObject {
|
|
|
11
11
|
constructor(options) {
|
|
12
12
|
super(options);
|
|
13
13
|
}
|
|
14
|
+
get heading() {
|
|
15
|
+
return this.mpEntity.getHeading();
|
|
16
|
+
}
|
|
17
|
+
setHeading(heading) {
|
|
18
|
+
this.mpEntity.setHeading(heading);
|
|
19
|
+
}
|
|
14
20
|
setModel(value) {
|
|
15
21
|
this.mpEntity.model = mp.game.joaat(value);
|
|
16
22
|
}
|
|
17
23
|
setRotation(value) {
|
|
18
24
|
this.mpEntity.rotation = new mp.Vector3(value);
|
|
19
25
|
}
|
|
26
|
+
get forwardVector() {
|
|
27
|
+
const vector = this.mpEntity.getForwardVector();
|
|
28
|
+
return new Vector3D(vector.x, vector.y, vector.z);
|
|
29
|
+
}
|
|
30
|
+
freezePosition(freeze) {
|
|
31
|
+
this.mpEntity.freezePosition(freeze);
|
|
32
|
+
}
|
|
33
|
+
setCollision(collision, keepPhysics) {
|
|
34
|
+
this.mpEntity.setCollision(collision, keepPhysics);
|
|
35
|
+
}
|
|
36
|
+
setInvincible(invincible) {
|
|
37
|
+
this.mpEntity.setInvincible(invincible);
|
|
38
|
+
}
|
|
39
|
+
setVisible(visible) {
|
|
40
|
+
this.mpEntity.setVisible(visible, false);
|
|
41
|
+
}
|
|
42
|
+
setAlpha(alpha) {
|
|
43
|
+
this.mpEntity.setAlpha(alpha);
|
|
44
|
+
}
|
|
45
|
+
get alpha() {
|
|
46
|
+
return this.mpEntity.alpha;
|
|
47
|
+
}
|
|
48
|
+
getOffsetFromInWorldCoords(offsetX, offsetY, offsetZ) {
|
|
49
|
+
const { x, y, z } = this.mpEntity.getOffsetFromInWorldCoords(offsetX, offsetY, offsetZ);
|
|
50
|
+
return new Vector3D(x, y, z);
|
|
51
|
+
}
|
|
52
|
+
resetAlpha() {
|
|
53
|
+
this.mpEntity.resetAlpha();
|
|
54
|
+
}
|
|
55
|
+
getBoneIndexByName(boneName) {
|
|
56
|
+
return this.mpEntity.getBoneIndexByName(boneName);
|
|
57
|
+
}
|
|
58
|
+
getWorldPositionOfBone(boneIndex) {
|
|
59
|
+
const { x, y, z } = this.mpEntity.getWorldPositionOfBone(boneIndex);
|
|
60
|
+
return new Vector3D(x, y, z);
|
|
61
|
+
}
|
|
62
|
+
getVariable(name) {
|
|
63
|
+
return this.mpEntity.getVariable(name);
|
|
64
|
+
}
|
|
65
|
+
attachToEntity(target, boneIndex, offset, rotation, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot) {
|
|
66
|
+
mp.game.entity.attachToEntity(this.handle, target.handle, boneIndex, offset.x, offset.y, offset.z, rotation.x, rotation.y, rotation.z, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot);
|
|
67
|
+
}
|
|
68
|
+
detach(useDetachVelocity, collision) {
|
|
69
|
+
mp.game.entity.detach(this.handle, useDetachVelocity, collision);
|
|
70
|
+
}
|
|
71
|
+
getSpeed() {
|
|
72
|
+
return mp.game.entity.getSpeed(this.handle);
|
|
73
|
+
}
|
|
74
|
+
isPlayingAnim(dictionary, name, taskFlag) {
|
|
75
|
+
return mp.game.entity.isPlayingAnim(this.handle, dictionary, name, taskFlag);
|
|
76
|
+
}
|
|
20
77
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type IMarker } from "../../common";
|
|
2
2
|
import { type IRageWorldObjectOptions, RageWorldObject } from "../worldObject/RageWorldObject";
|
|
3
|
-
import { type IVector3D } from "../../../../shared/common/utils";
|
|
4
|
-
import { type IMarkerType } from "
|
|
3
|
+
import { type IRGBA, type IVector3D } from "../../../../shared/common/utils";
|
|
4
|
+
import { type IMarkerType } from "../../../../shared/entities";
|
|
5
5
|
export interface IRageMarkerOptions extends IRageWorldObjectOptions<MarkerMp> {
|
|
6
6
|
}
|
|
7
7
|
export declare class RageMarker extends RageWorldObject<MarkerMp> implements IMarker {
|
|
@@ -11,4 +11,8 @@ export declare class RageMarker extends RageWorldObject<MarkerMp> implements IMa
|
|
|
11
11
|
constructor(options: IRageMarkerOptions);
|
|
12
12
|
setVisible(value: boolean): void;
|
|
13
13
|
setRotation(value: IVector3D): void;
|
|
14
|
+
get scale(): number;
|
|
15
|
+
setScale(value: number): void;
|
|
16
|
+
get color(): IRGBA;
|
|
17
|
+
setColor(value: IRGBA): void;
|
|
14
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RageWorldObject } from "../worldObject/RageWorldObject";
|
|
2
|
-
import { Vector3D } from "../../../../shared/common/utils";
|
|
2
|
+
import { RGBA, Vector3D } from "../../../../shared/common/utils";
|
|
3
3
|
export class RageMarker extends RageWorldObject {
|
|
4
4
|
get markerType() {
|
|
5
5
|
return this.mpEntity.model;
|
|
@@ -20,4 +20,19 @@ export class RageMarker extends RageWorldObject {
|
|
|
20
20
|
setRotation(value) {
|
|
21
21
|
this.mpEntity.rotation = new mp.Vector3(value);
|
|
22
22
|
}
|
|
23
|
+
get scale() {
|
|
24
|
+
return this.mpEntity.scale;
|
|
25
|
+
}
|
|
26
|
+
setScale(value) {
|
|
27
|
+
this.mpEntity.scale = value;
|
|
28
|
+
}
|
|
29
|
+
get color() {
|
|
30
|
+
var _a, _b, _c;
|
|
31
|
+
const color = this.mpEntity.color;
|
|
32
|
+
return new RGBA((_a = color[0]) !== null && _a !== void 0 ? _a : 0, (_b = color[1]) !== null && _b !== void 0 ? _b : 0, (_c = color[2]) !== null && _c !== void 0 ? _c : 0, color[3]);
|
|
33
|
+
}
|
|
34
|
+
setColor(value) {
|
|
35
|
+
var _a;
|
|
36
|
+
this.mpEntity.color = [value.r, value.g, value.b, (_a = value.a) !== null && _a !== void 0 ? _a : 255];
|
|
37
|
+
}
|
|
23
38
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type IRageEntityOptions, RageEntity } from "../entity/RageEntity";
|
|
2
|
-
import { type IObject } from "
|
|
2
|
+
import { type IObject } from "../../../entities";
|
|
3
3
|
export interface IRageObjectOptions extends IRageEntityOptions<ObjectMp> {
|
|
4
4
|
}
|
|
5
5
|
export declare class RageObject extends RageEntity<ObjectMp> implements IObject {
|
|
6
|
-
get alpha(): number;
|
|
7
6
|
constructor(options: IRageObjectOptions);
|
|
8
|
-
|
|
7
|
+
attachTo(entity: Handle, boneIndex: number, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number, zRot: number, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number, fixedRot: boolean): void;
|
|
8
|
+
isAttachedTo(entity: number): boolean;
|
|
9
9
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { RageEntity } from "../entity/RageEntity";
|
|
2
2
|
export class RageObject extends RageEntity {
|
|
3
|
-
get alpha() {
|
|
4
|
-
return this.mpEntity.alpha;
|
|
5
|
-
}
|
|
6
3
|
constructor(options) {
|
|
7
4
|
super(options);
|
|
8
5
|
}
|
|
9
|
-
|
|
10
|
-
this.mpEntity.
|
|
6
|
+
attachTo(entity, boneIndex, xPos, yPos, zPos, xRot, yRot, zRot, useSoftPinning, collision, isPed, vertexIndex, fixedRot) {
|
|
7
|
+
this.mpEntity.attachTo(entity, boneIndex, xPos, yPos, zPos, xRot, yRot, zRot, false, useSoftPinning, collision, isPed, vertexIndex, fixedRot);
|
|
8
|
+
}
|
|
9
|
+
isAttachedTo(entity) {
|
|
10
|
+
return this.mpEntity.isAttachedTo(entity);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -6,4 +6,6 @@ export interface IRageObjectCreateOptions extends IObjectCreateOptions {
|
|
|
6
6
|
export declare class RageObjectsManager extends RageEntitiesManager<RageObject> implements IObjectsManager {
|
|
7
7
|
constructor();
|
|
8
8
|
create(options: IRageObjectCreateOptions): RageObject;
|
|
9
|
+
syncWithMpPool(): void;
|
|
10
|
+
registerById(id: number): RageObject;
|
|
9
11
|
}
|
|
@@ -18,4 +18,22 @@ export class RageObjectsManager extends RageEntitiesManager {
|
|
|
18
18
|
this.registerBaseObject(object);
|
|
19
19
|
return object;
|
|
20
20
|
}
|
|
21
|
+
syncWithMpPool() {
|
|
22
|
+
for (const mpObject of mp.objects.toArray()) {
|
|
23
|
+
this.registerById(mpObject.id);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
registerById(id) {
|
|
27
|
+
const existingObject = this.findByID(id);
|
|
28
|
+
if (existingObject) {
|
|
29
|
+
return existingObject;
|
|
30
|
+
}
|
|
31
|
+
const mpObject = mp.objects.at(id);
|
|
32
|
+
mpObject.isExists = () => mp.objects.exists(mpObject);
|
|
33
|
+
const object = new RageObject({
|
|
34
|
+
mpEntity: mpObject,
|
|
35
|
+
});
|
|
36
|
+
this.registerBaseObject(object);
|
|
37
|
+
return object;
|
|
38
|
+
}
|
|
21
39
|
}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { type IRageEntityOptions, RageEntity } from "../entity/RageEntity";
|
|
2
2
|
import { type IPed } from "../../common";
|
|
3
|
+
import { type IVector3D } from "../../../../shared/common/utils";
|
|
3
4
|
export interface IRagePedOptions extends IRageEntityOptions<PedMp> {
|
|
4
5
|
}
|
|
5
6
|
export declare class RagePed extends RageEntity<PedMp> implements IPed {
|
|
6
7
|
constructor(options: IRagePedOptions);
|
|
8
|
+
setDecoration(collection: string, overlay: string): void;
|
|
9
|
+
removeDecoration(collection: string, overlay: string): void;
|
|
10
|
+
clearDecorations(): void;
|
|
11
|
+
setHeadBlendData(shapeFirstId: number, shapeSecondId: number, shapeThirdId: number, skinFirstId: number, skinSecondId: number, skinThirdId: number, shapeMix: number, skinMix: number, thirdMix: number, isParent: boolean): void;
|
|
12
|
+
setFaceFeature(index: number, value: number): void;
|
|
13
|
+
setHeadOverlay(overlayId: number, index: number, opacity: number): void;
|
|
14
|
+
setHeadOverlayColor(overlayId: number, colorTypeId: number, firstColor: number, secondColor: number): void;
|
|
15
|
+
setEyeColor(eyeColor: number): void;
|
|
16
|
+
setHairColor(colorId: number, highlightColorId: number): void;
|
|
17
|
+
setComponentVariation(componentId: number, drawableId: number, textureId: number, paletteId: number): void;
|
|
18
|
+
setPropertyVariation(componentId: number, drawableId: number, textureId: number, attach: boolean): void;
|
|
19
|
+
clearProp(componentId: number): void;
|
|
20
|
+
getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
7
21
|
}
|
|
@@ -1,6 +1,52 @@
|
|
|
1
1
|
import { RageEntity } from "../entity/RageEntity";
|
|
2
|
+
import { Vector3D } from "../../../../shared/common/utils";
|
|
2
3
|
export class RagePed extends RageEntity {
|
|
3
4
|
constructor(options) {
|
|
4
5
|
super(options);
|
|
5
6
|
}
|
|
7
|
+
setDecoration(collection, overlay) {
|
|
8
|
+
const collectionHash = mp.game.joaat(collection);
|
|
9
|
+
const overlayHash = mp.game.joaat(overlay);
|
|
10
|
+
this.mpEntity.setDecoration(collectionHash, overlayHash);
|
|
11
|
+
}
|
|
12
|
+
removeDecoration(collection, overlay) {
|
|
13
|
+
const collectionHash = mp.game.joaat(collection);
|
|
14
|
+
const overlayHash = mp.game.joaat(overlay);
|
|
15
|
+
// @ts-expect-error TODO test if this works
|
|
16
|
+
this.mpEntity.removeDecoration(collectionHash, overlayHash);
|
|
17
|
+
}
|
|
18
|
+
clearDecorations() {
|
|
19
|
+
this.mpEntity.clearDecorations();
|
|
20
|
+
}
|
|
21
|
+
setHeadBlendData(shapeFirstId, shapeSecondId, shapeThirdId, skinFirstId, skinSecondId, skinThirdId, shapeMix, skinMix, thirdMix, isParent) {
|
|
22
|
+
this.mpEntity.setHeadBlendData(shapeFirstId, shapeSecondId, shapeThirdId, skinFirstId, skinSecondId, skinThirdId, shapeMix, skinMix, thirdMix, isParent);
|
|
23
|
+
}
|
|
24
|
+
setFaceFeature(index, value) {
|
|
25
|
+
this.mpEntity.setFaceFeature(index, value);
|
|
26
|
+
}
|
|
27
|
+
setHeadOverlay(overlayId, index, opacity) {
|
|
28
|
+
this.mpEntity.setHeadOverlay(overlayId, index, opacity);
|
|
29
|
+
}
|
|
30
|
+
setHeadOverlayColor(overlayId, colorTypeId, firstColor, secondColor) {
|
|
31
|
+
this.mpEntity.setHeadOverlayColor(overlayId, colorTypeId, firstColor, secondColor);
|
|
32
|
+
}
|
|
33
|
+
setEyeColor(eyeColor) {
|
|
34
|
+
this.mpEntity.setEyeColor(eyeColor);
|
|
35
|
+
}
|
|
36
|
+
setHairColor(colorId, highlightColorId) {
|
|
37
|
+
this.mpEntity.setHairColor(colorId, highlightColorId);
|
|
38
|
+
}
|
|
39
|
+
setComponentVariation(componentId, drawableId, textureId, paletteId) {
|
|
40
|
+
this.mpEntity.setComponentVariation(componentId, drawableId, textureId, paletteId);
|
|
41
|
+
}
|
|
42
|
+
setPropertyVariation(componentId, drawableId, textureId, attach) {
|
|
43
|
+
this.mpEntity.setPropIndex(componentId, drawableId, textureId, attach);
|
|
44
|
+
}
|
|
45
|
+
clearProp(componentId) {
|
|
46
|
+
this.mpEntity.clearProp(componentId);
|
|
47
|
+
}
|
|
48
|
+
getBoneCoords(boneId, offsetX, offsetY, offsetZ) {
|
|
49
|
+
const { x, y, z } = this.mpEntity.getBoneCoords(boneId, offsetX, offsetY, offsetZ);
|
|
50
|
+
return new Vector3D(x, y, z);
|
|
51
|
+
}
|
|
6
52
|
}
|
|
@@ -6,4 +6,6 @@ export interface IRagePedCreateOptions extends IPedCreateOptions {
|
|
|
6
6
|
export declare class RagePedsManager extends RageEntitiesManager<RagePed> implements IPedsManager {
|
|
7
7
|
constructor();
|
|
8
8
|
create(options: IRagePedCreateOptions): RagePed;
|
|
9
|
+
syncWithMpPool(): void;
|
|
10
|
+
registerById(id: number): RagePed;
|
|
9
11
|
}
|
|
@@ -14,4 +14,22 @@ export class RagePedsManager extends RageEntitiesManager {
|
|
|
14
14
|
this.registerBaseObject(ped);
|
|
15
15
|
return ped;
|
|
16
16
|
}
|
|
17
|
+
syncWithMpPool() {
|
|
18
|
+
for (const mpPed of mp.peds.toArray()) {
|
|
19
|
+
this.registerById(mpPed.id);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
registerById(id) {
|
|
23
|
+
const existingPed = this.findByID(id);
|
|
24
|
+
if (existingPed) {
|
|
25
|
+
return existingPed;
|
|
26
|
+
}
|
|
27
|
+
const mpPed = mp.peds.at(id);
|
|
28
|
+
mpPed.isExists = () => mp.peds.exists(mpPed);
|
|
29
|
+
const ped = new RagePed({
|
|
30
|
+
mpEntity: mpPed,
|
|
31
|
+
});
|
|
32
|
+
this.registerBaseObject(ped);
|
|
33
|
+
return ped;
|
|
34
|
+
}
|
|
17
35
|
}
|
|
@@ -1,13 +1,47 @@
|
|
|
1
1
|
import { type IRageEntityOptions, RageEntity } from "../entity/RageEntity";
|
|
2
|
-
import { type IPlayer } from "
|
|
2
|
+
import { type IPlayer } from "../../../entities";
|
|
3
|
+
import { type RageVehicle } from "../../../entities/ragemp/vehicle/RageVehicle";
|
|
4
|
+
import { type IVector3D } from "../../../../shared/common/utils";
|
|
3
5
|
interface IRagePlayerOptions extends IRageEntityOptions<PlayerMp> {
|
|
4
6
|
}
|
|
5
7
|
export declare class RagePlayer extends RageEntity<PlayerMp> implements IPlayer {
|
|
6
8
|
get name(): string;
|
|
7
|
-
get heading(): number;
|
|
8
9
|
get health(): number;
|
|
9
10
|
get armour(): number;
|
|
10
11
|
get isDead(): boolean;
|
|
11
12
|
constructor(options: IRagePlayerOptions);
|
|
13
|
+
get vehicle(): RageVehicle | null;
|
|
14
|
+
get isVoice3DEnabled(): boolean;
|
|
15
|
+
get voiceVolume(): number;
|
|
16
|
+
get isVoiceActive(): boolean;
|
|
17
|
+
setVoice3D(enable: boolean): void;
|
|
18
|
+
setVoiceVolume(volume: number): void;
|
|
19
|
+
get isReloading(): boolean;
|
|
20
|
+
get weapon(): number;
|
|
21
|
+
getAmmoInClip(weapon: number): number;
|
|
22
|
+
getWeaponAmmo(weapon: number): number;
|
|
23
|
+
getBoneIndex(boneId: number): number;
|
|
24
|
+
setDecoration(collection: string, overlay: string): void;
|
|
25
|
+
removeDecoration(collection: string, overlay: string): void;
|
|
26
|
+
clearDecorations(): void;
|
|
27
|
+
setHeadBlendData(shapeFirstId: number, shapeSecondId: number, shapeThirdId: number, skinFirstId: number, skinSecondId: number, skinThirdId: number, shapeMix: number, skinMix: number, thirdMix: number, isParent: boolean): void;
|
|
28
|
+
setFaceFeature(index: number, value: number): void;
|
|
29
|
+
setHeadOverlay(overlayId: number, index: number, opacity: number, firstColor: number, secondColor: number): void;
|
|
30
|
+
setHeadOverlayColor(overlayId: number, colorTypeId: number, firstColor: number, secondColor: number): void;
|
|
31
|
+
setEyeColor(eyeColor: number): void;
|
|
32
|
+
setHairColor(colorId: number, highlightColorId: number): void;
|
|
33
|
+
setComponentVariation(componentId: number, drawableId: number, textureId: number, paletteId: number): void;
|
|
34
|
+
setPropertyVariation(componentId: number, drawableId: number, textureId: number, attach: boolean): void;
|
|
35
|
+
clearProp(componentId: number): void;
|
|
36
|
+
get isLocalPlayer(): boolean;
|
|
37
|
+
clearTasks(): void;
|
|
38
|
+
clearTasksImmediately(): void;
|
|
39
|
+
stopAnim(dictionary: string, name: string, blendOutSpeed: number): void;
|
|
40
|
+
resetMovementClipset(blendDuration: number): void;
|
|
41
|
+
setMovementClipset(clipset: string, speed: number): void;
|
|
42
|
+
taskEnterVehicle(vehicleHandle: number, timeout: number, seat: number, speed: number, flag: number, p6: number): void;
|
|
43
|
+
taskPlayAnim(dictionary: string, name: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number, lockX: boolean, lockY: boolean, lockZ: boolean): void;
|
|
44
|
+
taskSwapWeapon(): void;
|
|
45
|
+
getBoneCoords(boneId: number, offsetX: number, offsetY: number, offsetZ: number): IVector3D;
|
|
12
46
|
}
|
|
13
47
|
export {};
|