@cybermp/client-types 2.1.0 → 2.2.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/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@cybermp/client-types",
3
- "version": "2.1.0",
3
+ "version": "2.2.1",
4
4
  "description": "",
5
5
  "types": "./out/index.d.ts",
6
6
  "files": [
7
- "./out"
7
+ "./out",
8
+ "./precomputed"
8
9
  ],
9
10
  "keywords": [],
10
11
  "author": "terminaate",
@@ -13,20 +14,20 @@
13
14
  ],
14
15
  "exports": {
15
16
  ".": {
16
- "import": "./out/mp.d.ts",
17
- "types": "./out/mp.d.ts"
17
+ "import": "./precomputed/mp.d.ts",
18
+ "types": "./precomputed/mp.d.ts"
18
19
  },
19
20
  "./game": {
20
21
  "import": "./out/game.d.ts",
21
22
  "types": "./out/game.d.ts"
22
23
  },
23
24
  "./enums": {
24
- "import": "./out/enums.d.ts",
25
- "types": "./out/enums.d.ts"
25
+ "import": "./out/enums.ts",
26
+ "types": "./out/enums.ts"
26
27
  },
27
28
  "./bitfields": {
28
- "import": "./out/bitfields.d.ts",
29
- "types": "./out/bitfields.d.ts"
29
+ "import": "./out/bitfields.ts",
30
+ "types": "./out/bitfields.ts"
30
31
  }
31
32
  },
32
33
  "license": "MIT",
@@ -36,6 +37,8 @@
36
37
  "consola": "^3.4.2",
37
38
  "fast-json-patch": "^3.1.1",
38
39
  "fs-extra": "^11.3.2",
40
+ "glob": "^13.0.6",
41
+ "radash": "^12.1.1",
39
42
  "rimraf": "^6.0.1",
40
43
  "ts-morph": "^26.0.0",
41
44
  "vitest": "^4.0.15"
