mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 20:13:13 +03:00
Update object revealing
This replaces 'player reveal object' with a function that acutal reveals the objects to the player. This fixes that objects were not usable after building.
This commit is contained in:
@@ -1355,6 +1355,8 @@ if (_canBuild) then {
|
|||||||
|
|
||||||
_classname = _classnameBuild;
|
_classname = _classnameBuild;
|
||||||
|
|
||||||
|
[_classname,objNull] call fn_waitForObject;
|
||||||
|
|
||||||
local _builtObject = _classname createVehicle [0,0,0];
|
local _builtObject = _classname createVehicle [0,0,0];
|
||||||
|
|
||||||
//_builtObject setDir _dir; // setDir is incompatible with setVectorDirAndUp and should not be used together on the same object https://community.bistudio.com/wiki/setVectorDirAndUp
|
//_builtObject setDir _dir; // setDir is incompatible with setVectorDirAndUp and should not be used together on the same object https://community.bistudio.com/wiki/setVectorDirAndUp
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ if (count _upgrade > 0) then {
|
|||||||
|
|
||||||
_classname = _newclassname;
|
_classname = _newclassname;
|
||||||
|
|
||||||
|
[_classname,objNull] call fn_waitForObject;
|
||||||
|
|
||||||
local _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
|
local _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
|
||||||
//_object setDir _dir; // setdir is incompatible with setVectorDirAndUp and should not be used together on the same object https://community.bistudio.com/wiki/setVectorDirAndUp
|
//_object setDir _dir; // setdir is incompatible with setVectorDirAndUp and should not be used together on the same object https://community.bistudio.com/wiki/setVectorDirAndUp
|
||||||
_object setVariable["memDir", _dir, true];
|
_object setVariable["memDir", _dir, true];
|
||||||
@@ -133,8 +135,6 @@ if (count _upgrade > 0) then {
|
|||||||
_object setVariable ["ownerPUID", _ownerID, true];
|
_object setVariable ["ownerPUID", _ownerID, true];
|
||||||
PVDZE_obj_Swap = [_objectCharacterID, _object, [_dir, _position, dayz_playerUID, _vector], _classname, _obj, player, [], dayz_authKey];
|
PVDZE_obj_Swap = [_objectCharacterID, _object, [_dir, _position, dayz_playerUID, _vector], _classname, _obj, player, [], dayz_authKey];
|
||||||
publicVariableServer "PVDZE_obj_Swap";
|
publicVariableServer "PVDZE_obj_Swap";
|
||||||
player reveal _object;
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
_text = getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName");
|
_text = getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName");
|
||||||
|
|
||||||
|
|||||||
@@ -36,8 +36,9 @@ if (_item == dayz_onBack && carryClick) then {
|
|||||||
_item = if (_droppedType == "") then {_this} else {_droppedType};
|
_item = if (_droppedType == "") then {_this} else {_droppedType};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[format["WeaponHolder_%1",_item],objNull] call fn_waitForObject;
|
||||||
|
|
||||||
_bag = createVehicle [format["WeaponHolder_%1",_item],getPosATL player,[], 1, "CAN_COLLIDE"];
|
_bag = createVehicle [format["WeaponHolder_%1",_item],getPosATL player,[], 1, "CAN_COLLIDE"];
|
||||||
_bag modelToWorld getPosATL player;
|
_bag modelToWorld getPosATL player;
|
||||||
_bag setDir (getDir player);
|
_bag setDir (getDir player);
|
||||||
player reveal _bag;
|
|
||||||
dayz_actionInProgress = false;
|
dayz_actionInProgress = false;
|
||||||
@@ -44,6 +44,8 @@ player addMagazine "bulk_empty";
|
|||||||
|
|
||||||
["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
|
["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
|
||||||
|
|
||||||
|
[_classname,objNull] call fn_waitForObject;
|
||||||
|
|
||||||
_b0x1337 = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
_b0x1337 = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||||
_b0x1337 setDir _dir;
|
_b0x1337 setDir _dir;
|
||||||
|
|
||||||
@@ -63,7 +65,6 @@ if (surfaceIsWater _location) then {
|
|||||||
_b0x1337 setPosATL _location;
|
_b0x1337 setPosATL _location;
|
||||||
};
|
};
|
||||||
|
|
||||||
player reveal _b0x1337;
|
|
||||||
DZE_GearCheckBypass = true; //Bypass gear menu checks since dialog will always open on crate
|
DZE_GearCheckBypass = true; //Bypass gear menu checks since dialog will always open on crate
|
||||||
player action ["Gear", _b0x1337];
|
player action ["Gear", _b0x1337];
|
||||||
|
|
||||||
|
|||||||
@@ -144,6 +144,8 @@ if ((count _upgrade) > 0) then {
|
|||||||
local _objectCharacterID = _obj getVariable ["CharacterID","0"];
|
local _objectCharacterID = _obj getVariable ["CharacterID","0"];
|
||||||
_classname = _newclassname;
|
_classname = _newclassname;
|
||||||
|
|
||||||
|
[_classname,objNull] call fn_waitForObject;
|
||||||
|
|
||||||
local _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
|
local _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
|
||||||
//_object setDir _dir; // setdir is incompatible with setVectorDirAndUp and should not be used together on the same object https://community.bistudio.com/wiki/setVectorDirAndUp
|
//_object setDir _dir; // setdir is incompatible with setVectorDirAndUp and should not be used together on the same object https://community.bistudio.com/wiki/setVectorDirAndUp
|
||||||
_object setVariable["memDir", _dir, true];
|
_object setVariable["memDir", _dir, true];
|
||||||
@@ -225,8 +227,6 @@ if ((count _upgrade) > 0) then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
publicVariableServer "PVDZE_obj_Swap";
|
publicVariableServer "PVDZE_obj_Swap";
|
||||||
player reveal _object;
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
{player addMagazine _x;} count _temp_removed_array;
|
{player addMagazine _x;} count _temp_removed_array;
|
||||||
|
|||||||
@@ -432,7 +432,7 @@ if (_proceed && _success) then {
|
|||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
if (count _selectedRemoveOutput > 0) then {
|
if (count _selectedRemoveOutput > 0) then {
|
||||||
|
["WeaponHolder",objNull] call fn_waitForObject;
|
||||||
local _item = "WeaponHolder" createVehicle [0,0,0];
|
local _item = "WeaponHolder" createVehicle [0,0,0];
|
||||||
_item setDir _iDir;
|
_item setDir _iDir;
|
||||||
|
|
||||||
@@ -509,7 +509,7 @@ if (_proceed && _success) then {
|
|||||||
if (_type == 5) exitWith {
|
if (_type == 5) exitWith {
|
||||||
|
|
||||||
for "_i" from 1 to _countOut do {
|
for "_i" from 1 to _countOut do {
|
||||||
|
[_itemOut,objNull] call fn_waitForObject;
|
||||||
local _bpObj = _itemOut createVehicle [0,0,0]; // create backpack
|
local _bpObj = _itemOut createVehicle [0,0,0]; // create backpack
|
||||||
local _bpPos = [_iPos, _bpDist, _bpDir] call BIS_fnc_relPos; // position it a short distance away from the spawn point
|
local _bpPos = [_iPos, _bpDist, _bpDir] call BIS_fnc_relPos; // position it a short distance away from the spawn point
|
||||||
|
|
||||||
@@ -536,7 +536,6 @@ if (_proceed && _success) then {
|
|||||||
if (_totalCount > 0) then { // Only reveal refund if there is something there. Random ranges can produce zero results.
|
if (_totalCount > 0) then { // Only reveal refund if there is something there. Random ranges can produce zero results.
|
||||||
_sleep = 1;
|
_sleep = 1;
|
||||||
_item setPosATL _iPos;
|
_item setPosATL _iPos;
|
||||||
player reveal _item;
|
|
||||||
|
|
||||||
DZE_GearCheckBypass = true; // Bypass gear menu checks since dialogue will always open on item
|
DZE_GearCheckBypass = true; // Bypass gear menu checks since dialogue will always open on item
|
||||||
player action ["Gear", _item];
|
player action ["Gear", _item];
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ _holder = objNull;
|
|||||||
_nearByPile= nearestObjects [_pos, ["WeaponHolder","WeaponHolderBase"],PILE_SEARCH_RADIUS];
|
_nearByPile= nearestObjects [_pos, ["WeaponHolder","WeaponHolderBase"],PILE_SEARCH_RADIUS];
|
||||||
|
|
||||||
if (count _nearByPile == 0) then {
|
if (count _nearByPile == 0) then {
|
||||||
|
["WeaponHolder",objNull] call fn_waitForObject;
|
||||||
|
|
||||||
//No weapon holders found in the radius, spawn a new one
|
//No weapon holders found in the radius, spawn a new one
|
||||||
_holder = "WeaponHolder" createVehicle [0,0,0];
|
_holder = "WeaponHolder" createVehicle [0,0,0];
|
||||||
_holder setPosATL _pos;
|
_holder setPosATL _pos;
|
||||||
@@ -31,6 +33,8 @@ if (count _nearByPile == 0) then {
|
|||||||
|
|
||||||
//Can you see the current selected weapon holder
|
//Can you see the current selected weapon holder
|
||||||
if (count _objects > 0) then {
|
if (count _objects > 0) then {
|
||||||
|
["WeaponHolder",objNull] call fn_waitForObject;
|
||||||
|
|
||||||
//Unable to see the current selected weapon holder within the radius lets create a new one.
|
//Unable to see the current selected weapon holder within the radius lets create a new one.
|
||||||
_holder = createVehicle ["WeaponHolder", _pos, [], 0, "CAN_COLLIDE"];
|
_holder = createVehicle ["WeaponHolder", _pos, [], 0, "CAN_COLLIDE"];
|
||||||
};
|
};
|
||||||
@@ -43,6 +47,3 @@ switch _type do {
|
|||||||
case 2: {_holder addWeaponCargoGlobal [_item,_amount];};
|
case 2: {_holder addWeaponCargoGlobal [_item,_amount];};
|
||||||
case 3: {_holder addBackpackCargoGlobal [_item,_amount];};
|
case 3: {_holder addBackpackCargoGlobal [_item,_amount];};
|
||||||
};
|
};
|
||||||
|
|
||||||
//Revel the item
|
|
||||||
player reveal _holder;
|
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ if ((_ownerID == dayz_playerUID) || {_objType in ["IC_DomeTent","IC_Tent"]}) the
|
|||||||
_bag setDir _dir;
|
_bag setDir _dir;
|
||||||
_bag setPosATL _pos;
|
_bag setPosATL _pos;
|
||||||
|
|
||||||
|
["WeaponHolder",objNull] call fn_waitForObject;
|
||||||
|
|
||||||
local _holder = "WeaponHolder" createVehicle [0,0,0]; // any packed items go here
|
local _holder = "WeaponHolder" createVehicle [0,0,0]; // any packed items go here
|
||||||
_holder setPosATL _pos;
|
_holder setPosATL _pos;
|
||||||
|
|
||||||
@@ -80,8 +82,6 @@ if ((_ownerID == dayz_playerUID) || {_objType in ["IC_DomeTent","IC_Tent"]}) the
|
|||||||
|
|
||||||
[_weapons, _magazines, _backpacks, _holder] call fn_addCargo; // pile everything onto the ground
|
[_weapons, _magazines, _backpacks, _holder] call fn_addCargo; // pile everything onto the ground
|
||||||
|
|
||||||
player reveal _holder;
|
|
||||||
|
|
||||||
localize "str_success_tent_pack" call dayz_rollingMessages; // Your tent has been packed
|
localize "str_success_tent_pack" call dayz_rollingMessages; // Your tent has been packed
|
||||||
} else {
|
} else {
|
||||||
localize "str_fail_tent_pack" call dayz_rollingMessages; // You cannot pack this tent, it is not yours
|
localize "str_fail_tent_pack" call dayz_rollingMessages; // You cannot pack this tent, it is not yours
|
||||||
|
|||||||
Reference in New Issue
Block a user