client/addons/init/functions/fnc_playerDBSave.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

53 lines
1.6 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Function: forge_client_init_fnc_playerDBSave
* Author: IDSolutions
*
* [Description]
* Save player to DB.
*
* Arguments:
* N/A
*
* Return Value:
* N/A
*
* Examples:
* [] call forge_client_init_fnc_playerDBSave (Server or Singleplayer Only)
* [] remoteExecCall ["forge_client_init_fnc_playerDBSave", 2, false] (Multiplayer Only)
*
* Public: Yes
*/
private _default_armory_unlocks = [[],[],[],[]];
private _default_garage_unlocks = [[],[],[],[],[],[]];
private _data = [
getPlayerUID player,
"armory_unlocks", [GETVAR(player,Armory_Unlocks,_default_armory_unlocks)],
"garage_unlocks", [GETVAR(player,Garage_Unlocks,_default_garage_unlocks)],
"locker", [GETVAR(player,FORGE_Locker,[])],
"garage", [GETVAR(player,FORGE_Garage,[])],
"cash", [GETVAR(player,FORGE_Cash,0)],
"bank", [GETVAR(player,FORGE_Bank,0)],
"number", [GETVAR(player,FORGE_Phone_Number,QUOTE(unknown))],
"email", [GETVAR(player,FORGE_Email,QUOTE(unknown@spearnet.mil))],
"paygrade", [GETVAR(player,FORGE_PayGrade,QUOTE(E1))],
"organization", [GETVAR(player,FORGE_Organization,QUOTE(None))],
"reputation", [rating player],
"loadout", [getUnitLoadout player],
"holster", [GETVAR(player,FORGE_Holster_Weapon,true)],
"position", [getPosASLVisual player],
"direction", [getDirVisual player]
];
if (isNull objectParent player) then {
_data pushBack "currentWeapon";
_data pushBack [currentMuzzle player];
_data pushBack "stance";
_data pushBack [stance player];
};
// ["hsetBulk", "", "", -1, _data, "", false] spawn dragonfly_db_fnc_addTask;
["hsetidbulk", "", "", -1, _data, "", false, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false];