mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-14 12:12:56 +03:00
Merge branch 'master' of https://github.com/EpochModTeam/DayZ-Epoch
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
private ["_item","_config","_pos","_onLadder","_create","_started","_finished","_animState","_isMedic","_qty","_b0x1337","_num_removed","_text","_haskey","_hastoolweapon","_isNear","_hasTinBar"];
|
||||
private ["_item","_config","_pos","_onLadder","_create","_started","_finished","_animState","_isMedic","_num_removed","_text","_haskey","_hastoolweapon","_isNear","_hasTinBar"];
|
||||
|
||||
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_56") , "PLAIN DOWN"]; };
|
||||
DZE_ActionInProgress = true;
|
||||
@@ -59,12 +59,8 @@ if(_finished) then {
|
||||
_num_removed = ([player,"ItemTinBar"] call BIS_fnc_invRemove);
|
||||
|
||||
if(_num_removed == 1) then {
|
||||
// output key to backpack if space
|
||||
_create = _item;
|
||||
_qty = 1;
|
||||
_b0x1337 = unitBackpack player;
|
||||
_b0x1337 addWeaponCargoGlobal [_create,_qty];
|
||||
cutText [(localize "str_epoch_player_60") , "PLAIN DOWN"];
|
||||
_create call player_addDuplicateTool;
|
||||
} else {
|
||||
cutText [(localize "str_epoch_player_61") , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
@@ -222,17 +222,8 @@ if (_canDo) then {
|
||||
_craft_doLoop = false;
|
||||
};
|
||||
{
|
||||
if ((_x == "ItemSledge") && {_x in items player}) then {
|
||||
_bag = unitBackpack player;
|
||||
if (!isNull _bag) then {
|
||||
systemChat format[(localize "str_epoch_player_313"),_x];
|
||||
_bag addWeaponCargoGlobal [_x,1];
|
||||
} else {
|
||||
systemChat format[(localize "str_epoch_player_314"),_x];
|
||||
_object = createVehicle ["WeaponHolder",position player,[],0,"CAN_COLLIDE"];
|
||||
_object setVariable ["permaLoot",true];
|
||||
_object addWeaponCargoGlobal [_x,1];
|
||||
};
|
||||
if (_x == "ItemSledge") then {
|
||||
_x call player_addDuplicateTool;
|
||||
} else {
|
||||
player addWeapon _x;
|
||||
};
|
||||
|
||||
@@ -54,7 +54,7 @@ if(_type == "backpack") then {
|
||||
_b0x1337 addBackpackCargoGlobal [_create,_qty];
|
||||
};
|
||||
if (surfaceIsWater _location) then {
|
||||
_b0x1337 setPosASL _location;
|
||||
_b0x1337 setPosASL (getPosASL player);
|
||||
} else {
|
||||
_b0x1337 setPosATL _location;
|
||||
};
|
||||
|
||||
40
SQF/dayz_code/compile/fn_addDuplicateTool.sqf
Normal file
40
SQF/dayz_code/compile/fn_addDuplicateTool.sqf
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
Description:
|
||||
Checks whether the player already has the tool on their toolbelt and then adds it. Useful for batch crafting tools.
|
||||
1. If they don't then it adds it to their toolbelt.
|
||||
2. If they do then it adds it to their backpack. If their backpack is full it simply falls on the ground.
|
||||
3. If they have no backpack it spawns on the floor as a last resort.
|
||||
The player is given an appropriate systemChat message in case 2 or 3.
|
||||
|
||||
Parameter:
|
||||
_this: string - toolbelt item classname to check and add
|
||||
|
||||
Returns:
|
||||
false if item is not a duplicate, otherwise true
|
||||
|
||||
How to use:
|
||||
"ItemSledge" call player_addDuplicateTool;
|
||||
*/
|
||||
private ["_bag","_hasTool","_location","_object"];
|
||||
_hasTool = true;
|
||||
|
||||
if (_this in items player) then {
|
||||
_bag = unitBackpack player;
|
||||
if (!isNull _bag) then {
|
||||
systemChat format[(localize "str_epoch_player_313"),_this];
|
||||
_bag addWeaponCargoGlobal [_this,1];
|
||||
} else {
|
||||
systemChat format[(localize "str_epoch_player_314"),_this];
|
||||
_location = player modeltoworld [0,0.3,0];
|
||||
if ((_location select 2) < 0) then {_location set [2,0];};
|
||||
_object = createVehicle ["WeaponHolder",_location,[],0,"CAN_COLLIDE"];
|
||||
if (surfaceIsWater _location) then {_object setPosASL (getPosASL player);} else {_object setPosATL _location;};
|
||||
_object setVariable ["permaLoot",true];
|
||||
_object addWeaponCargoGlobal [_this,1];
|
||||
};
|
||||
} else {
|
||||
_hasTool = false;
|
||||
player addWeapon _this;
|
||||
};
|
||||
|
||||
_hasTool
|
||||
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
Description:
|
||||
Checks whether the player has the required items (magazines) || not
|
||||
&& displays a message if an item is missing.
|
||||
Checks whether the player has the required items (magazines) or not
|
||||
and displays a message if an item is missing.
|
||||
|
||||
Parameter(s):
|
||||
_this: <array> list of item names the player is required to have (can also be an sub-array with item name && quantity)
|
||||
_this: <array> list of item names the player is required to have (can also be an sub-array with item name and quantity)
|
||||
|
||||
Returns:
|
||||
Boolean (true if the player has all required items)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
Description:
|
||||
Checks whether the player has the required tools equipped || not
|
||||
&& displays a message if a tool is missing from the tool belt.
|
||||
Checks whether the player has the required tools equipped or not
|
||||
and displays a message if a tool is missing from the tool belt.
|
||||
|
||||
Parameter(s):
|
||||
_this: <array> list of tool names the player is required to have
|
||||
|
||||
@@ -141,6 +141,7 @@ if (!isDedicated) then {
|
||||
onPreloadFinished "if (!isNil 'init_keyboard') then { [] spawn init_keyboard; }; dayz_preloadFinished = true;";
|
||||
|
||||
// helper functions
|
||||
player_addDuplicateTool = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_addDuplicateTool.sqf";
|
||||
player_hasTools = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_hasTools.sqf";
|
||||
player_checkItems = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_checkItems.sqf";
|
||||
player_removeItems = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_removeItems.sqf";
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/* Block local script execution bug. Still not fixed in A20A as of 1.63.131129 */
|
||||
inGameUISetEventHandler ["PrevAction","false"];
|
||||
inGameUISetEventHandler ["NextAction","false"];
|
||||
inGameUISetEventHandler ["Action","false"];
|
||||
|
||||
/*
|
||||
Anti-Teleport - Created By Razor / Refactored By Alby & CopyPasted to Epoch by Skaronator
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user