0.3.7.015

This commit is contained in:
vbawol 2016-01-08 16:27:07 -06:00
parent f7f5d25af4
commit 1889347a29
13 changed files with 595 additions and 59 deletions

View File

@ -1,17 +1,19 @@
**Client**
[ADDED] Repack magazines. Select a magazine and press the "Repack" button.
[Added] Repack magazines feature. Simply select a magazine and press the "Repack" button.
[Added] 55 Gallon (210 liters) Fuel Barrel that can be used to refill/siphon vehicles. (Full - ItemBarrelF,Empty - ItemBarrelE).
[Added] Ability to siphon fuel from other fuel sources like gas stations and gas tanks.
[ADDED-WIP] Pack/unpack empty backpacks into carryable items.
[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-8, ItemVehDoc1-4).
[ADDED-WIP] Light Bulb (ItemBulb).
[ADDED-WIP] Burlap (ItemBurlap).
[ADDED-WIP] Briefcase (Empty - ItemBriefcaseE).
[ADDED-WIP] Aluminum Bars (ItemAluminumBar,ItemAluminumBar10oz).
[ADDED-WIP] Copper Bars (ItemCopperBar,ItemCopperBar10oz).
[ADDED-WIP] Tin Bars (ItemTinBar,ItemTinBar10oz).
[ADDED-WIP] Aluminum Bars (ItemAluminumBar).
[ADDED-WIP] Copper Bars (ItemCopperBar).
[ADDED-WIP] Tin Bars (ItemTinBar).
[ADDED-WIP] Plywood sheets in small and large stacks (ItemPlywood,ItemPlywoodPack).
[Changed] Change all publicVariableServer calls to use remoteExec calls for better performance.
[Fixed] Incorrectly being able to sell/buy items from a dead trader.
@ -19,7 +21,9 @@
[Fixed] Custom epoch swing animations for Hatchet and sledge now work correctly.
[Fixed] Boss Sapper incorrectly cleaned up before detonation.
**Server**
[Added] telePos array can now use world position for tele pads if 5th array element is true.
[Added] Setting to control random magazine ammo counts in loot spawner. CfgEpochClient -> randomizeMagazineAmmoCount (default: true)
[Changed] Empty fuel barrel added to large trash and vehicle loot tables.
[Changed] Earthquakes with mineral veins spawn chances increased with less players.
[Changed] Driver or passengers of a driverless can now control vehicle locks. Also only the owner can control locks from outside of a occupied vehicle.
[Changed] Commented out Halloween masks from loot tables.

View File

@ -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|createAirDrop|airDropCrate|destroytrash) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer) \[.+\]"
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|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer) \[.+\]"

View File

