Group sounds and zombie calls

dayz_zombieSpeak and player_alertZombies are called often together or should be. fnc_alertZombies groups them together and uses the given parameters. This streamlines and corrects the missing or incorrect calls from dayz_zombieSpeak or player_alertZombies.
This commit is contained in:
AirwavesMan
2020-09-12 01:30:45 +02:00
parent a456c948f5
commit 9ad86a84a3
35 changed files with 193 additions and 205 deletions

View File

@@ -29,10 +29,7 @@ if !(_hastinitem) exitWith {
};
if (_qty > 0) then {
_dis=10;
_sfx = "cook";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),10,"cook"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;

View File

@@ -1,6 +1,8 @@
private ["_rawmeat","_cookedmeat","_meat","_meatcooked","_text","_qty","_dis","_sfx","_finished"];
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_rawmeat","_cookedmeat","_meat","_meatcooked","_text","_qty","_finished"];
//diag_log ("Cook Enabled");
player removeAction s_player_cook;
s_player_cook = -1;
@@ -16,16 +18,13 @@ _finished = true;
if (_meat in magazines player) then {
_text = getText (configFile >> "CfgMagazines" >> _meat >> "displayName");
_dis=6;
_sfx = "cook";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),10,"cook"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {};
_qty = {_x == _meat} count magazines player;
for "_x" from 1 to _qty do {
player removeMagazine _meat;
player addMagazine _meatcooked;
@@ -34,9 +33,9 @@ _finished = true;
};
format[localize "str_success_cooked",_qty,_text] call dayz_rollingMessages;
};
if (!_finished) exitWith {};
} forEach _rawmeat;
a_player_cooking = false;
dayz_actionInProgress = false;
dayz_actionInProgress = false;

View File

