@cybermp/client-types 2.0.2 → 2.1.0

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.
@@ -1,53 +1,38 @@
1
- export interface MpEvents {
2
- /**
3
- * Register a custom event listener.
4
- * @param eventName Name of the event.
5
- * @param callback Callback function.
6
- */
7
- on(eventName: string, callback: (...args: any[]) => void): void;
1
+ interface MpEventsMap {
2
+ anyResourceStart(resourceName: string): void;
3
+ anyResourceStop(resourceName: string): void;
4
+ anyServerResourceStart(resourceName: string): void;
5
+ anyServerResourceStop(resourceName: string): void;
6
+ resourceStart(): void;
7
+ resourceStop(): void;
8
+ resourcesRefresh(): void;
8
9
 
9
- /**
10
- * UnRegister a custom event listener.
11
- * @param eventName Name of the event.
12
- * @param callback Callback function.
13
- */
14
- off(eventName: string, callback: (...args: any[]) => void): void;
10
+ objectStreamOut(netID: number, gameID: number): void;
11
+ objectStreamIn(netID: number, gameID: number): void;
12
+ pedStreamOut(netID: number, gameID: number): void;
13
+ pedStreamIn(netID: number, gameID: number): void;
14
+ remotePlayerStreamOut(netID: number, gameID: number): void;
15
+ remotePlayerStreamIn(netID: number, gameID: number): void;
16
+ vehicleStreamOut(netID: number, gameID: number): void;
17
+ vehicleStreamIn(netID: number, gameID: number): void;
18
+ }
15
19
 
16
- /**
17
- * Emit a previously registered custom event.
18
- *
19
- * @param eventName Name of the event.
20
- * @param args Arguments to pass.
21
- */
20
+ export interface MpEvents {
22
21
  emit(eventName: string, ...args: any[]): void;
23
-
24
- /**
25
- * Register a listener for server event on client.
26
- */
27
- onServer(eventName: string, callback: (...args: any[]) => void): void;
28
-
29
- /**
30
- * Emit an event to the server.
31
- */
32
22
  emitServer(eventName: string, ...args: any[]): void;
33
-
34
- /**
35
- * Emit an event to the cef.
36
- */
37
23
  emitCef(eventName: string, ...args: any[]): void;
38
24
 
39
- /**
40
- * Register a custom cef event listener.
41
- * @param eventName Name of the event.
42
- * @param callback Callback function.
43
- */
25
+ onServer(eventName: string, callback: (...args: any[]) => void): void;
44
26
  onCef(eventName: string, callback: (...args: any[]) => void): void;
27
+ on<E extends keyof MpEventsMap>(eventName: E, callback: MpEventsMap[E]): void;
28
+ on(eventName: string, callback: (...args: any[]) => void): void;
29
+
30
+ off<E extends keyof MpEventsMap>(
31
+ eventName: E,
32
+ callback: MpEventsMap[E],
33
+ ): void;
34
+ off(eventName: string, callback: (...args: any[]) => void): void;
45
35
 
46
- /**
47
- * Register a command in the client scope.
48
- * @param commandName Command name without "/".
49
- * @param callback Callback with id and args.
50
- */
51
36
  addCommand(
52
37
  commandName: string,
53
38
  callback: (id: number, args: string[]) => void,
@@ -1,5 +1,5 @@
1
1
  import type * as CyberEnums from '../enums';
2
- import type { MpClasses, Vector3 } from '../game';
2
+ import type { entMorphTargetWeightEntry, MpClasses, Vector3 } from '../game';
3
3
 
4
4
  type UnwrapClass<T> = T extends { new (): infer U } ? U : T;
5
5
 
@@ -38,7 +38,7 @@ interface TweakDB {
38
38
  createRecord(key: string, value: string): boolean;
39
39
  }
40
40
 
41
- interface CyberMP {
41
+ interface MultiplayerSystem {
42
42
  /**
43
43
  * Removes game object classes (e.g., T extends gameObject, playerPuppet, NpcPuppet) from the map.
44
44
  * @param objectClassMap Array of class names to delete.
@@ -109,6 +109,7 @@ declare module '../game.d.ts' {
109
109
 
110
110
  export namespace ScriptGameInstance {
111
111
  export function GetLoadingScreenSystem(): LoadingScreenSystem;
112
+ export function GetMultiplayerSystem(): MultiplayerSystem;
112
113
  }
113
114
 
114
115
  export class LoadingScreenSystem {
@@ -126,8 +127,13 @@ declare module '../game.d.ts' {
126
127
  OnPlayerGenderChanged(gender: CyberEnums.EPlayerGender): void;
127
128
  }
128
129
 
130
+ export interface entEntity {
131
+ GetMorphWeights(): entMorphTargetWeightEntry[];
132
+ }
133
+
129
134
  export interface MpClasses {
130
135
  LoadingScreenSystem: typeof LoadingScreenSystem;
136
+ entEntity: typeof entEntity;
131
137
  }
132
138
 
133
139
  export interface MpGame {
@@ -1,5 +1,4 @@
1
1
  export * from './cef';
2
- export * from './classes';
3
2
  export * from './discord';
4
3
  export * from './enums';
5
4
  export * from './events';
@@ -7,5 +6,4 @@ export * from './game';
7
6
  export * from './local-storage';
8
7
  export * from './meta';
9
8
  export * from './mp';
10
- export * from './primitives';
11
9
  export * from './voice-chat';
@@ -54,8 +54,8 @@ declare module '../mp.d.ts' {
54
54
  * Spawn local-only entities (not synced).
55
55
  */
56
56
  spawnLocalPed(
57
- skinHash: number,
58
- appHash: number,
57
+ skinHash: number | bigint,
58
+ appHash: number | bigint,
59
59
  x: number,
60
60
  y: number,
61
61
  z: number,
@@ -64,8 +64,8 @@ declare module '../mp.d.ts' {
64
64
  ): number;
65
65
 
66
66
  spawnLocalVehicle(
67
- skinHash: number,
68
- appHash: number,
67
+ skinHash: number | bigint,
68
+ appHash: number | bigint,
69
69
  x: number,
70
70
  y: number,
71
71
  z: number,
@@ -16,8 +16,8 @@ export interface MpVoiceChat {
16
16
  setOutputDevice(index: number): void;
17
17
  setInputDevice(index: number): void;
18
18
 
19
- setVoiceInputDistance(distance: number): void;
20
- setVoiceOutputDistance(distance: number): void;
19
+ setInputDistance(distance: number): void;
20
+ setOutputDistance(distance: number): void;
21
21
 
22
22
  isActive(): boolean;
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cybermp/client-types",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "",
5
5
  "types": "./out/index.d.ts",
6
6
  "files": [