• We have a new discord! click here to join
    Any faulty links ? Report them in our discord or via our Ticket System!
    We do everything we can to protect the safety of our visitors, if any resource contains malware in any kind of form or obfuscation please report it aswell ♡♡

QBUS PA Inventory latest version - August 19 2024 (1 Viewer)

  • Post hidden due to user being banned.
  • Post hidden due to user being banned.
  • Post hidden due to user being banned.

umer02818

Well-known member
Aug 7, 2024
309
8
18
Credits
4

PA Inventory Open Source​

View attachment 16121 PREVIEW

This is the latest version of PA Inventory. It includes a health system, progress bar, text UI, item throwing, item placement, special slot system, special clip system, special animations, SIM card slot system, and many other features.

This was last updated on June 28, 2024.

I have included the following files:
  • pa-inventory
  • pa-textui-2
  • pickle_weaponthrowing
  • qb-weapons
I have removed the pa-lib export as that resource was encrypted.

-=Stripped Content=-


This is a copy of the read me file in the pa-inventory folder.
Code:
README FILE

🛠️ Installation
1. >Update Config File:
If your previous inventory was Ox, you need to write "ox" in Config.OldInventory. Otherwise, you can leave this section blank.
If you are using qb-core, you need to change pa_inventory export names to pa_inventory.Do the same for lib. You have to write the same thing in lib as you wrote in inventory. Otherwise it will not work properly

2. You need to do the same for the weapons script. Open the shared/config.lua file and adjust the inventory settings. Make sure you type the inventory name correctly.

2. >Installing Requirements:
You need to install pickle_weaponthrowing-1.2 script for Weapon throwing, pa-textui-2 script for fluent texts and ac-uipack script for progressbar to work properly. You also need to install ac-lib-2 for the script to run smoothly. These scripts come as a gift with the PA Inventory script.

3. >Updating the Data Folder:
If you have used Ox before, you need to replace items and weapons files inside the data folder in this script with their own ox files to convert your data automatically, but stashes.lua, vehicles.lua, crafting.lua, licenses.lua, evidence.lua and animations.lua file should remain completely empty. Check below how to add stashes, the same way you can add and edit crafts from the configuration

🚀 Updates
The script will be continuously updated and new features will continue to be added.

❗️ Important Notes
1. It is recommended not to restart the script while the server is active.

2. It is recommended to check the config file several times before running it. If you need help with the config, please make sure to ask in a respectful way.

3. If you are already using pa_inventory, you do not need to make any changes to your code to organize your inventory, but if you are not using pa_inventory before, you need to make the following changes.


💡Information
1. If you want you can change the script name to pa_inventory and use it. ( Not recommended ) . You are advised not to change your name.If you are going to change it, you need to change the inventory name in the shared/config.lua file of the lib and weapons files. You also need to change the names all over your server package

2. Do not forget to change other exports

3. The phone sim system has not yet been coded, because a special coding system will be made according to the wishes of the customers and the phones they use.


> Sample scripts

1. If you cannot make export settings, I will leave you 2 sample scripts, you can review them and check my export uses.

jim-consumables : https://dosya.co/ixb92iq4e8lz/jim-consumables.zip.html

jim-recycle : https://dosya.co/9dippe1ayl0g/jim-recycle.zip.html

qb-smallresources : https://dosya.co/ipg39fml5b5w/qb-smallresources.zip.html


> Info
1. If you are using pa_inventory before, make this script name pa_inventory, make everything that says pa_inventory in it pa_inventory and continue to use it that way.

2. If you were using ox_inventory before, rename this script to ox_inventory, change everything with pa_inventory in it to ox_inventory, then replace the items.lua folder in the data folder with your old ox inventory and keep using it that way.

Also, do not forget to make config adjustments in the scripts such as lib, inventory, throw, weapons.


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.RemoveItem

    to

    exports['pa_inventory']:RemoveItem(source,'armor', 1)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.SetInventory(Player.PlayerData.items, true)

    to

    local items = exports['pa_inventory']:GetPlayerItems(cid)
    exports['pa_inventory']:SetInventory(src, items)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.PlayerData.items

    to

    exports['pa_inventory']:GetPlayerItems(cid)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.AddItem(name, amount, false, metadata)

    to

    exports['pa_inventory']:AddItem(name, amount, false, metadata)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.GetItemBySlot(WeaponData.slot)

    to

    exports['pa_inventory']:Search(WeaponData.slot)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    QBCore.Functions.GetPlayer(src).Functions.GetItemByName(item).unique

    to

    exports.pa_inventory:GetItemByName(src,item).unique
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------






