#include "..\script_component.hpp" /* * Function: forge_server_db_fnc_saveToProfile * Author: J. Schmidt * * Description: * Saves data to profile namespace through the database interface * * Arguments: * 0: _name - Store name * 1: _key - Key to save under * 2: _keyField - Field of the key to update * 3: _data - Data to save * * Return Value: * Success */ params [["_name", "", [""]], ["_key", "", [""]], ["_keyField", "", [""]], ["_data", nil, ["", [], 0, true, createHashMap]]]; if (_name isEqualTo "" || _key isEqualTo "" || isNil "_data") exitWith { ERROR_MSG("Store name, key and, or data cannot be empty"); false }; private _database = call FUNC(verifyDB); private _store = _database call ["_read", [_name]]; if (isNil "_store") then { _store = _database call ["_create", [_name, createHashMap]]; }; if (_keyField isEqualTo "") then { _store set [_key, _data]; } else { private _keyData = _store get _key; _keyData set [_keyField, _data]; _store set [_key, _keyData]; }; _database call ["_write", [_name, _store]]; profileNamespace setVariable [_name, _store]; saveProfileNamespace; true