From 834a28fa01ccc034bc9ac8b65fc8df7b819a680f Mon Sep 17 00:00:00 2001 From: vbawol Date: Tue, 29 Dec 2015 12:22:24 -0600 Subject: [PATCH] 0.3.7.006 --- Changelogs/0.3.7.0.txt | 13 ++++---- .../sc/battleye/remoteexec.txt | 2 +- .../epoch_code/compile/EPOCH_consumeItem.sqf | 31 +++++++++++++++++++ .../inventory/EPOCH_itemInteractClick.sqf | 11 +++++-- 4 files changed, 48 insertions(+), 9 deletions(-) diff --git a/Changelogs/0.3.7.0.txt b/Changelogs/0.3.7.0.txt index da5b1690..5a1fe635 100644 --- a/Changelogs/0.3.7.0.txt +++ b/Changelogs/0.3.7.0.txt @@ -1,13 +1,14 @@ **Client** -[ADDED] Hotwire Kit (ItemHotwire) -[ADDED] Key Makers Kit (ItemKeyKit) -[ADDED] Keys in colors: (Black ItemKey,ItemKeyRed,ItemKeyGreen,ItemKeyBlue,ItemKeyYellow) -[ADDED] 55 Gallon Fuel Barrel (Full - ItemBarrelF | Empty - ItemBarrelE) -[ADDED] Metal Pipes (ItemPipe) +[ADDED] Repack magazines option. +[ADDED-WIP] Hotwire Kit (ItemHotwire) +[ADDED-WIP] Key Makers Kit (ItemKeyKit) +[ADDED-WIP] Keys in colors: (Black ItemKey,ItemKeyRed,ItemKeyGreen,ItemKeyBlue,ItemKeyYellow) +[ADDED-WIP] 55 Gallon Fuel Barrel (Full - ItemBarrelF | Empty - ItemBarrelE) +[ADDED-WIP] Metal Pipes (ItemPipe) +[ADDED-WIP] Documents (Trash,Books,Vehicle Upgrades) (ItemDoc1, ItemDoc2) [WIP] Light Bulb (ItemBulb) [WIP] Burlap (ItemBurlap) [WIP] Briefcase (Empty - ItemBriefcaseE) -[WIP] Documents (Trash,Books,Vehicle Upgrades) (ItemDoc1, ItemDoc2) [Changed] Change all publicVariableServer calls to use remoteExec calls for better performance. [Fixed] Custom epoch swing animations for Hatchet and sledge now work correctly. **Server** diff --git a/Server_Install_Pack/sc/battleye/remoteexec.txt b/Server_Install_Pack/sc/battleye/remoteexec.txt index 8d8830fa..6f1da9dd 100644 --- a/Server_Install_Pack/sc/battleye/remoteexec.txt +++ b/Server_Install_Pack/sc/battleye/remoteexec.txt @@ -1 +1 @@ -5 "" !="epoch_server_checkplayer [A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3} \(.+\) REMOTE" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|localCleanup|createAirDrop|airDropCrate|destroytrash) \[.+\]" +5 "" !="epoch_server_checkplayer [A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3} \(.+\) REMOTE" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|createAirDrop|airDropCrate|destroytrash) \[.+\]" !="epoch_localcleanup \[.+\]" diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index c5d8e126..147a15c5 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -100,6 +100,37 @@ _unifiedInteract = { }; switch _interactOption do { + case 0: { + _magCount = getNumber (_config >> "count"); + // allow repack for all magazines with greater than 1 bullet + if (_magCount > 1) then { + + _ammoTotal = 0; + _magazinesAmmoFull = magazinesAmmoFull player; + { + if (_item isEqualTo (_x select 0)) then { + _ammoTotal = _ammoTotal + (_x select 1); + }; + } forEach _magazinesAmmoFull; + + _magazineSize = _ammoTotal; + _magazineSizeMax = _magCount; + + // remove all + player removeMagazines _item; + + // Add full magazines back to player + for "_i" from 1 to floor (_magazineSize / _magazineSizeMax) do + { + player addMagazine [_item, _magazineSizeMax]; + }; + // Add last non full magazine + if ((_magazineSize % _magazineSizeMax) > 0) then { + player addMagazine [_item, floor (_magazineSize % _magazineSizeMax)]; + }; + _dt = ["Ammo Repacked", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; + }; + }; case 1: _unifiedInteract; // Eat 1 case 2: _unifiedInteract; //Drink 2 case 3: { // Build 3 diff --git a/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf b/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf index 5e877850..6e8961e2 100644 --- a/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf +++ b/Sources/epoch_code/compile/inventory/EPOCH_itemInteractClick.sqf @@ -43,6 +43,7 @@ EPOCH_InteractedItem = [_text,_data,_pic]; _interactOption = 0; _buttonTXT = ""; +_magCount = 1; if (isClass (configfile >> "cfgweapons" >> _data)) then { _type = getNumber (configfile >> "CfgWeapons" >> _data >> "type"); _interactOption = getNumber (configfile >> "CfgWeapons" >> _data >> "interactAction"); @@ -51,6 +52,7 @@ if (isClass (configfile >> "cfgweapons" >> _data)) then { _type = getNumber (configfile >> "CfgMagazines" >> _data >> "type"); _interactOption = getNumber (configfile >> "CfgMagazines" >> _data >> "interactAction"); _buttonTXT = getText(configfile >> "CfgMagazines" >> _data >> "interactText"); + _magCount = getNumber (configfile >> "CfgMagazines" >> _data >> "count"); }; _display = (findDisplay 602); @@ -60,8 +62,13 @@ if (_buttonTXT != "") then { _useBtn ctrlSetText _buttonTXT; _useBtn ctrlEnable true; } else { - _useBtn ctrlSetText "EXAMINE"; - _useBtn ctrlEnable false; + if (_magCount > 1) then { + _useBtn ctrlEnable true; + _useBtn ctrlSetText "REPACK"; + } else { + _useBtn ctrlSetText "EXAMINE"; + _useBtn ctrlEnable false; + }; }; _useBtn = _display displayCtrl -14;