From 68f9ab3e1ed84e463c52e75a5ed477044020bda9 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 15:02:57 +1000 Subject: [PATCH 01/12] fix: wrong condition check --- brz-core/client/thirdparties.service.ts | 6 +++--- brz-core/server/thirdparties.service.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/brz-core/client/thirdparties.service.ts b/brz-core/client/thirdparties.service.ts index 50b6469..7335944 100644 --- a/brz-core/client/thirdparties.service.ts +++ b/brz-core/client/thirdparties.service.ts @@ -6,11 +6,11 @@ const adapters: { }; } = { qbCore: { - isEnabled: !!exports["qb-core"]?.GetCoreObject()?.Functions?.HasItem, + isEnabled: !!exports["qb-core"]?.GetCoreObject?.()?.Functions?.HasItem, hasItem: (itemName: string) => - !!exports["qb-core"].GetCoreObject().Functions.HasItem(itemName), + !!exports["qb-core"].GetCoreObject?.().Functions.HasItem(itemName), notify: (message: string, type: "success" | "error") => { - exports["qb-core"].GetCoreObject().Functions.Notify(message, type); + exports["qb-core"].GetCoreObject?.().Functions.Notify(message, type); }, }, }; diff --git a/brz-core/server/thirdparties.service.ts b/brz-core/server/thirdparties.service.ts index 0eddb05..10bcd5c 100644 --- a/brz-core/server/thirdparties.service.ts +++ b/brz-core/server/thirdparties.service.ts @@ -25,7 +25,7 @@ const adapters: { }; } = { qbCore: { - isEnabled: !!exports["qb-core"]?.GetCoreObject()?.Functions?.RemoveItem, + isEnabled: !!exports["qb-core"]?.GetCoreObject?.()?.Functions?.RemoveItem, removeItem: (source: number, itemName: string) => { const player = qbCoreGetPlayer(source); @@ -50,7 +50,7 @@ const adapters: { }, getItem: (itemName: string) => { const item = - exports["qb-core"]?.GetCoreObject()?.Shared?.Items?.[itemName]; + exports["qb-core"]?.GetCoreObject?.()?.Shared?.Items?.[itemName]; return item; }, @@ -74,7 +74,7 @@ const adapters: { }; const qbCoreGetPlayer = - exports["qb-core"]?.GetCoreObject()?.Functions?.GetPlayer; + exports["qb-core"]?.GetCoreObject?.()?.Functions?.GetPlayer; export const addItem = (source: number, itemName: string) => getAdapter().addItem(source, itemName); From 554cedcefc6f43d75404628dc64de86dd108caed Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:14:39 +1000 Subject: [PATCH 02/12] feat: add item images to installation folder --- .../qb-inventory/html/images/commonbait.png | Bin 0 -> 12856 bytes .../QBCore/qb-inventory/html/images/dolphin.png | Bin 0 -> 7375 bytes .../QBCore/qb-inventory/html/images/fish.png | Bin 0 -> 8801 bytes .../qb-inventory/html/images/fishingrod.png | Bin 0 -> 7974 bytes .../qb-inventory/html/images/hammershark.png | Bin 0 -> 7524 bytes .../qb-inventory/html/images/humpback.png | Bin 0 -> 10116 bytes .../qb-inventory/html/images/killerwhale.png | Bin 0 -> 7335 bytes .../qb-inventory/html/images/stingray.png | Bin 0 -> 7874 bytes .../qb-inventory/html/images/tigershark.png | Bin 0 -> 6562 bytes .../ox-inventory/web/images/commonbait.png | Bin 0 -> 12856 bytes .../ox-inventory/web/images/dolphin.png | Bin 0 -> 7375 bytes installation/ox-inventory/web/images/fish.png | Bin 0 -> 8801 bytes .../ox-inventory/web/images/fishingrod.png | Bin 0 -> 7974 bytes .../ox-inventory/web/images/hammershark.png | Bin 0 -> 7524 bytes .../ox-inventory/web/images/humpback.png | Bin 0 -> 10116 bytes .../ox-inventory/web/images/killerwhale.png | Bin 0 -> 7335 bytes .../ox-inventory/web/images/stingray.png | Bin 0 -> 7874 bytes .../ox-inventory/web/images/tigershark.png | Bin 0 -> 6562 bytes 18 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 installation/QBCore/qb-inventory/html/images/commonbait.png create mode 100644 installation/QBCore/qb-inventory/html/images/dolphin.png create mode 100644 installation/QBCore/qb-inventory/html/images/fish.png create mode 100644 installation/QBCore/qb-inventory/html/images/fishingrod.png create mode 100644 installation/QBCore/qb-inventory/html/images/hammershark.png create mode 100644 installation/QBCore/qb-inventory/html/images/humpback.png create mode 100644 installation/QBCore/qb-inventory/html/images/killerwhale.png create mode 100644 installation/QBCore/qb-inventory/html/images/stingray.png create mode 100644 installation/QBCore/qb-inventory/html/images/tigershark.png create mode 100644 installation/ox-inventory/web/images/commonbait.png create mode 100644 installation/ox-inventory/web/images/dolphin.png create mode 100644 installation/ox-inventory/web/images/fish.png create mode 100644 installation/ox-inventory/web/images/fishingrod.png create mode 100644 installation/ox-inventory/web/images/hammershark.png create mode 100644 installation/ox-inventory/web/images/humpback.png create mode 100644 installation/ox-inventory/web/images/killerwhale.png create mode 100644 installation/ox-inventory/web/images/stingray.png create mode 100644 installation/ox-inventory/web/images/tigershark.png diff --git a/installation/QBCore/qb-inventory/html/images/commonbait.png b/installation/QBCore/qb-inventory/html/images/commonbait.png new file mode 100644 index 0000000000000000000000000000000000000000..4514adefd22e58406d8eb986edf697e83b355f25 GIT binary patch literal 12856 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 DOMM%! literal 0 HcmV?d00001 diff --git a/installation/QBCore/qb-inventory/html/images/fishingrod.png b/installation/QBCore/qb-inventory/html/images/fishingrod.png new file mode 100644 index 0000000000000000000000000000000000000000..8ced335f444da7dd31b62f768b45ceee406f825d GIT binary patch literal 7974 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 X53TZR%FW;YOE~4Em8EJVjDr6M&$mzq literal 0 HcmV?d00001 diff --git a/installation/QBCore/qb-inventory/html/images/humpback.png b/installation/QBCore/qb-inventory/html/images/humpback.png new file mode 100644 index 0000000000000000000000000000000000000000..93e321470d7242df99edb1ffabc358f5ab3a69be GIT binary patch literal 10116 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 literal 0 HcmV?d00001 diff --git a/installation/QBCore/qb-inventory/html/images/stingray.png b/installation/QBCore/qb-inventory/html/images/stingray.png new file mode 100644 index 0000000000000000000000000000000000000000..3cdf90a782d04777266a68362b53cf6dd7b583b1 GIT binary patch literal 7874 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 o8M}U-WndzP;{PtJEdrmhTs1Z<(~%2~|Lu;M1& literal 0 HcmV?d00001 diff --git a/installation/QBCore/qb-inventory/html/images/tigershark.png b/installation/QBCore/qb-inventory/html/images/tigershark.png new file mode 100644 index 0000000000000000000000000000000000000000..e7699770e0ae41ca8c80f01a9b4121e5f31667f3 GIT binary patch literal 6562 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 literal 0 HcmV?d00001 From d650e9a869e9befcf1a12c1beda1f037a914e473 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:21:17 +1000 Subject: [PATCH 03/12] feat: add check for item existence --- server/server.ts | 7 +++++++ server/test/server.test.ts | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/server/server.ts b/server/server.ts index 36f6465..d900863 100644 --- a/server/server.ts +++ b/server/server.ts @@ -33,6 +33,13 @@ export const processCatchFishEvent = (playerId: PlayerId) => { const itemInfo = getItem(fish.itemName); + if (!itemInfo) { + console.error( + `ERROR: Item ${fish.itemName} does not exist. Please be sure you added all fishing items to your inventory system.` + ); + return; + } + addItem(playerId, fish.itemName); notify( playerId, diff --git a/server/test/server.test.ts b/server/test/server.test.ts index e30ef44..75d3b7c 100644 --- a/server/test/server.test.ts +++ b/server/test/server.test.ts @@ -135,6 +135,22 @@ describe("brz-fishing server-side script", () => { "success" ); }); + + it("should log an error message when item is not found", () => { + const consoleError = jest.spyOn(global.console, "error"); + + (getItem as jest.Mock).mockReturnValueOnce(null); + + processRequestStartFishing(1); + + processCatchFishEvent(1); + + expect(consoleError).toHaveBeenCalledWith( + expect.stringMatching( + /ERROR: Item (.*?) does not exist. Please be sure you added all fishing items to your inventory system./ + ) + ); + }); }); describe("processUseBaitEvent", () => { From 72bf19ef105d5efb6994023f9f74bfdfd5afc13d Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:21:30 +1000 Subject: [PATCH 04/12] feat: remove log line --- client/actions/baiting.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/client/actions/baiting.ts b/client/actions/baiting.ts index 32b8eeb..4101a80 100644 --- a/client/actions/baiting.ts +++ b/client/actions/baiting.ts @@ -55,7 +55,6 @@ const startBaitingOpportunity = () => { baitingOpportunityTickInterval = setInterval(baitingOpportunityTick, 10); detectBaitCatchTick = setTick(async () => { - console.log("detectBaitCatchTick"); if (IsControlJustPressed(0, 46)) { SendNUIMessage({ action: "hide-baiting-tooltips", From fcf935ff2dba8c8391012e9ed047043f31d12496 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:23:22 +1000 Subject: [PATCH 05/12] feat: add ox_inventory adapter --- brz-core/client/thirdparties.service.ts | 42 +++++++++++++++++++++---- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/brz-core/client/thirdparties.service.ts b/brz-core/client/thirdparties.service.ts index 7335944..d8d0f68 100644 --- a/brz-core/client/thirdparties.service.ts +++ b/brz-core/client/thirdparties.service.ts @@ -1,17 +1,42 @@ +declare const SETTINGS: any; + const adapters: { [key in string]: { - isEnabled: boolean; hasItem: (itemName: string) => boolean; notify: (message: string, type: "success" | "error") => void; + useItemHookName: string; + useItemHookHandler: (...params: any) => { + itemName: string; + itemType: string; + }; }; } = { qbCore: { - isEnabled: !!exports["qb-core"]?.GetCoreObject?.()?.Functions?.HasItem, hasItem: (itemName: string) => !!exports["qb-core"].GetCoreObject?.().Functions.HasItem(itemName), notify: (message: string, type: "success" | "error") => { exports["qb-core"].GetCoreObject?.().Functions.Notify(message, type); }, + useItemHookName: "inventory:client:ItemBox", + useItemHookHandler: (itemData: any, type: "use" | string) => ({ + itemName: itemData.name, + itemType: type, + }), + }, + ox_inventory: { + hasItem: (itemName: string) => + exports["ox_inventory"].GetItemCount(itemName) > 0, + notify: (message: string, type: "success" | "error") => + TriggerEvent("ox_lib:notify", { + title: "Fishing", + description: message, + type, + }), + useItemHookName: "ox_inventory:usedItem", + useItemHookHandler: (item: string[], slotId: number, metadata: any) => ({ + itemName: item[0], + itemType: "use", + }), }, }; @@ -20,12 +45,17 @@ export const hasItem = (itemName: string) => getAdapter().hasItem(itemName); export const notify = (message: string, type: "success" | "error") => getAdapter().notify(message, type); +export const getUseItemHookName = (): string => getAdapter().useItemHookName; + +export const getUseItemHookHandler = () => getAdapter().useItemHookHandler; + const getAdapter = () => { - const enabledAdapterName = Object.keys(adapters).find( - (adapterName) => adapters[adapterName].isEnabled - ); + const enabledAdapterName = SETTINGS.INVENTORY_SYSTEM || "ox_inventory"; - if (!enabledAdapterName) throw new Error("No enabled adapter found"); + if (!adapters[enabledAdapterName]) + throw new Error( + `FATAL: ${enabledAdapterName} is not supported, please check the documentation for supported inventory systems` + ); return adapters[enabledAdapterName]; }; From 612910045260ec778eefa38d725c5cd87fa978e4 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:23:39 +1000 Subject: [PATCH 06/12] feat: add INVENTORY_SYSTEM setting option --- settings.js | 1 + 1 file changed, 1 insertion(+) diff --git a/settings.js b/settings.js index fad2b31..93e049f 100644 --- a/settings.js +++ b/settings.js @@ -1,4 +1,5 @@ const SETTINGS = { + INVENTORY_SYSTEM: "ox_inventory", // ox_inventory or qb-core DEFAULT_LANG: "en-us", MAXIMUM_LINE_TENSION: 100, LINE_TENSION_INCREASE_RATE: 5, From d0be99c3eea21d9f6664ab5c37fd7d3d2ac60791 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:24:14 +1000 Subject: [PATCH 07/12] feat: add ox_lib interface module for notifications --- fxmanifest.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fxmanifest.lua b/fxmanifest.lua index 6f088b1..9369ef4 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -5,6 +5,11 @@ game 'gta5' shared_scripts { 'settings.js', + '@ox_lib/init.lua', +} + +ox_libs { + 'interface', } server_script 'dist/server/**/*.js' From 33705d5233eeda12ee2bd1368daf1220172f9352 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:26:28 +1000 Subject: [PATCH 08/12] feat: add ox_inventory adapter --- brz-core/server/thirdparties.service.ts | 64 ++++++++++++++++++++----- 1 file changed, 51 insertions(+), 13 deletions(-) diff --git a/brz-core/server/thirdparties.service.ts b/brz-core/server/thirdparties.service.ts index 10bcd5c..29d474a 100644 --- a/brz-core/server/thirdparties.service.ts +++ b/brz-core/server/thirdparties.service.ts @@ -11,12 +11,17 @@ type InventoryItem = { image: string; }; +declare const SETTINGS: any; + +const qbCoreGetPlayer = () => + SETTINGS.INVENTORY_SYSTEM === "qb-core" && + exports["qb-core"]?.GetCoreObject?.()?.Functions?.GetPlayer; + const adapters: { [key in string]: { - isEnabled: boolean; removeItem: (source: number, itemName: string) => boolean; addItem: (source: number, itemName: string) => boolean; - getItem: (itemName: string) => InventoryItem; + getItem: (itemName: string) => InventoryItem | null; notify: ( source: number, message: string, @@ -25,9 +30,8 @@ const adapters: { }; } = { qbCore: { - isEnabled: !!exports["qb-core"]?.GetCoreObject?.()?.Functions?.RemoveItem, removeItem: (source: number, itemName: string) => { - const player = qbCoreGetPlayer(source); + const player = qbCoreGetPlayer()(source); if (!player) { console.error("Player not found ", source, itemName); @@ -38,7 +42,7 @@ const adapters: { return true; }, addItem: (source: number, itemName: string) => { - const player = qbCoreGetPlayer(source); + const player = qbCoreGetPlayer()(source); if (!player) { console.error("Player not found ", source, itemName); @@ -55,7 +59,7 @@ const adapters: { return item; }, notify: (source: number, message: string, type: "success" | "error") => { - const player = qbCoreGetPlayer(source); + const player = qbCoreGetPlayer()(source); if (!player) { console.error("Player not found"); @@ -71,11 +75,44 @@ const adapters: { return true; }, }, + ox_inventory: { + removeItem: (source: number, itemName: string) => { + exports["ox_inventory"].RemoveItem(source, itemName, 1); + return true; + }, + addItem: (source: number, itemName: string) => { + exports["ox_inventory"].AddItem(source, itemName, 1); + return true; + }, + getItem: (itemName: string) => { + const item = exports["ox_inventory"].Items(itemName); + + if (!item) return null; + + const { name, weight, label, stack, consume, client = null } = item; + + return { + weight, + unique: false, + name, + type: "item", + description: name, + label, + combinable: stack, + useable: consume, + shouldClose: false, + image: client?.image, + }; + }, + notify: (source: number, message: string, type: "success" | "error") => + TriggerClientEvent("ox_lib:notify", source, { + title: "Fishing", + description: message, + type, + }), + }, }; -const qbCoreGetPlayer = - exports["qb-core"]?.GetCoreObject?.()?.Functions?.GetPlayer; - export const addItem = (source: number, itemName: string) => getAdapter().addItem(source, itemName); @@ -91,11 +128,12 @@ export const notify = ( ) => getAdapter().notify(source, message, type); const getAdapter = () => { - const enabledAdapterName = Object.keys(adapters).find( - (adapterName) => adapters[adapterName].isEnabled - ); + const enabledAdapterName = SETTINGS.INVENTORY_SYSTEM || "ox_inventory"; - if (!enabledAdapterName) throw new Error("No enabled adapter found"); + if (!adapters[enabledAdapterName]) + throw new Error( + `FATAL: ${enabledAdapterName} is not supported, please check the documentation for supported inventory systems` + ); return adapters[enabledAdapterName]; }; From f76f8a1f41a6571f3f2182d99676e3c339dfeaf8 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:38:20 +1000 Subject: [PATCH 09/12] feat: make event trigger dynamic depending on enabled third party --- client/client.ts | 10 ++++++++-- client/test/client.test.ts | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/client/client.ts b/client/client.ts index dc4eff1..f03e2b0 100644 --- a/client/client.ts +++ b/client/client.ts @@ -2,6 +2,10 @@ import { Fish } from "@common/types"; import { requestStartFishing, startFishing } from "./fishing"; import { getState, setState } from "./state"; import { t } from "@config/locales"; +import { + getUseItemHookName, + getUseItemHookHandler, +} from "@core/thirdparties.service"; RegisterCommand( t("fish_command"), @@ -22,8 +26,10 @@ onNet("brz-fishing:startFishing", (fishId: keyof Fish) => startFishing(GetPlayerServerId(PlayerId()), fishId) ); -onNet("inventory:client:ItemBox", (itemData: any, type: "use" | string) => { - if (type === "use" && itemData.name === "fishingrod1") { +onNet(getUseItemHookName(), (...params: any) => { + const { itemName, itemType } = getUseItemHookHandler()(params); + + if (itemType === "use" && itemName === "fishingrod1") { changeFishingState(); } }); diff --git a/client/test/client.test.ts b/client/test/client.test.ts index b0624a3..7456c04 100644 --- a/client/test/client.test.ts +++ b/client/test/client.test.ts @@ -15,6 +15,7 @@ global.PlayerId = jest.fn(() => 1); import { requestStartFishing, startFishing } from "@/fishing"; import { getState, setState } from "@/state"; +import { getUseItemHookName } from "@core/thirdparties.service"; jest.mock("@config/locales", () => ({ t: jest.fn().mockImplementation((phase: string) => { @@ -33,6 +34,14 @@ jest.mock("../state", () => ({ setState: jest.fn(), })); +jest.mock("@core/thirdparties.service", () => ({ + getUseItemHookName: jest.fn().mockReturnValue("inventory:client:ItemBox"), + getUseItemHookHandler: jest.fn().mockReturnValue(() => ({ + itemName: "fishingrod1", + itemType: "use", + })), +})); + describe("client", () => { beforeAll(() => { require("../client"); @@ -78,7 +87,11 @@ describe("client", () => { (setState as jest.Mock).mockReset(); (requestStartFishing as jest.Mock).mockReset(); }); - it("should register an onNet event for inventory:client:ItemBox", () => { + it("should register an onNet event for the third party adapter", () => { + (getUseItemHookName as jest.Mock).mockReturnValue( + "inventory:client:ItemBox" + ); + expect(global.onNet).toBeCalledWith( "inventory:client:ItemBox", expect.any(Function) From 6bc766624595f3f3eff1efa9cb7de902b964d59e Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:40:31 +1000 Subject: [PATCH 10/12] feat: add nullish condition for params handlers --- nui/fishing.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nui/fishing.ts b/nui/fishing.ts index 376c324..6c1231d 100644 --- a/nui/fishing.ts +++ b/nui/fishing.ts @@ -71,7 +71,7 @@ const actionHandlers: { const { param, value } = event.data as EmitFishingSetParamAction; paramsHandlers[ param as keyof Omit - ](value); + ]?.(value); }, "fish-2d-position": (event: any) => { const { center, posX, posY } = event.data as EmitFish2DPositionAction; From 4edcec53bbfc1b2e8edd785aa6223725b4ec3129 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 22:53:54 +1000 Subject: [PATCH 11/12] feat: moving types to own folder --- brz-core/server/thirdparties.service.ts | 24 ++---------------------- brz-core/types/thirdparties.types.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 brz-core/types/thirdparties.types.ts diff --git a/brz-core/server/thirdparties.service.ts b/brz-core/server/thirdparties.service.ts index 29d474a..8bdcfd4 100644 --- a/brz-core/server/thirdparties.service.ts +++ b/brz-core/server/thirdparties.service.ts @@ -1,15 +1,4 @@ -type InventoryItem = { - weight: number; - unique: boolean; - name: string; - type: string; - description: string; - label: string; - combinable: boolean; - useable: boolean; - shouldClose: boolean; - image: string; -}; +import { Adapter } from "../types/thirdparties.types"; declare const SETTINGS: any; @@ -18,16 +7,7 @@ const qbCoreGetPlayer = () => exports["qb-core"]?.GetCoreObject?.()?.Functions?.GetPlayer; const adapters: { - [key in string]: { - removeItem: (source: number, itemName: string) => boolean; - addItem: (source: number, itemName: string) => boolean; - getItem: (itemName: string) => InventoryItem | null; - notify: ( - source: number, - message: string, - type: "success" | "error" - ) => void; - }; + [key in string]: Adapter; } = { qbCore: { removeItem: (source: number, itemName: string) => { diff --git a/brz-core/types/thirdparties.types.ts b/brz-core/types/thirdparties.types.ts new file mode 100644 index 0000000..f7ccde1 --- /dev/null +++ b/brz-core/types/thirdparties.types.ts @@ -0,0 +1,19 @@ +export type Adapter = { + removeItem: (source: number, itemName: string) => boolean; + addItem: (source: number, itemName: string) => boolean; + getItem: (itemName: string) => InventoryItem | null; + notify: (source: number, message: string, type: "success" | "error") => void; +}; + +type InventoryItem = { + weight: number; + unique: boolean; + name: string; + type: string; + description: string; + label: string; + combinable: boolean; + useable: boolean; + shouldClose: boolean; + image: string; +}; From 6f45dec970c09abc9f20f4d921d1a6735a266b47 Mon Sep 17 00:00:00 2001 From: pedropapa Date: Sat, 28 Sep 2024 23:04:44 +1000 Subject: [PATCH 12/12] feat: correct system name for qbcore --- brz-core/server/thirdparties.service.ts | 2 +- settings.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/brz-core/server/thirdparties.service.ts b/brz-core/server/thirdparties.service.ts index 8bdcfd4..1072778 100644 --- a/brz-core/server/thirdparties.service.ts +++ b/brz-core/server/thirdparties.service.ts @@ -3,7 +3,7 @@ import { Adapter } from "../types/thirdparties.types"; declare const SETTINGS: any; const qbCoreGetPlayer = () => - SETTINGS.INVENTORY_SYSTEM === "qb-core" && + SETTINGS.INVENTORY_SYSTEM === "qbCore" && exports["qb-core"]?.GetCoreObject?.()?.Functions?.GetPlayer; const adapters: { diff --git a/settings.js b/settings.js index 93e049f..7a16054 100644 --- a/settings.js +++ b/settings.js @@ -1,5 +1,5 @@ const SETTINGS = { - INVENTORY_SYSTEM: "ox_inventory", // ox_inventory or qb-core + INVENTORY_SYSTEM: "ox_inventory", // ox_inventory or qbCore DEFAULT_LANG: "en-us", MAXIMUM_LINE_TENSION: 100, LINE_TENSION_INCREASE_RATE: 5,

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 literal 0 HcmV?d00001 diff --git a/installation/ox-inventory/web/images/commonbait.png b/installation/ox-inventory/web/images/commonbait.png new file mode 100644 index 0000000000000000000000000000000000000000..4514adefd22e58406d8eb986edf697e83b355f25 GIT binary patch literal 12856 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 DOMM%! literal 0 HcmV?d00001 diff --git a/installation/ox-inventory/web/images/fishingrod.png b/installation/ox-inventory/web/images/fishingrod.png new file mode 100644 index 0000000000000000000000000000000000000000..8ced335f444da7dd31b62f768b45ceee406f825d GIT binary patch literal 7974 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 X53TZR%FW;YOE~4Em8EJVjDr6M&$mzq literal 0 HcmV?d00001 diff --git a/installation/ox-inventory/web/images/humpback.png b/installation/ox-inventory/web/images/humpback.png new file mode 100644 index 0000000000000000000000000000000000000000..93e321470d7242df99edb1ffabc358f5ab3a69be GIT binary patch literal 10116 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 literal 0 HcmV?d00001 diff --git a/installation/ox-inventory/web/images/stingray.png b/installation/ox-inventory/web/images/stingray.png new file mode 100644 index 0000000000000000000000000000000000000000..3cdf90a782d04777266a68362b53cf6dd7b583b1 GIT binary patch literal 7874 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 o8M}U-WndzP;{PtJEdrmhTs1Z<(~%2~|Lu;M1& literal 0 HcmV?d00001 diff --git a/installation/ox-inventory/web/images/tigershark.png b/installation/ox-inventory/web/images/tigershark.png new file mode 100644 index 0000000000000000000000000000000000000000..e7699770e0ae41ca8c80f01a9b4121e5f31667f3 GIT binary patch literal 6562 zcmbVxRa6{I%;-XKm*ToD(BcIO#kDOgOL1qh!UDw|3X4N2#oe7EU3^*G-KDs@d+~08 z%lC5c%YFI(laoniCg;qYOp-}v!c>*z3Grz00000XNa4Nu6E*)2aj>3R$BjhICxYgp zE-woxAEn=a>b!^Qf-F9L0&qO>H~_TJF93}HM4piL2?2m-IcR`qPZaIHu^jaOJ8Pcv z?Emrq3Gz0r$N&H|1fcganx1IK8Mrk%W^H}h0*O1$d1!l1;?B z>gE-&XH~OBm3Fd?61%y+#ft=XbFL2=su{ z*bOQ@Yj>VP)~f*Le*?CvIIzF_MTBfBSs6_-xGiy=78T|V`dUY=sFS9e%F0Ui?xm{D zD6t)=xp~4g2il`zC+u!J*{#vz^nuol$8NFq_!67Zb1kLq_pQygZnV_HEp{~mG34yx zGQ