If you are using qb and have not changed the magazine names in the config, you can add these to your shared table

```lua
    weapon_pistol_magazine          = { name = 'weapon_pistol_magazine', label = 'Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Magazine' },
    weapon_pistol_mk2_magazine      = { name = 'weapon_pistol_mk2_magazine', label = 'Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Mk II Magazine' },
    weapon_combatpistol_magazine    = { name = 'weapon_combatpistol_magazine', label = 'Combat Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Combat Pistol Magazine' },
    weapon_appistol_magazine        = { name = 'weapon_appistol_magazine', label = 'AP Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'AP Pistol Magazine' },
    weapon_stungun_magazine         = { name = 'weapon_stungun_magazine', label = 'Taser Magazine', weight = 1000, type = 'weapon', ammotype = nil, image = 'clip_attachment.png', unique = true, useable = false, description = 'Taser Magazine' },
    weapon_pistol50_magazine        = { name = 'weapon_pistol50_magazine', label = 'Pistol .50 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol .50 Magazine' },
    weapon_snspistol_magazine       = { name = 'weapon_snspistol_magazine', label = 'SNS Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol Magazine' },
    weapon_heavypistol_magazine     = { name = 'weapon_heavypistol_magazine', label = 'Heavy Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Heavy Pistol Magazine' },
    weapon_vintagepistol_magazine   = { name = 'weapon_vintagepistol_magazine', label = 'Vintage Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Vintage Pistol Magazine' },
    weapon_flaregun_magazine        = { name = 'weapon_flaregun_magazine', label = 'Flare Gun Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_FLARE', image = 'clip_attachment.png', unique = true, useable = false, description = 'Flare Gun Magazine' },
    weapon_marksmanpistol_magazine  = { name = 'weapon_marksmanpistol_magazine', label = 'Marksman Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Marksman Pistol Magazine' },
    weapon_revolver_magazine        = { name = 'weapon_revolver_magazine', label = 'Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Revolver Magazine' },
    weapon_revolver_mk2_magazine    = { name = 'weapon_revolver_mk2_magazine', label = 'Violence Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'da Violence Magazine' },
    weapon_doubleaction_magazine    = { name = 'weapon_doubleaction_magazine', label = 'Double Action Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Double Action Revolver Magazine' },
    weapon_snspistol_mk2_magazine   = { name = 'weapon_snspistol_mk2_magazine', label = 'SNS Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol MK2 Magazine' },
    weapon_raypistol_magazine       = { name = 'weapon_raypistol_magazine', label = 'Up-n-Atomizer Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Raypistol Magazine' },
    weapon_ceramicpistol_magazine   = { name = 'weapon_ceramicpistol_magazine', label = 'Ceramic Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Ceramicpistol Magazine' },
    weapon_navyrevolver_magazine    = { name = 'weapon_navyrevolver_magazine', label = 'Navy Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Navyrevolver Magazine' },
    weapon_gadgetpistol_magazine    = { name = 'weapon_gadgetpistol_magazine', label = 'Perico Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Gadgetpistol Magazine' },
    weapon_pistolxm3_magazine       = { name = 'weapon_pistolxm3_magazine', label = 'Pistol XM3 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol XM3 Magazine' },
```


I have seen people saying that there is a problem with stash not saving in inventory, but this is related to incomplete use.

This is how you open the Stash, which is fine.

TriggerServerEvent('inventory:server:OpenInventory', 'stash', id)


But if you do not add this code later, the stash will not save

TriggerEvent('inventory:client:SetCurrentStash', id)




This is how you can add stash.This is just a simple example

> UPDATE 26.06.2024
```lua
   TriggerEvent('inventory:client:SetCurrentStash', 'launder-' .. menuId)
   TriggerServerEvent('inventory:server:OpenInventory', 'stash', 'launder-' .. menuId , {
        maxweight = 4000000,
        slots = 1})
```
thanks for this! going to test it out right now!
 
  • Post hidden due to user being banned.

MrKevin18

Member
Aug 14, 2024
8
1
3
Credits
3

PA Inventory Open Source​

View attachment 16121 PREVIEW

