
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.
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
#include "..\script_component.hpp"
|
|
|
|
/*
|
|
* Function: forge_client_admin_fnc_handleTransfer
|
|
* Author: IDSolutions
|
|
*
|
|
* [Description]
|
|
* Handles fund transfers through the admin interface.
|
|
* This function retrieves the selected player's UID and amount
|
|
* from the admin dialog, then sends it to the server-side admin store.
|
|
* Supports multiple transfer types: advance (to single player),
|
|
* deduct (from single player), advanceAll (to all players),
|
|
* and payday (distribute based on paygrade).
|
|
*
|
|
* Arguments:
|
|
* 0: Condition <STRING> - The type of transfer to perform ("advance", "deduct", "advanceAll", "payday")
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Examples:
|
|
* ["advance"] call forge_client_admin_fnc_handleTransfer;
|
|
* ["payday"] call forge_client_admin_fnc_handleTransfer;
|
|
*
|
|
* Public: No - Called from admin dialog controls
|
|
*/
|
|
|
|
params [["_condition", "", [""]]];
|
|
|
|
private _dialog = findDisplay 202303;
|
|
private _list = _dialog displayCtrl 2023001;
|
|
private _index = lbCurSel _list;
|
|
private _uid = _list lbData _index;
|
|
private _amount = round (parseNumber (ctrlText 2023005));
|
|
|
|
if (_condition in ["advance", "deduct"] && ((isNil "_uid") || { _uid isEqualTo "" })) exitWith { hint "You did not select a player!"; };
|
|
|
|
["forge_server_admin_handleEvents", ["handleTransfer", [_condition, _amount, _uid]]] call CFUNC(serverEvent);
|
|
|
|
ctrlSetText [2023005, ""]; |