@ -190,14 +190,14 @@ switch _interactOption do {
if (cursorTarget in _vehicles) then {
_vehicle = cursorTarget;
_currentFuel = fuel _vehicle;
_canCapacity = 10;
_canCapacity = _interactAttributes param [0,10];
_fuelCapacity = getNumber (configfile >> "CfgVehicles" >> (typeOf _vehicle) >> "fuelCapacity");
_currentFuel = _currentFuel * _fuelCapacity;
_newFuel = _currentFuel + _canCapacity;
_newFuel = _newFuel / _fuelCapacity;
if (_item call _removeItem) then {
player addMagazine "jerrycanE_epoch";
player addMagazine _interactReturnOnUse;
// send
[_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2];
@ -207,22 +207,37 @@ switch _interactOption do {
};
case 5: {
_vehicles = player nearEntities [["LandVehicle","Ship","Air","Tank"], 6];
_canCapacity = _interactAttributes param [0,10];
if (cursorTarget in _vehicles) then {
_vehicle = cursorTarget;
_canCapacity = 10;
_fuelCapacity = getNumber (configfile >> "CfgVehicles" >> (typeOf _vehicle) >> "fuelCapacity");
_newFuel = (((fuel _vehicle) * _fuelCapacity) - _canCapacity) / _fuelCapacity;
//diag_log format["FIND fill _newFuel %1 capacity: %2 current: %3",_newFuel,_fuelCapacity,_currentFuel];
if (_newFuel > 0) then {
if (_item call _removeItem) then {
player addMagazine "jerrycan_epoch";
player addMagazine _interactReturnOnUse;
[_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2];
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Fuel Siphoned</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
} else {
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Not Enough Fuel</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
} else {
// find any other nearby fuel sources
_transportFuel = 0;
{
_transportFuel = _transportFuel + getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "transportFuel");
} forEach (player nearObjects["ALL", 6]);
if (_transportFuel > _canCapacity) then {
if (_item call _removeItem) then {
player addMagazine _interactReturnOnUse;
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Fuel Siphoned</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
} else {
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Not Enough Fuel</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
};
};
case 6: _unifiedInteract; //Clean -25
@ -327,6 +342,13 @@ switch _interactOption do {
};
};
case 14: { // Unpack Backpack
if (_item call _removeItem) then {
[_interactReturnOnUse,player,Epoch_personalToken] remoteExec ["EPOCH_server_unpackBackpack",2];
_dt = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>Unpacked backpack</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
};
default {
// bottom
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Found nothing</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;

View File

@ -25,7 +25,7 @@ private["_item", "_currQty", "_tradeType", "_itemWorth", "_aiItems", "_itemClass
if (!isNil "EPOCH_TRADE_COMPLETE") exitWith {};
if (!isNil "EPOCH_TRADE_STARTED") exitWith{};
if (!isNull _this) exitWith{};
if (isNull _this) exitWith{};
if (alive _this) then {

View File

@ -30,6 +30,8 @@ class ItemBarrelF : CA_Magazine {
mass = 25;
interactAction = 2;
interactText = "USE";
interactAttributes[] = {210};
interactReturnOnUse = "ItemBarrelE";
};
class ItemBarrelE : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_oildrum_e_CA.paa";
@ -41,6 +43,8 @@ class ItemBarrelE : CA_Magazine {
mass = 25;
interactAction = 2;
interactText = "USE";
interactAttributes[] = {210};
interactReturnOnUse = "ItemBarrelF";
};
class ItemPipe : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_pipe_CA.paa";
@ -195,15 +199,6 @@ class ItemAluminumBar : CA_Magazine {
count = 1;
mass = 1;
};
class ItemAluminumBar10oz : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_alum_bar_10oz_CA.paa";
displayName = "$STR_EPOCH_AluminumBar10oz_19"; // Aluminum Bar (10oz)
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\aluminum_bar_10oz.p3d";
descriptionShort = "$STR_EPOCH_AluminumBar10oz_19"; // Aluminum Bar (10oz)
count = 1;
mass = 1;
};
class ItemCopperBar : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_copper_bar_CA.paa";
displayName = "$STR_EPOCH_CopperBar1oz_16"; // Copper Bar (1oz)
@ -213,15 +208,6 @@ class ItemCopperBar : CA_Magazine {
count = 1;
mass = 1;
};
class ItemCopperBar10oz : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_copper_bar_10oz_CA.paa";
displayName = "$STR_EPOCH_CopperBar10oz_17"; // Copper Bar (10oz)
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\copper_bar_10oz.p3d";
descriptionShort = "$STR_EPOCH_CopperBar10oz_17"; // Copper Bar (10oz)
count = 1;
mass = 1;
};
class ItemTinBar : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_tin_bar_CA.paa";
displayName = "$STR_EPOCH_TinBar1oz_13"; // Tin Bar (1oz)
@ -231,15 +217,6 @@ class ItemTinBar : CA_Magazine {
count = 1;
mass = 1;
};
class ItemTinBar10oz : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_tin_bar_10oz_CA.paa";
displayName = "$STR_EPOCH_TinBar10oz_14"; // Tin Bar (10oz)
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\tin_bar_10oz.p3d";
descriptionShort = "$STR_EPOCH_TinBar10oz_14"; // Tin Bar (10oz)
count = 1;
mass = 1;
};
class ItemPlywood : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_plywood_CA.paa";
displayName = "$STR_EPOCH_Plywood_7"; // Plywood
@ -267,3 +244,399 @@ class ItemComboLock : CA_Magazine {
count = 1;
mass = 1;
};
class Item_AssaultPack_cbr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_cbr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_cbr";
};
class Item_AssaultPack_dgtl : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_dgtl0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_dgtl";
};
class Item_AssaultPack_khk : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_khk0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_khk";
};
class Item_AssaultPack_mcamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_mcamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_mcamo";
};
class Item_AssaultPack_ocamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_ocamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_ocamo";
};
class Item_AssaultPack_rgr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_rgr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_rgr";
};
class Item_AssaultPack_sgg : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_sgg0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_sgg";
};
class Item_AssaultPack_blk : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_AssaultPack_blk0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 20;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_AssaultPack_blk";
};
class Item_Carryall_cbr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Carryall_cbr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 60;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Carryall_cbr";
};
class Item_Carryall_khk : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Carryall_khk0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 60;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Carryall_khk";
};
class Item_Carryall_mcamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Carryall_mcamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 60;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Carryall_mcamo";
};
class Item_Carryall_ocamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Carryall_ocamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 60;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Carryall_ocamo";
};
class Item_Carryall_oli : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Carryall_oli0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 60;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Carryall_oli";
};
class Item_Carryall_oucamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Carryall_oucamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 60;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Carryall_oucamo";
};
class Item_FieldPack_blk : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_FieldPack_blk0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 30;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_FieldPack_blk";
};
class Item_FieldPack_cbr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_FieldPack_cbr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 30;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_FieldPack_cbr";
};
class Item_FieldPack_khk : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_FieldPack_khk0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 30;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_FieldPack_khk";
};
class Item_FieldPack_ocamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_FieldPack_ocamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 30;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_FieldPack_ocamo";
};
class Item_FieldPack_oli : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_FieldPack_oli0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 30;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_FieldPack_oli";
};
class Item_FieldPack_oucamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_FieldPack_oucamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 30;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_FieldPack_oucamo";
};
class Item_Kitbag_cbr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Kitback_cbr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 50;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Kitbag_cbr";
};
class Item_Kitbag_mcamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Kitback_mcamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 50;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Kitbag_mcamo";
};
class Item_Kitbag_rgr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Kitback_rgr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 50;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Kitbag_rgr";
};
class Item_Kitbag_sgg : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_Kitback_sgg0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 50;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_Kitbag_sgg";
};
class Item_TacticalPack_blk : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_TacticalPack_blk0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 40;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_TacticalPack_blk";
};
class Item_TacticalPack_mcamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_TacticalPack_mcamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 40;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_TacticalPack_mcamo";
};
class Item_TacticalPack_ocamo : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_TacticalPack_ocamo0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 40;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_TacticalPack_ocamo";
};
class Item_TacticalPack_oli : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_TacticalPack_oli0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 40;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_TacticalPack_oli";
};
class Item_TacticalPack_rgr : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_A3_B_TacticalPack_rgr0";
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 40;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "B_TacticalPack_rgr";
};
class Item_smallbackpack_red : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_EPOCH_SmallBackpackRe_20"; // Small Backpack (Red)
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 25;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "smallbackpack_red_epoch";
};
class Item_smallbackpack_green : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_EPOCH_SmallBackpackGr_22"; // Small Backpack (Green)
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 25;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "smallbackpack_green_epoch";
};
class Item_smallbackpack_teal : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_EPOCH_SmallBackpackTe_21"; // Small Backpack (Teal)
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 25;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "smallbackpack_teal_epoch";
};
class Item_smallbackpack_pink : CA_Magazine {
picture = "\x\addons\a3_epoch_assets\textures\backpack\gear_packedBag_ca.paa";
displayName = "$STR_EPOCH_SmallBackpackPi_21"; // Small Backpack (Pink)
scope = 2;
model = "\x\addons\a3_epoch_assets\models\PackedBag.p3d";
descriptionShort = "$STR_EPOCH_PackedBackpack_15"; // Packed Backpack
count = 1;
mass = 25;
interactAction = 14;
interactText = "UNPACK";
interactReturnOnUse = "smallbackpack_pink_epoch";
};

