add currentweapon to data new format

This commit is contained in:
vbawol 2017-08-18 15:00:30 -05:00
parent 28d27ee38a
commit f7c3f748f7
3 changed files with 23 additions and 20 deletions

View File

@ -25,9 +25,7 @@ if (_playerObj isEqualType objNull) then {
_dead = false; _dead = false;
_isMale = true; _isMale = true;
_instanceID = call EPOCH_fn_InstanceID; _instanceID = call EPOCH_fn_InstanceID;
_class = "Epoch_Female_F";
_arr = []; _arr = [];
if ((_response select 0) == 1 && (_response select 1) isEqualType []) then { if ((_response select 0) == 1 && (_response select 1) isEqualType []) then {
@ -41,13 +39,9 @@ if (_playerObj isEqualType objNull) then {
if !(_arr isEqualTypeParams _defaultData) then { if !(_arr isEqualTypeParams _defaultData) then {
_dead = true; _dead = true;
} else { } else {
_medical = _arr select 1; _arr params ["","_medical","_apperance","","_vars"];
_apperance = _arr select 2; _class = _apperance param [5, "Epoch_Female_F"];
_class = _apperance select 5; _isMale = (_class == "Epoch_Male_F");
if (_class == "Epoch_Female_F") then {
_isMale = false;
};
_vars = _arr select 4;
_medical params ["","","","_damage",["_hitpoints",[0,0,0,0,0,0,0,0,0,0,0]] ]; _medical params ["","","","_damage",["_hitpoints",[0,0,0,0,0,0,0,0,0,0,0]] ];
_deadPlayer = ["PlayerStats", _playerUID, 0] call EPOCH_fnc_server_hiveGETBIT; _deadPlayer = ["PlayerStats", _playerUID, 0] call EPOCH_fnc_server_hiveGETBIT;
// check if player is already dead or was critically hit HitHead = 2 or HitBody = 7 and if blood pressure too high. // check if player is already dead or was critically hit HitHead = 2 or HitBody = 7 and if blood pressure too high.

View File

@ -13,7 +13,7 @@
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf
*/ */
//[[[cog import generate_private_arrays ]]] //[[[cog import generate_private_arrays ]]]
private ["_CheckLocation","_allGroupMembers","_alreadyDead","_assignedItems","_attachments","_backpack","_backpackItems","_canBeRevived","_class","_communityStats","_communityStatsArray","_currWeap","_deadPlayer","_defaultData","_dir","_equipped","_found","_goggles","_group","_handgunWeapon","_headgear","_instanceID","_jammer","_jammers","_linkedItems","_loadout","_location","_newLocation","_newPlyr","_playerData","_playerGroup","_playerGroupArray","_playerNetID","_playerUID","_primaryWeapon","_reject","_secondaryWeapon","_serverSettingsConfig","_type","_uniform","_uniformItems","_vars","_vest","_vestItems","_wMags","_wMagsArray","_weapon"]; private ["_CheckLocation","_allGroupMembers","_alreadyDead","_assignedItems","_attachments","_backpack","_backpackItems","_canBeRevived","_class","_communityStats","_communityStatsArray","_currentWeapon","_deadPlayer","_defaultData","_dir","_equipped","_found","_goggles","_group","_handgunWeapon","_headgear","_instanceID","_jammer","_jammers","_linkedItems","_loadout","_location","_newLocation","_newPlyr","_playerData","_playerGroup","_playerGroupArray","_playerNetID","_playerUID","_primaryWeapon","_reject","_secondaryWeapon","_serverSettingsConfig","_type","_uniform","_uniformItems","_vars","_vest","_vestItems","_wMags","_wMagsArray","_weapon"];
//[[[end]]] //[[[end]]]
_reject = true; _reject = true;
@ -62,6 +62,7 @@ if (!isNull _player) then {
_backpackItems = [_serverSettingsConfig, "defaultbackpackItems", []] call EPOCH_fnc_returnConfigEntry; // [["Medikit",1],["FirstAidKit",10],[["hgun_P07_F","","","",["16Rnd_9x21_Mag",16],[],""],1]]; _backpackItems = [_serverSettingsConfig, "defaultbackpackItems", []] call EPOCH_fnc_returnConfigEntry; // [["Medikit",1],["FirstAidKit",10],[["hgun_P07_F","","","",["16Rnd_9x21_Mag",16],[],""],1]];
_assignedItems = [_serverSettingsConfig, "defaultassignedItems", ["","","","",[],[],""]] call EPOCH_fnc_returnConfigEntry; // ["Rangefinder","","","",[],[],""] _assignedItems = [_serverSettingsConfig, "defaultassignedItems", ["","","","",[],[],""]] call EPOCH_fnc_returnConfigEntry; // ["Rangefinder","","","",[],[],""]
_linkedItems = [_serverSettingsConfig, "defaultlinkedItems", ["ItemMap","","EpochRadio0","","",""]] call EPOCH_fnc_returnConfigEntry; // ["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGoggles"] _linkedItems = [_serverSettingsConfig, "defaultlinkedItems", ["ItemMap","","EpochRadio0","","",""]] call EPOCH_fnc_returnConfigEntry; // ["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGoggles"]
_currentWeapon = [_serverSettingsConfig, "defaultSelectedWeapon", ""] call EPOCH_fnc_returnConfigEntry; // class of selected weapon
_loadout = [ _loadout = [
_primaryWeapon, _primaryWeapon,
@ -77,7 +78,7 @@ if (!isNull _player) then {
]; ];
// default data, if "Player" data format is changed update this array! // default data, if "Player" data format is changed update this array!
_defaultData = [[0, [], _instanceID, 1.0], [0, 0, 1, 0, [0,0,0,0,0,0,0,0,0,0,0]], ["", "", "", "", "", _class], [], call EPOCH_defaultVars_SEPXVar, _loadout, [], [], [], [], "", true]; _defaultData = [[0, [], _instanceID, 1.0], [0, 0, 1, 0, [0,0,0,0,0,0,0,0,0,0,0]], ["", "", "", "", _currentWeapon, _class], [], call EPOCH_defaultVars_SEPXVar, _loadout, [], [], [], [], "", true];
// If data does not validate against default or is too short, override with default data. // If data does not validate against default or is too short, override with default data.
if !(_playerData isEqualTypeParams _defaultData) then { if !(_playerData isEqualTypeParams _defaultData) then {
@ -199,9 +200,14 @@ if (!isNull _player) then {
_newPlyr setDir _dir; _newPlyr setDir _dir;
_newPlyr setPosATL _location; _newPlyr setPosATL _location;
//
// set player loadout // set player loadout
if (_schemaVersion >= 1.0) then { if (_schemaVersion >= 1.0) then {
_playerData params ["","","","","","_loadout"]; _playerData params ["","","_apperance","","","_loadout"];
// get current weapon to send to param for selectWeapon
_currentWeapon = _apperance param [4,""];
_newPlyr setUnitLoadout [_loadout, false]; _newPlyr setUnitLoadout [_loadout, false];
diag_log format["DEBUG: loaded player %1 with new schema Version %2", _newPlyr, _schemaVersion]; diag_log format["DEBUG: loaded player %1 with new schema Version %2", _newPlyr, _schemaVersion];
@ -230,11 +236,11 @@ if (!isNull _player) then {
_newPlyr addVest _vest; _newPlyr addVest _vest;
}; };
// Load Apperance END // Load Apperance END
_currWeap = "";
// Load inventory + defaults START // Load inventory + defaults START
if (count _weaponsAndItems >= 3) then { if (count _weaponsAndItems >= 3) then {
_weaponsAndItems params ["_currWeapTmp","_weaponsAndItemsArray","_equipped"]; _weaponsAndItems params ["_currentWeaponTmp","_weaponsAndItemsArray","_equipped"];
_currWeap = _currWeapTmp; _currentWeapon = _currentWeaponTmp;
{ {
_weapon = _x deleteAt 0; _weapon = _x deleteAt 0;
_type = getNumber(configfile >> "cfgweapons" >> _weapon >> "type"); _type = getNumber(configfile >> "cfgweapons" >> _weapon >> "type");
@ -352,7 +358,7 @@ if (!isNull _player) then {
_newPlyr setVariable["SETUP", true, true]; _newPlyr setVariable["SETUP", true, true];
// Send message to player so they can take over the new body. // Send message to player so they can take over the new body.
[_playerNetID, _playerUID, [_newPlyr, _vars, _currWeap, loadAbs _newPlyr, _playerGroup, _canBeRevived, _newPlyr call EPOCH_server_setPToken,_playerGroupArray, _communityStats, _hitpoints]] call EPOCH_server_pushPlayer; [_playerNetID, _playerUID, [_newPlyr, _vars, _currentWeapon, loadAbs _newPlyr, _playerGroup, _canBeRevived, _newPlyr call EPOCH_server_setPToken,_playerGroupArray, _communityStats, _hitpoints]] call EPOCH_server_pushPlayer;
// revive test // revive test
_newPlyr setVariable ['#rev_enabled', true, true]; _newPlyr setVariable ['#rev_enabled', true, true];

View File

@ -13,7 +13,7 @@
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_savePlayer.sqf https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_server_savePlayer.sqf
*/ */
//[[[cog import generate_private_arrays ]]] //[[[cog import generate_private_arrays ]]]
private ["_Svars","_allowSave","_appearance","_cIndex","_dmg","_group","_hitpoints","_itemsplayer","_loadout","_medical","_playerUID","_pos","_return","_return2","_revive","_schemaVersion","_server_vars","_stats","_vehiclePlyr","_weapons","_weaponsplayer"]; private ["_Svars","_allowSave","_appearance","_cIndex","_dmg","_extraLoadoutInfo","_group","_hitpoints","_loadout","_medical","_playerUID","_pos","_return","_return2","_revive","_schemaVersion","_server_vars","_stats","_vehiclePlyr"];
//[[[end]]] //[[[end]]]
params [["_player",objNull], ["_vars",[]] ]; params [["_player",objNull], ["_vars",[]] ];
@ -80,11 +80,14 @@ if (_allowSave) then{
}; };
}; };
_dmg = damage _player; // get players hitpoint damage
_hitpoints = (getAllHitPointsDamage _player) param [2,[]]; _hitpoints = (getAllHitPointsDamage _player) param [2,[]];
_medical = [getBleedingRemaining _player, 0, getOxygenRemaining _player, _dmg, _hitpoints];
// build medical array
_medical = [getBleedingRemaining _player, 0, getOxygenRemaining _player, damage _player, _hitpoints];
// appearance now handled with getUnitLoadout, typeof is still need to determine players class. // appearance now handled with getUnitLoadout, typeof is still need to determine players class.
_appearance = ["", "", "", "", "", typeOf _player]; _appearance = ["", "", "", "", currentWeapon _player, typeOf _player];
// new save format // new save format
_loadout = getUnitLoadout _player; _loadout = getUnitLoadout _player;