This is the latest version of PA Inventory. It includes a health system, progress bar, text UI, item throwing, item placement, special slot system, special clip system, special animations, SIM card slot system, and many other features.

This was last updated on June 28, 2024.

I have included the following files:
  • pa-inventory
  • pa-textui-2
  • pickle_weaponthrowing
  • qb-weapons
I have removed the pa-lib export as that resource was encrypted.

-=Stripped Content=-


This is a copy of the read me file in the pa-inventory folder.
Code:
README FILE

🛠️ Installation
1. >Update Config File:
If your previous inventory was Ox, you need to write "ox" in Config.OldInventory. Otherwise, you can leave this section blank.
If you are using qb-core, you need to change pa_inventory export names to pa_inventory.Do the same for lib. You have to write the same thing in lib as you wrote in inventory. Otherwise it will not work properly

2. You need to do the same for the weapons script. Open the shared/config.lua file and adjust the inventory settings. Make sure you type the inventory name correctly.

2. >Installing Requirements:
You need to install pickle_weaponthrowing-1.2 script for Weapon throwing, pa-textui-2 script for fluent texts and ac-uipack script for progressbar to work properly. You also need to install ac-lib-2 for the script to run smoothly. These scripts come as a gift with the PA Inventory script.

3. >Updating the Data Folder:
If you have used Ox before, you need to replace items and weapons files inside the data folder in this script with their own ox files to convert your data automatically, but stashes.lua, vehicles.lua, crafting.lua, licenses.lua, evidence.lua and animations.lua file should remain completely empty. Check below how to add stashes, the same way you can add and edit crafts from the configuration

🚀 Updates
The script will be continuously updated and new features will continue to be added.

❗️ Important Notes
1. It is recommended not to restart the script while the server is active.

2. It is recommended to check the config file several times before running it. If you need help with the config, please make sure to ask in a respectful way.

3. If you are already using pa_inventory, you do not need to make any changes to your code to organize your inventory, but if you are not using pa_inventory before, you need to make the following changes.


💡Information
1. If you want you can change the script name to pa_inventory and use it. ( Not recommended ) . You are advised not to change your name.If you are going to change it, you need to change the inventory name in the shared/config.lua file of the lib and weapons files. You also need to change the names all over your server package

2. Do not forget to change other exports

3. The phone sim system has not yet been coded, because a special coding system will be made according to the wishes of the customers and the phones they use.


> Sample scripts

1. If you cannot make export settings, I will leave you 2 sample scripts, you can review them and check my export uses.

jim-consumables : https://dosya.co/ixb92iq4e8lz/jim-consumables.zip.html

jim-recycle : https://dosya.co/9dippe1ayl0g/jim-recycle.zip.html

qb-smallresources : https://dosya.co/ipg39fml5b5w/qb-smallresources.zip.html


> Info
1. If you are using pa_inventory before, make this script name pa_inventory, make everything that says pa_inventory in it pa_inventory and continue to use it that way.

2. If you were using ox_inventory before, rename this script to ox_inventory, change everything with pa_inventory in it to ox_inventory, then replace the items.lua folder in the data folder with your old ox inventory and keep using it that way.

Also, do not forget to make config adjustments in the scripts such as lib, inventory, throw, weapons.


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.RemoveItem

    to

    exports['pa_inventory']:RemoveItem(source,'armor', 1)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.SetInventory(Player.PlayerData.items, true)

    to

    local items = exports['pa_inventory']:GetPlayerItems(cid)
    exports['pa_inventory']:SetInventory(src, items)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.PlayerData.items

    to

    exports['pa_inventory']:GetPlayerItems(cid)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.AddItem(name, amount, false, metadata)

    to

    exports['pa_inventory']:AddItem(name, amount, false, metadata)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.GetItemBySlot(WeaponData.slot)

    to

    exports['pa_inventory']:Search(WeaponData.slot)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    QBCore.Functions.GetPlayer(src).Functions.GetItemByName(item).unique

    to

    exports.pa_inventory:GetItemByName(src,item).unique
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------






If you are using qb and have not changed the magazine names in the config, you can add these to your shared table