View File

@ -450,12 +450,13 @@ class CfgPricing
class B_Kitbag_mcamo {price = 25;};
class B_Kitbag_rgr {price = 25;};
class B_Kitbag_sgg {price = 25;};
class B_Parachute {price = 25;};
class B_Parachute {price = 25;}; // no packed option
class B_TacticalPack_blk {price = 20;};
class B_TacticalPack_mcamo {price = 20;};
class B_TacticalPack_ocamo {price = 20;};
class B_TacticalPack_oli {price = 20;};
class B_TacticalPack_rgr {price = 20;};
class smallbackpack_red_epoch {price = 22;};
class smallbackpack_green_epoch {price = 22;};
class smallbackpack_teal_epoch {price = 22;};

View File

@ -5,7 +5,7 @@ class ItemKeyKit {
price = 15;
};
class ItemBarrelF {
price = 150;
price = 200;
};
class ItemBarrelE {
price = 150;
@ -76,21 +76,12 @@ class ItemBriefcaseE {
class ItemAluminumBar {
price = 10;
};
class ItemAluminumBar10oz {
price = 100;
};
class ItemCopperBar {
price = 100;
};
class ItemCopperBar10oz {
price = 1000;
};
class ItemTinBar {
price = 1;
};
class ItemTinBar10oz {
price = 10;
};
class ItemPlywood {
price = 10;
};
@ -100,3 +91,102 @@ class ItemPlywoodPack {
class ItemComboLock {
price = 45;
};
class Item_AssaultPack_cbr {
price = 10;
};
class Item_AssaultPack_dgtl {
price = 10;
};
class Item_AssaultPack_khk {
price = 10;
};
class Item_AssaultPack_mcamo {
price = 10;
};
class Item_AssaultPack_ocamo {
price = 10;
};
class Item_AssaultPack_rgr {
price = 10;
};
class Item_AssaultPack_sgg {
price = 10;
};
class Item_AssaultPack_blk {
price = 10;
};
class Item_Carryall_cbr {
price = 40;
};
class Item_Carryall_khk {
price = 40;
};
class Item_Carryall_mcamo {
price = 40;
};
class Item_Carryall_ocamo {
price = 40;
};
class Item_Carryall_oli {
price = 40;
};
class Item_Carryall_oucamo {
price = 40;
};
class Item_FieldPack_blk {
price = 15;
};
class Item_FieldPack_cbr {
price = 15;
};
class Item_FieldPack_khk {
price = 15;
};
class Item_FieldPack_ocamo {
price = 15;
};
class Item_FieldPack_oli {
price = 15;
};
class Item_FieldPack_oucamo {
price = 15;
};
class Item_Kitbag_cbr {
price = 25;
};
class Item_Kitbag_mcamo {
price = 25;
};
class Item_Kitbag_rgr {
price = 25;
};
class Item_Kitbag_sgg {
price = 25;
};
class Item_TacticalPack_blk {
price = 20;
};
class Item_TacticalPack_mcamo {
price = 20;
};
class Item_TacticalPack_ocamo {
price = 20;
};
class Item_TacticalPack_oli {
price = 20;
};
class Item_TacticalPack_rgr {
price = 20;
};
class Item_smallbackpack_red {
price = 22;
};
class Item_smallbackpack_green {
price = 22;
};
class Item_smallbackpack_teal {
price = 22;
};
class Item_smallbackpack_pink {
price = 22;
};

View File

@ -191,7 +191,10 @@ class CfgRemoteExec
allowedTargets=2;
jip = 0;
};
class EPOCH_server_unpackBackpack {
allowedTargets=2;
jip = 0;
};
};
class Commands {mode=0;};
};

