mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-14 20:22:56 +03:00
File diff suppressed because it is too large
Load Diff
@@ -128,12 +128,12 @@ class CfgMagazines {
|
|||||||
};
|
};
|
||||||
class Crafting1
|
class Crafting1
|
||||||
{
|
{
|
||||||
text = "Remove 1 10oz Gold";
|
text = "Add 10 10oz Gold";
|
||||||
script = "spawn player_craftItem1;";
|
script = "spawn player_craftItem1;";
|
||||||
neednearby[] = {};
|
neednearby[] = {};
|
||||||
requiretools[] = {};
|
requiretools[] = {};
|
||||||
output[] = {{"ItemGoldBar10oz",1},{"ItemBriefcaseEmpty",1}};
|
output[] = {{"ItemBriefcase100oz",1}};
|
||||||
input[] = {{"ItemBriefcase10oz",1}};
|
input[] = {{"ItemBriefcaseEmpty",1},{"ItemGoldBar10oz",10}};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -1059,6 +1059,49 @@ class CfgMagazines {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class bulk_ItemTankTrap: bulk
|
||||||
|
{
|
||||||
|
descriptionShort = "12 x Tank Trap";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class CreateMags
|
||||||
|
{
|
||||||
|
text = "Open %1";
|
||||||
|
script = "spawn player_loadCrate;";
|
||||||
|
output[] = {"ItemTankTrap",12,"magazine"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class bulk_ItemWire: bulk
|
||||||
|
{
|
||||||
|
descriptionShort = "12 x Wire Kit";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class CreateMags
|
||||||
|
{
|
||||||
|
text = "Open %1";
|
||||||
|
script = "spawn player_loadCrate;";
|
||||||
|
output[] = {"ItemWire",12,"magazine"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class bulk_PartGeneric: bulk
|
||||||
|
{
|
||||||
|
descriptionShort = "12 x Scrap Metal";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class CreateMags
|
||||||
|
{
|
||||||
|
text = "Open %1";
|
||||||
|
script = "spawn player_loadCrate;";
|
||||||
|
output[] = {"PartGeneric",12,"magazine"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
class bulk_17Rnd_9x19_glock17: bulk
|
class bulk_17Rnd_9x19_glock17: bulk
|
||||||
{
|
{
|
||||||
descriptionShort = "12 x 17Rnd_9x19_glock17";
|
descriptionShort = "12 x 17Rnd_9x19_glock17";
|
||||||
@@ -1090,7 +1133,6 @@ class CfgMagazines {
|
|||||||
script = "spawn player_build;";
|
script = "spawn player_build;";
|
||||||
require[] = {"ItemToolbox"};
|
require[] = {"ItemToolbox"};
|
||||||
create = "WorkBench_DZ";
|
create = "WorkBench_DZ";
|
||||||
needNearby[] = {"none"};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -1513,7 +1555,6 @@ class CfgMagazines {
|
|||||||
script = "spawn player_build;";
|
script = "spawn player_build;";
|
||||||
require[] = {"ItemToolbox"};
|
require[] = {"ItemToolbox"};
|
||||||
create = "Generator_DZ";
|
create = "Generator_DZ";
|
||||||
needNearby[] = {"dayz_fuelpumparray"};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -1534,7 +1575,6 @@ class CfgMagazines {
|
|||||||
script = "spawn player_build;";
|
script = "spawn player_build;";
|
||||||
require[] = {"ItemToolbox"};
|
require[] = {"ItemToolbox"};
|
||||||
create = "FuelPump_DZ";
|
create = "FuelPump_DZ";
|
||||||
needNearby[] = {"dayz_fuelsources"};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -1618,7 +1658,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {};
|
neednearby[] = {};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"stick_fence_kit",1}};
|
output[] = {{"stick_fence_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"PartWoodPile",6}};
|
input[] = {{"PartWoodPile",6}};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1657,7 +1697,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"sawmil"};
|
neednearby[] = {"sawmil"};
|
||||||
requiretools[] = {"ItemToolbox"};
|
requiretools[] = {"ItemToolbox"};
|
||||||
output[] = {{"bulk_empty",1}};
|
output[] = {{"bulk_empty",1}};
|
||||||
input[] = {{"PartWoodLumber",4},{"PartGeneric",1}};
|
input[] = {{"PartWoodLumber",2},{"PartGeneric",1}};
|
||||||
|
|
||||||
};
|
};
|
||||||
class Crafting2
|
class Crafting2
|
||||||
@@ -1705,24 +1745,6 @@ class CfgMagazines {
|
|||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class PartWoodShed: CA_Magazine
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
count = 1;
|
|
||||||
type = 256;
|
|
||||||
displayName = "Wooden Shack";
|
|
||||||
model = "\z\addons\dayz_epoch\models\supply_crate.p3d";
|
|
||||||
picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa";
|
|
||||||
descriptionShort = "Wooden Shack: A crafted object that holds some items/weapons/backpacks.";
|
|
||||||
class ItemActions {
|
|
||||||
class Build {
|
|
||||||
text = "Build Wood Shack";
|
|
||||||
script = "spawn player_build;";
|
|
||||||
require[] = {"ItemToolbox"};
|
|
||||||
create = "WoodShack_DZ";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class PartVRotor: CA_Magazine
|
class PartVRotor: CA_Magazine
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
@@ -1771,7 +1793,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {};
|
neednearby[] = {};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"ItemCanvas",1}};
|
output[] = {{"ItemCanvas",1}};
|
||||||
input[] = {{"SkinBase",4}};
|
input[] = {{"SkinBase",2}};
|
||||||
};
|
};
|
||||||
class Crafting1
|
class Crafting1
|
||||||
{
|
{
|
||||||
@@ -1780,7 +1802,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {};
|
neednearby[] = {};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"ItemBandage",2}};
|
output[] = {{"ItemBandage",2}};
|
||||||
input[] = {{"SkinBase",1}};
|
input[] = {{"SkinBase",1},{"ItemTrashToiletpaper",1}};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -2062,7 +2084,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"workshop"};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"desert_net_kit",1}};
|
output[] = {{"desert_net_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"ItemTent",4},{"ItemPole",4}};
|
input[] = {{"bulk_empty",1},{"ItemTent",2},{"ItemPole",2}};
|
||||||
};
|
};
|
||||||
class Crafting1
|
class Crafting1
|
||||||
{
|
{
|
||||||
@@ -2071,7 +2093,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"workshop"};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"forest_net_kit",1}};
|
output[] = {{"forest_net_kit",1}};
|
||||||
input[] = {{"ItemTent",4},{"ItemPole",4}};
|
input[] = {{"bulk_empty",1},{"ItemTent",2},{"ItemPole",2}};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -2097,7 +2119,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"workshop"};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"desert_net_kit",1}};
|
output[] = {{"desert_net_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"ItemTent",4},{"ItemPole",4}};
|
input[] = {{"bulk_empty",1},{"ItemTent",2},{"ItemPole",2}};
|
||||||
};
|
};
|
||||||
class Crafting1
|
class Crafting1
|
||||||
{
|
{
|
||||||
@@ -2106,7 +2128,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"workshop"};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"forest_net_kit",1}};
|
output[] = {{"forest_net_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"ItemTent",4},{"ItemPole",4}};
|
input[] = {{"bulk_empty",1},{"ItemTent",2},{"ItemPole",2}};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -2131,7 +2153,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"workshop"};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"desert_net_kit",1}};
|
output[] = {{"desert_net_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"ItemTent",4},{"ItemPole",4}};
|
input[] = {{"bulk_empty",1},{"ItemTent",2},{"ItemPole",2}};
|
||||||
};
|
};
|
||||||
class Crafting1
|
class Crafting1
|
||||||
{
|
{
|
||||||
@@ -2140,7 +2162,7 @@ class CfgMagazines {
|
|||||||
neednearby[] = {"workshop"};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemToolbox","ItemKnife"};
|
requiretools[] = {"ItemToolbox","ItemKnife"};
|
||||||
output[] = {{"forest_net_kit",1}};
|
output[] = {{"forest_net_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"ItemTent",4},{"ItemPole",4}};
|
input[] = {{"bulk_empty",1},{"ItemTent",2},{"ItemPole",2}};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -2174,7 +2196,7 @@ class CfgMagazines {
|
|||||||
{
|
{
|
||||||
text = "Craft Sandbag Nest";
|
text = "Craft Sandbag Nest";
|
||||||
script = "spawn player_craftItem1;";
|
script = "spawn player_craftItem1;";
|
||||||
neednearby[] = {};
|
neednearby[] = {"workshop"};
|
||||||
requiretools[] = {"ItemEtool","ItemToolbox"};
|
requiretools[] = {"ItemEtool","ItemToolbox"};
|
||||||
output[] = {{"sandbag_nest_kit",1}};
|
output[] = {{"sandbag_nest_kit",1}};
|
||||||
input[] = {{"bulk_empty",1},{"ItemSandbag",4},{"PartWoodPlywood",2},{"PartWoodLumber",4}};
|
input[] = {{"bulk_empty",1},{"ItemSandbag",4},{"PartWoodPlywood",2},{"PartWoodLumber",4}};
|
||||||
@@ -2200,7 +2222,7 @@ class CfgMagazines {
|
|||||||
count = 1;
|
count = 1;
|
||||||
type = 256;
|
type = 256;
|
||||||
displayName = "H-barrier cube";
|
displayName = "H-barrier cube";
|
||||||
model = "\dayz_equip\models\sandbags.p3d";
|
model = "\dayz_equip\models\sandbags.p3d"; // TODO model
|
||||||
picture = "\dayz_equip\textures\equip_sandbag_ca.paa";
|
picture = "\dayz_equip\textures\equip_sandbag_ca.paa";
|
||||||
descriptionShort = "Hesco berrier: A buildable object that is used for fortification purposes.";
|
descriptionShort = "Hesco berrier: A buildable object that is used for fortification purposes.";
|
||||||
|
|
||||||
@@ -2211,6 +2233,35 @@ class CfgMagazines {
|
|||||||
require[] = {"ItemEtool"};
|
require[] = {"ItemEtool"};
|
||||||
create = "Land_HBarrier1_DZ";
|
create = "Land_HBarrier1_DZ";
|
||||||
};
|
};
|
||||||
|
class Crafting
|
||||||
|
{
|
||||||
|
text = "Craft Triple H-barrier";
|
||||||
|
script = "spawn player_craftItem;";
|
||||||
|
neednearby[] = {};
|
||||||
|
requiretools[] = {"ItemEtool","ItemToolbox"};
|
||||||
|
output[] = {{"ItemSandbagExLarge",1}};
|
||||||
|
input[] = {{"ItemSandbagLarge",3}};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class ItemSandbagExLarge : CA_Magazine {
|
||||||
|
scope = public;
|
||||||
|
count = 1;
|
||||||
|
type = 256;
|
||||||
|
displayName = "3 x H-barrier cube";
|
||||||
|
model = "\dayz_equip\models\sandbags.p3d"; // TODO model
|
||||||
|
picture = "\dayz_equip\textures\equip_sandbag_ca.paa";
|
||||||
|
descriptionShort = "Hesco berrier: A buildable object that is used for fortification purposes.";
|
||||||
|
|
||||||
|
class ItemActions {
|
||||||
|
class Build {
|
||||||
|
text = "Build Triple H-barrier";
|
||||||
|
script = "spawn player_build;";
|
||||||
|
require[] = {"ItemEtool"};
|
||||||
|
create = "Land_HBarrier3_DZ";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2811,8 +2862,25 @@ class CfgMagazines {
|
|||||||
picture = "\z\addons\dayz_communityassets\pictures\equip_can_unlabeled_clean_full_ca.paa";
|
picture = "\z\addons\dayz_communityassets\pictures\equip_can_unlabeled_clean_full_ca.paa";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// new DZE harvested food
|
||||||
|
class FoodPumpkin : FoodEdible {
|
||||||
|
scope = public;
|
||||||
|
count = 1;
|
||||||
|
bloodRegen = 100;
|
||||||
|
displayName = "Pumkin";
|
||||||
|
descriptionShort = "Pumkin";
|
||||||
|
model = "z\addons\dayz_communityassets\models\pistachio.p3d"; // TODO: model + icon
|
||||||
|
picture = "\z\addons\dayz_communityassets\pictures\equip_pistachios_CA.paa";
|
||||||
|
};
|
||||||
|
class FoodSunFlowerSeed : FoodEdible {
|
||||||
|
scope = public;
|
||||||
|
count = 1;
|
||||||
|
bloodRegen = 100;
|
||||||
|
displayName = "Bag of Sunflower Seeds";
|
||||||
|
descriptionShort = "Bag of Sunflower Seeds";
|
||||||
|
model = "z\addons\dayz_communityassets\models\pistachio.p3d"; // TODO: model + icon
|
||||||
|
picture = "\z\addons\dayz_communityassets\pictures\equip_pistachios_CA.paa";
|
||||||
|
};
|
||||||
|
|
||||||
class TrashTinCan: HandGrenade
|
class TrashTinCan: HandGrenade
|
||||||
{
|
{
|
||||||
@@ -2989,6 +3057,18 @@ class CfgMagazines {
|
|||||||
type = 256;
|
type = 256;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ItemKiloHemp : CA_Magazine {
|
||||||
|
scope = public;
|
||||||
|
count = 1;
|
||||||
|
displayName = "Kilo of Hemp";
|
||||||
|
descriptionShort = "Kilo of Hemp";
|
||||||
|
model = "z\addons\dayz_communityassets\models\toiletpaper.p3d"; // TODO: model + icon
|
||||||
|
picture = "\z\addons\dayz_communityassets\pictures\equip_toiletpaper_CA.paa";
|
||||||
|
type = 256;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class 8Rnd_B_Beneli_74Slug;
|
class 8Rnd_B_Beneli_74Slug;
|
||||||
class 8Rnd_B_Beneli_Pellets;
|
class 8Rnd_B_Beneli_Pellets;
|
||||||
|
|
||||||
160
SQF/dayz_code/Configs/CfgVehicles/Bags.hpp
Normal file
160
SQF/dayz_code/Configs/CfgVehicles/Bags.hpp
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
class ReammoBox_EP1; // External class reference
|
||||||
|
class Bag_Base_EP1 : ReammoBox_EP1 {
|
||||||
|
scope = private;
|
||||||
|
|
||||||
|
class TransportMagazines {};
|
||||||
|
|
||||||
|
class TransportWeapons {};
|
||||||
|
transportMaxMagazines = 0;
|
||||||
|
transportMaxWeapons = 0;
|
||||||
|
isbackpack = 1;
|
||||||
|
reversed = true;
|
||||||
|
vehicleClass = "Backpacks";
|
||||||
|
|
||||||
|
class DestructionEffects {};
|
||||||
|
|
||||||
|
class eventHandlers {
|
||||||
|
init = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_Patrol_Pack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Patrol Pack (coyote)";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_US_ASSAULT_COYOTE_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_us_assault_Coyote.p3d";
|
||||||
|
transportMaxWeapons = 1;
|
||||||
|
transportMaxMagazines = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_Assault_Pack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Assault Pack (ACU)";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_US_ASSAULT_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapSize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_us_assault.p3d";
|
||||||
|
transportMaxWeapons = 1;
|
||||||
|
transportMaxMagazines = 12;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_Czech_Vest_Puch: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
displayname = "Czech Vest Pouch";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_acr_small.p3d";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_ACR_small_CA.paa";
|
||||||
|
scope = 2;
|
||||||
|
transportmaxmagazines = 12;
|
||||||
|
transportmaxweapons = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_ALICE_Pack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "ALICE Pack";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_TK_ALICE_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_tk_alice.p3d";
|
||||||
|
transportMaxWeapons = 2;
|
||||||
|
transportMaxMagazines = 20;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_TK_Assault_Pack_EP1 : Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Survival ACU";
|
||||||
|
mapSize = 2;
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_CIVIL_ASSAULT_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_civil_assault.p3d";
|
||||||
|
transportMaxWeapons = 2;
|
||||||
|
transportMaxMagazines = 22;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_British_ACU : Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "British Assault Pack";
|
||||||
|
mapSize = 2;
|
||||||
|
model = "\ca\weapons_baf\Backpack_Small_BAF";\
|
||||||
|
picture = "\ca\weapons_baf\data\UI\backpack_BAF_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
transportMaxWeapons = 3;
|
||||||
|
transportMaxMagazines = 30;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_CivilBackpack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Czech Backpack";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_ACR_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_acr.p3d";
|
||||||
|
transportMaxWeapons = 4;
|
||||||
|
transportMaxMagazines = 40;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_Backpack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Backpack (coyote)";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_US_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_us.p3d";
|
||||||
|
transportMaxWeapons = 5;
|
||||||
|
transportMaxMagazines = 50;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DZ_LargeGunBag_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Large Gunbag";
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\StaticX.p3d";
|
||||||
|
picture = "\ca\weapons_e\data\icons\staticX_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
transportMaxWeapons = 6;
|
||||||
|
transportMaxMagazines = 60;
|
||||||
|
};
|
||||||
|
class DZ_GunBag_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Gunbag";
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\StaticY.p3d";
|
||||||
|
picture = "\ca\weapons_e\data\icons\staticY_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
transportMaxWeapons = 3;
|
||||||
|
transportMaxMagazines = 35;
|
||||||
|
};
|
||||||
|
class DZ_CompactPack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Compact Pack";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_RPG_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapsize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_rpg.p3d";
|
||||||
|
transportMaxWeapons = 2;
|
||||||
|
transportMaxMagazines = 25;
|
||||||
|
};
|
||||||
|
class DZ_TerminalPack_EP1: Bag_Base_EP1
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Terminal Pack";
|
||||||
|
picture = "\ca\weapons_e\data\icons\backpack_US_ASSAULT_CA.paa";
|
||||||
|
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
||||||
|
mapSize = 2;
|
||||||
|
model = "\ca\weapons_e\AmmoBoxes\backpack_us_AUV";
|
||||||
|
transportMaxWeapons = 1;
|
||||||
|
transportMaxMagazines = 15;
|
||||||
|
};
|
||||||
252
SQF/dayz_code/Configs/CfgVehicles/Females/females.hpp
Normal file
252
SQF/dayz_code/Configs/CfgVehicles/Females/females.hpp
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
// female changes
|
||||||
|
class Soldier_Bodyguard_M4_PMC;
|
||||||
|
class SurvivorW2_DZ: Soldier_Bodyguard_M4_PMC
|
||||||
|
{
|
||||||
|
displayName = "$STR_CHAR_1";
|
||||||
|
side = 1;
|
||||||
|
weapons[] = {"Throw","Put"};
|
||||||
|
model = "\dayz\characters\annie_original";
|
||||||
|
magazines[] = {};
|
||||||
|
respawnWeapons[] = {"Throw","Put"};
|
||||||
|
respawnMagazines[] = {};
|
||||||
|
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
|
||||||
|
canHideBodies = 1;
|
||||||
|
identityTypes[] = {"Language_W_EN_EP1","Woman"};
|
||||||
|
languages[] = {"EN"};
|
||||||
|
class TalkTopics
|
||||||
|
{
|
||||||
|
core = "Core_E";
|
||||||
|
core_en = "Core_Full_E";
|
||||||
|
};
|
||||||
|
genericNames = "EnglishWomen";
|
||||||
|
class SpeechVariants
|
||||||
|
{
|
||||||
|
class Default
|
||||||
|
{
|
||||||
|
speechSingular[] = {"veh_woman"};
|
||||||
|
speechPlural[] = {"veh_women"};
|
||||||
|
};
|
||||||
|
class EN: Default{};
|
||||||
|
class CZ
|
||||||
|
{
|
||||||
|
speechSingular[] = {"veh_woman_CZ"};
|
||||||
|
speechPlural[] = {"veh_women_CZ"};
|
||||||
|
};
|
||||||
|
class CZ_Akuzativ
|
||||||
|
{
|
||||||
|
speechSingular[] = {"veh_woman_CZ4P"};
|
||||||
|
speechPlural[] = {"veh_women_CZ4P"};
|
||||||
|
};
|
||||||
|
class RU
|
||||||
|
{
|
||||||
|
speechSingular[] = {"veh_woman_RU"};
|
||||||
|
speechPlural[] = {"veh_women_RU"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
TextPlural = "Women";
|
||||||
|
TextSingular = "Woman";
|
||||||
|
nameSound = "veh_woman";
|
||||||
|
class HitDamage
|
||||||
|
{
|
||||||
|
class Group0
|
||||||
|
{
|
||||||
|
hitSounds[] = {
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-01",0.177828,1,120 },0.2 },
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-02",0.177828,1,120 },0.2 },
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-03",0.177828,1,120 },0.2 },
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-04",0.177828,1,120 },0.1 },
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-05",0.177828,1,120 },0.1 },
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-06",0.177828,1,120 },0.1 },
|
||||||
|
{
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-hit-07",0.177828,1,120 },0.1 }};
|
||||||
|
damageSounds[] = {
|
||||||
|
{ "body",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-01",0.0562341,1,120,0.25,5,6,10 } },
|
||||||
|
{ "body",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-02",0.0562341,1,120,0.25,5,7.5,10 } },
|
||||||
|
{ "body",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-03",0.0562341,1,120,0.25,5,6,10 } },
|
||||||
|
{ "body",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-04",0.0562341,1,120,0.25,5,7.5,10 } },
|
||||||
|
{ "hands",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-07-arm",0.0562341,1,120,0.5,0,2.5,5 } },
|
||||||
|
{ "hands",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-08-arm",0.0562341,1,120,0.5,0,2.5,5 } },
|
||||||
|
{ "legs",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-05-leg",0.0562341,1,120,0.5,0,1,2 } },
|
||||||
|
{ "legs",
|
||||||
|
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-06-leg",0.0562341,1,120,0.5,0,1,2 } }};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class SoundBreath
|
||||||
|
{
|
||||||
|
breath0[] = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-01",0.0562341,1,8 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-02",0.0562341,1,8 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-03",0.0562341,1,8 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-04",0.125893,1,8 },0.25 } },
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-01",0.0562341,1,15 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-02",0.0562341,1,15 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-03",0.0562341,1,15 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-04",0.125893,1,15 },0.25 } },
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-01",0.1,1,20 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-02",0.1,1,20 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-03",0.1,1,20 },0.25 },
|
||||||
|
{
|
||||||
|
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-04",0.1,1,20 },0.25 } }};
|
||||||
|
};
|
||||||
|
class SoundGear
|
||||||
|
{
|
||||||
|
primary[] = {
|
||||||
|
{ "walk",
|
||||||
|
{ "",0.00177828,1,10 } },
|
||||||
|
{ "run",
|
||||||
|
{ "",0.00316228,1,15 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "",0.00562341,1,20 } }};
|
||||||
|
secondary[] = {
|
||||||
|
{ "walk",
|
||||||
|
{ "",0.00177828,1,10 } },
|
||||||
|
{ "run",
|
||||||
|
{ "",0.00316228,1,10 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "",0.00562341,1,10 } }};
|
||||||
|
};
|
||||||
|
class SoundEquipment
|
||||||
|
{
|
||||||
|
soldier[] = {
|
||||||
|
{ "walk",
|
||||||
|
{ "",0.00177828,1,13 } },
|
||||||
|
{ "run",
|
||||||
|
{ "",0.00316228,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "",0.00398107,1,25 } }};
|
||||||
|
civilian[] = {
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-01",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-02",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-03",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-04",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-05",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-06",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-07",0.177828,1,8 } },
|
||||||
|
{ "walk",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-08",0.177828,1,8 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-01",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-02",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-03",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-04",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-05",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-06",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-07",0.1,1,15 } },
|
||||||
|
{ "run",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-08",0.1,1,15 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-01",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-02",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-03",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-04",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-05",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-06",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-07",0.0562341,1,20 } },
|
||||||
|
{ "sprint",
|
||||||
|
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-08",0.0562341,1,20 } }};
|
||||||
|
};
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\baker_co.paa"};
|
||||||
|
};
|
||||||
|
class BanditW1_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
side = 1;
|
||||||
|
model = "\dayz\characters\woman_bandit";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\baker_co.paa"};
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
class FemaleSoldier1_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
side = 1;
|
||||||
|
model = "\z\addons\dayz_epoch\models\female_soldier";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\female_soldier_body.paa"};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
class BanditW2_DZ: BanditW1_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\european_woman_01_co.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorW3_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\european_woman_01_co.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorWpink_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\GirlyGirl.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorWsequisha_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\sequisha_co.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorWsequishaD_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\sequishaD_co.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorWcombat_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\CombatGirl.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorWdesert_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\DesertGirl.paa"};
|
||||||
|
};
|
||||||
|
class SurvivorWurban_DZ: SurvivorW2_DZ
|
||||||
|
{
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\UrbanGirl.paa"};
|
||||||
|
};
|
||||||
154
SQF/dayz_code/Configs/CfgVehicles/Zeds/NewZeds.hpp
Normal file
154
SQF/dayz_code/Configs/CfgVehicles/Zeds/NewZeds.hpp
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
class zZombie_new_Base : zZombie_Base {
|
||||||
|
scope = public;
|
||||||
|
glassesEnabled = 0;
|
||||||
|
identityTypes[] = {"Zombie3"};
|
||||||
|
class TalkTopics {};
|
||||||
|
languages[] = {};
|
||||||
|
//Armor * hitpointArmor = Total Armor
|
||||||
|
armor = 10;
|
||||||
|
|
||||||
|
class Eventhandlers {
|
||||||
|
init = "_this call zombie_initialize;";
|
||||||
|
local = "if(_this select 1) then {[(position (_this select 0)),(_this select 0),true] execFSM '\z\AddOns\dayz_code\system\zombie_agent.fsm'};";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitPoints {
|
||||||
|
class HitHead {
|
||||||
|
armor = 0.1;
|
||||||
|
material = -1;
|
||||||
|
name = "head_hit";
|
||||||
|
passThrough = true;
|
||||||
|
memoryPoint = "pilot";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitBody : HitHead {
|
||||||
|
armor = 2;
|
||||||
|
name = "body";
|
||||||
|
memoryPoint = "aimPoint";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitSpine : HitHead {
|
||||||
|
armor = 2;
|
||||||
|
name = "Spine2";
|
||||||
|
memoryPoint = "aimPoint";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitHands : HitHead {
|
||||||
|
armor = 0.5;
|
||||||
|
material = -1;
|
||||||
|
name = "hands";
|
||||||
|
passThrough = true;
|
||||||
|
};
|
||||||
|
class HitLArm : HitHands {
|
||||||
|
name = "LeftArm";
|
||||||
|
memoryPoint = "lelbow";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRArm : HitHands {
|
||||||
|
name = "RightArm";
|
||||||
|
memoryPoint = "relbow";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLForeArm : HitHands {
|
||||||
|
name = "LeftForeArm";
|
||||||
|
memoryPoint = "lwrist";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRForeArm : HitHands {
|
||||||
|
name = "RightForeArm";
|
||||||
|
memoryPoint = "rwrist";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLHand : HitHands {
|
||||||
|
name = "LeftHand";
|
||||||
|
memoryPoint = "LeftHandMiddle1";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRHand : HitHands {
|
||||||
|
name = "RightHand";
|
||||||
|
memoryPoint = "RightHandMiddle1";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLegs : HitHands {
|
||||||
|
armor = 10;
|
||||||
|
name = "legs";
|
||||||
|
memoryPoint = "pelvis";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLLeg : HitHands {
|
||||||
|
name = "LeftLeg";
|
||||||
|
memoryPoint = "lknee";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLLegUp : HitHands {
|
||||||
|
name = "LeftUpLeg";
|
||||||
|
memoryPoint = "lfemur";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRLeg : HitHands {
|
||||||
|
name = "RightLeg";
|
||||||
|
memoryPoint = "rknee";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRLegUp : HitHands {
|
||||||
|
name = "RightUpLeg";
|
||||||
|
memoryPoint = "rfemur";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class z_newBase : zZombie_new_Base {
|
||||||
|
zombieLoot = "civilian";
|
||||||
|
model = "\ca\characters2\civil\Villager\Villager";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_co.paa"};
|
||||||
|
|
||||||
|
class Wounds {
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters\heads\male\defaulthead\data\hhl.rvmat", "ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat", "ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat", "ca\characters2\Civil\Villager\Data\villager.RVmat", "ca\characters2\Civil\Villager\Data\villager_w1.RVmat", "ca\characters2\Civil\Villager\Data\villager_w2.RVmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class z_new_villager2 : z_newBase {
|
||||||
|
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\villager\villager_v2_co.paa"};
|
||||||
|
};
|
||||||
|
class z_new_villager3 : z_newBase {
|
||||||
|
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\villager\villager_v3_co.paa"};
|
||||||
|
};
|
||||||
|
class z_new_villager4 : z_newBase {
|
||||||
|
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\villager\villager_v4_co.paa"};
|
||||||
|
};
|
||||||
|
|
||||||
|
class z_new_worker_base : zZombie_new_Base {
|
||||||
|
zombieLoot = "civilian";
|
||||||
|
model = "\Ca\characters_E\Overall\Overall";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_4_co.paa"};
|
||||||
|
|
||||||
|
class Wounds {
|
||||||
|
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"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class z_new_worker2 : z_new_worker_base {
|
||||||
|
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\overall\overall_2_co.paa"};
|
||||||
|
};
|
||||||
|
class z_new_worker3 : z_new_worker_base {
|
||||||
|
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\overall\Overall_3_co.paa"};
|
||||||
|
};
|
||||||
|
class z_new_worker4 : z_new_worker_base {
|
||||||
|
hiddenSelectionsTextures[] = {"z\addons\dayz_communityassets\zeds\overall\Overall_4_co.paa"};
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
class z_policeman;
|
||||||
|
class z_new_policeman : z_policeman {
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_communityassets\zeds\villager\villager_co.paa"};
|
||||||
|
};
|
||||||
|
class z_new_policeman : z_policeman {
|
||||||
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_communityassets\zeds\policeman\policeman_co.paa"};
|
||||||
|
|
||||||
|
class Eventhandlers {
|
||||||
|
init = "(_this select 0) setObjectTexture [0, '\z\addons\dayz_communityassets\zeds\policeman\policeman_co.paa'];";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
117
SQF/dayz_code/Configs/CfgVehicles/Zeds/PlayerZeds.hpp
Normal file
117
SQF/dayz_code/Configs/CfgVehicles/Zeds/PlayerZeds.hpp
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
class PZombie_VB: Citizen1
|
||||||
|
{
|
||||||
|
side = 1;
|
||||||
|
glassesEnabled = 0;
|
||||||
|
moves = "CfgMovesZombie";
|
||||||
|
gestures = "CfgGesturesMale";
|
||||||
|
|
||||||
|
weapons[] = {};
|
||||||
|
weaponSlots = "";
|
||||||
|
backpack = "";
|
||||||
|
magazines[] = {};
|
||||||
|
respawnWeapons[] = {};
|
||||||
|
respawnMagazines[] = {};
|
||||||
|
|
||||||
|
faceType = "ZFaces";
|
||||||
|
identityTypes[] = {"Zombie1","Zombie2"};
|
||||||
|
extCameraPosition[] = {0,1.5,-9};
|
||||||
|
|
||||||
|
canHideBodies = 0;
|
||||||
|
};
|
||||||
|
class pz_policeman: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\ca\characters2\civil\Policeman\Policeman";
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters2\civil\policeman\data\policeman.rvmat","ca\characters2\civil\policeman\data\w1_policeman.rvmat","ca\characters2\civil\policeman\data\w2_policeman.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class pz_suit1: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\ca\characters2\civil\Functionary\Functionary";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters2\civil\functionary\data\functionary_co.paa"};
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters2\civil\Functionary\data\Functionary.rvmat","ca\characters2\civil\Functionary\data\W1_Functionary.rvmat","ca\characters2\civil\Functionary\data\W2_Functionary.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class pz_suit2: pz_suit1
|
||||||
|
{
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters2\civil\functionary\data\functionary2_co.paa"};
|
||||||
|
};
|
||||||
|
class pz_worker1: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\Ca\characters_E\Overall\Overall";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
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"};
|
||||||
|
};
|
||||||
|
class pz_worker2: pz_worker1
|
||||||
|
{
|
||||||
|
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_3_co.paa"};
|
||||||
|
};
|
||||||
|
class pz_worker3: pz_worker1
|
||||||
|
{
|
||||||
|
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_2_co.paa"};
|
||||||
|
};
|
||||||
|
|
||||||
|
class pz_doctor: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\ca\characters2\civil\Doctor\Doctor";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\dayz\textures\clothes\doctor_co.paa"};
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters2\civil\doctor\data\doctor.rvmat","ca\characters2\civil\doctor\data\W1_doctor.rvmat","ca\characters2\civil\doctor\data\W2_doctor.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class pz_teacher: pz_doctor
|
||||||
|
{
|
||||||
|
hiddenSelectionsTextures[] = {"\dayz\textures\clothes\teacher_co.paa"};
|
||||||
|
};
|
||||||
|
class pz_hunter: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\ca\characters2\civil\Woodlander\Woodlander";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters2\civil\Woodlander\data\Woodlander.rvmat","ca\characters2\civil\Woodlander\data\W1_Woodlander.rvmat","ca\characters2\civil\Woodlander\data\W2_Woodlander.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class pz_villager1: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\ca\characters2\civil\Villager\Villager";
|
||||||
|
hiddenSelections[] = {"Camo"};
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_co.paa"};
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters2\Civil\Villager\Data\villager.RVmat","ca\characters2\Civil\Villager\Data\villager_w1.RVmat","ca\characters2\Civil\Villager\Data\villager_w2.RVmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class pz_villager2: pz_villager1
|
||||||
|
{
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_v2_co.paa"};
|
||||||
|
};
|
||||||
|
class pz_villager3: pz_villager1
|
||||||
|
{
|
||||||
|
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_v3_co.paa"};
|
||||||
|
};
|
||||||
|
class pz_priest: PZombie_VB
|
||||||
|
{
|
||||||
|
model = "\ca\characters2\civil\Priest\Priest";
|
||||||
|
class Wounds
|
||||||
|
{
|
||||||
|
tex[] = {};
|
||||||
|
mat[] = {"ca\characters2\civil\priest\data\priest.rvmat","ca\characters2\civil\priest\data\W1_priest.rvmat","ca\characters2\civil\priest\data\W2_priest.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
||||||
|
};
|
||||||
|
};
|
||||||
108
SQF/dayz_code/Configs/CfgVehicles/Zeds/Zeds.hpp
Normal file
108
SQF/dayz_code/Configs/CfgVehicles/Zeds/Zeds.hpp
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
class Citizen1;
|
||||||
|
class zZombie_Base : Citizen1 {
|
||||||
|
scope = public;
|
||||||
|
glassesEnabled = 0;
|
||||||
|
vehicleClass = "Zombie";
|
||||||
|
displayName = "Zombie";
|
||||||
|
fsmDanger = "";
|
||||||
|
fsmFormation = "";
|
||||||
|
zombieLoot = "civilian";
|
||||||
|
moves = "CfgMovesZombie";
|
||||||
|
isMan = false;
|
||||||
|
weapons[] = {};
|
||||||
|
magazines[] = {};
|
||||||
|
sensitivity = 4; // sensor sensitivity
|
||||||
|
sensitivityEar = 2;
|
||||||
|
identityTypes[] = {"zombie1", "zombie2"};
|
||||||
|
class TalkTopics {};
|
||||||
|
languages[] = {};
|
||||||
|
|
||||||
|
class Eventhandlers {
|
||||||
|
init = "_this call zombie_initialize;";
|
||||||
|
local = "if(_this select 1) then {[(position (_this select 0)),(_this select 0),true] execFSM '\z\AddOns\dayz_code\system\zombie_agent.fsm'};";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitPoints {
|
||||||
|
class HitHead {
|
||||||
|
armor = 0.3;
|
||||||
|
material = -1;
|
||||||
|
name = "head_hit";
|
||||||
|
passThrough = true;
|
||||||
|
memoryPoint = "pilot";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitBody : HitHead {
|
||||||
|
armor = 2;
|
||||||
|
name = "body";
|
||||||
|
memoryPoint = "aimPoint";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitSpine : HitHead {
|
||||||
|
armor = 2;
|
||||||
|
name = "Spine2";
|
||||||
|
memoryPoint = "aimPoint";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitHands : HitHead {
|
||||||
|
armor = 0.5;
|
||||||
|
material = -1;
|
||||||
|
name = "hands";
|
||||||
|
passThrough = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLArm : HitHands {
|
||||||
|
name = "LeftArm";
|
||||||
|
memoryPoint = "lelbow";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRArm : HitHands {
|
||||||
|
name = "RightArm";
|
||||||
|
memoryPoint = "relbow";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLForeArm : HitHands {
|
||||||
|
name = "LeftForeArm";
|
||||||
|
memoryPoint = "lwrist";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRForeArm : HitHands {
|
||||||
|
name = "RightForeArm";
|
||||||
|
memoryPoint = "rwrist";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLHand : HitHands {
|
||||||
|
name = "LeftHand";
|
||||||
|
memoryPoint = "LeftHandMiddle1";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRHand : HitHands {
|
||||||
|
name = "RightHand";
|
||||||
|
memoryPoint = "RightHandMiddle1";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLegs : HitHands {
|
||||||
|
name = "legs";
|
||||||
|
memoryPoint = "pelvis";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLLeg : HitHands {
|
||||||
|
name = "LeftLeg";
|
||||||
|
memoryPoint = "lknee";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitLLegUp : HitHands {
|
||||||
|
name = "LeftUpLeg";
|
||||||
|
memoryPoint = "lfemur";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRLeg : HitHands {
|
||||||
|
name = "RightLeg";
|
||||||
|
memoryPoint = "rknee";
|
||||||
|
};
|
||||||
|
|
||||||
|
class HitRLegUp : HitHands {
|
||||||
|
name = "RightUpLeg";
|
||||||
|
memoryPoint = "rfemur";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
75
SQF/dayz_code/Configs/CfgWeapons.hpp
Normal file
75
SQF/dayz_code/Configs/CfgWeapons.hpp
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
class CfgWeapons {
|
||||||
|
|
||||||
|
class Pecheneg;
|
||||||
|
class Pecheneg_DZ: Pecheneg
|
||||||
|
{
|
||||||
|
type = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
class Default {
|
||||||
|
canlock = 0;
|
||||||
|
};
|
||||||
|
class ItemCore;
|
||||||
|
class Crossbow;
|
||||||
|
class Rifle;
|
||||||
|
class MeleeWeapon : Rifle {
|
||||||
|
canDrop = true;
|
||||||
|
};
|
||||||
|
class PistolCore; // External class reference
|
||||||
|
class Pistol; // External class reference
|
||||||
|
class GrenadeLauncher; // External class reference
|
||||||
|
|
||||||
|
class DMR; // External class reference
|
||||||
|
|
||||||
|
class ItemKnife: ItemCore
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "$STR_EQUIP_NAME_4";
|
||||||
|
model = "\dayz_equip\models\knife_gear.p3d";
|
||||||
|
picture = "\dayz_equip\textures\equip_knife_ca.paa";
|
||||||
|
descriptionShort = "$STR_EQUIP_DESC_4";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Use
|
||||||
|
{
|
||||||
|
text="Harvest Plant";
|
||||||
|
script="spawn player_harvestPlant;";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "CfgWeapons\Loot.hpp"
|
||||||
|
|
||||||
|
#include "CfgWeapons\Melee\MeleeMachete.hpp"
|
||||||
|
#include "CfgWeapons\Melee\ItemMachete.hpp"
|
||||||
|
#include "CfgWeapons\Melee\MeleeHatchet.hpp"
|
||||||
|
#include "CfgWeapons\Melee\ItemHatchet.hpp"
|
||||||
|
#include "CfgWeapons\Melee\MeleeCrowbar.hpp"
|
||||||
|
#include "CfgWeapons\Melee\ItemCrowbar.hpp"
|
||||||
|
#include "CfgWeapons\Melee\Crossbow.hpp"
|
||||||
|
#include "CfgWeapons\Melee\MeleeBaseBallBat.hpp"
|
||||||
|
#include "CfgWeapons\Melee\MeleeFishingPole.hpp"
|
||||||
|
// #include "CfgWeapons\Melee\MeleeBaseBallBatBarbed.hpp"
|
||||||
|
// #include "CfgWeapons\Melee\MeleeBaseBallBatNails.hpp"
|
||||||
|
|
||||||
|
#include "CfgWeapons\Item\ItemWatch.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemMap.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemMap_Debug.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemCompass.hpp"
|
||||||
|
#include "CfgWeapons\Item\Flashlight.hpp"
|
||||||
|
#include "CfgWeapons\Item\Flare.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemEtool.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemShovel.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemFishingPole.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemKeyKit.hpp"
|
||||||
|
#include "CfgWeapons\Item\ItemKeys.hpp"
|
||||||
|
|
||||||
|
//Sniper Rifel
|
||||||
|
//#include "CfgWeapons\Weapon\Sniper\AS50.hpp"
|
||||||
|
#include "CfgWeapons\Weapon\Sniper\M107.hpp"
|
||||||
|
|
||||||
|
#include "CfgWeapons\Weapon\Sniper\DMR_DZ.hpp"
|
||||||
|
// #include "CfgWeapons\Weapon\Sniper\DMR_DZ2.hpp"
|
||||||
|
// #include "CfgWeapons\Weapon\Sniper\DMR_DZ3.hpp"
|
||||||
|
#include "CfgWeapons\Weapon\Pistol\MakerovSD.hpp"
|
||||||
|
};
|
||||||
35
SQF/dayz_code/Configs/CfgWeapons/Item/Flare.hpp
Normal file
35
SQF/dayz_code/Configs/CfgWeapons/Item/Flare.hpp
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
class Flare : GrenadeLauncher {
|
||||||
|
class ThrowMuzzle;
|
||||||
|
class MolotovCocktailMuzzle : ThrowMuzzle {
|
||||||
|
displayName = "$STR_ACTION_THROW";
|
||||||
|
magazines[] = {
|
||||||
|
"TrashJackDaniels",
|
||||||
|
"ItemSodaEmpty",
|
||||||
|
"TrashTinCan",
|
||||||
|
"FoodCanGriffEmpty",
|
||||||
|
"FoodCanBadguyEmpty",
|
||||||
|
"FoodCanBoneboyEmpty",
|
||||||
|
"FoodCanCornEmpty",
|
||||||
|
"FoodCanCurgonEmpty",
|
||||||
|
"FoodCanDemonEmpty",
|
||||||
|
"FoodCanFraggleosEmpty",
|
||||||
|
"FoodCanHerpyEmpty",
|
||||||
|
"FoodCanOrlokEmpty",
|
||||||
|
"FoodCanPowellEmpty",
|
||||||
|
"FoodCanTylersEmpty",
|
||||||
|
"FoodCanUnlabeledEmpty",
|
||||||
|
"ItemSodaCokeEmpty",
|
||||||
|
"ItemSodaPepsiEmpty",
|
||||||
|
"ItemSodaMdewEmpty",
|
||||||
|
"ItemSodaMtngreenEmpty",
|
||||||
|
"ItemSodaR4z0rEmpty",
|
||||||
|
"ItemSodaClaysEmpty",
|
||||||
|
"ItemSodaSmashtEmpty",
|
||||||
|
"ItemSodaDrwasteEmpty",
|
||||||
|
"ItemSodaLemonadeEmpty",
|
||||||
|
"ItemSodaLvgEmpty",
|
||||||
|
"ItemSodaMzlyEmpty",
|
||||||
|
"ItemSodaRabbitEmpty"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
31
SQF/dayz_code/Configs/CfgWeapons/Item/Flashlight.hpp
Normal file
31
SQF/dayz_code/Configs/CfgWeapons/Item/Flashlight.hpp
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
class MeleeFlashlight : Pistol {
|
||||||
|
class ItemActions {
|
||||||
|
class Toolbelt {
|
||||||
|
text = $STR_ACTIONS_2TB;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class ItemFlashlight : ItemCore {
|
||||||
|
class ItemActions {
|
||||||
|
class Toolbelt {
|
||||||
|
text = $STR_ACTIONS_RFROMTB;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class MeleeFlashlightRed : MeleeFlashlight {
|
||||||
|
class ItemActions {
|
||||||
|
class Toolbelt {
|
||||||
|
text = $STR_ACTIONS_2TB;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class ItemFlashlightRed : ItemCore {
|
||||||
|
class ItemActions {
|
||||||
|
class Toolbelt {
|
||||||
|
text = $STR_ACTIONS_RFROMTB;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
3
SQF/dayz_code/Configs/CfgWeapons/Item/ItemCompass.hpp
Normal file
3
SQF/dayz_code/Configs/CfgWeapons/Item/ItemCompass.hpp
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
class ItemCompass: ItemCore {
|
||||||
|
model="z\addons\dayz_communityassets\models\compass.p3d";
|
||||||
|
};
|
||||||
6
SQF/dayz_code/Configs/CfgWeapons/Item/ItemEtool.hpp
Normal file
6
SQF/dayz_code/Configs/CfgWeapons/Item/ItemEtool.hpp
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
//NotWorking _DZ Remove
|
||||||
|
class ItemEtool: ItemCore {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Etool";
|
||||||
|
descriptionShort = $STR_EQUIP_DESC_1;
|
||||||
|
};
|
||||||
24
SQF/dayz_code/Configs/CfgWeapons/Item/ItemFishingPole.hpp
Normal file
24
SQF/dayz_code/Configs/CfgWeapons/Item/ItemFishingPole.hpp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
class ItemFishingPole: ItemCore
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
displayName="Fishing Pole";
|
||||||
|
model="\z\addons\dayz_epoch\models\fishing_rod_loot_item.p3d";
|
||||||
|
picture="\z\addons\dayz_epoch\pictures\equip_fishingpole_CA.paa";
|
||||||
|
descriptionShort="Fishing Pole: This carbon fiber rod may be old but, she still works like a charm.";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Remove from Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"ItemFishingPole"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"MeleeFishingPole"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
7
SQF/dayz_code/Configs/CfgWeapons/Item/ItemKeyKit.hpp
Normal file
7
SQF/dayz_code/Configs/CfgWeapons/Item/ItemKeyKit.hpp
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
class ItemKeyKit: ItemCore {
|
||||||
|
scope = 2;
|
||||||
|
displayname = "Keymakers kit";
|
||||||
|
model="\z\addons\dayz_epoch\models\keykit.p3d";
|
||||||
|
descriptionShort="Kit including the tools required to smelt, mold and shape keys.";
|
||||||
|
picture="\z\addons\dayz_epoch\pictures\equip_keykit_ca.paa";
|
||||||
|
};
|
||||||
50044
SQF/dayz_code/Configs/CfgWeapons/Item/ItemKeys.hpp
Normal file
50044
SQF/dayz_code/Configs/CfgWeapons/Item/ItemKeys.hpp
Normal file
File diff suppressed because it is too large
Load Diff
3
SQF/dayz_code/Configs/CfgWeapons/Item/ItemMap.hpp
Normal file
3
SQF/dayz_code/Configs/CfgWeapons/Item/ItemMap.hpp
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
class ItemMap: ItemCore {
|
||||||
|
model="z\addons\dayz_communityassets\models\map.p3d";
|
||||||
|
};
|
||||||
11
SQF/dayz_code/Configs/CfgWeapons/Item/ItemMap_Debug.hpp
Normal file
11
SQF/dayz_code/Configs/CfgWeapons/Item/ItemMap_Debug.hpp
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
class ItemMap_Debug: ItemCore {
|
||||||
|
descriptionshort = "Debug Map - Admin use only";
|
||||||
|
displayname = "Map";
|
||||||
|
picture = "\ca\ui\data\gear_picture_map_ca.paa";
|
||||||
|
scope = 2;
|
||||||
|
simulation = "ItemMap";
|
||||||
|
class Library {
|
||||||
|
libtextdesc = "Debug Map - Admin use only";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
8
SQF/dayz_code/Configs/CfgWeapons/Item/ItemShovel.hpp
Normal file
8
SQF/dayz_code/Configs/CfgWeapons/Item/ItemShovel.hpp
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
class ItemShovel: ItemCore
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
displayName="Shovel";
|
||||||
|
model="\z\addons\dayz_communityassets\models\shovel.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_shovel_ca.paa";
|
||||||
|
descriptionShort="Shovel";
|
||||||
|
};
|
||||||
3
SQF/dayz_code/Configs/CfgWeapons/Item/ItemWatch.hpp
Normal file
3
SQF/dayz_code/Configs/CfgWeapons/Item/ItemWatch.hpp
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
class ItemWatch: ItemCore {
|
||||||
|
model="z\addons\dayz_communityassets\models\watch.p3d";
|
||||||
|
};
|
||||||
15
SQF/dayz_code/Configs/CfgWeapons/Loot.hpp
Normal file
15
SQF/dayz_code/Configs/CfgWeapons/Loot.hpp
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
class Loot: Default
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
value = 0;
|
||||||
|
type = 0;
|
||||||
|
displayName = "Use";
|
||||||
|
canDrop = 0;
|
||||||
|
muzzles[] = {"this"};
|
||||||
|
magazines[] = {"FoodBioMeat","ItemZombieParts","ItemBandage","ItemHeatPack","PartWoodPile","PartFueltank","PartWheel","PartGeneric","PartEngine","PartVRotor","PartGlass","ItemWaterbottle","ItemWaterbottleUnfilled","ItemEpinephrine","ItemGoldBar","ItemSilverBar","ItemCopperBar","ItemMorphine","ItemBloodbag","ItemAntibiotic","ItemPainkiller","ItemJerrycan","ItemOilBarrel","ItemGenerator","ItemTent","ItemSandbag","ItemTankTrap","ItemWire","FoodSteakRaw","TrashTinCan","ItemSodaCoke","ItemSodaPepsi","ItemSodaMdew","ItemSodaMdew","FoodEdible","FoodSteakCooked","FoodCanBakedBeans","FoodCanSardines","FoodCanFrankBeans","FoodCanPasta"};
|
||||||
|
modes[] = {"this"};
|
||||||
|
useAction = 0;
|
||||||
|
useActionTitle = "";
|
||||||
|
enableAttack = 0;
|
||||||
|
showToPlayer = 0;
|
||||||
|
};
|
||||||
6
SQF/dayz_code/Configs/CfgWeapons/Melee/Crossbow.hpp
Normal file
6
SQF/dayz_code/Configs/CfgWeapons/Melee/Crossbow.hpp
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
class Crossbow_DZ : Crossbow {
|
||||||
|
magazines[] =
|
||||||
|
{
|
||||||
|
"WoodenArrow"
|
||||||
|
};
|
||||||
|
};
|
||||||
24
SQF/dayz_code/Configs/CfgWeapons/Melee/ItemCrowbar.hpp
Normal file
24
SQF/dayz_code/Configs/CfgWeapons/Melee/ItemCrowbar.hpp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
class ItemCrowbar: ItemCore
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
displayName="Crowbar";
|
||||||
|
model="\dayz_equip\models\crowbar.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_crowbar_CA.paa";
|
||||||
|
descriptionShort="A tool consisting of a metal bar with a single curved end and flattened points, often with a small fissure on one or both ends for removing nails.";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text=$STR_ACTIONS_RFROMTB;
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"ItemCrowbar"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"MeleeCrowbar"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
21
SQF/dayz_code/Configs/CfgWeapons/Melee/ItemHatchet.hpp
Normal file
21
SQF/dayz_code/Configs/CfgWeapons/Melee/ItemHatchet.hpp
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
class ItemHatchet : ItemCore {
|
||||||
|
displayName="$STR_EQUIP_NAME_41";
|
||||||
|
descriptionShort="$STR_EQUIP_DESC_41";
|
||||||
|
|
||||||
|
class ItemActions {
|
||||||
|
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Remove from Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"ItemHatchet"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"MeleeHatchet"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
25
SQF/dayz_code/Configs/CfgWeapons/Melee/ItemMachete.hpp
Normal file
25
SQF/dayz_code/Configs/CfgWeapons/Melee/ItemMachete.hpp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
class ItemMachete: ItemCore
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
displayName="Machete";
|
||||||
|
model="\z\addons\dayz_communityassets\models\machete.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_machete_CA.paa";
|
||||||
|
descriptionShort="An agricultural tool turned into a weapon, the Machete may be less versatile than the common hatchet, but it packs a punch.";
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Remove from Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"ItemMachete"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"MeleeMachete"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
25
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeBaseBallBat.hpp
Normal file
25
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeBaseBallBat.hpp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
class MeleeBaseBallBat: MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
melee= "true";
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\z\addons\dayz_communityassets\models\baseball_bat_weaponized.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_baseball_bat_ca.paa";
|
||||||
|
displayName="$STR_EQUIP_NAME_BASEBALLBAT";
|
||||||
|
droppeditem= "MeleeBaseBallBat";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"Bat_Swing"
|
||||||
|
};
|
||||||
|
handAnim[]=
|
||||||
|
{
|
||||||
|
"OFP2_ManSkeleton",
|
||||||
|
"\dayz_weapons\anim\melee_hatchet_holding.rtm"
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="$STR_EQUIP_DESC_BASEBALLBAT";
|
||||||
|
};
|
||||||
|
descriptionShort="$STR_EQUIP_DESC_BASEBALLBAT";
|
||||||
|
};
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
class MeleeBaseBallBatBarbed: MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
melee= "true";
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\z\addons\dayz_communityassets\models\baseball_bat_barbed_weaponized.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_baseball_bat_barbed_ca.paa";
|
||||||
|
displayName="$STR_EQUIP_NAME_BASEBALLBATBARBED";
|
||||||
|
droppeditem= "MeleeBaseBallBatBarbed";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"BatBarbed_Swing"
|
||||||
|
};
|
||||||
|
handAnim[]=
|
||||||
|
{
|
||||||
|
"OFP2_ManSkeleton",
|
||||||
|
"\dayz_weapons\anim\melee_hatchet_holding.rtm"
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="$STR_EQUIP_DESC_BASEBALLBATBARBED";
|
||||||
|
};
|
||||||
|
descriptionShort="$STR_EQUIP_DESC_BASEBALLBATBARBED";
|
||||||
|
};
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
class MeleeBaseBallBatNails : MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
melee= "true";
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\z\addons\dayz_communityassets\models\baseball_bat_nails_weaponized.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_baseball_bat_nails_ca.paa";
|
||||||
|
displayName="$STR_EQUIP_NAME_BASEBALLBATNAILS";
|
||||||
|
droppeditem= "MeleeBaseBallBatNails";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"BatNails_Swing"
|
||||||
|
};
|
||||||
|
handAnim[]=
|
||||||
|
{
|
||||||
|
"OFP2_ManSkeleton",
|
||||||
|
"\dayz_weapons\anim\melee_hatchet_holding.rtm"
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="$STR_EQUIP_DESC_BASEBALLBATNAILS";
|
||||||
|
};
|
||||||
|
descriptionShort="$STR_EQUIP_DESC_BASEBALLBATNAILS";
|
||||||
|
};
|
||||||
41
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeCrowbar.hpp
Normal file
41
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeCrowbar.hpp
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
class MeleeCrowbar: MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
melee= "true";
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\dayz_weapons\models\crowbar_weaponized";
|
||||||
|
picture="\dayz_weapons\textures\equip_crowbar_CA.paa";
|
||||||
|
displayName="Crowbar";
|
||||||
|
droppeditem= "ItemCrowbar";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"Crowbar_Swing"
|
||||||
|
};
|
||||||
|
handAnim[]=
|
||||||
|
{
|
||||||
|
"OFP2_ManSkeleton",
|
||||||
|
"\dayz_weapons\anim\melee_hatchet_holding.rtm"
|
||||||
|
};
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Add to Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"MeleeCrowbar"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"ItemCrowbar"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="A tool consisting of a metal bar with a single curved end and flattened points, often with a small fissure on one or both ends for removing nails.";
|
||||||
|
};
|
||||||
|
descriptionShort="A tool consisting of a metal bar with a single curved end and flattened points, often with a small fissure on one or both ends for removing nails.";
|
||||||
|
};
|
||||||
39
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeFishingPole.hpp
Normal file
39
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeFishingPole.hpp
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
class MeleeFishingPole: MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\z\addons\dayz_epoch\models\fishing_rod_weaponized.p3d";
|
||||||
|
picture="\z\addons\dayz_epoch\pictures\equip_fishingpole_CA.paa";
|
||||||
|
displayName="Fishing Pole";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"Fishing_Swing"
|
||||||
|
};
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Use
|
||||||
|
{
|
||||||
|
text="Cast Fishing Pole";
|
||||||
|
script="spawn player_goFishing;";
|
||||||
|
};
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Add to Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"MeleeFishingPole"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"ItemFishingPole"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="";
|
||||||
|
};
|
||||||
|
descriptionShort="Fishing Pole: This carbon fiber rod may be old but, she still works like a charm.";
|
||||||
|
};
|
||||||
46
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeHatchet.hpp
Normal file
46
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeHatchet.hpp
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
class MeleeHatchet: MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
melee= "true";
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\dayz_weapons\models\Hatchet_weaponized";
|
||||||
|
picture="\dayz_equip\textures\equip_hatchet_CA.paa";
|
||||||
|
displayName="$STR_EQUIP_NAME_41";
|
||||||
|
droppeditem= "ItemHatchet";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"Hatchet_Swing"
|
||||||
|
};
|
||||||
|
handAnim[]=
|
||||||
|
{
|
||||||
|
"OFP2_ManSkeleton",
|
||||||
|
"\dayz_weapons\anim\melee_hatchet_holding.rtm"
|
||||||
|
};
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Use
|
||||||
|
{
|
||||||
|
text="$STR_ACTIONS_CHOPWOOD";
|
||||||
|
script="spawn player_chopWood;";
|
||||||
|
};
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Add to Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"MeleeHatchet"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"ItemHatchet"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="$STR_EQUIP_DESC_41";
|
||||||
|
};
|
||||||
|
descriptionShort="$STR_EQUIP_DESC_41";
|
||||||
|
};
|
||||||
41
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeMachete.hpp
Normal file
41
SQF/dayz_code/Configs/CfgWeapons/Melee/MeleeMachete.hpp
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
class MeleeMachete: MeleeWeapon
|
||||||
|
{
|
||||||
|
scope=2;
|
||||||
|
melee= "true";
|
||||||
|
autoreload=1;
|
||||||
|
magazineReloadTime=0;
|
||||||
|
model="\z\addons\dayz_communityassets\models\machete_weaponized.p3d";
|
||||||
|
picture="\z\addons\dayz_communityassets\pictures\equip_machete_CA.paa";
|
||||||
|
displayName="Machete";
|
||||||
|
droppeditem= "MeleeMachete";
|
||||||
|
magazines[]=
|
||||||
|
{
|
||||||
|
"Machete_Swing"
|
||||||
|
};
|
||||||
|
handAnim[]=
|
||||||
|
{
|
||||||
|
"OFP2_ManSkeleton",
|
||||||
|
"\dayz_weapons\anim\melee_hatchet_holding.rtm"
|
||||||
|
};
|
||||||
|
class ItemActions
|
||||||
|
{
|
||||||
|
class Toolbelt
|
||||||
|
{
|
||||||
|
text="Add to Toolbelt";
|
||||||
|
script="spawn player_addToolbelt;";
|
||||||
|
use[]=
|
||||||
|
{
|
||||||
|
"MeleeMachete"
|
||||||
|
};
|
||||||
|
output[]=
|
||||||
|
{
|
||||||
|
"ItemMachete"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Library
|
||||||
|
{
|
||||||
|
libTextDesc="";
|
||||||
|
};
|
||||||
|
descriptionShort="An agricultural tool turned into a weapon, the Machete may be less versatile than the common hatchet, but it packs a punch.";
|
||||||
|
};
|
||||||
19
SQF/dayz_code/Configs/CfgWeapons/Weapon/Pistol/MakerovSD.hpp
Normal file
19
SQF/dayz_code/Configs/CfgWeapons/Weapon/Pistol/MakerovSD.hpp
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
class Makarov;
|
||||||
|
class MakarovSD : Makarov {
|
||||||
|
fireLightDuration = 0;
|
||||||
|
fireLightIntensity = 0;
|
||||||
|
picture = "\CA\weapons\data\equip\w_makarovSD_ca.paa";
|
||||||
|
begin1[] = {"ca\sounds\weapons\pistols\makarovSD_single1", 0.316228, 1, 200};
|
||||||
|
soundBegin[] = {"begin1", 1};
|
||||||
|
reloadMagazineSound[] = {"\ca\Weapons\Data\Sound\pistol_reload", 0.0316228, 1, 20};
|
||||||
|
minRange = 0;
|
||||||
|
minRangeProbab = 0.1;
|
||||||
|
midRange = 15;
|
||||||
|
midRangeProbab = 0.3;
|
||||||
|
maxRange = 20;
|
||||||
|
maxRangeProbab = 0.04;
|
||||||
|
descriptionShort = "Silenced semi-automatic pistol <br/>Caliber: 9x18mm";
|
||||||
|
model = "ca\weapons_E\makarov\makarov_silenced";
|
||||||
|
displayName = "Makarov SD";
|
||||||
|
magazines[] = {"8Rnd_9x18_MakarovSD","8Rnd_9x18_Makarov"};
|
||||||
|
};
|
||||||
9
SQF/dayz_code/Configs/CfgWeapons/Weapon/Sniper/AS50.hpp
Normal file
9
SQF/dayz_code/Configs/CfgWeapons/Weapon/Sniper/AS50.hpp
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/*
|
||||||
|
class BAF_AS50_scoped : BAF_AS50_scoped {
|
||||||
|
displayname = "AS50_DZ";
|
||||||
|
type = "1";
|
||||||
|
canlock = 0;
|
||||||
|
//cursor = "RifleCursor";
|
||||||
|
//cursoraim = "Foresight";
|
||||||
|
};
|
||||||
|
*/
|
||||||
19
SQF/dayz_code/Configs/CfgWeapons/Weapon/Sniper/DMR_DZ.hpp
Normal file
19
SQF/dayz_code/Configs/CfgWeapons/Weapon/Sniper/DMR_DZ.hpp
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
class DMR_DZ : DMR {
|
||||||
|
model = "\ca\weapons\DMR\us_dmr";
|
||||||
|
picture = "\ca\weapons\data\equip\W_US_DMR_CA.paa";
|
||||||
|
UiPicture = "\CA\weapons\data\Ico\i_sniper_CA.paa";
|
||||||
|
modelOptics = "\ca\Weapons\2Dscope_MilDot_10";
|
||||||
|
opticsFlare = 1;
|
||||||
|
opticsDisablePeripherialVision = 1;
|
||||||
|
opticsZoomInit = 0.0711;
|
||||||
|
opticsZoomMin = 0.0249;
|
||||||
|
distanceZoomMin = 400;
|
||||||
|
opticsZoomMax = 0.0711;
|
||||||
|
distanceZoomMax = 120;
|
||||||
|
dexterity = 1.55;
|
||||||
|
magazines[] = {"20Rnd_762x51_DMR"};
|
||||||
|
reloadTime = 2;
|
||||||
|
backgroundReload = 1;
|
||||||
|
handAnim[] = {"OFP2_ManSkeleton", "\Ca\weapons\data\Anim\M24.rtm"};
|
||||||
|
modes[] = {"Single"};
|
||||||
|
};
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class DMR_DZ2 : DMR_DZ {
|
||||||
|
model = "\z\addons\dayz_communityassets\weapons\Sniper\DMR_DZ2\us_dmr";
|
||||||
|
//picture = "\ca\weapons\data\equip\W_US_DMR_CA.paa"; TODO
|
||||||
|
//UiPicture = "\CA\weapons\data\Ico\i_sniper_CA.paa"; TODO
|
||||||
|
};
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class DMR_DZ3 : DMR_DZ {
|
||||||
|
model = "\z\addons\dayz_communityassets\weapons\Sniper\DMR_DZ3\us_dmr";
|
||||||
|
//picture = "\ca\weapons\data\equip\W_US_DMR_CA.paa"; TODO
|
||||||
|
//UiPicture = "\CA\weapons\data\Ico\i_sniper_CA.paa"; TODO
|
||||||
|
};
|
||||||
49
SQF/dayz_code/Configs/CfgWeapons/Weapon/Sniper/M107.hpp
Normal file
49
SQF/dayz_code/Configs/CfgWeapons/Weapon/Sniper/M107.hpp
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
class m107: Rifle
|
||||||
|
{
|
||||||
|
displayname = "M107";
|
||||||
|
type = "1";
|
||||||
|
canlock = 0;
|
||||||
|
cursor = "RifleCursor";
|
||||||
|
cursoraim = "Foresight";
|
||||||
|
};
|
||||||
|
|
||||||
|
class m107_DZ: m107
|
||||||
|
{
|
||||||
|
displayname = "M107_DZ";
|
||||||
|
type = "1";
|
||||||
|
canlock = 0;
|
||||||
|
cursor = "";
|
||||||
|
cursoraim = "Foresight";
|
||||||
|
dexterity = "(0.5 + 3.75/(12.9 + 0.001) + -3/10)";
|
||||||
|
maxrange = 1800;
|
||||||
|
maxrangeprobab = 0.1;
|
||||||
|
mfact = 1;
|
||||||
|
mfmax = 0;
|
||||||
|
midrange = 500;
|
||||||
|
midrangeprobab = 0.8;
|
||||||
|
minrange = 1;
|
||||||
|
minrangeprobab = 0.4;
|
||||||
|
opticszoominit = 0.0553;
|
||||||
|
opticszoommax = 0.05246;
|
||||||
|
opticszoommin = 0.020984;
|
||||||
|
reloadtime = 0.5;
|
||||||
|
class OpticsModes {
|
||||||
|
class StepScope {
|
||||||
|
cameradir = "";
|
||||||
|
discretedistance[] = {};
|
||||||
|
discretedistanceinitindex = 0;
|
||||||
|
distancezoommax = 500;
|
||||||
|
distancezoommin = 500;
|
||||||
|
memorypointcamera = "konec hlavne";
|
||||||
|
opticsdisableperipherialvision = 1;
|
||||||
|
opticsflare = 1;
|
||||||
|
opticsid = 1;
|
||||||
|
opticsppeffects[] = {"OpticsCHAbera1", "OpticsBlur1"};
|
||||||
|
opticszoominit = 0.05246;
|
||||||
|
opticszoommax = 0.05246;
|
||||||
|
opticszoommin = 0.020984;
|
||||||
|
usemodeloptics = 1;
|
||||||
|
visionmode[] = {"Normal"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -1,502 +1,10 @@
|
|||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Citizen1; // External class reference
|
|
||||||
class zZombie_Base : Citizen1 {
|
|
||||||
scope = public;
|
|
||||||
glassesEnabled = 0;
|
|
||||||
vehicleClass = "Zombie";
|
|
||||||
displayName = "Zombie";
|
|
||||||
fsmDanger = "";
|
|
||||||
fsmFormation = "";
|
|
||||||
zombieLoot = "civilian";
|
|
||||||
moves = "CfgMovesZombie";
|
|
||||||
isMan = false;
|
|
||||||
weapons[] = {};
|
|
||||||
magazines[] = {};
|
|
||||||
sensitivity = 4; // sensor sensitivity
|
|
||||||
sensitivityEar = 2;
|
|
||||||
identityTypes[] = {"zombie1", "zombie2"};
|
|
||||||
class TalkTopics {};
|
|
||||||
languages[] = {};
|
|
||||||
|
|
||||||
class Eventhandlers {
|
|
||||||
init = "_this call zombie_initialize;";
|
|
||||||
local = "if(_this select 1) then {[(position (_this select 0)),(_this select 0),true] execFSM '\z\AddOns\dayz_code\system\zombie_agent.fsm'};";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitPoints {
|
|
||||||
class HitHead {
|
|
||||||
armor = 0.3;
|
|
||||||
material = -1;
|
|
||||||
name = "head_hit";
|
|
||||||
passThrough = true;
|
|
||||||
memoryPoint = "pilot";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitBody : HitHead {
|
|
||||||
armor = 2;
|
|
||||||
name = "body";
|
|
||||||
memoryPoint = "aimPoint";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitSpine : HitHead {
|
|
||||||
armor = 2;
|
|
||||||
name = "Spine2";
|
|
||||||
memoryPoint = "aimPoint";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitHands : HitHead {
|
|
||||||
armor = 0.5;
|
|
||||||
material = -1;
|
|
||||||
name = "hands";
|
|
||||||
passThrough = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitLArm : HitHands {
|
|
||||||
name = "LeftArm";
|
|
||||||
memoryPoint = "lelbow";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitRArm : HitHands {
|
|
||||||
name = "RightArm";
|
|
||||||
memoryPoint = "relbow";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitLForeArm : HitHands {
|
|
||||||
name = "LeftForeArm";
|
|
||||||
memoryPoint = "lwrist";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitRForeArm : HitHands {
|
|
||||||
name = "RightForeArm";
|
|
||||||
memoryPoint = "rwrist";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitLHand : HitHands {
|
|
||||||
name = "LeftHand";
|
|
||||||
memoryPoint = "LeftHandMiddle1";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitRHand : HitHands {
|
|
||||||
name = "RightHand";
|
|
||||||
memoryPoint = "RightHandMiddle1";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitLegs : HitHands {
|
|
||||||
name = "legs";
|
|
||||||
memoryPoint = "pelvis";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitLLeg : HitHands {
|
|
||||||
name = "LeftLeg";
|
|
||||||
memoryPoint = "lknee";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitLLegUp : HitHands {
|
|
||||||
name = "LeftUpLeg";
|
|
||||||
memoryPoint = "lfemur";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitRLeg : HitHands {
|
|
||||||
name = "RightLeg";
|
|
||||||
memoryPoint = "rknee";
|
|
||||||
};
|
|
||||||
|
|
||||||
class HitRLegUp : HitHands {
|
|
||||||
name = "RightUpLeg";
|
|
||||||
memoryPoint = "rfemur";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
#include "CfgVehicles\Zeds\Zeds.hpp"
|
||||||
|
#include "CfgVehicles\Zeds\NewZeds.hpp"
|
||||||
|
#include "CfgVehicles\Zeds\PlayerZeds.hpp"
|
||||||
|
#include "CfgVehicles\Females\females.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// female changes
|
|
||||||
class Soldier_Bodyguard_M4_PMC;
|
|
||||||
class SurvivorW2_DZ: Soldier_Bodyguard_M4_PMC
|
|
||||||
{
|
|
||||||
displayName = "$STR_CHAR_1";
|
|
||||||
side = 1;
|
|
||||||
weapons[] = {"Throw","Put"};
|
|
||||||
model = "\dayz\characters\annie_original";
|
|
||||||
magazines[] = {};
|
|
||||||
respawnWeapons[] = {"Throw","Put"};
|
|
||||||
respawnMagazines[] = {};
|
|
||||||
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
|
|
||||||
canHideBodies = 1;
|
|
||||||
identityTypes[] = {"Language_W_EN_EP1","Woman"};
|
|
||||||
languages[] = {"EN"};
|
|
||||||
class TalkTopics
|
|
||||||
{
|
|
||||||
core = "Core_E";
|
|
||||||
core_en = "Core_Full_E";
|
|
||||||
};
|
|
||||||
genericNames = "EnglishWomen";
|
|
||||||
class SpeechVariants
|
|
||||||
{
|
|
||||||
class Default
|
|
||||||
{
|
|
||||||
speechSingular[] = {"veh_woman"};
|
|
||||||
speechPlural[] = {"veh_women"};
|
|
||||||
};
|
|
||||||
class EN: Default{};
|
|
||||||
class CZ
|
|
||||||
{
|
|
||||||
speechSingular[] = {"veh_woman_CZ"};
|
|
||||||
speechPlural[] = {"veh_women_CZ"};
|
|
||||||
};
|
|
||||||
class CZ_Akuzativ
|
|
||||||
{
|
|
||||||
speechSingular[] = {"veh_woman_CZ4P"};
|
|
||||||
speechPlural[] = {"veh_women_CZ4P"};
|
|
||||||
};
|
|
||||||
class RU
|
|
||||||
{
|
|
||||||
speechSingular[] = {"veh_woman_RU"};
|
|
||||||
speechPlural[] = {"veh_women_RU"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
TextPlural = "Women";
|
|
||||||
TextSingular = "Woman";
|
|
||||||
nameSound = "veh_woman";
|
|
||||||
class HitDamage
|
|
||||||
{
|
|
||||||
class Group0
|
|
||||||
{
|
|
||||||
hitSounds[] = {
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-01",0.177828,1,120 },0.2 },
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-02",0.177828,1,120 },0.2 },
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-03",0.177828,1,120 },0.2 },
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-04",0.177828,1,120 },0.1 },
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-05",0.177828,1,120 },0.1 },
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-06",0.177828,1,120 },0.1 },
|
|
||||||
{
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-hit-07",0.177828,1,120 },0.1 }};
|
|
||||||
damageSounds[] = {
|
|
||||||
{ "body",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-01",0.0562341,1,120,0.25,5,6,10 } },
|
|
||||||
{ "body",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-02",0.0562341,1,120,0.25,5,7.5,10 } },
|
|
||||||
{ "body",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-03",0.0562341,1,120,0.25,5,6,10 } },
|
|
||||||
{ "body",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-04",0.0562341,1,120,0.25,5,7.5,10 } },
|
|
||||||
{ "hands",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-07-arm",0.0562341,1,120,0.5,0,2.5,5 } },
|
|
||||||
{ "hands",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-08-arm",0.0562341,1,120,0.5,0,2.5,5 } },
|
|
||||||
{ "legs",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-05-leg",0.0562341,1,120,0.5,0,1,2 } },
|
|
||||||
{ "legs",
|
|
||||||
{ "ca\sounds\Characters\Noises\Damage\banz-damage-g1-06-leg",0.0562341,1,120,0.5,0,1,2 } }};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class SoundBreath
|
|
||||||
{
|
|
||||||
breath0[] = {
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-01",0.0562341,1,8 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-02",0.0562341,1,8 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-03",0.0562341,1,8 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run-breath-04",0.125893,1,8 },0.25 } },
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-01",0.0562341,1,15 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-02",0.0562341,1,15 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-03",0.0562341,1,15 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-run2-breath-04",0.125893,1,15 },0.25 } },
|
|
||||||
{
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-01",0.1,1,20 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-02",0.1,1,20 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-03",0.1,1,20 },0.25 },
|
|
||||||
{
|
|
||||||
{ "\ca\sounds\Characters\Noises\Breath\hanz-sprint-breath-04",0.1,1,20 },0.25 } }};
|
|
||||||
};
|
|
||||||
class SoundGear
|
|
||||||
{
|
|
||||||
primary[] = {
|
|
||||||
{ "walk",
|
|
||||||
{ "",0.00177828,1,10 } },
|
|
||||||
{ "run",
|
|
||||||
{ "",0.00316228,1,15 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "",0.00562341,1,20 } }};
|
|
||||||
secondary[] = {
|
|
||||||
{ "walk",
|
|
||||||
{ "",0.00177828,1,10 } },
|
|
||||||
{ "run",
|
|
||||||
{ "",0.00316228,1,10 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "",0.00562341,1,10 } }};
|
|
||||||
};
|
|
||||||
class SoundEquipment
|
|
||||||
{
|
|
||||||
soldier[] = {
|
|
||||||
{ "walk",
|
|
||||||
{ "",0.00177828,1,13 } },
|
|
||||||
{ "run",
|
|
||||||
{ "",0.00316228,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "",0.00398107,1,25 } }};
|
|
||||||
civilian[] = {
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-01",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-02",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-03",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-04",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-05",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-06",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-07",0.177828,1,8 } },
|
|
||||||
{ "walk",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-walk-08",0.177828,1,8 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-01",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-02",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-03",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-04",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-05",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-06",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-07",0.1,1,15 } },
|
|
||||||
{ "run",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-run-08",0.1,1,15 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-01",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-02",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-03",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-04",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-05",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-06",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-07",0.0562341,1,20 } },
|
|
||||||
{ "sprint",
|
|
||||||
{ "\ca\sounds\Characters\Noises\Equipment\civil-equipment-sprint-08",0.0562341,1,20 } }};
|
|
||||||
};
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\baker_co.paa"};
|
|
||||||
};
|
|
||||||
class BanditW1_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
side = 1;
|
|
||||||
model = "\dayz\characters\woman_bandit";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\baker_co.paa"};
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
class FemaleSoldier1_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
side = 1;
|
|
||||||
model = "\z\addons\dayz_epoch\models\female_soldier";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\female_soldier_body.paa"};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
class BanditW2_DZ: BanditW1_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\european_woman_01_co.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorW3_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters_e\woman\baker\data\european_woman_01_co.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorWpink_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\GirlyGirl.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorWsequisha_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\sequisha_co.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorWsequishaD_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\sequishaD_co.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorWcombat_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\CombatGirl.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorWdesert_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\DesertGirl.paa"};
|
|
||||||
};
|
|
||||||
class SurvivorWurban_DZ: SurvivorW2_DZ
|
|
||||||
{
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\UrbanGirl.paa"};
|
|
||||||
};
|
|
||||||
|
|
||||||
class PZombie_VB: Citizen1
|
|
||||||
{
|
|
||||||
side = 1;
|
|
||||||
glassesEnabled = 0;
|
|
||||||
moves = "CfgMovesZombie";
|
|
||||||
gestures = "CfgGesturesMale";
|
|
||||||
|
|
||||||
weapons[] = {};
|
|
||||||
weaponSlots = "";
|
|
||||||
backpack = "";
|
|
||||||
magazines[] = {};
|
|
||||||
respawnWeapons[] = {};
|
|
||||||
respawnMagazines[] = {};
|
|
||||||
|
|
||||||
faceType = "ZFaces";
|
|
||||||
identityTypes[] = {"Zombie1","Zombie2"};
|
|
||||||
extCameraPosition[] = {0,1.5,-9};
|
|
||||||
|
|
||||||
canHideBodies = 0;
|
|
||||||
};
|
|
||||||
class pz_policeman: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\ca\characters2\civil\Policeman\Policeman";
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
tex[] = {};
|
|
||||||
mat[] = {"ca\characters2\civil\policeman\data\policeman.rvmat","ca\characters2\civil\policeman\data\w1_policeman.rvmat","ca\characters2\civil\policeman\data\w2_policeman.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_wounds.rvmat"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class pz_suit1: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\ca\characters2\civil\Functionary\Functionary";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters2\civil\functionary\data\functionary_co.paa"};
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
tex[] = {};
|
|
||||||
mat[] = {"ca\characters2\civil\Functionary\data\Functionary.rvmat","ca\characters2\civil\Functionary\data\W1_Functionary.rvmat","ca\characters2\civil\Functionary\data\W2_Functionary.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class pz_suit2: pz_suit1
|
|
||||||
{
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters2\civil\functionary\data\functionary2_co.paa"};
|
|
||||||
};
|
|
||||||
class pz_worker1: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\Ca\characters_E\Overall\Overall";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
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"};
|
|
||||||
};
|
|
||||||
class pz_worker2: pz_worker1
|
|
||||||
{
|
|
||||||
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_3_co.paa"};
|
|
||||||
};
|
|
||||||
class pz_worker3: pz_worker1
|
|
||||||
{
|
|
||||||
hiddenSelectionsTextures[] = {"\Ca\characters_E\Overall\Data\Overall_2_co.paa"};
|
|
||||||
};
|
|
||||||
|
|
||||||
class pz_doctor: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\ca\characters2\civil\Doctor\Doctor";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\dayz\textures\clothes\doctor_co.paa"};
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
tex[] = {};
|
|
||||||
mat[] = {"ca\characters2\civil\doctor\data\doctor.rvmat","ca\characters2\civil\doctor\data\W1_doctor.rvmat","ca\characters2\civil\doctor\data\W2_doctor.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class pz_teacher: pz_doctor
|
|
||||||
{
|
|
||||||
hiddenSelectionsTextures[] = {"\dayz\textures\clothes\teacher_co.paa"};
|
|
||||||
};
|
|
||||||
class pz_hunter: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\ca\characters2\civil\Woodlander\Woodlander";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
tex[] = {};
|
|
||||||
mat[] = {"ca\characters2\civil\Woodlander\data\Woodlander.rvmat","ca\characters2\civil\Woodlander\data\W1_Woodlander.rvmat","ca\characters2\civil\Woodlander\data\W2_Woodlander.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class pz_villager1: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\ca\characters2\civil\Villager\Villager";
|
|
||||||
hiddenSelections[] = {"Camo"};
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_co.paa"};
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
tex[] = {};
|
|
||||||
mat[] = {"ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters2\Civil\Villager\Data\villager.RVmat","ca\characters2\Civil\Villager\Data\villager_w1.RVmat","ca\characters2\Civil\Villager\Data\villager_w2.RVmat"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class pz_villager2: pz_villager1
|
|
||||||
{
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_v2_co.paa"};
|
|
||||||
};
|
|
||||||
class pz_villager3: pz_villager1
|
|
||||||
{
|
|
||||||
hiddenSelectionsTextures[] = {"\ca\characters2\civil\villager\data\villager_v3_co.paa"};
|
|
||||||
};
|
|
||||||
class pz_priest: PZombie_VB
|
|
||||||
{
|
|
||||||
model = "\ca\characters2\civil\Priest\Priest";
|
|
||||||
class Wounds
|
|
||||||
{
|
|
||||||
tex[] = {};
|
|
||||||
mat[] = {"ca\characters2\civil\priest\data\priest.rvmat","ca\characters2\civil\priest\data\W1_priest.rvmat","ca\characters2\civil\priest\data\W2_priest.rvmat","ca\characters\heads\male\defaulthead\data\hhl.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat","ca\characters\heads\male\defaulthead\data\hhl_Wounds.rvmat"};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class AllVehicles;
|
class AllVehicles;
|
||||||
class Air : AllVehicles
|
class Air : AllVehicles
|
||||||
{
|
{
|
||||||
@@ -516,6 +24,13 @@ class Citizen1; // External class reference
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class VIL_asistvan;
|
||||||
|
class VIL_asistvan_DZE: VIL_asistvan
|
||||||
|
{
|
||||||
|
transportrepair = 0;
|
||||||
|
};
|
||||||
|
|
||||||
class Mi17_base: Helicopter
|
class Mi17_base: Helicopter
|
||||||
{
|
{
|
||||||
@@ -753,6 +268,7 @@ class Citizen1; // External class reference
|
|||||||
scope = 2;
|
scope = 2;
|
||||||
side = 2;
|
side = 2;
|
||||||
faction = "PMC_BAF";
|
faction = "PMC_BAF";
|
||||||
|
enableGPS = 1;
|
||||||
crew = "";
|
crew = "";
|
||||||
typicalCargo[] = {};
|
typicalCargo[] = {};
|
||||||
transportMaxWeapons = 20;
|
transportMaxWeapons = 20;
|
||||||
@@ -763,7 +279,7 @@ class Citizen1; // External class reference
|
|||||||
class SUV_Camo: SUV_TK_CIV_EP1
|
class SUV_Camo: SUV_TK_CIV_EP1
|
||||||
{
|
{
|
||||||
displayName = "SUV Camo";
|
displayName = "SUV Camo";
|
||||||
hiddenSelectionsTextures[] = {"\z\addons\dayz_communityassets\textures\camo10.paa"};
|
hiddenSelectionsTextures[] = {"\z\addons\dayz_epoch\textures\camo10.paa"};
|
||||||
transportMaxWeapons = 10;
|
transportMaxWeapons = 10;
|
||||||
transportMaxMagazines = 100;
|
transportMaxMagazines = 100;
|
||||||
transportmaxbackpacks = 5;
|
transportmaxbackpacks = 5;
|
||||||
@@ -1558,149 +1074,9 @@ class Citizen1; // External class reference
|
|||||||
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
|
weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072";
|
||||||
canHideBodies = 1;
|
canHideBodies = 1;
|
||||||
};
|
};
|
||||||
class Bag_Base_EP1;
|
|
||||||
class Bag_Base_BAF;
|
|
||||||
class DZ_Patrol_Pack_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Patrol Pack (coyote)";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_US_ASSAULT_COYOTE_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_us_assault_Coyote.p3d";
|
|
||||||
transportMaxWeapons = 1;
|
|
||||||
transportMaxMagazines = 10;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_Assault_Pack_EP1: Bag_Base_EP1
|
#include "CfgVehicles\Bags.hpp"
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Assault Pack (ACU)";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_US_ASSAULT_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapSize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_us_assault.p3d";
|
|
||||||
transportMaxWeapons = 1;
|
|
||||||
transportMaxMagazines = 12;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_Czech_Vest_Puch: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
displayname = "Czech Vest Pouch";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_acr_small.p3d";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_ACR_small_CA.paa";
|
|
||||||
scope = 2;
|
|
||||||
transportmaxmagazines = 12;
|
|
||||||
transportmaxweapons = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_ALICE_Pack_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "ALICE Pack";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_TK_ALICE_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_tk_alice.p3d";
|
|
||||||
transportMaxWeapons = 2;
|
|
||||||
transportMaxMagazines = 20;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_TK_Assault_Pack_EP1 : Bag_Base_BAF
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Survival ACU";
|
|
||||||
mapSize = 2;
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_CIVIL_ASSAULT_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_civil_assault.p3d";
|
|
||||||
transportMaxWeapons = 2;
|
|
||||||
transportMaxMagazines = 22;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_British_ACU : Bag_Base_BAF
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "British Assault Pack";
|
|
||||||
mapSize = 2;
|
|
||||||
model = "\ca\weapons_baf\Backpack_Small_BAF";\
|
|
||||||
picture = "\ca\weapons_baf\data\UI\backpack_BAF_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
transportMaxWeapons = 3;
|
|
||||||
transportMaxMagazines = 30;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_CivilBackpack_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Czech Backpack";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_ACR_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_acr.p3d";
|
|
||||||
transportMaxWeapons = 4;
|
|
||||||
transportMaxMagazines = 40;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_Backpack_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Backpack (coyote)";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_US_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_us.p3d";
|
|
||||||
transportMaxWeapons = 5;
|
|
||||||
transportMaxMagazines = 50;
|
|
||||||
};
|
|
||||||
|
|
||||||
class DZ_LargeGunBag_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Large Gunbag";
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\StaticX.p3d";
|
|
||||||
picture = "\ca\weapons_e\data\icons\staticX_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
transportMaxWeapons = 6;
|
|
||||||
transportMaxMagazines = 60;
|
|
||||||
};
|
|
||||||
class DZ_GunBag_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Gunbag";
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\StaticY.p3d";
|
|
||||||
picture = "\ca\weapons_e\data\icons\staticY_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
transportMaxWeapons = 3;
|
|
||||||
transportMaxMagazines = 35;
|
|
||||||
};
|
|
||||||
class DZ_CompactPack_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Compact Pack";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_RPG_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapsize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_rpg.p3d";
|
|
||||||
transportMaxWeapons = 2;
|
|
||||||
transportMaxMagazines = 25;
|
|
||||||
};
|
|
||||||
class DZ_TerminalPack_EP1: Bag_Base_EP1
|
|
||||||
{
|
|
||||||
scope = 2;
|
|
||||||
displayName = "Terminal Pack";
|
|
||||||
picture = "\ca\weapons_e\data\icons\backpack_US_ASSAULT_CA.paa";
|
|
||||||
icon = "\ca\weapons_e\data\icons\mapIcon_backpack_CA.paa";
|
|
||||||
mapSize = 2;
|
|
||||||
model = "\ca\weapons_e\AmmoBoxes\backpack_us_AUV";
|
|
||||||
transportMaxWeapons = 1;
|
|
||||||
transportMaxMagazines = 15;
|
|
||||||
};
|
|
||||||
|
|
||||||
//An2_TK_EP1
|
//An2_TK_EP1
|
||||||
class An2_Base_EP1;
|
class An2_Base_EP1;
|
||||||
class AN2_DZ: An2_Base_EP1
|
class AN2_DZ: An2_Base_EP1
|
||||||
@@ -2178,6 +1554,56 @@ class Citizen1; // External class reference
|
|||||||
constructioncount = 4;
|
constructioncount = 4;
|
||||||
removeoutput[] = {{"ItemSandbagLarge",1}};
|
removeoutput[] = {{"ItemSandbagLarge",1}};
|
||||||
};
|
};
|
||||||
|
class Land_HBarrier3_DZ : BuiltItems {
|
||||||
|
model = "\ca\misc2\HBarrier3.p3d";
|
||||||
|
icon = "\Ca\misc2\data\Icons\icon_hescoBarrier3_ca.paa";
|
||||||
|
mapSize = 3.5;
|
||||||
|
displayName = "H-barrier (short)";
|
||||||
|
GhostPreview = "Land_HBarrier3ePreview";
|
||||||
|
scope = 2;
|
||||||
|
animated = 0;
|
||||||
|
vehicleClass = "Fortifications";
|
||||||
|
typicalCargo[] = {};
|
||||||
|
irTarget = 0;
|
||||||
|
accuracy = 0.3;
|
||||||
|
transportAmmo = 0;
|
||||||
|
transportRepair = 0;
|
||||||
|
transportFuel = 0;
|
||||||
|
destrType = "DestructBuilding";
|
||||||
|
armor = 500;
|
||||||
|
coefInside = 0.5;
|
||||||
|
coefInsideHeur = 0.8;
|
||||||
|
cost = 0;
|
||||||
|
picture = "\CA\ui\data\icon_wf_barriers_ca.paa";
|
||||||
|
offset[] = {0,2.5,0};
|
||||||
|
constructioncount = 8;
|
||||||
|
removeoutput[] = {{"ItemSandbagExLarge",1}};
|
||||||
|
};
|
||||||
|
|
||||||
|
class SandNest_DZ : BuiltItems {
|
||||||
|
scope = 2;
|
||||||
|
model = "\ca\Misc_E\fortified_nest_small_ep1";
|
||||||
|
displayName = "Sandbag Nest";
|
||||||
|
expansion = 1;
|
||||||
|
icon = "\Ca\misc3\data\Icons\icon_fortNestSmall_ca.paa";
|
||||||
|
mapSize = 5;
|
||||||
|
armor = 500;
|
||||||
|
irTarget = 0;
|
||||||
|
vehicleClass = "Fortifications";
|
||||||
|
GhostPreview = "Land_fortified_nest_smallPreview";
|
||||||
|
animated = 0;
|
||||||
|
simulation = "house";
|
||||||
|
accuracy = 0.2;
|
||||||
|
cost = 0;
|
||||||
|
ladders[] = {};
|
||||||
|
TextPlural = "Houses";
|
||||||
|
TextSingular = "House";
|
||||||
|
nameSound = "obj_house";
|
||||||
|
offset[] = {0,3,1};
|
||||||
|
removeoutput[] = {{"sandbag_nest_kit",1}};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// PLAYER BUILDINGS
|
// PLAYER BUILDINGS
|
||||||
// class Plastic_Pole_EP1;
|
// class Plastic_Pole_EP1;
|
||||||
@@ -2280,17 +1706,7 @@ class Citizen1; // External class reference
|
|||||||
vehicleClass = "Fortifications";
|
vehicleClass = "Fortifications";
|
||||||
removeoutput[] = {{"forest_large_net_kit",1}};
|
removeoutput[] = {{"forest_large_net_kit",1}};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Land_fortified_nest_small_EP1;
|
|
||||||
class SandNest_DZ: Land_fortified_nest_small_EP1
|
|
||||||
{
|
|
||||||
armor = 400;
|
|
||||||
scope = 2;
|
|
||||||
offset[] = {0,3,1};
|
|
||||||
displayName = "Sandbag Nest";
|
|
||||||
vehicleClass = "Fortifications";
|
|
||||||
removeoutput[] = {{"sandbag_nest_kit",1}};
|
|
||||||
};
|
|
||||||
class Land_Wall_Gate_Ind1_L;
|
class Land_Wall_Gate_Ind1_L;
|
||||||
class MetalGate_DZ: Land_Wall_Gate_Ind1_L
|
class MetalGate_DZ: Land_Wall_Gate_Ind1_L
|
||||||
{
|
{
|
||||||
@@ -2493,15 +1909,19 @@ class Citizen1; // External class reference
|
|||||||
{
|
{
|
||||||
init = "[(_this select 0),'cfgMagazines','ItemTentDomed2'] execVM '\z\addons\dayz_code\init\object_pickupAction.sqf';";
|
init = "[(_this select 0),'cfgMagazines','ItemTentDomed2'] execVM '\z\addons\dayz_code\init\object_pickupAction.sqf';";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class WeaponHolder_ItemVault: WeaponHolderBase
|
class WeaponHolder;
|
||||||
|
class WeaponHolder_ItemVault: WeaponHolder
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
displayName = "Safe";
|
displayName = "Safe";
|
||||||
model = "\z\addons\dayz_epoch\models\safe.p3d";
|
class transportmagazines
|
||||||
class eventHandlers
|
|
||||||
{
|
{
|
||||||
init = "[(_this select 0),'cfgMagazines','ItemVault'] execVM '\z\addons\dayz_code\init\object_pickupAction.sqf';";
|
class _xx_ItemVault
|
||||||
|
{
|
||||||
|
magazine = "ItemVault";
|
||||||
|
count = 1;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class WeaponHolder_ItemJerrycanEmpty: WeaponHolderBase
|
class WeaponHolder_ItemJerrycanEmpty: WeaponHolderBase
|
||||||
265
SQF/dayz_code/Configs/dialog.hpp
Normal file
265
SQF/dayz_code/Configs/dialog.hpp
Normal file
@@ -0,0 +1,265 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Styles
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
class RscTextTraderDialog
|
||||||
|
{
|
||||||
|
access = 0;
|
||||||
|
type = 0;
|
||||||
|
idc = -1;
|
||||||
|
colorBackground[] = {0,0,0,0};
|
||||||
|
colorText[] = {0.8784,0.8471,0.651,1};
|
||||||
|
text = "";
|
||||||
|
fixedWidth = 0;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
h = 0.037;
|
||||||
|
w = 0.3;
|
||||||
|
style = 0;
|
||||||
|
shadow = 2;
|
||||||
|
font = "Zeppelin32";
|
||||||
|
SizeEx = 0.03921;
|
||||||
|
};
|
||||||
|
class RscListBoxTraderDialog
|
||||||
|
{
|
||||||
|
access = 0;
|
||||||
|
type = 5;
|
||||||
|
w = 0.4;
|
||||||
|
h = 0.4;
|
||||||
|
rowHeight = 0;
|
||||||
|
colorText[] = {0.8784,0.8471,0.651,1};
|
||||||
|
colorScrollbar[] = {0.95,0.95,0.95,1};
|
||||||
|
colorSelect[] = {0.95,0.95,0.95,1};
|
||||||
|
colorSelect2[] = {0.95,0.95,0.95,1};
|
||||||
|
colorSelectBackground[] = {0,0,0,1};
|
||||||
|
colorSelectBackground2[] = {0.8784,0.8471,0.651,1};
|
||||||
|
colorBackground[] = {0,0,0,1};
|
||||||
|
soundSelect[] = {"",0.1,1};
|
||||||
|
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
||||||
|
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
||||||
|
class ScrollBar
|
||||||
|
{
|
||||||
|
color[] = {1,1,1,0.6};
|
||||||
|
colorActive[] = {1,1,1,1};
|
||||||
|
colorDisabled[] = {1,1,1,0.3};
|
||||||
|
shadow = 0;
|
||||||
|
thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa";
|
||||||
|
arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa";
|
||||||
|
arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa";
|
||||||
|
border = "\ca\ui\data\ui_border_scroll_ca.paa";
|
||||||
|
};
|
||||||
|
style = 16;
|
||||||
|
font = "Zeppelin32";
|
||||||
|
shadow = 2;
|
||||||
|
sizeEx = 0.03921;
|
||||||
|
color[] = {1,1,1,1};
|
||||||
|
period = 1.2;
|
||||||
|
maxHistoryDelay = 1;
|
||||||
|
autoScrollSpeed = -1;
|
||||||
|
autoScrollDelay = 5;
|
||||||
|
autoScrollRewind = 0;
|
||||||
|
};
|
||||||
|
class RscShortcutButtonTraderDialog
|
||||||
|
{
|
||||||
|
type = 16;
|
||||||
|
x = 0.1;
|
||||||
|
y = 0.1;
|
||||||
|
class HitZone
|
||||||
|
{
|
||||||
|
left = 0.004;
|
||||||
|
top = 0.029;
|
||||||
|
right = 0.004;
|
||||||
|
bottom = 0.029;
|
||||||
|
};
|
||||||
|
class ShortcutPos
|
||||||
|
{
|
||||||
|
left = 0.0145;
|
||||||
|
top = 0.026;
|
||||||
|
w = 0.0392157;
|
||||||
|
h = 0.0522876;
|
||||||
|
};
|
||||||
|
class TextPos
|
||||||
|
{
|
||||||
|
left = 0.05;
|
||||||
|
top = 0.034;
|
||||||
|
right = 0.005;
|
||||||
|
bottom = 0.005;
|
||||||
|
};
|
||||||
|
shortcuts[] = {};
|
||||||
|
textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";
|
||||||
|
color[] = {0.8784,0.8471,0.651,1};
|
||||||
|
color2[] = {0.95,0.95,0.95,1};
|
||||||
|
colorDisabled[] = {1,1,1,0.25};
|
||||||
|
colorBackground[] = {1,1,1,1};
|
||||||
|
colorBackground2[] = {1,1,1,0.4};
|
||||||
|
class Attributes
|
||||||
|
{
|
||||||
|
font = "Zeppelin32";
|
||||||
|
color = "#E5E5E5";
|
||||||
|
align = "left";
|
||||||
|
shadow = "true";
|
||||||
|
};
|
||||||
|
idc = -1;
|
||||||
|
style = 0;
|
||||||
|
default = 0;
|
||||||
|
shadow = 2;
|
||||||
|
w = 0.183825;
|
||||||
|
h = 0.104575;
|
||||||
|
periodFocus = 1.2;
|
||||||
|
periodOver = 0.8;
|
||||||
|
animTextureNormal = "\ca\ui\data\ui_button_normal_ca.paa";
|
||||||
|
animTextureDisabled = "\ca\ui\data\ui_button_disabled_ca.paa";
|
||||||
|
animTextureOver = "\ca\ui\data\ui_button_over_ca.paa";
|
||||||
|
animTextureFocused = "\ca\ui\data\ui_button_focus_ca.paa";
|
||||||
|
animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa";
|
||||||
|
animTextureDefault = "\ca\ui\data\ui_button_default_ca.paa";
|
||||||
|
period = 0.4;
|
||||||
|
font = "Zeppelin32";
|
||||||
|
size = 0.03921;
|
||||||
|
sizeEx = 0.03921;
|
||||||
|
text = "";
|
||||||
|
soundEnter[] = {"\ca\ui\data\sound\onover",0.09,1};
|
||||||
|
soundPush[] = {"\ca\ui\data\sound\new1",0,0};
|
||||||
|
soundClick[] = {"\ca\ui\data\sound\onclick",0.07,1};
|
||||||
|
soundEscape[] = {"\ca\ui\data\sound\onescape",0.09,1};
|
||||||
|
action = "";
|
||||||
|
class AttributesImage
|
||||||
|
{
|
||||||
|
font = "Zeppelin32";
|
||||||
|
color = "#E5E5E5";
|
||||||
|
align = "left";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class TraderDialog
|
||||||
|
{
|
||||||
|
idd = -1;
|
||||||
|
movingenable = 0;
|
||||||
|
|
||||||
|
class Controls {
|
||||||
|
class RscTextTraderDialog_1000: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
x = 0.283646 * safezoneW + safezoneX;
|
||||||
|
y = 0.22492 * safezoneH + safezoneY;
|
||||||
|
w = 0.432709 * safezoneW;
|
||||||
|
h = 0.55016 * safezoneH;
|
||||||
|
colorBackground[] = {0,0,0,0.7};
|
||||||
|
};
|
||||||
|
class RscTextTraderDialog_1001: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Trader Menu";
|
||||||
|
x = 0.283646 * safezoneW + safezoneX;
|
||||||
|
y = 0.22492 * safezoneH + safezoneY;
|
||||||
|
w = 0.432709 * safezoneW;
|
||||||
|
h = 0.055016 * safezoneH;
|
||||||
|
colorBackground[] = {0,0,0,0.7};
|
||||||
|
};
|
||||||
|
class RscListboxTraderDialog_1500: RscListboxTraderDialog
|
||||||
|
{
|
||||||
|
idc = 12000;
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.334952 * safezoneH + safezoneY;
|
||||||
|
w = 0.121699 * safezoneW;
|
||||||
|
h = 0.178802 * safezoneH;
|
||||||
|
onMouseButtonClick = "[(lbCurSel 12000)] spawn TraderDialogLoadItemList;";
|
||||||
|
};
|
||||||
|
class RscTextTraderDialog_1002: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Categories";
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.29369 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.027508 * safezoneH;
|
||||||
|
};
|
||||||
|
class RscListboxTraderDialog_1501: RscListboxTraderDialog
|
||||||
|
{
|
||||||
|
idc = 12001;
|
||||||
|
x = 0.425628 * safezoneW + safezoneX;
|
||||||
|
y = 0.334952 * safezoneH + safezoneY;
|
||||||
|
w = 0.283965 * safezoneW;
|
||||||
|
h = 0.385112 * safezoneH;
|
||||||
|
onMouseButtonClick = "[(lbCurSel 12001)] spawn TraderDialogShowPrices;";
|
||||||
|
};
|
||||||
|
class RscShortcutButtonTraderDialog_1700: RscShortcutButtonTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Buy";
|
||||||
|
x = 0.635221 * safezoneW + safezoneX;
|
||||||
|
y = 0.720064 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.055016 * safezoneH;
|
||||||
|
onButtonClick = "[(lbCurSel 12001)] call TraderDialogBuy; ((ctrlParent (_this select 0)) closeDisplay 9000);";
|
||||||
|
};
|
||||||
|
class RscShortcutButtonTraderDialog_1701: RscShortcutButtonTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Sell";
|
||||||
|
x = 0.540566 * safezoneW + safezoneX;
|
||||||
|
y = 0.720064 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.055016 * safezoneH;
|
||||||
|
onButtonClick = "[(lbCurSel 12001)] call TraderDialogSell; ((ctrlParent (_this select 0)) closeDisplay 9000);";
|
||||||
|
};
|
||||||
|
class RscTextTraderDialog_1003: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Buy For";
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.555016 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.027508 * safezoneH;
|
||||||
|
};
|
||||||
|
class RscTextTraderDialog_1004: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Sell For";
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.623786 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.027508 * safezoneH;
|
||||||
|
};
|
||||||
|
class RscTextTraderDialog_1005: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = 12002;
|
||||||
|
text = "";
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.582524 * safezoneH + safezoneY;
|
||||||
|
w = 0.114938 * safezoneW;
|
||||||
|
h = 0.027508 * safezoneH;
|
||||||
|
colorText[] = {1,1,1,1};
|
||||||
|
};
|
||||||
|
class RscTextTraderDialog_1006: RscTextTraderDialog
|
||||||
|
{
|
||||||
|
idc = 12003;
|
||||||
|
text = "";
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.651294 * safezoneH + safezoneY;
|
||||||
|
w = 0.114938 * safezoneW;
|
||||||
|
h = 0.027508 * safezoneH;
|
||||||
|
colorText[] = {1,1,1,1};
|
||||||
|
};
|
||||||
|
class RscShortcutButtonTraderDialog_1702: RscShortcutButtonTraderDialog
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Close";
|
||||||
|
x = 0.290407 * safezoneW + safezoneX;
|
||||||
|
y = 0.720064 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.055016 * safezoneH;
|
||||||
|
onButtonClick = "((ctrlParent (_this select 0)) closeDisplay 9000);";
|
||||||
|
};
|
||||||
|
class RscText_1007: RscText
|
||||||
|
{
|
||||||
|
idc = -1;
|
||||||
|
text = "Items";
|
||||||
|
x = 0.432389 * safezoneW + safezoneX;
|
||||||
|
y = 0.29369 * safezoneH + safezoneY;
|
||||||
|
w = 0.0743718 * safezoneW;
|
||||||
|
h = 0.027508 * safezoneH;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
//class RscPicture;
|
class RscPicture;
|
||||||
//class RscButton;
|
class RscButton;
|
||||||
class CA_IGUI_Title;
|
class CA_IGUI_Title;
|
||||||
class CA_Title;
|
class CA_Title;
|
||||||
class RscText;
|
class RscText;
|
||||||
@@ -149,7 +149,7 @@ class RscDisplayMain : RscStandardDisplay
|
|||||||
class DAYZ_Version : CA_Version
|
class DAYZ_Version : CA_Version
|
||||||
{
|
{
|
||||||
idc = -1;
|
idc = -1;
|
||||||
text = "DayZ Epoch 1.0.1.5 (1.7.6.1+)";
|
text = "DayZ Epoch 1.0.1.8";
|
||||||
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
||||||
};
|
};
|
||||||
delete CA_TitleMainMenu;
|
delete CA_TitleMainMenu;
|
||||||
@@ -95,60 +95,6 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
/// Base Classes
|
/// Base Classes
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
/*
|
|
||||||
class RscPicture
|
|
||||||
{
|
|
||||||
access = 0;
|
|
||||||
type = 0;
|
|
||||||
idc = -1;
|
|
||||||
style = 48;
|
|
||||||
colorBackground[] = {0,0,0,0};
|
|
||||||
colorText[] = {1,1,1,1};
|
|
||||||
font = "TahomaB";
|
|
||||||
sizeEx = 0;
|
|
||||||
lineSpacing = 0;
|
|
||||||
text = "";
|
|
||||||
fixedWidth = 0;
|
|
||||||
shadow = 0;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0.2;
|
|
||||||
h = 0.15;
|
|
||||||
};
|
|
||||||
class RscButton
|
|
||||||
{
|
|
||||||
access = 0;
|
|
||||||
type = 1;
|
|
||||||
text = "";
|
|
||||||
colorText[] = {0.8784,0.8471,0.651,1};
|
|
||||||
colorDisabled[] = {0.4,0.4,0.4,1};
|
|
||||||
colorBackground[] = {1,0.537,0,0.5};
|
|
||||||
colorBackgroundDisabled[] = {0.95,0.95,0.95,1};
|
|
||||||
colorBackgroundActive[] = {1,0.537,0,1};
|
|
||||||
colorFocused[] = {1,0.537,0,1};
|
|
||||||
colorShadow[] = {0.023529,0,0.0313725,1};
|
|
||||||
colorBorder[] = {0.023529,0,0.0313725,1};
|
|
||||||
soundEnter[] = {"\ca\ui\data\sound\onover",0.09,1};
|
|
||||||
soundPush[] = {"\ca\ui\data\sound\new1",0,0};
|
|
||||||
soundClick[] = {"\ca\ui\data\sound\onclick",0.07,1};
|
|
||||||
soundEscape[] = {"\ca\ui\data\sound\onescape",0.09,1};
|
|
||||||
style = 2;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0.095589;
|
|
||||||
h = 0.039216;
|
|
||||||
shadow = 2;
|
|
||||||
font = "Zeppelin33";
|
|
||||||
sizeEx = 0.03921;
|
|
||||||
offsetX = 0.003;
|
|
||||||
offsetY = 0.003;
|
|
||||||
offsetPressedX = 0.002;
|
|
||||||
offsetPressedY = 0.002;
|
|
||||||
borderSize = 0;
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
class RscPicture;
|
|
||||||
class RscButton;
|
|
||||||
|
|
||||||
class SafeKeyPad
|
class SafeKeyPad
|
||||||
{
|
{
|
||||||
@@ -58,8 +58,6 @@ _cookedmeat = meatcooked;
|
|||||||
if (_finished) then {
|
if (_finished) then {
|
||||||
|
|
||||||
_removed = _removed + ([player,_meat,_qty] call BIS_fnc_invRemove);
|
_removed = _removed + ([player,_meat,_qty] call BIS_fnc_invRemove);
|
||||||
|
|
||||||
// Add only number of items removed
|
|
||||||
for "_x" from 1 to _removed do {
|
for "_x" from 1 to _removed do {
|
||||||
player addMagazine _meatcooked;
|
player addMagazine _meatcooked;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,8 +27,9 @@ switch (_type) do {
|
|||||||
|
|
||||||
};
|
};
|
||||||
case 1: {
|
case 1: {
|
||||||
player removeMagazine "ItemWaterbottle";
|
if(([player,"ItemWaterbottle"] call BIS_fnc_invRemove) == 1) then {
|
||||||
player addMagazine "ItemWaterbottleUnfilled";
|
player addMagazine "ItemWaterbottleUnfilled";
|
||||||
|
};
|
||||||
_handle setFSMVariable ["_thirst",0];
|
_handle setFSMVariable ["_thirst",0];
|
||||||
player removeAction s_player_waterdog;
|
player removeAction s_player_waterdog;
|
||||||
s_player_waterdog = -1;
|
s_player_waterdog = -1;
|
||||||
|
|||||||
@@ -3,11 +3,25 @@ private ["_vehicle","_curFuel","_newFuel","_started","_finished","_animState","_
|
|||||||
if(TradeInprogress) exitWith { cutText ["Refuel already in progress." , "PLAIN DOWN"] };
|
if(TradeInprogress) exitWith { cutText ["Refuel already in progress." , "PLAIN DOWN"] };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
|
|
||||||
// Get all nearby vehicles within 10m
|
_isVehicle = false;
|
||||||
_findNearestVehicles = nearestObjects [player, ["AllVehicles"], 10];
|
|
||||||
|
_vehicleSrc = _this select 3;
|
||||||
|
|
||||||
|
if(!(isNull _vehicleSrc)) then {
|
||||||
|
|
||||||
|
_isVehicle = ((_vehicleSrc isKindOf "AllVehicles") and !(_vehicleSrc isKindOf "Man"));
|
||||||
|
// If fuel source is vehicle get actual capacity
|
||||||
|
_configSrcVeh = configFile >> "cfgVehicles" >> TypeOf(_vehicleSrc);
|
||||||
|
_capacitySrc = getNumber(_configVeh >> "fuelCapacity");
|
||||||
|
_nameTextSrc = getText(_configVeh >> "displayName");
|
||||||
|
};
|
||||||
|
|
||||||
|
// Get all nearby vehicles within 30m
|
||||||
|
_findNearestVehicles = nearestObjects [player, ["AllVehicles"], 30];
|
||||||
_findNearestVehicle = [];
|
_findNearestVehicle = [];
|
||||||
{
|
{
|
||||||
if (alive _x and !(_x isKindOf "Man")) then {
|
//diag_log ("FILL = " + str(_x) + " = " + str(_vehicleSrc));
|
||||||
|
if (alive _x and !(_x == _vehicleSrc) and !(_x isKindOf "Man")) exitWith {
|
||||||
_findNearestVehicle set [(count _findNearestVehicle),_x];
|
_findNearestVehicle set [(count _findNearestVehicle),_x];
|
||||||
};
|
};
|
||||||
} foreach _findNearestVehicles;
|
} foreach _findNearestVehicles;
|
||||||
@@ -24,7 +38,6 @@ if(_IsNearVehicle >= 1) then {
|
|||||||
_capacity = getNumber(_configVeh >> "fuelCapacity");
|
_capacity = getNumber(_configVeh >> "fuelCapacity");
|
||||||
_nameText = getText(_configVeh >> "displayName");
|
_nameText = getText(_configVeh >> "displayName");
|
||||||
|
|
||||||
|
|
||||||
_isOk = true;
|
_isOk = true;
|
||||||
// perform fuel up
|
// perform fuel up
|
||||||
while {_isOk} do {
|
while {_isOk} do {
|
||||||
@@ -76,25 +89,44 @@ if(_IsNearVehicle >= 1) then {
|
|||||||
|
|
||||||
if (_finished) then {
|
if (_finished) then {
|
||||||
|
|
||||||
// Get vehicle fuel levels again
|
_isFillok = true;
|
||||||
_curFuel = ((fuel _vehicle) * _capacity);
|
|
||||||
_newFuel = (_curFuel + _canSize);
|
|
||||||
|
|
||||||
if (_newFuel > _capacity) then {_newFuel = _capacity; _abort = true; };
|
// add checks for fuel level
|
||||||
|
if(_isVehicle) then {
|
||||||
|
_curFuelSrc = ((fuel _vehicleSrc) * _capacitySrc);
|
||||||
|
_newFuelSrc = (_curFuelSrc - _canSize);
|
||||||
|
|
||||||
// calculate minimum needed fuel
|
// calculate new fuel
|
||||||
_newFuel = (_newFuel / _capacity);
|
_newFuelSrc = (_newFuelSrc / _capacitySrc);
|
||||||
|
if (_newFuelSrc > 0) then {
|
||||||
dayzSetFuel = [_vehicle,_newFuel];
|
dayzSetFuel = [_vehicleSrc,_newFuelSrc];
|
||||||
if (local _vehicle) then {
|
dayzSetFuel spawn local_setFuel;
|
||||||
dayzSetFuel spawn local_setFuel;
|
publicVariable "dayzSetFuel";
|
||||||
|
} else {
|
||||||
|
_isFillok = false;
|
||||||
|
_abort = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
publicVariable "dayzSetFuel";
|
|
||||||
|
if (_isFillok) then {
|
||||||
|
// Get vehicle fuel levels again
|
||||||
|
_curFuel = ((fuel _vehicle) * _capacity);
|
||||||
|
_newFuel = (_curFuel + _canSize);
|
||||||
|
|
||||||
// Play sound
|
if (_newFuel > _capacity) then {_newFuel = _capacity; _abort = true; };
|
||||||
[player,"refuel",0,false] call dayz_zombieSpeak;
|
|
||||||
|
|
||||||
cutText [format["%1 filled to %2 percent capacity.",_nameText,round(_newFuel*100)], "PLAIN DOWN"];
|
// calculate minimum needed fuel
|
||||||
|
_newFuel = (_newFuel / _capacity);
|
||||||
|
|
||||||
|
dayzSetFuel = [_vehicle,_newFuel];
|
||||||
|
dayzSetFuel spawn local_setFuel;
|
||||||
|
publicVariable "dayzSetFuel";
|
||||||
|
|
||||||
|
// Play sound
|
||||||
|
[player,"refuel",0,false] call dayz_zombieSpeak;
|
||||||
|
|
||||||
|
cutText [format["%1 filled to %2 percent capacity.",_nameText,round(_newFuel*100)], "PLAIN DOWN"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_abort) exitWith {};
|
if(_abort) exitWith {};
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ if (_finished) then {
|
|||||||
if(!(_vehicle getVariable ["GeneratorFilled", false]) and ("ItemJerrycan" in magazines player)) then {
|
if(!(_vehicle getVariable ["GeneratorFilled", false]) and ("ItemJerrycan" in magazines player)) then {
|
||||||
|
|
||||||
if(([player,"ItemJerrycan"] call BIS_fnc_invRemove) == 1) then {
|
if(([player,"ItemJerrycan"] call BIS_fnc_invRemove) == 1) then {
|
||||||
|
|
||||||
player addMagazine "ItemJerrycanEmpty";
|
player addMagazine "ItemJerrycanEmpty";
|
||||||
|
|
||||||
// mark as once filled
|
// mark as once filled
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ private ["_item","_hasKnife","_hasKnifeBlunt","_hasHarvested","_qty","_text","_s
|
|||||||
if(TradeInprogress) exitWith { cutText ["Gutting animal already in progress." , "PLAIN DOWN"]; };
|
if(TradeInprogress) exitWith { cutText ["Gutting animal already in progress." , "PLAIN DOWN"]; };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
|
|
||||||
|
player removeAction s_player_butcher;
|
||||||
|
s_player_butcher = 1;
|
||||||
|
|
||||||
_item = _this select 3;
|
_item = _this select 3;
|
||||||
_hasKnife = "ItemKnife" in items player;
|
_hasKnife = "ItemKnife" in items player;
|
||||||
_hasKnifeBlunt = "ItemKnifeBlunt" in items player;
|
_hasKnifeBlunt = "ItemKnifeBlunt" in items player;
|
||||||
@@ -10,9 +13,6 @@ _type = typeOf _item;
|
|||||||
_hasHarvested = _item getVariable["meatHarvested",false];
|
_hasHarvested = _item getVariable["meatHarvested",false];
|
||||||
_config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
_config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
||||||
|
|
||||||
player removeAction s_player_butcher;
|
|
||||||
s_player_butcher = 1;
|
|
||||||
|
|
||||||
if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
||||||
//Get Animal Type
|
//Get Animal Type
|
||||||
_isListed = isClass (_config);
|
_isListed = isClass (_config);
|
||||||
@@ -73,15 +73,10 @@ if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
|||||||
|
|
||||||
if (_hasKnifeBlunt) then { _qty = round(_qty / 2); };
|
if (_hasKnifeBlunt) then { _qty = round(_qty / 2); };
|
||||||
|
|
||||||
_array = [_item,_qty];
|
dayzGutBody = [_item,_qty];
|
||||||
|
dayzGutBody spawn local_gutObject;
|
||||||
if (local _item) then {
|
publicVariable "dayzGutBody";
|
||||||
_array spawn local_gutObject;
|
|
||||||
} else {
|
|
||||||
dayzGutBody = _array;
|
|
||||||
publicVariable "dayzGutBody";
|
|
||||||
};
|
|
||||||
|
|
||||||
_string = format[localize "str_success_gutted_animal",_text,_qty];
|
_string = format[localize "str_success_gutted_animal",_text,_qty];
|
||||||
cutText [_string, "PLAIN DOWN"];
|
cutText [_string, "PLAIN DOWN"];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ private ["_hasKnife","_qty","_item","_text","_string","_type","_started","_finis
|
|||||||
if(TradeInprogress) exitWith { cutText ["Gutting zombie already in progress." , "PLAIN DOWN"]; };
|
if(TradeInprogress) exitWith { cutText ["Gutting zombie already in progress." , "PLAIN DOWN"]; };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
|
|
||||||
|
player removeAction s_player_butcher;
|
||||||
|
s_player_butcher = 1;
|
||||||
|
|
||||||
_item = _this select 3;
|
_item = _this select 3;
|
||||||
_hasKnife = "ItemKnife" in items player;
|
_hasKnife = "ItemKnife" in items player;
|
||||||
_hasKnifeBlunt = "ItemKnifeBlunt" in items player;
|
_hasKnifeBlunt = "ItemKnifeBlunt" in items player;
|
||||||
@@ -10,9 +13,6 @@ _type = typeOf _item;
|
|||||||
_hasHarvested = _item getVariable["meatHarvested",false];
|
_hasHarvested = _item getVariable["meatHarvested",false];
|
||||||
//_config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
//_config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
||||||
|
|
||||||
player removeAction s_player_butcher;
|
|
||||||
s_player_butcher = 1;
|
|
||||||
|
|
||||||
if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
||||||
//Get Animal Type
|
//Get Animal Type
|
||||||
//_loop = true;
|
//_loop = true;
|
||||||
@@ -69,14 +69,9 @@ if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
|
|||||||
|
|
||||||
_qty = 1;
|
_qty = 1;
|
||||||
|
|
||||||
_array = [_item,_qty];
|
dayzGutBody = [_item,_qty];
|
||||||
|
dayzGutBody spawn local_gutObjectZ;
|
||||||
if (local _item) then {
|
publicVariable "dayzGutBodyZ";
|
||||||
_array spawn local_gutObjectZ;
|
|
||||||
} else {
|
|
||||||
dayzGutBody = _array;
|
|
||||||
publicVariable "dayzGutBodyZ";
|
|
||||||
};
|
|
||||||
|
|
||||||
// Reduce humanity for gutting zeds
|
// Reduce humanity for gutting zeds
|
||||||
_humanity = player getVariable["humanity",0];
|
_humanity = player getVariable["humanity",0];
|
||||||
|
|||||||
@@ -9,18 +9,23 @@ s_player_fillfuel = 1;
|
|||||||
_fillCounter = 0;
|
_fillCounter = 0;
|
||||||
_abort = false;
|
_abort = false;
|
||||||
|
|
||||||
_qty = {_x == "ItemJerrycanEmpty"} count magazines player;
|
_fuelCans = [];
|
||||||
|
|
||||||
for "_x" from 1 to _qty do {
|
{
|
||||||
|
if(_x == "ItemJerrycanEmpty" or _x == "ItemFuelBarrelEmpty") then {
|
||||||
|
_fuelCans set [(count _fuelCans),_x];
|
||||||
|
};
|
||||||
|
} forEach magazines player;
|
||||||
|
|
||||||
|
_qty = count _fuelCans;
|
||||||
|
|
||||||
|
{
|
||||||
|
_displayName = getText (configFile >> "cfgMagazines" >> _x >> "displayName");
|
||||||
|
|
||||||
_fillCounter = _fillCounter + 1;
|
_fillCounter = _fillCounter + 1;
|
||||||
|
|
||||||
if(_qty == 1) then {
|
cutText [format["Preparing to siphon, stand still to fill %1.",_displayName], "PLAIN DOWN"];
|
||||||
cutText ["Preparing to siphon, stand still to fill empty jerry can.", "PLAIN DOWN"];
|
|
||||||
} else {
|
|
||||||
cutText [format[("Preparing to siphon, stand still to fill empty jerry can %1 of %2."),_fillCounter,_qty] , "PLAIN DOWN"];
|
|
||||||
};
|
|
||||||
|
|
||||||
// force animation
|
// force animation
|
||||||
player playActionNow "Medic";
|
player playActionNow "Medic";
|
||||||
// Play sound and alert zombies
|
// Play sound and alert zombies
|
||||||
@@ -64,22 +69,22 @@ for "_x" from 1 to _qty do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (_finished) then {
|
if (_finished) then {
|
||||||
|
if(([player,_x] call BIS_fnc_invRemove) == 1) then {
|
||||||
if ("ItemJerrycanEmpty" in magazines player) then {
|
if (_x == "ItemFuelBarrelEmpty") then {
|
||||||
|
player addMagazine "ItemFuelBarrel";
|
||||||
player removeMagazine "ItemJerrycanEmpty";
|
} else {
|
||||||
player addMagazine "ItemJerrycan";
|
player addMagazine "ItemJerrycan";
|
||||||
|
};
|
||||||
cutText [format[(localize "str_player_09"),1], "PLAIN DOWN"];
|
cutText [format["You have filled %1 with fuel.",_displayName], "PLAIN DOWN"];
|
||||||
} else {
|
} else {
|
||||||
cutText [(localize "str_player_10") , "PLAIN DOWN"];
|
|
||||||
_abort = true;
|
_abort = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sleep 1;
|
sleep 1;
|
||||||
if(_abort) exitWith {};
|
if(_abort) exitWith {};
|
||||||
};
|
|
||||||
|
} forEach _fuelCans;
|
||||||
|
|
||||||
s_player_fillfuel = -1;
|
s_player_fillfuel = -1;
|
||||||
TradeInprogress = false;
|
TradeInprogress = false;
|
||||||
@@ -3,12 +3,12 @@ private ["_array","_type","_classname","_holder","_config","_isOk","_muzzles","_
|
|||||||
// Exit if player zombie
|
// Exit if player zombie
|
||||||
if(player isKindOf "PZombie_VB") exitWith {};
|
if(player isKindOf "PZombie_VB") exitWith {};
|
||||||
|
|
||||||
if(TradeInprogress) exitWith { cutText ["Take item already in progress." , "PLAIN DOWN"]; };
|
|
||||||
TradeInprogress = true;
|
|
||||||
|
|
||||||
// Test cannot lock while another player is nearby
|
// Test cannot lock while another player is nearby
|
||||||
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
|
// _playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
|
||||||
if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot take item while another player is nearby." , "PLAIN DOWN"]; };
|
// if(_playerNear) exitWith {cutText ["Cannot take item while another player is nearby." , "PLAIN DOWN"]; };
|
||||||
|
|
||||||
|
if (!DZE_CanPickup) exitWith { cutText ["Take item already in progress." , "PLAIN DOWN"]; };
|
||||||
|
DZE_CanPickup = false;
|
||||||
|
|
||||||
_array = _this select 3;
|
_array = _this select 3;
|
||||||
_type = _array select 0;
|
_type = _array select 0;
|
||||||
@@ -29,9 +29,10 @@ if (_claimedBy == "0" or !_playerNear) then {
|
|||||||
_holder setVariable["claimed",_playerID,true];
|
_holder setVariable["claimed",_playerID,true];
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_classname isKindOf "TrapBear") exitwith {TradeInprogress = false; deleteVehicle _holder;};
|
if(_classname isKindOf "TrapBear") exitwith {DZE_CanPickup = true; deleteVehicle _holder;};
|
||||||
|
|
||||||
player playActionNow "PutDown";
|
player playActionNow "PutDown";
|
||||||
|
|
||||||
if (_classname == "MeleeCrowbar") then {
|
if (_classname == "MeleeCrowbar") then {
|
||||||
player addMagazine 'crowbar_swing';
|
player addMagazine 'crowbar_swing';
|
||||||
};
|
};
|
||||||
@@ -45,26 +46,18 @@ if (_classname == "MeleeFishingPole") then {
|
|||||||
player addMagazine 'Fishing_Swing';
|
player addMagazine 'Fishing_Swing';
|
||||||
};
|
};
|
||||||
|
|
||||||
_broken = false;
|
|
||||||
if(_classname == "WoodenArrow") then {
|
|
||||||
if (20 > random 100) then {
|
|
||||||
_broken = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
if (_broken) exitWith { deleteVehicle _holder; TradeInprogress = false; cutText [localize "str_broken_arrow", "PLAIN DOWN"] };
|
|
||||||
|
|
||||||
sleep 1;
|
sleep 1;
|
||||||
|
|
||||||
_claimedBy = _holder getVariable["claimed","0"];
|
_claimedBy = _holder getVariable["claimed","0"];
|
||||||
|
|
||||||
if (_claimedBy != _playerID) exitWith {TradeInprogress = false; cutText [format[(localize "str_player_beinglooted"),_text] , "PLAIN DOWN"]};
|
if (_claimedBy != _playerID) exitWith {sleep 1; DZE_CanPickup = true; cutText [format[(localize "str_player_beinglooted"),_text] , "PLAIN DOWN"]};
|
||||||
|
|
||||||
if(_classname isKindOf "Bag_Base_EP1") then {
|
if(_classname isKindOf "Bag_Base_EP1") then {
|
||||||
diag_log("Picked up a bag: " + _classname);
|
diag_log("Picked up a bag: " + _classname);
|
||||||
};
|
};
|
||||||
|
|
||||||
// test to see if item still exists just before adding and removing
|
// test to see if item still exists just before adding and removing
|
||||||
if(isNull _holder) exitWith { TradeInprogress = false; };
|
if(isNull _holder) exitWith { sleep 1; DZE_CanPickup = true; };
|
||||||
|
|
||||||
_obj = nearestObjects [(getPosATL player), [(typeOf _holder)], 5];
|
_obj = nearestObjects [(getPosATL player), [(typeOf _holder)], 5];
|
||||||
_qty = count _obj;
|
_qty = count _obj;
|
||||||
@@ -105,4 +98,6 @@ if(_qty >= 1) then {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
TradeInprogress = false;
|
|
||||||
|
sleep 1;
|
||||||
|
DZE_CanPickup = true;
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
private ["_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_isBuilding","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_buildings","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole"];
|
/*
|
||||||
|
DayZ Base Building
|
||||||
|
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||||
|
*/
|
||||||
|
private ["_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText"];
|
||||||
|
|
||||||
if(TradeInprogress) exitWith { cutText ["Building already in progress." , "PLAIN DOWN"]; };
|
if(TradeInprogress) exitWith { cutText ["Building already in progress." , "PLAIN DOWN"]; };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
@@ -8,6 +12,9 @@ _isWater = (surfaceIsWater (getPosATL player)) or dayz_isSwimming;
|
|||||||
_cancel = false;
|
_cancel = false;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
_canBuildOnPlot = false;
|
_canBuildOnPlot = false;
|
||||||
|
DZE_BuildingZ = 0;
|
||||||
|
|
||||||
|
DZE_5 = false;
|
||||||
|
|
||||||
call gear_ui_init;
|
call gear_ui_init;
|
||||||
|
|
||||||
@@ -17,15 +24,14 @@ if(player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = f
|
|||||||
|
|
||||||
_item = _this;
|
_item = _this;
|
||||||
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
|
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
|
||||||
|
_classnametmp = _classname;
|
||||||
_require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
|
_require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
|
||||||
|
|
||||||
_needNearby = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "needNearby");
|
|
||||||
|
|
||||||
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
||||||
|
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
|
||||||
|
|
||||||
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
||||||
|
|
||||||
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
|
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
|
||||||
_isWorkBench = (_classname == "WorkBench_DZ");
|
|
||||||
|
|
||||||
_distance = 30;
|
_distance = 30;
|
||||||
_needText = "Plot Pole";
|
_needText = "Plot Pole";
|
||||||
@@ -34,66 +40,42 @@ if(_isPole) then {
|
|||||||
_distance = 45;
|
_distance = 45;
|
||||||
};
|
};
|
||||||
|
|
||||||
if((count _needNearby) == 0) then {
|
|
||||||
_needNearby = ["Plastic_Pole_EP1_DZ"];
|
|
||||||
} else {
|
|
||||||
if("dayz_fuelpumparray" in _needNearby) then {
|
|
||||||
_needNearby = dayz_fuelpumparray;
|
|
||||||
_needText = "Fuel Pump";
|
|
||||||
};
|
|
||||||
if("dayz_fuelsources" in _needNearby) then {
|
|
||||||
_needNearby = dayz_fuelsources;
|
|
||||||
_needText = "Fuel Tanks";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// check for near plot
|
// check for near plot
|
||||||
_findNearestPoles = nearestObjects [(vehicle player), _needNearby, _distance];
|
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
|
||||||
_findNearestPole = [];
|
_findNearestPole = [];
|
||||||
|
|
||||||
{if (alive _x) then {_findNearestPole set [(count _findNearestPole),_x];};} foreach _findNearestPoles;
|
{
|
||||||
|
if (alive _x) then {
|
||||||
|
_findNearestPole set [(count _findNearestPole),_x];
|
||||||
|
};
|
||||||
|
} foreach _findNearestPoles;
|
||||||
|
|
||||||
_IsNearPlot = count (_findNearestPole);
|
_IsNearPlot = count (_findNearestPole);
|
||||||
|
|
||||||
// If item is plot pole and another one exists within 45m
|
// If item is plot pole and another one exists within 45m
|
||||||
if(_isPole and _IsNearPlot > 0) exitWith { TradeInprogress = false; cutText ["Cannot build plot pole within 45m of an existing plot." , "PLAIN DOWN"]; };
|
if(_isPole and _IsNearPlot > 0) exitWith { TradeInprogress = false; cutText ["Cannot build plot pole within 45m of an existing plot." , "PLAIN DOWN"]; };
|
||||||
|
|
||||||
if(_IsNearPlot == 0) then {
|
if(_IsNearPlot == 0) then {
|
||||||
|
_canBuildOnPlot = true;
|
||||||
// Allow building of plot
|
|
||||||
if(_isPole or _isWorkBench) then {
|
|
||||||
_canBuildOnPlot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Since there are plots nearby we check for ownership and then for friend status
|
|
||||||
|
// check nearby plots ownership and then for friend status
|
||||||
|
_nearestPole = _findNearestPole select 0;
|
||||||
|
|
||||||
if("Plastic_Pole_EP1_DZ" in _needNearby) then {
|
// Find owner
|
||||||
_nearestPole = _findNearestPole select 0;
|
_ownerID = _nearestPole getVariable["CharacterID","0"];
|
||||||
|
|
||||||
// Find owner
|
// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
|
||||||
_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 {
|
||||||
// check if friendly to owner
|
_canBuildOnPlot = true;
|
||||||
if(dayz_characterID == _ownerID) then {
|
|
||||||
// owner can build anything within his plot except other plots
|
|
||||||
if(!_isPole) then {
|
|
||||||
_canBuildOnPlot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// disallow building plot
|
|
||||||
if(!_isPole) then {
|
|
||||||
_friendlies = player getVariable ["friendlyTo",[]];
|
|
||||||
// check if friendly to owner
|
|
||||||
if(_ownerID in _friendlies) then {
|
|
||||||
_canBuildOnPlot = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
} else {
|
} else {
|
||||||
_canBuildOnPlot = true;
|
_friendlies = player getVariable ["friendlyTo",[]];
|
||||||
|
// check if friendly to owner
|
||||||
|
if(_ownerID in _friendlies) then {
|
||||||
|
_canBuildOnPlot = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -114,60 +96,118 @@ if (!_hasrequireditem) exitWith {TradeInprogress = false; cutText [format["Missi
|
|||||||
if (_hasrequireditem) then {
|
if (_hasrequireditem) then {
|
||||||
|
|
||||||
_location = [0,0,0];
|
_location = [0,0,0];
|
||||||
_dir = getDir player;
|
|
||||||
|
|
||||||
player allowDamage false;
|
|
||||||
|
|
||||||
_position = player modeltoworld _offset;
|
|
||||||
_position = [(_position select 0),(_position select 1), 0];
|
|
||||||
|
|
||||||
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
|
||||||
|
|
||||||
_object setDir _dir;
|
|
||||||
|
|
||||||
_object setPos _position;
|
|
||||||
|
|
||||||
_object allowDamage false;
|
|
||||||
|
|
||||||
_object attachTo [player];
|
|
||||||
|
|
||||||
_counter = 0;
|
_counter = 0;
|
||||||
_isOk = true;
|
_isOk = true;
|
||||||
|
|
||||||
while {_isOk} do {
|
while {_isOk} do {
|
||||||
|
|
||||||
if (player getVariable["combattimeout", 0] >= time) exitWith {
|
|
||||||
_isOk = false;
|
|
||||||
_cancel = true;
|
if(_counter == 0) then {
|
||||||
_reason = "Cannot build while in combat.";
|
// get inital players position
|
||||||
|
_location1 = getPosATL player;
|
||||||
|
_dir = getDir player;
|
||||||
|
_position = player modeltoworld _offset;
|
||||||
|
_position = [(_position select 0),(_position select 1), (_position select 2)];
|
||||||
|
hintSilent str (_position);
|
||||||
|
|
||||||
|
// if ghost preview available use that instead
|
||||||
|
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
|
||||||
|
if (_ghost == "") then {
|
||||||
|
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||||
|
} else {
|
||||||
|
_classname = _ghost;
|
||||||
|
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||||
|
};
|
||||||
|
|
||||||
|
_object setDir _dir;
|
||||||
|
_object setPos _position;
|
||||||
|
_object attachTo [player];
|
||||||
};
|
};
|
||||||
|
|
||||||
cutText ["Planning construction stand still 5 seconds to build.", "PLAIN DOWN"];
|
_zheightchanged = false;
|
||||||
|
|
||||||
|
if (DZE_Q) then {
|
||||||
|
DZE_Q = false;
|
||||||
|
DZE_BuildingZ = DZE_BuildingZ + 0.1;
|
||||||
|
_zheightchanged = true;
|
||||||
|
};
|
||||||
|
if (DZE_Z) then {
|
||||||
|
DZE_Z = false;
|
||||||
|
DZE_BuildingZ = DZE_BuildingZ - 0.1;
|
||||||
|
|
||||||
|
_zheightchanged = true;
|
||||||
|
};
|
||||||
|
|
||||||
_location1 = getPosATL player;
|
if(_zheightchanged) then {
|
||||||
sleep 5;
|
detach _object;
|
||||||
|
deleteVehicle _object;
|
||||||
|
|
||||||
|
_dir = getDir player;
|
||||||
|
_position = player modeltoworld _offset;
|
||||||
|
_position = [(_position select 0),(_position select 1), (_position select 2)+DZE_BuildingZ];
|
||||||
|
|
||||||
|
hintSilent str (_position);
|
||||||
|
|
||||||
|
// if ghost preview available use that instead
|
||||||
|
|
||||||
|
if (_ghost == "") then {
|
||||||
|
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||||
|
} else {
|
||||||
|
_classname = _ghost;
|
||||||
|
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||||
|
};
|
||||||
|
|
||||||
|
_object setDir _dir;
|
||||||
|
_object setPos _position;
|
||||||
|
_object attachTo [player];
|
||||||
|
};
|
||||||
|
|
||||||
|
cutText ["Planning construction numpad 8 = up, numpad 2 = down, and numpad 5 to start building.", "PLAIN DOWN"];
|
||||||
|
|
||||||
|
_location0 = getPosATL player;
|
||||||
|
|
||||||
|
sleep 1;
|
||||||
|
|
||||||
_location2 = getPosATL player;
|
_location2 = getPosATL player;
|
||||||
|
|
||||||
if(_location1 distance _location2 < 0.1) exitWith {
|
if(DZE_5) exitWith {
|
||||||
_isOk = false;
|
_isOk = false;
|
||||||
|
detach _object;
|
||||||
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_location1 distance _location2 > 5) exitWith {
|
if(_location1 distance _location2 > 5) exitWith {
|
||||||
_isOk = false;
|
_isOk = false;
|
||||||
_cancel = true;
|
_cancel = true;
|
||||||
_reason = "Moving to fast.";
|
_reason = "Moving to fast.";
|
||||||
|
detach _object;
|
||||||
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_counter >= 3) exitWith {
|
if(_counter >= 45) exitWith {
|
||||||
_isOk = false;
|
_isOk = false;
|
||||||
_cancel = true;
|
_cancel = true;
|
||||||
_reason = "Ran out of time to find position.";
|
_reason = "Ran out of time to find position.";
|
||||||
|
detach _object;
|
||||||
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
_counter = _counter + 1;
|
_counter = _counter + 1;
|
||||||
|
|
||||||
|
if (player getVariable["combattimeout", 0] >= time) exitWith {
|
||||||
|
_isOk = false;
|
||||||
|
_cancel = true;
|
||||||
|
_reason = "Cannot build while in combat.";
|
||||||
|
detach _object;
|
||||||
|
deleteVehicle _object;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
detach _object;
|
|
||||||
deleteVehicle _object;
|
_classname = _classnametmp;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Start Build
|
// Start Build
|
||||||
@@ -178,31 +218,19 @@ if (_hasrequireditem) then {
|
|||||||
|
|
||||||
// Get position based on player
|
// Get position based on player
|
||||||
_location = player modeltoworld _offset;
|
_location = player modeltoworld _offset;
|
||||||
|
|
||||||
|
_location = [(_location select 0),(_location select 1),(_position select 2)];
|
||||||
|
|
||||||
|
hintSilent str (_location);
|
||||||
|
|
||||||
|
_tmpbuilt setpos _location;
|
||||||
|
|
||||||
// No building on roads
|
// No building on roads
|
||||||
if (isOnRoad _location) then { _cancel = true; _reason = "Cannot build on a road."; };
|
if (isOnRoad _location) then { _cancel = true; _reason = "Cannot build on a road."; };
|
||||||
|
|
||||||
// set building with ground
|
|
||||||
_location = [(_location select 0),(_location select 1), 0];
|
|
||||||
_tmpbuilt setpos _location;
|
|
||||||
|
|
||||||
// set building with offset
|
|
||||||
// _tmpbuilt setpos _location;
|
|
||||||
|
|
||||||
player allowDamage true;
|
|
||||||
|
|
||||||
// testing new way of finding building
|
|
||||||
_buildings = nearestObjects [(vehicle player), ["Building"], 100];
|
|
||||||
{
|
|
||||||
_isBuilding = [(vehicle player),_x] call fnc_isInsideBuilding;
|
|
||||||
if(_isBuilding) exitWith {
|
|
||||||
_cancel = true;
|
|
||||||
_reason = "Cannot build inside another building.";
|
|
||||||
};
|
|
||||||
} forEach _buildings;
|
|
||||||
|
|
||||||
// No building in trader zones
|
// No building in trader zones
|
||||||
if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
|
if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
|
||||||
|
if(!placevault) then { _cancel = true; _reason = "Cannot build in a city."; };
|
||||||
|
|
||||||
if(!_cancel) then {
|
if(!_cancel) then {
|
||||||
|
|
||||||
|
|||||||
@@ -20,20 +20,7 @@ _findNearestTree = [];
|
|||||||
|
|
||||||
if (alive _x) then {
|
if (alive _x) then {
|
||||||
|
|
||||||
_objInfo = toArray(str(_x));
|
_objName = _x call DZE_getModelName;
|
||||||
_lenInfo = count _objInfo - 1;
|
|
||||||
_objName = [];
|
|
||||||
_i = 0;
|
|
||||||
// determine where the object name starts
|
|
||||||
{
|
|
||||||
if (58 == _objInfo select _i) exitWith {};
|
|
||||||
_i = _i + 1;
|
|
||||||
} forEach _objInfo;
|
|
||||||
_i = _i + 2; // skip the ": " part
|
|
||||||
for "_k" from _i to _lenInfo do {
|
|
||||||
_objName = _objName + [_objInfo select _k];
|
|
||||||
};
|
|
||||||
_objName = toLower(toString(_objName));
|
|
||||||
|
|
||||||
// Exit since we found a tree
|
// Exit since we found a tree
|
||||||
if (_objName in _trees) exitWith {
|
if (_objName in _trees) exitWith {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ TradeInprogress = true;
|
|||||||
// temp array of removed parts
|
// temp array of removed parts
|
||||||
_temp_removed_array = [];
|
_temp_removed_array = [];
|
||||||
_abort = false;
|
_abort = false;
|
||||||
_distance = 2;
|
_distance = 3;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
|
|
||||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ TradeInprogress = true;
|
|||||||
// temp array of removed parts
|
// temp array of removed parts
|
||||||
_temp_removed_array = [];
|
_temp_removed_array = [];
|
||||||
_abort = false;
|
_abort = false;
|
||||||
_distance = 2;
|
_distance = 3;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
|
|
||||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ TradeInprogress = true;
|
|||||||
// temp array of removed parts
|
// temp array of removed parts
|
||||||
_temp_removed_array = [];
|
_temp_removed_array = [];
|
||||||
_abort = false;
|
_abort = false;
|
||||||
_distance = 2;
|
_distance = 3;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
|
|
||||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ TradeInprogress = true;
|
|||||||
// temp array of removed parts
|
// temp array of removed parts
|
||||||
_temp_removed_array = [];
|
_temp_removed_array = [];
|
||||||
_abort = false;
|
_abort = false;
|
||||||
_distance = 2;
|
_distance = 3;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
|
|
||||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ TradeInprogress = true;
|
|||||||
// temp array of removed parts
|
// temp array of removed parts
|
||||||
_temp_removed_array = [];
|
_temp_removed_array = [];
|
||||||
_abort = false;
|
_abort = false;
|
||||||
_distance = 2;
|
_distance = 3;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
|
|
||||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||||
|
|||||||
122
SQF/dayz_code/actions/player_harvestPlant.sqf
Normal file
122
SQF/dayz_code/actions/player_harvestPlant.sqf
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
/*
|
||||||
|
DayZ Harvest Plant
|
||||||
|
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"];
|
||||||
|
|
||||||
|
if(TradeInprogress) exitWith { cutText ["Harvest already in progress." , "PLAIN DOWN"]; };
|
||||||
|
TradeInprogress = true;
|
||||||
|
|
||||||
|
// allowed trees list move this later
|
||||||
|
_trees = ["pumpkin.p3d","p_helianthus.p3d","p_fiberplant_ep1.p3d"];
|
||||||
|
_treesOutput = ["FoodPumpkin","FoodSunFlowerSeed","ItemKiloHemp"];
|
||||||
|
|
||||||
|
//_item = _this;
|
||||||
|
call gear_ui_init;
|
||||||
|
|
||||||
|
_countOut = 0;
|
||||||
|
|
||||||
|
_findNearestTree = [];
|
||||||
|
{
|
||||||
|
if("" == typeOf _x) then {
|
||||||
|
|
||||||
|
if (alive _x) then {
|
||||||
|
|
||||||
|
_objName = _x call DZE_getModelName;
|
||||||
|
|
||||||
|
// Exit since we found a tree
|
||||||
|
if (_objName in _trees) exitWith {
|
||||||
|
_findNearestTree set [(count _findNearestTree),_x];
|
||||||
|
|
||||||
|
_index = _trees find _objName;
|
||||||
|
|
||||||
|
_itemOut = _treesOutput select _index;
|
||||||
|
|
||||||
|
_countOut = 1;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
} foreach nearestObjects [getPos player, [], 20];
|
||||||
|
|
||||||
|
//diag_log format["DEBUG TREES: %1", _findNearestTree];
|
||||||
|
|
||||||
|
if (count(_findNearestTree) >= 1) then {
|
||||||
|
|
||||||
|
_tree = _findNearestTree select 0;
|
||||||
|
|
||||||
|
// Start chop tree loop
|
||||||
|
_isOk = true;
|
||||||
|
_proceed = false;
|
||||||
|
while {_isOk} do {
|
||||||
|
|
||||||
|
player playActionNow "Medic";
|
||||||
|
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
||||||
|
|
||||||
|
r_interrupt = false;
|
||||||
|
_animState = animationState player;
|
||||||
|
r_doLoop = true;
|
||||||
|
_started = false;
|
||||||
|
_finished = false;
|
||||||
|
|
||||||
|
while {r_doLoop} do {
|
||||||
|
_animState = animationState player;
|
||||||
|
_isMedic = ["medic",_animState] call fnc_inString;
|
||||||
|
if (_isMedic) then {
|
||||||
|
_started = true;
|
||||||
|
};
|
||||||
|
if (_started and !_isMedic) then {
|
||||||
|
r_doLoop = false;
|
||||||
|
_finished = true;
|
||||||
|
[player,"chopwood",0,false] call dayz_zombieSpeak;
|
||||||
|
};
|
||||||
|
if (r_interrupt) then {
|
||||||
|
r_doLoop = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
sleep 0.1;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
if(!_finished) exitWith {
|
||||||
|
_isOk = false;
|
||||||
|
_proceed = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
if(_finished) exitWith {
|
||||||
|
_isOk = false;
|
||||||
|
_proceed = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_proceed) then {
|
||||||
|
|
||||||
|
for "_x" from 1 to _countOut do {
|
||||||
|
player addMagazine _itemOut;
|
||||||
|
};
|
||||||
|
|
||||||
|
// chop down tree
|
||||||
|
if("" == typeOf _tree) then {
|
||||||
|
_tree setDamage 1;
|
||||||
|
};
|
||||||
|
//diag_log format["DEBUG TREE DAMAGE: %1", _tree];
|
||||||
|
|
||||||
|
cutText [format["%1 of %2 has been successfully added to your inventory.", _countOut,_itemOut], "PLAIN DOWN"];
|
||||||
|
|
||||||
|
} else {
|
||||||
|
r_interrupt = false;
|
||||||
|
if (vehicle player == player) then {
|
||||||
|
[objNull, player, rSwitchMove,""] call RE;
|
||||||
|
player playActionNow "stop";
|
||||||
|
};
|
||||||
|
cutText ["Canceled Harvesting.", "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
cutText [localize "str_player_23", "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
TradeInprogress = false;
|
||||||
@@ -39,9 +39,10 @@ if ( (isClass(_config >> _itemNew)) ) then {
|
|||||||
// Get model name from config
|
// Get model name from config
|
||||||
_model = getText (configFile >> "CfgSurvival" >> "Skins" >> _item >> "playerModel");
|
_model = getText (configFile >> "CfgSurvival" >> "Skins" >> _item >> "playerModel");
|
||||||
if (_model != _myModel) then {
|
if (_model != _myModel) then {
|
||||||
player removeMagazine _item;
|
if(([player,_item] call BIS_fnc_invRemove) == 1) then {
|
||||||
player addMagazine _itemNew;
|
player addMagazine _itemNew;
|
||||||
[dayz_playerUID,dayz_characterID,_model] spawn player_humanityMorph;
|
[dayz_playerUID,dayz_characterID,_model] spawn player_humanityMorph;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ hintSilent parseText format ["
|
|||||||
(player getVariable['humanKills', 0]),
|
(player getVariable['humanKills', 0]),
|
||||||
(player getVariable['banditKills', 0]),
|
(player getVariable['banditKills', 0]),
|
||||||
(player getVariable['humanity', 0]),
|
(player getVariable['humanity', 0]),
|
||||||
(dayz_skilllevel)
|
(dayz_Survived)
|
||||||
];
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -106,17 +106,12 @@ _availableCans = ["ItemJerrycan","ItemFuelBarrel"];
|
|||||||
if(([player,_canName] call BIS_fnc_invRemove) == 1) then {
|
if(([player,_canName] call BIS_fnc_invRemove) == 1) then {
|
||||||
|
|
||||||
dayzSetFuel = [_vehicle,_newFuel];
|
dayzSetFuel = [_vehicle,_newFuel];
|
||||||
if (local _vehicle) then {
|
dayzSetFuel spawn local_setFuel;
|
||||||
dayzSetFuel spawn local_setFuel;
|
|
||||||
};
|
|
||||||
publicVariable "dayzSetFuel";
|
publicVariable "dayzSetFuel";
|
||||||
|
|
||||||
// Play sound
|
// Play sound
|
||||||
[player,"refuel",0,false] call dayz_zombieSpeak;
|
[player,"refuel",0,false] call dayz_zombieSpeak;
|
||||||
|
|
||||||
// Add filled can
|
|
||||||
player addMagazine _canName+"Empty";
|
player addMagazine _canName+"Empty";
|
||||||
|
|
||||||
cutText [format[localize "str_player_05",_nameText,_canSize], "PLAIN DOWN"];
|
cutText [format[localize "str_player_05",_nameText,_canSize], "PLAIN DOWN"];
|
||||||
|
|
||||||
call fnc_usec_medic_removeActions;
|
call fnc_usec_medic_removeActions;
|
||||||
|
|||||||
@@ -2,13 +2,16 @@
|
|||||||
delete object from db with extra waiting by [VB]AWOL
|
delete object from db with extra waiting by [VB]AWOL
|
||||||
parameters: _obj
|
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"];
|
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"];
|
||||||
|
|
||||||
if(TradeInprogress) exitWith { cutText ["Remove already in progress." , "PLAIN DOWN"]; };
|
if(TradeInprogress) exitWith { cutText ["Remove already in progress." , "PLAIN DOWN"]; };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
|
|
||||||
_obj = _this select 3;
|
_obj = _this select 3;
|
||||||
|
|
||||||
|
_objOwnerID = _obj getVariable["CharacterID","0"];
|
||||||
|
_isOwnerOfObj = (_objOwnerID == dayz_characterID);
|
||||||
|
|
||||||
if(_obj getVariable ["GeneratorRunning", false]) exitWith {TradeInprogress = false; cutText ["Cannot remove running generator.", "PLAIN DOWN"];};
|
if(_obj getVariable ["GeneratorRunning", false]) exitWith {TradeInprogress = false; cutText ["Cannot remove running generator.", "PLAIN DOWN"];};
|
||||||
|
|
||||||
_objectID = _obj getVariable ["ObjectID","0"];
|
_objectID = _obj getVariable ["ObjectID","0"];
|
||||||
@@ -107,7 +110,7 @@ while {_isOk} do {
|
|||||||
if(_finished) then {
|
if(_finished) then {
|
||||||
_counter = _counter + 1;
|
_counter = _counter + 1;
|
||||||
// 10% chance to break a required tool each pass
|
// 10% chance to break a required tool each pass
|
||||||
if(_isDestructable or _isRemovable) then {
|
if((_isDestructable or _isRemovable) and !_isOwnerOfObj) then {
|
||||||
if((random 10) <= 1) then {
|
if((random 10) <= 1) then {
|
||||||
_brokenTool = true;
|
_brokenTool = true;
|
||||||
};
|
};
|
||||||
@@ -145,8 +148,11 @@ if (_proceed) then {
|
|||||||
if(!isNull(_obj)) then {
|
if(!isNull(_obj)) then {
|
||||||
|
|
||||||
deleteVehicle _obj;
|
deleteVehicle _obj;
|
||||||
dayzDeleteObj = [_objectID,_objectUID];
|
|
||||||
publicVariableServer "dayzDeleteObj";
|
if(!_isWreck) then {
|
||||||
|
dayzDeleteObj = [_objectID,_objectUID];
|
||||||
|
publicVariableServer "dayzDeleteObj";
|
||||||
|
};
|
||||||
|
|
||||||
cutText [format["De-constructing %1.",_objType], "PLAIN DOWN"];
|
cutText [format["De-constructing %1.",_objType], "PLAIN DOWN"];
|
||||||
|
|
||||||
|
|||||||
24
SQF/dayz_code/actions/show_dialog.sqf
Normal file
24
SQF/dayz_code/actions/show_dialog.sqf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
private ["_trader_data", "_dialog"];
|
||||||
|
|
||||||
|
if (TradeInprogress) exitWith {
|
||||||
|
cutText ["Trading already in progress." , "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
|
||||||
|
_trader_data = (_this select 3);
|
||||||
|
|
||||||
|
_dialog = createdialog "TraderDialog";
|
||||||
|
lbClear TraderDialogCatList;
|
||||||
|
lbClear TraderDialogItemList;
|
||||||
|
|
||||||
|
TraderCurrentCatIndex = -1;
|
||||||
|
TraderItemList = -1;
|
||||||
|
|
||||||
|
TraderCatList = [];
|
||||||
|
{
|
||||||
|
private ["_index", "_x"];
|
||||||
|
_index = lbAdd [TraderDialogCatList, _x select 0];
|
||||||
|
TraderCatList set [count TraderCatList, _x select 1];
|
||||||
|
} forEach _trader_data;
|
||||||
|
waitUntil { !dialog };
|
||||||
|
TraderCurrentCatIndex = -1;
|
||||||
|
TraderCatList = -1;
|
||||||
@@ -119,10 +119,7 @@ _availableCansEmpty = ["ItemJerrycanEmpty","ItemFuelBarrelEmpty"];
|
|||||||
|
|
||||||
// Play sound
|
// Play sound
|
||||||
[player,"refuel",0,false] call dayz_zombieSpeak;
|
[player,"refuel",0,false] call dayz_zombieSpeak;
|
||||||
|
|
||||||
// Add filled can
|
|
||||||
player addMagazine _canName;
|
player addMagazine _canName;
|
||||||
|
|
||||||
cutText [format["%1 has been drained for %2 litres of Fuel",_nameText,_canSize], "PLAIN DOWN"];
|
cutText [format["%1 has been drained for %2 litres of Fuel",_nameText,_canSize], "PLAIN DOWN"];
|
||||||
|
|
||||||
call fnc_usec_medic_removeActions;
|
call fnc_usec_medic_removeActions;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ if(_removed == _countIn) then {
|
|||||||
_textRemoved = getText(configFile >> "CfgMagazines" >> _selected >> "displayName");
|
_textRemoved = getText(configFile >> "CfgMagazines" >> _selected >> "displayName");
|
||||||
|
|
||||||
// add failure rate based on skill level variable (days alive)
|
// add failure rate based on skill level variable (days alive)
|
||||||
_chanceToFail = (((random 1) + (dayz_skilllevel/100)) > 0.5);
|
_chanceToFail = (((random 1) + (dayz_Survived/100)) > 0.5);
|
||||||
|
|
||||||
if(!_chanceToFail) then {
|
if(!_chanceToFail) then {
|
||||||
|
|
||||||
|
|||||||
103
SQF/dayz_code/actions/tow_AttachStraps.sqf
Normal file
103
SQF/dayz_code/actions/tow_AttachStraps.sqf
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
private ["_vehicle","_started","_finished","_animState","_isMedic","_abort","_configVeh","_nameText","_findNearestVehicles","_findNearestVehicle","_IsNearVehicle","_towTruck","_vehicleFits","_worldPos","_veh","_box","_p1","_p2","_maxX","_maxY","_location1","_location2","_location3","_location4","_towTruckSize","_allowedSize"];
|
||||||
|
|
||||||
|
if(TradeInprogress) exitWith { cutText ["Already in progress." , "PLAIN DOWN"] };
|
||||||
|
TradeInprogress = true;
|
||||||
|
|
||||||
|
player removeAction s_player_towing;
|
||||||
|
s_player_towing = 1;
|
||||||
|
|
||||||
|
// Tow Truck
|
||||||
|
_towTruck = _this select 3;
|
||||||
|
_towTruckSize = (sizeOf typeOf _towTruck);
|
||||||
|
|
||||||
|
_allowedSize = _towTruckSize-(_towTruckSize/3);
|
||||||
|
|
||||||
|
// Get all nearby vehicles within 10m
|
||||||
|
_findNearestVehicles = nearestObjects [_towTruck, ["Car","Motorcycle"], 10];
|
||||||
|
_findNearestVehicle = [];
|
||||||
|
{
|
||||||
|
if (alive _x and _towTruck != _x) then {
|
||||||
|
if([_x,_towTruck] call fnc_isInsideBuilding2) then {
|
||||||
|
_findNearestVehicle set [(count _findNearestVehicle),_x];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} foreach _findNearestVehicles;
|
||||||
|
|
||||||
|
_IsNearVehicle = count (_findNearestVehicle);
|
||||||
|
|
||||||
|
if(_IsNearVehicle >= 1) then {
|
||||||
|
|
||||||
|
// select the nearest one
|
||||||
|
_vehicle = _findNearestVehicle select 0;
|
||||||
|
|
||||||
|
// Static vehicle fuel information
|
||||||
|
_configVeh = configFile >> "cfgVehicles" >> TypeOf(_vehicle);
|
||||||
|
_nameText = getText(_configVeh >> "displayName");
|
||||||
|
|
||||||
|
// alert zombies
|
||||||
|
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
||||||
|
|
||||||
|
_finished = false;
|
||||||
|
|
||||||
|
// force animation
|
||||||
|
player playActionNow "Medic";
|
||||||
|
|
||||||
|
r_interrupt = false;
|
||||||
|
_animState = animationState player;
|
||||||
|
r_doLoop = true;
|
||||||
|
_started = false;
|
||||||
|
|
||||||
|
while {r_doLoop} do {
|
||||||
|
_animState = animationState player;
|
||||||
|
_isMedic = ["medic",_animState] call fnc_inString;
|
||||||
|
if (_isMedic) then {
|
||||||
|
_started = true;
|
||||||
|
};
|
||||||
|
if (_started and !_isMedic) then {
|
||||||
|
r_doLoop = false;
|
||||||
|
_finished = true;
|
||||||
|
};
|
||||||
|
if (r_interrupt) then {
|
||||||
|
r_doLoop = false;
|
||||||
|
};
|
||||||
|
sleep 0.1;
|
||||||
|
};
|
||||||
|
r_doLoop = false;
|
||||||
|
|
||||||
|
if(!_finished) then {
|
||||||
|
r_interrupt = false;
|
||||||
|
|
||||||
|
if (vehicle player == player) then {
|
||||||
|
[objNull, player, rSwitchMove,""] call RE;
|
||||||
|
player playActionNow "stop";
|
||||||
|
};
|
||||||
|
_abort = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_finished) then {
|
||||||
|
|
||||||
|
if((sizeOf typeOf _vehicle) <= _allowedSize) then {
|
||||||
|
if([_vehicle,_towTruck] call fnc_isInsideBuilding2 and ((vectorUp _vehicle) select 2) > 0.5) then {
|
||||||
|
if(typeOf _towTruck == "VIL_asistvan_DZE" ) then {
|
||||||
|
_vehicle attachTo [_towTruck,[1.3,-2,2.3]];
|
||||||
|
_towTruck setVariable ["DZEinTow", true, true];
|
||||||
|
_towTruck setVariable ["DZEvehicleInTow", _vehicle, true];
|
||||||
|
cutText [format["%1 has been attached to Tow Truck.",_nameText], "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
cutText [format["Failed to attach %1 to Tow Truck.",_nameText], "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
|
||||||
|
} else {
|
||||||
|
cutText [format["%1 too large and cannot be towed.",_nameText], "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
cutText ["No Vehicles Nearby.", "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
TradeInprogress = false;
|
||||||
|
s_player_towing = -1;
|
||||||
82
SQF/dayz_code/actions/tow_DetachStraps.sqf
Normal file
82
SQF/dayz_code/actions/tow_DetachStraps.sqf
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
private ["_vehicle","_started","_finished","_animState","_isMedic","_configVeh","_nameText","_towTruck","_inTow"];
|
||||||
|
|
||||||
|
if(TradeInprogress) exitWith { cutText ["Already in progress." , "PLAIN DOWN"] };
|
||||||
|
TradeInprogress = true;
|
||||||
|
|
||||||
|
player removeAction s_player_towing;
|
||||||
|
s_player_towing = 1;
|
||||||
|
|
||||||
|
// Tow Truck
|
||||||
|
_towTruck = _this select 3;
|
||||||
|
|
||||||
|
// exit if no vehicle is in tow.
|
||||||
|
_inTow = _towTruck getVariable ["DZEinTow", false];
|
||||||
|
|
||||||
|
if(_inTow) then {
|
||||||
|
|
||||||
|
// select vehicl in tow
|
||||||
|
_vehicle = _towTruck getVariable ["DZEvehicleInTow", objNull];
|
||||||
|
|
||||||
|
if(!(isNull _towTruck)) then {
|
||||||
|
|
||||||
|
// Static vehicle fuel information
|
||||||
|
_configVeh = configFile >> "cfgVehicles" >> TypeOf(_vehicle);
|
||||||
|
_nameText = getText(_configVeh >> "displayName");
|
||||||
|
|
||||||
|
// alert zombies
|
||||||
|
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
||||||
|
|
||||||
|
_finished = false;
|
||||||
|
|
||||||
|
// force animation
|
||||||
|
player playActionNow "Medic";
|
||||||
|
|
||||||
|
r_interrupt = false;
|
||||||
|
_animState = animationState player;
|
||||||
|
r_doLoop = true;
|
||||||
|
_started = false;
|
||||||
|
|
||||||
|
while {r_doLoop} do {
|
||||||
|
_animState = animationState player;
|
||||||
|
_isMedic = ["medic",_animState] call fnc_inString;
|
||||||
|
if (_isMedic) then {
|
||||||
|
_started = true;
|
||||||
|
};
|
||||||
|
if (_started and !_isMedic) then {
|
||||||
|
r_doLoop = false;
|
||||||
|
_finished = true;
|
||||||
|
};
|
||||||
|
if (r_interrupt) then {
|
||||||
|
r_doLoop = false;
|
||||||
|
};
|
||||||
|
sleep 0.1;
|
||||||
|
};
|
||||||
|
r_doLoop = false;
|
||||||
|
|
||||||
|
if(!_finished) then {
|
||||||
|
r_interrupt = false;
|
||||||
|
|
||||||
|
if (vehicle player == player) then {
|
||||||
|
[objNull, player, rSwitchMove,""] call RE;
|
||||||
|
player playActionNow "stop";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_finished) then {
|
||||||
|
|
||||||
|
detach _vehicle;
|
||||||
|
_towTruck setVariable ["DZEinTow", false, true];
|
||||||
|
_towTruck setVariable ["DZEvehicleInTow", objNull, true];
|
||||||
|
cutText [format["%1 has been detached from Tow Truck.",_nameText], "PLAIN DOWN"];
|
||||||
|
|
||||||
|
_vehicle setvelocity [0,0,1];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_towTruck setVariable ["DZEinTow", false, true];
|
||||||
|
_towTruck setVariable ["DZEvehicleInTow", objNull, true];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
cutText ["No Vehicles In Tow.", "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
TradeInprogress = false;
|
||||||
|
s_player_towing = -1;
|
||||||
@@ -147,7 +147,6 @@ if (_qty >= _qty_in) then {
|
|||||||
_okToSell = true;
|
_okToSell = true;
|
||||||
if(_okToSell and !isNull _obj and alive _obj) then {
|
if(_okToSell and !isNull _obj and alive _obj) then {
|
||||||
|
|
||||||
// Sell Vehicle
|
|
||||||
for "_x" from 1 to _qty_out do {
|
for "_x" from 1 to _qty_out do {
|
||||||
player addMagazine _part_out;
|
player addMagazine _part_out;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ if (_qty >= _qty_in) then {
|
|||||||
if(_okToSell) then {
|
if(_okToSell) then {
|
||||||
|
|
||||||
if(!isNull _obj and alive _obj) then {
|
if(!isNull _obj and alive _obj) then {
|
||||||
// Sell Vehicle
|
|
||||||
for "_x" from 1 to _qty_out do {
|
for "_x" from 1 to _qty_out do {
|
||||||
player addMagazine _part_out;
|
player addMagazine _part_out;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/*
|
||||||
|
DayZ Safe
|
||||||
|
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||||
|
*/
|
||||||
private ["_tent","_location","_isOk","_cancel","_location3","_location4","_location1","_location2","_counter","_pondPos","_isPond","_ppos","_hastentitem","_dir","_building","_isBuilding","_playerPos","_item","_offset_x","_offset_y","_offset_z","_offset_z_attach","_config","_text","_tmpvault","_vault_location","_objectsPond","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_removed"];
|
private ["_tent","_location","_isOk","_cancel","_location3","_location4","_location1","_location2","_counter","_pondPos","_isPond","_ppos","_hastentitem","_dir","_building","_isBuilding","_playerPos","_item","_offset_x","_offset_y","_offset_z","_offset_z_attach","_config","_text","_tmpvault","_vault_location","_objectsPond","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_removed"];
|
||||||
//check if can pitch here
|
//check if can pitch here
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,9 @@ if (_canFill) then {
|
|||||||
|
|
||||||
if ("ItemWaterbottleUnfilled" in magazines player) then {
|
if ("ItemWaterbottleUnfilled" in magazines player) then {
|
||||||
for "_x" from 1 to _qty do {
|
for "_x" from 1 to _qty do {
|
||||||
player removeMagazine "ItemWaterbottleUnfilled";
|
if(([player,"ItemWaterbottleUnfilled"] call BIS_fnc_invRemove) == 1) then {
|
||||||
player addMagazine "ItemWaterbottle";
|
player addMagazine "ItemWaterbottle";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
_dis=5;
|
_dis=5;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
private ["_obj","_type","_config","_positions","_iPos","_nearBy","_itemType","_itemTypes","_lootChance","_weights","_cntWeights","_index"];
|
private ["_obj","_type","_config","_positions","_iPos","_nearBy","_itemType","_itemTypes","_lootChance","_weights","_cntWeights","_index"];
|
||||||
|
//_t1 = diag_tickTime;
|
||||||
|
|
||||||
_obj = _this select 0;
|
_obj = _this select 0;
|
||||||
|
|
||||||
@@ -10,10 +11,12 @@ _config = configFile >> "CfgBuildingLoot" >> _type;
|
|||||||
_positions = [] + getArray (_config >> "lootPos");
|
_positions = [] + getArray (_config >> "lootPos");
|
||||||
_itemTypes = [] + getArray (_config >> "itemType");
|
_itemTypes = [] + getArray (_config >> "itemType");
|
||||||
_lootChance = getNumber (_config >> "lootChance");
|
_lootChance = getNumber (_config >> "lootChance");
|
||||||
|
_positionsSmall = [] + getArray (_config >> "lootPosSmall");
|
||||||
|
|
||||||
{
|
{
|
||||||
if ((random 1) < _lootChance) then {
|
if ((random 1) < _lootChance) then {
|
||||||
_iPos = _obj modelToWorld _x;
|
_iPos = _obj modelToWorld _x;
|
||||||
_nearBy = nearestObjects [_iPos, ["WeaponHolder","WeaponHolderBase"], 1];
|
_nearBy = nearestObjects [_iPos, ["ReammoBox","WeaponHolder","WeaponHolderBase"], 1];
|
||||||
if (count _nearBy == 0) then {
|
if (count _nearBy == 0) then {
|
||||||
_index = dayz_CBLBase find _type;
|
_index = dayz_CBLBase find _type;
|
||||||
//diag_log format["Found %2 at index: %1", _index,_type];
|
//diag_log format["Found %2 at index: %1", _index,_type];
|
||||||
@@ -26,4 +29,23 @@ _lootChance = getNumber (_config >> "lootChance");
|
|||||||
_obj setVariable ["created",(DateToNumber date),true];
|
_obj setVariable ["created",(DateToNumber date),true];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach _positions;
|
} forEach _positions;
|
||||||
|
|
||||||
|
{
|
||||||
|
if ((random 1) < _lootChance) then {
|
||||||
|
_iPos = _obj modelToWorld _x;
|
||||||
|
_nearBy = nearestObjects [_iPos, ["ReammoBox","WeaponHolder","WeaponHolderBase"], 1];
|
||||||
|
if (count _nearBy == 0) then {
|
||||||
|
_index = dayz_CBLBase find _type;
|
||||||
|
//diag_log format["Found %2 at index: %1", _index,_type];
|
||||||
|
_weights = dayz_CBLChances select _index;
|
||||||
|
_cntWeights = count _weights;
|
||||||
|
_index = floor(random _cntWeights);
|
||||||
|
_index = _weights select _index;
|
||||||
|
_itemType = _itemTypes select _index;
|
||||||
|
[_itemType select 0, _itemType select 1 , _iPos, 0.0] call spawn_loot_small;
|
||||||
|
_obj setVariable ["created",(DateToNumber date),true];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} forEach _positionsSmall;
|
||||||
|
//["building_spawnLoot.sqf",(diag_tickTime - _t1)] call fnc_dump;
|
||||||
@@ -1,65 +1,60 @@
|
|||||||
private["_obj","_type","_config","_canLoot","_unitTypes","_min","_max","_num","_zombieChance","_rnd","_noPlayerNear","_position","_clean","_positions","_iPos","_nearBy","_nearByPlayer"];
|
private["_t1","_obj","_type","_config","_canLoot","_unitTypes","_min","_max","_num","_zombieChance","_rnd","_noPlayerNear","_position","_clean","_positions","_iPos","_nearBy","_nearByPlayer"];
|
||||||
_obj = _this select 0;
|
//_t1 = diag_tickTime;
|
||||||
_type = typeOf _obj;
|
|
||||||
_config = configFile >> "CfgBuildingLoot" >> _type;
|
|
||||||
_canLoot = isClass (_config);
|
|
||||||
|
|
||||||
if (dayz_maxCurrentZeds > dayz_maxZeds) exitwith {};
|
if (dayz_maxCurrentZeds > dayz_maxZeds) exitwith {};
|
||||||
if (dayz_CurrentZombies > dayz_maxGlobalZombies) exitwith {};
|
if (dayz_CurrentZombies > dayz_maxGlobalZombies) exitwith {};
|
||||||
if (dayz_spawnZombies > dayz_maxLocalZombies) exitwith {};
|
if (dayz_spawnZombies > dayz_maxLocalZombies) exitwith {};
|
||||||
|
|
||||||
|
_obj = _this select 0;
|
||||||
|
_type = typeOf _obj;
|
||||||
|
_config = configFile >> "CfgBuildingLoot" >> _type;
|
||||||
|
_canLoot = isClass (_config);
|
||||||
|
|
||||||
if (_canLoot) then {
|
if (_canLoot) then {
|
||||||
//Get zombie class
|
|
||||||
_unitTypes = getArray (_config >> "zombieClass");
|
|
||||||
_min = getNumber (_config >> "minRoaming");
|
|
||||||
_max = getNumber (_config >> "maxRoaming");
|
|
||||||
//Walking Zombies
|
|
||||||
//_num = round(random _max) min _min;
|
|
||||||
_num = (round(random _max)) max _min;
|
|
||||||
_config = configFile >> "CfgBuildingLoot" >> _type;
|
|
||||||
//Get zombie class
|
//Get zombie class
|
||||||
_zombieChance = getNumber (_config >> "zombieChance");
|
_zombieChance = getNumber (_config >> "zombieChance");
|
||||||
_rnd = random 1;
|
_rnd = random 1;
|
||||||
|
|
||||||
//if (_rnd < _zombieChance) then {
|
//Get zombie class
|
||||||
|
_unitTypes = getArray (_config >> "zombieClass");
|
||||||
|
_min = getNumber (_config >> "minRoaming");
|
||||||
|
_max = getNumber (_config >> "maxRoaming");
|
||||||
|
|
||||||
|
//Walking Zombies
|
||||||
|
_num = (round(random _max)) max _min;
|
||||||
|
|
||||||
|
_position = getPosATL _obj;
|
||||||
|
|
||||||
_noPlayerNear = (count ((getPosATL _obj) nearEntities ["CAManBase",30])) == 0;
|
_noOneNear = (count (_position nearEntities ["CAManBase",30])) == 0;
|
||||||
|
|
||||||
|
if (_noOneNear) then {
|
||||||
|
|
||||||
|
_positions = getArray (_config >> "lootPos");
|
||||||
|
|
||||||
if (_noPlayerNear) then {
|
if (count _positions > 0) then {
|
||||||
|
|
||||||
//_position = _obj buildingExit 0;
|
{
|
||||||
//if ((_position select 0) == 0) then {
|
if (random 1 < _zombieChance) then {
|
||||||
_position = getPosATL _obj;
|
_iPos = _obj modelToWorld _x;
|
||||||
//};
|
_nearBy = count (_iPos nearEntities ["zZombie_Base",1]) > 0;
|
||||||
|
if (!_nearBy) then {
|
||||||
//diag_log ("Class: " + _type + " / Zombies: " + str(_unitTypes) + " / Walking: " + str(_num));
|
[_iPos,true,_unitTypes] call zombie_generate;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} forEach _positions;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
for "_i" from 1 to _num do
|
for "_i" from 1 to _num do
|
||||||
{
|
{
|
||||||
[_position,true,_unitTypes] call zombie_generate;
|
if (random 1 < _zombieChance) then {
|
||||||
};
|
[_position,true,_unitTypes] call zombie_generate;
|
||||||
|
|
||||||
};
|
|
||||||
//};
|
|
||||||
|
|
||||||
|
|
||||||
//Add Internal Zombies
|
|
||||||
_clean = {alive _x} count ((getPosATL _obj) nearEntities ["zZombie_Base",(sizeOf _type)]) == 0;
|
|
||||||
if (_clean) then {
|
|
||||||
_positions = getArray (_config >> "lootPos");
|
|
||||||
_zombieChance = getNumber (_config >> "zombieChance");
|
|
||||||
//diag_log format["Building: %1 / Positions: %2 / Chance: %3",_type,_positions,_zombieChance];
|
|
||||||
{
|
|
||||||
_rnd = random 1;
|
|
||||||
if (_rnd < _zombieChance) then {
|
|
||||||
_iPos = _obj modelToWorld _x;
|
|
||||||
_nearBy = {alive _x} count nearestObjects [_iPos, ["zZombie_Base"],1] > 0;
|
|
||||||
_nearByPlayer = ({isPlayer _x} count (_iPos nearEntities ["CAManBase",30])) > 0;
|
|
||||||
//diag_log ("BUILDING: " + _type + " / " + str(_nearBy) + " / " + str(_nearByPlayer));
|
|
||||||
if (!_nearByPlayer and !_nearBy) then {
|
|
||||||
[_iPos,true,_unitTypes] call zombie_generate;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach _positions;
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
dayz_buildingMonitor set [count dayz_buildingMonitor,_obj];
|
dayz_buildingMonitor set [count dayz_buildingMonitor,_obj];
|
||||||
};
|
};
|
||||||
|
//["building_spawnZombies.sqf",(diag_tickTime - _t1)] call fnc_dump;
|
||||||
35
SQF/dayz_code/compile/fn_isInsideBuilding3.sqf
Normal file
35
SQF/dayz_code/compile/fn_isInsideBuilding3.sqf
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
private ["_unit1","_building","_relPos","_boundingBox","_min","_max","_myX","_myY","_myZ","_inside"];
|
||||||
|
_unit1 = _this select 0;
|
||||||
|
_building = _this select 1;
|
||||||
|
|
||||||
|
//_type = typeOf _building;
|
||||||
|
_relPos = _building worldToModel _unit1;
|
||||||
|
_boundingBox = boundingBox _building;
|
||||||
|
//diag_log ("DEBUG: Building: " + str(_building) );
|
||||||
|
//diag_log ("DEBUG: Building Type: " + str(_type) );
|
||||||
|
//diag_log ("DEBUG: BoundingBox: " + str(_boundingBox) );
|
||||||
|
|
||||||
|
_min = _boundingBox select 0;
|
||||||
|
_max = _boundingBox select 1;
|
||||||
|
|
||||||
|
//diag_log ("Min: " + str(_min) );
|
||||||
|
//diag_log ("Max: " + str(_max) );
|
||||||
|
|
||||||
|
_myX = _relPos select 0;
|
||||||
|
_myY = _relPos select 1;
|
||||||
|
_myZ = _relPos select 2;
|
||||||
|
|
||||||
|
//diag_log ("X: " + str(_myX) );
|
||||||
|
//diag_log ("Y: " + str(_myY) );
|
||||||
|
//diag_log ("Z: " + str(_myZ) );
|
||||||
|
|
||||||
|
if ((_myX > (_min select 0)) and (_myX < (_max select 0))) then {
|
||||||
|
if ((_myY > (_min select 1)) and (_myY < (_max select 1))) then {
|
||||||
|
if ((_myZ > (_min select 2)) and (_myZ < (_max select 2))) then {
|
||||||
|
_inside = true;
|
||||||
|
} else { _inside = false; };
|
||||||
|
} else { _inside = false; };
|
||||||
|
} else { _inside = false; };
|
||||||
|
|
||||||
|
//diag_log ("isinBuilding Check: " + str(_inside) );
|
||||||
|
_inside
|
||||||
@@ -4,7 +4,7 @@ scriptName "Functions\misc\fn_selfActions.sqf";
|
|||||||
- Function
|
- Function
|
||||||
- [] call fnc_usec_selfActions;
|
- [] call fnc_usec_selfActions;
|
||||||
************************************************************/
|
************************************************************/
|
||||||
private ["_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_canmove","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild"];
|
private ["_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil"];
|
||||||
|
|
||||||
if (TradeInprogress) exitWith {}; // Do not allow if any script is running.
|
if (TradeInprogress) exitWith {}; // Do not allow if any script is running.
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ if (_canPickLight and !dayz_hasLight and !_isPZombie) then {
|
|||||||
s_player_removeflare = -1;
|
s_player_removeflare = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(DZEdebug) then {
|
if(dayz_playerUID == "4560582") then {
|
||||||
hint str(typeOf cursorTarget);
|
hint str(typeOf cursorTarget);
|
||||||
if (s_player_debuglootpos < 0) then {
|
if (s_player_debuglootpos < 0) then {
|
||||||
s_player_debuglootpos = player addAction ["Save to arma2.rpt", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["start"], 99, false, true, "",""];
|
s_player_debuglootpos = player addAction ["Save to arma2.rpt", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["start"], 99, false, true, "",""];
|
||||||
@@ -49,6 +49,7 @@ if(DZEdebug) then {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
if(_isPZombie) then {
|
if(_isPZombie) then {
|
||||||
if (s_player_callzombies < 0) 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, "",""];
|
s_player_callzombies = player addAction ["Raise Horde", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
|
||||||
@@ -111,6 +112,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
};
|
};
|
||||||
} forEach boil_tin_cans;
|
} forEach boil_tin_cans;
|
||||||
_hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;
|
_hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;
|
||||||
|
_hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer;
|
||||||
|
|
||||||
_itemsPlayer = items player;
|
_itemsPlayer = items player;
|
||||||
|
|
||||||
@@ -141,7 +143,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
_isTent = _cursorTarget isKindOf "TentStorage";
|
_isTent = _cursorTarget isKindOf "TentStorage";
|
||||||
|
|
||||||
_isAlive = alive _cursorTarget;
|
_isAlive = alive _cursorTarget;
|
||||||
_canmove = canmove _cursorTarget;
|
|
||||||
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
|
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
|
||||||
|
|
||||||
_rawmeat = meatraw;
|
_rawmeat = meatraw;
|
||||||
@@ -153,7 +155,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
} forEach _rawmeat;
|
} forEach _rawmeat;
|
||||||
|
|
||||||
_isFuel = false;
|
_isFuel = false;
|
||||||
if (_hasFuelE) then {
|
if (_hasFuelE or _hasFuelBarrelE) then {
|
||||||
{
|
{
|
||||||
if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
|
if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
|
||||||
} forEach dayz_fuelsources;
|
} forEach dayz_fuelsources;
|
||||||
@@ -161,14 +163,39 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
|
|
||||||
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
|
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
|
||||||
|
|
||||||
//Allow player to delete objects
|
// logic vars
|
||||||
|
_player_flipveh = false;
|
||||||
_player_deleteBuild = false;
|
_player_deleteBuild = false;
|
||||||
|
_player_lockUnlock_crtl = false;
|
||||||
|
|
||||||
|
// CURSOR TARGET ALIVE
|
||||||
if(_isAlive) then {
|
if(_isAlive) then {
|
||||||
|
|
||||||
|
//Allow player to delete objects
|
||||||
if(_isDestructable or _isWreck or _isRemovable) then {
|
if(_isDestructable or _isWreck or _isRemovable) then {
|
||||||
if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {
|
if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {
|
||||||
_player_deleteBuild = true;
|
_player_deleteBuild = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// CURSOR TARGET VEHICLE
|
||||||
|
if(_isVehicle) then {
|
||||||
|
|
||||||
|
//flip vehicle small vehicles by your self and all other vehicles with help nearby
|
||||||
|
if (!(canmove _cursorTarget) and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then {
|
||||||
|
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
|
||||||
|
if(_isVehicletype or (_playersNear >= 2)) then {
|
||||||
|
_player_flipveh = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
if(!_isMan and _ownerID != "0") then {
|
||||||
|
_player_lockUnlock_crtl = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_player_deleteBuild) then {
|
if(_player_deleteBuild) then {
|
||||||
@@ -182,7 +209,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
|
|
||||||
|
|
||||||
// Allow Owner to lock and unlock vehicle
|
// Allow Owner to lock and unlock vehicle
|
||||||
if(_isVehicle and _isAlive and !_isMan and _ownerID != "0") then {
|
if(_player_lockUnlock_crtl) then {
|
||||||
if (s_player_lockUnlock_crtl < 0) then {
|
if (s_player_lockUnlock_crtl < 0) then {
|
||||||
_hasKey = _ownerID in _temp_keys;
|
_hasKey = _ownerID in _temp_keys;
|
||||||
_oldOwner = (_ownerID == dayz_playerUID);
|
_oldOwner = (_ownerID == dayz_playerUID);
|
||||||
@@ -233,22 +260,19 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//flip vehicle small vehicles by your self and all other vehicles with help nearby
|
//flip vehicle small vehicles by your self and all other vehicles with help nearby
|
||||||
if (_isVehicle and !_canmove and _isAlive and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then {
|
if(_player_flipveh) then {
|
||||||
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
|
if (s_player_flipveh < 0) then {
|
||||||
if(_isVehicletype or (_playersNear >= 2)) then {
|
s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""];
|
||||||
if (s_player_flipveh < 0) then {
|
|
||||||
s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
player removeAction s_player_flipveh;
|
player removeAction s_player_flipveh;
|
||||||
s_player_flipveh = -1;
|
s_player_flipveh = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
//Allow player to fill jerrycan
|
//Allow player to fill jerrycan
|
||||||
if(_hasFuelE and _isFuel) then {
|
if((_hasFuelE or _hasFuelBarrelE) and _isFuel) then {
|
||||||
if (s_player_fillfuel < 0) then {
|
if (s_player_fillfuel < 0) then {
|
||||||
s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];
|
s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];
|
||||||
};
|
};
|
||||||
@@ -257,24 +281,72 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
s_player_fillfuel = -1;
|
s_player_fillfuel = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// logic vars for addactions
|
||||||
|
_player_butcher = false;
|
||||||
|
_player_studybody = false;
|
||||||
|
|
||||||
|
// CURSOR TARGET NOT ALIVE
|
||||||
|
if (!_isAlive) then {
|
||||||
|
|
||||||
|
// Gut animal/zed
|
||||||
|
if((_isAnimal or _isZombie) and _hasKnife) then {
|
||||||
|
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
|
||||||
|
if (!_isHarvested) then {
|
||||||
|
_player_butcher = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Study body
|
||||||
|
if (_isMan and !_isZombie) then {
|
||||||
|
_player_studybody = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// Human Gut animal or zombie
|
// Human Gut animal or zombie
|
||||||
if (!alive _cursorTarget and (_isAnimal or _isZombie) and _hasKnife) then {
|
if (_player_butcher) then {
|
||||||
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
|
if (s_player_butcher < 0) then {
|
||||||
if (s_player_butcher < 0 and !_isHarvested) then {
|
|
||||||
if(_isZombie) then {
|
if(_isZombie) then {
|
||||||
s_player_butcher = player addAction ["Gut Zombie", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 3, true, true, "", ""];
|
s_player_butcher = player addAction ["Gut Zombie", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 3, true, true, "", ""];
|
||||||
} else {
|
} else {
|
||||||
s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
|
s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
player removeAction s_player_butcher;
|
player removeAction s_player_butcher;
|
||||||
s_player_butcher = -1;
|
s_player_butcher = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Study Body
|
||||||
|
if (_player_studybody) then {
|
||||||
|
if (s_player_studybody < 0) then {
|
||||||
|
s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
player removeAction s_player_studybody;
|
||||||
|
s_player_studybody = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
// logic vars
|
||||||
|
_player_cook = false;
|
||||||
|
_player_boil = false;
|
||||||
|
|
||||||
|
// CURSOR TARGET IS FIRE
|
||||||
|
if (inflamed _cursorTarget) then {
|
||||||
|
|
||||||
|
//Fireplace Actions check
|
||||||
|
if (_hasRawMeat) then {
|
||||||
|
_player_cook = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Boil water
|
||||||
|
if (_hasbottleitem and _hastinitem) then {
|
||||||
|
_player_boil = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
//Fireplace Actions check
|
//Fireplace Actions check
|
||||||
if (inflamed _cursorTarget and _hasRawMeat) then {
|
if (_player_cook) then {
|
||||||
if (s_player_cook < 0) then {
|
if (s_player_cook < 0) then {
|
||||||
s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true, "", ""];
|
s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true, "", ""];
|
||||||
};
|
};
|
||||||
@@ -282,7 +354,9 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
player removeAction s_player_cook;
|
player removeAction s_player_cook;
|
||||||
s_player_cook = -1;
|
s_player_cook = -1;
|
||||||
};
|
};
|
||||||
if (inflamed _cursorTarget and (_hasbottleitem and _hastinitem)) then {
|
|
||||||
|
// Boil water
|
||||||
|
if (_player_boil) then {
|
||||||
if (s_player_boil < 0) then {
|
if (s_player_boil < 0) then {
|
||||||
s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""];
|
s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""];
|
||||||
};
|
};
|
||||||
@@ -301,7 +375,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
};
|
};
|
||||||
|
|
||||||
//Packing my tent
|
//Packing my tent
|
||||||
if(_cursorTarget isKindOf "TentStorage" and _ownerID == dayz_characterID) then {
|
if(_isTent and _ownerID == dayz_characterID) then {
|
||||||
if ((s_player_packtent < 0) and (player distance _cursorTarget < 3)) then {
|
if ((s_player_packtent < 0) and (player distance _cursorTarget < 3)) then {
|
||||||
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
|
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
|
||||||
};
|
};
|
||||||
@@ -356,8 +430,8 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
|
|
||||||
//Player Deaths
|
//Player Deaths
|
||||||
if(_typeOfCursorTarget == "Info_Board_EP1") then {
|
if(_typeOfCursorTarget == "Info_Board_EP1") then {
|
||||||
if ((s_player_information < 0) and (player distance _cursorTarget < 3)) then {
|
if (s_player_information < 0) then {
|
||||||
s_player_information = player addAction ["Recent Deaths", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 0, false, true, "",""];
|
s_player_information = player addAction ["Recent Murders", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 0, false, true, "",""];
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
player removeAction s_player_information;
|
player removeAction s_player_information;
|
||||||
@@ -366,7 +440,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
|
|
||||||
//Fuel Pump
|
//Fuel Pump
|
||||||
if(_typeOfCursorTarget in dayz_fuelpumparray) then {
|
if(_typeOfCursorTarget in dayz_fuelpumparray) then {
|
||||||
if ((s_player_fuelauto < 0) and (player distance _cursorTarget < 3)) then {
|
if (s_player_fuelauto < 0) then {
|
||||||
|
|
||||||
// check if Generator_DZ is running within 30 meters
|
// check if Generator_DZ is running within 30 meters
|
||||||
_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
|
_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
|
||||||
@@ -380,7 +454,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
|
|
||||||
// show that pump needs power if no generator nearby.
|
// show that pump needs power if no generator nearby.
|
||||||
if(_IsNearRunningGen > 0) then {
|
if(_IsNearRunningGen > 0) then {
|
||||||
s_player_fuelauto = player addAction ["Fill Vehicle", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",[], 0, false, true, "",""];
|
s_player_fuelauto = player addAction ["Fill Vehicle", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];
|
||||||
} else {
|
} else {
|
||||||
s_player_fuelauto = player addAction ["<t color='#ff0000'>Needs Power</t>", "",[], 0, false, true, "",""];
|
s_player_fuelauto = player addAction ["<t color='#ff0000'>Needs Power</t>", "",[], 0, false, true, "",""];
|
||||||
};
|
};
|
||||||
@@ -390,9 +464,24 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
s_player_fuelauto = -1;
|
s_player_fuelauto = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Fuel Pump on truck
|
||||||
|
if(_typeOfCursorTarget in DZE_fueltruckarray and alive _cursorTarget) then {
|
||||||
|
if (s_player_fuelauto2 < 0) then {
|
||||||
|
// show that fuel truck pump needs power.
|
||||||
|
if(isEngineOn _cursorTarget) then {
|
||||||
|
s_player_fuelauto2 = player addAction ["Fill Vehicle", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];
|
||||||
|
} else {
|
||||||
|
s_player_fuelauto2 = player addAction ["<t color='#ff0000'>Needs Power</t>", "",[], 0, false, true, "",""];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
player removeAction s_player_fuelauto2;
|
||||||
|
s_player_fuelauto2 = -1;
|
||||||
|
};
|
||||||
|
|
||||||
//Start Generator
|
//Start Generator
|
||||||
if(_cursorTarget isKindOf "Generator_DZ") then {
|
if(_cursorTarget isKindOf "Generator_DZ") then {
|
||||||
if ((s_player_fillgen < 0) and (player distance _cursorTarget < 3)) then {
|
if (s_player_fillgen < 0) then {
|
||||||
|
|
||||||
// check if not running
|
// check if not running
|
||||||
if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
|
if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
|
||||||
@@ -413,8 +502,23 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
s_player_fillgen = -1;
|
s_player_fillgen = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Towing with tow truck
|
||||||
|
if(_typeOfCursorTarget == "VIL_asistvan_DZE") then {
|
||||||
|
if (s_player_towing < 0) then {
|
||||||
|
if(!(_cursorTarget getVariable ["DZEinTow", false])) then {
|
||||||
|
s_player_towing = player addAction ["Attach Straps", "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""];
|
||||||
|
} else {
|
||||||
|
s_player_towing = player addAction ["Detach Straps", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
player removeAction s_player_towing;
|
||||||
|
s_player_towing = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//Sleep
|
//Sleep
|
||||||
if(_cursorTarget isKindOf "TentStorage" and _ownerID == dayz_characterID) then {
|
if(_isTent and _ownerID == dayz_characterID) then {
|
||||||
if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
|
if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
|
||||||
s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];
|
s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];
|
||||||
};
|
};
|
||||||
@@ -474,10 +578,8 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
|
|
||||||
} forEach (_traderMenu select 1);
|
} forEach (_traderMenu select 1);
|
||||||
// Database menu
|
// Database menu
|
||||||
{
|
_buy = player addAction ["Trader Menu", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 99, true, false, "",""];
|
||||||
_buy = player addAction [(_x select 0), "\z\addons\dayz_code\actions\buy_or_sell.sqf",[(_x select 1),(_x select 0)], 99, true, false, "",""];
|
s_player_parts set [count s_player_parts,_buy];
|
||||||
s_player_parts set [count s_player_parts,_buy];
|
|
||||||
} forEach (_traderMenu select 0);
|
|
||||||
|
|
||||||
// Add static metals trader options under sub menu
|
// Add static metals trader options under sub menu
|
||||||
_metals_trader = player addAction ["Trade Metals", "\z\addons\dayz_code\actions\trade_metals.sqf",["na"], 0, true, false, "",""];
|
_metals_trader = player addAction ["Trade Metals", "\z\addons\dayz_code\actions\trade_metals.sqf",["na"], 0, true, false, "",""];
|
||||||
@@ -492,14 +594,6 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
s_player_parts_crtl = -1;
|
s_player_parts_crtl = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_isMan and !_isAlive and !_isZombie) then {
|
|
||||||
if (s_player_studybody < 0) then {
|
|
||||||
s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
player removeAction s_player_studybody;
|
|
||||||
s_player_studybody = -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
if(dayz_tameDogs) then {
|
if(dayz_tameDogs) then {
|
||||||
|
|
||||||
@@ -628,8 +722,12 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
|||||||
s_player_information = -1;
|
s_player_information = -1;
|
||||||
player removeAction s_player_fillgen;
|
player removeAction s_player_fillgen;
|
||||||
s_player_fillgen = -1;
|
s_player_fillgen = -1;
|
||||||
|
player removeAction s_player_towing;
|
||||||
|
s_player_towing = -1;
|
||||||
player removeAction s_player_fuelauto;
|
player removeAction s_player_fuelauto;
|
||||||
s_player_fuelauto = -1;
|
s_player_fuelauto = -1;
|
||||||
|
player removeAction s_player_fuelauto2;
|
||||||
|
s_player_fuelauto2 = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ if (local _zed) then {
|
|||||||
_killer setVariable[_type,(_kills + 1),true];
|
_killer setVariable[_type,(_kills + 1),true];
|
||||||
|
|
||||||
//increase players humanity when zed killed
|
//increase players humanity when zed killed
|
||||||
_humanity = player getVariable["humanity",0];
|
_humanity = _killer getVariable["humanity",0];
|
||||||
_humanity = _humanity + 5;
|
_humanity = _humanity + 5;
|
||||||
player setVariable["humanity",_humanity,true];
|
_killer setVariable["humanity",_humanity,true];
|
||||||
};
|
};
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
private["_animalbody","_qty","_rawfoodtype","_ehLoc"];
|
private["_animalbody","_qty","_rawfoodtype","_ehLoc"];
|
||||||
_animalbody = _this select 0;
|
_animalbody = _this select 0;
|
||||||
_qty = _this select 1;
|
|
||||||
_rawfoodtype = getText (configFile >> "CfgSurvival" >> "Meat" >> typeOf _animalbody >> "rawfoodtype");
|
|
||||||
|
|
||||||
if (local _animalbody) then {
|
if (local _animalbody) then {
|
||||||
|
_qty = _this select 1;
|
||||||
|
_rawfoodtype = getText (configFile >> "CfgSurvival" >> "Meat" >> typeOf _animalbody >> "rawfoodtype");
|
||||||
|
|
||||||
for "_x" from 1 to _qty do {
|
for "_x" from 1 to _qty do {
|
||||||
_animalbody addMagazine _rawfoodtype;
|
_animalbody addMagazine _rawfoodtype;
|
||||||
};
|
};
|
||||||
@@ -23,9 +24,4 @@ if (local _animalbody) then {
|
|||||||
deleteVehicle _body;
|
deleteVehicle _body;
|
||||||
true;
|
true;
|
||||||
};
|
};
|
||||||
|
|
||||||
} else {
|
|
||||||
_ehLoc = "client";
|
|
||||||
if (isServer) then { _ehLoc = "server"; };
|
|
||||||
diag_log format["gutObject EH on %1 item not local ! Type: %2",_ehLoc,str(_animalbody)];
|
|
||||||
};
|
};
|
||||||
@@ -21,8 +21,4 @@ if (local _zombiebody) then {
|
|||||||
true;
|
true;
|
||||||
};
|
};
|
||||||
|
|
||||||
} else {
|
|
||||||
_ehLoc = "client";
|
|
||||||
if (isServer) then { _ehLoc = "server"; };
|
|
||||||
diag_log format["gutObject EH on %1 item not local ! Type: %2",_ehLoc,str(_zombiebody)];
|
|
||||||
};
|
};
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
private ["_sound","_num","_length","_pause"];
|
private ["_sound","_num","_length","_pause"];
|
||||||
while {!r_player_dead} do {
|
while {!r_player_dead} do {
|
||||||
_num = round(random 35);
|
_num = floor(random 36);
|
||||||
_sound = "z_suspense_" + str(_num);
|
_sound = "z_suspense_" + str(_num);
|
||||||
_length = getNumber(configFile >> "cfgMusic" >> _sound >> "Duration");
|
_length = getNumber(configFile >> "cfgMusic" >> _sound >> "Duration");
|
||||||
_pause = ((random 5) + 2) + _length;
|
_pause = ((random 5) + 2) + _length;
|
||||||
|
|||||||
@@ -1,71 +1,32 @@
|
|||||||
private ["_type","_isAir","_inVehicle","_dateNow","_maxZombies","_maxWildZombies","_age","_radius","_position","_markerstr","_markerstr1","_markerstr2","_markerstr3","_nearByObj","_handle","_looted","_cleared","_zombied","_config","_canLoot","_dis","_players","_spawnZombies","_nearby","_nearbyCount"];
|
private ["_t1","_type","_isAir","_inVehicle","_dateNow","_maxZombies","_maxWildZombies","_age","_radius","_position","_markerstr","_markerstr1","_markerstr2","_markerstr3","_nearByObj","_handle","_looted","_cleared","_zombied","_config","_canLoot","_dis","_players","_spawnZombies","_nearby","_nearbyCount"];
|
||||||
|
//_t1 = diag_tickTime;
|
||||||
|
|
||||||
_type = _this select 0;
|
_type = _this select 0;
|
||||||
//_Keepspawning = _this select 1;
|
_inVehicle = (vehicle player != player);
|
||||||
_isAir = vehicle player iskindof "Air";
|
_onTheMove = (speed (vehicle player) > 10);
|
||||||
//_inVehicle = (vehicle player != player);
|
|
||||||
_inVehicle = ((vehicle player != player) AND ((speed player > 10) OR _isAir));
|
|
||||||
_dateNow = (DateToNumber date);
|
_dateNow = (DateToNumber date);
|
||||||
_maxZombies = dayz_maxLocalZombies;
|
_maxZombies = dayz_maxLocalZombies;
|
||||||
_maxWildZombies = 3;
|
_maxWildZombies = 3;
|
||||||
_age = -1;
|
_age = -1;
|
||||||
|
|
||||||
//_nearbyBuildings = [];
|
|
||||||
_radius = 200;
|
_radius = 200;
|
||||||
_position = getPosATL player;
|
_position = getPosATL player;
|
||||||
|
|
||||||
if (_inVehicle) then {
|
dayz_spawnZombies = 0;
|
||||||
_maxZombies = dayz_zedSpawnVehCount;
|
dayz_CurrentZombies = 0;
|
||||||
};
|
|
||||||
if (_isAir) then {
|
|
||||||
_maxZombies = dayz_spawnAirCount;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
//diag_log ("Type: " +str(_type));
|
|
||||||
|
|
||||||
|
|
||||||
//diag_log("SPAWN CHECKING: Starting");
|
|
||||||
//_locationstypes = ["NameCityCapital","NameCity","NameVillage"];
|
|
||||||
//_nearestCity = nearestLocations [getPos player, _locationstypes, _radius/2];
|
|
||||||
//_townname = text (_nearestCity select 0);
|
|
||||||
//_nearbytype = type (_nearestCity select 0);
|
|
||||||
/*
|
|
||||||
switch (_nearbytype) do {
|
|
||||||
case "NameVillage": {
|
|
||||||
//_radius = 250;
|
|
||||||
_maxZombies = 30;
|
|
||||||
};
|
|
||||||
case "NameCity": {
|
|
||||||
//_radius = 300;
|
|
||||||
_maxZombies = 40;
|
|
||||||
};
|
|
||||||
case "NameCityCapital": {
|
|
||||||
//_radius = 400;
|
|
||||||
_maxZombies = 40;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
_players = _position nearEntities ["CAManBase",_radius+200];
|
_players = _position nearEntities ["CAManBase",_radius+200];
|
||||||
dayz_maxGlobalZombies = dayz_maxGlobalZombiesInit;
|
dayz_maxGlobalZombies = dayz_maxGlobalZombiesInit;
|
||||||
{
|
{
|
||||||
if(isPlayer _x) then {
|
if(isPlayer _x) then {
|
||||||
dayz_maxGlobalZombies = dayz_maxGlobalZombies + dayz_maxGlobalZombiesIncrease;
|
dayz_maxGlobalZombies = dayz_maxGlobalZombies + dayz_maxGlobalZombiesIncrease;
|
||||||
|
} else {
|
||||||
|
if (local _x) then {
|
||||||
|
dayz_spawnZombies = dayz_spawnZombies + 1;
|
||||||
|
};
|
||||||
|
dayz_CurrentZombies = dayz_CurrentZombies + 1;
|
||||||
};
|
};
|
||||||
} foreach _players;
|
} foreach _players;
|
||||||
|
|
||||||
_spawnZombies = _position nearEntities ["zZombie_Base",_radius+100];
|
|
||||||
dayz_spawnZombies = 0;
|
|
||||||
{
|
|
||||||
if (local _x) then
|
|
||||||
{
|
|
||||||
//diag_log ("Local");
|
|
||||||
dayz_spawnZombies = dayz_spawnZombies + 1;
|
|
||||||
};
|
|
||||||
} foreach _spawnZombies;
|
|
||||||
|
|
||||||
dayz_CurrentZombies = count (_position nearEntities ["zZombie_Base",_radius+200]);
|
|
||||||
|
|
||||||
if ("ItemMap_Debug" in items player) then {
|
if ("ItemMap_Debug" in items player) then {
|
||||||
deleteMarkerLocal "MaxZeds";
|
deleteMarkerLocal "MaxZeds";
|
||||||
deleteMarkerLocal "Counter";
|
deleteMarkerLocal "Counter";
|
||||||
@@ -110,6 +71,7 @@ diag_log ("dayz_maxCurrentZeds: " +str(dayz_maxCurrentZeds) + "/" +str(dayz_maxZ
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
_nearby = _position nearObjects ["building",_radius];
|
_nearby = _position nearObjects ["building",_radius];
|
||||||
_nearbyCount = count _nearby;
|
_nearbyCount = count _nearby;
|
||||||
if (_nearbyCount < 1) exitwith
|
if (_nearbyCount < 1) exitwith
|
||||||
@@ -119,50 +81,60 @@ if (_nearbyCount < 1) exitwith
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
_type = typeOf _x;
|
_type = typeOf _x;
|
||||||
_config = configFile >> "CfgBuildingLoot" >> _type;
|
_config = configFile >> "CfgBuildingLoot" >> _type;
|
||||||
_canLoot = isClass (_config);
|
_canLoot = isClass (_config);
|
||||||
_dis = _x distance player;
|
|
||||||
|
|
||||||
//Loot
|
if(_canLoot) then {
|
||||||
if ((_dis < 120) and (_dis > 30) and _canLoot and !_inVehicle) then {
|
|
||||||
_looted = (_x getVariable ["looted",-0.1]);
|
_dis = _x distance player;
|
||||||
_cleared = (_x getVariable ["cleared",true]);
|
|
||||||
_dateNow = (DateToNumber date);
|
//Loot
|
||||||
_age = (_dateNow - _looted) * 525948;
|
if ((_dis < 120) and (_dis > 30) and !_inVehicle) then {
|
||||||
//diag_log ("SPAWN LOOT: " + _type + " Building is " + str(_age) + " old" );
|
_looted = (_x getVariable ["looted",-0.1]);
|
||||||
if ((_age > 10) and (!_cleared)) then {
|
_cleared = (_x getVariable ["cleared",true]);
|
||||||
_nearByObj = nearestObjects [(getPosATL _x), ["WeaponHolder","WeaponHolderBase"],((sizeOf _type)+5)];
|
_dateNow = (DateToNumber date);
|
||||||
{deleteVehicle _x} forEach _nearByObj;
|
_age = (_dateNow - _looted) * 525948;
|
||||||
_x setVariable ["cleared",true,true];
|
//diag_log ("SPAWN LOOT: " + _type + " Building is " + str(_age) + " old" );
|
||||||
_x setVariable ["looted",_dateNow,true];
|
if ((_age > 10) and (!_cleared)) then {
|
||||||
|
_nearByObj = nearestObjects [(getPosATL _x), ["WeaponHolder","WeaponHolderBase"],((sizeOf _type)+5)];
|
||||||
|
{deleteVehicle _x} forEach _nearByObj;
|
||||||
|
_x setVariable ["cleared",true,true];
|
||||||
|
_x setVariable ["looted",_dateNow,true];
|
||||||
|
};
|
||||||
|
if ((_age > 10) and (_cleared)) then {
|
||||||
|
//Register
|
||||||
|
_x setVariable ["looted",_dateNow,true];
|
||||||
|
//cleanup
|
||||||
|
_handle = [_x] spawn building_spawnLoot;
|
||||||
|
waitUntil{scriptDone _handle};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
if ((_age > 10) and (_cleared)) then {
|
|
||||||
//Register
|
// do not spawn zeds if player is moving faster then 10kmh
|
||||||
_x setVariable ["looted",_dateNow,true];
|
if (!_onTheMove) then {
|
||||||
//cleanup
|
//Zeds
|
||||||
_handle = [_x] spawn building_spawnLoot;
|
if ((time - dayz_spawnWait) > dayz_spawnDelay) then {
|
||||||
waitUntil{scriptDone _handle};
|
if (dayz_maxCurrentZeds < dayz_maxZeds) then {
|
||||||
};
|
if (dayz_CurrentZombies < dayz_maxGlobalZombies) then {
|
||||||
};
|
if (dayz_spawnZombies < dayz_maxLocalZombies) then {
|
||||||
//Zeds
|
//[_radius, _position, _inVehicle, _dateNow, _age, _locationstypes, _nearestCity, _maxZombies] call player_spawnzedCheck;
|
||||||
if ((time - dayz_spawnWait) > dayz_spawnDelay) then {
|
_zombied = (_x getVariable ["zombieSpawn",-0.1]);
|
||||||
if (dayz_maxCurrentZeds < dayz_maxZeds) then {
|
_dateNow = (DateToNumber date);
|
||||||
if (dayz_CurrentZombies < dayz_maxGlobalZombies) then {
|
_age = (_dateNow - _zombied) * 525948;
|
||||||
if (dayz_spawnZombies < dayz_maxLocalZombies) then {
|
if (_age > 3) then {
|
||||||
//[_radius, _position, _inVehicle, _dateNow, _age, _locationstypes, _nearestCity, _maxZombies] call player_spawnzedCheck;
|
_x setVariable ["zombieSpawn",_dateNow,true];
|
||||||
_zombied = (_x getVariable ["zombieSpawn",-0.1]);
|
[_x] call building_spawnZombies;
|
||||||
_dateNow = (DateToNumber date);
|
};
|
||||||
_age = (_dateNow - _zombied) * 525948;
|
} else {
|
||||||
if (_age > 3) then {
|
dayz_spawnWait = time;
|
||||||
_x setVariable ["zombieSpawn",_dateNow,true];
|
|
||||||
[_x] call building_spawnZombies;
|
|
||||||
};
|
};
|
||||||
} else {
|
};
|
||||||
dayz_spawnWait = time;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach _nearby;
|
} forEach _nearby;
|
||||||
|
// ["player_spawnCheck.sqf",(diag_tickTime - _t1)] call fnc_dump;
|
||||||
@@ -87,11 +87,11 @@ private ["_newBackpackType","_backpackWpn","_backpackMag"];
|
|||||||
_newUnit setPosATL _position;
|
_newUnit setPosATL _position;
|
||||||
_newUnit setDir _dir;
|
_newUnit setDir _dir;
|
||||||
|
|
||||||
//Clear New Character
|
//Clear New Character
|
||||||
{_newUnit removeMagazine _x;} forEach magazines _newUnit;
|
{_newUnit removeMagazine _x;} forEach magazines _newUnit;
|
||||||
removeAllWeapons _newUnit;
|
removeAllWeapons _newUnit;
|
||||||
|
|
||||||
//Equip New Charactar
|
//Equip New Charactar
|
||||||
{
|
{
|
||||||
if (typeName _x == "ARRAY") then {_newUnit addMagazine [_x select 0,_x select 1] } else { _newUnit addMagazine _x };
|
if (typeName _x == "ARRAY") then {_newUnit addMagazine [_x select 0,_x select 1] } else { _newUnit addMagazine _x };
|
||||||
//sleep 0.05;
|
//sleep 0.05;
|
||||||
|
|||||||
@@ -85,9 +85,8 @@ if (_vehicle != player) then {
|
|||||||
private[];
|
private[];
|
||||||
_tPos = (getPosASL _vehicle);
|
_tPos = (getPosASL _vehicle);
|
||||||
_zPos = (getPosASL _unit);
|
_zPos = (getPosASL _unit);
|
||||||
_onSameFloor = ((abs((_tPos select 2) - (_tPos select 2)) < 1.3));
|
|
||||||
_inAngle = [_zPos,(getdir _unit),50,_tPos] call fnc_inAngleSector;
|
_inAngle = [_zPos,(getdir _unit),50,_tPos] call fnc_inAngleSector;
|
||||||
if (_onSameFloor and _inAngle) then {
|
if (_inAngle) then {
|
||||||
//LOS check
|
//LOS check
|
||||||
_cantSee = [_unit,_vehicle] call dayz_losCheck;
|
_cantSee = [_unit,_vehicle] call dayz_losCheck;
|
||||||
if (!_cantSee) then {
|
if (!_cantSee) then {
|
||||||
|
|||||||
@@ -1,306 +1,93 @@
|
|||||||
private ["_listTalk","_group","_eyeDir","_attacked","_continue","_type","_chance","_last","_refObj","_inAngle","_tPos","_zPos","_cantSee","_entHeight","_delta","_targets","_lowBlood","_pHeight"];
|
private ["_listTalk","_eyeDir","_attacked","_continue","_type","_chance","_last","_refObj","_inAngle","_tPos","_zPos","_cantSee","_entHeight","_delta","_targets","_pHeight","_lowBlood","_dist"];
|
||||||
_refObj = vehicle player;
|
_refObj = vehicle player;
|
||||||
_listTalk = (getPos _refObj) nearEntities ["zZombie_Base",80];
|
_listTalk = (getPos _refObj) nearEntities ["zZombie_Base",80];
|
||||||
_pHeight = (getPosATL _refObj) select 2;
|
_pHeight = (getPosATL _refObj) select 2;
|
||||||
_attacked = false;
|
_attacked = false;
|
||||||
//_multiplier = 1;
|
|
||||||
|
|
||||||
//Old System
|
|
||||||
|
|
||||||
{
|
{
|
||||||
_continue = true;
|
_continue = true;
|
||||||
_type = "zombie";
|
_type = "zombie";
|
||||||
|
|
||||||
if (alive _x && _continue) then {
|
if (alive _x && _continue) then {
|
||||||
private["_dist"];
|
|
||||||
_dist = (_x distance _refObj);
|
if (local _x) then {
|
||||||
_group = _x;
|
|
||||||
|
_dist = (_x distance _refObj);
|
||||||
_targets = _group getVariable ["targets",[]];
|
|
||||||
|
_chance = 1;
|
||||||
_chance = 1;
|
if ((_dist < dayz_areaAffect) and !(animationState _x == "ZombieFeed")) then {
|
||||||
if ((_x distance player < dayz_areaAffect) and !(animationState _x == "ZombieFeed")) then {
|
|
||||||
if (_type == "zombie") then { [_x,"attack",(_chance),true] call dayz_zombieSpeak; };
|
[_x,"attack",(_chance),true] call dayz_zombieSpeak;
|
||||||
//perform an attack
|
//perform an attack
|
||||||
_last = _x getVariable["lastAttack",0];
|
_last = _x getVariable["lastAttack",0];
|
||||||
_entHeight = (getPosATL _x) select 2;
|
_entHeight = (getPosATL _x) select 2;
|
||||||
_delta = _pHeight - _entHeight;
|
_delta = _pHeight - _entHeight;
|
||||||
if ( ((time - _last) > 1) and ((_delta < 1.5) and (_delta > -1.5)) ) then {
|
if ( ((time - _last) > 1) and ((_delta < 1.5) and (_delta > -1.5)) ) then
|
||||||
zedattack = [_x, _type] spawn player_zombieAttack;
|
{
|
||||||
_x setVariable["lastAttack",time];
|
[_x, _type] spawn player_zombieAttack;
|
||||||
};
|
_x setVariable["lastAttack",time];
|
||||||
_attacked = true;
|
};
|
||||||
} else {
|
_attacked = true;
|
||||||
if (_type == "zombie") then {
|
} else {
|
||||||
if (speed _x < 4) then {
|
if (speed _x < 4) then {
|
||||||
[_x,"idle",(_chance + 4),true] call dayz_zombieSpeak;
|
[_x,"idle",(_chance + 4),true] call dayz_zombieSpeak;
|
||||||
} else {
|
} else {
|
||||||
[_x,"chase",(_chance + 3),true] call dayz_zombieSpeak;
|
[_x,"chase",(_chance + 3),true] call dayz_zombieSpeak;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
//Noise Activation
|
||||||
|
_targets = _x getVariable ["targets",[]];
|
||||||
|
if (!(_refObj in _targets)) then {
|
||||||
|
if (_dist < DAYZ_disAudial) then {
|
||||||
|
if (DAYZ_disAudial > 80) then {
|
||||||
|
|
||||||
|
_targets set [count _targets, (driver _refObj)];
|
||||||
|
_x setVariable ["targets",_targets,true];
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
//Noise Activation
|
_cantSee = [_x,_refObj] call dayz_losCheck;
|
||||||
if (!(_refObj in _targets)) then {
|
if (!_cantSee) then
|
||||||
if (_dist < DAYZ_disAudial) then {
|
{
|
||||||
if (DAYZ_disAudial > 80) then {
|
_targets set [count _targets,(driver _refObj)];
|
||||||
if (!(_refObj in _targets)) then {
|
_x setVariable ["targets",_targets,true];
|
||||||
_targets set [count _targets, driver _refObj];
|
}
|
||||||
_group setVariable ["targets",_targets,true];
|
else
|
||||||
};
|
{
|
||||||
} else {
|
if (_dist < (DAYZ_disAudial / 2)) then
|
||||||
if (_dist < (DAYZ_disAudial / 2)) then {
|
{
|
||||||
if (!(_refObj in _targets)) then {
|
_targets set [count _targets,(driver _refObj)];
|
||||||
_targets set [count _targets, driver _refObj];
|
_x setVariable ["targets",_targets,true];
|
||||||
_group setVariable ["targets",_targets,true];
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
//Sight Activation
|
||||||
//Sight Activation
|
_targets = _x getVariable ["targets",[]];
|
||||||
if (!(_refObj in _targets)) then {
|
if (!(_refObj in _targets)) then {
|
||||||
if (_dist < DAYZ_disVisual) then {
|
if (_dist < DAYZ_disVisual) then {
|
||||||
//_chance = [_x,_dist,DAYZ_disVisual] call dayz_losChance;
|
|
||||||
//diag_log ("Visual Detection: m" + str([_x,_dist]) + " " + str(_chance));
|
|
||||||
//if ((random 1) < _chance) then {
|
|
||||||
//diag_log ("Chance Detection");
|
|
||||||
_tPos = (getPosASL _refObj);
|
_tPos = (getPosASL _refObj);
|
||||||
_zPos = (getPosASL _x);
|
_zPos = (getPosASL _x);
|
||||||
//_eyeDir = _x call dayz_eyeDir;
|
//_eyeDir = _x call dayz_eyeDir;
|
||||||
_eyeDir = direction _x;
|
_eyeDir = direction _x;
|
||||||
_inAngle = [_zPos,_eyeDir,30,_tPos] call fnc_inAngleSector;
|
_inAngle = [_zPos,_eyeDir,30,_tPos] call fnc_inAngleSector;
|
||||||
if (_inAngle) then {
|
if (_inAngle) then {
|
||||||
|
|
||||||
//LOS check
|
//LOS check
|
||||||
_cantSee = [_x,_refObj] call dayz_losCheck;
|
_cantSee = [_x,_refObj] call dayz_losCheck;
|
||||||
//diag_log ("LOS Check: " + str(_cantSee));
|
//diag_log ("LOS Check: " + str(_cantSee));
|
||||||
if (!_cantSee) then {
|
if (!_cantSee) then {
|
||||||
//diag_log ("Within LOS! Target");
|
//diag_log ("Within LOS! Target");
|
||||||
if (!(_refObj in _targets)) then {
|
_targets set [count _targets,(driver _refObj)];
|
||||||
_targets set [count _targets, driver _refObj];
|
_x setVariable ["targets",_targets,true];
|
||||||
_group setVariable ["targets",_targets,true];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
//};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//diag_log ("Targets Array: " +str(_targets));
|
|
||||||
} forEach _listTalk;
|
|
||||||
|
|
||||||
|
|
||||||
// New Systems
|
|
||||||
/*
|
|
||||||
{
|
|
||||||
_continue = true;
|
|
||||||
_type = "zombie";
|
|
||||||
_targets = _group getVariable ["targets",[]];
|
|
||||||
|
|
||||||
if (alive _x and _continue) then
|
|
||||||
{
|
|
||||||
if (local _x) then
|
|
||||||
{
|
|
||||||
private["_dist"];
|
|
||||||
_dist = (_x distance _refObj);
|
|
||||||
|
|
||||||
_chance = 1;
|
|
||||||
if ((_dist < dayz_areaAffect) and !(animationState _x == "ZombieFeed")) then
|
|
||||||
{
|
|
||||||
if (_type == "zombie") then { [_x,"attack",(_chance),true] call dayz_zombieSpeak; };
|
|
||||||
//perform an attack
|
|
||||||
_last = _x getVariable["lastAttack",0];
|
|
||||||
_entHeight = (getPosATL _x) select 2;
|
|
||||||
_delta = _pHeight - _entHeight;
|
|
||||||
if ( ((time - _last) > 1) and ((_delta < 1.5) and (_delta > -1.5)) ) then
|
|
||||||
{
|
|
||||||
[_x, _type] spawn player_zombieAttack;
|
|
||||||
_x setVariable["lastAttack",time];
|
|
||||||
};
|
|
||||||
_attacked = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (_type == "zombie") then
|
|
||||||
{
|
|
||||||
if (speed _x < 4) then
|
|
||||||
{
|
|
||||||
[_x,"idle",(_chance + 4),true] call dayz_zombieSpeak;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[_x,"chase",(_chance + 3),true] call dayz_zombieSpeak;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//Noise Activation
|
|
||||||
_target = _x getVariable ["target",[]];
|
|
||||||
if (!(_refObj in _target)) then
|
|
||||||
{
|
|
||||||
if (_dist < DAYZ_disAudial) then
|
|
||||||
{
|
|
||||||
if (DAYZ_disAudial > 80) then
|
|
||||||
{
|
|
||||||
_target set [count _target,(driver _refObj)];
|
|
||||||
_x setVariable ["target",_target];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// _chance = [_x,_dist,DAYZ_disAudial] call dayz_losChance;
|
|
||||||
//diag_log ("Visual Detection: " + str([_x,_dist]) + " " + str(_chance));
|
|
||||||
// if ((random 1) < _chance) then {
|
|
||||||
_cantSee = [_x,_refObj] call dayz_losCheck;
|
|
||||||
if (!_cantSee) then
|
|
||||||
{
|
|
||||||
_target set [count _target,(driver _refObj)];
|
|
||||||
_x setVariable ["target",_target];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (_dist < (DAYZ_disAudial / 2)) then
|
|
||||||
{
|
|
||||||
_target set [count _target,(driver _refObj)];
|
|
||||||
_x setVariable ["target",_target];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//Sight Activation
|
|
||||||
_target = _x getVariable ["target",[]];
|
|
||||||
if (!(_refObj in _target)) then
|
|
||||||
{
|
|
||||||
if (_dist < DAYZ_disVisual) then
|
|
||||||
{
|
|
||||||
_chance = [_x,_dist,DAYZ_disVisual] call dayz_losChance;
|
|
||||||
//diag_log ("Visual Detection: " + str([_x,_dist]) + " " + str(_chance));
|
|
||||||
//if ((random 1) < _chance) then {
|
|
||||||
//diag_log ("Chance Detection");
|
|
||||||
_tPos = (getPosASL _refObj);
|
|
||||||
_zPos = (getPosASL _x);
|
|
||||||
//_eyeDir = _x call dayz_eyeDir;
|
|
||||||
_eyeDir = direction _x;
|
|
||||||
_inAngle = [_zPos,_eyeDir,30,_tPos] call fnc_inAngleSector;
|
|
||||||
if (_inAngle) then
|
|
||||||
{
|
|
||||||
//diag_log ("In Angle");
|
|
||||||
//LOS check
|
|
||||||
_cantSee = [_x,_refObj] call dayz_losCheck;
|
|
||||||
//diag_log ("LOS Check: " + str(_cantSee));
|
|
||||||
if (!_cantSee) then
|
|
||||||
{
|
|
||||||
_target set [count _target,(driver _refObj)];
|
|
||||||
_x setVariable ["target",_target];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
private["_dist"];
|
|
||||||
_dist = (_x distance _refObj);
|
|
||||||
|
|
||||||
_chance = 1;
|
|
||||||
if ((_x distance player < dayz_areaAffect) and !(animationState _x == "ZombieFeed")) then
|
|
||||||
{
|
|
||||||
if (_type == "zombie") then { [_x,"attack",(_chance),true] call dayz_zombieSpeak; };
|
|
||||||
//perform an attack
|
|
||||||
_last = _x getVariable["lastAttack",0];
|
|
||||||
_entHeight = (getPosATL _x) select 2;
|
|
||||||
_delta = _pHeight - _entHeight;
|
|
||||||
if ( ((time - _last) > 1) and ((_delta < 1.5) and (_delta > -1.5)) ) then
|
|
||||||
{
|
|
||||||
[_x, _type] spawn player_zombieAttack;
|
|
||||||
_x setVariable["lastAttack",time];
|
|
||||||
};
|
|
||||||
_attacked = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (_type == "zombie") then
|
|
||||||
{
|
|
||||||
if (speed _x < 4) then
|
|
||||||
{
|
|
||||||
[_x,"idle",(_chance + 4),true] call dayz_zombieSpeak;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[_x,"chase",(_chance + 3),true] call dayz_zombieSpeak;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//Noise Activation
|
|
||||||
_targets = _x getVariable ["targets",[]];
|
|
||||||
if (!(_refObj in _targets)) then
|
|
||||||
{
|
|
||||||
if (_dist < DAYZ_disAudial) then
|
|
||||||
{
|
|
||||||
if (DAYZ_disAudial > 80) then
|
|
||||||
{
|
|
||||||
_targets set [count _targets,(driver _refObj)];
|
|
||||||
_x setVariable ["targets",_targets,true];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//_chance = [_x,_dist,DAYZ_disAudial] call dayz_losChance;
|
|
||||||
//diag_log ("Visual Detection: " + str([_x,_dist]) + " " + str(_chance));
|
|
||||||
//if ((random 1) < _chance) then {
|
|
||||||
_cantSee = [_x,_refObj] call dayz_losCheck;
|
|
||||||
if (!_cantSee) then
|
|
||||||
{
|
|
||||||
_targets set [count _targets,(driver _refObj)];
|
|
||||||
_x setVariable ["targets",_targets,true];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (_dist < (DAYZ_disAudial / 2)) then
|
|
||||||
{
|
|
||||||
_targets set [count _targets,(driver _refObj)];
|
|
||||||
_x setVariable ["targets",_targets,true];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//Sight Activation
|
|
||||||
_targets = _x getVariable ["targets",[]];
|
|
||||||
if (!(_refObj in _targets)) then
|
|
||||||
{
|
|
||||||
if (_dist < DAYZ_disVisual) then
|
|
||||||
{
|
|
||||||
//_chance = [_x,_dist,DAYZ_disVisual] call dayz_losChance;
|
|
||||||
//diag_log ("Visual Detection: " + str([_x,_dist]) + " " + str(_chance));
|
|
||||||
//if ((random 1) < _chance) then {
|
|
||||||
//diag_log ("Chance Detection");
|
|
||||||
_tPos = (getPosASL _refObj);
|
|
||||||
_zPos = (getPosASL _x);
|
|
||||||
//_eyeDir = _x call dayz_eyeDir;
|
|
||||||
_eyeDir = direction _x;
|
|
||||||
_inAngle = [_zPos,_eyeDir,30,_tPos] call fnc_inAngleSector;
|
|
||||||
if (_inAngle) then
|
|
||||||
{
|
|
||||||
//diag_log ("In Angle");
|
|
||||||
//LOS check
|
|
||||||
_cantSee = [_x,_refObj] call dayz_losCheck;
|
|
||||||
//diag_log ("LOS Check: " + str(_cantSee));
|
|
||||||
if (!_cantSee) then
|
|
||||||
{
|
|
||||||
//diag_log ("Within LOS! Target");
|
|
||||||
_targets set [count _targets,(driver _refObj)];
|
|
||||||
_x setVariable ["targets",_targets,true];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
//};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach _listTalk;
|
} forEach _listTalk;
|
||||||
*/
|
|
||||||
|
|
||||||
if (_attacked) then {
|
if (_attacked) then {
|
||||||
if (r_player_unconscious) then {
|
if (r_player_unconscious) then {
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
private ["_iItem","_iClass","_iPos","_radius","_itemTypes","_index","_item","_qty","_max","_tQty","_canType","_weights","_cntWeights","_dateNow","_mags"];
|
|
||||||
|
private ["_iItem","_iClass","_iPos","_radius","_item","_itemTypes","_index","_weights","_cntWeights","_qty","_max","_tQty","_canType","_mags"];
|
||||||
|
|
||||||
_iItem = _this select 0;
|
_iItem = _this select 0;
|
||||||
_iClass = _this select 1;
|
_iClass = _this select 1;
|
||||||
|
diag_log format["DEBUG spawn loot class: %1", _iClass];
|
||||||
_iPos = _this select 2;
|
_iPos = _this select 2;
|
||||||
_radius = _this select 3;
|
_radius = _this select 3;
|
||||||
|
|
||||||
//_iPosZ = _iPos select 2;
|
switch (_iClass) do
|
||||||
//if( _iPosZ < 0 ) then { _iPos = [_iPos select 0,_iPos select 1,0]; };
|
{
|
||||||
|
default
|
||||||
switch (_iClass) do {
|
{
|
||||||
default {
|
|
||||||
//Item is food, add random quantity of cans along with an item (if exists)
|
//Item is food, add random quantity of cans along with an item (if exists)
|
||||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
|
|
||||||
@@ -17,42 +19,63 @@ switch (_iClass) do {
|
|||||||
_weights = dayz_CLChances select _index;
|
_weights = dayz_CLChances select _index;
|
||||||
_cntWeights = count _weights;
|
_cntWeights = count _weights;
|
||||||
_qty = 0;
|
_qty = 0;
|
||||||
|
_max = 1 + ceil(random 2);
|
||||||
// If clothing just spawn one bag of clothes
|
while {_qty < _max} do
|
||||||
if(_iClass == "clothes" or _iClass == "militaryclothes" or _iClass == "specialclothes") then {
|
{
|
||||||
_max = 1;
|
_tQty = 1 + round(random 1);
|
||||||
} else {
|
_index = floor(random _cntWeights);
|
||||||
_max = (ceil(random 2)) + 1;
|
_index = _weights select _index;
|
||||||
};
|
_canType = _itemTypes select _index;
|
||||||
|
|
||||||
while {_qty < _max} do {
|
|
||||||
_tQty = (round(random 1)) + 1;
|
|
||||||
_index = floor(random _cntWeights);
|
|
||||||
_index = _weights select _index;
|
|
||||||
_canType = _itemTypes select _index;
|
|
||||||
_item addMagazineCargoGlobal [_canType,_tQty];
|
_item addMagazineCargoGlobal [_canType,_tQty];
|
||||||
_qty = _qty + _tQty;
|
_qty = _qty + _tQty;
|
||||||
};
|
};
|
||||||
if (_iItem != "") then {
|
if (_iItem != "") then
|
||||||
|
{
|
||||||
_item addWeaponCargoGlobal [_iItem,1];
|
_item addWeaponCargoGlobal [_iItem,1];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case "weapon": {
|
case "single":
|
||||||
|
{
|
||||||
|
//Item is sigle, add 1 item from cfgloot
|
||||||
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
|
|
||||||
|
_itemTypes = [] + ((getArray (configFile >> "cfgLoot" >> _iItem)) select 0);
|
||||||
|
_index = dayz_CLBase find _iItem;
|
||||||
|
_weights = dayz_CLChances select _index;
|
||||||
|
_cntWeights = count _weights;
|
||||||
|
|
||||||
|
_index = floor(random _cntWeights);
|
||||||
|
_index = _weights select _index;
|
||||||
|
_canType = _itemTypes select _index;
|
||||||
|
_item addMagazineCargoGlobal [_canType,1];
|
||||||
|
};
|
||||||
|
|
||||||
|
case "weapon":
|
||||||
|
{
|
||||||
//Item is a weapon, add it and a random quantity of magazines
|
//Item is a weapon, add it and a random quantity of magazines
|
||||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
_item addWeaponCargoGlobal [_iItem,1];
|
_item addWeaponCargoGlobal [_iItem,1];
|
||||||
_mags = [] + getArray (configFile >> "cfgWeapons" >> _iItem >> "magazines");
|
_mags = [] + getArray (configFile >> "cfgWeapons" >> _iItem >> "magazines");
|
||||||
if ((count _mags) > 0) then {
|
if ((count _mags) > 0) then
|
||||||
|
{
|
||||||
if (_mags select 0 == "Quiver") then { _mags set [0, "WoodenArrow"] }; // Prevent spawning a Quiver
|
if (_mags select 0 == "Quiver") then { _mags set [0, "WoodenArrow"] }; // Prevent spawning a Quiver
|
||||||
_item addMagazineCargoGlobal [(_mags select 0), (round(random 2))];
|
_item addMagazineCargoGlobal [(_mags select 0), (round(random 2))];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case "magazine": {
|
case "weaponnomags":
|
||||||
|
{
|
||||||
|
//Item is a weapon, and spawns no mags
|
||||||
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
|
_item addWeaponCargoGlobal [_iItem,1];
|
||||||
|
};
|
||||||
|
case "magazine":
|
||||||
|
{
|
||||||
//Item is one magazine
|
//Item is one magazine
|
||||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
_item addMagazineCargoGlobal [_iItem,1];
|
_item addMagazineCargoGlobal [_iItem,1];
|
||||||
};
|
};
|
||||||
case "object": {
|
case "object":
|
||||||
|
{
|
||||||
//Item is one magazine
|
//Item is one magazine
|
||||||
_item = createVehicle [_iItem, _iPos, [], _radius, "CAN_COLLIDE"];
|
_item = createVehicle [_iItem, _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
};
|
};
|
||||||
@@ -62,6 +85,7 @@ switch (_iClass) do {
|
|||||||
_dateNow = (DateToNumber date);
|
_dateNow = (DateToNumber date);
|
||||||
_item setVariable ["looted",_dateNow,true];
|
_item setVariable ["looted",_dateNow,true];
|
||||||
|
|
||||||
if ((count _iPos) > 2) then {
|
if ((count _iPos) > 2) then
|
||||||
|
{
|
||||||
_item setPosATL _iPos;
|
_item setPosATL _iPos;
|
||||||
};
|
};
|
||||||
52
SQF/dayz_code/compile/spawn_loot_small.sqf
Normal file
52
SQF/dayz_code/compile/spawn_loot_small.sqf
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
private ["_iItem","_iClass","_iPos","_radius","_item","_itemTypes","_index","_weights","_cntWeights","_qty","_max","_tQty","_canType","_mags"];
|
||||||
|
|
||||||
|
_iItem = _this select 0;
|
||||||
|
_iClass = _this select 1;
|
||||||
|
diag_log format["DEBUG spawn loot class: %1", _iClass];
|
||||||
|
_iPos = _this select 2;
|
||||||
|
_radius = _this select 3;
|
||||||
|
|
||||||
|
switch (_iClass) do
|
||||||
|
{
|
||||||
|
default
|
||||||
|
{
|
||||||
|
//Item is sigle, add 1 item from cfgloot
|
||||||
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
|
|
||||||
|
_itemTypes = [] + ((getArray (configFile >> "cfgLoot" >> _iClass)) select 0);
|
||||||
|
_index = dayz_CLBase find _iClass;
|
||||||
|
_weights = dayz_CLChances select _index;
|
||||||
|
_cntWeights = count _weights;
|
||||||
|
|
||||||
|
_index = floor(random _cntWeights);
|
||||||
|
_index = _weights select _index;
|
||||||
|
_canType = _itemTypes select _index;
|
||||||
|
_item addMagazineCargoGlobal [_canType,1];
|
||||||
|
};
|
||||||
|
case "weapon":
|
||||||
|
{
|
||||||
|
//Item is a weapon, and spawns no mags
|
||||||
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
|
_item addWeaponCargoGlobal [_iItem,1];
|
||||||
|
};
|
||||||
|
case "magazine":
|
||||||
|
{
|
||||||
|
//Item is one magazine
|
||||||
|
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||||
|
_item addMagazineCargoGlobal [_iItem,1];
|
||||||
|
};
|
||||||
|
case "object":
|
||||||
|
{
|
||||||
|
//do nothing for now
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// timestamp for later clearing
|
||||||
|
_dateNow = (DateToNumber date);
|
||||||
|
_item setVariable ["looted",_dateNow,true];
|
||||||
|
|
||||||
|
if ((count _iPos) > 2) then
|
||||||
|
{
|
||||||
|
_item setPosATL _iPos;
|
||||||
|
};
|
||||||
@@ -13,8 +13,7 @@
|
|||||||
|
|
||||||
#define EAST 0 // (Russian)
|
#define EAST 0 // (Russian)
|
||||||
|
|
||||||
#include "basicdefines.hpp"
|
#include "Configs\basicdefines.hpp"
|
||||||
#include "safegui.hpp"
|
|
||||||
|
|
||||||
class CfgPatches {
|
class CfgPatches {
|
||||||
class dayz_code {
|
class dayz_code {
|
||||||
@@ -41,7 +40,7 @@ class CfgMods
|
|||||||
hidePicture = 0;
|
hidePicture = 0;
|
||||||
hideName = 0;
|
hideName = 0;
|
||||||
action = "http://www.dayzepoch.com";
|
action = "http://www.dayzepoch.com";
|
||||||
version = "1.0.1.5";
|
version = "1.0.1.8";
|
||||||
hiveVersion = 0.96; //0.93
|
hiveVersion = 0.96; //0.93
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -219,17 +218,21 @@ class RscStructuredTextGUI: RscStructuredText
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
//#include "CfgWorlds.hpp"
|
//#include "CfgWorlds.hpp"
|
||||||
#include "cfgMoves.hpp"
|
#include "Configs\cfgMoves.hpp"
|
||||||
#include "rscTitles.hpp"
|
#include "Configs\rscTitles.hpp"
|
||||||
#include "CfgVehicles.hpp"
|
|
||||||
#include "CfgWeapons.hpp"
|
#include "Configs\safegui.hpp"
|
||||||
#include "CfgVoice.hpp"
|
#include "Configs\dialog.hpp"
|
||||||
#include "CfgIdentities.hpp"
|
|
||||||
#include "CfgFaces.hpp"
|
#include "Configs\CfgVehicles.hpp"
|
||||||
#include "CfgMagazines.hpp"
|
#include "Configs\CfgWeapons.hpp"
|
||||||
#include "cfgLoot.hpp"
|
#include "Configs\CfgVoice.hpp"
|
||||||
#include "CfgMarkers.hpp"
|
#include "Configs\CfgIdentities.hpp"
|
||||||
#include "CfgAmmo.hpp"
|
#include "Configs\CfgFaces.hpp"
|
||||||
|
#include "Configs\CfgMagazines.hpp"
|
||||||
|
#include "Configs\cfgLoot.hpp"
|
||||||
|
#include "Configs\CfgMarkers.hpp"
|
||||||
|
#include "Configs\CfgAmmo.hpp"
|
||||||
|
|
||||||
class CfgSurvival {
|
class CfgSurvival {
|
||||||
class Inventory {
|
class Inventory {
|
||||||
@@ -493,6 +496,7 @@ class CfgBuildingLoot {
|
|||||||
zombieClass[] = {"zZombie_Base","z_hunter","z_teacher","z_suit1","z_suit2","z_worker1","z_worker2","z_worker3","z_villager1","z_villager2","z_villager3"};
|
zombieClass[] = {"zZombie_Base","z_hunter","z_teacher","z_suit1","z_suit2","z_worker1","z_worker2","z_worker3","z_villager1","z_villager2","z_villager3"};
|
||||||
lootChance = 0;
|
lootChance = 0;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
|
lootPosSmall[] = {};
|
||||||
itemType[] = {};
|
itemType[] = {};
|
||||||
itemChance[] = {};
|
itemChance[] = {};
|
||||||
hangPos[] = {};
|
hangPos[] = {};
|
||||||
@@ -544,8 +548,8 @@ class CfgBuildingLoot {
|
|||||||
{"Crossbow_DZ","weapon"},
|
{"Crossbow_DZ","weapon"},
|
||||||
{ "Binocular","weapon" },
|
{ "Binocular","weapon" },
|
||||||
{ "PartWoodPile","magazine" },
|
{ "PartWoodPile","magazine" },
|
||||||
{ "","clothes" },
|
{ "clothes","single" },
|
||||||
{ "","specialclothes" },
|
{ "specialclothes","single" },
|
||||||
{ "WeaponHolder_MeleeCrowbar","object" },
|
{ "WeaponHolder_MeleeCrowbar","object" },
|
||||||
{"MR43","weapon"},
|
{"MR43","weapon"},
|
||||||
};
|
};
|
||||||
@@ -623,8 +627,8 @@ class CfgBuildingLoot {
|
|||||||
{"Crossbow_DZ","weapon"},
|
{"Crossbow_DZ","weapon"},
|
||||||
{ "Binocular","weapon" },
|
{ "Binocular","weapon" },
|
||||||
{ "PartWoodPile","magazine" },
|
{ "PartWoodPile","magazine" },
|
||||||
{ "","clothes" },
|
{ "clothes","single" },
|
||||||
{ "","specialclothes" },
|
{ "specialclothes","single" },
|
||||||
{ "WeaponHolder_MeleeCrowbar","object" },
|
{ "WeaponHolder_MeleeCrowbar","object" },
|
||||||
{ "ItemBriefcaseEmpty","magazine" },
|
{ "ItemBriefcaseEmpty","magazine" },
|
||||||
};
|
};
|
||||||
@@ -671,18 +675,19 @@ class CfgBuildingLoot {
|
|||||||
lootChance = 0.3;
|
lootChance = 0.3;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
itemType[] = {
|
itemType[] = {
|
||||||
{ "WeaponHolder_ItemGenerator","object" },
|
{ "ItemGenerator","magazine" },
|
||||||
|
{"ItemFuelPump","magazine"},
|
||||||
{"ItemFuelBarrel","magazine"},
|
{"ItemFuelBarrel","magazine"},
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "","trash" },
|
{ "","trash" },
|
||||||
{ "","military" },
|
{ "","military" },
|
||||||
{ "WeaponHolder_PartGeneric","object" },
|
{ "PartGeneric","magazine" },
|
||||||
{ "WeaponHolder_PartWheel","object" },
|
{ "PartWheel","magazine" },
|
||||||
{ "WeaponHolder_PartFueltank","object" },
|
{ "PartFueltank","magazine" },
|
||||||
{ "WeaponHolder_PartEngine","object" },
|
{ "PartEngine","magazine" },
|
||||||
{ "WeaponHolder_PartGlass","object" },
|
{ "PartGlass","magazine" },
|
||||||
{ "WeaponHolder_PartVRotor","object" },
|
{ "PartVRotor","magazine" },
|
||||||
{ "WeaponHolder_ItemJerrycan","object" },
|
{ "ItemJerrycan","magazine" },
|
||||||
{ "WeaponHolder_ItemHatchet","object" },
|
{ "WeaponHolder_ItemHatchet","object" },
|
||||||
{ "ItemKnife","military" },
|
{ "ItemKnife","military" },
|
||||||
{ "ItemToolbox","weapon" },
|
{ "ItemToolbox","weapon" },
|
||||||
@@ -691,9 +696,10 @@ class CfgBuildingLoot {
|
|||||||
{"ItemKeyKit","weapon"}
|
{"ItemKeyKit","weapon"}
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
0.001,
|
0.003,
|
||||||
0.001,
|
0.003,
|
||||||
0.188,
|
0.003,
|
||||||
|
0.18,
|
||||||
0.29,
|
0.29,
|
||||||
0.04,
|
0.04,
|
||||||
0.04,
|
0.04,
|
||||||
@@ -718,18 +724,18 @@ class CfgBuildingLoot {
|
|||||||
lootChance = 0.3;
|
lootChance = 0.3;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
itemType[] = {
|
itemType[] = {
|
||||||
{ "WeaponHolder_ItemGenerator","object" },
|
{ "ItemGenerator","magazine" },
|
||||||
{"ItemFuelPump","magazine"},
|
{"ItemFuelPump","magazine"},
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "","trash" },
|
{ "","trash" },
|
||||||
{ "","military" },
|
{ "","military" },
|
||||||
{ "WeaponHolder_PartGeneric","object" },
|
{ "PartGeneric","magazine" },
|
||||||
{ "WeaponHolder_PartWheel","object" },
|
{ "PartWheel","magazine" },
|
||||||
{ "WeaponHolder_PartFueltank","object" },
|
{ "PartFueltank","magazine" },
|
||||||
{ "WeaponHolder_PartEngine","object" },
|
{ "PartEngine","magazine" },
|
||||||
{ "WeaponHolder_PartGlass","object" },
|
{ "PartGlass","magazine" },
|
||||||
{ "WeaponHolder_PartVRotor","object" },
|
{ "PartVRotor","magazine" },
|
||||||
{ "WeaponHolder_ItemJerrycan","object" },
|
{ "ItemJerrycan","magazine" },
|
||||||
{ "WeaponHolder_ItemHatchet","object" },
|
{ "WeaponHolder_ItemHatchet","object" },
|
||||||
{ "ItemKnife","military" },
|
{ "ItemKnife","military" },
|
||||||
{ "ItemToolbox","weapon" },
|
{ "ItemToolbox","weapon" },
|
||||||
@@ -738,9 +744,9 @@ class CfgBuildingLoot {
|
|||||||
{"ItemKeyKit","weapon"}
|
{"ItemKeyKit","weapon"}
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
0.001,
|
0.005,
|
||||||
0.001,
|
0.005,
|
||||||
0.188,
|
0.18,
|
||||||
0.29,
|
0.29,
|
||||||
0.04,
|
0.04,
|
||||||
0.04,
|
0.04,
|
||||||
@@ -765,7 +771,7 @@ class CfgBuildingLoot {
|
|||||||
lootChance = 0.5;
|
lootChance = 0.5;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
itemType[] = {
|
itemType[] = {
|
||||||
{ "WeaponHolder_ItemJerrycan","object" },
|
{ "ItemJerrycan","magazine" },
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "huntingrifle","weapon" },
|
{ "huntingrifle","weapon" },
|
||||||
{ "LeeEnfield","weapon" },
|
{ "LeeEnfield","weapon" },
|
||||||
@@ -774,6 +780,7 @@ class CfgBuildingLoot {
|
|||||||
{"Crossbow_DZ","weapon"},
|
{"Crossbow_DZ","weapon"},
|
||||||
{ "PartWoodPile","magazine" },
|
{ "PartWoodPile","magazine" },
|
||||||
{ "WeaponHolder_ItemHatchet","object" },
|
{ "WeaponHolder_ItemHatchet","object" },
|
||||||
|
{ "ItemShovel","weapon" },
|
||||||
{ "MR43","weapon" },
|
{ "MR43","weapon" },
|
||||||
{"ItemFuelBarrel","magazine"},
|
{"ItemFuelBarrel","magazine"},
|
||||||
{ "WeaponHolder_ItemMachete", "object"},
|
{ "WeaponHolder_ItemMachete", "object"},
|
||||||
@@ -789,11 +796,12 @@ class CfgBuildingLoot {
|
|||||||
0.21,
|
0.21,
|
||||||
0.03,
|
0.03,
|
||||||
0.085,
|
0.085,
|
||||||
0.15,
|
0.10,
|
||||||
|
0.05,
|
||||||
0.06,
|
0.06,
|
||||||
0.005,
|
0.001,
|
||||||
0.03,
|
0.03,
|
||||||
0.01,
|
0.014,
|
||||||
0.02
|
0.02
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -898,7 +906,7 @@ class CfgBuildingLoot {
|
|||||||
{ "NVGoggles","weapon" },
|
{ "NVGoggles","weapon" },
|
||||||
{ "AmmoBoxSmall_556","object" },
|
{ "AmmoBoxSmall_556","object" },
|
||||||
{ "AmmoBoxSmall_762","object" },
|
{ "AmmoBoxSmall_762","object" },
|
||||||
{ "","militaryclothes" },
|
{ "militaryclothes","single" },
|
||||||
{"G36C","weapon"},
|
{"G36C","weapon"},
|
||||||
{"G36C_camo","weapon"},
|
{"G36C_camo","weapon"},
|
||||||
//{"G36_C_SD_camo","weapon"},
|
//{"G36_C_SD_camo","weapon"},
|
||||||
@@ -953,7 +961,7 @@ class HeliCrash_No50s: Default {
|
|||||||
{"NVGoggles","weapon"},
|
{"NVGoggles","weapon"},
|
||||||
{"AmmoBoxSmall_556","object"},
|
{"AmmoBoxSmall_556","object"},
|
||||||
{"AmmoBoxSmall_762","object"},
|
{"AmmoBoxSmall_762","object"},
|
||||||
{ "","militaryclothes" },
|
{ "militaryclothes","single" },
|
||||||
{"G36C","weapon"},
|
{"G36C","weapon"},
|
||||||
{"G36C_camo","weapon"},
|
{"G36C_camo","weapon"},
|
||||||
//{"G36_C_SD_camo","weapon"},
|
//{"G36_C_SD_camo","weapon"},
|
||||||
@@ -1110,27 +1118,27 @@ class HeliCrash_No50s: Default {
|
|||||||
{ "M16A2","weapon" },
|
{ "M16A2","weapon" },
|
||||||
{ "M16A2GL","weapon" },
|
{ "M16A2GL","weapon" },
|
||||||
{ "M9SD","weapon" },
|
{ "M9SD","weapon" },
|
||||||
{ "WeaponHolder_PartGeneric","object" },
|
{ "PartGeneric","magazine" },
|
||||||
{ "M4A1_Aim","weapon" },
|
{ "M4A1_Aim","weapon" },
|
||||||
{ "AKS_74_kobra","weapon" },
|
{ "AKS_74_kobra","weapon" },
|
||||||
{ "AKS_74_U","weapon" },
|
{ "AKS_74_U","weapon" },
|
||||||
{ "AK_47_M","weapon" },
|
{ "AK_47_M","weapon" },
|
||||||
{ "M24","weapon" },
|
{ "M24","weapon" },
|
||||||
{ "M1014","weapon" },
|
{ "M1014","weapon" },
|
||||||
{ "WeaponHolder_ItemGenerator","object" },
|
{ "ItemGenerator","magazine" },
|
||||||
{ "M4A1","weapon" },
|
{ "M4A1","weapon" },
|
||||||
{ "M14_EP1","weapon" },
|
{ "M14_EP1","weapon" },
|
||||||
{ "UZI_EP1","weapon" },
|
{ "UZI_EP1","weapon" },
|
||||||
{ "Remington870_lamp","weapon" },
|
{ "Remington870_lamp","weapon" },
|
||||||
{ "glock17_EP1","weapon" },
|
{ "glock17_EP1","weapon" },
|
||||||
{ "WeaponHolder_PartWheel","object" },
|
{ "PartWheel","magazine" },
|
||||||
{ "MP5SD","weapon" },
|
{ "MP5SD","weapon" },
|
||||||
{ "M4A3_CCO_EP1","weapon" },
|
{ "M4A3_CCO_EP1","weapon" },
|
||||||
{ "Binocular","weapon" },
|
{ "Binocular","weapon" },
|
||||||
{ "ItemFlashlightRed","military" },
|
{ "ItemFlashlightRed","military" },
|
||||||
{ "ItemKnife","military" },
|
{ "ItemKnife","military" },
|
||||||
{ "ItemGPS","weapon" },
|
{ "ItemGPS","weapon" },
|
||||||
{ "WeaponHolder_PartVRotor","object" },
|
{ "PartVRotor","magazine" },
|
||||||
|
|
||||||
{"DZ_ALICE_Pack_EP1","object"}, // 16
|
{"DZ_ALICE_Pack_EP1","object"}, // 16
|
||||||
{"DZ_TK_Assault_Pack_EP1","object"}, // 16
|
{"DZ_TK_Assault_Pack_EP1","object"}, // 16
|
||||||
@@ -1263,7 +1271,7 @@ class HeliCrash_No50s: Default {
|
|||||||
{"G36_C_SD_camo","weapon"},
|
{"G36_C_SD_camo","weapon"},
|
||||||
{"M40A3","weapon"},
|
{"M40A3","weapon"},
|
||||||
{"100Rnd_762x54_PK","magazine"},
|
{"100Rnd_762x54_PK","magazine"},
|
||||||
{ "","militaryclothes" },
|
{ "militaryclothes","single" },
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
0.011,
|
0.011,
|
||||||
@@ -1435,7 +1443,7 @@ class HeliCrash_No50s: Default {
|
|||||||
};
|
};
|
||||||
class Land_A_Hospital: hospital {
|
class Land_A_Hospital: hospital {
|
||||||
lootChance = 0.9;
|
lootChance = 0.9;
|
||||||
lootPos[] = {{8.30273,-0.921875,-6.89966},{2.32813,-3.57422,-6.36466},{-1.40234,-4.0293,-6.36466},{0.807129,-1.16333,-7.33966},{-7.23389,-2.63647,-7.33966},{-16.3687,-2.40381,-7.33966},{-12.2847,-3.19604,-7.33966},{4.40674,-3.50513,-7.33966},{-3.2666,-0.925293,-7.33966},{6.85693,-2.75146,-7.33966},{11.0151,-3.95435,-7.33966},{16.8198,-4.71118,-7.33966},{-1.12793,3.78418,-7.44939},{12.7476,0.142822,3.29184},{10.2661,-1.21558,3.29184}};
|
lootPos[] = {{8.30273,-0.921875,-6.89966},{2.32813,-3.57422,-6.36466},{-1.40234,-4.0293,-6.36466},{0.807129,-1.16333,-7.33966},{-7.23389,-2.63647,-7.33966},{-16.3687,-2.40381,-7.33966},{-12.2847,-3.19604,-7.33966},{4.40674,-3.50513,-7.33966},{-3.2666,-0.925293,-7.33966},{6.85693,-2.75146,-7.33966},{11.0151,-3.95435,-7.33966},{16.8198,-4.71118,-7.33966},{-1.12793,3.78418,-7.44939},{12.7476,0.142822,3.29184},{10.2661,-1.21558,3.29184}};
|
||||||
};
|
};
|
||||||
class Land_Panelak: Office {
|
class Land_Panelak: Office {
|
||||||
lootPos[] = {{-2.76904,-6.26563,0.0714226},{-2.93896,-1.3916,0.0714226},{-5.42065,-3.13184,0.0714226},{-6.81128,-6.15527,0.0714221},{-4.00879,2.53027,0.0714226},{-0.730957,-3.20117,2.77144},{3.979,-7.08936,2.77144},{2.49609,2.93701,2.77144},{6.7373,1.63281,2.77144},{6.38525,-2.3916,2.77144},{6.80615,-5.77295,2.77144},{3.75122,-0.803711,2.77144},{-0.824219,1.86914,1.32865}};
|
lootPos[] = {{-2.76904,-6.26563,0.0714226},{-2.93896,-1.3916,0.0714226},{-5.42065,-3.13184,0.0714226},{-6.81128,-6.15527,0.0714221},{-4.00879,2.53027,0.0714226},{-0.730957,-3.20117,2.77144},{3.979,-7.08936,2.77144},{2.49609,2.93701,2.77144},{6.7373,1.63281,2.77144},{6.38525,-2.3916,2.77144},{6.80615,-5.77295,2.77144},{3.75122,-0.803711,2.77144},{-0.824219,1.86914,1.32865}};
|
||||||
@@ -1449,9 +1457,6 @@ class HeliCrash_No50s: Default {
|
|||||||
class Land_Shed_wooden: Residential {
|
class Land_Shed_wooden: Residential {
|
||||||
lootPos[] = {{1.26807,-0.361328,-1.29153},{-0.342773,1.0293,-1.29153}};
|
lootPos[] = {{1.26807,-0.361328,-1.29153},{-0.342773,1.0293,-1.29153}};
|
||||||
};
|
};
|
||||||
class Land_Misc_PowerStation: Industrial {
|
|
||||||
lootPos[] = {{4.09888,4.89746,-1.26743},{4.22827,-1.19873,-1.2681}};
|
|
||||||
};
|
|
||||||
class Land_HouseBlock_A1_1: Residential {
|
class Land_HouseBlock_A1_1: Residential {
|
||||||
lootPos[] = {{-3.52881,0.158936,-4.74365},{-3.56152,-2.33484,-4.73106}};
|
lootPos[] = {{-3.52881,0.158936,-4.74365},{-3.56152,-2.33484,-4.73106}};
|
||||||
};
|
};
|
||||||
@@ -1584,10 +1589,7 @@ class HeliCrash_No50s: Default {
|
|||||||
maxRoaming = 3;
|
maxRoaming = 3;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
}; // Qty: 103
|
}; // Qty: 103
|
||||||
class Land_HouseV_1L2: Residential {
|
|
||||||
maxRoaming = 3;
|
|
||||||
lootPos[] = {};
|
|
||||||
}; // Qty: 101
|
|
||||||
class Land_HouseV_1T: Residential {
|
class Land_HouseV_1T: Residential {
|
||||||
maxRoaming = 3;
|
maxRoaming = 3;
|
||||||
lootPos[] = {};
|
lootPos[] = {};
|
||||||
@@ -1679,7 +1681,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class Land_HouseV_2T1: HouseRoaming{};
|
class Land_HouseV_2T1: HouseRoaming{};
|
||||||
class Land_houseV_2T2: HouseRoaming{};
|
class Land_houseV_2T2: HouseRoaming{};
|
||||||
class Land_HouseV_3I2: HouseRoaming{};
|
class Land_HouseV_3I2: HouseRoaming{};
|
||||||
class Land_HouseV_3I3: HouseRoaming{};
|
|
||||||
class Land_HouseBlock_A1: HouseRoaming{};
|
class Land_HouseBlock_A1: HouseRoaming{};
|
||||||
class Land_HouseBlock_A1_2: HouseRoaming{};
|
class Land_HouseBlock_A1_2: HouseRoaming{};
|
||||||
class Land_HouseBlock_A2: HouseRoaming{};
|
class Land_HouseBlock_A2: HouseRoaming{};
|
||||||
@@ -1720,8 +1722,21 @@ class HeliCrash_No50s: Default {
|
|||||||
maxRoaming = 4;
|
maxRoaming = 4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Land_HouseV_1L2: Residential {
|
||||||
|
maxRoaming = 3;
|
||||||
|
lootPos[] = {};
|
||||||
|
}; // Qty: 101
|
||||||
|
|
||||||
|
class Land_Misc_PowerStation: Industrial {
|
||||||
|
lootPos[] = {{4.09888,4.89746,-1.26743},{4.22827,-1.19873,-1.2681}};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Land_HouseV_3I3: HouseRoaming{};
|
||||||
|
|
||||||
|
class Land_Mil_Guardhouse: Military {
|
||||||
|
lootPos[] = {{-2.53271,3.17871,-1.66939},{-2.39014,0.878906,-1.66939}};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// DAYZ AMP More buildings
|
// DAYZ AMP More buildings
|
||||||
class Mass_grave_DZ: HouseRoaming {
|
class Mass_grave_DZ: HouseRoaming {
|
||||||
zombieClass[] = {"zZombie_Base","z_hunter","z_hunter","z_hunter","z_villager1","z_villager2","z_villager3","z_doctor","z_soldier_pilot","z_soldier_heavy"};
|
zombieClass[] = {"zZombie_Base","z_hunter","z_hunter","z_hunter","z_villager1","z_villager2","z_villager3","z_doctor","z_soldier_pilot","z_soldier_heavy"};
|
||||||
@@ -1968,11 +1983,11 @@ class HeliCrash_No50s: Default {
|
|||||||
{ "ItemToolbox","weapon" },
|
{ "ItemToolbox","weapon" },
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "","food" },
|
{ "","food" },
|
||||||
{ "WeaponHolder_PartGeneric","object" },
|
{ "PartGeneric","magazine" },
|
||||||
{ "WeaponHolder_PartWheel","object" },
|
{ "PartWheel","magazine" },
|
||||||
{ "WeaponHolder_PartFueltank","object" },
|
{ "PartFueltank","magazine" },
|
||||||
{ "WeaponHolder_PartEngine","object" },
|
{ "PartEngine","magazine" },
|
||||||
{ "WeaponHolder_PartGlass","object" },
|
{ "PartGlass","magazine" },
|
||||||
{ "WeaponHolder_ItemJerrycan","object" }
|
{ "WeaponHolder_ItemJerrycan","object" }
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
@@ -2018,12 +2033,12 @@ class HeliCrash_No50s: Default {
|
|||||||
{ "ItemToolbox","weapon" },
|
{ "ItemToolbox","weapon" },
|
||||||
{ "","generic" },
|
{ "","generic" },
|
||||||
{ "","food" },
|
{ "","food" },
|
||||||
{ "WeaponHolder_PartGeneric","object" },
|
{ "PartGeneric","magazine" },
|
||||||
{ "WeaponHolder_PartWheel","object" },
|
{ "PartWheel","magazine" },
|
||||||
{ "WeaponHolder_PartFueltank","object" },
|
{ "PartFueltank","magazine" },
|
||||||
{ "WeaponHolder_PartEngine","object" },
|
{ "PartEngine","magazine" },
|
||||||
{ "WeaponHolder_PartGlass","object" },
|
{ "PartGlass","magazine" },
|
||||||
{ "WeaponHolder_PartVRotor","object" },
|
{ "PartVRotor","magazine" },
|
||||||
{ "WeaponHolder_ItemJerrycan","object" }
|
{ "WeaponHolder_ItemJerrycan","object" }
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
@@ -2840,11 +2855,10 @@ class HeliCrash_No50s: Default {
|
|||||||
{-1.22461,-2.17969,2.28329},
|
{-1.22461,-2.17969,2.28329},
|
||||||
{1.14844,-2.9707,2.28329}};
|
{1.14844,-2.9707,2.28329}};
|
||||||
};
|
};
|
||||||
// Greenhouse - Also affects chernarus
|
// blue trailer - Also affects chernarus
|
||||||
class Land_Shed_M02: Industrial
|
class Land_Shed_M02: Industrial
|
||||||
{
|
{
|
||||||
lootPos[] = {
|
//lootPos[] = {{-8.28613,-5.3457,-0.277144}};
|
||||||
{-8.28613,-5.3457,-0.277144}};
|
|
||||||
};
|
};
|
||||||
class Land_sara_Domek_sedy: Residential
|
class Land_sara_Domek_sedy: Residential
|
||||||
{
|
{
|
||||||
@@ -3207,9 +3221,7 @@ class HeliCrash_No50s: Default {
|
|||||||
class land_st_vez: MilitarySpecial {
|
class land_st_vez: MilitarySpecial {
|
||||||
lootPos[] = {{-5.56445,4.23975,-3.31476},{-5.05566,-3.17627,-3.31476},{4.12109,3.92822,2.42732},{-1.73389,2.68896,6.40834},{-4.23584,1.29736,6.40834},{-3.80322,-1.09277,6.40834},{0.430664,1.31787,6.40834},{-2.45166,-2.16748,6.40834},{-0.608398,-0.57666,-11.095},{-2.08691,1.10303,-11.0649},{0.259277,-3.89697,-3.31476},{3.9375,3.30957,-8.50825}};
|
lootPos[] = {{-5.56445,4.23975,-3.31476},{-5.05566,-3.17627,-3.31476},{4.12109,3.92822,2.42732},{-1.73389,2.68896,6.40834},{-4.23584,1.29736,6.40834},{-3.80322,-1.09277,6.40834},{0.430664,1.31787,6.40834},{-2.45166,-2.16748,6.40834},{-0.608398,-0.57666,-11.095},{-2.08691,1.10303,-11.0649},{0.259277,-3.89697,-3.31476},{3.9375,3.30957,-8.50825}};
|
||||||
};
|
};
|
||||||
class Land_Mil_Guardhouse: Military {
|
|
||||||
lootPos[] = {{-2.53271,3.17871,-1.66939},{-2.39014,0.878906,-1.66939}};
|
|
||||||
};
|
|
||||||
class Land_dulni_bs: Residential {
|
class Land_dulni_bs: Residential {
|
||||||
lootPos[] = {{2.76758,2.70068,-1.75205},{2.34668,-1.28564,-1.75205},{-0.478516,-2.64844,-1.75205},{-0.53418,3.11133,-1.75205}};
|
lootPos[] = {{2.76758,2.70068,-1.75205},{2.34668,-1.28564,-1.75205},{-0.478516,-2.64844,-1.75205},{-0.53418,3.11133,-1.75205}};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ if (!isDedicated) then {
|
|||||||
player_fillWater = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\water_fill.sqf";
|
player_fillWater = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\water_fill.sqf";
|
||||||
player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";
|
player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";
|
||||||
player_chopWood = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_chopWood.sqf";
|
player_chopWood = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_chopWood.sqf";
|
||||||
|
player_harvestPlant = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_harvestPlant.sqf";
|
||||||
player_goFishing = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_goFishing.sqf";
|
player_goFishing = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_goFishing.sqf";
|
||||||
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";
|
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";
|
||||||
player_wearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";
|
player_wearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";
|
||||||
@@ -124,7 +125,7 @@ if (!isDedicated) then {
|
|||||||
_control1 = _display displayctrl 8400;
|
_control1 = _display displayctrl 8400;
|
||||||
_control2 = _display displayctrl 102;
|
_control2 = _display displayctrl 102;
|
||||||
// 120 sec timeout
|
// 120 sec timeout
|
||||||
while { _timeOut < 500 && !dayz_clientPreload && !dayz_authed } do {
|
while { _timeOut < 3000 && !dayz_clientPreload && !dayz_authed } do {
|
||||||
|
|
||||||
if ( isNull _display ) then {
|
if ( isNull _display ) then {
|
||||||
waitUntil { !dialog; };
|
waitUntil { !dialog; };
|
||||||
@@ -133,15 +134,16 @@ if (!isDedicated) then {
|
|||||||
_control1 = _display displayctrl 8400;
|
_control1 = _display displayctrl 8400;
|
||||||
_control2 = _display displayctrl 102;
|
_control2 = _display displayctrl 102;
|
||||||
};
|
};
|
||||||
|
|
||||||
if ( dayz_loadScreenMsg != "" ) then {
|
if ( dayz_loadScreenMsg != "" ) then {
|
||||||
_control1 ctrlSetText dayz_loadScreenMsg;
|
_control1 ctrlSetText dayz_loadScreenMsg;
|
||||||
dayz_loadScreenMsg = "";
|
dayz_loadScreenMsg = "";
|
||||||
};
|
};
|
||||||
_control2 ctrlSetText format["%1",round(_timeOut*0.1)];
|
_control2 ctrlSetText format["%1",round(_timeOut*0.01)];
|
||||||
_timeOut = _timeOut + 1;
|
_timeOut = _timeOut + 1;
|
||||||
sleep 0.1;
|
sleep 0.01;
|
||||||
};
|
};
|
||||||
endLoadingScreen;
|
endLoadingScreen;
|
||||||
/*
|
/*
|
||||||
if ( !dayz_clientPreload && !dayz_authed ) then {
|
if ( !dayz_clientPreload && !dayz_authed ) then {
|
||||||
diag_log "DEBUG: loadscreen guard ended with timeout.";
|
diag_log "DEBUG: loadscreen guard ended with timeout.";
|
||||||
@@ -151,6 +153,22 @@ if (!isDedicated) then {
|
|||||||
} else { diag_log "DEBUG: loadscreen guard ended."; };
|
} else { diag_log "DEBUG: loadscreen guard ended."; };
|
||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
RunTime = 0;
|
||||||
|
TotalRuns = 0;
|
||||||
|
|
||||||
|
fnc_dump = {
|
||||||
|
private["_code","_benchmark","_averageRunTime"];
|
||||||
|
_code = _this select 0;
|
||||||
|
_benchmark = _this select 1;
|
||||||
|
|
||||||
|
RunTime = RunTime + _benchmark;
|
||||||
|
TotalRuns = TotalRuns + 1;
|
||||||
|
_averageRunTime = RunTime/TotalRuns;
|
||||||
|
|
||||||
|
diag_log format["%1 - %2 (%3 / %4)",_code,_benchmark,_averageRunTime,TotalRuns];
|
||||||
|
};
|
||||||
dayz_losChance = {
|
dayz_losChance = {
|
||||||
private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"];
|
private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"];
|
||||||
_agent = _this select 0;
|
_agent = _this select 0;
|
||||||
@@ -195,8 +213,8 @@ if (!isDedicated) then {
|
|||||||
_agent = _this select 1;
|
_agent = _this select 1;
|
||||||
_cantSee = true;
|
_cantSee = true;
|
||||||
if (!isNull _target) then {
|
if (!isNull _target) then {
|
||||||
_tPos = eyePos _target;
|
_tPos = aimPos _target;
|
||||||
_zPos = eyePos _agent;
|
_zPos = aimPos _agent;
|
||||||
if ((count _tPos > 0) and (count _zPos > 0)) then {
|
if ((count _tPos > 0) and (count _zPos > 0)) then {
|
||||||
_cantSee = terrainIntersectASL [_tPos, _zPos];
|
_cantSee = terrainIntersectASL [_tPos, _zPos];
|
||||||
if (!_cantSee) then {
|
if (!_cantSee) then {
|
||||||
@@ -290,6 +308,18 @@ if (!isDedicated) then {
|
|||||||
dayz_lastCheckBit = time;
|
dayz_lastCheckBit = time;
|
||||||
_nill = execvm "\z\addons\dayz_code\actions\playerstats.sqf";
|
_nill = execvm "\z\addons\dayz_code\actions\playerstats.sqf";
|
||||||
};
|
};
|
||||||
|
//
|
||||||
|
if (_dikCode == 0x48) then {
|
||||||
|
DZE_Q = true;
|
||||||
|
};
|
||||||
|
if (_dikCode == 0x50) then {
|
||||||
|
DZE_Z = true;
|
||||||
|
};
|
||||||
|
if (_dikCode == 0x4C) then {
|
||||||
|
DZE_5 = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
if ((_dikCode == 0x3E or _dikCode == 0x0F or _dikCode == 0xD3) and (time - dayz_lastCheckBit > 10)) then {
|
if ((_dikCode == 0x3E or _dikCode == 0x0F or _dikCode == 0xD3) and (time - dayz_lastCheckBit > 10)) then {
|
||||||
dayz_lastCheckBit = time;
|
dayz_lastCheckBit = time;
|
||||||
call dayz_forceSave;
|
call dayz_forceSave;
|
||||||
@@ -382,38 +412,214 @@ if (!isDedicated) then {
|
|||||||
if (_vdir < 0) then {_vdir = 360 + _vdir};
|
if (_vdir < 0) then {_vdir = 360 + _vdir};
|
||||||
_vdir
|
_vdir
|
||||||
};
|
};
|
||||||
|
|
||||||
|
DZE_getModelName = {
|
||||||
|
_objInfo = toArray(str(_this));
|
||||||
|
_lenInfo = count _objInfo - 1;
|
||||||
|
_objName = [];
|
||||||
|
_i = 0;
|
||||||
|
// determine where the object name starts
|
||||||
|
{
|
||||||
|
if (58 == _objInfo select _i) exitWith {};
|
||||||
|
_i = _i + 1;
|
||||||
|
} forEach _objInfo;
|
||||||
|
_i = _i + 2; // skip the ": " part
|
||||||
|
for "_k" from _i to _lenInfo do {
|
||||||
|
_objName = _objName + [_objInfo select _k];
|
||||||
|
};
|
||||||
|
_objName = toLower(toString(_objName));
|
||||||
|
_objName
|
||||||
|
};
|
||||||
|
|
||||||
dayz_lowHumanity = {
|
|
||||||
private["_unit","_humanity","_delay"];
|
|
||||||
_unit = _this;
|
|
||||||
if ((_unit distance player) < 15) then {
|
|
||||||
_humanity = _unit getVariable["humanity",0];
|
|
||||||
dayz_heartBeat = true;
|
|
||||||
if (_humanity < -3000) then {
|
|
||||||
_delay = ((10000 + _humanity) / 5500) + 0.3;
|
|
||||||
playSound "heartbeat_1";
|
|
||||||
sleep _delay;
|
|
||||||
};
|
|
||||||
dayz_heartBeat = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
dayz_meleeMagazineCheck = {
|
|
||||||
private["_meleeNum","_magType","_wpnType"];
|
|
||||||
_wpnType = _this;
|
|
||||||
_magType = ([] + getArray (configFile >> "CfgWeapons" >> _wpnType >> "magazines")) select 0;
|
|
||||||
_meleeNum = ({_x == _magType} count magazines player);
|
|
||||||
if (_meleeNum > 1) then {
|
|
||||||
if (player hasWeapon _wpnType) then {
|
|
||||||
_meleeNum = _meleeNum - 1;
|
|
||||||
};
|
|
||||||
for "_i" from 1 to _meleeNum do {
|
|
||||||
player removeMagazine _magType;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
dayz_originalPlayer = player;
|
dayz_originalPlayer = player;
|
||||||
|
|
||||||
|
|
||||||
|
// trader menu gui by maca134
|
||||||
|
TraderDialogCatList = 12000;
|
||||||
|
TraderDialogItemList = 12001;
|
||||||
|
TraderDialogBuyPrice = 12002;
|
||||||
|
TraderDialogSellPrice = 12003;
|
||||||
|
|
||||||
|
TraderCurrentCatIndex = -1;
|
||||||
|
TraderCatList = -1;
|
||||||
|
TraderItemList = -1;
|
||||||
|
|
||||||
|
TraderDialogLoadItemList = {
|
||||||
|
private ["_index", "_trader_id", "_activatingPlayer"];
|
||||||
|
TraderItemList = -1;
|
||||||
|
_index = _this select 0;
|
||||||
|
|
||||||
|
if (_index < 0 or TraderCurrentCatIndex == _index) exitWith {};
|
||||||
|
TraderCurrentCatIndex = _index;
|
||||||
|
|
||||||
|
_trader_id = TraderCatList select _index;
|
||||||
|
_activatingPlayer = player;
|
||||||
|
|
||||||
|
lbClear TraderDialogItemList;
|
||||||
|
ctrlSetText [TraderDialogBuyPrice, ""];
|
||||||
|
ctrlSetText [TraderDialogSellPrice, ""];
|
||||||
|
|
||||||
|
lbAdd [TraderDialogItemList, "Loading items..."];
|
||||||
|
|
||||||
|
dayzTraderMenuResult = call compile format["tcacheBuy_%1;",_trader_id];
|
||||||
|
|
||||||
|
if(isNil "dayzTraderMenuResult") then {
|
||||||
|
dayzTraderMenu = [_activatingPlayer,_trader_id];
|
||||||
|
publicVariableServer "dayzTraderMenu";
|
||||||
|
waitUntil {!isNil "dayzTraderMenuResult"};
|
||||||
|
};
|
||||||
|
|
||||||
|
lbClear TraderDialogItemList;
|
||||||
|
_item_list = [];
|
||||||
|
{
|
||||||
|
private ["_header", "_item", "_name", "_type", "_textPart", "_qty", "_buy", "_bqty", "_bname", "_btype", "_btextCurrency", "_sell", "_sqty", "_sname", "_stype", "_stextCurrency", "_order", "_order", "_afile", "_File", "_count", "_bag", "_bagclass", "_index", "_image"];
|
||||||
|
_header = _x select 0; // "TRD"
|
||||||
|
_item = _x select 1;
|
||||||
|
_name = _item select 0;
|
||||||
|
_type = _item select 1;
|
||||||
|
switch (true) do {
|
||||||
|
case (_type == 1): {
|
||||||
|
_type = "CfgMagazines";
|
||||||
|
};
|
||||||
|
case (_type == 2): {
|
||||||
|
_type = "CfgVehicles";
|
||||||
|
};
|
||||||
|
case (_type == 3): {
|
||||||
|
_type = "CfgWeapons";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
// Display Name of item
|
||||||
|
_textPart = getText(configFile >> _type >> _name >> "displayName");
|
||||||
|
|
||||||
|
// Total in stock
|
||||||
|
_qty = _x select 2;
|
||||||
|
|
||||||
|
// Buy Data from array
|
||||||
|
_buy = _x select 3;
|
||||||
|
_bqty = _buy select 0;
|
||||||
|
_bname = _buy select 1;
|
||||||
|
_btype = _buy select 2;
|
||||||
|
switch(true)do{
|
||||||
|
case (_btype == 1): {
|
||||||
|
_btype = "CfgMagazines";
|
||||||
|
};
|
||||||
|
case (_btype == 2): {
|
||||||
|
_btype = "CfgVehicles";
|
||||||
|
};
|
||||||
|
case (_btype == 3): {
|
||||||
|
_btype = "CfgWeapons";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Display Name of buy item
|
||||||
|
_btextCurrency = getText(configFile >> _btype >> _bname >> "displayName");
|
||||||
|
|
||||||
|
_sell = _x select 4;
|
||||||
|
_sqty = _sell select 0;
|
||||||
|
_sname = _sell select 1;
|
||||||
|
_stype = _sell select 2;
|
||||||
|
switch(true)do{
|
||||||
|
case (_stype == 1): {
|
||||||
|
_stype = "CfgMagazines";
|
||||||
|
};
|
||||||
|
case (_stype == 2): {
|
||||||
|
_stype = "CfgVehicles";
|
||||||
|
};
|
||||||
|
case (_stype == 3): {
|
||||||
|
_stype = "CfgWeapons";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
// Display Name of sell item
|
||||||
|
_stextCurrency = getText(configFile >> _stype >> _sname >> "displayName");
|
||||||
|
|
||||||
|
// Menu sort order
|
||||||
|
_order = _x select 5;
|
||||||
|
|
||||||
|
// Action file to use for trade
|
||||||
|
_afile = _x select 7;
|
||||||
|
_File = "\z\addons\dayz_code\actions\" + _afile + ".sqf";
|
||||||
|
|
||||||
|
_count = 0;
|
||||||
|
if(_type == "CfgVehicles") then {
|
||||||
|
if (_afile == "trade_backpacks") then {
|
||||||
|
_bag = unitBackpack player;
|
||||||
|
_bagclass = typeOf _bag;
|
||||||
|
if(_name == _bagclass) then {
|
||||||
|
_count = 1;
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_count = {(typeOf _x) == _name} count (nearestObjects [player, [_name], 20]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if(_type == "CfgMagazines") then {
|
||||||
|
_count = {_x == _name} count magazines player;
|
||||||
|
};
|
||||||
|
|
||||||
|
if(_type == "CfgWeapons") then {
|
||||||
|
_count = {_x == _name} count weapons player;
|
||||||
|
};
|
||||||
|
|
||||||
|
_index = lbAdd [TraderDialogItemList, format["%1 (%2)", _textPart, _name]];
|
||||||
|
|
||||||
|
if (_count > 0) then {
|
||||||
|
lbSetColor [TraderDialogItemList, _index, [0, 1, 0, 1]];
|
||||||
|
};
|
||||||
|
|
||||||
|
_image = getText(configFile >> _type >> _name >> "picture");
|
||||||
|
lbSetPicture [TraderDialogItemList, _index, _image];
|
||||||
|
|
||||||
|
_item_list set [count _item_list, [
|
||||||
|
_name,
|
||||||
|
_textPart,
|
||||||
|
_bqty,
|
||||||
|
_bname,
|
||||||
|
_btextCurrency,
|
||||||
|
_sqty,
|
||||||
|
_sname,
|
||||||
|
_stextCurrency,
|
||||||
|
_header,
|
||||||
|
_File
|
||||||
|
]];
|
||||||
|
} forEach dayzTraderMenuResult;
|
||||||
|
TraderItemList = _item_list;
|
||||||
|
};
|
||||||
|
|
||||||
|
TraderDialogShowPrices = {
|
||||||
|
private ["_index", "_item"];
|
||||||
|
_index = _this select 0;
|
||||||
|
if (_index < 0) exitWith {};
|
||||||
|
while {count TraderItemList < 1} do { sleep 1; };
|
||||||
|
_item = TraderItemList select _index;
|
||||||
|
ctrlSetText [TraderDialogBuyPrice, format["%1 %2", _item select 2, _item select 4]];
|
||||||
|
ctrlSetText [TraderDialogSellPrice, format["%1 %2", _item select 5, _item select 7]];
|
||||||
|
};
|
||||||
|
|
||||||
|
TraderDialogBuy = {
|
||||||
|
private ["_index", "_item", "_data"];
|
||||||
|
_index = _this select 0;
|
||||||
|
if (_index < 0) exitWith {
|
||||||
|
cutText ["Trading canceled." , "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
_item = TraderItemList select _index;
|
||||||
|
_data = [_item select 0, _item select 3, 1, _item select 2, "buy", _item select 4, _item select 1, _item select 8];
|
||||||
|
[0, player, '', _data] execVM (_item select 9);
|
||||||
|
TraderItemList = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
TraderDialogSell = {
|
||||||
|
private ["_index", "_item", "_data"];
|
||||||
|
_index = _this select 0;
|
||||||
|
if (_index < 0) exitWith {
|
||||||
|
cutText ["Trading canceled." , "PLAIN DOWN"];
|
||||||
|
};
|
||||||
|
_item = TraderItemList select _index;
|
||||||
|
_data = [_item select 6, _item select 0, _item select 5, 1, "sell", _item select 1, _item select 7, _item select 8];
|
||||||
|
[0, player, '', _data] execVM (_item select 9);
|
||||||
|
TraderItemList = -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
progressLoadingScreen 0.8;
|
progressLoadingScreen 0.8;
|
||||||
@@ -432,13 +638,15 @@ if (!isDedicated) then {
|
|||||||
object_delLocal = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_delLocal.sqf";
|
object_delLocal = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_delLocal.sqf";
|
||||||
// object_cargoCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_cargoCheck.sqf"; //Run by the player or server to monitor changes in cargo contents
|
// object_cargoCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_cargoCheck.sqf"; //Run by the player or server to monitor changes in cargo contents
|
||||||
fnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf"; //Event handler run on damage
|
fnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf"; //Event handler run on damage
|
||||||
|
fnc_veh_ResetEH = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\veh_ResetEH.sqf"; //Initialize vehicle
|
||||||
// Vehicle damage fix
|
// Vehicle damage fix
|
||||||
vehicle_handleDamage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_handleDamage.sqf";
|
vehicle_handleDamage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_handleDamage.sqf";
|
||||||
vehicle_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_handleKilled.sqf";
|
vehicle_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_handleKilled.sqf";
|
||||||
fnc_vehicleEventHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\vehicle_init.sqf"; //Initialize vehicle
|
//fnc_vehicleEventHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\vehicle_init.sqf"; //Initialize vehicle
|
||||||
fnc_inString = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inString.sqf";
|
fnc_inString = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inString.sqf";
|
||||||
fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
|
fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
|
||||||
fnc_isInsideBuilding2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding2.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
|
fnc_isInsideBuilding2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding2.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
|
||||||
|
fnc_isInsideBuilding3 = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding3.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;
|
||||||
dayz_zombieSpeak = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_speak.sqf"; //Used to generate random speech for a unit
|
dayz_zombieSpeak = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_speak.sqf"; //Used to generate random speech for a unit
|
||||||
vehicle_getHitpoints = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getHitpoints.sqf";
|
vehicle_getHitpoints = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getHitpoints.sqf";
|
||||||
local_gutObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObject.sqf"; //Generated on the server (or local to unit) when gutting an object
|
local_gutObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObject.sqf"; //Generated on the server (or local to unit) when gutting an object
|
||||||
@@ -459,6 +667,7 @@ if (!isDedicated) then {
|
|||||||
world_isDay = {if ((daytime < (24 - dayz_sunRise)) and (daytime > dayz_sunRise)) then {true} else {false}};
|
world_isDay = {if ((daytime < (24 - dayz_sunRise)) and (daytime > dayz_sunRise)) then {true} else {false}};
|
||||||
player_humanityChange = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_humanityChange.sqf";
|
player_humanityChange = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_humanityChange.sqf";
|
||||||
spawn_loot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot.sqf";
|
spawn_loot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot.sqf";
|
||||||
|
spawn_loot_small = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot_small.sqf";
|
||||||
// player_projectileNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_projectileNear.sqf";
|
// player_projectileNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_projectileNear.sqf";
|
||||||
|
|
||||||
player_sumMedical = {
|
player_sumMedical = {
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ _config = configFile >> "CfgBuildingLoot";
|
|||||||
for "_i" from 0 to ((count _config) - 1) do {
|
for "_i" from 0 to ((count _config) - 1) do {
|
||||||
_classname = toLower(configName (_config select _i));
|
_classname = toLower(configName (_config select _i));
|
||||||
_itemChances = [] + getArray (_config >> _classname >> "ItemChance");
|
_itemChances = [] + getArray (_config >> _classname >> "ItemChance");
|
||||||
_itemCount = count _itemChances;
|
_itemChancesSmall = [] + getArray (_config >> _classname >> "ItemChanceSmall");
|
||||||
|
_itemCount = count _itemChances;
|
||||||
if (_itemCount > 0) then {
|
if (_itemCount > 0) then {
|
||||||
if (dayz_CBLBase find _classname < 0) then {
|
if (dayz_CBLBase find _classname < 0) then {
|
||||||
_weighted = [];
|
_weighted = [];
|
||||||
@@ -19,7 +20,7 @@ for "_i" from 0 to ((count _config) - 1) do {
|
|||||||
_j = _j + _weight;
|
_j = _j + _weight;
|
||||||
};
|
};
|
||||||
dayz_CBLChances set [count dayz_CBLChances, _weighted];
|
dayz_CBLChances set [count dayz_CBLChances, _weighted];
|
||||||
dayz_CBLBase set [count dayz_CBLBase, _classname];
|
dayz_CBLBase set [count dayz_CBLBase, _classname];
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
dayz_CBLChances set [count dayz_CBLChances, [0]];
|
dayz_CBLChances set [count dayz_CBLChances, [0]];
|
||||||
|
|||||||
@@ -57,6 +57,6 @@ actionMonitor = {
|
|||||||
if (_classname == "WoodenArrow") then {
|
if (_classname == "WoodenArrow") then {
|
||||||
[_holder,_type,_classname,_name] spawn actionMonitor;
|
[_holder,_type,_classname,_name] spawn actionMonitor;
|
||||||
} else {
|
} else {
|
||||||
null = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
|
_holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true, "", "DZE_CanPickup"];
|
||||||
player reveal _holder;
|
player reveal _holder;
|
||||||
};
|
};
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
"dayzGutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
|
"dayzGutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject};
|
||||||
"dayzGutBodyZ" addPublicVariableEventHandler {(_this select 1) spawn local_gutObjectZ};
|
"dayzGutBodyZ" addPublicVariableEventHandler {(_this select 1) spawn local_gutObjectZ};
|
||||||
"dayzDelLocal" addPublicVariableEventHandler {(_this select 1) call object_delLocal};
|
"dayzDelLocal" addPublicVariableEventHandler {(_this select 1) call object_delLocal};
|
||||||
"dayzVehicleInit" addPublicVariableEventHandler {(_this select 1) call fnc_vehicleEventHandler};
|
"dayzVehicleInit" addPublicVariableEventHandler {(_this select 1) call fnc_veh_ResetEH};
|
||||||
"dayzHumanity" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
|
"dayzHumanity" addPublicVariableEventHandler {(_this select 1) spawn player_humanityChange};
|
||||||
"dayz_serverObjectMonitor" addPublicVariableEventHandler {dayz_serverObjectMonitor = dayz_safety};
|
"dayz_serverObjectMonitor" addPublicVariableEventHandler {dayz_serverObjectMonitor = dayz_safety};
|
||||||
"usecBreakLegs" addPublicVariableEventHandler {(_this select 1) call player_breaklegs};
|
"usecBreakLegs" addPublicVariableEventHandler {(_this select 1) call player_breaklegs};
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user