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:
vbawol
2013-07-10 15:45:23 -05:00
parent 840e52e9a5
commit c11e8c47b2
31 changed files with 525 additions and 339 deletions
+35 -2
View File
@@ -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
+2 -1
View File
@@ -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;
};
+1 -1
View File
@@ -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";
+1 -1
View File
@@ -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";
+1 -1
View File
@@ -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";
+1 -1
View File
@@ -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";
+1 -1
View File
@@ -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";
+28 -1
View File
@@ -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
{
+1 -1
View File
@@ -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"];
+1 -1
View File
@@ -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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+33
View 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};
};
};
Binary file not shown.
Binary file not shown.
Binary file not shown.
+33
View 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};
};
};
Binary file not shown.
Binary file not shown.
Binary file not shown.
+78
View 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
View 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;