@@ -46,10 +49,7 @@
46
49
  "scripts": {
47
50
  "start": "tsx ./src",
48
51
  "dev": "tsx watch ./src",
49
- "generate-patches": "tsx ./scripts/generate-patches.ts",
50
- "apply-patches": "tsx ./scripts/apply-patches.ts",
51
- "prettify-edited": "tsx ./scripts/prettify-edited.ts",
52
- "build": "npm run start",
52
+ "build": "pnpm run start",
53
53
  "test": "vitest run",
54
54
  "test:dev": "vitest",
55
55
  "format": "pnpx @biomejs/biome format --write ./src",
@@ -9,21 +9,44 @@ interface MpEventsMap {
9
9
 
10
10
  objectStreamOut(netID: number, gameID: number): void;
11
11
  objectStreamIn(netID: number, gameID: number): void;
12
+
12
13
  pedStreamOut(netID: number, gameID: number): void;
13
14
  pedStreamIn(netID: number, gameID: number): void;
15
+
14
16
  remotePlayerStreamOut(netID: number, gameID: number): void;
15
17
  remotePlayerStreamIn(netID: number, gameID: number): void;
18
+
16
19
  vehicleStreamOut(netID: number, gameID: number): void;
17
20
  vehicleStreamIn(netID: number, gameID: number): void;
18
21
  }
19
22
 
23
+ type CefLoadingFailedError = {
24
+ frameName: string;
25
+ message: string;
26
+ source: string;
27
+ line: string;
28
+ column: string;
29
+ stack: string;
30
+ };
31
+
32
+ interface MpCefEventsMap {
33
+ domReady(name: string): void;
34
+ loadingFailed(error: CefLoadingFailedError): void;
35
+ }
36
+
20
37
  export interface MpEvents {
21
38
  emit(eventName: string, ...args: any[]): void;
22
39
  emitServer(eventName: string, ...args: any[]): void;
23
40
  emitCef(eventName: string, ...args: any[]): void;
24
41
 
25
42
  onServer(eventName: string, callback: (...args: any[]) => void): void;
43
+
44
+ onCef<E extends keyof MpCefEventsMap>(
45
+ eventName: E,
46
+ callback: MpCefEventsMap[E],
47
+ ): void;
26
48
  onCef(eventName: string, callback: (...args: any[]) => void): void;
49
+
27
50
  on<E extends keyof MpEventsMap>(eventName: E, callback: MpEventsMap[E]): void;
28
51
  on(eventName: string, callback: (...args: any[]) => void): void;
29
52
 
@@ -1,5 +1,10 @@
1
- import type * as CyberEnums from '../enums';
2
- import type { entMorphTargetWeightEntry, MpClasses, Vector3 } from '../game';
1
+ import type * as CyberEnums from '../out/enums';
2
+ import type {
3
+ EulerAngles,
4
+ entMorphTargetWeightEntry,
5
+ MpClasses,
6
+ Vector3,
7
+ } from '../out/game';
3
8
 
4
9
  type UnwrapClass<T> = T extends { new (): infer U } ? U : T;
5
10
 
@@ -60,9 +65,9 @@ interface MultiplayerSystem {
60
65
  SetDefaultSpawnPosition(position: Vector3, yaw: number): void;
61
66
  }
62
67
 
63
- import '../game.d.ts';
68
+ import '../out/game.d.ts';
64
69
 
65
- declare module '../game.d.ts' {
70
+ declare module '../out/game.d.ts' {
66
71
  export interface worldWeatherScriptInterface extends IScriptable {
67
72
  SetWeather(
68
73
  weather: CyberEnums.EWeatherState,
@@ -129,6 +134,8 @@ declare module '../game.d.ts' {
129
134
 
130
135
  export interface entEntity {
131
136
  GetMorphWeights(): entMorphTargetWeightEntry[];
137
+ ReassembleWithComponents(arr: entIComponent[]): void;
138
+ TeleportPed(position: Vector3, rotation?: EulerAngles): void;
132
139
  }
133
140
 
134
141
  export interface MpClasses {
@@ -137,7 +144,6 @@ declare module '../game.d.ts' {
137
144
  }
138
145
 
139
146
  export interface MpGame {
140
- CyberMP: CyberMP;
141
147
  TweakDB: TweakDB;
142
148
 
143
149
  onInputKeyEvent(
@@ -10,7 +10,7 @@ export interface MpMeta {
10
10
  ): void;
11
11
  getPlayerMeta<T = any>(playerId: number, key: string): T;
12
12
 
13
- setLocalPlayerMeta(key: string, value: any): void;
13
+ setLocalPlayerMeta(key: string, value: any, sync?: boolean): void;
14
14
  getLocalPlayerMeta<T = any>(key: string): T;
15
15
 
16
16
  setEntityMeta(netId: number, key: string, value: any, sync?: boolean): void;
@@ -0,0 +1,137 @@
1
+ import type { MpGame } from '../out/game';
2
+ import type { MpCef } from './cef';
3
+ import type { MpDiscord } from './discord';
4
+ import type { MpEvents } from './events';
5
+ import type { MpLocalStorage } from './local-storage';
6
+ import type { MpMeta } from './meta';
7
+ import type { MpVoiceChat } from './voice-chat';
8
+
9
+ type ServerVector3 = [number, number, number];
10
+ type ServerVector4 = [number, number, number, number];
11
+
12
+ export interface MpClient {
13
+ game: MpGame;
14
+ events: MpEvents;
15
+ meta: MpMeta;
16
+ voiceChat: MpVoiceChat;
17
+ cef: MpCef;
18
+ discord: MpDiscord;
19
+ localStorage: MpLocalStorage;
20
+
21
+ getStreamedPool(
22
+ objName: 'CVehicle' | 'CPed' | 'CPickup' | 'CObject',
23
+ ): number[];
24
+ getStreamedPlayers(): number[];
25
+
26
+ /**
27
+ * Mapping between network and game IDs.
28
+ */
29
+ getVehicleGameIdByNetworkId(id: number): number;
30
+
31
+ getPlayerGameIdByNetworkId(id: number): number;
32
+
33
+ getObjectGameIdByNetworkId(id: number): number;
34
+
35
+ getVehicleNetworkIdByGameId(hash: number): number;
36
+
37
+ getPlayerNetworkIdByGameId(hash: number): number;
38
+
39
+ getObjectNetworkIdByGameId(hash: number): number;
40
+
41
+ getPedNetworkIdByGameId(hash: number): number;
42
+
43
+ getPedGameIdByNetworkId(hash: number): number;
44
+
45
+ /**
46
+ * Local player spawning API.
47
+ */
48
+ setSpawnDataLocalPlayer(x: number, y: number, z: number, yaw: number): void;
49
+
50
+ spawnLocalPlayer(): boolean;
51
+
52
+ /**
53
+ * Spawn local-only entities (not synced).
54
+ */
55
+ spawnLocalPed(
56
+ skinHash: number | bigint,
57
+ appHash: number | bigint,
58
+ x: number,
59
+ y: number,
60
+ z: number,
61
+ yaw: number,
62
+ streaming: boolean,
63
+ ): number;
64
+
65
+ spawnLocalVehicle(
66
+ skinHash: number | bigint,
67
+ appHash: number | bigint,
68
+ x: number,
69
+ y: number,
70
+ z: number,
71
+ roll: number,
72
+ pitch: number,
73
+ yaw: number,
74
+ streaming: boolean,
75
+ ): number;
76
+
77
+ spawnLocalObject(
78
+ skinHash: bigint | number,
79
+ appHash: bigint | number,
80
+ x: number,
81
+ y: number,
82
+ z: number,
83
+ roll: number,
84
+ pitch: number,
85
+ yaw: number,
86
+ streaming: boolean,
87
+ ): number;
88
+
89
+ despawnLocalPed(hash: number): void;
90
+
91
+ despawnLocalVehicle(hash: number): void;
92
+
93
+ despawnLocalObject(hash: number): void;
94
+
95
+ /**
96
+ * Get Discord token via game SDK (unstable).
97
+ */
98
+ getDiscordOAuth2Token(discordAppId: string): string;
99
+
100
+ /**
101
+ * Get Discord auth code (preferred).
102
+ */
103
+ getDiscordCodeAuthorization(discordAppId: string, scopes: string): string;
104
+
105
+ /**
106
+ * Returns current server IP:PORT string.
107
+ */
108
+ getCurrentServerEndpoint(): string;
109
+
110
+ /**
111
+ * Get server ID from player hash.
112
+ */
113
+ getPlayerServerId(playerHash: number): number;
114
+
115
+ /**
116
+ * Get src variable value as string.
117
+ */
118
+ getVar(varName: string): string;
119
+
120
+ /**
121
+ * Get console variable value as integer.
122
+ */
123
+ getVarInt(varName: string): number;
124
+
125
+ /**
126
+ * Returns time in ms since game start.
127
+ */
128
+ getGameTimer(): number;
129
+
130
+ getLauncherSettingsJSON(): string;
131
+
132
+ getLauncherSettings(): any;
133
+
134
+ setTick(cb: () => any): number;
135
+
136
+ clearTick(tickId: number): void;
137
+ }
@@ -1,4 +1,4 @@
1
- import type * as CyberEnums from '../enums';
1
+ import type * as CyberEnums from '../out/enums';
2
2
 
3
3
  export interface MpVoiceChat {
4
4
  enable(state: boolean): void;
package/out/mp.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { MpGame } from "./game.d.ts";
2
-
3
- // THIS CODE IS GENERATED, PLEASE DO NOT EDIT THIS
4
- export interface MpClient {
5
- game: MpGame;
6
- }
7
-
8
- export * from "./precomputed/mp.d.ts";
@@ -1,139 +0,0 @@
1
- import type { MpCef } from './cef';
2
- import type { MpDiscord } from './discord';
3
- import type { MpEvents } from './events';
4
- import type { MpLocalStorage } from './local-storage';
5
- import type { MpMeta } from './meta';
6
- import type { MpVoiceChat } from './voice-chat';
7
-
8
- type ServerVector3 = [number, number, number];
9
- type ServerVector4 = [number, number, number, number];
10
-
11
- import '../mp.d.ts';
12
-
13
- declare module '../mp.d.ts' {
14
- export interface MpClient {
15
- events: MpEvents;
16
- meta: MpMeta;
17
- voiceChat: MpVoiceChat;
18
- cef: MpCef;
19
- discord: MpDiscord;
20
- localStorage: MpLocalStorage;
21
-
22
- getStreamedPool(
23
- objName: 'CVehicle' | 'CPed' | 'CPickup' | 'CObject',
24
- ): number[];
25
- getStreamedPlayers(): number[];
26
-
27
- /**
28
- * Mapping between network and game IDs.
29
- */
30
- getVehicleGameIdByNetworkId(id: number): number;
31
-
32
- getPlayerGameIdByNetworkId(id: number): number;
33
-
34
- getObjectGameIdByNetworkId(id: number): number;
35
-
36
- getVehicleNetworkIdByGameId(hash: number): number;
37
-
38
- getPlayerNetworkIdByGameId(hash: number): number;
39
-
40
- getObjectNetworkIdByGameId(hash: number): number;
41
-
42
- getPedNetworkIdByGameId(hash: number): number;
43
-
44
- getPedGameIdByNetworkId(hash: number): number;
45
-
46
- /**
47
- * Local player spawning API.
48
- */
49
- setSpawnDataLocalPlayer(x: number, y: number, z: number, yaw: number): void;
50
-
51
- spawnLocalPlayer(): boolean;
52
-
53
- /**
54
- * Spawn local-only entities (not synced).
55
- */
56
- spawnLocalPed(
57
- skinHash: number | bigint,
58
- appHash: number | bigint,
59
- x: number,
60
- y: number,
61
- z: number,
62
- yaw: number,
63
- streaming: boolean,
64
- ): number;
65
-
66
- spawnLocalVehicle(
67
- skinHash: number | bigint,
68
- appHash: number | bigint,
69
- x: number,
70
- y: number,
71
- z: number,
72
- roll: number,
73
- pitch: number,
74
- yaw: number,
75
- streaming: boolean,
76
- ): number;
77
-
78
- spawnLocalObject(
79
- skinHash: bigint | number,
80
- appHash: bigint | number,
81
- x: number,
82
- y: number,
83
- z: number,
84
- roll: number,
85
- pitch: number,
86
- yaw: number,
87
- streaming: boolean,
88
- ): number;
89
-
90
- despawnLocalPed(hash: number): void;
91
-
92
- despawnLocalVehicle(hash: number): void;
93
-
94
- despawnLocalObject(hash: number): void;
95
-
96
- /**
97
- * Get Discord token via game SDK (unstable).
98
- */
99
- getDiscordOAuth2Token(discordAppId: string): string;
100
-
101
- /**
102
- * Get Discord auth code (preferred).
103
- */
104
- getDiscordCodeAuthorization(discordAppId: string, scopes: string): string;
105
-
106
- /**
107
- * Returns current server IP:PORT string.
108
- */
109
- getCurrentServerEndpoint(): string;
110
-
111
- /**
112
- * Get server ID from player hash.
113
- */
114
- getPlayerServerId(playerHash: number): number;
115
-
116
- /**
117
- * Get src variable value as string.
118
- */
119
- getVar(varName: string): string;
120
-
121
- /**
122
- * Get console variable value as integer.
123
- */
124
- getVarInt(varName: string): number;
125
-
126
- /**
127
- * Returns time in ms since game start.
128
- */
129
- getGameTimer(): number;
130
-
131
- getLauncherSettingsJSON(): string;
132
-
133
- getLauncherSettings(): any;
134
-
135
- setTick(cb: () => any): number;
136
-
137
- clearTick(tickId: number): void;
138
- }
139
- }