```lua
    weapon_pistol_magazine          = { name = 'weapon_pistol_magazine', label = 'Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Magazine' },
    weapon_pistol_mk2_magazine      = { name = 'weapon_pistol_mk2_magazine', label = 'Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Mk II Magazine' },
    weapon_combatpistol_magazine    = { name = 'weapon_combatpistol_magazine', label = 'Combat Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Combat Pistol Magazine' },
    weapon_appistol_magazine        = { name = 'weapon_appistol_magazine', label = 'AP Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'AP Pistol Magazine' },
    weapon_stungun_magazine         = { name = 'weapon_stungun_magazine', label = 'Taser Magazine', weight = 1000, type = 'weapon', ammotype = nil, image = 'clip_attachment.png', unique = true, useable = false, description = 'Taser Magazine' },
    weapon_pistol50_magazine        = { name = 'weapon_pistol50_magazine', label = 'Pistol .50 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol .50 Magazine' },
    weapon_snspistol_magazine       = { name = 'weapon_snspistol_magazine', label = 'SNS Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol Magazine' },
    weapon_heavypistol_magazine     = { name = 'weapon_heavypistol_magazine', label = 'Heavy Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Heavy Pistol Magazine' },
    weapon_vintagepistol_magazine   = { name = 'weapon_vintagepistol_magazine', label = 'Vintage Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Vintage Pistol Magazine' },
    weapon_flaregun_magazine        = { name = 'weapon_flaregun_magazine', label = 'Flare Gun Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_FLARE', image = 'clip_attachment.png', unique = true, useable = false, description = 'Flare Gun Magazine' },
    weapon_marksmanpistol_magazine  = { name = 'weapon_marksmanpistol_magazine', label = 'Marksman Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Marksman Pistol Magazine' },
    weapon_revolver_magazine        = { name = 'weapon_revolver_magazine', label = 'Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Revolver Magazine' },
    weapon_revolver_mk2_magazine    = { name = 'weapon_revolver_mk2_magazine', label = 'Violence Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'da Violence Magazine' },
    weapon_doubleaction_magazine    = { name = 'weapon_doubleaction_magazine', label = 'Double Action Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Double Action Revolver Magazine' },
    weapon_snspistol_mk2_magazine   = { name = 'weapon_snspistol_mk2_magazine', label = 'SNS Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol MK2 Magazine' },
    weapon_raypistol_magazine       = { name = 'weapon_raypistol_magazine', label = 'Up-n-Atomizer Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Raypistol Magazine' },
    weapon_ceramicpistol_magazine   = { name = 'weapon_ceramicpistol_magazine', label = 'Ceramic Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Ceramicpistol Magazine' },
    weapon_navyrevolver_magazine    = { name = 'weapon_navyrevolver_magazine', label = 'Navy Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Navyrevolver Magazine' },
    weapon_gadgetpistol_magazine    = { name = 'weapon_gadgetpistol_magazine', label = 'Perico Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Gadgetpistol Magazine' },
    weapon_pistolxm3_magazine       = { name = 'weapon_pistolxm3_magazine', label = 'Pistol XM3 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol XM3 Magazine' },
```


I have seen people saying that there is a problem with stash not saving in inventory, but this is related to incomplete use.

This is how you open the Stash, which is fine.

TriggerServerEvent('inventory:server:OpenInventory', 'stash', id)


But if you do not add this code later, the stash will not save

TriggerEvent('inventory:client:SetCurrentStash', id)




This is how you can add stash.This is just a simple example

> UPDATE 26.06.2024
```lua
   TriggerEvent('inventory:client:SetCurrentStash', 'launder-' .. menuId)
   TriggerServerEvent('inventory:server:OpenInventory', 'stash', 'launder-' .. menuId , {
        maxweight = 4000000,
        slots = 1})
```
looks sick but pretty expensive..
 

leitoshere

Active member
Aug 14, 2024
70
2
8
Credits
726

PA Inventory Open Source​

View attachment 16121 PREVIEW

This is the latest version of PA Inventory. It includes a health system, progress bar, text UI, item throwing, item placement, special slot system, special clip system, special animations, SIM card slot system, and many other features.

This was last updated on June 28, 2024.

I have included the following files:
  • pa-inventory
  • pa-textui-2
  • pickle_weaponthrowing
  • qb-weapons
I have removed the pa-lib export as that resource was encrypted.

-=Stripped Content=-


This is a copy of the read me file in the pa-inventory folder.
Code:
README FILE