@@ -1,4 +1,4 @@
private ["_item","_type","_hasHarvested","_knifeArray","_PlayerNear","_isListed","_activeKnife","_text","_dis","_sfx","_qty","_string","_isZombie","_humanity","_finished"];
private ["_item","_type","_hasHarvested","_knifeArray","_PlayerNear","_isListed","_activeKnife","_text","_qty","_string","_isZombie","_humanity","_finished"];
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
@@ -31,16 +31,13 @@ if ((count _knifeArray) < 1) exitWith {
if ((count _knifeArray > 0) and !_hasHarvested) then {
//Use sharpest knife player has
_activeKnife = _knifeArray select 0;
_activeKnife = _knifeArray select 0;
//Get Animal Type
_isListed = isClass (configFile >> "CfgSurvival" >> "Meat" >> _type);
_text = getText (configFile >> "CfgVehicles" >> _type >> "displayName");
_dis=10;
_sfx = "gut";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),10,"gut"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {};
@@ -55,7 +52,7 @@ if ((count _knifeArray > 0) and !_hasHarvested) then {
if (local _item) then {
[_item,_qty] spawn local_gutObject; //leave as spawn (sleeping in loops will work but can freeze the script)
} else {
} else {
PVCDZ_obj_GutBody =[_item,_qty];
publicVariable "PVCDZ_obj_GutBody";
@@ -78,4 +75,4 @@ if ((count _knifeArray > 0) and !_hasHarvested) then {
_string call dayz_rollingMessages;
};
dayz_actionInProgress = false;
dayz_actionInProgress = false;

View File

@@ -1,9 +1,9 @@
private ["_time","_vehicle","_removed","_vehType","_finished"];
_vehicle = _this select 3;
if (dayz_actionInProgress) exitWith {localize "STR_EPOCH_PLAYER_32" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_time","_vehicle","_removed","_vehType","_finished"];
_vehicle = _this select 3;
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = 1;
{DZE_myVehicle removeAction _x} count s_player_lockUnlockInside;s_player_lockUnlockInside = [];
@@ -12,8 +12,7 @@ s_player_lockUnlockInside_ctrl = 1;
_removed = ([player,"ItemHotwireKit",1] call BIS_fnc_invRemove);
if (_removed == 1) then {
[player,"repair",0,false] call dayz_zombieSpeak;
[player,50,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),40,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {

View File

@@ -1,6 +1,7 @@
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_qty","_dis","_sfx","_finished","_qty20","_qty5","_qty210","_magazines","_cursorTarget","_fuelAmount","_fuelNeeded"];
private ["_qty","_finished","_qty20","_qty5","_qty210","_magazines","_cursorTarget","_fuelAmount","_fuelNeeded"];
player removeAction s_player_fillfuel;
//s_player_fillfuel = -1;
@@ -29,20 +30,17 @@ if (_fuelAmount < _fuelNeeded) then {format[localize "str_fill_notenough",typeOf
if (_fuelAmount < 5 or (_fuelAmount < 20 && _qty5 == 0) or (_fuelAmount < 210 && (_qty5 == 0 && _qty20 == 0))) exitWith {dayz_actionInProgress = false;};
if (_qty > 0) then {
_dis=5;
_sfx = "refuel";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),20,"refuel"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {};
// Added Nutrition-Factor for work
["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
for "_x" from 1 to _qty5 do {
_fuelAmount = _cursorTarget getVariable "FuelAmount";
if (_fuelAmount >= 5) then {
_fuelAmount = _fuelAmount - 5;
_cursorTarget setVariable ["FuelAmount",_fuelAmount,true];
@@ -54,7 +52,7 @@ if (_qty > 0) then {
};
for "_x" from 1 to _qty20 do {
_fuelAmount = _cursorTarget getVariable "FuelAmount";
if (_fuelAmount >= 20) then {
_fuelAmount = _fuelAmount - 20;
_cursorTarget setVariable ["FuelAmount",_fuelAmount,true];
@@ -66,7 +64,7 @@ if (_qty > 0) then {
};
for "_x" from 1 to _qty210 do {
_fuelAmount = _cursorTarget getVariable "FuelAmount";
if (_fuelAmount >= 210) then {
_fuelAmount = _fuelAmount - 210;
_cursorTarget setVariable ["FuelAmount",_fuelAmount,true];

View File

@@ -74,8 +74,7 @@ _maintain = {
if (_enoughMoney) then {
closeDialog 1;
[player,"repair",0,false,20] call dayz_zombieSpeak;
[player,DZE_maintainRange,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),DZE_maintainRange,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if !(_finished) exitWith {};

View File

@@ -1,7 +1,7 @@
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_40" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_abort","_reason","_distance","_isNear","_lockable","_isAllowedUnderGround","_offset","_classname","_zheightdirection","_zheightchanged","_rotate","_objectHelperPos","_objHDiff","_position","_isOk","_dir","_vector","_cancel","_location2","_buildOffset","_location","_limit","_finished","_proceed","_counter","_dis","_sfx","_combination_1_Display","_combination_1","_combination_2","_combination_3","_combination","_combinationDisplay","_combination_4","_num_removed","_tmpbuilt","_vUp","_classnametmp","_text","_ghost","_objectHelper","_location1","_object","_helperColor","_canDo","_pos","_onLadder","_vehicle","_inVehicle","_needNear","_canBuild","_friendsArr"];
private ["_abort","_reason","_distance","_isNear","_lockable","_isAllowedUnderGround","_offset","_classname","_zheightdirection","_zheightchanged","_rotate","_objectHelperPos","_objHDiff","_position","_isOk","_dir","_vector","_cancel","_location2","_buildOffset","_location","_limit","_finished","_proceed","_counter","_combination_1_Display","_combination_1","_combination_2","_combination_3","_combination","_combinationDisplay","_combination_4","_num_removed","_tmpbuilt","_vUp","_classnametmp","_text","_ghost","_objectHelper","_location1","_object","_helperColor","_canDo","_pos","_onLadder","_vehicle","_inVehicle","_needNear","_canBuild","_friendsArr"];
_pos = [player] call FNC_GetPos;
@@ -407,10 +407,7 @@ if (_canBuild select 0) then {
while {_isOk} do {
format[localize "str_epoch_player_139",_text, (_counter + 1),_limit] call dayz_rollingMessages; //report how many steps are done out of total limit
_dis=20;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),40,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1,{player getVariable["combattimeout",0] >= diag_tickTime or DZE_cancelBuilding}] call fn_loopAction;

View File

@@ -38,7 +38,7 @@ else { _weapon = Player_GetSidearm(); if (isNil "_weapon") then { "" } else { _w
if (_weapon == "") exitWith
{
closedialog 0;
localize
(
if ((_this select 1) == 1)
@@ -54,7 +54,7 @@ _config = configFile >> "CfgWeapons" >> _weapon >> "Attachments";
if (!isClass(_config) || {!isText(_config >> _attachment)}) exitWith
{
closeDialog 0;
localize
(
if ((_this select 1) == 1)
@@ -66,7 +66,7 @@ if (!isClass(_config) || {!isText(_config >> _attachment)}) exitWith
_newWeapon = getText (_config >> _attachment);
_weaponInUse = (currentWeapon player == _weapon);
[player,"attach_weap",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),10,"attach_weap"] spawn fnc_alertZombies;
call gear_ui_init;
player playActionNow "Medic";
@@ -82,7 +82,7 @@ player addWeapon _newWeapon;
if (_weaponInUse) then
{
_muzzle = (getArray (configFile >> "CfgWeapons" >> _newWeapon >> "muzzles")) select 0;
if (_muzzle == "this") then
{
player selectWeapon _newWeapon;
@@ -91,4 +91,4 @@ if (_weaponInUse) then
{
player selectWeapon _muzzle;
};
};
};

View File

@@ -5,7 +5,7 @@
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_40" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_location","_pos","_dir","_classname","_item","_cancel","_reason","_finished","_dis","_sfx","_tmpbuilt","_onLadder","_text","_offset","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_distance","_classnametmp","_ghost","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_needNear","_vehicle","_inVehicle","_objHDiff","_isAllowedUnderGround","_canBuild","_friendsArr","_vector"];
private ["_location","_pos","_dir","_classname","_item","_cancel","_reason","_finished","_tmpbuilt","_onLadder","_text","_offset","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_distance","_classnametmp","_ghost","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_needNear","_vehicle","_inVehicle","_objHDiff","_isAllowedUnderGround","_canBuild","_friendsArr","_vector"];
_pos = [player] call FNC_GetPos;
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
@@ -326,10 +326,7 @@ if (_canBuild select 0) then {
while {_isOk} do {
format[localize "str_epoch_player_139",_text, (_counter + 1),_limit] call dayz_rollingMessages;
_dis=20;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),40,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1,{player getVariable["combattimeout",0] >= diag_tickTime or DZE_cancelBuilding}] call fn_loopAction;

View File

@@ -2,11 +2,11 @@
DayZ Base Building Upgrades
Made for DayZ Epoch please ask permission to use/edit/distribute email vbawol@veteranbastards.com.
*/
private ["_location","_dir","_classname","_text","_object","_objectID","_objectUID","_newclassname","_refund","_obj","_upgrade","_objectCharacterID","_ownerID","_i","_invResult","_itemOut","_countOut","_abortInvAdd","_addedItems","_finished","_playerNear"];
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_48" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_location","_dir","_classname","_text","_object","_objectID","_objectUID","_newclassname","_refund","_obj","_upgrade","_objectCharacterID","_ownerID","_i","_invResult","_itemOut","_countOut","_abortInvAdd","_addedItems","_finished","_playerNear"];
player removeAction s_player_downgrade_build;
s_player_downgrade_build = 1;
@@ -33,7 +33,7 @@ if ((count _upgrade) > 0) then {
_newclassname = _upgrade select 0;
_refund = _upgrade select 1;
[player,20,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),40,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {};

View File

@@ -2,11 +2,11 @@
DayZ Base Building Maintenance
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
*/
private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_requirements","_obj","_upgrade","_objectCharacterID","_finished"];
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_52" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_classname","_missing","_proceed","_num_removed","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_requirements","_obj","_upgrade","_finished"];
player removeAction s_player_maint_build;
s_player_maint_build = 1;
@@ -24,9 +24,6 @@ if (_objectID == "0" && _objectUID == "0") exitWith {dayz_actionInProgress = fal
// Get classname
_classname = typeOf _obj;
// Find display name
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
// Find next maintain
_upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "maintainBuilding");
@@ -47,18 +44,18 @@ _proceed = true;
if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; };
} forEach _requirements;
if (_proceed) then {
[player,20,true,(getPosATL player)] spawn player_alertZombies;
if (_proceed) then {
[player,(getPosATL player),40,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {};
["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
_temp_removed_array = [];
_removed_total = 0;
_tobe_removed_total = 0;
{
_removed = 0;
_itemIn = _x select 0;
@@ -66,7 +63,7 @@ if (_proceed) then {
// diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn];
_tobe_removed_total = _tobe_removed_total + _countIn;
{
{
if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
_num_removed = ([player,_x] call BIS_fnc_invRemove);
_removed = _removed + _num_removed;
@@ -74,7 +71,7 @@ if (_proceed) then {
if(_num_removed >= 1) then {
_temp_removed_array set [count _temp_removed_array,_x];
};
};
};
} forEach magazines player;
} forEach _requirements;
@@ -83,9 +80,9 @@ if (_proceed) then {
format[localize "STR_EPOCH_ACTIONS_4",1] call dayz_rollingMessages;
PVDZE_maintainArea = [player,2,[_obj, _objectID, _objectUID]];
publicVariableServer "PVDZE_maintainArea";
} else {
} else {
{player addMagazine _x;} count _temp_removed_array;
format[localize "str_epoch_player_145",_removed_total,_tobe_removed_total] call dayz_rollingMessages;
format[localize "str_epoch_player_145",_removed_total,_tobe_removed_total] call dayz_rollingMessages;
};
} else {
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
@@ -93,4 +90,4 @@ if (_proceed) then {
};
dayz_actionInProgress = false;
s_player_maint_build = -1;
s_player_maint_build = -1;

View File

@@ -1,9 +1,9 @@
/*
Player action for consuming items
Single parameter:
string item classname
Author:
Foxy
*/
@@ -11,7 +11,7 @@
#define PILE_SEARCH_RADIUS 2
#define PILE_PLAYER_OFFSET [0,1,0]
private ["_cfg","_nutrition","_bloodRegen","_infectionChance","_sound","_output","_hungerCount","_thirstCount","_soundDistance"];
private ["_cfg","_nutrition","_bloodRegen","_infectionChance","_sound","_output","_hungerCount","_thirstCount"];
_cfg = (ConfigFile >> "CfgMagazines" >> _this);
@@ -62,21 +62,21 @@ _output = getText (_cfg >> "consumeOutput");
if (dayz_nutritionValuesSystem) then {
_hungerCount = _nutrition select 1;
_thirstCount = _nutrition select 2;
if (_hungerCount > 0) then { dayz_lastMeal = time; };
if (_thirstCount > 0) then { dayz_lastDrink = time; };
["FoodDrink",_bloodRegen,_nutrition] call dayz_NutritionSystem;
r_player_foodstack = r_player_foodstack + 1;
} else {
_hungerCount = _nutrition select 1;
_thirstCount = _nutrition select 2;
if (_hungerCount > 0) then { dayz_hunger = 0; dayz_lastMeal = time; };
if (_thirstCount > 0) then { dayz_thirst = 0; dayz_lastDrink = time; };
r_player_blood = r_player_blood + _bloodRegen;
if (r_player_blood > r_player_bloodTotal) then {
r_player_blood = r_player_bloodTotal;
};
@@ -107,9 +107,8 @@ if (_sound != "") then
{
private ["_soundDistance"];
_soundDistance = getNumber (_cfg >> "consumeSoundDistance");
[player,_sound,0,false,_soundDistance] call dayz_zombieSpeak;
[player,_soundDistance,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),_soundDistance,_sound] spawn fnc_alertZombies;
};
//If item has a consumeOutput item defined add that to player
@@ -133,4 +132,4 @@ if (_output != "") then
[_output,1,1] call fn_dropItem;
};
};
};
};

View File

@@ -1,8 +1,8 @@
private ["_item","_config","_pos","_onLadder","_create","_finished","_num_removed","_text","_haskey","_hastoolweapon","_isNear","_hasTinBar"];
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_56" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_item","_config","_pos","_onLadder","_create","_finished","_num_removed","_text","_haskey","_hastoolweapon","_isNear","_hasTinBar"];
_item = _this;
_config = configFile >> "cfgWeapons" >> _item;
@@ -26,9 +26,8 @@ call gear_ui_init;
_hasTinBar = "ItemTinBar" in magazines player;
if (!_hasTinBar) exitWith {dayz_actionInProgress = false; localize "str_epoch_player_59" call dayz_rollingMessages;};
[player,"repair",0,false] call dayz_zombieSpeak;
[player,50,true,_pos] spawn player_alertZombies;
[player,(getPosATL player),20,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (_finished) then {

View File

@@ -121,8 +121,7 @@ if (_canDo) then {
if (_proceed) then {
localize "str_epoch_player_62" call dayz_rollingMessages;
[player,_sfx,0,false] call dayz_zombieSpeak;
[player,50,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),50,_sfx] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;

View File

@@ -1,14 +1,17 @@
/*
Player action for emptying containers e.g. water bottle
Single parameter:
string item classname
Author:
Foxy
*/
private ["_cfg","_nutrition","_bloodRegen","_infectionChance","_sound","_output"];
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_56" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private "_cfg";
_cfg = (ConfigFile >> "CfgMagazines" >> _this);
@@ -33,6 +36,9 @@ if ((getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState p
//player doesn't have the consumable item
if (!(_this in magazines player)) exitWith { localize "str_misplaced_container" call dayz_rollingMessages; };
[player,(getPosATL player),5,"refuel"] spawn fnc_alertZombies;
player playActionNow "PutDown";
//Remove container
player removeMagazine _this;
player addMagazine getText (_cfg >> "containerEmpty");
@@ -45,4 +51,6 @@ if (vehicle player == player) then
else
{
(findDisplay 106) closeDisplay 0;
};
};
dayz_actionInProgress = false;

View File

@@ -7,9 +7,9 @@ _originalCount = getNumber (configFile >> "CfgVehicles" >> (typeOf _plant) >> "T
if !([ [[["equip_comfreyleafs"],[_originalCount]],[[],[]]] , [getMagazineCargo _plant, getWeaponCargo _plant] ] call BIS_fnc_areEqual) then {
//diag_log [ [getMagazineCargo _plant, getWeaponCargo _plant], "!=", [[["equip_comfreyleafs"],[_originalCount]],[[],[]]] ];
_plant setVariable["Gathering",true]; // avoid multiple call because the fn_selfActions is called in an infinite loop
[_this] spawn { // in background to be called after fn_selfActions
private ["_mags","_weps","_item","_magcounts","_wepcounts","_dis","_sfx"];
_plant = _this select 0;
_plant spawn { // in background to be called after fn_selfActions
private ["_mags","_weps","_item","_magcounts","_wepcounts","_plant"];
_plant = _this;
_mags = (getMagazineCargo _plant) select 0;
_weps = (getWeaponCargo _plant) select 0;
if (count _mags != 0 OR count _weps != 0) then { // if not empty
@@ -24,7 +24,7 @@ if !([ [[["equip_comfreyleafs"],[_originalCount]],[[],[]]] , [getMagazineCargo _
_item addWeaponCargoGlobal [_x, _wepcounts select _forEachIndex];
} forEach _weps;
};
//remove vehicle, Need to ask server to remove.
PVDZ_obj_Delete = [_plant,player];
publicVariableServer "PVDZ_obj_Delete";
@@ -32,9 +32,6 @@ if !([ [[["equip_comfreyleafs"],[_originalCount]],[[],[]]] , [getMagazineCargo _
deleteVehicle _plant;
//Make some noise
_dis=2;
_sfx = "tentpack";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),2,"tentpack"] spawn fnc_alertZombies;
};
};
};

View File

@@ -32,8 +32,7 @@ if (count _findNearestPlant >= 1) then {
_isOk = true;
_proceed = false;
while {_isOk} do {
[player,20,true,(getPosATL player)] spawn player_alertZombies;
[player,"chopwood",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),20,"chopwood"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;

View File

@@ -1,23 +1,23 @@
private ["_dir","_classname","_b0x1337","_location","_item","_config","_create_raw","_create","_qty","_type","_hasCrate","_hasTool","_finished"];
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_75" call dayz_rollingMessages;};
dayz_actionInProgress = true;
_hasTool = "ItemCrowbar" in items player;
if(!_hasTool) exitWith {
private ["_dir","_classname","_b0x1337","_location","_item","_config","_create_raw","_create","_qty","_type","_hasCrate","_hasTool","_finished"];
_hasTool = "ItemCrowbar" in items player;
if(!_hasTool) exitWith {
localize "str_epoch_player_76" call dayz_rollingMessages;
dayz_actionInProgress = false;
};
_item = _this;
_hasCrate = _item in magazines player;
_item = _this;
_hasCrate = _item in magazines player;
if (!_hasCrate) exitWith {
localize "str_epoch_player_77" call dayz_rollingMessages;
dayz_actionInProgress = false;
};
_config = configFile >> "CfgMagazines" >> _item;
_create_raw = getArray (_config >> "ItemActions" >> "CreateMags" >> "output");
_config = configFile >> "CfgMagazines" >> _item;
_create_raw = getArray (_config >> "ItemActions" >> "CreateMags" >> "output");
_create = _create_raw select 0;
_qty = _create_raw select 1;
_type = _create_raw select 2;
@@ -27,6 +27,8 @@ if ((_location select 2) < 0) then {
_location set [2,0];
};
[player,(getPosATL player),20,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished or !(_item in magazines player)) exitWith {
dayz_actionInProgress = false;
@@ -41,7 +43,7 @@ _classname = "WeaponHolder";
player addMagazine "bulk_empty";
["Working",0,[20,40,15,0]] call dayz_NutritionSystem;
_b0x1337 = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
_b0x1337 setDir _dir;
@@ -64,7 +66,7 @@ if (surfaceIsWater _location) then {
player reveal _b0x1337;
DZE_GearCheckBypass = true; //Bypass gear menu checks since dialog will always open on crate
player action ["Gear", _b0x1337];
localize "str_epoch_player_78" call dayz_rollingMessages;
dayz_actionInProgress = false;

View File

@@ -1,4 +1,4 @@
private ["_mineChance","_item","_dis","_sfx","_breaking","_counter","_rocks","_findNearestRock","_objName","_countOut","_isOk","_proceed","_finished","_itemOut","_weapons"];
private ["_mineChance","_breaking","_counter","_rocks","_findNearestRock","_objName","_countOut","_isOk","_proceed","_finished","_itemOut","_weapons"];
_item = _this;
call gear_ui_init;
@@ -25,20 +25,17 @@ if (!isNull _findNearestRock) then {
_counter = 0;
_isOk = true;
_proceed = false;
//check chance before loop, for a maximum amount of 5 loops allowing 5 possiable chances
_mineChance = dayz_HarvestingChance call fn_chance;
while {_isOk} do {
_dis=20;
_sfx = "minestone";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),20,"minestone"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
_weapons = weapons player;
_weapons set [count _weapons,dayz_onBack];
//Make sure player did not drop pickaxe
if (!_finished or !("MeleePickaxe" in _weapons or ("ItemPickaxe" in _weapons))) exitWith {
_isOk = false;
@@ -47,7 +44,7 @@ if (!isNull _findNearestRock) then {
if (_finished) then {
["Working",0,[100,15,10,0]] call dayz_NutritionSystem;
_breaking = false;
if (dayz_toolBreaking && _mineChance) then {
_breaking = true;
@@ -67,14 +64,14 @@ if (!isNull _findNearestRock) then {
player addWeapon "ItemPickaxeBroken";
};
};
_counter = _counter + 1;
_itemOut = "ItemStone";
//Drop Item to ground
[_itemOut,1,1] call fn_dropItem;
};
if ((_counter >= _countOut) || _breaking) exitWith {
if (_breaking) then {
localize "str_PickAxeHandleBreaks" call dayz_rollingMessages;
@@ -87,11 +84,11 @@ if (!isNull _findNearestRock) then {
format[localize "str_mining_progress", _counter,(_countOut - _counter)] call dayz_rollingMessages;
};
if (!_proceed) then {
if (!_proceed) then {
localize "str_mining_canceled" call dayz_rollingMessages;
};
} else {
localize "str_mining_no_rocks" call dayz_rollingMessages;
};
dayz_actionInProgress = false;
dayz_actionInProgress = false;

View File

@@ -1,11 +1,11 @@
/*
Attempts to remove an attachment from the player's current primary weapon or sidearm.
Parameters:
string attachment item classname
string current weapon classname
string resulting weapon classname
Author:
Foxy
*/
@@ -53,7 +53,7 @@ if (!isClass(_newWeaponConfig) || {getText(_newWeaponConfig >> _attachment) != _
_weaponInUse = (currentWeapon player == _weapon);
[player,"detach_weap",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),10,"detach_weap"] spawn fnc_alertZombies;
call gear_ui_init;
player playActionNow "Medic";
@@ -69,7 +69,7 @@ player addMagazine _attachment;
if (_weaponInUse) then
{
_muzzle = (getArray (configFile >> "CfgWeapons" >> _newWeapon >> "muzzles")) select 0;
if (_muzzle == "this") then
{
player selectWeapon _newWeapon;
@@ -78,4 +78,4 @@ if (_weaponInUse) then
{
player selectWeapon _muzzle;
};
};
};

View File

@@ -1,7 +1,7 @@
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_item","_use","_repair","_waterUsed","_displayName"];
private ["_item","_use","_repair","_waterUsed","_displayName","_finished"];
//['ItemKnifeBlunt','ItemKnife']
_item = _this select 0; //Item to be sharpened
@@ -30,6 +30,7 @@ if !("equip_brick" IN magazines player) exitWith {
dayz_actionInProgress = false;
};
[player,(getPosATL player),5,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {

View File

@@ -1,3 +1,6 @@
if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; };
dayz_actionInProgress = true;
private ["_skin","_rnd","_rounded","_itemtocreate","_i","_config","_result","_finished"];
_skin = _this;
@@ -9,11 +12,8 @@ _rounded = round _rnd;
call gear_ui_init;
closeDialog 0;
if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; };
dayz_actionInProgress = true;
//Tear the clothes
[player,"bandage",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),10,"bandage"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {
dayz_actionInProgress = false;
@@ -44,14 +44,14 @@ switch (_rounded) do {
false call dz_fn_meleeMagazines;
_i = 0;
while {_i < _rounded} do {
_i = _i + 1;
_i = _i + 1;
_result = [player,_itemtocreate] call BIS_fnc_invAdd;
if (_rnd < 0.5) then {
[player,"equip_string"] call BIS_fnc_invAdd;
};
uiSleep 0.03;
if (!_result) then {
systemchat (localize ("str_tear_clothes_noroom"));
[_itemtocreate,1,1] call fn_dropItem;
@@ -59,4 +59,4 @@ while {_i < _rounded} do {
};
true call dz_fn_meleeMagazines;
dayz_actionInProgress = false;
dayz_actionInProgress = false;

View File

@@ -55,9 +55,11 @@ if ((count _upgrade) > 0) then {
} forEach _requirements;
if (_proceed) then {
[player,20,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),25,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if (!_finished) exitWith {};
["Working",0,[3,2,4,0]] call dayz_NutritionSystem;
_temp_removed_array = [];
@@ -105,6 +107,7 @@ if ((count _upgrade) > 0) then {
} forEach _requirements;
if (_tobe_removed_total == _removed_total) then {
call player_forceSave;
_location = _obj getVariable["OEMPos",(getposATL _obj)];
_dir = getDir _obj;
_vector = [(vectorDir _obj),(vectorUp _obj)];

View File

@@ -1,7 +1,7 @@
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_vehicle","_canSize","_configVeh","_capacity","_nameType","_curFuel","_newFuel","_dis","_sfx","_array","_cantype",
private ["_vehicle","_canSize","_configVeh","_capacity","_nameType","_curFuel","_newFuel","_array","_cantype",
"_emptycan","_finished","_type"];
_array = _this select 3;
@@ -20,10 +20,7 @@ if (fuel _vehicle == 1 || {!(_canType in magazines player)}) exitWith {dayz_acti
player removeAction s_player_fillfuel + _capacity;
_dis=5;
_sfx = "refuel";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),25,"refuel"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;

View File

@@ -1,10 +1,11 @@
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
/*
delete object from db with extra waiting by [VB]AWOL
parameters: _obj
*/
private ["_plotcheck","_PlayerNear","_isMine","_obj","_objectID","_objectUID","_finished","_isOk","_proceed","_counter","_limit","_objType","_itemOut","_countOut","_selectedRemoveOutput","_nearestPole","_refundpart","_isWreck","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_isWreckBuilding","_nameVehicle","_isModular","_success","_lootGroupIndex","_output"];
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_type","_plotcheck","_PlayerNear","_isMine","_obj","_objectID","_objectUID","_finished","_isOk","_proceed","_counter","_limit","_objType","_itemOut","_countOut","_selectedRemoveOutput","_nearestPole","_refundpart","_isWreck","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_isWreckBuilding","_nameVehicle","_isModular","_success","_lootGroupIndex","_output"];
player removeAction s_player_deleteBuild;
s_player_deleteBuild = 1;
@@ -23,8 +24,8 @@ if (DZE_permanentPlot) then {
if (_obj getVariable ["GeneratorRunning", false]) exitWith {dayz_actionInProgress = false; localize "str_epoch_player_89" call dayz_rollingMessages;};
_objectID = _obj getVariable ["ObjectID","0"];
_objectUID = _obj getVariable ["ObjectUID","0"];
_objectID = _obj getVariable ["ObjectID","0"];
_objectUID = _obj getVariable ["ObjectUID","0"];
_isOk = true;
_proceed = false;
@@ -93,7 +94,8 @@ while {_isOk} do {
format[localize "str_epoch_player_163",_nameVehicle,(_counter + 1),_limit] call dayz_rollingMessages;
[player,"repair",0,false,20] call dayz_zombieSpeak;
[player,(getPosATL player),25,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;
if(!_finished) exitWith {
@@ -176,20 +178,20 @@ if (_proceed && _success) then {
_selectedRemoveOutput set [count _selectedRemoveOutput,[_refundpart,1]];
} else {
if(_isWreckBuilding) then {
switch true do {
case (_isMine): {
call {
if (_isMine) exitwith {
_lootGroupIndex = dz_loot_groups find _objType;
_output = [_lootGroupIndex,3] call dz_fn_loot_select;
{_selectedRemoveOutput set [count _selectedRemoveOutput, [_x select 1,[_x select 2,_x select 3]]]} forEach _output;
};
case (_objType == "Land_ammo_supply_wreck"): {
if (_objType == "Land_ammo_supply_wreck") exitwith {
_lootGroupIndex = dz_loot_groups find _objType;
_output = [_lootGroupIndex,5] call dz_fn_loot_select;
{_selectedRemoveOutput set [count _selectedRemoveOutput, [_x select 1,1,_x select 0]]} forEach _output;
};
default {_selectedRemoveOutput = getArray (configFile >> "CfgVehicles" >> _objType >> "removeoutput")};
_selectedRemoveOutput = getArray (configFile >> "CfgVehicles" >> _objType >> "removeoutput");
};
} else {
if ({_objType in _x} count DZE_modularConfig > 0) then {
@@ -249,10 +251,11 @@ if (_proceed && _success) then {
_countOut = round((random (_countOut select 1)) max (_countOut select 0));
};
if (count _x > 2) then {
switch (_x select 2) do {
case 2: {_item addWeaponCargoGlobal [_itemOut,_countOut]};
case 3: {_item addMagazineCargoGlobal [_itemOut,_countOut]};
case 5: {_item addBackpackCargoGlobal [_itemOut,_countOut]}; // Needs to make sure object can handle Backpacks or will dump on the ground.
_type = _x select 2;
call {
if (_type == 2) exitwith {_item addWeaponCargoGlobal [_itemOut,_countOut]};
if (_type == 3) exitwith {_item addMagazineCargoGlobal [_itemOut,_countOut]};
if (_type == 5) exitwith {_item addBackpackCargoGlobal [_itemOut,_countOut]}; // Needs to make sure object can handle Backpacks or will dump on the ground.
};
} else {
_item addMagazineCargoGlobal [_itemOut,_countOut];

View File

@@ -1,7 +1,7 @@
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_id","_hits","_array","_vehicle","_part","_hitpoint","_type","_nameType","_namePart","_damage","_selection","_dis","_sfx","_finished"];
private ["_id","_hits","_array","_vehicle","_part","_hitpoint","_type","_nameType","_namePart","_damage","_selection","_finished"];
_id = _this select 2;
_array = _this select 3;
@@ -20,10 +20,7 @@ _nameType = getText(configFile >> "cfgVehicles" >> _type >> "displayName");
_namePart = getText(configFile >> "cfgMagazines" >> _part >> "displayName");
if ("ItemToolbox" in items player && {_part in magazines player}) then {
_dis=20;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),30,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;

View File

@@ -4,8 +4,8 @@ dayz_actionInProgress = true;
private ["_array","_vehicle","_part","_hitpoint","_type","_isOK","_brokenPart","_finished","_hasToolbox","_nameType","_namePart","_damage","_BreakableParts","_selection","_wpn","_hits","_ismelee"];
_array = _this select 3;
_vehicle = _array select 0;
_part = _array select 1;
_vehicle = _array select 0;
_part = _array select 1;
_hitpoint = _array select 2;
_type = typeOf _vehicle;
_isOK = false;
@@ -22,8 +22,7 @@ s_player_repair_crtl = 1;
if (_hasToolbox) then {
if ([_vehicle] call DZE_SafeZonePosCheck) exitWith {(localize "str_salvage_safezone") call dayz_rollingMessages;};
[player,"repair",0,false] call dayz_zombieSpeak;
[player,50,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),50,"repair"] spawn fnc_alertZombies;
_finished = ["Medic",1] call fn_loopAction;

View File

@@ -1,10 +1,10 @@
private ["_vehicle","_curFuel","_newFuel","_finished","_location1","_location2","_abort",
"_canNameEmpty","_canSizeEmpty","_canTypeEmpty","_canName","_canSize","_configCanEmpty","_configVeh","_capacity","_nameText",
"_availableCansEmpty","_hasHose","_PlayerNear"];
if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;};
dayz_actionInProgress = true;
private ["_vehicle","_curFuel","_newFuel","_finished","_location1","_location2","_abort",
"_canNameEmpty","_canSizeEmpty","_canTypeEmpty","_canName","_canSize","_configCanEmpty","_configVeh","_capacity","_nameText",
"_hasHose","_PlayerNear"];
_vehicle = _this select 3;
player removeAction s_player_siphonfuel;
_hasHose = "equip_hose" in magazines player;
@@ -29,7 +29,7 @@ _nameText = getText(_configVeh >> "displayName");
_canName = getText(_configCanEmpty >> "fullCan");
_canSize = getNumber(configFile >> "cfgMagazines" >> _canName >> "fuelQuantity");
if (_canSizeEmpty == 0) then {
_curFuel = ((fuel _vehicle) * _capacity);
_newFuel = (_curFuel - _canSize);
@@ -44,8 +44,7 @@ _nameText = getText(_configVeh >> "displayName");
if (_newFuel > 0) then {
format[localize "str_siphon_preparing",_canTypeEmpty] call dayz_rollingMessages;
_finished = false;
[player,20,true,(getPosATL player)] call player_alertZombies;
[player,(getPosATL player),20,"refuel"] spawn fnc_alertZombies;
if (!dayz_isSwimming) then {
_finished = ["Medic",1] call fn_loopAction;
@@ -113,4 +112,4 @@ _nameText = getText(_configVeh >> "displayName");
if (_abort) exitWith {};
} forEach magazines player;
dayz_actionInProgress = false;
dayz_actionInProgress = false;

View File

@@ -20,14 +20,14 @@ _posATL = ASLtoATL _posASL;
//"Land_water_tank" has no spout or opening, doesn't make sense to include
_wells = ["Land_pumpa","Land_Barrel_water","Land_Misc_Well_C_EP1","Land_Misc_Well_L_EP1","land_smd_water_pump"];
_canFill = switch true do {
_canFill = call {
//Return: [nearWaterHole, isPond]
case (count nearestObjects [_posATL,_wells,4] > 0): {[true,false]};
case (toLower worldName in ["chernarus","namalsk","napf"]): {(call fn_nearWaterHole)};
if (count nearestObjects [_posATL,_wells,4] > 0) exitwith {[true,false]};
if (toLower worldName in ["chernarus","namalsk","napf"]) exitwith {(call fn_nearWaterHole)};
//Slow searches for maps without waterHoleProxy objects added yet
case ({["_well",str _x] call fnc_inString} count nearestObjects [_posATL,[],4] > 0): {[true,false]};
case ({["pond",str _x] call fnc_inString && {_posASL select 2 < ((getPosASL _x) select 2)}} count nearestObjects [player,[],50] > 0): {[true,true]};
default {[false,false]};
if ({["_well",str _x] call fnc_inString} count nearestObjects [_posATL,[],4] > 0) exitwith {[true,false]};
if ({["pond",str _x] call fnc_inString && {_posASL select 2 < ((getPosASL _x) select 2)}} count nearestObjects [player,[],50] > 0) exitwith {[true,true]};
[false,false];
};
if !(_canFill select 0) exitWith {
@@ -59,26 +59,25 @@ if (!dayz_isSwimming) then {
if (_drinking) then {
["FoodDrink",0,[0,0,_recover,0]] call dayz_NutritionSystem; //[Energy,food,water,temp]
[player,"drink",0,false,5] call dayz_zombieSpeak;
[player,10,true,_posATL] call player_alertZombies;
[player,_posATL,10,"drink"] spawn fnc_alertZombies;
if (_water == "containerwaterinfected") then {
r_player_infected = true;
};
localize "str_drinkwithhands" call dayz_rollingMessages;
} else {
{
if (isText (configFile >> "CfgMagazines" >> _x >> _water)) then
{
{
_filled = _filled + 1;
player removeMagazine _x;
player addMagazine getText (configFile >> "CfgMagazines" >> _x >> _water);
};
}
foreach magazines player;
if (_filled > 0) then {
[player, "fillwater", 0, false, 5] call dayz_zombieSpeak;
[player, 5, true, _posATL] call player_alertZombies;
@@ -86,4 +85,4 @@ if (_drinking) then {
} else {
localize "str_player_02" call dayz_rollingMessages;
};
};
};

View File

@@ -32,9 +32,9 @@ if (!isNull _obj) then {
[_lockedClass,objNull] call fn_waitForObject;
if (_lockedClass == "LockboxStorageLocked") then {
[player,"lockboxclose",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),20,"lockboxclose"] spawn fnc_alertZombies;
} else {
[player,"safeclose",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),20,"safeclose"] spawn fnc_alertZombies;
};
_code = [_obj getVariable["CharacterID","0"],dayz_combination] select (_ComboMatch);

View File

@@ -37,8 +37,7 @@ if (_ownerID in [dayz_characterID,dayz_playerUID] || {_typeOf in _campItems}) th
_dir = direction _obj;
_pos = getPosATL _obj;
[player,"tentpack",0,false,20] call dayz_zombieSpeak;
[player,20,true,getPosATL player] call player_alertZombies;
[player,(getPosATL player),20,"tentpack"] spawn fnc_alertZombies;
_text = getText (configFile >> "CfgVehicles" >> _typeOf >> "displayName");
format[localize "str_epoch_player_121",_text] call dayz_rollingMessages;

View File

@@ -31,7 +31,7 @@ if (_objectID == "0" && _objectUID == "0") exitWith {dayz_actionInProgress = fal
if (!_ComboMatch && (_ownerID != dayz_playerUID)) exitWith {dayz_actionInProgress = false; s_player_packvault = -1; format[localize "str_epoch_player_119",_text] call dayz_rollingMessages;};
if (isNull _obj && {!alive _obj}) exitWith {s_player_packvault = -1;dayz_actionInProgress = false;};
[player,"tentpack",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),20,"tentpack"] spawn fnc_alertZombies;
format[localize "str_epoch_player_121",_text] call dayz_rollingMessages;

View File

@@ -74,8 +74,7 @@ if (!isNull dayz_selectedDoor) then {
publicVariableServer "PVDZE_handleSafeGear";
DZE_Lock_Door = "";
[player,"combo_locked",0,false] call dayz_zombieSpeak;
[player,20,true,(getPosATL player)] spawn player_alertZombies;
[player,(getPosATL player),20,"combo_locked"] spawn fnc_alertZombies;
if (_doorMethod == "Eye") then {
localize "STR_EPOCH_DOORACCESS_FAILURE" call dayz_rollingMessages;

View File

@@ -38,9 +38,9 @@ if (_ComboMatch || (_ownerID == dayz_playerUID)) then {
[_unlockedClass,objNull] call fn_waitForObject;
if (_unlockedClass == "LockboxStorage") then {
[player,"lockboxopen",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),20,"lockboxopen"] spawn fnc_alertZombies;
} else {
[player,"safeopen",0,false] call dayz_zombieSpeak;
[player,(getPosATL player),20,"safeopen"] spawn fnc_alertZombies;
};
_code = [_obj getVariable["CharacterID","0"],dayz_combination] select (_ComboMatch);

View File

@@ -208,6 +208,18 @@ if (!isDedicated) then {
// Advanced trading default inits for maintaining, Advanced Trading and custom scripts to utilize gem based currency.
call compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\AdvancedTrading\defaultInit.sqf";
fnc_alertZombies = {
private ["_unit","_pos","_dis","_sfx"];
_unit = _this select 0;
_pos = _this select 1;
_dis = _this select 2;
_sfx = _this select 3;
[_unit,_sfx,0,false,_dis] spawn dayz_zombieSpeak;
[_unit,_dis,true,_pos] spawn player_alertZombies;
};
dayz_losChance = {
private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"];
_agent = _this select 0;