@open-core/framework 0.1.0-alpha.1 → 0.2.1-beta.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/README.md +217 -360
- package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
- package/dist/adapters/contracts/IEngineEvents.js +6 -0
- package/dist/adapters/contracts/IEntityServer.d.ts +88 -0
- package/dist/adapters/contracts/IEntityServer.js +13 -0
- package/dist/adapters/contracts/IExports.d.ts +4 -0
- package/dist/adapters/contracts/IExports.js +6 -0
- package/dist/adapters/contracts/IHasher.d.ts +15 -0
- package/dist/adapters/contracts/IHasher.js +12 -0
- package/dist/adapters/contracts/INetTransport.d.ts +8 -0
- package/dist/adapters/contracts/INetTransport.js +6 -0
- package/dist/adapters/contracts/IPedAppearanceClient.d.ts +206 -0
- package/dist/adapters/contracts/IPedAppearanceClient.js +16 -0
- package/dist/adapters/contracts/IPedAppearanceServer.d.ts +45 -0
- package/dist/adapters/contracts/IPedAppearanceServer.js +16 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
- package/dist/adapters/contracts/IPlayerInfo.js +6 -0
- package/dist/adapters/contracts/IPlayerServer.d.ts +73 -0
- package/dist/adapters/contracts/IPlayerServer.js +13 -0
- package/dist/adapters/contracts/IResourceInfo.d.ts +3 -0
- package/dist/adapters/contracts/IResourceInfo.js +6 -0
- package/dist/adapters/contracts/ITick.d.ts +10 -0
- package/dist/adapters/contracts/ITick.js +9 -0
- package/dist/adapters/contracts/IVehicleServer.d.ts +55 -0
- package/dist/adapters/contracts/IVehicleServer.js +13 -0
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.d.ts +2 -2
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.js +2 -2
- package/dist/adapters/database/resource.adapter.d.ts +12 -0
- package/dist/adapters/database/resource.adapter.js +68 -0
- package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
- package/dist/adapters/fivem/fivem-engine-events.js +13 -0
- package/dist/adapters/fivem/fivem-entity-server.d.ts +22 -0
- package/dist/adapters/fivem/fivem-entity-server.js +80 -0
- package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
- package/dist/adapters/fivem/fivem-exports.js +14 -0
- package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
- package/dist/adapters/fivem/fivem-hasher.js +23 -0
- package/dist/adapters/fivem/fivem-net-transport.d.ts +5 -0
- package/dist/adapters/fivem/fivem-net-transport.js +24 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +84 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +26 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-player-server.js +63 -0
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
- package/dist/adapters/fivem/fivem-playerinfo.js +14 -0
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +4 -0
- package/dist/adapters/fivem/fivem-resourceinfo.js +16 -0
- package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
- package/dist/adapters/fivem/fivem-tick.js +22 -0
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-vehicle-server.js +47 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.js +40 -0
- package/dist/adapters/node/index.d.ts +8 -0
- package/dist/adapters/node/index.js +19 -0
- package/dist/adapters/node/node-engine-events.d.ts +20 -0
- package/dist/adapters/node/node-engine-events.js +42 -0
- package/dist/adapters/node/node-entity-server.d.ts +26 -0
- package/dist/adapters/node/node-entity-server.js +101 -0
- package/dist/adapters/node/node-exports.d.ts +26 -0
- package/dist/adapters/node/node-exports.js +63 -0
- package/dist/adapters/node/node-hasher.d.ts +12 -0
- package/dist/adapters/node/node-hasher.js +39 -0
- package/dist/adapters/node/node-net-transport.d.ts +18 -0
- package/dist/adapters/node/node-net-transport.js +57 -0
- package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/node/node-ped-appearance-client.js +59 -0
- package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/node/node-ped-appearance-server.js +18 -0
- package/dist/adapters/node/node-player-server.d.ts +27 -0
- package/dist/adapters/node/node-player-server.js +82 -0
- package/dist/adapters/node/node-playerinfo.d.ts +6 -0
- package/dist/adapters/node/node-playerinfo.js +12 -0
- package/dist/adapters/node/node-resourceinfo.d.ts +12 -0
- package/dist/adapters/node/node-resourceinfo.js +27 -0
- package/dist/adapters/node/node-tick.d.ts +10 -0
- package/dist/{server/system/processors/command.processor.js → adapters/node/node-tick.js} +27 -14
- package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
- package/dist/adapters/node/node-vehicle-server.js +93 -0
- package/dist/adapters/register-capabilities.d.ts +11 -0
- package/dist/adapters/register-capabilities.js +148 -0
- package/dist/adapters/register-client-capabilities.d.ts +8 -0
- package/dist/adapters/register-client-capabilities.js +56 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +9 -5
- package/dist/kernel/di/index.d.ts +4 -0
- package/dist/kernel/di/index.js +20 -0
- package/dist/{system → kernel/di}/metadata.scanner.d.ts +1 -2
- package/dist/kernel/di/tokens.d.ts +30 -0
- package/dist/kernel/di/tokens.js +38 -0
- package/dist/kernel/index.d.ts +7 -0
- package/dist/kernel/index.js +30 -0
- package/dist/kernel/schema/index.d.ts +32 -0
- package/dist/kernel/schema/index.js +5 -0
- package/dist/kernel/shared/appearance/appearance.interface.d.ts +276 -0
- package/dist/kernel/shared/appearance/appearance.interface.js +77 -0
- package/dist/kernel/shared/appearance/index.d.ts +1 -0
- package/dist/kernel/shared/appearance/index.js +17 -0
- package/dist/kernel/shared/index.d.ts +2 -0
- package/dist/{shared → kernel/shared}/index.js +1 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.d.ts +13 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.js +38 -9
- package/dist/{shared → kernel/shared}/logger/index.d.ts +12 -9
- package/dist/{shared → kernel/shared}/logger/index.js +24 -15
- package/dist/{shared → kernel/shared}/logger/logger.config.d.ts +1 -1
- package/dist/kernel/shared/logger/logger.env.d.ts +28 -0
- package/dist/kernel/shared/logger/logger.env.js +51 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.js +1 -1
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.js +1 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.d.ts +75 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.js +111 -0
- package/dist/kernel/shared/logger/transports/http.transport.d.ts +67 -0
- package/dist/kernel/shared/logger/transports/http.transport.js +170 -0
- package/dist/kernel/shared/logger/transports/index.d.ts +7 -0
- package/dist/kernel/shared/logger/transports/index.js +34 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.d.ts +38 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.js +93 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.d.ts +1 -1
- package/dist/kernel/shared/logger/transports/websocket.transport.d.ts +69 -0
- package/dist/kernel/shared/logger/transports/websocket.transport.js +169 -0
- package/dist/kernel/utils/error/app.error.d.ts +9 -0
- package/dist/{utils/errors.js → kernel/utils/error/app.error.js} +1 -9
- package/dist/kernel/utils/error/security.error.d.ts +6 -0
- package/dist/kernel/utils/error/security.error.js +12 -0
- package/dist/{utils → kernel/utils}/index.d.ts +3 -2
- package/dist/{utils → kernel/utils}/index.js +3 -2
- package/dist/{utils → kernel/utils}/result.d.ts +1 -1
- package/dist/runtime/client/client-bootstrap.d.ts +7 -0
- package/dist/runtime/client/client-bootstrap.js +180 -0
- package/dist/runtime/client/client-core.d.ts +19 -0
- package/dist/runtime/client/client-core.js +24 -0
- package/dist/runtime/client/client-runtime.d.ts +58 -0
- package/dist/runtime/client/client-runtime.js +32 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
- package/dist/runtime/client/controllers/appearance.controller.js +50 -0
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
- package/dist/runtime/client/controllers/player-sync.controller.js +54 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/controller.d.ts +20 -0
- package/dist/runtime/client/decorators/controller.js +55 -0
- package/dist/runtime/client/decorators/export.d.ts +21 -0
- package/dist/runtime/client/decorators/export.js +29 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.d.ts +2 -2
- package/dist/runtime/client/decorators/interval.d.ts +23 -0
- package/dist/runtime/client/decorators/interval.js +31 -0
- package/dist/runtime/client/decorators/key.d.ts +23 -0
- package/dist/runtime/client/decorators/key.js +31 -0
- package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
- package/dist/runtime/client/decorators/localEvent.js +29 -0
- package/dist/runtime/client/decorators/nui.d.ts +21 -0
- package/dist/runtime/client/decorators/nui.js +29 -0
- package/dist/runtime/client/decorators/onNet.d.ts +21 -0
- package/dist/runtime/client/decorators/onNet.js +29 -0
- package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
- package/dist/runtime/client/decorators/resourceLifecycle.js +53 -0
- package/dist/runtime/client/decorators/tick.d.ts +21 -0
- package/dist/runtime/client/decorators/tick.js +29 -0
- package/dist/{client → runtime/client}/index.d.ts +2 -2
- package/dist/{client → runtime/client}/index.js +4 -2
- package/dist/runtime/client/interfaces/appearance.interface.d.ts +25 -0
- package/dist/runtime/client/interfaces/appearance.interface.js +2 -0
- package/dist/{client → runtime/client}/player/player.d.ts +1 -1
- package/dist/{client → runtime/client}/player/player.js +5 -6
- package/dist/{client → runtime/client}/player/player.loader.js +2 -2
- package/dist/runtime/client/services/appearance.service.d.ts +132 -0
- package/dist/runtime/client/services/appearance.service.js +328 -0
- package/dist/{client → runtime/client}/services/blip.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/index.d.ts +6 -5
- package/dist/{client → runtime/client}/services/index.js +6 -5
- package/dist/{client → runtime/client}/services/marker.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.js +3 -2
- package/dist/{client → runtime/client}/services/spawn.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/spawn.service.js +4 -8
- package/dist/{client → runtime/client}/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
- package/dist/runtime/client/services/vehicle-client.service.js +485 -0
- package/dist/{client → runtime/client}/services/vehicle.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/vehicle.service.js +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.js +2 -2
- package/dist/{client → runtime/client}/system/processors/interval.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/interval.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/key.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.js +1 -1
- package/dist/{client → runtime/client}/types/game-events.js +0 -8
- package/dist/{client → runtime/client}/ui-bridge.js +1 -1
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +39 -0
- package/dist/{server → runtime/server}/bootstrap.d.ts +2 -1
- package/dist/runtime/server/bootstrap.js +234 -0
- package/dist/runtime/server/bootstrap.validation.d.ts +12 -0
- package/dist/runtime/server/bootstrap.validation.js +102 -0
- package/dist/runtime/server/bus/core-event-bus.d.ts +6 -0
- package/dist/{server → runtime/server}/bus/core-event-bus.js +5 -5
- package/dist/{server → runtime/server}/configs/api.config.d.ts +1 -1
- package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.d.ts +2 -2
- package/dist/runtime/server/contracts/index.d.ts +7 -0
- package/dist/{server/templates → runtime/server/contracts}/index.js +8 -4
- package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.d.ts +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/index.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/index.js +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.js +0 -1
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +6 -0
- package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.d.ts +3 -3
- package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/chat.controller.js +23 -11
- package/dist/runtime/server/controllers/command-export.controller.d.ts +74 -0
- package/dist/runtime/server/controllers/command-export.controller.js +260 -0
- package/dist/runtime/server/controllers/command.controller.d.ts +15 -0
- package/dist/runtime/server/controllers/command.controller.js +100 -0
- package/dist/runtime/server/controllers/player-export.controller.d.ts +29 -0
- package/dist/runtime/server/controllers/player-export.controller.js +173 -0
- package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +296 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +43 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +104 -0
- package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/session.controller.js +15 -12
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +55 -0
- package/dist/runtime/server/controllers/vehicle.controller.js +216 -0
- package/dist/runtime/server/core.d.ts +3 -0
- package/dist/runtime/server/core.js +11 -0
- package/dist/runtime/server/database/adapter.registry.d.ts +4 -0
- package/dist/runtime/server/database/adapter.registry.js +14 -0
- package/dist/{server → runtime/server}/database/database.contract.d.ts +1 -1
- package/dist/{server → runtime/server}/database/database.service.d.ts +3 -31
- package/dist/{server → runtime/server}/database/database.service.js +36 -50
- package/dist/runtime/server/database/index.d.ts +5 -0
- package/dist/runtime/server/database/index.js +25 -0
- package/dist/runtime/server/decorators/bind.d.ts +21 -0
- package/dist/runtime/server/decorators/bind.js +31 -0
- package/dist/runtime/server/decorators/command.d.ts +81 -0
- package/dist/runtime/server/decorators/command.js +32 -0
- package/dist/{server → runtime/server}/decorators/controller.d.ts +4 -3
- package/dist/runtime/server/decorators/controller.js +61 -0
- package/dist/runtime/server/decorators/export.d.ts +24 -0
- package/dist/runtime/server/decorators/export.js +32 -0
- package/dist/runtime/server/decorators/guard.d.ts +49 -0
- package/dist/{server → runtime/server}/decorators/guard.js +33 -32
- package/dist/{server → runtime/server}/decorators/index.d.ts +7 -4
- package/dist/{server → runtime/server}/decorators/index.js +8 -5
- package/dist/runtime/server/decorators/onFiveMEvent.d.ts +24 -0
- package/dist/runtime/server/decorators/onFiveMEvent.js +32 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +22 -0
- package/dist/{server → runtime/server}/decorators/onFrameworkEvent.js +9 -9
- package/dist/runtime/server/decorators/onNet.d.ts +62 -0
- package/dist/runtime/server/decorators/onNet.js +15 -0
- package/dist/runtime/server/decorators/onTick.d.ts +21 -0
- package/dist/runtime/server/decorators/onTick.js +29 -0
- package/dist/runtime/server/decorators/public.d.ts +26 -0
- package/dist/{server → runtime/server}/decorators/public.js +15 -16
- package/dist/{server → runtime/server}/decorators/requiresState.d.ts +29 -22
- package/dist/runtime/server/decorators/requiresState.js +73 -0
- package/dist/runtime/server/decorators/throttle.d.ts +56 -0
- package/dist/{server → runtime/server}/decorators/throttle.js +31 -19
- package/dist/runtime/server/decorators/utils.d.ts +54 -0
- package/dist/runtime/server/decorators/utils.js +60 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +11 -0
- package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
- package/dist/runtime/server/devmode/contracts/index.js +9 -0
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +110 -0
- package/dist/runtime/server/devmode/dev-mode.service.js +324 -0
- package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
- package/dist/runtime/server/devmode/event-interceptor.service.js +232 -0
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +74 -0
- package/dist/runtime/server/devmode/hot-reload.server.js +261 -0
- package/dist/runtime/server/devmode/index.d.ts +8 -0
- package/dist/runtime/server/devmode/index.js +32 -0
- package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
- package/dist/runtime/server/devmode/player-simulator.service.js +202 -0
- package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
- package/dist/runtime/server/devmode/state-inspector.service.js +183 -0
- package/dist/runtime/server/devmode/types.d.ts +161 -0
- package/dist/runtime/server/devmode/types.js +28 -0
- package/dist/runtime/server/entities/index.d.ts +2 -0
- package/dist/{server → runtime/server}/entities/index.js +1 -0
- package/dist/{server → runtime/server}/entities/player.d.ts +70 -3
- package/dist/{server → runtime/server}/entities/player.js +92 -14
- package/dist/runtime/server/entities/vehicle.d.ts +160 -0
- package/dist/runtime/server/entities/vehicle.js +261 -0
- package/dist/{server → runtime/server}/error-handler.d.ts +1 -1
- package/dist/{server → runtime/server}/error-handler.js +7 -8
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +6 -0
- package/dist/runtime/server/helpers/command-validation.helper.js +72 -0
- package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
- package/dist/runtime/server/helpers/function-helper.js +15 -0
- package/dist/{server → runtime/server}/helpers/resolve-method.d.ts +1 -1
- package/dist/runtime/server/helpers/resolve-method.js +28 -0
- package/dist/{server → runtime/server}/index.d.ts +8 -6
- package/dist/{server → runtime/server}/index.js +14 -10
- package/dist/runtime/server/runtime.d.ts +408 -0
- package/dist/runtime/server/runtime.js +234 -0
- package/dist/runtime/server/services/access-control.service.d.ts +59 -0
- package/dist/runtime/server/services/access-control.service.js +127 -0
- package/dist/runtime/server/services/appearance.service.d.ts +99 -0
- package/dist/runtime/server/services/appearance.service.js +307 -0
- package/dist/runtime/server/services/chat.service.d.ts +33 -0
- package/dist/{server → runtime/server}/services/chat.service.js +26 -0
- package/dist/{server → runtime/server}/services/config.service.js +1 -1
- package/dist/runtime/server/services/core/command.service.d.ts +49 -0
- package/dist/runtime/server/services/core/command.service.js +112 -0
- package/dist/{server/services → runtime/server/services/core}/player.service.d.ts +48 -22
- package/dist/{server/services → runtime/server/services/core}/player.service.js +98 -14
- package/dist/runtime/server/services/core/principal.service.d.ts +28 -0
- package/dist/runtime/server/services/core/principal.service.js +126 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.d.ts +104 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.js +330 -0
- package/dist/runtime/server/services/core/vehicle.service.d.ts +128 -0
- package/dist/runtime/server/services/core/vehicle.service.js +391 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.d.ts +15 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.js +28 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +19 -0
- package/dist/{server → runtime/server}/services/default/default-security.handler.js +15 -2
- package/dist/{server → runtime/server}/services/http/http.service.js +5 -5
- package/dist/runtime/server/services/index.d.ts +16 -0
- package/dist/runtime/server/services/index.js +39 -0
- package/dist/{server → runtime/server}/services/parallel/index.d.ts +2 -4
- package/dist/{server → runtime/server}/services/parallel/index.js +13 -15
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.js +2 -1
- package/dist/{server → runtime/server}/services/parallel/worker-pool.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/worker.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.js +13 -9
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +41 -0
- package/dist/runtime/server/services/ports/command-execution.port.js +15 -0
- package/dist/runtime/server/services/ports/player-directory.port.d.ts +107 -0
- package/dist/runtime/server/services/ports/player-directory.port.js +23 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.d.ts +49 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.js +16 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +149 -0
- package/dist/runtime/server/services/ports/principal.port.js +32 -0
- package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
- package/dist/{server → runtime/server}/services/rate-limiter.service.js +18 -0
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +63 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +139 -0
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +62 -0
- package/dist/runtime/server/services/remote/remote-player.service.js +191 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.d.ts +55 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.js +130 -0
- package/dist/runtime/server/services/remote/remote-principal.service.d.ts +33 -0
- package/dist/runtime/server/services/remote/remote-principal.service.js +99 -0
- package/dist/runtime/server/services/remote/server-bridge.d.ts +34 -0
- package/dist/runtime/server/services/remote/server-bridge.js +94 -0
- package/dist/runtime/server/services/services.register.d.ts +14 -0
- package/dist/runtime/server/services/services.register.js +98 -0
- package/dist/runtime/server/services/types/linked-id.d.ts +6 -0
- package/dist/runtime/server/services/types/player-session.object.d.ts +11 -0
- package/dist/runtime/server/services/vehicle-modification.service.d.ts +94 -0
- package/dist/runtime/server/services/vehicle-modification.service.js +310 -0
- package/dist/runtime/server/services/vehicle.service.d.ts +138 -0
- package/dist/runtime/server/services/vehicle.service.js +361 -0
- package/dist/runtime/server/setup.d.ts +10 -0
- package/dist/runtime/server/setup.js +33 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.d.ts +2 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.js +2 -0
- package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
- package/dist/runtime/server/system/processors/command.processor.js +54 -0
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.d.ts +1 -1
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.js +3 -3
- package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/export.processor.js +15 -5
- package/dist/runtime/server/system/processors/fivemEvent.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/fivemEvent.processor.js +15 -5
- package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
- package/dist/runtime/server/system/processors/netEvent.processor.js +240 -0
- package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
- package/dist/{server → runtime/server}/system/processors/tick.processor.js +14 -4
- package/dist/runtime/server/system/processors.register.d.ts +2 -0
- package/dist/runtime/server/system/processors.register.js +37 -0
- package/dist/{server → runtime/server}/system/schema-generator.d.ts +1 -1
- package/dist/{server → runtime/server}/system/schema-generator.js +17 -8
- package/dist/{server/templates/admin → runtime/server/templates}/admin.controller-template.d.ts +1 -1
- package/dist/runtime/server/templates/index.d.ts +1 -0
- package/dist/runtime/server/templates/index.js +17 -0
- package/dist/runtime/server/types/core-exports.d.ts +285 -0
- package/dist/runtime/server/types/core-exports.js +2 -0
- package/dist/runtime/server/types/index.d.ts +4 -0
- package/dist/runtime/server/types/index.js +20 -0
- package/dist/runtime/server/types/security.types.js +2 -0
- package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
- package/dist/runtime/server/types/vehicle.types.js +2 -0
- package/package.json +98 -98
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -50
- package/dist/client/client-core.d.ts +0 -1
- package/dist/client/client-core.js +0 -7
- package/dist/client/decorators/controller.d.ts +0 -3
- package/dist/client/decorators/controller.js +0 -14
- package/dist/client/decorators/export.d.ts +0 -7
- package/dist/client/decorators/export.js +0 -15
- package/dist/client/decorators/interval.d.ts +0 -7
- package/dist/client/decorators/interval.js +0 -15
- package/dist/client/decorators/key.d.ts +0 -2
- package/dist/client/decorators/key.js +0 -10
- package/dist/client/decorators/localEvent.d.ts +0 -7
- package/dist/client/decorators/localEvent.js +0 -15
- package/dist/client/decorators/nui.d.ts +0 -1
- package/dist/client/decorators/nui.js +0 -9
- package/dist/client/decorators/onNet.d.ts +0 -1
- package/dist/client/decorators/onNet.js +0 -9
- package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
- package/dist/client/decorators/resourceLifecycle.js +0 -24
- package/dist/client/decorators/tick.d.ts +0 -1
- package/dist/client/decorators/tick.js +0 -9
- package/dist/client/interfaces/appearance.interface.d.ts +0 -19
- package/dist/client/services/appearance.service.d.ts +0 -6
- package/dist/client/services/appearance.service.js +0 -89
- package/dist/server/bootstrap.js +0 -57
- package/dist/server/bus/core-event-bus.d.ts +0 -6
- package/dist/server/controllers/chat.controller.d.ts +0 -10
- package/dist/server/controllers/command.controller.d.ts +0 -7
- package/dist/server/controllers/command.controller.js +0 -47
- package/dist/server/controllers/session.controller.d.ts +0 -9
- package/dist/server/core.d.ts +0 -1
- package/dist/server/core.js +0 -7
- package/dist/server/database/index.d.ts +0 -53
- package/dist/server/database/index.js +0 -70
- package/dist/server/decorators/bind.d.ts +0 -2
- package/dist/server/decorators/bind.js +0 -15
- package/dist/server/decorators/command.d.ts +0 -49
- package/dist/server/decorators/command.js +0 -23
- package/dist/server/decorators/controller.js +0 -36
- package/dist/server/decorators/export.d.ts +0 -39
- package/dist/server/decorators/export.js +0 -47
- package/dist/server/decorators/guard.d.ts +0 -56
- package/dist/server/decorators/onFiveMEvent.d.ts +0 -6
- package/dist/server/decorators/onFiveMEvent.js +0 -14
- package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
- package/dist/server/decorators/onNet.d.ts +0 -58
- package/dist/server/decorators/onNet.js +0 -57
- package/dist/server/decorators/onTick.d.ts +0 -32
- package/dist/server/decorators/onTick.js +0 -40
- package/dist/server/decorators/public.d.ts +0 -27
- package/dist/server/decorators/requiresState.js +0 -63
- package/dist/server/decorators/throttle.d.ts +0 -48
- package/dist/server/decorators/utils.d.ts +0 -57
- package/dist/server/decorators/utils.js +0 -63
- package/dist/server/entities/index.d.ts +0 -1
- package/dist/server/helpers/resolve-method.js +0 -18
- package/dist/server/loaders/exports.loader.d.ts +0 -0
- package/dist/server/loaders/exports.loader.js +0 -23
- package/dist/server/loaders/playerSession.loader.d.ts +0 -1
- package/dist/server/loaders/playerSession.loader.js +0 -51
- package/dist/server/services/access-control.service.d.ts +0 -56
- package/dist/server/services/access-control.service.js +0 -99
- package/dist/server/services/chat.service.d.ts +0 -7
- package/dist/server/services/command.service.d.ts +0 -15
- package/dist/server/services/command.service.js +0 -77
- package/dist/server/services/default/default-security.handler.d.ts +0 -6
- package/dist/server/services/index.d.ts +0 -10
- package/dist/server/services/index.js +0 -26
- package/dist/server/services/rate-limiter.service.d.ts +0 -5
- package/dist/server/services/registers.d.ts +0 -1
- package/dist/server/services/registers.js +0 -18
- package/dist/server/setup.d.ts +0 -9
- package/dist/server/setup.js +0 -28
- package/dist/server/system/processors/command.processor.d.ts +0 -9
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
- package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
- package/dist/server/system/processors/netEvent.processor.js +0 -103
- package/dist/server/system/processors/tick.processor.d.ts +0 -5
- package/dist/server/system/processors.register.d.ts +0 -1
- package/dist/server/system/processors.register.js +0 -23
- package/dist/server/templates/index.d.ts +0 -8
- package/dist/server/templates/persistence/index.d.ts +0 -30
- package/dist/server/templates/persistence/index.js +0 -34
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/logger/transports/index.d.ts +0 -3
- package/dist/shared/logger/transports/index.js +0 -19
- package/dist/utils/errors.d.ts +0 -14
- package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
- package/dist/{system → kernel/di}/class-constructor.js +0 -0
- package/dist/{server → kernel/di}/container.d.ts +0 -0
- package/dist/{server → kernel/di}/container.js +0 -0
- package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
- package/dist/{system → kernel/di}/decorator-processor.js +0 -0
- package/dist/{system → kernel/di}/metadata.scanner.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.config.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.d.ts +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.js +0 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.js +0 -0
- package/dist/{utils → kernel/utils}/result.js +0 -0
- package/dist/{utils → kernel/utils}/rgb.d.ts +0 -0
- package/dist/{utils → kernel/utils}/rgb.js +0 -0
- package/dist/{utils → kernel/utils}/vector3.d.ts +0 -0
- package/dist/{utils → kernel/utils}/vector3.js +0 -0
- package/dist/{client → runtime/client}/client-container.d.ts +0 -0
- package/dist/{client → runtime/client}/client-container.js +0 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.js +0 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.js +0 -0
- package/dist/{client → runtime/client}/decorators/index.d.ts +5 -5
- package/dist/{client → runtime/client}/decorators/index.js +5 -5
- package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
- package/dist/{client → runtime/client}/services/blip.service.js +0 -0
- package/dist/{client → runtime/client}/services/marker.service.js +0 -0
- package/dist/{client → runtime/client}/services/notification.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/notification.service.js +0 -0
- package/dist/{client → runtime/client}/services/progress.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/progress.service.js +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.js +0 -0
- package/dist/{client → runtime/client}/services/textui.service.js +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.d.ts +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.js +0 -0
- package/dist/{client → runtime/client}/system/processors/key.processor.js +0 -0
- package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
- package/dist/{client → runtime/client}/system/processors.register.js +6 -6
- /package/dist/{client → runtime/client}/types/game-events.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.js +0 -0
- /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/api.config.js +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.js +0 -0
- /package/dist/{server → runtime/server}/configs/index.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/index.js +0 -0
- /package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.js +0 -0
- /package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/database.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/database/types.js +0 -0
- /package/dist/{server → runtime/server}/database.d.ts +0 -0
- /package/dist/{server → runtime/server}/database.js +0 -0
- /package/dist/{server → runtime/server}/services/config.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/http/http.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker-pool.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker.js +0 -0
- /package/dist/{client/interfaces/appearance.interface.js → runtime/server/services/types/linked-id.js} +0 -0
- /package/dist/{server/templates/admin/admin.controller-template.js → runtime/server/services/types/player-session.object.js} +0 -0
- /package/dist/{server/types/core-events.js → runtime/server/templates/admin.controller-template.js} +0 -0
- /package/dist/{server → runtime/server}/types/core-events.d.ts +0 -0
- /package/dist/{server/types/security.types.js → runtime/server/types/core-events.js} +0 -0
- /package/dist/{server → runtime/server}/types/security.types.d.ts +0 -0
|
@@ -17,10 +17,13 @@ class Player {
|
|
|
17
17
|
* This is typically instantiated by the `PlayerService` upon connection.
|
|
18
18
|
*
|
|
19
19
|
* @param session - The internal session data structure holding ID and metadata.
|
|
20
|
+
* @param adapters - Platform adapters for player operations.
|
|
20
21
|
*/
|
|
21
|
-
constructor(session) {
|
|
22
|
+
constructor(session, adapters) {
|
|
22
23
|
this.session = session;
|
|
24
|
+
this.adapters = adapters;
|
|
23
25
|
this.states = new Set();
|
|
26
|
+
this.position = adapters.playerInfo.getPlayerPosition(session.clientID);
|
|
24
27
|
}
|
|
25
28
|
/**
|
|
26
29
|
* The numeric FiveM Server ID (Source) of the player.
|
|
@@ -48,7 +51,13 @@ class Player {
|
|
|
48
51
|
* The display name of the player (Steam name or FiveM username).
|
|
49
52
|
*/
|
|
50
53
|
get name() {
|
|
51
|
-
|
|
54
|
+
var _a;
|
|
55
|
+
return (_a = this.adapters.playerInfo.getPlayerName(this.clientID)) !== null && _a !== void 0 ? _a : `Player#${this.clientID}`;
|
|
56
|
+
}
|
|
57
|
+
getPosition() {
|
|
58
|
+
// re-set last position
|
|
59
|
+
this.position = this.adapters.playerInfo.getPlayerPosition(this.clientID);
|
|
60
|
+
return this.position;
|
|
52
61
|
}
|
|
53
62
|
/**
|
|
54
63
|
* Retrieves all platform identifiers associated with the player (steam, license, discord, ip, etc.).
|
|
@@ -56,14 +65,7 @@ class Player {
|
|
|
56
65
|
* @returns An array of identifier strings (e.g., `['steam:11000...', 'license:2332...']`).
|
|
57
66
|
*/
|
|
58
67
|
getIdentifiers() {
|
|
59
|
-
|
|
60
|
-
for (let i = 0;; i++) {
|
|
61
|
-
const id = GetPlayerIdentifier(this.clientIDStr, i);
|
|
62
|
-
if (!id)
|
|
63
|
-
break;
|
|
64
|
-
ids.push(id);
|
|
65
|
-
}
|
|
66
|
-
return ids;
|
|
68
|
+
return this.adapters.playerServer.getIdentifiers(this.clientIDStr);
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
71
|
* Sends a network event exclusively to this specific player (Client-side).
|
|
@@ -73,7 +75,11 @@ class Player {
|
|
|
73
75
|
* @param args - Data to send to the client.
|
|
74
76
|
*/
|
|
75
77
|
emit(eventName, ...args) {
|
|
76
|
-
emitNet(eventName, this.clientID, ...args);
|
|
78
|
+
this.adapters.netTransport.emitNet(eventName, this.clientID, ...args);
|
|
79
|
+
}
|
|
80
|
+
/** used to send a private message to the player */
|
|
81
|
+
send(message, type = 'chat') {
|
|
82
|
+
this.adapters.netTransport.emitNet('core:chat:send', this.clientID, message, type);
|
|
77
83
|
}
|
|
78
84
|
/**
|
|
79
85
|
* Teleports the player to a given position using Server-Side natives.
|
|
@@ -84,7 +90,8 @@ class Player {
|
|
|
84
90
|
* @param vector - The target coordinates (x, y, z).
|
|
85
91
|
*/
|
|
86
92
|
teleport(vector) {
|
|
87
|
-
|
|
93
|
+
const ped = this.adapters.playerServer.getPed(this.clientIDStr);
|
|
94
|
+
this.adapters.entityServer.setCoords(ped, vector.x, vector.y, vector.z, false, false, false, true);
|
|
88
95
|
}
|
|
89
96
|
/**
|
|
90
97
|
* Requests the Client to teleport itself via the Core Spawner system.
|
|
@@ -97,13 +104,16 @@ class Player {
|
|
|
97
104
|
teleportClient(vector) {
|
|
98
105
|
this.emit('opencore:spawner:teleport', vector);
|
|
99
106
|
}
|
|
107
|
+
spawn(vector, model = 'mp_m_freemode_01') {
|
|
108
|
+
this.emit('opencore:spawner:spawn', { position: vector, model });
|
|
109
|
+
}
|
|
100
110
|
/**
|
|
101
111
|
* Disconnects the player from the server.
|
|
102
112
|
*
|
|
103
113
|
* @param reason - The message displayed to the player upon disconnection.
|
|
104
114
|
*/
|
|
105
115
|
kick(reason = 'Kicked from server') {
|
|
106
|
-
|
|
116
|
+
this.adapters.playerServer.drop(this.clientIDStr, reason);
|
|
107
117
|
}
|
|
108
118
|
/**
|
|
109
119
|
* Sets the routing bucket (virtual world / dimension) for the player.
|
|
@@ -112,7 +122,7 @@ class Player {
|
|
|
112
122
|
* @param bucket - The bucket ID (0 is the default shared world).
|
|
113
123
|
*/
|
|
114
124
|
setRoutingBucket(bucket) {
|
|
115
|
-
|
|
125
|
+
this.adapters.playerServer.setRoutingBucket(this.clientIDStr, bucket);
|
|
116
126
|
}
|
|
117
127
|
/**
|
|
118
128
|
* Stores arbitrary transient metadata for this player's session.
|
|
@@ -213,5 +223,73 @@ class Player {
|
|
|
213
223
|
getStates() {
|
|
214
224
|
return Array.from(this.states);
|
|
215
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Gets the current health of the player's ped.
|
|
228
|
+
*
|
|
229
|
+
* @returns Current health value (0-200, where 100 is dead).
|
|
230
|
+
*/
|
|
231
|
+
getHealth() {
|
|
232
|
+
const ped = this.adapters.playerServer.getPed(this.clientIDStr);
|
|
233
|
+
return this.adapters.entityServer.getHealth(ped);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Sets the health of the player's ped.
|
|
237
|
+
*
|
|
238
|
+
* @param health - Health value to set (0-200).
|
|
239
|
+
*/
|
|
240
|
+
setHealth(health) {
|
|
241
|
+
const ped = this.adapters.playerServer.getPed(this.clientIDStr);
|
|
242
|
+
this.adapters.entityServer.setHealth(ped, health);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Gets the current armor of the player's ped.
|
|
246
|
+
*
|
|
247
|
+
* @returns Current armor value (0-100).
|
|
248
|
+
*/
|
|
249
|
+
getArmor() {
|
|
250
|
+
const ped = this.adapters.playerServer.getPed(this.clientIDStr);
|
|
251
|
+
return this.adapters.entityServer.getArmor(ped);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Sets the armor of the player's ped.
|
|
255
|
+
*
|
|
256
|
+
* @param armor - Armor value to set (0-100).
|
|
257
|
+
*/
|
|
258
|
+
setArmor(armor) {
|
|
259
|
+
const ped = this.adapters.playerServer.getPed(this.clientIDStr);
|
|
260
|
+
this.adapters.entityServer.setArmor(ped, armor);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Kills the player by setting health to 0.
|
|
264
|
+
*/
|
|
265
|
+
kill() {
|
|
266
|
+
this.setHealth(0);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Checks if the player is alive.
|
|
270
|
+
*
|
|
271
|
+
* @returns `true` if health is above 100 (dead threshold), `false` otherwise.
|
|
272
|
+
*/
|
|
273
|
+
isAlive() {
|
|
274
|
+
return this.getHealth() > 100;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Serializes the player data for cross-resource transfer.
|
|
278
|
+
*
|
|
279
|
+
* @remarks
|
|
280
|
+
* Creates a plain object representation of the player session that can be
|
|
281
|
+
* safely transferred between resources via FiveM exports.
|
|
282
|
+
*
|
|
283
|
+
* @returns Serialized player data DTO
|
|
284
|
+
*/
|
|
285
|
+
serialize() {
|
|
286
|
+
return {
|
|
287
|
+
clientID: this.clientID,
|
|
288
|
+
accountID: this.accountID,
|
|
289
|
+
identifiers: this.session.identifiers,
|
|
290
|
+
meta: Object.assign({}, this.session.meta),
|
|
291
|
+
states: this.getStates(),
|
|
292
|
+
};
|
|
293
|
+
}
|
|
216
294
|
}
|
|
217
295
|
exports.Player = Player;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { IEntityServer } from '../../../adapters/contracts/IEntityServer';
|
|
2
|
+
import { IVehicleServer } from '../../../adapters/contracts/IVehicleServer';
|
|
3
|
+
import { Vector3 } from '../../../kernel/utils';
|
|
4
|
+
import { SerializedVehicleData, VehicleMetadata, VehicleMods, VehicleOwnership } from '../types/vehicle.types';
|
|
5
|
+
/**
|
|
6
|
+
* Adapter bundle for vehicle operations.
|
|
7
|
+
* Passed to Vehicle instances by VehicleService.
|
|
8
|
+
*/
|
|
9
|
+
export interface VehicleAdapters {
|
|
10
|
+
entityServer: IEntityServer;
|
|
11
|
+
vehicleServer: IVehicleServer;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Server-side representation of a vehicle entity.
|
|
15
|
+
*
|
|
16
|
+
* This class wraps FiveM server-side vehicle natives and manages vehicle state.
|
|
17
|
+
* All vehicle creation and modification should go through this entity
|
|
18
|
+
* to ensure proper synchronization and security.
|
|
19
|
+
*
|
|
20
|
+
* ⚠️ **Design Note:** Vehicles are created server-side using CreateVehicleServerSetter
|
|
21
|
+
* to prevent client-side spawning abuse. Network IDs are used for cross-client references.
|
|
22
|
+
*
|
|
23
|
+
* ⚠️ **Important:** Visual modifications (mods, repairs, fuel) are stored in state bags
|
|
24
|
+
* and must be applied client-side. The server only stores the desired state.
|
|
25
|
+
*/
|
|
26
|
+
export declare class Vehicle {
|
|
27
|
+
private readonly _networkId;
|
|
28
|
+
private readonly _handle;
|
|
29
|
+
private readonly _adapters;
|
|
30
|
+
private readonly _model;
|
|
31
|
+
private readonly _modelHash;
|
|
32
|
+
private _ownership;
|
|
33
|
+
private _mods;
|
|
34
|
+
private _metadata;
|
|
35
|
+
private _persistent;
|
|
36
|
+
private _routingBucket;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new Vehicle entity instance.
|
|
39
|
+
* This should only be instantiated by VehicleService after server-side creation.
|
|
40
|
+
*
|
|
41
|
+
* @param handle - The server-side entity handle
|
|
42
|
+
* @param networkId - The network ID for cross-client reference
|
|
43
|
+
* @param ownership - Ownership information
|
|
44
|
+
* @param adapters - Platform adapters for entity/vehicle operations
|
|
45
|
+
* @param persistent - Whether the vehicle should persist
|
|
46
|
+
* @param routingBucket - The routing bucket the vehicle belongs to
|
|
47
|
+
*/
|
|
48
|
+
constructor(handle: number, networkId: number, ownership: VehicleOwnership, adapters: VehicleAdapters, persistent: boolean | undefined, routingBucket: number | undefined, model: string, modelHash: number);
|
|
49
|
+
get handle(): number;
|
|
50
|
+
get networkId(): number;
|
|
51
|
+
get ownership(): VehicleOwnership;
|
|
52
|
+
get mods(): VehicleMods;
|
|
53
|
+
get metadata(): VehicleMetadata;
|
|
54
|
+
get persistent(): boolean;
|
|
55
|
+
get routingBucket(): number;
|
|
56
|
+
get exists(): boolean;
|
|
57
|
+
get model(): string;
|
|
58
|
+
get modelHash(): number;
|
|
59
|
+
get position(): Vector3;
|
|
60
|
+
get heading(): number;
|
|
61
|
+
get plate(): string;
|
|
62
|
+
/**
|
|
63
|
+
* Updates the ownership of the vehicle.
|
|
64
|
+
*
|
|
65
|
+
* @param ownership - New ownership information
|
|
66
|
+
*/
|
|
67
|
+
setOwnership(ownership: Partial<VehicleOwnership>): void;
|
|
68
|
+
/**
|
|
69
|
+
* Stores modifications in state bag for client-side application.
|
|
70
|
+
*
|
|
71
|
+
* @remarks
|
|
72
|
+
* Mods are stored server-side and synced via state bags.
|
|
73
|
+
* The client must read and apply these modifications locally.
|
|
74
|
+
*
|
|
75
|
+
* @param mods - Modifications to store
|
|
76
|
+
*/
|
|
77
|
+
setMods(mods: Partial<VehicleMods>): void;
|
|
78
|
+
/**
|
|
79
|
+
* Sets custom metadata for the vehicle.
|
|
80
|
+
*
|
|
81
|
+
* @param key - Metadata key
|
|
82
|
+
* @param value - Metadata value
|
|
83
|
+
*/
|
|
84
|
+
setMetadata(key: string, value: any): void;
|
|
85
|
+
/**
|
|
86
|
+
* Gets metadata value by key.
|
|
87
|
+
*
|
|
88
|
+
* @param key - Metadata key
|
|
89
|
+
* @returns The metadata value or undefined
|
|
90
|
+
*/
|
|
91
|
+
getMetadata<T = any>(key: string): T | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Sets the routing bucket for the vehicle.
|
|
94
|
+
*
|
|
95
|
+
* @param bucket - Routing bucket ID
|
|
96
|
+
*/
|
|
97
|
+
setRoutingBucket(bucket: number): void;
|
|
98
|
+
/**
|
|
99
|
+
* Sets the license plate text.
|
|
100
|
+
*
|
|
101
|
+
* @param plate - Plate text (max 8 characters)
|
|
102
|
+
*/
|
|
103
|
+
setPlate(plate: string): void;
|
|
104
|
+
/**
|
|
105
|
+
* Sets the vehicle colors (server-side native).
|
|
106
|
+
*
|
|
107
|
+
* @param primaryColor - Primary color index
|
|
108
|
+
* @param secondaryColor - Secondary color index
|
|
109
|
+
*/
|
|
110
|
+
setColors(primaryColor?: number, secondaryColor?: number): void;
|
|
111
|
+
/**
|
|
112
|
+
* Marks vehicle for repair (client applies the actual repair).
|
|
113
|
+
*
|
|
114
|
+
* @remarks
|
|
115
|
+
* Sets a state bag flag that clients should watch to apply repair locally.
|
|
116
|
+
*/
|
|
117
|
+
markForRepair(): void;
|
|
118
|
+
/**
|
|
119
|
+
* Sets the fuel level (stored in metadata, applied client-side).
|
|
120
|
+
*
|
|
121
|
+
* @param level - Fuel level (0–100)
|
|
122
|
+
*/
|
|
123
|
+
setFuel(level: number): void;
|
|
124
|
+
/**
|
|
125
|
+
* Gets the stored fuel level from metadata.
|
|
126
|
+
*
|
|
127
|
+
* @returns Fuel level (0-100) or 100 if not set
|
|
128
|
+
*/
|
|
129
|
+
getFuel(): number;
|
|
130
|
+
/**
|
|
131
|
+
* Sets the vehicle doors locked state (server-side native).
|
|
132
|
+
*
|
|
133
|
+
* @param locked - Whether doors should be locked
|
|
134
|
+
*/
|
|
135
|
+
setDoorsLocked(locked: boolean): void;
|
|
136
|
+
/**
|
|
137
|
+
* Teleports the vehicle to a position.
|
|
138
|
+
*
|
|
139
|
+
* @param position - Target position
|
|
140
|
+
* @param heading - Optional heading
|
|
141
|
+
*/
|
|
142
|
+
teleport(position: Vector3, heading?: number): void;
|
|
143
|
+
/**
|
|
144
|
+
* Deletes the vehicle from the server.
|
|
145
|
+
*/
|
|
146
|
+
delete(): void;
|
|
147
|
+
/**
|
|
148
|
+
* Syncs data to the vehicle's state bag for client access.
|
|
149
|
+
*
|
|
150
|
+
* @param key - State bag key
|
|
151
|
+
* @param value - Value to sync
|
|
152
|
+
*/
|
|
153
|
+
private syncStateBag;
|
|
154
|
+
/**
|
|
155
|
+
* Serializes the vehicle data for network transfer.
|
|
156
|
+
*
|
|
157
|
+
* @returns Serialized vehicle data
|
|
158
|
+
*/
|
|
159
|
+
serialize(): SerializedVehicleData;
|
|
160
|
+
}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Vehicle = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Server-side representation of a vehicle entity.
|
|
6
|
+
*
|
|
7
|
+
* This class wraps FiveM server-side vehicle natives and manages vehicle state.
|
|
8
|
+
* All vehicle creation and modification should go through this entity
|
|
9
|
+
* to ensure proper synchronization and security.
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ **Design Note:** Vehicles are created server-side using CreateVehicleServerSetter
|
|
12
|
+
* to prevent client-side spawning abuse. Network IDs are used for cross-client references.
|
|
13
|
+
*
|
|
14
|
+
* ⚠️ **Important:** Visual modifications (mods, repairs, fuel) are stored in state bags
|
|
15
|
+
* and must be applied client-side. The server only stores the desired state.
|
|
16
|
+
*/
|
|
17
|
+
class Vehicle {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new Vehicle entity instance.
|
|
20
|
+
* This should only be instantiated by VehicleService after server-side creation.
|
|
21
|
+
*
|
|
22
|
+
* @param handle - The server-side entity handle
|
|
23
|
+
* @param networkId - The network ID for cross-client reference
|
|
24
|
+
* @param ownership - Ownership information
|
|
25
|
+
* @param adapters - Platform adapters for entity/vehicle operations
|
|
26
|
+
* @param persistent - Whether the vehicle should persist
|
|
27
|
+
* @param routingBucket - The routing bucket the vehicle belongs to
|
|
28
|
+
*/
|
|
29
|
+
constructor(handle, networkId, ownership, adapters, persistent = false, routingBucket = 0, model, modelHash) {
|
|
30
|
+
this._mods = {};
|
|
31
|
+
this._metadata = {};
|
|
32
|
+
this._handle = handle;
|
|
33
|
+
this._networkId = networkId;
|
|
34
|
+
this._ownership = ownership;
|
|
35
|
+
this._adapters = adapters;
|
|
36
|
+
this._persistent = persistent;
|
|
37
|
+
this._routingBucket = routingBucket;
|
|
38
|
+
this._model = model;
|
|
39
|
+
this._modelHash = modelHash;
|
|
40
|
+
if (persistent) {
|
|
41
|
+
this._adapters.entityServer.setOrphanMode(handle, 2);
|
|
42
|
+
}
|
|
43
|
+
this._metadata.createdAt = Date.now();
|
|
44
|
+
}
|
|
45
|
+
get handle() {
|
|
46
|
+
return this._handle;
|
|
47
|
+
}
|
|
48
|
+
get networkId() {
|
|
49
|
+
return this._networkId;
|
|
50
|
+
}
|
|
51
|
+
get ownership() {
|
|
52
|
+
return Object.assign({}, this._ownership);
|
|
53
|
+
}
|
|
54
|
+
get mods() {
|
|
55
|
+
return Object.assign({}, this._mods);
|
|
56
|
+
}
|
|
57
|
+
get metadata() {
|
|
58
|
+
return Object.assign({}, this._metadata);
|
|
59
|
+
}
|
|
60
|
+
get persistent() {
|
|
61
|
+
return this._persistent;
|
|
62
|
+
}
|
|
63
|
+
get routingBucket() {
|
|
64
|
+
return this._routingBucket;
|
|
65
|
+
}
|
|
66
|
+
get exists() {
|
|
67
|
+
return this._adapters.entityServer.doesExist(this._handle);
|
|
68
|
+
}
|
|
69
|
+
get model() {
|
|
70
|
+
return this._model;
|
|
71
|
+
}
|
|
72
|
+
get modelHash() {
|
|
73
|
+
return this._modelHash;
|
|
74
|
+
}
|
|
75
|
+
get position() {
|
|
76
|
+
return this._adapters.entityServer.getCoords(this._handle);
|
|
77
|
+
}
|
|
78
|
+
get heading() {
|
|
79
|
+
return this._adapters.entityServer.getHeading(this._handle);
|
|
80
|
+
}
|
|
81
|
+
get plate() {
|
|
82
|
+
return this._adapters.vehicleServer.getNumberPlateText(this._handle);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Updates the ownership of the vehicle.
|
|
86
|
+
*
|
|
87
|
+
* @param ownership - New ownership information
|
|
88
|
+
*/
|
|
89
|
+
setOwnership(ownership) {
|
|
90
|
+
this._ownership = Object.assign(Object.assign({}, this._ownership), ownership);
|
|
91
|
+
this.syncStateBag('ownership', this._ownership);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Stores modifications in state bag for client-side application.
|
|
95
|
+
*
|
|
96
|
+
* @remarks
|
|
97
|
+
* Mods are stored server-side and synced via state bags.
|
|
98
|
+
* The client must read and apply these modifications locally.
|
|
99
|
+
*
|
|
100
|
+
* @param mods - Modifications to store
|
|
101
|
+
*/
|
|
102
|
+
setMods(mods) {
|
|
103
|
+
if (!this.exists)
|
|
104
|
+
return;
|
|
105
|
+
this._mods = Object.assign(Object.assign({}, this._mods), mods);
|
|
106
|
+
this._metadata.modifiedAt = Date.now();
|
|
107
|
+
// Sync to state bag for client-side application
|
|
108
|
+
this.syncStateBag('mods', this._mods);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Sets custom metadata for the vehicle.
|
|
112
|
+
*
|
|
113
|
+
* @param key - Metadata key
|
|
114
|
+
* @param value - Metadata value
|
|
115
|
+
*/
|
|
116
|
+
setMetadata(key, value) {
|
|
117
|
+
this._metadata[key] = value;
|
|
118
|
+
this.syncStateBag(`meta_${key}`, value);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Gets metadata value by key.
|
|
122
|
+
*
|
|
123
|
+
* @param key - Metadata key
|
|
124
|
+
* @returns The metadata value or undefined
|
|
125
|
+
*/
|
|
126
|
+
getMetadata(key) {
|
|
127
|
+
return this._metadata[key];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Sets the routing bucket for the vehicle.
|
|
131
|
+
*
|
|
132
|
+
* @param bucket - Routing bucket ID
|
|
133
|
+
*/
|
|
134
|
+
setRoutingBucket(bucket) {
|
|
135
|
+
if (!this.exists)
|
|
136
|
+
return;
|
|
137
|
+
this._adapters.entityServer.setRoutingBucket(this._handle, bucket);
|
|
138
|
+
this._routingBucket = bucket;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Sets the license plate text.
|
|
142
|
+
*
|
|
143
|
+
* @param plate - Plate text (max 8 characters)
|
|
144
|
+
*/
|
|
145
|
+
setPlate(plate) {
|
|
146
|
+
if (!this.exists)
|
|
147
|
+
return;
|
|
148
|
+
this._adapters.vehicleServer.setNumberPlateText(this._handle, plate.substring(0, 8));
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Sets the vehicle colors (server-side native).
|
|
152
|
+
*
|
|
153
|
+
* @param primaryColor - Primary color index
|
|
154
|
+
* @param secondaryColor - Secondary color index
|
|
155
|
+
*/
|
|
156
|
+
setColors(primaryColor, secondaryColor) {
|
|
157
|
+
if (!this.exists)
|
|
158
|
+
return;
|
|
159
|
+
const [currentPrimary, currentSecondary] = this._adapters.vehicleServer.getColours(this._handle);
|
|
160
|
+
this._adapters.vehicleServer.setColours(this._handle, primaryColor !== null && primaryColor !== void 0 ? primaryColor : currentPrimary, secondaryColor !== null && secondaryColor !== void 0 ? secondaryColor : currentSecondary);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Marks vehicle for repair (client applies the actual repair).
|
|
164
|
+
*
|
|
165
|
+
* @remarks
|
|
166
|
+
* Sets a state bag flag that clients should watch to apply repair locally.
|
|
167
|
+
*/
|
|
168
|
+
markForRepair() {
|
|
169
|
+
if (!this.exists)
|
|
170
|
+
return;
|
|
171
|
+
this._metadata.needsRepair = true;
|
|
172
|
+
this._metadata.repairRequestedAt = Date.now();
|
|
173
|
+
this.syncStateBag('needsRepair', true);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Sets the fuel level (stored in metadata, applied client-side).
|
|
177
|
+
*
|
|
178
|
+
* @param level - Fuel level (0–100)
|
|
179
|
+
*/
|
|
180
|
+
setFuel(level) {
|
|
181
|
+
if (!this.exists)
|
|
182
|
+
return;
|
|
183
|
+
const clampedLevel = Math.max(0, Math.min(100, level));
|
|
184
|
+
this._metadata.fuel = clampedLevel;
|
|
185
|
+
this.syncStateBag('fuel', clampedLevel);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Gets the stored fuel level from metadata.
|
|
189
|
+
*
|
|
190
|
+
* @returns Fuel level (0-100) or 100 if not set
|
|
191
|
+
*/
|
|
192
|
+
getFuel() {
|
|
193
|
+
var _a;
|
|
194
|
+
return (_a = this._metadata.fuel) !== null && _a !== void 0 ? _a : 100;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Sets the vehicle doors locked state (server-side native).
|
|
198
|
+
*
|
|
199
|
+
* @param locked - Whether doors should be locked
|
|
200
|
+
*/
|
|
201
|
+
setDoorsLocked(locked) {
|
|
202
|
+
if (!this.exists)
|
|
203
|
+
return;
|
|
204
|
+
this._adapters.vehicleServer.setDoorsLocked(this._handle, locked ? 2 : 1);
|
|
205
|
+
this.syncStateBag('locked', locked);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Teleports the vehicle to a position.
|
|
209
|
+
*
|
|
210
|
+
* @param position - Target position
|
|
211
|
+
* @param heading - Optional heading
|
|
212
|
+
*/
|
|
213
|
+
teleport(position, heading) {
|
|
214
|
+
if (!this.exists)
|
|
215
|
+
return;
|
|
216
|
+
this._adapters.entityServer.setCoords(this._handle, position.x, position.y, position.z, false, false, false, true);
|
|
217
|
+
if (heading !== undefined) {
|
|
218
|
+
this._adapters.entityServer.setHeading(this._handle, heading);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Deletes the vehicle from the server.
|
|
223
|
+
*/
|
|
224
|
+
delete() {
|
|
225
|
+
if (!this.exists)
|
|
226
|
+
return;
|
|
227
|
+
this._adapters.entityServer.delete(this._handle);
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Syncs data to the vehicle's state bag for client access.
|
|
231
|
+
*
|
|
232
|
+
* @param key - State bag key
|
|
233
|
+
* @param value - Value to sync
|
|
234
|
+
*/
|
|
235
|
+
syncStateBag(key, value) {
|
|
236
|
+
const stateBag = this._adapters.entityServer.getStateBag(this._handle);
|
|
237
|
+
stateBag.set(key, value, true);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Serializes the vehicle data for network transfer.
|
|
241
|
+
*
|
|
242
|
+
* @returns Serialized vehicle data
|
|
243
|
+
*/
|
|
244
|
+
serialize() {
|
|
245
|
+
return {
|
|
246
|
+
networkId: this._networkId,
|
|
247
|
+
handle: this._handle,
|
|
248
|
+
modelHash: this.modelHash,
|
|
249
|
+
model: this.model,
|
|
250
|
+
position: this.position,
|
|
251
|
+
heading: this.heading,
|
|
252
|
+
plate: this.plate,
|
|
253
|
+
ownership: this.ownership,
|
|
254
|
+
mods: this.mods,
|
|
255
|
+
metadata: this.metadata,
|
|
256
|
+
routingBucket: this._routingBucket,
|
|
257
|
+
persistent: this._persistent,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
exports.Vehicle = Vehicle;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CommandMetadata } from './decorators/command';
|
|
2
2
|
export declare function handleCommandError(error: unknown, meta: CommandMetadata, playerId: number | null): void;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleCommandError = handleCommandError;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const logger_1 = require("../../kernel/shared/logger");
|
|
5
|
+
const utils_1 = require("../../kernel/utils");
|
|
6
6
|
function normalizeError(error, origin) {
|
|
7
7
|
if ((0, utils_1.isAppError)(error)) {
|
|
8
8
|
return error;
|
|
9
9
|
}
|
|
10
10
|
if (error instanceof Error) {
|
|
11
|
-
return new utils_1.AppError('UNKNOWN', error.message, origin, { stack: error.stack });
|
|
11
|
+
return new utils_1.AppError('COMMON:UNKNOWN', error.message, origin, { stack: error.stack });
|
|
12
12
|
}
|
|
13
|
-
return new utils_1.AppError('UNKNOWN', String(error), origin, { raw: error });
|
|
13
|
+
return new utils_1.AppError('COMMON:UNKNOWN', String(error), origin, { raw: error });
|
|
14
14
|
}
|
|
15
15
|
function handleCommandError(error, meta, playerId) {
|
|
16
16
|
const appError = normalizeError(error, 'server');
|
|
@@ -25,10 +25,9 @@ function handleCommandError(error, meta, playerId) {
|
|
|
25
25
|
});
|
|
26
26
|
if (playerId !== null) {
|
|
27
27
|
switch (appError.code) {
|
|
28
|
-
case '
|
|
29
|
-
case '
|
|
30
|
-
case '
|
|
31
|
-
case 'UNAUTHORIZED':
|
|
28
|
+
case 'ECONOMY:INSUFFICIENT_FUNDS':
|
|
29
|
+
case 'AUTH:PERMISSION_DENIED':
|
|
30
|
+
case 'AUTH:UNAUTHORIZED':
|
|
32
31
|
emitNet('chat:addMessage', playerId, {
|
|
33
32
|
args: ['^1Error', appError.message],
|
|
34
33
|
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CommandMetadata } from '../decorators/command';
|
|
2
|
+
import { Player } from '../entities';
|
|
3
|
+
/**
|
|
4
|
+
* Centraliza validación de argumentos de comandos.
|
|
5
|
+
*/
|
|
6
|
+
export declare function validateAndExecuteCommand(meta: CommandMetadata, player: Player, args: string[], handler: Function): Promise<any>;
|