This commit is contained in:
Oleksandr Honcharov
2024-06-09 01:35:14 +03:00
commit d67073d739
11 changed files with 1435 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
{
"name": "rage-f-server",
"version": "0.0.1",
"main": "dist/index.js",
"type": "module",
"files": ["dist/**/*"],
"scripts": {
"build": "tsup"
},
"keywords": [],
"author": "SashaGonncharov19",
"license": "MIT",
"description": "Server side of rage-f"
}
+36
View File
@@ -0,0 +1,36 @@
/// <reference types="@ragempcommunity/types-server" />
import rpc from 'rage-rpc'
type ServerEvent<K> = K extends keyof IServerEvents ? K : never
type ServerEventCallback<K> = K extends keyof IServerEvents
? ThisifyServerEvents[K]
: never
declare class Server {
public register<K = ServerEvent<K>>(
eventName: K,
callback: ServerEventCallback,
): void
public registerMultiple(events: {
[name: string]: (player: PlayerMp, ...args: any[]) => any
}): void
registerMultiple(events: { [name: string]: (...args: any[]) => any }) {
Object.entries(events).forEach(([name, callback]) =>
rpc.register(name, (data: any[]) => {
return Array.isArray(data) ? callback(...data) : callback(data)
}),
)
}
register() {}
}
export const rage = {
event: new Server(),
}
rage.event.register('customevent', vehicle => {})
function test() {}
+12
View File
@@ -0,0 +1,12 @@
{
"compilerOptions": {
"target": "ESNext",
"lib": ["ESNext", "ES5"],
"module": "ESNext",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"types": ["../node_modules/@ragempcommunity/types-server"]
}
}