mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Consolidate weapon/magazine/backpack adding to function
This moves a lot of duplicated code from a server side only function (server_addCargo) to a client/server function called fn_addCargo.
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
private ["_objclass","_cursorTarget","_item","_classname","_requiredTools","_requiredParts","_upgrade","_upgradeConfig",
|
||||
"_upgradeDisplayname","_onLadder","_isWater","_upgradeParts","_startUpgrade","_missingPartsConfig","_textMissingParts","_dis",
|
||||
"_sfx","_ownerID","_objectID","_objectUID","_dir","_weapons","_magazines","_backpacks",
|
||||
"_object","_objWpnTypes","_objWpnQty","_countr","_itemName","_vector","_finished"];
|
||||
"_object","_itemName","_vector","_finished"];
|
||||
|
||||
_cursorTarget = _this select 0;
|
||||
|
||||
@@ -144,15 +144,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
|
||||
//Make sure player knows about the new object
|
||||
player reveal _object;
|
||||
|
||||
//Add contents back
|
||||
//Add Magazines
|
||||
_objWpnTypes = _magazines select 0;
|
||||
_objWpnQty = _magazines select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_object addmagazinecargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
[[],_magazines,[],_object] call fn_addCargo;
|
||||
|
||||
//Light fire
|
||||
[_object,true] call dayz_inflame;
|
||||
|
||||
@@ -12,7 +12,7 @@ dayz_actionInProgress = true;
|
||||
private ["_cursorTarget","_item","_classname","_requiredTools","_requiredParts","_upgrade","_upgradeConfig",
|
||||
"_upgradeDisplayname","_onLadder","_isWater","_upgradeParts","_startUpgrade","_missingPartsConfig","_textMissingParts","_dis",
|
||||
"_sfx","_ownerID","_objectID","_objectUID","_dir","_weapons","_magazines","_backpacks","_object",
|
||||
"_objWpnTypes","_objWpnQty","_countr","_itemName","_vector","_playerNear","_finished"];
|
||||
"_itemName","_vector","_playerNear","_finished"];
|
||||
|
||||
_cursorTarget = _this select 3;
|
||||
|
||||
@@ -152,33 +152,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
|
||||
//Make sure player knows about the new object
|
||||
player reveal _object;
|
||||
|
||||
//Add contents back
|
||||
//Add Weapons
|
||||
_objWpnTypes = _weapons select 0;
|
||||
_objWpnQty = _weapons select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_object addweaponcargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
|
||||
//Add Magazines
|
||||
_objWpnTypes = _magazines select 0;
|
||||
_objWpnQty = _magazines select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_object addmagazinecargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
|
||||
//Add Backpacks
|
||||
_objWpnTypes = _backpacks select 0;
|
||||
_objWpnQty = _backpacks select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_object addbackpackcargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
[_weapons,_magazines,_backpacks,_object] call fn_addCargo;
|
||||
|
||||
//publish new tent
|
||||
if (DZE_permanentPlot) then {
|
||||
@@ -188,7 +162,7 @@ if ((_startUpgrade) AND (isClass(_upgradeConfig))) then {
|
||||
PVDZ_obj_Publish = [dayz_characterID,_object,[_dir,_pos],[_weapons,_magazines,_backpacks],player,dayz_authKey];
|
||||
};
|
||||
publicVariableServer "PVDZ_obj_Publish";
|
||||
diag_log [diag_ticktime, __FILE__, "New Networked object, request to save to hive. PVDZ_obj_Publish:", PVDZ_obj_Publish];
|
||||
//diag_log [diag_ticktime, __FILE__, "New Networked object, request to save to hive. PVDZ_obj_Publish:", PVDZ_obj_Publish];
|
||||
|
||||
localize "str_upgradeDone" call dayz_rollingMessages;
|
||||
/*
|
||||
|
||||
48
SQF/dayz_code/compile/fn_addCargo.sqf
Normal file
48
SQF/dayz_code/compile/fn_addCargo.sqf
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
Adds cargo to an object
|
||||
|
||||
Parameters:
|
||||
_this select 0: array - weapon cargo to add
|
||||
_this select 1: array - magazine cargo to add
|
||||
_this select 2: array - backpack cargo to add
|
||||
_this select 3: object - object to add cargo to
|
||||
*/
|
||||
|
||||
private ["_weapons","_magazines","_backpacks","_holder","_objWpnTypes","_objWpnQty","_counter"];
|
||||
|
||||
_weapons = _this select 0;
|
||||
_magazines = _this select 1;
|
||||
_backpacks = _this select 2;
|
||||
_holder = _this select 3;
|
||||
|
||||
if (count _weapons > 0) then {
|
||||
_objWpnTypes = _weapons select 0;
|
||||
_objWpnQty = _weapons select 1;
|
||||
_counter = 0;
|
||||
{
|
||||
_holder addWeaponCargoGlobal [_x,(_objWpnQty select _counter)];
|
||||
_counter = _counter + 1;
|
||||
} count _objWpnTypes;
|
||||
};
|
||||
|
||||
if (count _magazines > 0) then {
|
||||
_objWpnTypes = _magazines select 0;
|
||||
_objWpnQty = _magazines select 1;
|
||||
_counter = 0;
|
||||
{
|
||||
if (_x != "CSGAS") then {
|
||||
_holder addMagazineCargoGlobal [_x,(_objWpnQty select _counter)];
|
||||
_counter = _counter + 1;
|
||||
};
|
||||
} count _objWpnTypes;
|
||||
};
|
||||
|
||||
if (count _backpacks > 0) then {
|
||||
_objWpnTypes = _backpacks select 0;
|
||||
_objWpnQty = _backpacks select 1;
|
||||
_counter = 0;
|
||||
{
|
||||
_holder addBackpackCargoGlobal [_x,(_objWpnQty select _counter)];
|
||||
_counter = _counter + 1;
|
||||
} count _objWpnTypes;
|
||||
};
|
||||
@@ -4,7 +4,7 @@
|
||||
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
|
||||
dayz_actionInProgress = true;
|
||||
|
||||
private ["_alreadyPacking","_backpacks","_bag","_campItems","_countr","_dir","_holder","_magazines","_obj","_objWpnQty","_objWpnTypes","_objectID","_objectUID","_ownerID","_packobj","_playerNear","_pos","_weapons","_finished"];
|
||||
private ["_alreadyPacking","_backpacks","_bag","_campItems","_dir","_holder","_magazines","_obj","_objectID","_objectUID","_ownerID","_packobj","_playerNear","_pos","_weapons","_finished"];
|
||||
|
||||
_obj = _this;
|
||||
_ownerID = _obj getVariable["CharacterID","0"];
|
||||
@@ -57,32 +57,7 @@ if (_ownerID in [dayz_characterID,dayz_playerUID] or typeOf _obj in _campItems)
|
||||
publicVariableServer "PVDZ_obj_Destroy";
|
||||
deleteVehicle _obj;
|
||||
|
||||
//Add weapons
|
||||
_objWpnTypes = _weapons select 0;
|
||||
_objWpnQty = _weapons select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_holder addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
|
||||
//Add Magazines
|
||||
_objWpnTypes = _magazines select 0;
|
||||
_objWpnQty = _magazines select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_holder addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
|
||||
//Add Backpacks
|
||||
_objWpnTypes = _backpacks select 0;
|
||||
_objWpnQty = _backpacks select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_holder addBackpackCargoGlobal [_x,(_objWpnQty select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _objWpnTypes;
|
||||
[_weapons,_magazines,_backpacks,_holder] call fn_addCargo;
|
||||
|
||||
localize "str_success_tent_pack" call dayz_rollingMessages;
|
||||
} else {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_weapons","_isArray","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_isMagazine","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_oldGroup","_idc","_display","_switchUnit","_leader","_currentCamera"];
|
||||
private ["_weapons","_isArray","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_isMagazine","_countr","_class","_position","_dir","_currentAnim","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_oldGroup","_idc","_display","_switchUnit","_leader","_currentCamera"];
|
||||
_isArray = typeName _this == "ARRAY";
|
||||
_class = if (_isArray) then {_this select 0} else {_this};
|
||||
|
||||
@@ -138,12 +138,6 @@ if (!isNil "_newBackpackType" && {_newBackpackType != ""}) then {
|
||||
//_oldBackpack = dayz_myBackpack;
|
||||
dayz_myBackpack = unitBackpack _newUnit;
|
||||
|
||||
_backpackWpnTypes = [];
|
||||
_backpackWpnQtys = [];
|
||||
if (count _backpackWpn > 0) then {
|
||||
_backpackWpnTypes = _backpackWpn select 0;
|
||||
_backpackWpnQtys = _backpackWpn select 1;
|
||||
};
|
||||
call _switchUnit;
|
||||
if (gear_done) then {sleep 0.001;};
|
||||
["1"] call gearDialog_create;
|
||||
@@ -172,11 +166,8 @@ if (!isNil "_newBackpackType" && {_newBackpackType != ""}) then {
|
||||
};
|
||||
} count _backpackMag;
|
||||
(findDisplay 106) closeDisplay 0;
|
||||
_countr = 0;
|
||||
{
|
||||
dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _backpackWpnTypes;
|
||||
|
||||
[_backpackWpn,[],[],dayz_myBackpack] call fn_addCargo;
|
||||
} else {
|
||||
call _switchUnit;
|
||||
};
|
||||
|
||||
@@ -21,6 +21,7 @@ if (!isDedicated) then {
|
||||
fn_exitSwim = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_exitSwim.sqf";
|
||||
fn_loopAction = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_loopAction.sqf";
|
||||
fn_nearWaterHole = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_nearWaterHole.sqf";
|
||||
fn_addCargo = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_addCargo.sqf";
|
||||
player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf"; //Run on a players computer, checks if the player is near a zombie
|
||||
player_zombieAttack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieAttack.sqf"; //Run on a players computer, causes a nearby zombie to attack them
|
||||
player_attackdelay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_attackfsmdelay.sqf";
|
||||
|
||||
@@ -66,7 +66,7 @@ switch (_status) do {
|
||||
if (DZE_permanentPlot) then {_holder setVariable ["ownerPUID",_ownerID,true];};
|
||||
deleteVehicle _obj;
|
||||
|
||||
[_weapons,_magazines,_backpacks,_holder] call server_addCargo;
|
||||
[_weapons,_magazines,_backpacks,_holder] call fn_addCargo;
|
||||
};
|
||||
case 1: { //Locking
|
||||
_lockedClass = getText (configFile >> "CfgVehicles" >> _type >> "lockedClass");
|
||||
@@ -110,7 +110,7 @@ switch (_status) do {
|
||||
_holder setDir _dir;
|
||||
_holder setPosATL _pos;
|
||||
_holder addMagazineCargoGlobal [getText(configFile >> "CfgVehicles" >> _packedClass >> "seedItem"),1];
|
||||
[_weapons,_magazines,_backpacks,_holder] call server_addCargo;
|
||||
[_weapons,_magazines,_backpacks,_holder] call fn_addCargo;
|
||||
|
||||
// Delete safe from database
|
||||
[_objectID,_objectUID] call server_deleteObjDirect;
|
||||
|
||||
@@ -95,7 +95,7 @@ if (_outcome != "PASS") then {
|
||||
_object setPosATL _location;
|
||||
_object setVectorUp surfaceNormal _location;
|
||||
|
||||
[_weapons,_magazines,_backpacks,_object] call server_addCargo;
|
||||
[_weapons,_magazines,_backpacks,_object] call fn_addCargo;
|
||||
|
||||
_object call fnc_veh_ResetEH;
|
||||
// for non JIP users this should make sure everyone has eventhandlers for vehicles.
|
||||
|
||||
@@ -36,7 +36,6 @@ server_sendToClient = compile preprocessFileLineNumbers "\z\addons\dayz_server\e
|
||||
server_verifySender = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_verifySender.sqf";
|
||||
|
||||
// EPOCH ADDITIONS
|
||||
server_addCargo = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_addCargo.sqf";
|
||||
server_swapObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_swapObject.sqf"; //Used to downgrade and upgrade Epoch buildables
|
||||
server_publishVeh = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle.sqf"; //Used to spawn random vehicles by server
|
||||
server_publishVeh2 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle2.sqf"; //Used to purchase vehicles at traders
|
||||
|
||||
Reference in New Issue
Block a user