From 2da34bd38281b401aa161fb9e25411b992becbb2 Mon Sep 17 00:00:00 2001 From: Oleksandr Honcharov <0976053529@ukr.net> Date: Tue, 11 Jun 2024 03:38:31 +0300 Subject: [PATCH] temp --- server/src/index.ts | 25 +++++++++++++++++++++++-- server/src/types.ts | 19 +++++++++---------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/server/src/index.ts b/server/src/index.ts index 904866e..6aa4b25 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -9,14 +9,29 @@ import { import { nativeEvents } from './native.events' class Server { + private isNativeEvent(eventName: string): eventName is keyof IServerEvents { + return nativeEvents.includes(eventName) + } + + public testRegister( + event: string, + callback: (player: PlayerMp, ...args: unknown[]) => void, + ) { + rpc.register(event, async (data, info) => { + callback(info.player as PlayerMp, ...data) + }) + } + public register( eventName: EventName, callback: RageFW_ServerEventCallback, ): void { - if (nativeEvents.includes(eventName)) { + if (this.isNativeEvent(eventName)) { mp.events.add(eventName, callback) } else { - rpc.register(eventName, callback as rpc.ProcedureListener) + rpc.register(eventName, async (data: any[], info) => { + return callback(info.player as PlayerMp, data) + }) } } @@ -54,3 +69,9 @@ export const fw = { event: new Server(), player: new Player(), } + +fw.event.register('ggfdgfd', player => {}) + +fw.event.registerMany({ + trailerAttached: player => {}, +}) diff --git a/server/src/types.ts b/server/src/types.ts index 439351c..f1d46fc 100644 --- a/server/src/types.ts +++ b/server/src/types.ts @@ -9,16 +9,15 @@ export type RageFW_ServerEvent = | keyof RageFW_ICustomServerEvent | keyof IServerEvents -export type RageFW_ServerEventCallback< - K extends keyof RageFW_ICustomServerEvent | keyof IServerEvents, -> = K extends keyof RageFW_ICustomServerEvent - ? ( - player: PlayerMp, - ...args: Parameters - ) => ReturnType - : K extends keyof IServerEvents - ? ThisifyServerEvents[K] - : never +export type RageFW_ServerEventCallback = + K extends keyof RageFW_ICustomServerEvent + ? ( + player: PlayerMp, + ...args: Parameters + ) => ReturnType + : K extends keyof IServerEvents + ? ThisifyServerEvents[K] + : never export type RageFW_ClientEvent = keyof RageFW_ICustomClientEvent