@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/out/{enums.d.ts → enums.ts} +14164 -14116
- package/out/game.d.ts +852 -21
- package/package.json +12 -12
- package/{out/precomputed → precomputed}/events.d.ts +23 -0
- package/{out/precomputed → precomputed}/game.d.ts +11 -5
- package/{out/precomputed → precomputed}/meta.d.ts +1 -1
- package/precomputed/mp.d.ts +137 -0
- package/{out/precomputed → precomputed}/voice-chat.d.ts +1 -1
- package/out/mp.d.ts +0 -8
- package/out/precomputed/mp.d.ts +0 -139
- package/out/{bitfields.d.ts → bitfields.ts} +167 -167
- /package/{out/precomputed → precomputed}/cef.d.ts +0 -0
- /package/{out/precomputed → precomputed}/discord.d.ts +0 -0
- /package/{out/precomputed/enums.d.ts → precomputed/enums.ts} +0 -0
- /package/{out/precomputed → precomputed}/index.d.ts +0 -0
- /package/{out/precomputed → precomputed}/local-storage.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cybermp/client-types",
|
|
3
|
-
"version": "2.1
|
|
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": "./
|
|
17
|
-
"types": "./
|
|
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.
|
|
25
|
-
"types": "./out/enums.
|
|
25
|
+
"import": "./out/enums.ts",
|
|
26
|
+
"types": "./out/enums.ts"
|
|
26
27
|
},
|
|
27
28
|
"./bitfields": {
|
|
28
|
-
"import": "./out/bitfields.
|
|
29
|
-
"types": "./out/bitfields.
|
|
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
|
-
"
|
|
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 {
|
|
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
|
+
}
|
package/out/mp.d.ts
DELETED
package/out/precomputed/mp.d.ts
DELETED
|
@@ -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
|
-
}
|