View File

@ -0,0 +1,32 @@
/*
Author: Aaron Clark - EpochMod.com
Contributors:
Description:
Unpack backpack
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server/compile/epoch_player/EPOCH_server_unpackBackpack.sqf
*/
private ["_wHPos","_wH","_nearByHolder","_item","_player"];
_item = _this select 0;
_player = _this select 1;
if !([_player,_this select 2] call EPOCH_server_getPToken) exitWith {};
if (_item isKindOf "Bag_Base") then {
_wH = objNull;
_nearByHolder = nearestObjects [position _player,["groundWeaponHolder"],3];
if (_nearByHolder isEqualTo []) then {
_wHPos = _player modelToWorld [0,1,0];
if (surfaceIsWater _wHPos) then {
_wHPos = ASLToATL _wHPos;
};
_wH = createVehicle ["groundWeaponHolder",_wHPos, [], 0, "CAN_COLLIDE"];
} else {
_wH = _nearByHolder select 0;
};
_wh addBackpackCargoGlobal [_item,1];
};

View File

@ -17,7 +17,6 @@ for "_i" from 5 to 8 do {
_debug1 setDir 90;
};
_config = configFile >> "CfgEpoch";
// spawn area props
@ -51,7 +50,16 @@ _config = configFile >> "CfgEpoch";
{
_enterClass = _x select 0;
_useWorldPos = false;
if (count _x >= 5) then {
_useWorldPos = (_x select 4) isEqualTo "true";
};
_pos1 = _x select 1;
if !(_useWorldPos) then {
_pos1 = _debug modelToWorld (_x select 1);
};
_exitClass = _x select 2;
_pos = _x select 3;

View File

@ -848,13 +848,15 @@ class CfgLootTable
items[] = {
{ { "MortarBucket", "magazine" }, 16 },
{ { "CinderBlocks", "magazine" }, 17 },
{ { "VehicleRepair", "magazine" }, 17 },
{ { "VehicleRepair", "magazine" }, 16 },
{ { "CircuitParts", "magazine" }, 17 },
{ { "ItemCorrugated", "magazine" }, 17 },
{ { "ItemSolar", "magazine" }, 5 },
{ { "ItemBattery", "magazine" }, 5 },
{ { "ItemCables", "magazine" }, 5 },
{ { "ItemSafe", "magazine" }, 1 }
{ { "ItemSafe", "magazine" }, 1 },
{ { "ItemBarrelE", "magazine" }, 1 }
};
};
@ -870,13 +872,14 @@ class CfgLootTable
{ { "VehicleRepair", "magazine" }, 10 },
{ { "ItemCorrugated", "magazine" }, 11 },
{ { "CinderBlocks", "magazine" }, 12 },
{ { "JackKit", "magazine" }, 9 },
{ { "JackKit", "magazine" }, 8 },
{ { "ItemCoolerE", "magazine" }, 13 },
{ { "ItemScraps", "magazine" }, 13 },
{ { "lighter_epoch", "magazine" }, 1 },
{ { "ItemSolar", "magazine" }, 3 },
{ { "ItemBattery", "magazine" }, 3 },
{ { "ItemCables", "magazine" }, 3 }
{ { "ItemCables", "magazine" }, 3 },
{ { "ItemBarrelE", "magazine" }, 1 }
};
};