🛠️ Installation
1. >Update Config File:
If your previous inventory was Ox, you need to write "ox" in Config.OldInventory. Otherwise, you can leave this section blank.
If you are using qb-core, you need to change pa_inventory export names to pa_inventory.Do the same for lib. You have to write the same thing in lib as you wrote in inventory. Otherwise it will not work properly

2. You need to do the same for the weapons script. Open the shared/config.lua file and adjust the inventory settings. Make sure you type the inventory name correctly.

2. >Installing Requirements:
You need to install pickle_weaponthrowing-1.2 script for Weapon throwing, pa-textui-2 script for fluent texts and ac-uipack script for progressbar to work properly. You also need to install ac-lib-2 for the script to run smoothly. These scripts come as a gift with the PA Inventory script.

3. >Updating the Data Folder:
If you have used Ox before, you need to replace items and weapons files inside the data folder in this script with their own ox files to convert your data automatically, but stashes.lua, vehicles.lua, crafting.lua, licenses.lua, evidence.lua and animations.lua file should remain completely empty. Check below how to add stashes, the same way you can add and edit crafts from the configuration

🚀 Updates
The script will be continuously updated and new features will continue to be added.

❗️ Important Notes
1. It is recommended not to restart the script while the server is active.

2. It is recommended to check the config file several times before running it. If you need help with the config, please make sure to ask in a respectful way.

3. If you are already using pa_inventory, you do not need to make any changes to your code to organize your inventory, but if you are not using pa_inventory before, you need to make the following changes.


💡Information
1. If you want you can change the script name to pa_inventory and use it. ( Not recommended ) . You are advised not to change your name.If you are going to change it, you need to change the inventory name in the shared/config.lua file of the lib and weapons files. You also need to change the names all over your server package

2. Do not forget to change other exports

3. The phone sim system has not yet been coded, because a special coding system will be made according to the wishes of the customers and the phones they use.


> Sample scripts

1. If you cannot make export settings, I will leave you 2 sample scripts, you can review them and check my export uses.

jim-consumables : https://dosya.co/ixb92iq4e8lz/jim-consumables.zip.html

jim-recycle : https://dosya.co/9dippe1ayl0g/jim-recycle.zip.html

qb-smallresources : https://dosya.co/ipg39fml5b5w/qb-smallresources.zip.html


> Info
1. If you are using pa_inventory before, make this script name pa_inventory, make everything that says pa_inventory in it pa_inventory and continue to use it that way.

2. If you were using ox_inventory before, rename this script to ox_inventory, change everything with pa_inventory in it to ox_inventory, then replace the items.lua folder in the data folder with your old ox inventory and keep using it that way.

Also, do not forget to make config adjustments in the scripts such as lib, inventory, throw, weapons.


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.RemoveItem

    to

    exports['pa_inventory']:RemoveItem(source,'armor', 1)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.SetInventory(Player.PlayerData.items, true)

    to

    local items = exports['pa_inventory']:GetPlayerItems(cid)
    exports['pa_inventory']:SetInventory(src, items)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.PlayerData.items

    to

    exports['pa_inventory']:GetPlayerItems(cid)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.AddItem(name, amount, false, metadata)

    to

    exports['pa_inventory']:AddItem(name, amount, false, metadata)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.GetItemBySlot(WeaponData.slot)

    to

    exports['pa_inventory']:Search(WeaponData.slot)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    QBCore.Functions.GetPlayer(src).Functions.GetItemByName(item).unique

    to

    exports.pa_inventory:GetItemByName(src,item).unique
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------






If you are using qb and have not changed the magazine names in the config, you can add these to your shared table

