mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-26 01:31:51 +03:00
1.0.1.5 RC4
+ [ADDED] workbench can be built anywhere and allows crafting of all items. + [ADDED] Black market vendor the trader city stary. + [FIXED] Many other fixes
This commit is contained in:
@@ -831,7 +831,7 @@ class CfgMagazines {
|
||||
neednearby[] = {};
|
||||
requiretools[] = {"ItemToolbox","ItemCrowbar"};
|
||||
output[] = {{"wooden_shed_kit",1}};
|
||||
input[] = {{"bulk_empty",1},{"ItemCorrugated",2},{"PartWoodPlywood",5},{"PartWoodLumber",5}};
|
||||
input[] = {{"bulk_empty",1},{"ItemCorrugated",2},{"PartWoodPlywood",4},{"PartWoodLumber",4}};
|
||||
};
|
||||
class Crafting1
|
||||
{
|
||||
@@ -1073,6 +1073,28 @@ class CfgMagazines {
|
||||
};
|
||||
};
|
||||
|
||||
class workbench_kit: CA_Magazine
|
||||
{
|
||||
scope = 2;
|
||||
count = 1;
|
||||
type = 256;
|
||||
displayName = "Workbench";
|
||||
descriptionShort = "Workbench: Used to craft.";
|
||||
model = "\z\addons\dayz_epoch\models\supply_crate.p3d";
|
||||
picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa";
|
||||
class ItemActions
|
||||
{
|
||||
class Build
|
||||
{
|
||||
text = "$STR_ACTIONS_BUILD";
|
||||
script = "spawn player_build;";
|
||||
require[] = {"ItemEtool","ItemToolbox"};
|
||||
create = "WorkBench_DZ";
|
||||
needNearby[] = {"none"};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// BUILDING KITS
|
||||
class 30m_plot_kit: CA_Magazine
|
||||
{
|
||||
@@ -1662,14 +1684,25 @@ class CfgMagazines {
|
||||
class ItemActions {
|
||||
class Crafting
|
||||
{
|
||||
text = "Craft Shack";
|
||||
text = "Craft Workbench";
|
||||
script = "spawn player_craftItem;";
|
||||
neednearby[] = {};
|
||||
requiretools[] = {"ItemToolbox"};
|
||||
output[] = {{"workbench_kit",1}};
|
||||
input[] = {{"PartWoodPlywood",1},{"PartWoodLumber",2}};
|
||||
|
||||
};
|
||||
class Crafting1
|
||||
{
|
||||
text = "Craft Shack";
|
||||
script = "spawn player_craftItem1;";
|
||||
neednearby[] = {};
|
||||
requiretools[] = {"ItemToolbox"};
|
||||
output[] = {{"wood_shack_kit",1}};
|
||||
input[] = {{"bulk_empty",1},{"PartWoodPlywood",4},{"PartWoodLumber",4}};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
class PartWoodShed: CA_Magazine
|
||||
|
||||
@@ -25,6 +25,7 @@ _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
||||
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
||||
|
||||
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
|
||||
_isWorkBench = (_classname == "WorkBench_DZ");
|
||||
|
||||
_distance = 30;
|
||||
_needText = "Plot Pole";
|
||||
@@ -59,7 +60,7 @@ if(_isPole and _IsNearPlot > 0) exitWith { TradeInprogress = false; cutText ["C
|
||||
if(_IsNearPlot == 0) then {
|
||||
|
||||
// Allow building of plot
|
||||
if(_isPole) then {
|
||||
if(_isPole or _isWorkBench) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ if("fire" in _needNear) then {
|
||||
};
|
||||
|
||||
if("workshop" in _needNear) then {
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ"], 5]);
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], 5]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
|
||||
@@ -32,7 +32,7 @@ if("fire" in _needNear) then {
|
||||
};
|
||||
|
||||
if("workshop" in _needNear) then {
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ"], 5]);
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], 5]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
|
||||
@@ -32,7 +32,7 @@ if("fire" in _needNear) then {
|
||||
};
|
||||
|
||||
if("workshop" in _needNear) then {
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ"], 5]);
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], 5]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
|
||||
@@ -32,7 +32,7 @@ if("fire" in _needNear) then {
|
||||
};
|
||||
|
||||
if("workshop" in _needNear) then {
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ"], 5]);
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], 5]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
|
||||
@@ -32,7 +32,7 @@ if("fire" in _needNear) then {
|
||||
};
|
||||
|
||||
if("workshop" in _needNear) then {
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ"], 5]);
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], 5]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
|
||||
@@ -2047,6 +2047,34 @@ class Citizen1; // External class reference
|
||||
constructioncount = 5;
|
||||
removeoutput[] = {{"ItemTankTrap",1}};
|
||||
};
|
||||
// WorkBench_DZ
|
||||
class WorkBench_DZ: BuiltItems
|
||||
{
|
||||
scope = 2;
|
||||
destrType = "DestructTree";
|
||||
cost = 100;
|
||||
offset[] = {0,1.5,0.5};
|
||||
model = "\z\addons\dayz_epoch\models\workbench.p3d";
|
||||
icon = "\ca\data\data\Unknown_object.paa";
|
||||
mapSize = 2;
|
||||
armor = 400;
|
||||
displayName = "Workbench";
|
||||
vehicleClass = "Fortifications";
|
||||
constructioncount = 1;
|
||||
removeoutput[] = {{"PartWoodLumber",5},{"PartWoodPlywood",3}};
|
||||
};
|
||||
|
||||
// belt buckle
|
||||
class Helper_Base_EP1;
|
||||
class BeltBuckle_DZE : Helper_Base_EP1 {
|
||||
scope = 2;
|
||||
model = "\z\addons\dayz_epoch\models\skull.p3d";
|
||||
displayName = "Belt Buckle";
|
||||
accuracy = 1000;
|
||||
hiddenSelections[] = {"camo"};
|
||||
hiddenSelectionsTextures[] = {"#(argb,8,8,3)color(1,0.5,0.5,0.5,ca)"};
|
||||
};
|
||||
|
||||
// Metal Panel
|
||||
class MetalPanel_DZ: BuiltItems
|
||||
{
|
||||
@@ -2163,7 +2191,6 @@ class Citizen1; // External class reference
|
||||
vehicleClass = "Fortifications";
|
||||
removeoutput[] = {{"30m_plot_kit",1}};
|
||||
};
|
||||
|
||||
class USMC_WarfareBMGNest_M240;
|
||||
class M240Nest_DZ: USMC_WarfareBMGNest_M240
|
||||
{
|
||||
|
||||
@@ -441,7 +441,7 @@ if(isNil "dayz_zedsAttackVehicles") then {
|
||||
dayz_updateObjects = ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","M240Nest_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ"];
|
||||
dayz_disallowedVault = ["TentStorage", "BuiltItems"];
|
||||
dayz_reveal = ["AllVehicles","WeaponHolder","TentStorage","VaultStorage","VaultStorageLocked","BuiltItems"];
|
||||
dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","DeerStand_DZ"];
|
||||
dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ"];
|
||||
|
||||
// List of removable items that require crowbar
|
||||
DZE_isRemovable = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","SandNest_DZ","Plastic_Pole_EP1_DZ"];
|
||||
|
||||
@@ -1139,7 +1139,7 @@ class FSM
|
||||
"dayz_friendliesCheck = [] spawn {" \n
|
||||
" while {true} do {" \n
|
||||
" call player_friendliesCheck;" \n
|
||||
" sleep 2;" \n
|
||||
" sleep 5;" \n
|
||||
" };" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
|
||||
BIN
SQF/dayz_epoch/models/Skull.p3d
Normal file
BIN
SQF/dayz_epoch/models/Skull.p3d
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
SQF/dayz_epoch/models/workbench.p3d
Normal file
BIN
SQF/dayz_epoch/models/workbench.p3d
Normal file
Binary file not shown.
Binary file not shown.
BIN
SQF/dayz_epoch/textures/Skull.paa
Normal file
BIN
SQF/dayz_epoch/textures/Skull.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/Skull_norm.paa
Normal file
BIN
SQF/dayz_epoch/textures/Skull_norm.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/Skull_spec.paa
Normal file
BIN
SQF/dayz_epoch/textures/Skull_spec.paa
Normal file
Binary file not shown.
33
SQF/dayz_epoch/textures/planksWB.rvmat
Normal file
33
SQF/dayz_epoch/textures/planksWB.rvmat
Normal file
@@ -0,0 +1,33 @@
|
||||
surfaceInfo="z\addons\dayz_epoch\textures\wood.bisurf";
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,1};
|
||||
specular[]={0,0,0,1};
|
||||
specularPower=1;
|
||||
PixelShaderID="NormalMapSpecularDIMap";
|
||||
VertexShaderID="NormalMap";
|
||||
class Stage1
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\planksWB_normal.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\planksWB_spec.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
BIN
SQF/dayz_epoch/textures/planksWB_diffuse.paa
Normal file
BIN
SQF/dayz_epoch/textures/planksWB_diffuse.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/planksWB_normal.paa
Normal file
BIN
SQF/dayz_epoch/textures/planksWB_normal.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/planksWB_spec.paa
Normal file
BIN
SQF/dayz_epoch/textures/planksWB_spec.paa
Normal file
Binary file not shown.
33
SQF/dayz_epoch/textures/plywoodWB.rvmat
Normal file
33
SQF/dayz_epoch/textures/plywoodWB.rvmat
Normal file
@@ -0,0 +1,33 @@
|
||||
surfaceInfo="z\addons\dayz_epoch\textures\wood.bisurf";
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,1};
|
||||
specular[]={0,0,0,1};
|
||||
specularPower=1;
|
||||
PixelShaderID="NormalMapSpecularDIMap";
|
||||
VertexShaderID="NormalMap";
|
||||
class Stage1
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\plywoodWB_normal.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\plywoodWB_spec.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
BIN
SQF/dayz_epoch/textures/plywoodWB_diffuse.paa
Normal file
BIN
SQF/dayz_epoch/textures/plywoodWB_diffuse.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/plywoodWB_normal.paa
Normal file
BIN
SQF/dayz_epoch/textures/plywoodWB_normal.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/plywoodWB_spec.paa
Normal file
BIN
SQF/dayz_epoch/textures/plywoodWB_spec.paa
Normal file
Binary file not shown.
78
SQF/dayz_epoch/textures/skull.rvmat
Normal file
78
SQF/dayz_epoch/textures/skull.rvmat
Normal file
@@ -0,0 +1,78 @@
|
||||
ambient[]={0.3019608,0.3019608,0.3019608,0.79000002};
|
||||
diffuse[]={0.3019608,0.3019608,0.3019608,0.78999996};
|
||||
forcedDiffuse[]={0,0,0,1};
|
||||
emmisive[]={0,0,0,1};
|
||||
specular[]={0.70588237,0.70588237,0.70588237,1};
|
||||
specularPower=100;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\Skull_norm.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\bar_dt.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={8,0,0};
|
||||
up[]={0,8,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\bar_ao.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\Skull_spec.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture="#(ai,64,64,1)fresnel(0.8,0)";
|
||||
uvSource="none";
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="z\addons\dayz_epoch\textures\env_land_co.paa";
|
||||
uvSource="none";
|
||||
};
|
||||
9
SQF/dayz_epoch/textures/wood.bisurf
Normal file
9
SQF/dayz_epoch/textures/wood.bisurf
Normal file
@@ -0,0 +1,9 @@
|
||||
Density = 600;
|
||||
rough = 0.1;
|
||||
dust = 0;
|
||||
bulletPenetrability = 150;
|
||||
soundEnviron = "Empty";
|
||||
isWater = "false";
|
||||
friction = 0.7;
|
||||
restitution = 0.4;
|
||||
impact = "default_Mat";
|
||||
@@ -60,7 +60,10 @@ _state = _primary select 3;
|
||||
_worldspace = _primary select 4;
|
||||
_humanity = _primary select 5;
|
||||
_lastinstance = _primary select 6;
|
||||
_friendlies = [];
|
||||
|
||||
_namespace = profileNamespace;
|
||||
|
||||
_friendlies = _namespace getVariable ["friendlies", []];;
|
||||
|
||||
//Set position
|
||||
_randomSpot = false;
|
||||
|
||||
Reference in New Issue
Block a user