113 lines
4.1 KiB
Plaintext
113 lines
4.1 KiB
Plaintext
#include "..\script_component.hpp"
|
|
|
|
/*
|
|
* Function: forge_client_db_fnc_saveToMission
|
|
* Author: J.Schmidt
|
|
* Edit: 07.23.2024
|
|
* Copyright © 2024 J.Schmidt, All rights reserved
|
|
*
|
|
* Do not edit without permission!
|
|
*
|
|
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License.
|
|
* To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons,
|
|
* PO Box 1866, Mountain View, CA 94042
|
|
*
|
|
* [Description]
|
|
* Store mission and player data in Mission Namespace.
|
|
*
|
|
* Arguments:
|
|
* N/A
|
|
*
|
|
* Return Value:
|
|
* N/A
|
|
*
|
|
* Examples:
|
|
* [] call forge_client_db_fnc_saveToMission;
|
|
*
|
|
* Public: Yes
|
|
*/
|
|
|
|
if (isNil "companyFunds") then { companyFunds = 0 };
|
|
if (isNil "companyRating") then { companyRating = 0 };
|
|
if (isNil "companyGenerals") then { companyGenerals = [] };
|
|
if (isNil "companyGarageUnlocks") then { companyGarageUnlocks = [] };
|
|
// if (isNil "forge_client_armory_arsenalUnlocks") then { forge_client_armory_arsenalUnlocks = [] };
|
|
// if (isNil "forge_client_armory_garageUnlocks") then { forge_client_armory_garageUnlocks = [] };
|
|
if (isNil EGVAR(arsenal,armory_unlocks)) then { EGVAR(arsenal,armory_unlocks) = [[],[],[],[]] };
|
|
if (isNil EGVAR(arsenal,garage_unlocks)) then { EGVAR(arsenal,garage_unlocks) = [[],[],[],[],[],[]] };
|
|
|
|
private _vdata = [];
|
|
private _pdata = [];
|
|
private _cdata = [
|
|
["key", "CompanyState"],
|
|
["funds", [companyFunds]],
|
|
["rating", [companyRating]],
|
|
["operations", [companyGenerals]],
|
|
["garage_unlocks", [companyGarageUnlocks]]
|
|
];
|
|
|
|
private _vehicles = nearestObjects [player, ["LandVehicle"], 50] apply {
|
|
createHashMapFromArray [
|
|
["vehicle", _x],
|
|
["class", [typeOf _x]],
|
|
["position", [getPosATL _x]],
|
|
["direction", [getDir _x]],
|
|
["health", [damage _x]]
|
|
];
|
|
};
|
|
|
|
{
|
|
if (alive _x) then {
|
|
_vdata pushBackUnique _x;
|
|
};
|
|
} forEach _vehicles;
|
|
|
|
{
|
|
private _data = [
|
|
["key", getPlayerUID player],
|
|
// ["armory_unlocks", [forge_client_armory_arsenalUnlocks]],
|
|
// ["garage_unlocks", [forge_client_armory_garageUnlocks]],
|
|
["armory_unlocks", [EGVAR(arsenal,armory_unlocks)]],
|
|
["garage_unlocks", [EGVAR(arsenal,garage_unlocks)]],
|
|
// ["locker", [player getVariable ["Locker", []]]],
|
|
// ["garage", [player getVariable ["Garage", []]]],
|
|
["locker", [GETVAR(player,FORGE_Locker,[])]],
|
|
["garage", [GETVAR(player,FORGE_Garage,[])]],
|
|
// ["cash", [player getVariable ["FORGE_Cash", 0]]],
|
|
// ["bank", [player getVariable ["FORGE_Bank", 0]]],
|
|
["cash", [GETVAR(player,FORGE_Cash,0)]],
|
|
["bank", [GETVAR(player,FORGE_Bank,0)]],
|
|
// ["number", [player getVariable ["FORGE_Phone_Number", "unknown"]]],
|
|
// ["email", [player getVariable ["FORGE_Email", "unknown@spearnet.mil"]]],
|
|
["number", [GETVAR(player,FORGE_Phone_Number,"unknown")]],
|
|
["email", [GETVAR(player,FORGE_Email,"unknown@spearnet.mil")]],
|
|
// ["paygrade", [player getVariable ["Paygrade", "E1"]]],
|
|
["paygrade", [GETVAR(player,FORGE_Paygrade,"E1")]],
|
|
["reputation", [rating player]],
|
|
["loadout", [getUnitLoadout player]],
|
|
// ["holster", [player getVariable ["FORGE_Holster_Weapon", true]]],
|
|
["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];
|
|
};
|
|
|
|
_pdata pushBackUnique _data;
|
|
} forEach playableUnits;
|
|
|
|
private _cHashMap = createHashMapFromArray _cdata;
|
|
private _pHashMap = createHashMapFromArray _pdata;
|
|
private _vHashMap = createHashMapFromArray _vdata;
|
|
|
|
// missionProfileNamespace setVariable ["FORGE_MissionData", _cHashMap];
|
|
// missionProfileNamespace setVariable ["FORGE_PlayerData", _pHashMap];
|
|
// missionProfileNamespace setVariable ["FORGE_VehicleData", _vHashMap];
|
|
SETPVAR(missionNamespace,FORGE_MissionData,_cHashMap);
|
|
SETPVAR(missionNamespace,FORGE_PlayerData,_pHashMap);
|
|
SETPVAR(missionNamespace,FORGE_VehicleData,_vHashMap); |