```lua
    weapon_pistol_magazine          = { name = 'weapon_pistol_magazine', label = 'Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Magazine' },
    weapon_pistol_mk2_magazine      = { name = 'weapon_pistol_mk2_magazine', label = 'Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Mk II Magazine' },
    weapon_combatpistol_magazine    = { name = 'weapon_combatpistol_magazine', label = 'Combat Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Combat Pistol Magazine' },
    weapon_appistol_magazine        = { name = 'weapon_appistol_magazine', label = 'AP Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'AP Pistol Magazine' },
    weapon_stungun_magazine         = { name = 'weapon_stungun_magazine', label = 'Taser Magazine', weight = 1000, type = 'weapon', ammotype = nil, image = 'clip_attachment.png', unique = true, useable = false, description = 'Taser Magazine' },
    weapon_pistol50_magazine        = { name = 'weapon_pistol50_magazine', label = 'Pistol .50 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol .50 Magazine' },
    weapon_snspistol_magazine       = { name = 'weapon_snspistol_magazine', label = 'SNS Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol Magazine' },
    weapon_heavypistol_magazine     = { name = 'weapon_heavypistol_magazine', label = 'Heavy Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Heavy Pistol Magazine' },
    weapon_vintagepistol_magazine   = { name = 'weapon_vintagepistol_magazine', label = 'Vintage Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Vintage Pistol Magazine' },
    weapon_flaregun_magazine        = { name = 'weapon_flaregun_magazine', label = 'Flare Gun Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_FLARE', image = 'clip_attachment.png', unique = true, useable = false, description = 'Flare Gun Magazine' },
    weapon_marksmanpistol_magazine  = { name = 'weapon_marksmanpistol_magazine', label = 'Marksman Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Marksman Pistol Magazine' },
    weapon_revolver_magazine        = { name = 'weapon_revolver_magazine', label = 'Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Revolver Magazine' },
    weapon_revolver_mk2_magazine    = { name = 'weapon_revolver_mk2_magazine', label = 'Violence Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'da Violence Magazine' },
    weapon_doubleaction_magazine    = { name = 'weapon_doubleaction_magazine', label = 'Double Action Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Double Action Revolver Magazine' },
    weapon_snspistol_mk2_magazine   = { name = 'weapon_snspistol_mk2_magazine', label = 'SNS Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol MK2 Magazine' },
    weapon_raypistol_magazine       = { name = 'weapon_raypistol_magazine', label = 'Up-n-Atomizer Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Raypistol Magazine' },
    weapon_ceramicpistol_magazine   = { name = 'weapon_ceramicpistol_magazine', label = 'Ceramic Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Ceramicpistol Magazine' },
    weapon_navyrevolver_magazine    = { name = 'weapon_navyrevolver_magazine', label = 'Navy Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Navyrevolver Magazine' },
    weapon_gadgetpistol_magazine    = { name = 'weapon_gadgetpistol_magazine', label = 'Perico Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Gadgetpistol Magazine' },
    weapon_pistolxm3_magazine       = { name = 'weapon_pistolxm3_magazine', label = 'Pistol XM3 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol XM3 Magazine' },
```


I have seen people saying that there is a problem with stash not saving in inventory, but this is related to incomplete use.

This is how you open the Stash, which is fine.

TriggerServerEvent('inventory:server:OpenInventory', 'stash', id)


But if you do not add this code later, the stash will not save

TriggerEvent('inventory:client:SetCurrentStash', id)




This is how you can add stash.This is just a simple example

> UPDATE 26.06.2024
```lua
   TriggerEvent('inventory:client:SetCurrentStash', 'launder-' .. menuId)
   TriggerServerEvent('inventory:server:OpenInventory', 'stash', 'launder-' .. menuId , {
        maxweight = 4000000,
        slots = 1})
```
nice leakkkkkkkkkkkkkk man thank you
 

s6ogu

Member
Mar 20, 2023
26
2
3
.
Credits
124

PA Inventory Open Source​

View attachment 16121 PREVIEW

This is the latest version of PA Inventory. It includes a health system, progress bar, text UI, item throwing, item placement, special slot system, special clip system, special animations, SIM card slot system, and many other features.

This was last updated on June 28, 2024.

I have included the following files:
  • pa-inventory
  • pa-textui-2
  • pickle_weaponthrowing
  • qb-weapons
I have removed the pa-lib export as that resource was encrypted.

-=Stripped Content=-


This is a copy of the read me file in the pa-inventory folder.
Code:
README FILE

🛠️ Installation
1. >Update Config File:
If your previous inventory was Ox, you need to write "ox" in Config.OldInventory. Otherwise, you can leave this section blank.
If you are using qb-core, you need to change pa_inventory export names to pa_inventory.Do the same for lib. You have to write the same thing in lib as you wrote in inventory. Otherwise it will not work properly

2. You need to do the same for the weapons script. Open the shared/config.lua file and adjust the inventory settings. Make sure you type the inventory name correctly.

2. >Installing Requirements:
You need to install pickle_weaponthrowing-1.2 script for Weapon throwing, pa-textui-2 script for fluent texts and ac-uipack script for progressbar to work properly. You also need to install ac-lib-2 for the script to run smoothly. These scripts come as a gift with the PA Inventory script.

