From fe8c5e79501d4b3d671f941ba919acebbf1b0fad Mon Sep 17 00:00:00 2001 From: ebaydayz Date: Sat, 21 May 2016 15:08:57 -0400 Subject: [PATCH] Fix infinite antibiotics when given to another player Vanilla development commit: https://github.com/DayZMod/DayZ/commit/4e6ea245771d1e926f757a7438362dea0cc6ad4d --- SQF/dayz_code/medical/antibiotics.sqf | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/SQF/dayz_code/medical/antibiotics.sqf b/SQF/dayz_code/medical/antibiotics.sqf index b6191b26d..dec545482 100644 --- a/SQF/dayz_code/medical/antibiotics.sqf +++ b/SQF/dayz_code/medical/antibiotics.sqf @@ -5,8 +5,17 @@ private ["_msg","_antibiotics","_hasAntibiotics","_id","_hasMeds","_unit"]; _unit = _this select 0; _medsUsed = _this select 1; _antibiotics =["ItemAntibiotic","ItemAntibiotic1","ItemAntibiotic2","ItemAntibiotic3","ItemAntibiotic4","ItemAntibiotic5","ItemAntibiotic6"]; +_hasAntibiotics = false; -_hasAntibiotics = Array_Any(magazines player, {_this in _antibiotics}); +{ + if (_x in magazines player) exitWith { + // Set antibiotics if not defined (used when giving to somebody) + if(isNil "_medsUsed") then { + _medsUsed = _x; + }; + _hasAntibiotics = true; + }; +} count _antibiotics; _msg = "You seem to have misplaced your antibiotics."; @@ -28,19 +37,19 @@ if (_hasAntibiotics) then { if ((_unit == player) or (vehicle player != player)) then { //Self Healing _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medAntibiotics.sqf"; - + _msg = "You have taken antibiotics."; } else { //Send request to other player PVDZ_send = [_unit,"Antibiotics",[_unit,player]]; publicVariableServer "PVDZ_send"; - + //Give humnaity for good deeds [player,20] call player_humanityChange; - + _msg = "You gave antibiotics."; }; }; -_msg call dayz_rollingMessages; \ No newline at end of file +_msg call dayz_rollingMessages;