client/addons/arsenal/functions/fnc_saveUnlocks.sqf
Jacob Schmidt c6daf95415
All checks were successful
Build / Build (push) Successful in 53s
Initial Repo Setup
2025-01-01 14:35:12 -06:00

61 lines
1.7 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: IDSolutions
* Saves arsenal/garage unlocks to appropriate storage based on persistence mode
*
* Arguments:
* 0: Type <STRING> ("armory" or "garage")
*
* Return Value:
* None
*
* Example:
* ["armory"] call forge_client_arsenal_fnc_saveArsenalUnlocks
*/
params [["_type","",[""]],["_data",[],[[]]]];
private _default_armory_unlocks = [[],[],[],[]];
private _default_garage_unlocks = [[],[],[],[],[],[]];
switch (_type) do {
case "armory": {
private _armory_data = GETVAR(player,Armory_Unlocks,_default_armory_unlocks);
switch (GVAR(pdb_mode)) do {
case 0: {
SETVAR(profileNamespace,Armory_Unlocks,_armory_data);
};
case 1: {
["hsetid",getPlayerUID player,"armory_unlocks",-1,_armory_data,"",false] remoteExec ["dragonfly_db_fnc_addTask",2,false];
};
default {
SETVAR(profileNamespace,Armory_Unlocks,_armory_data);
};
};
[_type,_armory_data] call FUNC(updateUnlocks);
};
case "garage": {
private _garage_data = GETVAR(player,Garage_Unlocks,_default_garage_unlocks);
switch (GVAR(pdb_mode)) do {
case 0: {
SETVAR(profileNamespace,Garage_Unlocks,_garage_data);
};
case 1: {
["hsetid",getPlayerUID player,"garage_unlocks",-1,_garage_data,"",false] remoteExec ["dragonfly_db_fnc_addTask",2,false];
};
default {
SETVAR(profileNamespace,Garage_Unlocks,_garage_data);
};
};
[_type,_garage_data] call FUNC(updateUnlocks);
};
};
TRACE_2("Arsenal Unlocks saved",_type,GVAR(pdb_mode));