3. >Updating the Data Folder:
If you have used Ox before, you need to replace items and weapons files inside the data folder in this script with their own ox files to convert your data automatically, but stashes.lua, vehicles.lua, crafting.lua, licenses.lua, evidence.lua and animations.lua file should remain completely empty. Check below how to add stashes, the same way you can add and edit crafts from the configuration

🚀 Updates
The script will be continuously updated and new features will continue to be added.

❗️ Important Notes
1. It is recommended not to restart the script while the server is active.

2. It is recommended to check the config file several times before running it. If you need help with the config, please make sure to ask in a respectful way.

3. If you are already using pa_inventory, you do not need to make any changes to your code to organize your inventory, but if you are not using pa_inventory before, you need to make the following changes.


💡Information
1. If you want you can change the script name to pa_inventory and use it. ( Not recommended ) . You are advised not to change your name.If you are going to change it, you need to change the inventory name in the shared/config.lua file of the lib and weapons files. You also need to change the names all over your server package

2. Do not forget to change other exports

3. The phone sim system has not yet been coded, because a special coding system will be made according to the wishes of the customers and the phones they use.


> Sample scripts

1. If you cannot make export settings, I will leave you 2 sample scripts, you can review them and check my export uses.

jim-consumables : https://dosya.co/ixb92iq4e8lz/jim-consumables.zip.html

jim-recycle : https://dosya.co/9dippe1ayl0g/jim-recycle.zip.html

qb-smallresources : https://dosya.co/ipg39fml5b5w/qb-smallresources.zip.html


> Info
1. If you are using pa_inventory before, make this script name pa_inventory, make everything that says pa_inventory in it pa_inventory and continue to use it that way.

2. If you were using ox_inventory before, rename this script to ox_inventory, change everything with pa_inventory in it to ox_inventory, then replace the items.lua folder in the data folder with your old ox inventory and keep using it that way.

Also, do not forget to make config adjustments in the scripts such as lib, inventory, throw, weapons.


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.RemoveItem

    to

    exports['pa_inventory']:RemoveItem(source,'armor', 1)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.Functions.SetInventory(Player.PlayerData.items, true)

    to

    local items = exports['pa_inventory']:GetPlayerItems(cid)
    exports['pa_inventory']:SetInventory(src, items)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change
```lua
    Player.PlayerData.items

    to

    exports['pa_inventory']:GetPlayerItems(cid)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.AddItem(name, amount, false, metadata)

    to

    exports['pa_inventory']:AddItem(name, amount, false, metadata)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    Player.Functions.GetItemBySlot(WeaponData.slot)

    to

    exports['pa_inventory']:Search(WeaponData.slot)
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You should change    
```lua
    QBCore.Functions.GetPlayer(src).Functions.GetItemByName(item).unique

    to

    exports.pa_inventory:GetItemByName(src,item).unique
