lenix 1.7.7 → 1.7.8

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.
Files changed (2) hide show
  1. package/client/client.ts +38 -28
  2. package/package.json +1 -1
package/client/client.ts CHANGED
@@ -38,7 +38,7 @@ export const client = {
38
38
  * Gets entity coordinates and heading.
39
39
  */
40
40
  coords: (() => {
41
- function coords(entity: number, excludeH: boolean, isAlive?: boolean): Vec3
41
+ function coords(entity: number, excludeH?: true, isAlive?: boolean): Vec3
42
42
  function coords(entity: number, excludeH?: false, isAlive?: boolean): Vec4
43
43
  function coords(entity: number, excludeH = false, isAlive = true) {
44
44
  const entityCoords = GetEntityCoords(entity, isAlive) as Vec3
@@ -96,27 +96,6 @@ export const client = {
96
96
  }
97
97
  },
98
98
  player: {
99
- /* */
100
- handle: () => PlayerPedId(),
101
-
102
- /* */
103
- netId: () => client.entity.netId(client.player.handle()),
104
-
105
- /* */
106
- coords: () => client.entity.coords(client.player.handle()),
107
-
108
- /* */
109
- teleport: (
110
- x: number,
111
- y: number,
112
- z: number,
113
- h?: number,
114
- clearArea?: boolean,
115
- alive?: boolean,
116
- deadDisable?: boolean,
117
- ragdol?: boolean
118
- ) => client.entity.teleport(client.player.handle(), x, y, z, h, clearArea, alive, deadDisable, ragdol),
119
-
120
99
  /**
121
100
  * Gets a client player ID.
122
101
  *
@@ -129,7 +108,7 @@ export const client = {
129
108
  * - id(targetServerId) -> target player's client player ID
130
109
  * - id() -> your own client player ID
131
110
  */
132
- id: (serverId?: number) => serverId ? GetPlayerFromServerId(serverId) : PlayerId(),
111
+ id: (serverId?: number) => serverId !== undefined ? GetPlayerFromServerId(serverId) : PlayerId(),
133
112
 
134
113
  /**
135
114
  * Gets a player's server ID from their client player ID.
@@ -143,25 +122,56 @@ export const client = {
143
122
  * - serverId(targetPlayerId) -> target player's server ID
144
123
  * - serverId() -> your own server ID
145
124
  */
146
- serverId: (playerId?: number) => GetPlayerServerId(playerId ?? client.player.id()),
125
+ serverId(playerId?: number) {
126
+ return GetPlayerServerId(playerId ?? this.id())
127
+ },
128
+
129
+ /* */
130
+ entity: (playerId?: number) => playerId !== undefined ? GetPlayerPed(playerId) : PlayerPedId(),
131
+
132
+ /* */
133
+ netId(playerId?: number) {
134
+ return PedToNet(this.entity(playerId))
135
+ },
136
+
137
+ /* */
138
+ coords(excludeH?: true, isAlive?: boolean) {
139
+ return client.entity.coords(this.entity(), excludeH, isAlive)
140
+ },
147
141
 
142
+ /* */
143
+ teleport(
144
+ x: number,
145
+ y: number,
146
+ z: number,
147
+ h?: number,
148
+ clearArea?: boolean,
149
+ alive?: boolean,
150
+ deadDisable?: boolean,
151
+ ragdol?: boolean
152
+ ) {
153
+ return client.entity.teleport(this.entity(), x, y, z, h, clearArea, alive, deadDisable, ragdol)
154
+ },
155
+
156
+ /* */
157
+ /* TODO: support booleans and numbers, and maybe even json */
148
158
  storage: {
149
159
  set: <Storage>(
150
160
  ...[key, value]: {
151
- [K in keyof Storage]: [key: Extract<K, string>, value: Extract<Storage[K], string>]
161
+ [K in keyof Storage]: [key: Extract<K, string>, value: Storage[K] extends string ? Storage[K] : string]
152
162
  }[keyof Storage]
153
163
  ) => SetResourceKvp(key, value),
154
164
 
155
165
  get: <Storage, K extends Extract<keyof Storage, string>>(
156
166
  key: K,
157
167
  init?: Extract<Storage[K], string>
158
- ): Storage[K] => {
168
+ ): Storage[K] extends string ? Storage[K] : string => {
159
169
  const get = GetResourceKvpString
160
- if (!get(key)) {
170
+ if (get(key) === null) {
161
171
  if (init === undefined || init === null) throw new Error(`Failed to get Storage<${key}> value, reason: The key was never assigned before and you did not provided an initiate value`)
162
172
  client.player.storage.set<Storage>(key, init)
163
173
  }
164
- return get(key) as Storage[K]
174
+ return get(key) as Storage[K] extends string ? Storage[K] : string
165
175
  },
166
176
 
167
177
  delete: <Storage>(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lenix",
3
- "version": "1.7.7",
3
+ "version": "1.7.8",
4
4
  "description": "Typed FiveM utilities for client, server, shared, and NUI scripts",
5
5
  "author": "Lenix",
6
6
  "license": "MIT",