1.0.2.4 RC1

This commit is contained in:
[VB]AWOL
2013-10-05 06:29:39 -05:00
parent b8b5d35926
commit 27300140a8
34 changed files with 661 additions and 77 deletions

View File

@@ -1226,6 +1226,34 @@ class CfgMagazines {
output[] = {{"bulk_ItemSodaPepsi",1}};
input[] = {{"bulk_empty",1},{"ItemSodaPepsi",6}};
};
class Crafting2
{
text = "Pack Scrap Metal";
script = ";['Crafting2','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_PartGenericHalf",1}};
input[] = {{"bulk_empty",1},{"PartGeneric",6}};
};
class Crafting3
{
text = "Pack Tank Traps";
script = ";['Crafting3','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_ItemTankTrapHalf",1}};
input[] = {{"bulk_empty",1},{"ItemTankTrap",6}};
};
class Crafting4
{
text = "Pack Wire Kits";
script = ";['Crafting4','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_ItemWireHalf",1}};
input[] = {{"bulk_empty",1},{"ItemWire",6}};
};
};
};
class bulk_ItemSodaCoke: bulk
@@ -1239,6 +1267,28 @@ class CfgMagazines {
script = "spawn player_loadCrate;";
output[] = {"ItemSodaCoke",6,"magazine"};
};
class Crafting
{
text = "Pack 6 Coke";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_ItemSodaCokeFull",1}};
input[] = {{"bulk_ItemSodaCoke",1},{"ItemSodaCoke",6}};
};
};
};
class bulk_ItemSodaCokeFull: bulk
{
descriptionShort = "12 x ItemSodaCoke";
class ItemActions
{
class CreateMags
{
text = "Open %1";
script = "spawn player_loadCrate;";
output[] = {"ItemSodaCoke",12,"magazine"};
};
};
};
class bulk_ItemSodaPepsi: bulk
@@ -1252,6 +1302,28 @@ class CfgMagazines {
script = "spawn player_loadCrate;";
output[] = {"ItemSodaPepsi",6,"magazine"};
};
class Crafting
{
text = "Pack 6 Pepsi";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_ItemSodaPepsiFull",1}};
input[] = {{"bulk_ItemSodaPepsi",1},{"ItemSodaPepsi",6}};
};
};
};
class bulk_ItemSodaPepsiFull: bulk
{
descriptionShort = "12 x ItemSodaPepsi";
class ItemActions
{
class CreateMags
{
text = "Open %1";
script = "spawn player_loadCrate;";
output[] = {"ItemSodaPepsi",12,"magazine"};
};
};
};
class bulk_30Rnd_9x19_MP5SD: bulk
@@ -1322,6 +1394,29 @@ class CfgMagazines {
};
};
};
class bulk_ItemTankTrapHalf: bulk
{
descriptionShort = "6 x Tank Trap";
weight = 12.5;
class ItemActions
{
class CreateMags
{
text = "Open %1";
script = "spawn player_loadCrate;";
output[] = {"ItemTankTrap",6,"magazine"};
};
class Crafting
{
text = "Pack Scrap Metal";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_ItemTankTrap",1}};
input[] = {{"bulk_ItemTankTrapHalf",1},{"ItemTankTrap",6}};
};
};
};
class bulk_ItemWire: bulk
{
@@ -1337,6 +1432,29 @@ class CfgMagazines {
};
};
};
class bulk_ItemWireHalf: bulk
{
descriptionShort = "6 x Wire Kit";
weight = 12.5;
class ItemActions
{
class CreateMags
{
text = "Open %1";
script = "spawn player_loadCrate;";
output[] = {"ItemWire",6,"magazine"};
};
class Crafting
{
text = "Pack Wire Kits";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_ItemWire",1}};
input[] = {{"bulk_ItemWireHalf",1},{"ItemWire",6}};
};
};
};
class bulk_PartGeneric: bulk
{
@@ -1352,6 +1470,29 @@ class CfgMagazines {
};
};
};
class bulk_PartGenericHalf: bulk
{
descriptionShort = "6 x Scrap Metal";
weight = 30;
class ItemActions
{
class CreateMags
{
text = "Open %1";
script = "spawn player_loadCrate;";
output[] = {"PartGeneric",6,"magazine"};
};
class Crafting
{
text = "Pack Scrap Metal";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {"ItemToolbox"};
output[] = {{"bulk_PartGeneric",1}};
input[] = {{"bulk_PartGenericHalf",1},{"PartGeneric",6}};
};
};
};
class bulk_17Rnd_9x19_glock17: bulk
{
@@ -2784,7 +2925,15 @@ class CfgMagazines {
input[] = {{"PartWoodLumber",8}};
};
class Crafting5
{
text = "Craft Lumber Pack";
Script = ";['Crafting5','CfgMafazines', _id] spawn player_craftItem;";
neednearby[] = {"workshop"};
requiretools[] = {"ItemToolbox"};
output[] = {{"PartPlankPack",1}};
input[] = {{"PartWoodLumber",3}};
};
};
};
class PartWoodPlywood: CA_Magazine
@@ -2834,6 +2983,15 @@ class CfgMagazines {
output[] = {{"ItemWoodWallThird",1}};
input[] = {{"PartWoodPlywood",3},{"PartWoodLumber",3}};
};
class Crafting4
{
text = "Craft Plywood Pack";
Script = ";['Crafting4','CfgMafazines', _id] spawn player_craftItem;";
neednearby[] = {"workshop"};
requiretools[] = {"ItemToolbox"};
output[] = {{"PartPlywoodPack",1}};
input[] = {{"PartWoodPlywood",3}};
};
};
};
@@ -2843,9 +3001,10 @@ class CfgMagazines {
count = 1;
type = 256;
displayName = "Iron Ore";
model = "\dayz_equip\models\trash_tincan.p3d";
picture = "\dayz_equip\textures\equip_tincan_ca.paa";
model = "\z\addons\dayz_epoch\models\iron_ore.p3d";
picture="\z\addons\dayz_epoch\pictures\equip_iron_ore_CA.paa";
descriptionShort = "Used for crafting scrap metal. Can be mined from rocks using a sledgehammer.";
weight = 1;
class ItemActions {
class Crafting
{
@@ -2858,6 +3017,50 @@ class CfgMagazines {
};
};
};
class PartOreSilver: CA_Magazine
{
scope = 2;
count = 1;
type = 256;
displayName = "Silver Ore";
model = "\z\addons\dayz_epoch\models\silver_ore.p3d";
picture="\z\addons\dayz_epoch\pictures\equip_silver_ore_CA.paa";
descriptionShort = "Can be mined from rocks using a sledgehammer.";
weight = 1;
class ItemActions {
class Crafting
{
text = "Smelt Silver Bar";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {"fire"};
requiretools[] = {"ItemSledge"};
output[] = {{"ItemSilverBar",1},{"ItemWaterbottleUnfilled",1}};
input[] = {{"PartOreSilver",1},{"ItemWaterbottle",1}};
};
};
};
class PartOreGold: CA_Magazine
{
scope = 2;
count = 1;
type = 256;
displayName = "Gold Ore";
model = "\z\addons\dayz_epoch\models\gold_ore.p3d";
picture="\z\addons\dayz_epoch\pictures\equip_gold_ore_CA.paa";
descriptionShort = "Can be mined from rocks using a sledgehammer.";
weight = 1;
class ItemActions {
class Crafting
{
text = "Smelt Gold Bar";
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {"fire"};
requiretools[] = {"ItemSledge"};
output[] = {{"ItemGoldBar",1},{"ItemWaterbottleUnfilled",1}};
input[] = {{"PartOreGold",1},{"ItemWaterbottle",1}};
};
};
};
class PartVRotor: CA_Magazine
{
scope = 2;

View File

@@ -189,49 +189,69 @@ class Land_wood_wreck_frame : ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wood_wreck_frame.p3d";
displayName = "Wood Wall ruins";
removeoutput[] = {{"PartPlywoodPack",1},{"PartPlankPack",1}};
removeoutput[] = {{"PartWoodPlywood",{0,3}},{"PartWoodLumber",{0,3}}};
};
class Land_wood_wreck_third : ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wood_wreck_third.p3d";
displayName = "Wood Wall 1/3 ruins";
removeoutput[] = {{"PartWoodPlywood",1},{"PartWoodLumber",1}};
removeoutput[] = {{"PartWoodPlywood",{0,1}},{"PartWoodLumber",{0,1}}};
};
class Land_wood_wreck_half : ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wood_wreck_half.p3d";
displayName = "Wood Floor 1/2 ruins";
removeoutput[] = {{"PartWoodPlywood",1},{"PartWoodLumber",1}};
removeoutput[] = {{"PartWoodPlywood",{0,1}},{"PartWoodLumber",{0,1}}};
};
class Land_wood_wreck_floor : ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wood_wreck_floor.p3d";
displayName = "Wood Floor ruins";
removeoutput[] = {{"PartPlywoodPack",1},{"PartPlankPack",1}};
removeoutput[] = {{"PartWoodPlywood",{0,3}},{"PartWoodLumber",{0,3}}};
};
class Land_wood_wreck_quarter : ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wood_wreck_quarter.p3d";
displayName = "Wood Floor 1/4 ruins";
removeoutput[] = {{"PartWoodPlywood",1},{"PartWoodLumber",1}};
removeoutput[] = {{"PartWoodPlywood",{0,1}},{"PartWoodLumber",{0,1}}};
};
class Land_wreck_cinder: ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wreck_cinder.p3d";
displayName = "Cinder wall ruins";
removeoutput[] = {{"CinderBlocks",1}};
removeoutput[] = {{"CinderBlocks",{0,1}}};
};
class Land_wreck_metal_floor: ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\wreck_metal_floor.p3d";
displayName = "Metal Floor ruins";
removeoutput[] = {{"ItemCorrugated",1},{"ItemPole",2},{"ItemTankTrap",1}};
removeoutput[] = {{"ItemPole",{0,2}},{"ItemTankTrap",{0,2}}};
};
class Land_iron_vein_wreck: ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\iron_vein_wreck.p3d";
displayName = "iron vein ruins";
removeoutput[] = {{"PartOre",{6,4}},{"PartOreSilver",{0,1}},{"PartOreGold",{0,1}}};
};
class Land_silver_vein_wreck: ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\silver_vein_wreck.p3d";
displayName = "silver vein ruins";
removeoutput[] = {{"PartOreSilver",{6,4}},{"PartOre",{0,1}},{"PartOreGold",{0,1}}};
};
class Land_gold_vein_wreck: ruins {
scope = 1;
model = "\z\addons\dayz_epoch\models\gold_vein_wreck.p3d";
displayName = "gold vein ruins";
removeoutput[] = {{"PartOreGold",{6,4}},{"PartOre",{0,1}},{"PartOreSilver",{0,1}}};
};
/* Your doorsegment is derivated from the normal wall.*/
@@ -275,6 +295,7 @@ class Land_DZE_WoodDoorLocked: Land_DZE_WoodDoorLocked_Base {
model = "\z\addons\dayz_epoch\models\small_wall_door_locked_anim.p3d";
displayName = "Wood Door Locked";
GhostPreview = "WoodDoor_Preview_DZ";
downgradeBuilding[] = {"Land_DZE_WoodDoor",{{"ItemComboLock",1}}};
/* Arma needs to know, how the animation trigger is triggered*/
class AnimationSources {
/* name must be identical to the one given by the model.cfg ("Open_Door")" */
@@ -374,6 +395,7 @@ class Land_DZE_LargeWoodDoorLocked: Land_DZE_WoodDoorLocked_Base {
model = "\z\addons\dayz_epoch\models\large_wall_door_locked_anim.p3d";
displayName = "Large Wood Door Locked";
GhostPreview = "LargeWoodDoor_Preview_DZ";
downgradeBuilding[] = {"Land_DZE_LargeWoodDoor",{{"ItemComboLock",1}}};
/* Arma needs to know, how the animation trigger is triggered*/
class AnimationSources {
/* name must be identical to the one given by the model.cfg ("Open_Door")" */
@@ -473,6 +495,7 @@ class Land_DZE_GarageWoodDoorLocked: Land_DZE_WoodDoorLocked_Base {
model = "\z\addons\dayz_epoch\models\Garage_door_locked_anim.p3d";
displayName = "Garage Wood Door Locked";
GhostPreview = "GarageWoodDoor_Preview_DZ";
downgradeBuilding[] = {"Land_DZE_GarageWoodDoor",{{"ItemComboLock",1}}};
/* Arma needs to know, how the animation trigger is triggered*/
class AnimationSources {
/* name must be identical to the one given by the model.cfg ("Open_Door")" */
@@ -537,6 +560,7 @@ class CinderWallDoorLocked_DZ: CinderWallDoorLocked_DZ_Base {
model = "\z\addons\dayz_epoch\models\steel_garage_locked.p3d";
displayName = "Block Garage Door Locked";
GhostPreview = "CinderWallDoorway_Preview_DZ";
downgradeBuilding[] = {"CinderWallDoor_DZ",{{"ItemComboLock",1}}};
/* Arma needs to know, how the animation trigger is triggered*/
class AnimationSources {
/* name must be identical to the one given by the model.cfg ("Open_Door")" */
@@ -639,6 +663,7 @@ class CinderWallDoorSmallLocked_DZ: CinderWallDoorLocked_DZ_Base {
model = "\z\addons\dayz_epoch\models\Steel_door_locked.p3d";
displayName = "Block Door Locked";
GhostPreview = "CinderWallSmallDoorway_Preview_DZ";
downgradeBuilding[] = {"CinderWallDoorSmall_DZ",{{"ItemComboLock",1}}};
/* Arma needs to know, how the animation trigger is triggered*/
class AnimationSources {
/* name must be identical to the one given by the model.cfg ("Open_Door")" */

View File

@@ -51,15 +51,15 @@ class pz_worker1: PZombie_VB
tex[] = {};
mat[] = {"Ca\characters_E\Overall\Data\Overall.rvmat","Ca\characters_E\Overall\Data\W1_Overall.rvmat","Ca\characters_E\Overall\Data\W2_Overall.rvmat"};
};
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_4_co.paa"};
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\overall\Overall_4_co.paa"};
};
class pz_worker2: pz_worker1
{
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_3_co.paa"};
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\overall\overall_2_co.paa"};
};
class pz_worker3: pz_worker1
{
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_2_co.paa"};
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\overall\Overall_3_co.paa"};
};
class pz_doctor: PZombie_VB
@@ -81,6 +81,7 @@ class pz_hunter: PZombie_VB
{
model = "\ca\characters2\civil\Woodlander\Woodlander";
hiddenSelections[] = {"Camo"};
hiddenSelectionsTextures[] = {"\ca\characters2\civil\woodlander\data\woodlander_v3_co.paa"};
class Wounds
{
tex[] = {};
@@ -91,7 +92,7 @@ class pz_villager1: PZombie_VB
{
model = "\ca\characters2\civil\Villager\Villager";
hiddenSelections[] = {"Camo"};
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_co.paa"};
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\villager\villager_v4_co.paa"};
class Wounds
{
tex[] = {};
@@ -100,11 +101,11 @@ class pz_villager1: PZombie_VB
};
class pz_villager2: pz_villager1
{
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_v2_co.paa"};
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\villager\villager_v2_co.paa"};
};
class pz_villager3: pz_villager1
{
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_v3_co.paa"};
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\villager\villager_v3_co.paa"};
};
class pz_priest: PZombie_VB
{

View File

@@ -1406,6 +1406,36 @@ class CfgVehicles {
};
};
};
class MiningItems: NonStrategic{
class DestructionEffects {
class Sound {
simulation = "sound";
type = "DestrMine";
position = "destructionEffect1";
intensity = 1;
interval = 1;
lifeTime = 0.05;
};
class DestroyPhase1 {
simulation = "destroy";
type = "DelayedDestruction";
lifeTime = 2.5;
position = "";
intensity = 1;
interval = 1;
};
class DamageAround1 {
simulation = "damageAround";
type = "DamageAroundHouse";
position = "";
intensity = 0.1;
interval = 1;
lifeTime = 1;
};
};
};
class TrapItems: NonStrategic{};
// buildables
class Hedgehog_DZ: BuiltItems
@@ -1604,6 +1634,93 @@ class CfgVehicles {
removeoutput[] = {{"sandbag_nest_kit",1}};
};
// mining
class Gold_Vein_DZE: MiningItems
{
scope = 2;
destrType = "DestructBuilding";
cost = 100;
model="\z\addons\dayz_epoch\models\gold_vein.p3d";
icon = "\ca\data\data\Unknown_object.paa";
mapSize = 2;
armor = 70;
displayName = "Rock with Gold";
vehicleClass = "Fortifications";
class DestructionEffects : DestructionEffects
{
class Ruin1
{
simulation = "ruin";
type = "\z\addons\dayz_epoch\models\gold_vein_wreck.p3d";
position = "";
intensity = 1;
interval = 1;
lifeTime = 1;
};
};
};
class Silver_Vein_DZE: MiningItems
{
scope = 2;
destrType = "DestructBuilding";
cost = 100;
model="\z\addons\dayz_epoch\models\silver_vein.p3d";
icon = "\ca\data\data\Unknown_object.paa";
mapSize = 2;
armor = 60;
displayName = "Rock with Silver";
vehicleClass = "Fortifications";
class DestructionEffects : DestructionEffects
{
class Ruin1
{
simulation = "ruin";
type = "\z\addons\dayz_epoch\models\silver_vein_wreck.p3d";
position = "";
intensity = 1;
interval = 1;
lifeTime = 1;
};
};
};
class Iron_Vein_DZE: MiningItems
{
scope = 2;
destrType = "DestructBuilding";
cost = 100;
model="\z\addons\dayz_epoch\models\iron_vein.p3d";
icon = "\ca\data\data\Unknown_object.paa";
mapSize = 2;
armor = 50;
displayName = "Rock with Iron";
vehicleClass = "Fortifications";
class DestructionEffects : DestructionEffects
{
class Ruin1
{
simulation = "ruin";
type = "\z\addons\dayz_epoch\models\iron_vein_wreck.p3d";
position = "";
intensity = 1;
interval = 1;
lifeTime = 1;
};
};
};
// modular
class MetalFloor_DZ: ModularItems
{

View File

@@ -0,0 +1,141 @@
/*
DayZ Base Building Upgrades
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
*/
private ["_location","_dir","_classname","_text","_object","_objectID","_objectUID","_newclassname","_refund","_obj","_upgrade","_objectCharacterID","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_distance","_needText","_findNearestPoles","_findNearestPole","_IsNearPlot","_i","_invResult","_itemOut","_countOut"];
if(TradeInprogress) exitWith { cutText ["Downgrade already in progress." , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_downgrade_build;
s_player_downgrade_build = 1;
_distance = 30;
_needText = "Plot Pole";
// check for near plot
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
_findNearestPole = [];
{
if (alive _x) then {
_findNearestPole set [(count _findNearestPole),_x];
};
} foreach _findNearestPoles;
_IsNearPlot = count (_findNearestPole);
if(_IsNearPlot == 0) then {
_canBuildOnPlot = true;
} else {
// check nearby plots ownership and then for friend status
_nearestPole = _findNearestPole select 0;
// Find owner
_ownerID = _nearestPole getVariable["CharacterID","0"];
// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
// check if friendly to owner
if(dayz_characterID == _ownerID) then {
_canBuildOnPlot = true;
} else {
_friendlies = player getVariable ["friendlyTo",[]];
// check if friendly to owner
if(_ownerID in _friendlies) then {
_canBuildOnPlot = true;
};
};
};
// exit if not allowed due to plot pole
if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format["Unable to downgrade %1 nearby.",_needText,_distance] , "PLAIN DOWN"]; };
// get cursortarget from addaction
_obj = _this select 3;
// Current charID
_objectCharacterID = _obj getVariable ["CharacterID","0"];
if(!DZE_Lock_Door == _objectCharacterID) exitWith { TradeInprogress = false; cutText ["Unable to downgrade you do not know the combination." , "PLAIN DOWN"]; };
// Find objectID
_objectID = _obj getVariable ["ObjectID","0"];
// Find objectUID
_objectUID = _obj getVariable ["ObjectUID","0"];
if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_upgrade_build = -1; cutText ["Not setup yet.", "PLAIN DOWN"];};
// Get classname
_classname = typeOf _obj;
// Find display name
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
// Find next upgrade
_upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "downgradeBuilding");
if ((count _upgrade) > 0) then {
_newclassname = _upgrade select 0;
_refund = _upgrade select 1;
player playActionNow "Medic";
[player,20,true,(getPosATL player)] spawn player_alertZombies;
_invResult = false;
_i = 0;
{
_itemOut = _x select 0;
_countOut = _x select 1;
for "_x" from 1 to _countOut do {
_invResult = [player,_itemOut] call BIS_fnc_invAdd;
if(_invResult) then {
_i = _i + 1;
};
};
} forEach _refund;
// all parts removed proceed
if(_i != 0) then {
// Get position
_location = _obj getVariable["OEMPos",(getposATL _obj)];
// Get direction
_dir = getDir _obj;
_classname = _newclassname;
// Create new object
_object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
// Set direction
_object setDir _dir;
// Set location
_object setPosATL _location;
cutText [format["You have downgraded %1.",_text], "PLAIN DOWN", 5];
dayzSwapObj = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID];
publicVariableServer "dayzSwapObj";
player reveal _object;
} else {
cutText [format["\n\n%1 of %2 could not be added to your inventory. (not enough room?)", _i,_itemOut], "PLAIN DOWN"];
};
} else {
cutText ["No downgrades available", "PLAIN DOWN"];
};
TradeInprogress = false;
s_player_downgrade_build = -1;

View File

@@ -49,6 +49,9 @@ _proceed = true;
if (_proceed) then {
player playActionNow "Medic";
[player,20,true,(getPosATL player)] spawn player_alertZombies;
_temp_removed_array = [];
_removed_total = 0;
_tobe_removed_total = 0;

View File

@@ -105,8 +105,7 @@ if (count(_findNearestTree) >= 1) then {
_item = createVehicle ["WeaponHolder", getPosATL player, [], 1, "CAN_COLLIDE"];
_item addMagazineCargoGlobal [_itemOut,_countOut];
_item modelToWorld getPosATL player;
_item setdir (getDir player);
player reveal _item;
// chop down tree

View File

@@ -3,7 +3,7 @@
Usage: spawn player_harvestPlant;
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
*/
private ["_isOk","_i","_objName","_objInfo","_lenInfo","_started","_finished","_animState","_isMedic","_proceed","_counter","_itemOut","_countOut","_tree","_distance2d","_distance3d","_trees","_findNearestTree"];
private ["_isOk","_i","_objName","_started","_finished","_animState","_isMedic","_proceed","_itemOut","_countOut","_tree","_trees","_findNearestTree","_index","_invResult","_treesOutput"];
if(TradeInprogress) exitWith { cutText ["\n\nHarvest already in progress." , "PLAIN DOWN"]; };
TradeInprogress = true;

View File

@@ -112,8 +112,7 @@ if (count(_findNearestRock) >= 1) then {
_item = createVehicle ["WeaponHolder", getPosATL player, [], 1, "CAN_COLLIDE"];
_item addMagazineCargoGlobal [_itemOut,_countOut];
_item modelToWorld getPosATL player;
_item setdir (getDir player);
player reveal _item;
/* break rock

View File

@@ -97,6 +97,9 @@ if ((count _upgrade) > 0) then {
if (_proceed) then {
player playActionNow "Medic";
[player,20,true,(getPosATL player)] spawn player_alertZombies;
_temp_removed_array = [];
_removed_total = 0;
_tobe_removed_total = 0;

View File

@@ -1,33 +1,26 @@
private ["_target","_ent","_rnd","_move","_isZombie"];
_target = _this select 3;
_ent = _target;
private ["_ent","_rnd","_move","_isZombie"];
// remove menu
player removeAction s_player_pzombiesattack;
s_player_pzombiesattack = 1;
if (!isNull cursorTarget) then {
_ent = cursorTarget;
_rnd = (round(random 9)) + 1;
_move = "ZombieStandingAttack" + str(_rnd);
player playMoveNow _move;
_isZombie = _ent isKindOf "zZombie_base";
if(player distance _target < 5) then {
if(player distance _ent < 5) then {
if (_ent isKindOf "Animal" or _isZombie) then {
_ent setDamage 1;
} else {
//["usecBreakLegs",[_target,player]] call broadcastRpcCallAll;
usecBreakLegs = [_target,player];
usecBreakLegs = [_ent,player];
publicVariable "usecBreakLegs";
};
[player,"hit",0,false] call dayz_zombieSpeak;
};
sleep 1;
player switchmove "";
s_player_pzombiesattack = -1;
};

View File

@@ -2,7 +2,7 @@
delete object from db with extra waiting by [VB]AWOL
parameters: _obj
*/
private ["_obj","_objectID","_objectUID","_started","_finished","_animState","_isMedic","_isOk","_proceed","_counter","_limit","_objType","_sfx","_dis","_itemOut","_countOut","_selectedRemoveOutput","_friendlies","_nearestPole","_ownerID","_refundpart","_isWreck","_findNearestPoles","_findNearestPole","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund"];
private ["_obj","_objectID","_objectUID","_started","_finished","_animState","_isMedic","_isOk","_proceed","_counter","_limit","_objType","_sfx","_dis","_itemOut","_countOut","_selectedRemoveOutput","_friendlies","_nearestPole","_ownerID","_refundpart","_isWreck","_findNearestPoles","_findNearestPole","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_radius","_isWreckBuilding"];
if(TradeInprogress) exitWith { cutText ["Remove already in progress." , "PLAIN DOWN"]; };
TradeInprogress = true;
@@ -181,18 +181,26 @@ if (_proceed) then {
cutText ["No parts found.", "PLAIN DOWN"];
};
_ipos = getPosATL player;
if (_ipos select 2 < 2) then {
_ipos = [_ipos select 0,_ipos select 1,0];
};
_radius = 1;
// give refund items
if((count _selectedRemoveOutput) > 0 and !_preventRefund) then {
// Put itemsg
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
{
_itemOut = _x select 0;
_countOut = _x select 1;
for "_x" from 1 to _countOut do {
player addMagazine _itemOut;
if (typeName _countOut == "ARRAY") then {
_countOut = round((random (_countOut select 1)) + (_countOut select 0));
};
_item addMagazineCargoGlobal [_itemOut,_countOut];
} forEach _selectedRemoveOutput;
cutText ["De-constructed parts are now in your inventory.", "PLAIN DOWN"];
player reveal _item;
};
} else {
cutText ["Failed object not longer exists.", "PLAIN DOWN"];

View File

@@ -10,6 +10,7 @@ _unit = _this select 0;
_hit = _this select 1;
_damage = _this select 2;
_unconscious = _unit getVariable ["NORRN_unconscious", false];
_isPZombie = player isKindOf "PZombie_VB";
_source = _this select 3;
_ammo = _this select 4;
_type = [_damage,_ammo] call fnc_usec_damageType;
@@ -148,7 +149,7 @@ if (_damage > 0.4) then { //0.25
};
if (_hitInfection) then {
//Set Infection if not already
if (_unitIsPlayer) then {
if (_unitIsPlayer and !_isPZombie) then {
r_player_infected = true;
player setVariable["USEC_infected",true,true];
};
@@ -166,7 +167,7 @@ if (_damage > 0.4) then { //0.25
};
};
if(!_isHit) then {
_isPZombie = player isKindOf "PZombie_VB";
if(!_isPZombie) then {
//Create Wound
_unit setVariable[_wound,true,true];

View File

@@ -37,7 +37,7 @@ if (_canPickLight and !dayz_hasLight and !_isPZombie) then {
s_player_removeflare = -1;
};
if (s_player_showname < 0) then {
if (s_player_showname < 0 and !_isPZombie) then {
s_player_showname = player addAction ["Display Name (Yes)", "\z\addons\dayz_code\actions\display_name.sqf",true, 5, true, false, "",""];
s_player_showname1 = player addAction ["Display Name (No)", "\z\addons\dayz_code\actions\display_name.sqf",false, 5, true, false, "",""];
};
@@ -46,8 +46,9 @@ if(_isPZombie) then {
if (s_player_callzombies < 0) then {
s_player_callzombies = player addAction ["Raise Horde", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
};
if (s_player_pzombiesattack < 0) then {
s_player_pzombiesattack = player addAction ["Attack", "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf",cursorTarget, 6, true, false, "",""];
if (DZE_PZATTACK) then {
call pz_attack;
DZE_PZATTACK = false;
};
if (s_player_pzombiesvision < 0) then {
s_player_pzombiesvision = player addAction ["Night Vision", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];
@@ -187,7 +188,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
};
if(!_isMan and _ownerID != "0") then {
if(!_isMan and _ownerID != "0" and !(_object isKindOf "Bicycle")) then {
_player_lockUnlock_crtl = true;
};
@@ -480,7 +481,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
s_player_fuelauto2 = -1;
};
// inplace upgrade tool
if ((_cursorTarget isKindOf "ModularItems") or (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") or (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {
if ((s_player_lastTarget select 0) != _cursorTarget) then {
if (s_player_upgrade_build > 0) then {
@@ -498,10 +499,27 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
s_player_upgrade_build = -1;
};
// downgrade system
if((_isDestructable or _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" or _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") and (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_downgrade_build > 0) then {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
};
if (s_player_downgrade_build < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_downgrade_build = player addAction [format["Remove Lock from %1",_text], "\z\addons\dayz_code\actions\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
// inplace maintenance tool
if((_isDestructable or _cursorTarget isKindOf "ModularItems" or _cursorTarget isKindOf "DZE_Housebase") and (damage _cursorTarget > 0.5)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if((_cursorTarget isKindOf "ModularItems" or _cursorTarget isKindOf "DZE_Housebase") and (damage _cursorTarget > 0.5)) then {
if ((s_player_lastTarget select 2) != _cursorTarget) then {
if (s_player_maint_build > 0) then {
player removeAction s_player_maint_build;
s_player_maint_build = -1;
@@ -509,7 +527,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
};
if (s_player_maint_build < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_lastTarget set [2,_cursorTarget];
s_player_maint_build = player addAction [format["Maintain %1",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
@@ -766,6 +784,8 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
s_player_upgrade_build = -1;
player removeAction s_player_maint_build;
s_player_maint_build = -1;
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
player removeAction s_player_towing;
s_player_towing = -1;
player removeAction s_player_fuelauto;

View File

@@ -1,5 +1,5 @@
private ["_iItem","_iClass","_iPos","_radius","_item","_itemTypes","_index","_weights","_cntWeights","_qty","_max","_tQty","_canType","_mags"];
private ["_iItem","_iClass","_iPos","_radius","_item","_itemTypes","_index","_weights","_cntWeights","_qty","_max","_tQty","_canType","_mags","_dateNow"];
_iItem = _this select 0;
_iClass = _this select 1;

View File

@@ -68,6 +68,9 @@ if (!isDedicated) then {
zombie_generate = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_generate.sqf"; //Server compile, used for loiter behaviour
wild_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\wild_spawnZombies.sqf"; //Server compile, used for loiter behaviour
pz_attack = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf";
//
dog_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dog_findTargetAgent.sqf";
@@ -261,6 +264,8 @@ if (!isDedicated) then {
private ["_dikCode", "_handled"];
_dikCode = _this select 1;
_handled = false;
if (_dikCode in[0x58,0x57,0x44,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05]) then {
_handled = true;
};
@@ -280,17 +285,16 @@ if (!isDedicated) then {
//diag_log format["Keypress: %1", _this];
_handled = false;
if (_dikCode in (actionKeys "GetOver")) then {
if (player isKindOf "PZombie_VB") then {
player switchAction "walkf";
_handled = true;
DZE_PZATTACK = true;
} else {
_inBuilding = [player] call fnc_isInsideBuilding;
_nearbyObjects = nearestObjects[getPosATL player, dayz_disallowedVault, 8];
if (!r_player_unconscious and (_inBuilding or (count _nearbyObjects > 0))) then {
[objNull, player, rSwitchMove,"GetOver"] call RE;
player playActionNow "GetOver";
if (count _nearbyObjects > 0) then {
_handled = true;
};
};
};

View File

@@ -241,6 +241,7 @@ dayz_resetSelfActions = {
s_player_fillgen = -1;
s_player_upgrade_build = -1;
s_player_maint_build = -1;
s_player_downgrade_build = -1;
s_player_towing = -1;
};
call dayz_resetSelfActions;
@@ -469,7 +470,7 @@ DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"];
// List of removable items that require crowbar
DZE_isRemovable = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","Plastic_Pole_EP1_DZ"];
DZE_isWreck = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"];
DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame"];
DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck"];
DZE_isNewStorage = ["VaultStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ"];
// These work with just a running generator
@@ -629,5 +630,5 @@ if(!isDedicated) then {
DZE_6 = false;
DZE_cancelBuilding = false;
DZE_PZATTACK = false;
};

View File

@@ -5,6 +5,8 @@ _messTimer = 0;
_lastTemp = dayz_temperatur;
_debug = getMarkerpos "respawn_west";
_isPZombie = player isKindOf "PZombie_VB";
// override vars
_maxDistanceTravel = DZE_teleport select 0;
_maxDistanceDebug = DZE_teleport select 1;
@@ -110,7 +112,7 @@ while {true} do {
};
//can get nearby infection
if (!r_player_infected) then {
if (!r_player_infected and !_isPZombie) then {
//Infectionriskstart
if (dayz_temperatur < ((80 / 100) * (dayz_temperaturnormal - dayz_temperaturmin) + dayz_temperaturmin)) then { //TeeChange
_listTalk = _mylastPos nearEntities ["CAManBase",8];

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -351,6 +351,53 @@ spawn_roadblocks = {
};
spawn_mineveins = {
private ["_position","_veh","_istoomany","_marker","_spawnveh","_positions"];
if (isDedicated) then {
_position = [getMarkerPos "center",0,(HeliCrashArea*0.75),10,0,2000,0] call BIS_fnc_findSafePos;
if ((count _position) == 2) then {
_positions = selectBestPlaces [_position, 500, "(1 + hills) * (1 - sea)", 10, 5];
_position = (_positions call BIS_fnc_selectRandom) select 0;
// Get position with ground
_istoomany = _position nearObjects ["All",5];
if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many at " + str(_position)); };
//if(DZEdebug) then {
_marker = createMarker [str(_position) , _position];
_marker setMarkerShape "ICON";
_marker setMarkerType "DOT";
_spawnveh = ["Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Gold_Vein_DZE"] call BIS_fnc_selectRandom;
_marker setMarkerText str(_spawnveh);
// };
//diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh enableSimulation false;
// Randomize placement a bit
_veh setDir round(random 360);
_veh setpos _position;
_veh setVariable ["ObjectID","1",true];
};
};
};
if(isnil "DynamicVehicleDamageLow") then {
DynamicVehicleDamageLow = 0;
};

View File

@@ -55,6 +55,9 @@ if(isnil "MaxHeliCrashes") then {
if(isnil "MaxDynamicDebris") then {
MaxDynamicDebris = 100;
};
if(isnil "MaxMineVeins") then {
MaxMineVeins = 100;
};
// Custon Configs End
if (isServer and isNil "sm_done") then {
@@ -250,10 +253,10 @@ if (isServer and isNil "sm_done") then {
if (!((typeOf _object) in dayz_allowedObjects)) then {
_object setvelocity [0,0,1];
//_object setvelocity [0,0,1];
_object call fnc_veh_ResetEH;
if(_ownerID != "0") then {
if(_ownerID != "0" and !(_object isKindOf "Bicycle")) then {
_object setvehiclelock "locked";
};
@@ -322,6 +325,12 @@ if (isServer and isNil "sm_done") then {
[] spawn spawn_roadblocks;
};
//(1 - forest) * (1 + hills) * (1 - sea)
diag_log ("HIVE: Spawning # of Veins: " + str(MaxMineVeins));
for "_x" from 1 to MaxMineVeins do {
[] spawn spawn_mineveins;
};
if(isnil "dayz_MapArea") then {
dayz_MapArea = 10000;
};

View File

@@ -45,6 +45,14 @@ class CfgSFX {
Generator1[] = {"\dayz_sfx\effects\generator1",db+10,1,200,1,0,0,0};
Empty[] = {"",0,0,0,0,0,0,0};
};
class DestrMine {
sounds[] = {"DestrMine1","DestrMine2"};
name = "Mine destruction";
DestrMine1[] = {"\ca\BUILDINGS\sound\building2_destroy", 3.16228, 1, 150, 1, 60, 120, 240};
DestrMine2[] = {"\dayz_sfx\effects\vein_wreck.ogg", 3.16228, 1, 150, 1, 60, 120, 240};
empty[] = {"", 0, 0, 0, 0, 1, 5, 20};
}
};
#include "CfgSounds.hpp"

Binary file not shown.

View File

@@ -1,4 +1,4 @@
5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];"
5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"if (_ammo > 0) then {\nplayer removeMagazines \"Quiver\";\nplayer addMagazine [\"Quiver\", _ammo];" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\n\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" !"if (typeName _countOut == "ARRAY") then {\n_countOut = round((random (_countOut select 1)) + (_countOut select 0));\n};\n_item addMagazineCargoGlobal [_itemOut,_countOut];\n} forEach _selectedRemoveOutput;"
5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n"
5 "addMagazine _p" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};"
5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};"