@overextended/ox_lib
Advanced tools
@@ -14,2 +14,3 @@ import { __name } from "../../../_virtual/_rolldown/runtime.js"; | ||
| readonly type: string; | ||
| /** The entity's network id. */ | ||
| readonly netId: number; | ||
@@ -29,2 +30,3 @@ protected statebag: string; | ||
| keys(): string[]; | ||
| /** The entity's script handle */ | ||
| get handle(): number; | ||
@@ -31,0 +33,0 @@ protected setHandle(handle: number): void; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../common/game/Entity/index.ts"],"mappings":";;;;aAMK,mBAAA;;EAEH,UAAA;EAFG;EAIH,MAAM;AAAA;AAAA,uBAGc,UAAA;EAAA;WAEX,IAAA;EAAA,SACA,KAAA;EAAA,UACC,QAAA;EAG2C;EAAxC,GAAA,CAAI,GAAA,UAAa,KAAA,WAAgB,IAAA,GAAO,mBAAA,GAAmB,OAAA;EAwB3B;EAAhC,IAAA,CAAK,GAAA,UAAa,KAAA,YAAc,OAAA;EAUP;EALzB,IAAA,CAAK,GAAA,UAAa,KAAA,YAAc,OAAA;EAoC7B;EA/BT,GAAA,aAAA,CAAiB,GAAA,WAAc,CAAA;;EAK/B,GAAA,CAAI,GAAA;EA3CF;EAgDF,IAAA,CAAA;EAAA,IAII,MAAA,CAAA;EAAA,UAID,SAAA,CAAU,MAAA;EAab,SAAA,CAAA,GAAS,OAAA;EAIT,SAAA,CAAU,CAAA,UAAW,CAAA,UAAW,CAAA,UAAW,QAAA,YAAkB,WAAA,YAAqB,SAAA;EAIlF,QAAA,CAAA;EAIA,UAAA,CAAA;EAIA,UAAA,CAAW,OAAA;EAIX,gBAAA,CAAA;EAIA,gBAAA,CAAiB,MAAA;AAAA"} | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../common/game/Entity/index.ts"],"mappings":";;;;aAMK,mBAAA;;EAEH,UAAA;EAFG;EAIH,MAAM;AAAA;AAAA,uBAGc,UAAA;EAAA;WAEX,IAAA;EAFqB;EAAA,SAIrB,KAAA;EAAA,UACC,QAAA;EAGiE;EAA9D,GAAA,CAAI,GAAA,UAAa,KAAA,WAAgB,IAAA,GAAO,mBAAA,GAAsB,OAAA;EA+B9B;EALhC,IAAA,CAAK,GAAA,UAAa,KAAA,YAAc,OAAA;EA0C7B;EArCH,IAAA,CAAK,GAAA,UAAa,KAAA,YAAc,OAAA;EAqC7B;EAhCT,GAAA,aAAA,CAAiB,GAAA,WAAc,CAAA;EA1C7B;EA+CF,GAAA,CAAI,GAAA;EA5CD;EAiDH,IAAA,CAAA;EA9CU;EAAA,IAmDN,MAAA,CAAA;EAAA,UAID,SAAA,CAAU,MAAA;EAab,SAAA,CAAA,GAAS,OAAA;EAIT,SAAA,CAAU,CAAA,UAAW,CAAA,UAAW,CAAA,UAAW,QAAA,YAAkB,WAAA,YAAqB,SAAA;EAIlF,QAAA,CAAA;EAIA,UAAA,CAAA;EAIA,UAAA,CAAW,OAAA;EAIX,gBAAA,CAAA;EAIA,gBAAA,CAAiB,MAAA;AAAA"} |
| import "../../../_virtual/_rolldown/runtime.js"; | ||
| import { Player } from "../Player/index.js"; | ||
| import { context } from "../../misc.js"; | ||
@@ -11,2 +10,3 @@ import { Vector3 } from "@overextended/core/vector"; | ||
| type = ""; | ||
| /** The entity's network id. */ | ||
| netId = 0; | ||
@@ -17,4 +17,4 @@ statebag = ""; | ||
| if (mode === 1 && !allowStateBagReplication || mode === 2) { | ||
| if (mode === 2 && this instanceof Player) throw new Error("Setting synced-states is not supported for non-player entities."); | ||
| if (!isServer) return import("../../../client/callback/index.js").then((m) => m.triggerServerCallback("ox_lib:requestSetStateBag", null, this.statebag, key, value)); | ||
| if (mode === 2 && this.type !== "Player") throw new Error("Setting synced-states is not supported for non-player entities."); | ||
| if (!isServer) return await import("../../../client/callback/index.js").then((m) => m.triggerServerCallback("ox_lib:requestSetStateBag", null, this.statebag, key, value)) ? this.set(key, value) : false; | ||
| emitNet("ox_lib:setStateBagValue", this.netId, key, value); | ||
@@ -46,2 +46,3 @@ } | ||
| } | ||
| /** The entity's script handle */ | ||
| get handle() { | ||
@@ -51,5 +52,5 @@ return this.#handle; | ||
| setHandle(handle) { | ||
| const isPlayer = this instanceof Player; | ||
| const isPlayer = this.type === "Player"; | ||
| this.#handle = handle; | ||
| this.netId = NetworkGetNetworkIdFromEntity(handle); | ||
| this.netId = isPlayer ? GetPlayerServerId(NetworkGetEntityOwner(handle)) : NetworkGetNetworkIdFromEntity(handle); | ||
| this.statebag = this.netId ? `${isPlayer ? "player" : "entity"}:${this.netId}` : `localEntity:${handle}`; | ||
@@ -56,0 +57,0 @@ if (!this.netId || isServer && !isPlayer) EnsureEntityStateBag(handle); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","names":["#handle"],"sources":["../../../../common/game/Entity/index.ts"],"sourcesContent":["import { Vector3 } from '@overextended/core/vector';\nimport { context, Player } from '../..';\n\nconst isServer = context === 'server';\nconst allowStateBagReplication = isServer || !GetConvarBool('sv_stateBagStrictMode', false);\n\nenum StateBagReplication {\n /** The value is replicated to the server and all relevant clients. */\n REPLICATED = 1,\n /** The value is synced between the server and entity owner. Player only. */\n SYNCED = 2,\n}\n\nexport abstract class GameEntity {\n #handle: number = 0;\n readonly type: string = '';\n readonly netId: number = 0;\n protected statebag: string = '';\n\n /** Writes a value to the entity's state. Replicated values are validated by the server. */\n public async set(key: string, value: unknown, mode?: StateBagReplication) {\n if ((mode === 1 && !allowStateBagReplication) || mode === 2) {\n if (mode === 2 && this! instanceof Player) {\n throw new Error('Setting synced-states is not supported for non-player entities.');\n }\n\n if (!isServer) {\n return import('../../../client/callback').then(\n (m) =>\n m.triggerServerCallback('ox_lib:requestSetStateBag', null, this.statebag, key, value) as Promise<boolean>,\n );\n }\n\n emitNet('ox_lib:setStateBagValue', this.netId, key, value);\n }\n\n // @ts-ignore\n const packed = msgpack_pack(value);\n SetStateBagValue(this.statebag, key, packed, packed.length, mode === 1);\n\n return true;\n }\n\n /** Writes a replicated value to the entity's state. Client-set values are validated by the server. */\n public async setr(key: string, value: unknown) {\n return this.set(key, value, 1);\n }\n\n /** Writes a synced value to the entity's state. Client-set values are validated by the server. */\n public async sets(key: string, value: unknown) {\n return this.set(key, value, 2);\n }\n\n /** Returns a value from the entity's state. */\n public get<T = unknown>(key: string): T | undefined {\n return GetStateBagValue(this.statebag, key);\n }\n\n /** Returns if a key exists in the entity's state. */\n public has(key: string) {\n return !!StateBagHasKey(this.statebag, key);\n }\n\n /** Returns an array of all keys in the entity's state. */\n public keys(): string[] {\n return GetStateBagKeys(this.statebag);\n }\n\n public get handle() {\n return this.#handle;\n }\n\n protected setHandle(handle: number) {\n const isPlayer = this instanceof Player;\n\n this.#handle = handle;\n // @ts-ignore\n this.netId = NetworkGetNetworkIdFromEntity(handle);\n this.statebag = this.netId ? `${isPlayer ? 'player' : 'entity'}:${this.netId}` : `localEntity:${handle}`;\n\n if (!this.netId || (isServer && !isPlayer)) {\n EnsureEntityStateBag(handle);\n }\n }\n\n public getCoords() {\n return Vector3.fromArray(GetEntityCoords(this.handle));\n }\n\n public setCoords(x: number, y: number, z: number, deadFlag = false, ragdollFlag = false, clearArea = false) {\n SetEntityCoords(this.handle, x, y, z, true, deadFlag, ragdollFlag, clearArea);\n }\n\n public getModel() {\n return GetEntityModel(this.handle);\n }\n\n public getHeading() {\n return GetEntityHeading(this.handle);\n }\n\n public setHeading(heading: number) {\n SetEntityHeading(this.handle, heading);\n }\n\n public getRoutingBucket() {\n return isServer ? GetEntityRoutingBucket(this.handle) : (this.get('bucket') ?? 0);\n }\n\n public setRoutingBucket(bucket: number) {\n if (!isServer) return;\n\n SetEntityRoutingBucket(this.handle, bucket);\n this.set('bucket', bucket, 1);\n }\n}\n"],"mappings":";;;;;AAGA,MAAM,WAAW,YAAY;AAC7B,MAAM,2BAA2B,YAAY,CAAC,cAAc,yBAAyB,KAAK;AAS1F,IAAsB,aAAtB,MAAiC;CAC/B,UAAkB;CAClB,OAAwB;CACxB,QAAyB;CACzB,WAA6B;;CAG7B,MAAa,IAAI,KAAa,OAAgB,MAA4B;EACxE,IAAK,SAAS,KAAK,CAAC,4BAA6B,SAAS,GAAG;GAC3D,IAAI,SAAS,KAAK,gBAAiB,QACjC,MAAM,IAAI,MAAM,iEAAiE;GAGnF,IAAI,CAAC,UACH,OAAO,OAAO,qCAA4B,MACvC,MACC,EAAE,sBAAsB,6BAA6B,MAAM,KAAK,UAAU,KAAK,KAAK,CACxF;GAGF,QAAQ,2BAA2B,KAAK,OAAO,KAAK,KAAK;EAC3D;EAGA,MAAM,SAAS,aAAa,KAAK;EACjC,iBAAiB,KAAK,UAAU,KAAK,QAAQ,OAAO,QAAQ,SAAS,CAAC;EAEtE,OAAO;CACT;;CAGA,MAAa,KAAK,KAAa,OAAgB;EAC7C,OAAO,KAAK,IAAI,KAAK,OAAO,CAAC;CAC/B;;CAGA,MAAa,KAAK,KAAa,OAAgB;EAC7C,OAAO,KAAK,IAAI,KAAK,OAAO,CAAC;CAC/B;;CAGA,IAAwB,KAA4B;EAClD,OAAO,iBAAiB,KAAK,UAAU,GAAG;CAC5C;;CAGA,IAAW,KAAa;EACtB,OAAO,CAAC,CAAC,eAAe,KAAK,UAAU,GAAG;CAC5C;;CAGA,OAAwB;EACtB,OAAO,gBAAgB,KAAK,QAAQ;CACtC;CAEA,IAAW,SAAS;EAClB,OAAO,KAAKA;CACd;CAEA,UAAoB,QAAgB;EAClC,MAAM,WAAW,gBAAgB;EAEjC,KAAKA,UAAU;EAEf,KAAK,QAAQ,8BAA8B,MAAM;EACjD,KAAK,WAAW,KAAK,QAAQ,GAAG,WAAW,WAAW,SAAS,GAAG,KAAK,UAAU,eAAe;EAEhG,IAAI,CAAC,KAAK,SAAU,YAAY,CAAC,UAC/B,qBAAqB,MAAM;CAE/B;CAEA,YAAmB;EACjB,OAAO,QAAQ,UAAU,gBAAgB,KAAK,MAAM,CAAC;CACvD;CAEA,UAAiB,GAAW,GAAW,GAAW,WAAW,OAAO,cAAc,OAAO,YAAY,OAAO;EAC1G,gBAAgB,KAAK,QAAQ,GAAG,GAAG,GAAG,MAAM,UAAU,aAAa,SAAS;CAC9E;CAEA,WAAkB;EAChB,OAAO,eAAe,KAAK,MAAM;CACnC;CAEA,aAAoB;EAClB,OAAO,iBAAiB,KAAK,MAAM;CACrC;CAEA,WAAkB,SAAiB;EACjC,iBAAiB,KAAK,QAAQ,OAAO;CACvC;CAEA,mBAA0B;EACxB,OAAO,WAAW,uBAAuB,KAAK,MAAM,IAAK,KAAK,IAAI,QAAQ,KAAK;CACjF;CAEA,iBAAwB,QAAgB;EACtC,IAAI,CAAC,UAAU;EAEf,uBAAuB,KAAK,QAAQ,MAAM;EAC1C,KAAK,IAAI,UAAU,QAAQ,CAAC;CAC9B;AACF"} | ||
| {"version":3,"file":"index.js","names":["#handle"],"sources":["../../../../common/game/Entity/index.ts"],"sourcesContent":["import { Vector3 } from '@overextended/core/vector';\nimport { context } from '../..';\n\nconst isServer = context === 'server';\nconst allowStateBagReplication = isServer || !GetConvarBool('sv_stateBagStrictMode', false);\n\nenum StateBagReplication {\n /** The value is replicated to the server and all relevant clients. */\n REPLICATED = 1,\n /** The value is synced between the server and entity owner. Player only. */\n SYNCED = 2,\n}\n\nexport abstract class GameEntity {\n #handle: number = 0;\n readonly type: string = '';\n /** The entity's network id. */\n readonly netId: number = 0;\n protected statebag: string = '';\n\n /** Writes a value to the entity's state. Replicated values are validated by the server. */\n public async set(key: string, value: unknown, mode?: StateBagReplication): Promise<boolean> {\n if ((mode === 1 && !allowStateBagReplication) || mode === 2) {\n if (mode === 2 && this.type !== 'Player') {\n throw new Error('Setting synced-states is not supported for non-player entities.');\n }\n\n if (!isServer) {\n const ok = await import('../../../client/callback').then(\n (m) =>\n m.triggerServerCallback('ox_lib:requestSetStateBag', null, this.statebag, key, value) as Promise<boolean>,\n );\n\n return ok ? this.set(key, value) : false;\n }\n\n emitNet('ox_lib:setStateBagValue', this.netId, key, value);\n }\n\n // @ts-ignore\n const packed = msgpack_pack(value);\n SetStateBagValue(this.statebag, key, packed, packed.length, mode === 1);\n\n return true;\n }\n\n /** Writes a replicated value to the entity's state. Client-set values are validated by the server. */\n public async setr(key: string, value: unknown) {\n return this.set(key, value, 1);\n }\n\n /** Writes a synced value to the entity's state. Client-set values are validated by the server. */\n public async sets(key: string, value: unknown) {\n return this.set(key, value, 2);\n }\n\n /** Returns a value from the entity's state. */\n public get<T = unknown>(key: string): T | undefined {\n return GetStateBagValue(this.statebag, key);\n }\n\n /** Returns if a key exists in the entity's state. */\n public has(key: string) {\n return !!StateBagHasKey(this.statebag, key);\n }\n\n /** Returns an array of all keys in the entity's state. */\n public keys(): string[] {\n return GetStateBagKeys(this.statebag);\n }\n\n /** The entity's script handle */\n public get handle() {\n return this.#handle;\n }\n\n protected setHandle(handle: number) {\n const isPlayer = this.type === 'Player';\n\n this.#handle = handle;\n // @ts-ignore\n this.netId = isPlayer ? GetPlayerServerId(NetworkGetEntityOwner(handle)) : NetworkGetNetworkIdFromEntity(handle);\n this.statebag = this.netId ? `${isPlayer ? 'player' : 'entity'}:${this.netId}` : `localEntity:${handle}`;\n\n if (!this.netId || (isServer && !isPlayer)) {\n EnsureEntityStateBag(handle);\n }\n }\n\n public getCoords() {\n return Vector3.fromArray(GetEntityCoords(this.handle));\n }\n\n public setCoords(x: number, y: number, z: number, deadFlag = false, ragdollFlag = false, clearArea = false) {\n SetEntityCoords(this.handle, x, y, z, true, deadFlag, ragdollFlag, clearArea);\n }\n\n public getModel() {\n return GetEntityModel(this.handle);\n }\n\n public getHeading() {\n return GetEntityHeading(this.handle);\n }\n\n public setHeading(heading: number) {\n SetEntityHeading(this.handle, heading);\n }\n\n public getRoutingBucket() {\n return isServer ? GetEntityRoutingBucket(this.handle) : (this.get('bucket') ?? 0);\n }\n\n public setRoutingBucket(bucket: number) {\n if (!isServer) return;\n\n SetEntityRoutingBucket(this.handle, bucket);\n this.set('bucket', bucket, 1);\n }\n}\n"],"mappings":";;;;AAGA,MAAM,WAAW,YAAY;AAC7B,MAAM,2BAA2B,YAAY,CAAC,cAAc,yBAAyB,KAAK;AAS1F,IAAsB,aAAtB,MAAiC;CAC/B,UAAkB;CAClB,OAAwB;;CAExB,QAAyB;CACzB,WAA6B;;CAG7B,MAAa,IAAI,KAAa,OAAgB,MAA8C;EAC1F,IAAK,SAAS,KAAK,CAAC,4BAA6B,SAAS,GAAG;GAC3D,IAAI,SAAS,KAAK,KAAK,SAAS,UAC9B,MAAM,IAAI,MAAM,iEAAiE;GAGnF,IAAI,CAAC,UAMH,OAAO,MALU,OAAO,qCAA4B,MACjD,MACC,EAAE,sBAAsB,6BAA6B,MAAM,KAAK,UAAU,KAAK,KAAK,CACxF,IAEY,KAAK,IAAI,KAAK,KAAK,IAAI;GAGrC,QAAQ,2BAA2B,KAAK,OAAO,KAAK,KAAK;EAC3D;EAGA,MAAM,SAAS,aAAa,KAAK;EACjC,iBAAiB,KAAK,UAAU,KAAK,QAAQ,OAAO,QAAQ,SAAS,CAAC;EAEtE,OAAO;CACT;;CAGA,MAAa,KAAK,KAAa,OAAgB;EAC7C,OAAO,KAAK,IAAI,KAAK,OAAO,CAAC;CAC/B;;CAGA,MAAa,KAAK,KAAa,OAAgB;EAC7C,OAAO,KAAK,IAAI,KAAK,OAAO,CAAC;CAC/B;;CAGA,IAAwB,KAA4B;EAClD,OAAO,iBAAiB,KAAK,UAAU,GAAG;CAC5C;;CAGA,IAAW,KAAa;EACtB,OAAO,CAAC,CAAC,eAAe,KAAK,UAAU,GAAG;CAC5C;;CAGA,OAAwB;EACtB,OAAO,gBAAgB,KAAK,QAAQ;CACtC;;CAGA,IAAW,SAAS;EAClB,OAAO,KAAKA;CACd;CAEA,UAAoB,QAAgB;EAClC,MAAM,WAAW,KAAK,SAAS;EAE/B,KAAKA,UAAU;EAEf,KAAK,QAAQ,WAAW,kBAAkB,sBAAsB,MAAM,CAAC,IAAI,8BAA8B,MAAM;EAC/G,KAAK,WAAW,KAAK,QAAQ,GAAG,WAAW,WAAW,SAAS,GAAG,KAAK,UAAU,eAAe;EAEhG,IAAI,CAAC,KAAK,SAAU,YAAY,CAAC,UAC/B,qBAAqB,MAAM;CAE/B;CAEA,YAAmB;EACjB,OAAO,QAAQ,UAAU,gBAAgB,KAAK,MAAM,CAAC;CACvD;CAEA,UAAiB,GAAW,GAAW,GAAW,WAAW,OAAO,cAAc,OAAO,YAAY,OAAO;EAC1G,gBAAgB,KAAK,QAAQ,GAAG,GAAG,GAAG,MAAM,UAAU,aAAa,SAAS;CAC9E;CAEA,WAAkB;EAChB,OAAO,eAAe,KAAK,MAAM;CACnC;CAEA,aAAoB;EAClB,OAAO,iBAAiB,KAAK,MAAM;CACrC;CAEA,WAAkB,SAAiB;EACjC,iBAAiB,KAAK,QAAQ,OAAO;CACvC;CAEA,mBAA0B;EACxB,OAAO,WAAW,uBAAuB,KAAK,MAAM,IAAK,KAAK,IAAI,QAAQ,KAAK;CACjF;CAEA,iBAAwB,QAAgB;EACtC,IAAI,CAAC,UAAU;EAEf,uBAAuB,KAAK,QAAQ,MAAM;EAC1C,KAAK,IAAI,UAAU,QAAQ,CAAC;CAC9B;AACF"} |
@@ -8,3 +8,3 @@ import "../../../_virtual/_rolldown/runtime.js"; | ||
| super(); | ||
| if (IsPedAPlayer(handle)) this.type = "Player"; | ||
| if (!handle) return; | ||
| this.setHandle(handle); | ||
@@ -11,0 +11,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","names":[],"sources":["../../../../common/game/Ped/index.ts"],"sourcesContent":["import { GameEntity } from '../Entity';\n\nexport class Ped extends GameEntity {\n readonly type: string = 'Ped';\n\n constructor(handle: number) {\n super();\n\n if (IsPedAPlayer(handle)) this.type = 'Player';\n\n this.setHandle(handle);\n }\n\n public getArmour() {\n return GetPedArmour(this.handle);\n }\n\n public setArmour(amount: number) {\n SetPedArmour(this.handle, amount);\n }\n}\n"],"mappings":";;;AAEA,IAAa,MAAb,cAAyB,WAAW;CAClC,OAAwB;CAExB,YAAY,QAAgB;EAC1B,MAAM;EAEN,IAAI,aAAa,MAAM,GAAG,KAAK,OAAO;EAEtC,KAAK,UAAU,MAAM;CACvB;CAEA,YAAmB;EACjB,OAAO,aAAa,KAAK,MAAM;CACjC;CAEA,UAAiB,QAAgB;EAC/B,aAAa,KAAK,QAAQ,MAAM;CAClC;AACF"} | ||
| {"version":3,"file":"index.js","names":[],"sources":["../../../../common/game/Ped/index.ts"],"sourcesContent":["import { GameEntity } from '../Entity';\n\nexport class Ped extends GameEntity {\n readonly type: string = 'Ped';\n\n constructor(handle: number) {\n super();\n\n if (!handle) return;\n\n this.setHandle(handle);\n }\n\n public getArmour() {\n return GetPedArmour(this.handle);\n }\n\n public setArmour(amount: number) {\n SetPedArmour(this.handle, amount);\n }\n}\n"],"mappings":";;;AAEA,IAAa,MAAb,cAAyB,WAAW;CAClC,OAAwB;CAExB,YAAY,QAAgB;EAC1B,MAAM;EAEN,IAAI,CAAC,QAAQ;EAEb,KAAK,UAAU,MAAM;CACvB;CAEA,YAAmB;EACjB,OAAO,aAAa,KAAK,MAAM;CACjC;CAEA,UAAiB,QAAgB;EAC/B,aAAa,KAAK,QAAQ,MAAM;CAClC;AACF"} |
@@ -8,3 +8,6 @@ import { __name } from "../../../_virtual/_rolldown/runtime.js"; | ||
| readonly playerId: number; | ||
| /** The player's server id. */ | ||
| readonly netId: number; | ||
| constructor(netId: number); | ||
| /** The player ped's script handle. */ | ||
| get handle(): number; | ||
@@ -11,0 +14,0 @@ setModel(model: string | number): void; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../common/game/Player/index.ts"],"mappings":";;;;cAKa,MAAA,SAAe,GAAG;EAAA,SACpB,IAAA;EAAA,SACA,QAAA;cAEG,KAAA;EAAA,IAUD,MAAA,CAAA;EAIJ,QAAA,CAAS,KAAA;EAIT,gBAAA,CAAA;EAIA,gBAAA,CAAiB,MAAA;AAAA"} | ||
| {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../common/game/Player/index.ts"],"mappings":";;;;cAKa,MAAA,SAAe,GAAG;EAAA,SACpB,IAAA;EAAA,SACA,QAAA;EAFE;EAAA,SAIF,KAAA;cAEG,KAAA;EANiB;EAAA,IAiBlB,MAAA,CAAA;EAIJ,QAAA,CAAS,KAAA;EAIT,gBAAA,CAAA;EAIA,gBAAA,CAAiB,MAAA;AAAA"} |
@@ -9,8 +9,12 @@ import "../../../_virtual/_rolldown/runtime.js"; | ||
| playerId; | ||
| /** The player's server id. */ | ||
| netId = 0; | ||
| constructor(netId) { | ||
| if (netId === -1) netId = isServer ? Number(GetPlayerFromIndex(0)) : GetPlayerServerId(PlayerId()); | ||
| const playerId = isServer ? netId : GetPlayerFromServerId(netId); | ||
| super(GetPlayerPed(playerId)); | ||
| super(0); | ||
| this.playerId = playerId; | ||
| this.setHandle(GetPlayerPed(playerId)); | ||
| } | ||
| /** The player ped's script handle. */ | ||
| get handle() { | ||
@@ -17,0 +21,0 @@ return isServer ? super.handle : GetPlayerPed(this.playerId); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","names":[],"sources":["../../../../common/game/Player/index.ts"],"sourcesContent":["import { context } from '../..';\nimport { Ped } from '../Ped';\n\nconst isServer = context === 'server';\n\nexport class Player extends Ped {\n readonly type: string = 'Player';\n readonly playerId;\n\n constructor(netId: number) {\n if (netId === -1) netId = isServer ? Number(GetPlayerFromIndex(0)) : GetPlayerServerId(PlayerId());\n\n const playerId = isServer ? netId : GetPlayerFromServerId(netId);\n\n super(GetPlayerPed(playerId));\n\n this.playerId = playerId;\n }\n\n public get handle() {\n return isServer ? super.handle : GetPlayerPed(this.playerId);\n }\n\n public setModel(model: string | number) {\n SetPlayerModel(this.playerId, model);\n }\n\n public getRoutingBucket() {\n return isServer ? GetPlayerRoutingBucket(this.playerId as unknown as string) : (this.get('bucket') ?? 0);\n }\n\n public setRoutingBucket(bucket: number) {\n if (!isServer) return;\n\n SetPlayerRoutingBucket(this.playerId as unknown as string, bucket);\n this.set('bucket', bucket, 1);\n }\n}\n"],"mappings":";;;;AAGA,MAAM,WAAW,YAAY;AAE7B,IAAa,SAAb,cAA4B,IAAI;CAC9B,OAAwB;CACxB;CAEA,YAAY,OAAe;EACzB,IAAI,UAAU,IAAI,QAAQ,WAAW,OAAO,mBAAmB,CAAC,CAAC,IAAI,kBAAkB,SAAS,CAAC;EAEjG,MAAM,WAAW,WAAW,QAAQ,sBAAsB,KAAK;EAE/D,MAAM,aAAa,QAAQ,CAAC;EAE5B,KAAK,WAAW;CAClB;CAEA,IAAW,SAAS;EAClB,OAAO,WAAW,MAAM,SAAS,aAAa,KAAK,QAAQ;CAC7D;CAEA,SAAgB,OAAwB;EACtC,eAAe,KAAK,UAAU,KAAK;CACrC;CAEA,mBAA0B;EACxB,OAAO,WAAW,uBAAuB,KAAK,QAA6B,IAAK,KAAK,IAAI,QAAQ,KAAK;CACxG;CAEA,iBAAwB,QAAgB;EACtC,IAAI,CAAC,UAAU;EAEf,uBAAuB,KAAK,UAA+B,MAAM;EACjE,KAAK,IAAI,UAAU,QAAQ,CAAC;CAC9B;AACF"} | ||
| {"version":3,"file":"index.js","names":[],"sources":["../../../../common/game/Player/index.ts"],"sourcesContent":["import { context } from '../..';\nimport { Ped } from '../Ped';\n\nconst isServer = context === 'server';\n\nexport class Player extends Ped {\n readonly type: string = 'Player';\n readonly playerId;\n /** The player's server id. */\n readonly netId: number = 0;\n\n constructor(netId: number) {\n if (netId === -1) netId = isServer ? Number(GetPlayerFromIndex(0)) : GetPlayerServerId(PlayerId());\n\n const playerId = isServer ? netId : GetPlayerFromServerId(netId);\n\n super(0);\n this.playerId = playerId;\n this.setHandle(GetPlayerPed(playerId));\n }\n\n /** The player ped's script handle. */\n public get handle() {\n return isServer ? super.handle : GetPlayerPed(this.playerId);\n }\n\n public setModel(model: string | number) {\n SetPlayerModel(this.playerId, model);\n }\n\n public getRoutingBucket() {\n return isServer ? GetPlayerRoutingBucket(this.playerId as unknown as string) : (this.get('bucket') ?? 0);\n }\n\n public setRoutingBucket(bucket: number) {\n if (!isServer) return;\n\n SetPlayerRoutingBucket(this.playerId as unknown as string, bucket);\n this.set('bucket', bucket, 1);\n }\n}\n"],"mappings":";;;;AAGA,MAAM,WAAW,YAAY;AAE7B,IAAa,SAAb,cAA4B,IAAI;CAC9B,OAAwB;CACxB;;CAEA,QAAyB;CAEzB,YAAY,OAAe;EACzB,IAAI,UAAU,IAAI,QAAQ,WAAW,OAAO,mBAAmB,CAAC,CAAC,IAAI,kBAAkB,SAAS,CAAC;EAEjG,MAAM,WAAW,WAAW,QAAQ,sBAAsB,KAAK;EAE/D,MAAM,CAAC;EACP,KAAK,WAAW;EAChB,KAAK,UAAU,aAAa,QAAQ,CAAC;CACvC;;CAGA,IAAW,SAAS;EAClB,OAAO,WAAW,MAAM,SAAS,aAAa,KAAK,QAAQ;CAC7D;CAEA,SAAgB,OAAwB;EACtC,eAAe,KAAK,UAAU,KAAK;CACrC;CAEA,mBAA0B;EACxB,OAAO,WAAW,uBAAuB,KAAK,QAA6B,IAAK,KAAK,IAAI,QAAQ,KAAK;CACxG;CAEA,iBAAwB,QAAgB;EACtC,IAAI,CAAC,UAAU;EAEf,uBAAuB,KAAK,UAA+B,MAAM;EACjE,KAAK,IAAI,UAAU,QAAQ,CAAC;CAC9B;AACF"} |
+1
-1
| { | ||
| "name": "@overextended/ox_lib", | ||
| "version": "3.36.3", | ||
| "version": "3.36.4", | ||
| "description": "JS/TS wrapper for ox_lib exports", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
363542
0.23%2881
0.35%