@open-core/framework 0.1.0-alpha.1
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 +373 -0
- package/README.md +360 -0
- package/dist/client/client-bootstrap.d.ts +1 -0
- package/dist/client/client-bootstrap.js +50 -0
- package/dist/client/client-container.d.ts +2 -0
- package/dist/client/client-container.js +6 -0
- package/dist/client/client-core.d.ts +1 -0
- package/dist/client/client-core.js +7 -0
- package/dist/client/controllers/spawner.controller.d.ts +12 -0
- package/dist/client/controllers/spawner.controller.js +51 -0
- package/dist/client/decorators/controller.d.ts +3 -0
- package/dist/client/decorators/controller.js +14 -0
- package/dist/client/decorators/export.d.ts +7 -0
- package/dist/client/decorators/export.js +15 -0
- package/dist/client/decorators/gameEvent.d.ts +47 -0
- package/dist/client/decorators/gameEvent.js +54 -0
- package/dist/client/decorators/index.d.ts +10 -0
- package/dist/client/decorators/index.js +26 -0
- package/dist/client/decorators/interval.d.ts +7 -0
- package/dist/client/decorators/interval.js +15 -0
- package/dist/client/decorators/key.d.ts +2 -0
- package/dist/client/decorators/key.js +10 -0
- package/dist/client/decorators/localEvent.d.ts +7 -0
- package/dist/client/decorators/localEvent.js +15 -0
- package/dist/client/decorators/nui.d.ts +1 -0
- package/dist/client/decorators/nui.js +9 -0
- package/dist/client/decorators/onNet.d.ts +1 -0
- package/dist/client/decorators/onNet.js +9 -0
- package/dist/client/decorators/resourceLifecycle.d.ts +11 -0
- package/dist/client/decorators/resourceLifecycle.js +24 -0
- package/dist/client/decorators/tick.d.ts +1 -0
- package/dist/client/decorators/tick.js +9 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.js +23 -0
- package/dist/client/interfaces/appearance.interface.d.ts +19 -0
- package/dist/client/interfaces/appearance.interface.js +2 -0
- package/dist/client/player/player.d.ts +262 -0
- package/dist/client/player/player.js +480 -0
- package/dist/client/player/player.loader.d.ts +1 -0
- package/dist/client/player/player.loader.js +22 -0
- package/dist/client/services/appearance.service.d.ts +6 -0
- package/dist/client/services/appearance.service.js +89 -0
- package/dist/client/services/blip.service.d.ts +112 -0
- package/dist/client/services/blip.service.js +215 -0
- package/dist/client/services/index.d.ts +9 -0
- package/dist/client/services/index.js +25 -0
- package/dist/client/services/marker.service.d.ts +94 -0
- package/dist/client/services/marker.service.js +153 -0
- package/dist/client/services/notification.service.d.ts +76 -0
- package/dist/client/services/notification.service.js +111 -0
- package/dist/client/services/ped.service.d.ts +182 -0
- package/dist/client/services/ped.service.js +302 -0
- package/dist/client/services/progress.service.d.ts +82 -0
- package/dist/client/services/progress.service.js +210 -0
- package/dist/client/services/spawn.service.d.ts +73 -0
- package/dist/client/services/spawn.service.js +261 -0
- package/dist/client/services/streaming.service.d.ts +165 -0
- package/dist/client/services/streaming.service.js +341 -0
- package/dist/client/services/textui.service.d.ts +82 -0
- package/dist/client/services/textui.service.js +156 -0
- package/dist/client/services/vehicle.service.d.ts +168 -0
- package/dist/client/services/vehicle.service.js +296 -0
- package/dist/client/system/metadata-client.keys.d.ts +13 -0
- package/dist/client/system/metadata-client.keys.js +16 -0
- package/dist/client/system/processors/export.processor.d.ts +7 -0
- package/dist/client/system/processors/export.processor.js +39 -0
- package/dist/client/system/processors/gameEvent.processor.d.ts +10 -0
- package/dist/client/system/processors/gameEvent.processor.js +58 -0
- package/dist/client/system/processors/interval.processor.d.ts +7 -0
- package/dist/client/system/processors/interval.processor.js +43 -0
- package/dist/client/system/processors/key.processor.d.ts +8 -0
- package/dist/client/system/processors/key.processor.js +27 -0
- package/dist/client/system/processors/localEvent.processor.d.ts +7 -0
- package/dist/client/system/processors/localEvent.processor.js +38 -0
- package/dist/client/system/processors/netEvent.processor.d.ts +7 -0
- package/dist/client/system/processors/netEvent.processor.js +38 -0
- package/dist/client/system/processors/nui.processor.d.ts +7 -0
- package/dist/client/system/processors/nui.processor.js +40 -0
- package/dist/client/system/processors/resourceLifecycle.processor.d.ts +9 -0
- package/dist/client/system/processors/resourceLifecycle.processor.js +69 -0
- package/dist/client/system/processors/tick.processor.d.ts +5 -0
- package/dist/client/system/processors/tick.processor.js +37 -0
- package/dist/client/system/processors.register.d.ts +1 -0
- package/dist/client/system/processors.register.js +27 -0
- package/dist/client/types/game-events.d.ts +126 -0
- package/dist/client/types/game-events.js +83 -0
- package/dist/client/types/index.d.ts +1 -0
- package/dist/client/types/index.js +17 -0
- package/dist/client/ui-bridge.d.ts +116 -0
- package/dist/client/ui-bridge.js +201 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +41 -0
- package/dist/server/bootstrap.d.ts +16 -0
- package/dist/server/bootstrap.js +57 -0
- package/dist/server/bus/core-event-bus.d.ts +6 -0
- package/dist/server/bus/core-event-bus.js +31 -0
- package/dist/server/configs/api.config.d.ts +71 -0
- package/dist/server/configs/api.config.js +81 -0
- package/dist/server/configs/config.base.d.ts +63 -0
- package/dist/server/configs/config.base.js +64 -0
- package/dist/server/configs/index.d.ts +2 -0
- package/dist/server/configs/index.js +18 -0
- package/dist/server/container.d.ts +2 -0
- package/dist/server/container.js +6 -0
- package/dist/server/controllers/chat.controller.d.ts +10 -0
- package/dist/server/controllers/chat.controller.js +50 -0
- package/dist/server/controllers/command.controller.d.ts +7 -0
- package/dist/server/controllers/command.controller.js +47 -0
- package/dist/server/controllers/session.controller.d.ts +9 -0
- package/dist/server/controllers/session.controller.js +70 -0
- package/dist/server/core.d.ts +1 -0
- package/dist/server/core.js +7 -0
- package/dist/server/database/adapters/oxmysql.adapter.d.ts +89 -0
- package/dist/server/database/adapters/oxmysql.adapter.js +149 -0
- package/dist/server/database/database.contract.d.ts +128 -0
- package/dist/server/database/database.contract.js +29 -0
- package/dist/server/database/database.service.d.ts +216 -0
- package/dist/server/database/database.service.js +301 -0
- package/dist/server/database/index.d.ts +53 -0
- package/dist/server/database/index.js +70 -0
- package/dist/server/database/types.d.ts +67 -0
- package/dist/server/database/types.js +7 -0
- package/dist/server/database.d.ts +7 -0
- package/dist/server/database.js +23 -0
- package/dist/server/decorators/bind.d.ts +2 -0
- package/dist/server/decorators/bind.js +15 -0
- package/dist/server/decorators/command.d.ts +49 -0
- package/dist/server/decorators/command.js +23 -0
- package/dist/server/decorators/controller.d.ts +25 -0
- package/dist/server/decorators/controller.js +36 -0
- package/dist/server/decorators/export.d.ts +39 -0
- package/dist/server/decorators/export.js +47 -0
- package/dist/server/decorators/guard.d.ts +56 -0
- package/dist/server/decorators/guard.js +82 -0
- package/dist/server/decorators/index.d.ts +10 -0
- package/dist/server/decorators/index.js +29 -0
- package/dist/server/decorators/onFiveMEvent.d.ts +6 -0
- package/dist/server/decorators/onFiveMEvent.js +14 -0
- package/dist/server/decorators/onFrameworkEvent.d.ts +22 -0
- package/dist/server/decorators/onFrameworkEvent.js +29 -0
- package/dist/server/decorators/onNet.d.ts +58 -0
- package/dist/server/decorators/onNet.js +57 -0
- package/dist/server/decorators/onTick.d.ts +32 -0
- package/dist/server/decorators/onTick.js +40 -0
- package/dist/server/decorators/public.d.ts +27 -0
- package/dist/server/decorators/public.js +36 -0
- package/dist/server/decorators/requiresState.d.ts +56 -0
- package/dist/server/decorators/requiresState.js +63 -0
- package/dist/server/decorators/throttle.d.ts +48 -0
- package/dist/server/decorators/throttle.js +63 -0
- package/dist/server/decorators/utils.d.ts +57 -0
- package/dist/server/decorators/utils.js +63 -0
- package/dist/server/entities/index.d.ts +1 -0
- package/dist/server/entities/index.js +17 -0
- package/dist/server/entities/player.d.ts +157 -0
- package/dist/server/entities/player.js +217 -0
- package/dist/server/error-handler.d.ts +2 -0
- package/dist/server/error-handler.js +43 -0
- package/dist/server/helpers/resolve-method.d.ts +5 -0
- package/dist/server/helpers/resolve-method.js +18 -0
- package/dist/server/index.d.ts +10 -0
- package/dist/server/index.js +31 -0
- package/dist/server/loaders/exports.loader.d.ts +0 -0
- package/dist/server/loaders/exports.loader.js +23 -0
- package/dist/server/loaders/playerSession.loader.d.ts +1 -0
- package/dist/server/loaders/playerSession.loader.js +51 -0
- package/dist/server/services/access-control.service.d.ts +56 -0
- package/dist/server/services/access-control.service.js +99 -0
- package/dist/server/services/chat.service.d.ts +7 -0
- package/dist/server/services/chat.service.js +31 -0
- package/dist/server/services/command.service.d.ts +15 -0
- package/dist/server/services/command.service.js +77 -0
- package/dist/server/services/config.service.d.ts +75 -0
- package/dist/server/services/config.service.js +116 -0
- package/dist/server/services/default/default-security.handler.d.ts +6 -0
- package/dist/server/services/default/default-security.handler.js +26 -0
- package/dist/server/services/http/http.service.d.ts +50 -0
- package/dist/server/services/http/http.service.js +126 -0
- package/dist/server/services/index.d.ts +10 -0
- package/dist/server/services/index.js +26 -0
- package/dist/server/services/parallel/index.d.ts +49 -0
- package/dist/server/services/parallel/index.js +67 -0
- package/dist/server/services/parallel/parallel-compute.service.d.ts +132 -0
- package/dist/server/services/parallel/parallel-compute.service.js +449 -0
- package/dist/server/services/parallel/types.d.ts +188 -0
- package/dist/server/services/parallel/types.js +7 -0
- package/dist/server/services/parallel/worker-pool.d.ts +83 -0
- package/dist/server/services/parallel/worker-pool.js +350 -0
- package/dist/server/services/parallel/worker.d.ts +19 -0
- package/dist/server/services/parallel/worker.js +49 -0
- package/dist/server/services/persistence.service.d.ts +59 -0
- package/dist/server/services/persistence.service.js +166 -0
- package/dist/server/services/player.service.d.ts +96 -0
- package/dist/server/services/player.service.js +132 -0
- package/dist/server/services/rate-limiter.service.d.ts +5 -0
- package/dist/server/services/rate-limiter.service.js +39 -0
- package/dist/server/services/registers.d.ts +1 -0
- package/dist/server/services/registers.js +18 -0
- package/dist/server/setup.d.ts +9 -0
- package/dist/server/setup.js +28 -0
- package/dist/server/system/metadata-server.keys.d.ts +10 -0
- package/dist/server/system/metadata-server.keys.js +13 -0
- package/dist/server/system/processors/command.processor.d.ts +9 -0
- package/dist/server/system/processors/command.processor.js +30 -0
- package/dist/server/system/processors/coreEvent.processor.d.ts +7 -0
- package/dist/server/system/processors/coreEvent.processor.js +41 -0
- package/dist/server/system/processors/export.processor.d.ts +7 -0
- package/dist/server/system/processors/export.processor.js +30 -0
- package/dist/server/system/processors/fivemEvent.processor.d.ts +7 -0
- package/dist/server/system/processors/fivemEvent.processor.js +40 -0
- package/dist/server/system/processors/netEvent.processor.d.ts +11 -0
- package/dist/server/system/processors/netEvent.processor.js +103 -0
- package/dist/server/system/processors/tick.processor.d.ts +5 -0
- package/dist/server/system/processors/tick.processor.js +36 -0
- package/dist/server/system/processors.register.d.ts +1 -0
- package/dist/server/system/processors.register.js +23 -0
- package/dist/server/system/schema-generator.d.ts +2 -0
- package/dist/server/system/schema-generator.js +34 -0
- package/dist/server/templates/admin/admin.controller-template.d.ts +12 -0
- package/dist/server/templates/admin/admin.controller-template.js +2 -0
- package/dist/server/templates/auth/auth-provider.contract.d.ts +58 -0
- package/dist/server/templates/auth/auth-provider.contract.js +23 -0
- package/dist/server/templates/index.d.ts +8 -0
- package/dist/server/templates/index.js +21 -0
- package/dist/server/templates/persistence/index.d.ts +30 -0
- package/dist/server/templates/persistence/index.js +34 -0
- package/dist/server/templates/persistence/player-persistence.contract.d.ts +86 -0
- package/dist/server/templates/persistence/player-persistence.contract.js +52 -0
- package/dist/server/templates/repository/index.d.ts +57 -0
- package/dist/server/templates/repository/index.js +61 -0
- package/dist/server/templates/repository/repository.contract.d.ts +224 -0
- package/dist/server/templates/repository/repository.contract.js +342 -0
- package/dist/server/templates/repository/repository.types.d.ts +51 -0
- package/dist/server/templates/repository/repository.types.js +7 -0
- package/dist/server/templates/security/permission.types.d.ts +32 -0
- package/dist/server/templates/security/permission.types.js +2 -0
- package/dist/server/templates/security/principal-provider.contract.d.ts +43 -0
- package/dist/server/templates/security/principal-provider.contract.js +19 -0
- package/dist/server/templates/security/security-handler.contract.d.ts +5 -0
- package/dist/server/templates/security/security-handler.contract.js +6 -0
- package/dist/server/types/core-events.d.ts +22 -0
- package/dist/server/types/core-events.js +2 -0
- package/dist/server/types/security.types.d.ts +7 -0
- package/dist/server/types/security.types.js +2 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +17 -0
- package/dist/shared/logger/core-logger.d.ts +35 -0
- package/dist/shared/logger/core-logger.js +52 -0
- package/dist/shared/logger/index.d.ts +11 -0
- package/dist/shared/logger/index.js +26 -0
- package/dist/shared/logger/logger.config.d.ts +47 -0
- package/dist/shared/logger/logger.config.js +33 -0
- package/dist/shared/logger/logger.service.d.ts +161 -0
- package/dist/shared/logger/logger.service.js +279 -0
- package/dist/shared/logger/logger.types.d.ts +85 -0
- package/dist/shared/logger/logger.types.js +74 -0
- package/dist/shared/logger/transports/buffered.transport.d.ts +88 -0
- package/dist/shared/logger/transports/buffered.transport.js +174 -0
- package/dist/shared/logger/transports/console.transport.d.ts +37 -0
- package/dist/shared/logger/transports/console.transport.js +134 -0
- package/dist/shared/logger/transports/index.d.ts +3 -0
- package/dist/shared/logger/transports/index.js +19 -0
- package/dist/shared/logger/transports/transport.interface.d.ts +40 -0
- package/dist/shared/logger/transports/transport.interface.js +2 -0
- package/dist/system/class-constructor.d.ts +1 -0
- package/dist/system/class-constructor.js +2 -0
- package/dist/system/decorator-processor.d.ts +4 -0
- package/dist/system/decorator-processor.js +2 -0
- package/dist/system/metadata.scanner.d.ts +7 -0
- package/dist/system/metadata.scanner.js +45 -0
- package/dist/utils/errors.d.ts +14 -0
- package/dist/utils/errors.js +25 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/result.d.ts +12 -0
- package/dist/utils/result.js +10 -0
- package/dist/utils/rgb.d.ts +5 -0
- package/dist/utils/rgb.js +2 -0
- package/dist/utils/vector3.d.ts +13 -0
- package/dist/utils/vector3.js +27 -0
- package/package.json +98 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DecoratorProcessor } from '../../../system/decorator-processor';
|
|
2
|
+
interface GameEventMetadata {
|
|
3
|
+
eventName: string;
|
|
4
|
+
autoParse: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class GameEventProcessor implements DecoratorProcessor {
|
|
7
|
+
readonly metadataKey: string;
|
|
8
|
+
process(target: any, methodName: string, metadata: GameEventMetadata): void;
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.GameEventProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
const game_events_1 = require("../../types/game-events");
|
|
14
|
+
const clientGameEvent = logger_1.coreLogger.child('GameEvent', logger_1.LogDomain.CLIENT);
|
|
15
|
+
// Map of event names to their parser functions
|
|
16
|
+
const parserMap = {
|
|
17
|
+
CEventNetworkEntityDamage: game_events_1.GameEventParsers.parseEntityDamage,
|
|
18
|
+
CEventNetworkPlayerEnteredVehicle: game_events_1.GameEventParsers.parsePlayerEnteredVehicle,
|
|
19
|
+
CEventNetworkPlayerLeftVehicle: game_events_1.GameEventParsers.parsePlayerLeftVehicle,
|
|
20
|
+
CEventShockingSeenPedKilled: game_events_1.GameEventParsers.parseSeenPedKilled,
|
|
21
|
+
CEventNetworkVehicleUndrivable: game_events_1.GameEventParsers.parseVehicleUndrivable,
|
|
22
|
+
CEventGunShot: game_events_1.GameEventParsers.parseGunShot,
|
|
23
|
+
};
|
|
24
|
+
let GameEventProcessor = class GameEventProcessor {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.GAME_EVENT;
|
|
27
|
+
}
|
|
28
|
+
process(target, methodName, metadata) {
|
|
29
|
+
const handler = target[methodName].bind(target);
|
|
30
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
31
|
+
const { eventName, autoParse } = metadata;
|
|
32
|
+
on('gameEventTriggered', async (name, args) => {
|
|
33
|
+
if (name !== eventName)
|
|
34
|
+
return;
|
|
35
|
+
try {
|
|
36
|
+
// Auto-parse if enabled and parser exists
|
|
37
|
+
if (autoParse && parserMap[eventName]) {
|
|
38
|
+
const parsed = parserMap[eventName](args);
|
|
39
|
+
await handler(parsed);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
await handler(args);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
clientGameEvent.error(`Game event handler error`, {
|
|
47
|
+
event: eventName,
|
|
48
|
+
handler: handlerName,
|
|
49
|
+
}, error);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
clientGameEvent.debug(`Registered game event: ${eventName} -> ${handlerName}`);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports.GameEventProcessor = GameEventProcessor;
|
|
56
|
+
exports.GameEventProcessor = GameEventProcessor = __decorate([
|
|
57
|
+
(0, tsyringe_1.injectable)()
|
|
58
|
+
], GameEventProcessor);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DecoratorProcessor } from '../../../system/decorator-processor';
|
|
2
|
+
export declare class IntervalProcessor implements DecoratorProcessor {
|
|
3
|
+
readonly metadataKey: string;
|
|
4
|
+
process(target: any, methodName: string, metadata: {
|
|
5
|
+
interval: number;
|
|
6
|
+
}): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.IntervalProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
const clientInterval = logger_1.coreLogger.child('Interval', logger_1.LogDomain.CLIENT);
|
|
14
|
+
let IntervalProcessor = class IntervalProcessor {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.INTERVAL;
|
|
17
|
+
}
|
|
18
|
+
process(target, methodName, metadata) {
|
|
19
|
+
const handler = target[methodName].bind(target);
|
|
20
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
21
|
+
let lastRun = 0;
|
|
22
|
+
setTick(async () => {
|
|
23
|
+
const now = GetGameTimer();
|
|
24
|
+
if (now - lastRun < metadata.interval)
|
|
25
|
+
return;
|
|
26
|
+
lastRun = now;
|
|
27
|
+
try {
|
|
28
|
+
await handler();
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
clientInterval.error(`Interval handler error`, {
|
|
32
|
+
handler: handlerName,
|
|
33
|
+
interval: metadata.interval,
|
|
34
|
+
}, error);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
clientInterval.debug(`Registered: ${handlerName} (every ${metadata.interval}ms)`);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.IntervalProcessor = IntervalProcessor;
|
|
41
|
+
exports.IntervalProcessor = IntervalProcessor = __decorate([
|
|
42
|
+
(0, tsyringe_1.injectable)()
|
|
43
|
+
], IntervalProcessor);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DecoratorProcessor } from '../../../system/decorator-processor';
|
|
2
|
+
export declare class KeyMappingProcessor implements DecoratorProcessor {
|
|
3
|
+
readonly metadataKey: string;
|
|
4
|
+
process(target: any, methodName: string, metadata: {
|
|
5
|
+
key: string;
|
|
6
|
+
description: string;
|
|
7
|
+
}): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.KeyMappingProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
let KeyMappingProcessor = class KeyMappingProcessor {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.KEY;
|
|
15
|
+
}
|
|
16
|
+
process(target, methodName, metadata) {
|
|
17
|
+
const handler = target[methodName].bind(target);
|
|
18
|
+
const commandName = `+${methodName}`;
|
|
19
|
+
RegisterCommand(commandName, handler, false);
|
|
20
|
+
RegisterKeyMapping(commandName, metadata.description, 'keyboard', metadata.key);
|
|
21
|
+
RegisterCommand(`-${methodName}`, () => { }, false);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.KeyMappingProcessor = KeyMappingProcessor;
|
|
25
|
+
exports.KeyMappingProcessor = KeyMappingProcessor = __decorate([
|
|
26
|
+
(0, tsyringe_1.injectable)()
|
|
27
|
+
], KeyMappingProcessor);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DecoratorProcessor } from '../../../system/decorator-processor';
|
|
2
|
+
export declare class LocalEventProcessor implements DecoratorProcessor {
|
|
3
|
+
readonly metadataKey: string;
|
|
4
|
+
process(target: any, methodName: string, metadata: {
|
|
5
|
+
eventName: string;
|
|
6
|
+
}): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LocalEventProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
const clientLocalEvent = logger_1.coreLogger.child('LocalEvent', logger_1.LogDomain.CLIENT);
|
|
14
|
+
let LocalEventProcessor = class LocalEventProcessor {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.LOCAL_EVENT;
|
|
17
|
+
}
|
|
18
|
+
process(target, methodName, metadata) {
|
|
19
|
+
const handler = target[methodName].bind(target);
|
|
20
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
21
|
+
on(metadata.eventName, async (...args) => {
|
|
22
|
+
try {
|
|
23
|
+
await handler(...args);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
clientLocalEvent.error(`Handler error in local event`, {
|
|
27
|
+
event: metadata.eventName,
|
|
28
|
+
handler: handlerName,
|
|
29
|
+
}, error);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
clientLocalEvent.debug(`Registered: ${metadata.eventName} -> ${handlerName}`);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.LocalEventProcessor = LocalEventProcessor;
|
|
36
|
+
exports.LocalEventProcessor = LocalEventProcessor = __decorate([
|
|
37
|
+
(0, tsyringe_1.injectable)()
|
|
38
|
+
], LocalEventProcessor);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DecoratorProcessor } from '../../../system/decorator-processor';
|
|
2
|
+
export declare class ClientNetEventProcessor implements DecoratorProcessor {
|
|
3
|
+
readonly metadataKey: string;
|
|
4
|
+
process(target: any, methodName: string, metadata: {
|
|
5
|
+
eventName: string;
|
|
6
|
+
}): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ClientNetEventProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
const clientNetEvent = logger_1.coreLogger.child('NetEvent', logger_1.LogDomain.CLIENT);
|
|
14
|
+
let ClientNetEventProcessor = class ClientNetEventProcessor {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.NET_EVENT;
|
|
17
|
+
}
|
|
18
|
+
process(target, methodName, metadata) {
|
|
19
|
+
const handler = target[methodName].bind(target);
|
|
20
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
21
|
+
onNet(metadata.eventName, async (...args) => {
|
|
22
|
+
try {
|
|
23
|
+
await handler(...args);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
clientNetEvent.error(`Handler error in event`, {
|
|
27
|
+
event: metadata.eventName,
|
|
28
|
+
handler: handlerName,
|
|
29
|
+
}, error);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
clientNetEvent.debug(`Registered: ${metadata.eventName} -> ${handlerName}`);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.ClientNetEventProcessor = ClientNetEventProcessor;
|
|
36
|
+
exports.ClientNetEventProcessor = ClientNetEventProcessor = __decorate([
|
|
37
|
+
(0, tsyringe_1.injectable)()
|
|
38
|
+
], ClientNetEventProcessor);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.NuiProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
let NuiProcessor = class NuiProcessor {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.NUI;
|
|
16
|
+
}
|
|
17
|
+
process(target, methodName, metadata) {
|
|
18
|
+
const handler = target[methodName].bind(target);
|
|
19
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
20
|
+
RegisterNuiCallbackType(metadata.eventName);
|
|
21
|
+
on(`__cfx_nui:${metadata.eventName}`, async (data, cb) => {
|
|
22
|
+
try {
|
|
23
|
+
await handler(data);
|
|
24
|
+
cb({ ok: true });
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
logger_1.loggers.nui.error(`NUI callback error`, {
|
|
28
|
+
event: metadata.eventName,
|
|
29
|
+
handler: handlerName,
|
|
30
|
+
}, error);
|
|
31
|
+
cb({ ok: false, error: String(error) });
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
logger_1.loggers.nui.debug(`Registered: ${metadata.eventName} -> ${handlerName}`);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.NuiProcessor = NuiProcessor;
|
|
38
|
+
exports.NuiProcessor = NuiProcessor = __decorate([
|
|
39
|
+
(0, tsyringe_1.injectable)()
|
|
40
|
+
], NuiProcessor);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DecoratorProcessor } from '../../../system/decorator-processor';
|
|
2
|
+
export declare class ResourceStartProcessor implements DecoratorProcessor {
|
|
3
|
+
readonly metadataKey: string;
|
|
4
|
+
process(target: any, methodName: string): void;
|
|
5
|
+
}
|
|
6
|
+
export declare class ResourceStopProcessor implements DecoratorProcessor {
|
|
7
|
+
readonly metadataKey: string;
|
|
8
|
+
process(target: any, methodName: string): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ResourceStopProcessor = exports.ResourceStartProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
const clientLifecycle = logger_1.coreLogger.child('Lifecycle', logger_1.LogDomain.CLIENT);
|
|
14
|
+
let ResourceStartProcessor = class ResourceStartProcessor {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.RESOURCE_START;
|
|
17
|
+
}
|
|
18
|
+
process(target, methodName) {
|
|
19
|
+
const handler = target[methodName].bind(target);
|
|
20
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
21
|
+
const currentResource = GetCurrentResourceName();
|
|
22
|
+
on('onClientResourceStart', async (resourceName) => {
|
|
23
|
+
if (resourceName !== currentResource)
|
|
24
|
+
return;
|
|
25
|
+
try {
|
|
26
|
+
await handler(resourceName);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
clientLifecycle.error(`Resource start handler error`, {
|
|
30
|
+
handler: handlerName,
|
|
31
|
+
resource: resourceName,
|
|
32
|
+
}, error);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
clientLifecycle.debug(`Registered resource start handler: ${handlerName}`);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.ResourceStartProcessor = ResourceStartProcessor;
|
|
39
|
+
exports.ResourceStartProcessor = ResourceStartProcessor = __decorate([
|
|
40
|
+
(0, tsyringe_1.injectable)()
|
|
41
|
+
], ResourceStartProcessor);
|
|
42
|
+
let ResourceStopProcessor = class ResourceStopProcessor {
|
|
43
|
+
constructor() {
|
|
44
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.RESOURCE_STOP;
|
|
45
|
+
}
|
|
46
|
+
process(target, methodName) {
|
|
47
|
+
const handler = target[methodName].bind(target);
|
|
48
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
49
|
+
const currentResource = GetCurrentResourceName();
|
|
50
|
+
on('onClientResourceStop', async (resourceName) => {
|
|
51
|
+
if (resourceName !== currentResource)
|
|
52
|
+
return;
|
|
53
|
+
try {
|
|
54
|
+
await handler(resourceName);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
clientLifecycle.error(`Resource stop handler error`, {
|
|
58
|
+
handler: handlerName,
|
|
59
|
+
resource: resourceName,
|
|
60
|
+
}, error);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
clientLifecycle.debug(`Registered resource stop handler: ${handlerName}`);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.ResourceStopProcessor = ResourceStopProcessor;
|
|
67
|
+
exports.ResourceStopProcessor = ResourceStopProcessor = __decorate([
|
|
68
|
+
(0, tsyringe_1.injectable)()
|
|
69
|
+
], ResourceStopProcessor);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TickProcessor = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const metadata_client_keys_1 = require("../metadata-client.keys");
|
|
12
|
+
const logger_1 = require("../../../shared/logger");
|
|
13
|
+
const clientTick = logger_1.coreLogger.child('Tick', logger_1.LogDomain.CLIENT);
|
|
14
|
+
let TickProcessor = class TickProcessor {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.metadataKey = metadata_client_keys_1.METADATA_KEYS.TICK;
|
|
17
|
+
}
|
|
18
|
+
process(target, methodName) {
|
|
19
|
+
const handler = target[methodName].bind(target);
|
|
20
|
+
const handlerName = `${target.constructor.name}.${methodName}`;
|
|
21
|
+
setTick(async () => {
|
|
22
|
+
try {
|
|
23
|
+
await handler();
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
clientTick.error(`Tick handler error`, {
|
|
27
|
+
handler: handlerName,
|
|
28
|
+
}, error);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
clientTick.debug(`Registered: ${handlerName}`);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.TickProcessor = TickProcessor;
|
|
35
|
+
exports.TickProcessor = TickProcessor = __decorate([
|
|
36
|
+
(0, tsyringe_1.injectable)()
|
|
37
|
+
], TickProcessor);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerSystemClient(): void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerSystemClient = registerSystemClient;
|
|
4
|
+
const client_container_1 = require("../client-container");
|
|
5
|
+
const key_processor_1 = require("./processors/key.processor");
|
|
6
|
+
const tick_processor_1 = require("./processors/tick.processor");
|
|
7
|
+
const nui_processor_1 = require("./processors/nui.processor");
|
|
8
|
+
const netEvent_processor_1 = require("./processors/netEvent.processor");
|
|
9
|
+
const localEvent_processor_1 = require("./processors/localEvent.processor");
|
|
10
|
+
const interval_processor_1 = require("./processors/interval.processor");
|
|
11
|
+
const export_processor_1 = require("./processors/export.processor");
|
|
12
|
+
const resourceLifecycle_processor_1 = require("./processors/resourceLifecycle.processor");
|
|
13
|
+
const gameEvent_processor_1 = require("./processors/gameEvent.processor");
|
|
14
|
+
function registerSystemClient() {
|
|
15
|
+
// Core processors
|
|
16
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: key_processor_1.KeyMappingProcessor });
|
|
17
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: tick_processor_1.TickProcessor });
|
|
18
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: nui_processor_1.NuiProcessor });
|
|
19
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: netEvent_processor_1.ClientNetEventProcessor });
|
|
20
|
+
// New processors
|
|
21
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: localEvent_processor_1.LocalEventProcessor });
|
|
22
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: interval_processor_1.IntervalProcessor });
|
|
23
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: export_processor_1.ClientExportProcessor });
|
|
24
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: resourceLifecycle_processor_1.ResourceStartProcessor });
|
|
25
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: resourceLifecycle_processor_1.ResourceStopProcessor });
|
|
26
|
+
client_container_1.di.register('DecoratorProcessor', { useClass: gameEvent_processor_1.GameEventProcessor });
|
|
27
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Game Events - Native GTA V internal events captured by FiveM
|
|
3
|
+
*
|
|
4
|
+
* Documentation: https://docs.fivem.net/docs/game-references/game-events/
|
|
5
|
+
*
|
|
6
|
+
* These are low-level events from the RAGE engine. The arguments are
|
|
7
|
+
* passed as arrays from the native layer.
|
|
8
|
+
*/
|
|
9
|
+
export type GameEventName = 'CEventNetworkEntityDamage' | 'CEventNetworkPlayerEnteredVehicle' | 'CEventNetworkPlayerLeftVehicle' | 'CEventNetworkVehicleUndrivable' | 'CEventNetworkPlayerSpawn' | 'CEventNetworkPlayerCollectedPickup' | 'CEventNetworkPlayerCollectedAmbientPickup' | 'CEventShockingSeenPedKilled' | 'CEventShockingWeaponThreat' | 'CEventShockingGunshotFired' | 'CEventShockingExplosion' | 'CEventGunShot' | 'CEventGunShotWhizzedBy' | 'CEventExplosionHeard' | 'CEventShockingCarCrash' | 'CEventShockingBicycleCrash' | 'CEventShockingSeenCarStolen' | (string & {});
|
|
10
|
+
/**
|
|
11
|
+
* CEventNetworkEntityDamage
|
|
12
|
+
* Fired when any networked entity takes damage
|
|
13
|
+
*/
|
|
14
|
+
export interface EntityDamageEvent {
|
|
15
|
+
/** Entity that was damaged */
|
|
16
|
+
victim: number;
|
|
17
|
+
/** Entity that caused the damage (0 if none) */
|
|
18
|
+
attacker: number;
|
|
19
|
+
/** Unknown parameter */
|
|
20
|
+
arg2: number;
|
|
21
|
+
/** Unknown parameter */
|
|
22
|
+
arg3: number;
|
|
23
|
+
/** Unknown parameter */
|
|
24
|
+
arg4: number;
|
|
25
|
+
/** Whether the victim died from this damage */
|
|
26
|
+
victimDied: boolean;
|
|
27
|
+
/** Weapon hash used */
|
|
28
|
+
weaponHash: number;
|
|
29
|
+
/** Unknown parameter */
|
|
30
|
+
arg7: number;
|
|
31
|
+
/** Unknown parameter */
|
|
32
|
+
arg8: number;
|
|
33
|
+
/** Unknown parameter - possibly damage amount related */
|
|
34
|
+
arg9: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* CEventNetworkPlayerEnteredVehicle
|
|
38
|
+
* Fired when a player enters a vehicle
|
|
39
|
+
*/
|
|
40
|
+
export interface PlayerEnteredVehicleEvent {
|
|
41
|
+
/** Player that entered */
|
|
42
|
+
player: number;
|
|
43
|
+
/** Vehicle entered */
|
|
44
|
+
vehicle: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* CEventNetworkPlayerLeftVehicle
|
|
48
|
+
* Fired when a player leaves a vehicle
|
|
49
|
+
*/
|
|
50
|
+
export interface PlayerLeftVehicleEvent {
|
|
51
|
+
/** Player that left */
|
|
52
|
+
player: number;
|
|
53
|
+
/** Vehicle left */
|
|
54
|
+
vehicle: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* CEventShockingSeenPedKilled
|
|
58
|
+
* Fired when a ped witnesses another ped being killed
|
|
59
|
+
*/
|
|
60
|
+
export interface SeenPedKilledEvent {
|
|
61
|
+
/** Ped that witnessed the death */
|
|
62
|
+
witness: number;
|
|
63
|
+
/** Ped that was killed */
|
|
64
|
+
victim: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* CEventGunShot
|
|
68
|
+
* Fired when a weapon is fired
|
|
69
|
+
*/
|
|
70
|
+
export interface GunShotEvent {
|
|
71
|
+
/** Entity that fired */
|
|
72
|
+
shooter: number;
|
|
73
|
+
/** Target coordinates */
|
|
74
|
+
coords: {
|
|
75
|
+
x: number;
|
|
76
|
+
y: number;
|
|
77
|
+
z: number;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* CEventNetworkVehicleUndrivable
|
|
82
|
+
* Fired when a vehicle becomes undrivable (destroyed)
|
|
83
|
+
*/
|
|
84
|
+
export interface VehicleUndrivableEvent {
|
|
85
|
+
/** Vehicle that became undrivable */
|
|
86
|
+
vehicle: number;
|
|
87
|
+
/** Entity responsible (if any) */
|
|
88
|
+
attacker: number;
|
|
89
|
+
/** Weapon hash that caused it */
|
|
90
|
+
weaponHash: number;
|
|
91
|
+
}
|
|
92
|
+
export declare const GameEventParsers: {
|
|
93
|
+
/**
|
|
94
|
+
* Parse CEventNetworkEntityDamage arguments
|
|
95
|
+
*/
|
|
96
|
+
parseEntityDamage(args: number[]): EntityDamageEvent;
|
|
97
|
+
/**
|
|
98
|
+
* Parse CEventNetworkPlayerEnteredVehicle arguments
|
|
99
|
+
*/
|
|
100
|
+
parsePlayerEnteredVehicle(args: number[]): PlayerEnteredVehicleEvent;
|
|
101
|
+
/**
|
|
102
|
+
* Parse CEventNetworkPlayerLeftVehicle arguments
|
|
103
|
+
*/
|
|
104
|
+
parsePlayerLeftVehicle(args: number[]): PlayerLeftVehicleEvent;
|
|
105
|
+
/**
|
|
106
|
+
* Parse CEventShockingSeenPedKilled arguments
|
|
107
|
+
*/
|
|
108
|
+
parseSeenPedKilled(args: number[]): SeenPedKilledEvent;
|
|
109
|
+
/**
|
|
110
|
+
* Parse CEventNetworkVehicleUndrivable arguments
|
|
111
|
+
*/
|
|
112
|
+
parseVehicleUndrivable(args: number[]): VehicleUndrivableEvent;
|
|
113
|
+
/**
|
|
114
|
+
* Parse CEventGunShot arguments
|
|
115
|
+
*/
|
|
116
|
+
parseGunShot(args: number[]): GunShotEvent;
|
|
117
|
+
};
|
|
118
|
+
export interface GameEventMap {
|
|
119
|
+
CEventNetworkEntityDamage: EntityDamageEvent;
|
|
120
|
+
CEventNetworkPlayerEnteredVehicle: PlayerEnteredVehicleEvent;
|
|
121
|
+
CEventNetworkPlayerLeftVehicle: PlayerLeftVehicleEvent;
|
|
122
|
+
CEventShockingSeenPedKilled: SeenPedKilledEvent;
|
|
123
|
+
CEventNetworkVehicleUndrivable: VehicleUndrivableEvent;
|
|
124
|
+
CEventGunShot: GunShotEvent;
|
|
125
|
+
[key: string]: unknown;
|
|
126
|
+
}
|