mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
1.0.2.38 Dev
This commit is contained in:
@@ -1,6 +1,134 @@
|
|||||||
class CfgMagazines {
|
class CfgMagazines {
|
||||||
class CA_Magazine; // External class reference
|
class CA_Magazine; // External class reference
|
||||||
|
|
||||||
|
// Ammmo
|
||||||
|
class 100Rnd_762x54_PK : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "PKM Mag.";
|
||||||
|
picture = "\CA\weapons\data\equip\m_pk_ca.paa";
|
||||||
|
ammo = "B_762x54_Ball";
|
||||||
|
count = 100;
|
||||||
|
type = "256";
|
||||||
|
initSpeed = 850;
|
||||||
|
sound[] = {"\ca\Weapons\Data\Sound\PK_1_SS", 3.16228, 1, 1500};
|
||||||
|
tracersEvery = 4;
|
||||||
|
lastRoundsTracer = 4;
|
||||||
|
nameSound = "mgun";
|
||||||
|
descriptionShort = "Caliber: 7.62x54mm <br/>Rounds: 100 <br/>Used in: PK";
|
||||||
|
model = "\ca\CommunityConfigurationProject_E\Gameplay_ActualModelsOfWeaponMagazinesVisibleOnTheGround\p3d\100Rnd_762x54_PK.p3d";
|
||||||
|
};
|
||||||
|
|
||||||
|
class 29Rnd_30mm_AGS30 : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "HE Rounds";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m240_ca.paa";
|
||||||
|
ammo = "G_30mm_HE";
|
||||||
|
count = 29;
|
||||||
|
type = "256";
|
||||||
|
initSpeed = 185;
|
||||||
|
maxLeadSpeed = 100;
|
||||||
|
nameSound = "grenadelauncher";
|
||||||
|
weight = 16;
|
||||||
|
};
|
||||||
|
|
||||||
|
class 50Rnd_127x107_DSHKM : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "DShKM";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m240_ca.paa";
|
||||||
|
model = "\z\addons\dayz_epoch\models\dshkm_mag.p3d";
|
||||||
|
ammo = "B_127x107_Ball";
|
||||||
|
count = 50;
|
||||||
|
type = "256";
|
||||||
|
initSpeed = 850;
|
||||||
|
maxLeadSpeed = 200;
|
||||||
|
tracersEvery = 3;
|
||||||
|
lastRoundsTracer = 5;
|
||||||
|
nameSound = "mgun";
|
||||||
|
weight = 4;
|
||||||
|
};
|
||||||
|
class 100Rnd_127x99_M2 : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "M2 Machine Gun";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m240_ca.paa";
|
||||||
|
ammo = "B_127x99_Ball";
|
||||||
|
count = 100;
|
||||||
|
type = "256";
|
||||||
|
initSpeed = 930;
|
||||||
|
maxLeadSpeed = 200;
|
||||||
|
tracersEvery = 3;
|
||||||
|
lastRoundsTracer = 5;
|
||||||
|
nameSound = "mgun";
|
||||||
|
weight = 8;
|
||||||
|
};
|
||||||
|
class 2000Rnd_762x51_M134 : CA_Magazine {
|
||||||
|
count = 2000;
|
||||||
|
scope = 2;
|
||||||
|
displayName = "M134 7.62 Nato";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m240_ca.paa";
|
||||||
|
ammo = "B_762x51_3RndBurst";
|
||||||
|
type = "256";
|
||||||
|
maxLeadSpeed = 200;
|
||||||
|
tracersEvery = 5;
|
||||||
|
nameSound = "mgun";
|
||||||
|
weight = 50;
|
||||||
|
};
|
||||||
|
class 48Rnd_40mm_MK19 : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Mk. 19 40mm";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m240_ca.paa";
|
||||||
|
ammo = "G_40mm_HE";
|
||||||
|
count = 48;
|
||||||
|
type = "256";
|
||||||
|
initSpeed = 240;
|
||||||
|
maxLeadSpeed = 100;
|
||||||
|
nameSound = "grenadelauncher";
|
||||||
|
weight = 25;
|
||||||
|
};
|
||||||
|
|
||||||
|
class 100Rnd_762x51_M240 : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "100Rnd. M240";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m240_ca.paa";
|
||||||
|
count = 100;
|
||||||
|
type = "256";
|
||||||
|
ammo = "B_762x51_Ball";
|
||||||
|
initSpeed = 900;
|
||||||
|
tracersEvery = 4;
|
||||||
|
lastRoundsTracer = 4;
|
||||||
|
nameSound = "mgun";
|
||||||
|
descriptionShort = "Caliber: 7.62x51mm NATO <br/>Rounds: 100 <br/>Used in: M240, Mk 48 Mod 0";
|
||||||
|
model = "\ca\CommunityConfigurationProject_E\Gameplay_ActualModelsOfWeaponMagazinesVisibleOnTheGround\p3d\100Rnd_762x51_M240.p3d";
|
||||||
|
};
|
||||||
|
class 200Rnd_762x51_M240 : 100Rnd_762x51_M240 {
|
||||||
|
count = 200;
|
||||||
|
};
|
||||||
|
|
||||||
|
class 200Rnd_556x45_M249 : CA_Magazine {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "200Rnd. M249 Belt";
|
||||||
|
picture = "\CA\weapons\data\equip\m_m249_ca.paa";
|
||||||
|
ammo = "B_556x45_Ball";
|
||||||
|
count = 200;
|
||||||
|
type = "256";
|
||||||
|
initSpeed = 915;
|
||||||
|
sound[] = {"\ca\Weapons\Data\Sound\M249_1_SS", 17.7828, 1, 1300};
|
||||||
|
reloadMagazineSound[] = {"\ca\Weapons\Data\Sound\FAL_reload", 0.01, 1, 20};
|
||||||
|
tracersEvery = 4;
|
||||||
|
lastRoundsTracer = 4;
|
||||||
|
nameSound = "mgun";
|
||||||
|
descriptionShort = "Caliber: 5.56x45 mm NATO <br/>Rounds: 200 <br/>Used in: M249 SAW";
|
||||||
|
model = "\ca\CommunityConfigurationProject_E\Gameplay_ActualModelsOfWeaponMagazinesVisibleOnTheGround\p3d\200Rnd_556x45_M249.p3d";
|
||||||
|
};
|
||||||
|
|
||||||
|
class 100Rnd_556x45_M249 : 200Rnd_556x45_M249 {
|
||||||
|
displayName = "M249 Mag.";
|
||||||
|
descriptionShort = "Caliber: 5.56x45mm NATO<br/>Rounds: 100<br/>Used in: M249";
|
||||||
|
count = 100;
|
||||||
|
picture = "\CA\weapons_E\Data\icons\m_m245_CA.paa";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Items
|
||||||
class ItemHotwireKit: CA_Magazine
|
class ItemHotwireKit: CA_Magazine
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
@@ -2457,6 +2585,12 @@ class CfgMagazines {
|
|||||||
picture = "\dayz_equip\textures\equip_woodPile_ca.paa";
|
picture = "\dayz_equip\textures\equip_woodPile_ca.paa";
|
||||||
descriptionShort = "$STR_EQUIP_DESC_40";
|
descriptionShort = "$STR_EQUIP_DESC_40";
|
||||||
class ItemActions {
|
class ItemActions {
|
||||||
|
class Build {
|
||||||
|
text = "Build Fire";
|
||||||
|
script = "spawn player_build;";
|
||||||
|
require[] = {"ItemMatchbox_DZE"};
|
||||||
|
create = "Land_Fire_DZ";
|
||||||
|
};
|
||||||
class Crafting
|
class Crafting
|
||||||
{
|
{
|
||||||
text = "Craft Lumber";
|
text = "Craft Lumber";
|
||||||
|
|||||||
@@ -21,6 +21,15 @@ class CfgWeapons {
|
|||||||
|
|
||||||
class DMR; // External class reference
|
class DMR; // External class reference
|
||||||
|
|
||||||
|
class ItemMatchbox_DZE: ItemCore
|
||||||
|
{
|
||||||
|
scope = 2;
|
||||||
|
displayName = "$STR_EQUIP_NAME_3";
|
||||||
|
model = "\dayz_equip\models\matchbox_gear.p3d";
|
||||||
|
picture = "\dayz_equip\textures\equip_matchbox_ca.paa";
|
||||||
|
descriptionShort = "$STR_EQUIP_DESC_3";
|
||||||
|
};
|
||||||
|
|
||||||
class ItemKnife: ItemCore
|
class ItemKnife: ItemCore
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
|
|||||||
@@ -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.2.3";
|
text = "DayZ Epoch 1.0.2.38";
|
||||||
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
||||||
};
|
};
|
||||||
delete CA_TitleMainMenu;
|
delete CA_TitleMainMenu;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
DayZ Base Building
|
DayZ Base Building
|
||||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
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","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_ztick"];
|
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","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_tick"];
|
||||||
|
|
||||||
if(TradeInprogress) exitWith { cutText ["\n\nBuilding already in progress." , "PLAIN DOWN"]; };
|
if(TradeInprogress) exitWith { cutText ["\n\nBuilding already in progress." , "PLAIN DOWN"]; };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
@@ -15,11 +15,21 @@ _isWater = dayz_isSwimming;
|
|||||||
_cancel = false;
|
_cancel = false;
|
||||||
_reason = "";
|
_reason = "";
|
||||||
_canBuildOnPlot = false;
|
_canBuildOnPlot = false;
|
||||||
DZE_BuildingZ = 0;
|
|
||||||
|
|
||||||
DZE_cancelBuilding = false;
|
DZE_Q = false;
|
||||||
|
DZE_Z = false;
|
||||||
|
|
||||||
|
DZE_Q_alt = false;
|
||||||
|
DZE_Z_alt = false;
|
||||||
|
|
||||||
|
DZE_Q_ctrl = false;
|
||||||
|
DZE_Z_ctrl = false;
|
||||||
|
|
||||||
DZE_5 = false;
|
DZE_5 = false;
|
||||||
|
DZE_4 = false;
|
||||||
|
DZE_6 = false;
|
||||||
|
|
||||||
|
DZE_cancelBuilding = false;
|
||||||
|
|
||||||
call gear_ui_init;
|
call gear_ui_init;
|
||||||
closeDialog 1;
|
closeDialog 1;
|
||||||
@@ -42,6 +52,10 @@ if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then {
|
|||||||
|
|
||||||
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
||||||
|
|
||||||
|
if((count _offset) <= 0) then {
|
||||||
|
_offset = [0,1.5,0];
|
||||||
|
};
|
||||||
|
|
||||||
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
|
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
|
||||||
|
|
||||||
_distance = 30;
|
_distance = 30;
|
||||||
@@ -127,20 +141,51 @@ if (_hasrequireditem) then {
|
|||||||
|
|
||||||
_position = getPosATL _object;
|
_position = getPosATL _object;
|
||||||
|
|
||||||
|
cutText ["Planning construction: PgUp = raise, PgDn = lower, Q or E = flip 180, and Space-Bar to build.", "PLAIN DOWN"];
|
||||||
|
|
||||||
while {_isOk} do {
|
while {_isOk} do {
|
||||||
|
|
||||||
_zheightchanged = false;
|
_zheightchanged = false;
|
||||||
_zheightdirection = "";
|
_zheightdirection = "";
|
||||||
_rotate = false;
|
_rotate = false;
|
||||||
|
_tick = 1;
|
||||||
|
|
||||||
if (DZE_Q) then {
|
if (DZE_Q) then {
|
||||||
DZE_Q = false;
|
DZE_Q = false;
|
||||||
_zheightdirection = "up";
|
_zheightdirection = "up";
|
||||||
_zheightchanged = true;
|
_zheightchanged = true;
|
||||||
|
_tick = 10;
|
||||||
};
|
};
|
||||||
if (DZE_Z) then {
|
if (DZE_Z) then {
|
||||||
DZE_Z = false;
|
DZE_Z = false;
|
||||||
_zheightdirection = "down";
|
_zheightdirection = "down";
|
||||||
|
_zheightchanged = true;
|
||||||
|
_tick = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
if (DZE_Q_alt) then {
|
||||||
|
DZE_Q_alt = false;
|
||||||
|
_zheightdirection = "up_alt";
|
||||||
|
_zheightchanged = true;
|
||||||
|
_tick = 100;
|
||||||
|
};
|
||||||
|
if (DZE_Z_alt) then {
|
||||||
|
DZE_Z_alt = false;
|
||||||
|
_zheightdirection = "down_alt";
|
||||||
|
_zheightchanged = true;
|
||||||
|
_tick = 100;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
if (DZE_Q_ctrl) then {
|
||||||
|
DZE_Q_ctrl = false;
|
||||||
|
_zheightdirection = "up_ctrl";
|
||||||
|
_zheightchanged = true;
|
||||||
|
};
|
||||||
|
if (DZE_Z_ctrl) then {
|
||||||
|
DZE_Z_ctrl = false;
|
||||||
|
_zheightdirection = "down_ctrl";
|
||||||
_zheightchanged = true;
|
_zheightchanged = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -167,13 +212,27 @@ if (_hasrequireditem) then {
|
|||||||
_position = getPosATL _object;
|
_position = getPosATL _object;
|
||||||
|
|
||||||
// make z height stick to ticks
|
// make z height stick to ticks
|
||||||
_ztick = (round((_position select 2)*10)/10);
|
// _ztick = (round((_position select 2)*100)/100);
|
||||||
|
|
||||||
if(_zheightdirection == "up") then {
|
if(_zheightdirection == "up") then {
|
||||||
_position = [(_position select 0),(_position select 1), (_ztick+0.1)];
|
_position = [(_position select 0),(_position select 1), ((_position select 2)+0.1)];
|
||||||
};
|
};
|
||||||
if(_zheightdirection == "down") then {
|
if(_zheightdirection == "down") then {
|
||||||
_position = [(_position select 0),(_position select 1), (_ztick-0.1)];
|
_position = [(_position select 0),(_position select 1), ((_position select 2)-0.1)];
|
||||||
|
};
|
||||||
|
|
||||||
|
if(_zheightdirection == "up_alt") then {
|
||||||
|
_position = [(_position select 0),(_position select 1), ((_position select 2)+1)];
|
||||||
|
};
|
||||||
|
if(_zheightdirection == "down_alt") then {
|
||||||
|
_position = [(_position select 0),(_position select 1), ((_position select 2)-1)];
|
||||||
|
};
|
||||||
|
|
||||||
|
if(_zheightdirection == "up_ctrl") then {
|
||||||
|
_position = [(_position select 0),(_position select 1), ((_position select 2)+0.01)];
|
||||||
|
};
|
||||||
|
if(_zheightdirection == "down_ctrl") then {
|
||||||
|
_position = [(_position select 0),(_position select 1), ((_position select 2)-0.01)];
|
||||||
};
|
};
|
||||||
|
|
||||||
_object setDir (getDir _object);
|
_object setDir (getDir _object);
|
||||||
@@ -184,11 +243,9 @@ if (_hasrequireditem) then {
|
|||||||
|
|
||||||
_object attachTo [player];
|
_object attachTo [player];
|
||||||
|
|
||||||
diag_log format["DEBUG AChange BUILDING POS: %1", _position];
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
cutText ["Planning construction: PgUp = raise, PgDn = lower, Q or E = flip 180, and Space-Bar to build.", "PLAIN DOWN"];
|
|
||||||
|
|
||||||
sleep 1;
|
sleep 1;
|
||||||
|
|
||||||
@@ -211,14 +268,17 @@ if (_hasrequireditem) then {
|
|||||||
deleteVehicle _object;
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_counter >= 50) exitWith {
|
if(_counter >= 500) 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;
|
detach _object;
|
||||||
deleteVehicle _object;
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
_counter = _counter + 1;
|
|
||||||
|
cutText [format["%1",(500-_counter)], "PLAIN DOWN"];
|
||||||
|
|
||||||
|
_counter = _counter + _tick;
|
||||||
|
|
||||||
if (player getVariable["combattimeout", 0] >= time) exitWith {
|
if (player getVariable["combattimeout", 0] >= time) exitWith {
|
||||||
_isOk = false;
|
_isOk = false;
|
||||||
@@ -235,6 +295,8 @@ if (_hasrequireditem) then {
|
|||||||
detach _object;
|
detach _object;
|
||||||
deleteVehicle _object;
|
deleteVehicle _object;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// No building on roads
|
// No building on roads
|
||||||
@@ -388,8 +450,13 @@ if (_hasrequireditem) then {
|
|||||||
} else {
|
} else {
|
||||||
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
|
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
|
||||||
|
|
||||||
dayzPublishObj = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
|
// fire?
|
||||||
publicVariableServer "dayzPublishObj";
|
if(_tmpbuilt isKindOf "Land_Fire") then {
|
||||||
|
_tmpbuilt spawn player_fireMonitor;
|
||||||
|
} else {
|
||||||
|
dayzPublishObj = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
|
||||||
|
publicVariableServer "dayzPublishObj";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,8 @@ if (count(_findNearestTree) >= 1) then {
|
|||||||
|
|
||||||
player playActionNow "Medic";
|
player playActionNow "Medic";
|
||||||
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
[player,20,true,(getPosATL player)] spawn player_alertZombies;
|
||||||
|
|
||||||
|
closeDialog 1;
|
||||||
|
|
||||||
r_interrupt = false;
|
r_interrupt = false;
|
||||||
_animState = animationState player;
|
_animState = animationState player;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class ItemActions
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
private ["_onLadder","_canDo","_selectedRecipeOutput","_proceed","_itemIn","_countIn","_missing","_missingQty","_qty","_itemOut","_countOut","_started","_finished","_animState","_isMedic","_removed","_tobe_removed_total","_textCreate","_textMissing","_selectedRecipeInput","_num_removed","_removed_total","_temp_removed_array","_abort","_reason","_isNear","_missingTools","_hastoolweapon","_selectedRecipeTools","_distance","_crafting","_needNear","_item","_baseClass","_num_removed_weapons","_outputWeapons","_inputWeapons"];
|
private ["_tradeComplete","_onLadder","_canDo","_selectedRecipeOutput","_proceed","_itemIn","_countIn","_missing","_missingQty","_qty","_itemOut","_countOut","_started","_finished","_animState","_isMedic","_removed","_tobe_removed_total","_textCreate","_textMissing","_selectedRecipeInput","_num_removed","_removed_total","_temp_removed_array","_abort","_reason","_isNear","_missingTools","_hastoolweapon","_selectedRecipeTools","_distance","_crafting","_needNear","_item","_baseClass","_num_removed_weapons","_outputWeapons","_inputWeapons"];
|
||||||
|
|
||||||
if(TradeInprogress) exitWith { cutText ["\n\nCrafting already in progress." , "PLAIN DOWN"]; };
|
if(TradeInprogress) exitWith { cutText ["\n\nCrafting already in progress." , "PLAIN DOWN"]; };
|
||||||
TradeInprogress = true;
|
TradeInprogress = true;
|
||||||
@@ -71,6 +71,7 @@ if (_canDo) then {
|
|||||||
_inputWeapons = getArray (configFile >> _baseClass >> _item >> "ItemActions" >> _crafting >> "inputweapons");
|
_inputWeapons = getArray (configFile >> _baseClass >> _item >> "ItemActions" >> _crafting >> "inputweapons");
|
||||||
|
|
||||||
_craft_doLoop = true;
|
_craft_doLoop = true;
|
||||||
|
_tradeComplete = 0;
|
||||||
|
|
||||||
while {_craft_doLoop} do {
|
while {_craft_doLoop} do {
|
||||||
|
|
||||||
@@ -178,12 +179,14 @@ if (_canDo) then {
|
|||||||
player addMagazine _itemOut;
|
player addMagazine _itemOut;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_tradeComplete = _tradeComplete+1;
|
||||||
|
|
||||||
_textCreate = getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName");
|
_textCreate = getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName");
|
||||||
|
|
||||||
// Add crafted item
|
// Add crafted item
|
||||||
cutText [format["\n\nCrafted Item: %1 x %2",_textCreate,_countOut], "PLAIN DOWN"];
|
cutText [format["\n\nCrafted Item: %1 x %2",_textCreate,_countOut], "PLAIN DOWN"];
|
||||||
// sleep here
|
// sleep here
|
||||||
sleep 1;
|
sleep 1;
|
||||||
|
|
||||||
} forEach _selectedRecipeOutput;
|
} forEach _selectedRecipeOutput;
|
||||||
};
|
};
|
||||||
@@ -207,7 +210,7 @@ if (_canDo) then {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
|
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
|
||||||
cutText [format["\n\nMissing %1 more of %2",_missingQty, _textMissing], "PLAIN DOWN"];
|
cutText [format["\n\n%3 complete, missing %1 more of %2",_missingQty, _textMissing,_tradeComplete], "PLAIN DOWN"];
|
||||||
_craft_doLoop = false;
|
_craft_doLoop = false;
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ if (count _inventory > 0) then {
|
|||||||
//Add weapons
|
//Add weapons
|
||||||
{
|
{
|
||||||
if (_x == "Crossbow") then { _x = "Crossbow_DZ" }; // Convert Crossbow to Crossbow_DZ
|
if (_x == "Crossbow") then { _x = "Crossbow_DZ" }; // Convert Crossbow to Crossbow_DZ
|
||||||
|
if (_x == "ItemMatchbox") then { _x = "ItemMatchbox_DZE" }; // Convert Crossbow to Crossbow_DZ
|
||||||
|
|
||||||
//Is item legal?
|
//Is item legal?
|
||||||
_isOK = isClass(configFile >> "CfgWeapons" >> _x);
|
_isOK = isClass(configFile >> "CfgWeapons" >> _x);
|
||||||
if (_isOK) then {
|
if (_isOK) then {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class CfgMods
|
|||||||
hidePicture = 0;
|
hidePicture = 0;
|
||||||
hideName = 0;
|
hideName = 0;
|
||||||
action = "http://www.dayzepoch.com";
|
action = "http://www.dayzepoch.com";
|
||||||
version = "1.0.2.37";
|
version = "1.0.2.38";
|
||||||
hiveVersion = 0.96; //0.93
|
hiveVersion = 0.96; //0.93
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -877,7 +877,10 @@ class CfgBuildingLoot {
|
|||||||
{ "Pecheneg_DZ","weapon"},
|
{ "Pecheneg_DZ","weapon"},
|
||||||
{"100Rnd_762x54_PK","magazine"},
|
{"100Rnd_762x54_PK","magazine"},
|
||||||
{"2000Rnd_762x51_M134","magazine"},
|
{"2000Rnd_762x51_M134","magazine"},
|
||||||
|
{"29Rnd_30mm_AGS30","magazine"},
|
||||||
|
{"50Rnd_127x107_DSHKM","magazine"},
|
||||||
|
{"48Rnd_40mm_MK19","magazine"},
|
||||||
|
{"100Rnd_127x99_M2","magazine"},
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
0.02,
|
0.02,
|
||||||
@@ -890,7 +893,7 @@ class CfgBuildingLoot {
|
|||||||
0.02,
|
0.02,
|
||||||
0.01,
|
0.01,
|
||||||
0.02,
|
0.02,
|
||||||
0.39,
|
0.35,
|
||||||
0.19,
|
0.19,
|
||||||
0.05,
|
0.05,
|
||||||
0.01,
|
0.01,
|
||||||
@@ -903,6 +906,10 @@ class CfgBuildingLoot {
|
|||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class HeliCrash_No50s: Default {
|
class HeliCrash_No50s: Default {
|
||||||
@@ -934,6 +941,10 @@ class HeliCrash_No50s: Default {
|
|||||||
{"G36K_camo","weapon"},
|
{"G36K_camo","weapon"},
|
||||||
{"100Rnd_762x54_PK","magazine"},
|
{"100Rnd_762x54_PK","magazine"},
|
||||||
{"2000Rnd_762x51_M134","magazine"},
|
{"2000Rnd_762x51_M134","magazine"},
|
||||||
|
{"29Rnd_30mm_AGS30","magazine"},
|
||||||
|
{"50Rnd_127x107_DSHKM","magazine"},
|
||||||
|
{"48Rnd_40mm_MK19","magazine"},
|
||||||
|
{"100Rnd_127x99_M2","magazine"},
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
0.01,
|
0.01,
|
||||||
@@ -957,7 +968,11 @@ class HeliCrash_No50s: Default {
|
|||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class Hospital: Default {
|
class Hospital: Default {
|
||||||
@@ -1203,6 +1218,10 @@ class HeliCrash_No50s: Default {
|
|||||||
{ "militaryclothes","single" },
|
{ "militaryclothes","single" },
|
||||||
{"NVGoggles","weapon"},
|
{"NVGoggles","weapon"},
|
||||||
{"2000Rnd_762x51_M134","magazine"},
|
{"2000Rnd_762x51_M134","magazine"},
|
||||||
|
{"29Rnd_30mm_AGS30","magazine"},
|
||||||
|
{"50Rnd_127x107_DSHKM","magazine"},
|
||||||
|
{"48Rnd_40mm_MK19","magazine"},
|
||||||
|
{"100Rnd_127x99_M2","magazine"},
|
||||||
};
|
};
|
||||||
itemChance[] = {
|
itemChance[] = {
|
||||||
0.01,
|
0.01,
|
||||||
@@ -1242,7 +1261,12 @@ class HeliCrash_No50s: Default {
|
|||||||
0.05,
|
0.05,
|
||||||
0.03,
|
0.03,
|
||||||
0.08,
|
0.08,
|
||||||
0.34,
|
0.30,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
@@ -1250,7 +1274,6 @@ class HeliCrash_No50s: Default {
|
|||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01,
|
0.01,
|
||||||
0.01
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class Hunting: Default {
|
class Hunting: Default {
|
||||||
|
|||||||
@@ -260,6 +260,12 @@ if (!isDedicated) then {
|
|||||||
dayz_spaceInterrupt = {
|
dayz_spaceInterrupt = {
|
||||||
private ["_dikCode", "_handled"];
|
private ["_dikCode", "_handled"];
|
||||||
_dikCode = _this select 1;
|
_dikCode = _this select 1;
|
||||||
|
_shift = _this select 2;
|
||||||
|
_ctrl = _this select 3;
|
||||||
|
_alt = _this select 4;
|
||||||
|
|
||||||
|
//diag_log format["Keypress: %1", _this];
|
||||||
|
|
||||||
_handled = false;
|
_handled = false;
|
||||||
if (_dikCode in (actionKeys "GetOver")) then {
|
if (_dikCode in (actionKeys "GetOver")) then {
|
||||||
|
|
||||||
@@ -268,7 +274,7 @@ if (!isDedicated) then {
|
|||||||
} else {
|
} else {
|
||||||
_inBuilding = [player] call fnc_isInsideBuilding;
|
_inBuilding = [player] call fnc_isInsideBuilding;
|
||||||
_nearbyObjects = nearestObjects[getPosATL player, dayz_disallowedVault, 8];
|
_nearbyObjects = nearestObjects[getPosATL player, dayz_disallowedVault, 8];
|
||||||
if (_inBuilding or (count _nearbyObjects > 0)) then {
|
if (!r_player_unconscious and (_inBuilding or (count _nearbyObjects > 0))) then {
|
||||||
[objNull, player, rSwitchMove,"GetOver"] call RE;
|
[objNull, player, rSwitchMove,"GetOver"] call RE;
|
||||||
player playActionNow "GetOver";
|
player playActionNow "GetOver";
|
||||||
};
|
};
|
||||||
@@ -308,14 +314,39 @@ 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";
|
||||||
};
|
};
|
||||||
// numpad 8 0x48 now pgup 0xC9
|
|
||||||
if (_dikCode == 0xC9 or (_dikCode in actionKeys "User15")) then {
|
// numpad 8 0x48 now pgup 0xC9 1
|
||||||
|
if ((_dikCode == 0xC9 and (!_alt or !_ctrl)) or (_dikCode in actionKeys "User15")) then {
|
||||||
DZE_Q = true;
|
DZE_Q = true;
|
||||||
};
|
};
|
||||||
// numpad 2 0x50 now pgdn 0xD1
|
// numpad 2 0x50 now pgdn 0xD1
|
||||||
if (_dikCode == 0xD1 or (_dikCode in actionKeys "User16")) then {
|
if ((_dikCode == 0xD1 and (!_alt or !_ctrl)) or (_dikCode in actionKeys "User16")) then {
|
||||||
DZE_Z = true;
|
DZE_Z = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// numpad 8 0x48 now pgup 0xC9 0.1
|
||||||
|
if ((_dikCode == 0xC9 and (_alt and !_ctrl)) or (_dikCode in actionKeys "User13")) then {
|
||||||
|
DZE_Q_alt = true;
|
||||||
|
};
|
||||||
|
// numpad 2 0x50 now pgdn 0xD1
|
||||||
|
if ((_dikCode == 0xD1 and (_alt and !_ctrl)) or (_dikCode in actionKeys "User14")) then {
|
||||||
|
DZE_Z_alt = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// numpad 8 0x48 now pgup 0xC9 0.01
|
||||||
|
if ((_dikCode == 0xC9 and (!_alt and _ctrl)) or (_dikCode in actionKeys "User7")) then {
|
||||||
|
DZE_Q_ctrl = true;
|
||||||
|
};
|
||||||
|
// numpad 2 0x50 now pgdn 0xD1
|
||||||
|
if ((_dikCode == 0xD1 and (!_alt and _ctrl)) or (_dikCode in actionKeys "User8")) then {
|
||||||
|
DZE_Z_ctrl = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// numpad 4 0x4B now Q 0x10
|
// numpad 4 0x4B now Q 0x10
|
||||||
if (_dikCode == 0x10 or (_dikCode in actionKeys "User17")) then {
|
if (_dikCode == 0x10 or (_dikCode in actionKeys "User17")) then {
|
||||||
DZE_4 = true;
|
DZE_4 = true;
|
||||||
|
|||||||
@@ -612,6 +612,13 @@ if(!isDedicated) then {
|
|||||||
DZE_CanPickup = true;
|
DZE_CanPickup = true;
|
||||||
DZE_Q = false;
|
DZE_Q = false;
|
||||||
DZE_Z = false;
|
DZE_Z = false;
|
||||||
|
|
||||||
|
DZE_Q_alt = false;
|
||||||
|
DZE_Z_alt = false;
|
||||||
|
|
||||||
|
DZE_Q_ctrl = false;
|
||||||
|
DZE_Z_ctrl = false;
|
||||||
|
|
||||||
DZE_5 = false;
|
DZE_5 = false;
|
||||||
DZE_4 = false;
|
DZE_4 = false;
|
||||||
DZE_6 = false;
|
DZE_6 = false;
|
||||||
|
|||||||
@@ -695,6 +695,7 @@ class FSM
|
|||||||
" _countr = 0;" \n
|
" _countr = 0;" \n
|
||||||
" {" \n
|
" {" \n
|
||||||
" if (_x == ""Crossbow"") then { _x = ""Crossbow_DZ"" };" \n
|
" if (_x == ""Crossbow"") then { _x = ""Crossbow_DZ"" };" \n
|
||||||
|
" if (_x == ""ItemMatchbox"") then { _x = ""ItemMatchbox_DZE"" };" \n
|
||||||
" dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];" \n
|
" dayz_myBackpack addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];" \n
|
||||||
" _countr = _countr + 1;" \n
|
" _countr = _countr + 1;" \n
|
||||||
" } forEach _backpackWpnTypes;" \n
|
" } forEach _backpackWpnTypes;" \n
|
||||||
|
|||||||
BIN
SQF/dayz_epoch/models/dshkm_mag.p3d
Normal file
BIN
SQF/dayz_epoch/models/dshkm_mag.p3d
Normal file
Binary file not shown.
92
SQF/dayz_epoch/textures/dshkm.rvmat
Normal file
92
SQF/dayz_epoch/textures/dshkm.rvmat
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
ambient[]={0.80784315,0.80784315,0.80784315,1};
|
||||||
|
diffuse[]={0.80784315,0.80784315,0.80784315,1};
|
||||||
|
forcedDiffuse[]={0,0,0,0};
|
||||||
|
emmisive[]={0,0,0,1};
|
||||||
|
specular[]={0.66274512,0.7764706,0.60784316,1};
|
||||||
|
specularPower=200;
|
||||||
|
PixelShaderID="Super";
|
||||||
|
VertexShaderID="Super";
|
||||||
|
class Stage1
|
||||||
|
{
|
||||||
|
texture="z\addons\dayz_epoch\textures\dshkm_nohq.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage2
|
||||||
|
{
|
||||||
|
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,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="#(argb,8,8,3)color(1,1,1,1,AS)";
|
||||||
|
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\dshkm_smdi.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,32,128,1)fresnel(1.7,7.0)";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage7
|
||||||
|
{
|
||||||
|
texture="ca\data\env_land_co.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/dshkm_co.paa
Normal file
BIN
SQF/dayz_epoch/textures/dshkm_co.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/dshkm_nohq.paa
Normal file
BIN
SQF/dayz_epoch/textures/dshkm_nohq.paa
Normal file
Binary file not shown.
BIN
SQF/dayz_epoch/textures/dshkm_smdi.paa
Normal file
BIN
SQF/dayz_epoch/textures/dshkm_smdi.paa
Normal file
Binary file not shown.
@@ -175,7 +175,7 @@ if (isServer and isNil "sm_done") then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
_object setdir _dir;
|
_object setdir _dir;
|
||||||
_object setpos _pos;
|
_object setposATL _pos;
|
||||||
_object setDamage _damage;
|
_object setDamage _damage;
|
||||||
|
|
||||||
if (count _intentory > 0) then {
|
if (count _intentory > 0) then {
|
||||||
@@ -192,6 +192,7 @@ if (isServer and isNil "sm_done") then {
|
|||||||
_countr = 0;
|
_countr = 0;
|
||||||
{
|
{
|
||||||
if (_x == "Crossbow") then { _x = "Crossbow_DZ" }; // Convert Crossbow to Crossbow_DZ
|
if (_x == "Crossbow") then { _x = "Crossbow_DZ" }; // Convert Crossbow to Crossbow_DZ
|
||||||
|
if (_x == "ItemMatchbox") then { _x = "ItemMatchbox_DZE" }; // Convert Crossbow to Crossbow_DZ
|
||||||
_isOK = isClass(configFile >> "CfgWeapons" >> _x);
|
_isOK = isClass(configFile >> "CfgWeapons" >> _x);
|
||||||
if (_isOK) then {
|
if (_isOK) then {
|
||||||
_block = getNumber(configFile >> "CfgWeapons" >> _x >> "stopThis") == 1;
|
_block = getNumber(configFile >> "CfgWeapons" >> _x >> "stopThis") == 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user