client/addons/store/functions/fnc_selectProduct.sqf
Jacob Schmidt 55f60dc71f feat: Revamp admin panel, store, and arsenal systems
This commit introduces significant changes to the admin panel, store, and arsenal systems, focusing on improved functionality, UI enhancements, and code optimization.

**Admin Panel:**
- Migrated to a web-based UI for improved user experience and maintainability.
- Implemented dynamic player listing with filtering and search capabilities.
- Added functionality for managing player paygrades, sending messages, and transferring funds.
- Integrated server-side events for handling admin actions.

**Store:**
- Added `handleDelivery` event handler.
- Streamlined product selection and purchase processes.
- Improved handling of organization funds and player balances.
- Refactored code for better readability and maintainability.

**Arsenal:**
- Enhanced initialization process with improved data validation.
- Optimized item unlocking logic.

These changes aim to provide a more robust, user-friendly, and efficient experience for both administrators and players.
2025-05-03 19:33:10 -05:00

40 lines
968 B
Plaintext

#include "..\script_component.hpp"
/*
* Function: forge_store_fnc_selectProduct
* Author: J. Schmidt
*
* Description:
* Selects a product from the store.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* _this call forge_store_fnc_selectProduct
*
* Public: No
*/
private _display = findDisplay IDD_STOREDIALOG;
private _productList = _display displayCtrl IDC_PRODUCTLIST;
private _productIndex = lbCurSel _productList;
private _productData = lbData [IDC_PRODUCTLIST, _productIndex];
private _product = call compile _productData;
_product params [["_item", "", [""]], ["_price", 0, [0]], ["_category", "", [""]], ["_configType", "", [""]], ["_itemType", "", [""]]];
switch (_configType) do {
case "item";
case "weapon";
case "magazine";
case "backpack": {
[_item, _price, _configType, _itemType] call FUNC(buyItem);
};
case "vehicle": {
[_item, _price, _itemType] call FUNC(buyVehicle);
};
};