```
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------






If you are using qb and have not changed the magazine names in the config, you can add these to your shared table

```lua
    weapon_pistol_magazine          = { name = 'weapon_pistol_magazine', label = 'Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Magazine' },
    weapon_pistol_mk2_magazine      = { name = 'weapon_pistol_mk2_magazine', label = 'Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol Mk II Magazine' },
    weapon_combatpistol_magazine    = { name = 'weapon_combatpistol_magazine', label = 'Combat Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Combat Pistol Magazine' },
    weapon_appistol_magazine        = { name = 'weapon_appistol_magazine', label = 'AP Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'AP Pistol Magazine' },
    weapon_stungun_magazine         = { name = 'weapon_stungun_magazine', label = 'Taser Magazine', weight = 1000, type = 'weapon', ammotype = nil, image = 'clip_attachment.png', unique = true, useable = false, description = 'Taser Magazine' },
    weapon_pistol50_magazine        = { name = 'weapon_pistol50_magazine', label = 'Pistol .50 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol .50 Magazine' },
    weapon_snspistol_magazine       = { name = 'weapon_snspistol_magazine', label = 'SNS Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol Magazine' },
    weapon_heavypistol_magazine     = { name = 'weapon_heavypistol_magazine', label = 'Heavy Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Heavy Pistol Magazine' },
    weapon_vintagepistol_magazine   = { name = 'weapon_vintagepistol_magazine', label = 'Vintage Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Vintage Pistol Magazine' },
    weapon_flaregun_magazine        = { name = 'weapon_flaregun_magazine', label = 'Flare Gun Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_FLARE', image = 'clip_attachment.png', unique = true, useable = false, description = 'Flare Gun Magazine' },
    weapon_marksmanpistol_magazine  = { name = 'weapon_marksmanpistol_magazine', label = 'Marksman Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Marksman Pistol Magazine' },
    weapon_revolver_magazine        = { name = 'weapon_revolver_magazine', label = 'Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Revolver Magazine' },
    weapon_revolver_mk2_magazine    = { name = 'weapon_revolver_mk2_magazine', label = 'Violence Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'da Violence Magazine' },
    weapon_doubleaction_magazine    = { name = 'weapon_doubleaction_magazine', label = 'Double Action Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Double Action Revolver Magazine' },
    weapon_snspistol_mk2_magazine   = { name = 'weapon_snspistol_mk2_magazine', label = 'SNS Pistol Mk II Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'SNS Pistol MK2 Magazine' },
    weapon_raypistol_magazine       = { name = 'weapon_raypistol_magazine', label = 'Up-n-Atomizer Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Raypistol Magazine' },
    weapon_ceramicpistol_magazine   = { name = 'weapon_ceramicpistol_magazine', label = 'Ceramic Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Ceramicpistol Magazine' },
    weapon_navyrevolver_magazine    = { name = 'weapon_navyrevolver_magazine', label = 'Navy Revolver Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Navyrevolver Magazine' },
    weapon_gadgetpistol_magazine    = { name = 'weapon_gadgetpistol_magazine', label = 'Perico Pistol Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Weapon Gadgetpistol Magazine' },
    weapon_pistolxm3_magazine       = { name = 'weapon_pistolxm3_magazine', label = 'Pistol XM3 Magazine', weight = 1000, type = 'weapon', ammotype = 'AMMO_PISTOL', image = 'clip_attachment.png', unique = true, useable = false, description = 'Pistol XM3 Magazine' },
```


I have seen people saying that there is a problem with stash not saving in inventory, but this is related to incomplete use.

This is how you open the Stash, which is fine.

TriggerServerEvent('inventory:server:OpenInventory', 'stash', id)


But if you do not add this code later, the stash will not save

TriggerEvent('inventory:client:SetCurrentStash', id)




This is how you can add stash.This is just a simple example

> UPDATE 26.06.2024
```lua
   TriggerEvent('inventory:client:SetCurrentStash', 'launder-' .. menuId)
   TriggerServerEvent('inventory:server:OpenInventory', 'stash', 'launder-' .. menuId , {
        maxweight = 4000000,
        slots = 1})
```
Broski hit me with 200 credits and I'll cop it rn.

 

Mysto01

Active member
Apr 10, 2023
81
38
18
Nebraska, USA
Credits
31,345
Hey, looking to see if you have the latest updated version of pa-inventory, with the new robbing feature and backwards compatibility with ox_inventory and qb_inventory if possible?
 

Jacobs Reid

Member
Dec 10, 2023
10
6
3
Credits
14,769

PA Inventory Open Source​

View attachment 16121 PREVIEW

This is the latest version of the PA Inventory System, updated on August 19, 2024. It comes packed with a variety of features, including:
  • Health System
  • Progress Bar
  • Text UI
  • Item Throwing
  • Item Placement
  • Special Slot System
  • Special Clip System
  • Special Animations
  • SIM Card Slot System
  • And many more features!

Included Files:​

  • Both QB and OX Inventory Versions
  • pa-textui-2
  • pickle_weaponthrowing
  • qb-weapons

Important Notes:​

  • Support: Please note that I do not provide support for this inventory system.
  • Library Exports: The pa-lib export has been removed because the resource is encrypted. This affects both the QB and OX versions. Please note that the OX version might not be fully accurate since I'm not entirely familiar with the vanilla files. If the OX version doesn't work as expected, I welcome anyone who tests it to provide a snippet so I can update it for everyone else. 🙂

Download:​

You can download the latest version here: -=Stripped Content=-

For more details, including installation instructions and an overview of the latest updates, please refer to the included README file in the download package.

- Thanks Jacobs 🤟


Update Notice: PA Inventory System

To all who have already downloaded the PA Inventory System, I wanted to let you know that a new version has been released with some important updates and improvements.

See the above quote!
 

Users who are viewing this thread

Top