0.3.5 b023

This commit is contained in:
vbawol 2015-11-01 01:28:48 -06:00
parent 981170c5f0
commit 2b5f56d2a9
173 changed files with 195 additions and 81 deletions

View File

@ -1,3 +1,4 @@
[Added] Hesco barrier.
[Added] Persistent Spike traps.
[Added] New interaction system.
[Added] Documentation on server core framework functions and hive calls.

View File

@ -0,0 +1,14 @@
@ECHO OFF
SET STEAMUN=admin@youremail.net
SET STEAMPW=chamgeme
SET ARMASVRPATH=C:\Arma3Server
SET ARMAAPPID=107410
SET ARMAWORKSHOPID=421839251
:: remove mod folder
rd /s/q "%ARMASVRPATH%\@Epoch"
:: update workshop mod
START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% validate +quit
:: copy files back to server
xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\@Epoch"
:: steamcmd.exe +login %STEAMUN% %STEAMPW% +force_install_dir "%ARMASVRPATH%" "+app_update %ARMAAPPID%" validate +quit

View File

@ -1 +1 @@
5 "" !WeaponHolderSimulated !Shot !"(Safe|LockBox|FirePlace|PlotPole|Jack|SolarGen)_EPOCH" !"Jack_SIM_EPOCH" !"LockBox_Ghost_EPOCH" !"CinderWallHalf_Ghost_EPOCH" !"(Tipi|Workbench|StorageShelf|Wood(Floor|LargeWall|Stairs|Ramp|Ladder|Tower)_Ghost_EPOCH" !"Foundation_Ghost_EPOCH" !"Land_Cages_F" !"Epoch_Sapper_F"
5 "" !WeaponHolderSimulated !Shot !"(Safe|LockBox|FirePlace|PlotPole|Jack|SolarGen)_EPOCH" !"Jack_SIM_EPOCH" !"LockBox_Ghost_EPOCH" !"CinderWallHalf_Ghost_EPOCH" !"(Tipi|Workbench|StorageShelf|Wood(Floor|LargeWall|Stairs|Ramp|Ladder|Tower)_Ghost_EPOCH" !="Hesco3_Ghost_EPOCH" !"Foundation_Ghost_EPOCH" !"Land_Cages_F" !"Epoch_Sapper_F"

View File

@ -1,3 +1,3 @@
5 "" !="I_UAV_01_F" !="(I|B|O)_UAV_AI" !"_EPOCH" !="B_65x39_Minigun_Caseless_Red_splash" !="B_762x51_Minigun_Tracer_Yellow_splash" !="B_(Swing|Stick)" !"^SmokeShell" !"^G_40mm_" !"^F_40mm_" !"Sub_F_" !"^F_Signal_" !="mini_Grenade" !="GrenadeHand" !="LaserTarget(C|W|E)" !"^Chemlight_" !="(ClaymoreDirectionalMine|DemoCharge|SatchelCharge)_Remote_Ammo" !="SLAMDirectionalMine_Wire_Ammo" !="(CMflare_Chaff|Sapper_Charge|SapperB_Charge|ATMine_Range)_Ammo" !="APERS(TripMine_Wire|BoundingMine_Range|Mine_Range)_Ammo" !="Epoch_(Sapper|SapperB|Cloak)_F" !="GreatWhite_F" !="groundWeaponHolder" !="WeaponHolderSimulated" !="Epoch_(Male|Female)_F" !"Supply[0-9]" !"Steerable_Parachute_F" !="Epoch_Female_CamoRed_F" !="Land_Cages_F" !="(O|I|B)_UAV_01_backpack_F" !="I_(helipilot|helicrew)_F" !="#smokesource" !="SmokeLauncherAmmo"
5 "_EPOCH" !="(SapperHead|Jack|SolarGen)_SIM_EPOCH" !="Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower)_EPOCH" !="(Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH" !="(Tipi|StorageShelf|Safe|LockBox|FirePlace|FirePlaceOn|PlotPole|SolarGen|Jack|Freezer|Tarp|CinderWallHalf|Bobber)_EPOCH" !="I_(Soldier[1-3]|Soldier)_EPOCH" !="(Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Rabbit|Cabinet)_EPOCH" !="(Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH" !="(Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH" !="Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH" !="(Spike|Metal)_TRAP_SIM_EPOCH" !="(WoodFoundation|Foundation)_EPOCH" !="WoodWall[1-4](_SIM|_Ghost|)_EPOCH"
5 "_EPOCH" !="(SapperHead|Jack|SolarGen)_SIM_EPOCH" !="Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower)_EPOCH" !="(Tipi|Workbench|StorageShelf|CinderWallHalf|Foundation|Wood(Floor|LargeWall|Stairs|Ramp|Foundation|Ladder|Tower))_Ghost_EPOCH" !="(Tipi|StorageShelf|Safe|LockBox|FirePlace|FirePlaceOn|PlotPole|SolarGen|Jack|Freezer|Tarp|CinderWallHalf|Bobber)_EPOCH" !="I_(Soldier[1-3]|Soldier)_EPOCH" !="(Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf|ToolRack|Shoebox|Bunk|Rabbit|Cabinet)_EPOCH" !="(Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH" !="(Safe|Workbench|LockBox|CinderWall|CinderWallGarage|CinderWallHalf|PlotPole|Tipi|StorageShelf|Fireplace|TankTrap)_SIM_EPOCH" !="Wood(Floor|LargeWall|LargeWallCor|LargeWallDoor|LargeWallDoorL|LargeWallDoorway|Stairs|Stairs2|Ramp|Ladder|Tower)_SIM_EPOCH" !="Hesco3(_Ghost|_SIM|)_EPOCH" !="(Spike|Metal)_TRAP_SIM_EPOCH" !="(WoodFoundation|Foundation)_EPOCH" !="WoodWall[1-4](_SIM|_Ghost|)_EPOCH"
5 SeaGull

Binary file not shown.

View File

@ -94,7 +94,7 @@ if (!isNull EPOCH_currentTarget && vehicle player == player) then {
};
if (!isNull EPOCH_stabilityTarget) then {
if (cursorTarget != EPOCH_stabilityTarget) then {
if (([10] call EPOCH_fnc_cursorTarget) != EPOCH_stabilityTarget) then {
EPOCH_stabilityTarget = objNull;
}
else {

View File

@ -30,7 +30,7 @@ if (EPOCH_playerCrypto > 0) then {
_dt = [format["<t size=""0.8"" shadow=""0"" color=""#99ffffff"">Cost %1 Krypto to maintain base.</t>", _maintainCount], 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
} else {
_dt = ["<t size=""0.8"" shadow=""0"" color=""#99ffffff"">Nothing needs maintained.</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
_dt = ["<t size=""0.8"" shadow=""0"" color=""#99ffffff"">Nothing needs Maintaining</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
} else {
_dt = ["<t size=""0.8"" shadow=""0"" color=""#99ffffff"">You need Krypto to maintain a base.</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;

View File

@ -0,0 +1,4 @@
params [["_distance",10], ["_lod1", "VIEW"], ["_lod2","FIRE"], ["_sort",true]];
_ins = lineIntersectsSurfaces [AGLToASL positionCameraToWorld [0,0,0],AGLToASL positionCameraToWorld [0,0,_distance],player,objNull,_sort,1,_lod1,_lod2];
if (_ins isEqualTo []) exitWith { objNull };
(_ins select 0 param [3,objNull])

View File

@ -185,6 +185,8 @@ _fadeUI = {
};
};
_cursorTarget = objNull;
// Master Loop Start
while {alive player} do {
@ -198,17 +200,15 @@ while {alive player} do {
// current target
_currentTarget = objNull;
if (!isNull cursorTarget && !(EPOCH_target isEqualTo cursorTarget)) then {
_distance = player distance cursorTarget;
if (_distance < 9) then {
if (cursorTarget isKindOf "ThingX" || cursorTarget isKindOf "Constructions_static_F" || cursorTarget isKindOf "Constructions_foundation_F" || cursorTarget isKindOf "WeaponHolder" || cursorTarget isKindOf "AllVehicles" || cursorTarget isKindOf "PlotPole_EPOCH") then{
if (cursorTarget isKindOf "Animal_Base_F") then {
if !(alive cursorTarget) then {
_currentTarget = cursorTarget;
};
} else {
_currentTarget = cursorTarget;
_cursorTarget = ([10] call EPOCH_fnc_cursorTarget);
if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
if (_cursorTarget isKindOf "ThingX" || _cursorTarget isKindOf "Constructions_static_F" || _cursorTarget isKindOf "Constructions_foundation_F" || _cursorTarget isKindOf "WeaponHolder" || _cursorTarget isKindOf "AllVehicles" || _cursorTarget isKindOf "PlotPole_EPOCH") then{
if (_cursorTarget isKindOf "Animal_Base_F") then {
if !(alive _cursorTarget) then {
_currentTarget = _cursorTarget;
};
} else {
_currentTarget = _cursorTarget;
};
};
};

View File

@ -220,6 +220,8 @@ class CfgClientFunctions
class fnc_stringLeft {};
class fnc_findSapperStalkLocation {};
class fnc_dirToFuzzy {};
class fnc_cursorTarget {};
};
class environment
@ -276,14 +278,14 @@ class CfgClientFunctions
file = "\x\addons\a3_epoch_code\gui\scripts\config";
class config_keymap {};
};
class dynamenu {
file = "\x\addons\a3_epoch_code\gui\scripts\dynamenu";
class dynamicMenu {};
class dynamicMenuPopulate {};
class dynamicMenuCleanup {};
};
class gui_craft {
file = "\x\addons\a3_epoch_code\gui\scripts\craftingv2";
class crafting_animate {};
@ -301,7 +303,7 @@ class CfgClientFunctions
class crafting_LB_defaults {};
class crafting_LB_doubleClick {};
class crafting_colorScheme {};
};
};
class group {
file = "\x\addons\a3_epoch_code\gui\scripts\group";
class Group_invitePlayer {};

View File

@ -42,7 +42,7 @@ class ScrollBar;
#include "Epoch_GUI_ClientConfigs.hpp"
#include "Epoch_GUI_rmx.hpp"
class RscTitles
class RscTitles
{
#include "Epoch_RscTitles.hpp"
};
@ -322,35 +322,35 @@ class SelectGender
class SelectGender
{
idd = -7;
movingEnable = 0;
enableSimulation = 1;
onLoad = "['Select your gender',10] call Epoch_dynamicText; setMousePosition [0.5, 0.5]; [findDisplay -7] call BIS_fnc_guiEffectTiles;";
onLoad = "['Select your gender',10] call Epoch_dynamicText; setMousePosition [0.5, 0.5];";
class ControlsBackground
{
class Background: RscPicture //Replace with custom background
{
idc = 88800;
text = "x\addons\a3_epoch_code\data\EpochLogo.paa";
x = 0;
y = 0.5;
w = 1;
h = 0.25;
text = "x\addons\a3_epoch_code\Data\gender_selection.paa";
x = safezoneX - safezoneW * 0.1;
y = safezoneY - safezoneH * 0.1;
w = safezoneW + safezoneW * 0.3;
h = safezoneH + safezoneH * 0.3;
};
};
class Objects
class Objects
{
class female
{
idc = 88801;
idc = 88801;
type = 82;
model = "\x\addons\a3_epoch_assets\models\clone_female.p3d";
scale = 0.5;
direction[] = {0, 1, 0};
up[] = {0, 0, 1};
up[] = {0, 0, 1};
x = -1;
z = 1;
@ -1375,7 +1375,7 @@ class InteractNPC
h = 0.08;
action = "call EPOCH_startNPCTraderMenu;";
};
class RscButtonMenu_2403: RscButtonMenu
{
idc = 2403;
@ -1386,7 +1386,7 @@ class InteractNPC
h = 0.08;
action = "closeDialog 0; player action [""Gear"", cursorTarget];";
};
class RscButtonMenu_2404: RscButtonMenu
{
idc = 2405;
@ -1617,7 +1617,7 @@ class InteractBaseBuilding
h = 0.08;
action = "closeDialog 0; cursorTarget call EPOCH_fnc_SelectTargetBuild;";
};
};
};
*/
@ -2474,7 +2474,7 @@ class RscDisplayInventory_DLCTemplate
};
};
};
class RscDisplayInventory
{
@ -3311,13 +3311,13 @@ class RscDisplayInventory
class EpochBtnBG : IGUIBack
{
idc = -10;
//x = 0.433468 * safezoneW + safezoneX;
//y = 0.75872 * safezoneH + safezoneY;
//w = 0.30231 * safezoneW;
//h = 0.0337482 * safezoneH;
x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "23.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "24.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
@ -3330,12 +3330,12 @@ class RscDisplayInventory
idc = -11;
text = "Group Menu";
onMouseButtonDown = "_this call EPOCH_Inventory_Group";
//x = 0.437079 * safezoneW + safezoneX;
//y = 0.764 * safezoneH + safezoneY;
//w = 0.0711741 * safezoneW;
//h = 0.022 * safezoneH;
x = "33.2 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
@ -3346,12 +3346,12 @@ class RscDisplayInventory
idc = -12;
text = "Requests";
onMouseButtonDown = "_this call EPOCH_Inventory_iGroup";
//x = 0.511347 * safezoneW + safezoneX;
//y = 0.764 * safezoneH + safezoneY;
//w = 0.0711741 * safezoneW;
//h = 0.022 * safezoneH;
x = "27.0 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
@ -3362,12 +3362,12 @@ class RscDisplayInventory
idc = -13;
text = "EXAMINE";
onMouseButtonDown = "call EPOCH_consumeItem";
//x = 0.585617 * safezoneW + safezoneX;
//y = 0.764 * safezoneH + safezoneY;
//w = 0.0711741 * safezoneW;
//h = 0.022 * safezoneH;
x = "14.62 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
@ -3378,12 +3378,12 @@ class RscDisplayInventory
idc = -14;
text = "CRAFT";
onMouseButtonDown = "EPOCH_CraftingItem call EPOCH_crafting_load;";
//x = 0.659883 * safezoneW + safezoneX;
//y = 0.764 * safezoneH + safezoneY;
//w = 0.0711741 * safezoneW;
//h = 0.022 * safezoneH;
x = "20.8 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "24 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * ( ((safezoneW / safezoneH) min 1.2) / 40)";

View File

@ -2,6 +2,9 @@ _min = safezoneX + 0.4 * safezoneW;
_max = safezoneX + 0.6 * safezoneW;
_r = linearConversion [_min, _max, _this, 0.2, -1, true];
_r2 = linearConversion [_min, _max, _this, 2, 0.8, true];
_r3 = linearConversion [_min, _max, _this, safezoneX, safezoneX - safezoneW * 0.3, true];
(findDisplay -7 displayCtrl 88801) ctrlSetPosition [_r,1,1.8];
(findDisplay -7 displayCtrl 88802) ctrlSetPosition [_r2,1,1.8];
(findDisplay -7 displayCtrl 88802) ctrlSetPosition [_r2,1,1.8];
(findDisplay -7 displayCtrl 88800) ctrlSetPosition [_r3,safezoneY - safezoneH * 0.1];
(findDisplay -7 displayCtrl 88800) ctrlCommit 0;

View File

@ -21,7 +21,7 @@ if (isNull _display) then {
findDisplay 46 createDisplay "rmx_dynamenu";
};
};
_selfOrTarget = if !(_hasTarget) then {"self"} else {"target"};
_checkConfigs = {
@ -42,7 +42,7 @@ _checkConfigs = {
{
_c = _c + (format [" >> '%1'",_x]);
} forEach _arr;
(call compile _c)
};
};
@ -51,7 +51,7 @@ _checkConfigs = {
case "build_upgrade":
{
if !(isClass _config) exitWith {_in = "";};
{
_dName = getText(configfile >> "CfgVehicles" >> (_x select 0) >> "DisplayName");
_tTip = "";
@ -62,30 +62,30 @@ _checkConfigs = {
_tTip = _tTip + format ["[%1 x %2] ", _x select 1, getText(_c >> "DisplayName")];
if (_icon isEqualTo "") then {_icon = getText (_c >> "picture")};
} forEach (_x select 1);
_tooltip = format ["%1 >> %2 ",_dName,_tTip];
_action = format ["[dyna_cursorTarget,%1] call EPOCH_upgradeBUILDv2; true call Epoch_dynamicMenuCleanup;",_forEachIndex];
_buttonSettings pushBack [
_icon,
_tooltip,
_action
];
} forEach (getArray (_config >> "upgradeBuilding"));
};
default
{
_configs = "true" configClasses _config;
{
if (call compile (getText(_x >> "condition"))) then {
if (_selfOrTarget isEqualTo "self" || dyna_distance) then {
_subclasses = configProperties [_x, "isClass _x",true];
_action = if (_subclasses isEqualTo []) then {
format ["%1; true call Epoch_dynamicMenuCleanup;",getText(_x >> "action")]
} else {

View File

@ -4,7 +4,8 @@ _close = param [0,false,[false]];
_cleanupVars = {
_cfg = "CfgActionMenu" call EPOCH_returnConfig;
{
call compile (format ["%1 = nil;",configName _x]);
// call compile (format ["%1 = nil;",configName _x]);
missionNamespace setVariable [configName _x,nil];
} count (configProperties [(_cfg >> "variableDefines"),"true",false]);
};
@ -18,7 +19,7 @@ if (uiNamespace getVariable ["rmx_var_dynamicMenuInProgress",false]) then {
call _cleanupVars;
[rmx_var_dynamenuPPHandle, 1, [0]] call epoch_postprocessAdjust;
rmx_var_dynaControls = nil;
rmx_var_dynamenuPPHandle call epoch_postprocessDestroy;

View File

@ -2,27 +2,26 @@ class CfgActionMenu
{
class variableDefines //must be global, nil when menu closes
{
dyna_cursorTarget = "cursorTarget";
dyna_cursorTargetType = "typeOf cursorTarget";
dyna_cursorTarget = "([10] call EPOCH_fnc_cursorTarget)";
dyna_cursorTargetType = "typeOf ([10] call EPOCH_fnc_cursorTarget)";
dyna_inVehicle = "vehicle player != player";
dyna_itemsPlayer = "items player";
dyna_distance = "(player distance dyna_cursorTarget) < 5";
dyna_buildMode = "cursorTarget call EPOCH_checkBuild;";
dyna_buildMode = "([10] call EPOCH_fnc_cursorTarget) call EPOCH_checkBuild;";
dyna_isVehicle = "if !(isNull dyna_cursorTarget && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'LandVehicle') || (dyna_cursorTarget isKindOf 'Air') || (dyna_cursorTarget isKindOf 'Ship') || (dyna_cursorTarget isKindOf 'Tank'))} else {false}";
dyna_isTrader = "if !(isNull dyna_cursorTarget && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'Man') && (dyna_cursorTarget != player) && (!isPlayer dyna_cursorTarget) && ((dyna_cursorTarget getVariable['AI_SLOT', -1]) != -1))} else {false}";
dyna_locked = "locked dyna_cursorTarget in [2,3]";
dyna_lockedInVehicle = "locked vehicle player in [2,3]";
};
class self
{
#include "CfgActionMenu_self.hpp"
};
class target
{
#include "CfgActionMenu_target.hpp"
};
};

View File

@ -60,7 +60,7 @@ class CfgAmmo
hit = 10;
indirectHit = 5;
indirectHitRange = 3;
model = "\x\addons\a3_epoch_assets\models\stick.p3d";
model = "\x\addons\a3_epoch_assets\models\sticks.p3d";
mineModelDisabled = "\x\addons\a3_epoch_assets\models\sticks.p3d";
defaultMagazine = "APERSTripMine_Wire_Mag";
icon = "iconExplosiveAP";
@ -91,7 +91,7 @@ class CfgAmmo
hit = 15;
indirectHit = 8;
indirectHitRange = 4;
model = "\x\addons\a3_epoch_assets\models\stick.p3d";
model = "\x\addons\a3_epoch_assets\models\sticks.p3d";
mineModelDisabled = "\x\addons\a3_epoch_assets\models\sticks.p3d";
defaultMagazine = "APERSTripMine_Wire_Mag";
icon = "iconExplosiveAP";

View File

@ -1158,6 +1158,19 @@ class CfgMagazines
interactText = "BUILD";
buildClass = "TankTrap_SIM_EPOCH";
};
class KitHesco3 : CA_Magazine
{
model = "\x\addons\a3_epoch_assets_1\models\supply_crate.p3d";
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_wooden_crate_ca.paa";
displayName = "Hesco Wide";
scope = 2;
descriptionShort = "Hesco Wide";
count = 1;
mass = 20;
interactAction = 3; // 0 = examine, 1 = eat, 2 = drink, 3 = build
interactText = "BUILD";
buildClass = "Hesco3_EPOCH";
};
class KitWoodLadder : CA_Magazine
{
model = "\x\addons\a3_epoch_assets_1\models\supply_crate.p3d";

View File

@ -359,8 +359,8 @@ class CfgPricing
class KitWoodTower {price = 10;};
class KitWoodRamp {price = 14;};
class KitTankTrap {price = 25;};
class KitHesco3 { price = 25; };
class KitWoodLadder { price = 10; };
class KitFirePlace {price = 4;};
class KitTiPi {price = 10;};
class KitShelf {price = 90;};

View File

@ -2412,7 +2412,7 @@ class CfgVehicles
class Spike_TRAP_SIM_EPOCH: Constructions_modular_F
{
scope = 2;
model = "\x\addons\a3_epoch_assets\models\stick.p3d";
model = "\x\addons\a3_epoch_assets\models\sticks.p3d";
displayName = "Spike Trap (SIM)";
simulClass = "Spike_TRAP_SIM_EPOCH";
staticClass = "Spike_TRAP_EPOCH";
@ -2424,7 +2424,7 @@ class CfgVehicles
class Metal_TRAP_SIM_EPOCH: Constructions_modular_F
{
scope = 2;
model = "\x\addons\a3_epoch_assets\models\stick.p3d";
model = "\x\addons\a3_epoch_assets\models\sticks.p3d";
displayName = "Metal Trap (SIM)";
simulClass = "Metal_TRAP_SIM_EPOCH";
staticClass = "Metal_TRAP_EPOCH";
@ -2437,7 +2437,7 @@ class CfgVehicles
{
scope = 2;
model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Defense\tank_trap.p3d";
displayName = "Tank Trap";
displayName = "Tank Trap (SIM)";
simulClass = "TankTrap_SIM_EPOCH";
staticClass = "TankTrap_EPOCH";
GhostPreview = "TankTrap_EPOCH";
@ -2445,6 +2445,30 @@ class CfgVehicles
bypassJammer = 1;
};
class Hesco3_SIM_EPOCH : Constructions_modular_F
{
scope = 2;
model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Defense\hesco.p3d";
displayName = "Hesco Wide (SIM)";
simulClass = "Hesco3_SIM_EPOCH";
staticClass = "Hesco3_EPOCH";
GhostPreview = "Hesco3_Ghost_EPOCH";
snapType = "snapPointsPara";
snapPointsPara[] = { "C", "E", "W" };
allowedSnapPoints[] = { "C", "E", "W" };
allowedSnapObjects[] = { "Hesco3_EPOCH" };
energyCost = 0.4;
slingLoadCargoMemoryPoints[] = {};
limitNearby = 4;
bypassJammer = 1;
/*
hiddenSelections[] = { "Camo" };
hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\hesco\hesco_co.paa" };
hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\hesco\hesco.rvmat" };
*/
};
class SapperHead_SIM_EPOCH: Constructions_modular_F
{
scope = 2;
@ -3819,10 +3843,28 @@ class CfgVehicles
displayName = "Hesco Wide";
simulClass = "Hesco3_SIM_EPOCH";
staticClass = "Hesco3_EPOCH";
GhostPreview = "Hesco3_EPOCH";
GhostPreview = "Hesco3_Ghost_EPOCH";
snapType = "snapPointsPara";
snapPointsPara[] = { "C", "E", "W" };
allowedSnapPoints[] = { "C", "E", "W" };
energyCost = 0.2;
limitNearby = 4;
bypassJammer = 1;
/*
hiddenSelections[] = { "Camo" };
hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\hesco\hesco_co.paa" };
hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\hesco\hesco.rvmat" };
*/
/*
selectionDamage = "zbytek";
class Damage
{
tex[] = {};
mat[] = { "x\addons\a3_epoch_assets\textures\cinder\cinder.rvmat", "x\addons\a3_epoch_assets\textures\cinder\cinder_destruct50.rvmat", "x\addons\a3_epoch_assets\textures\cinder\cinder_destruct50.rvmat" };
};
*/
};
class WoodRamp_EPOCH : Constructions_static_F
@ -3866,7 +3908,7 @@ class CfgVehicles
scope = 2;
model = "\x\addons\a3_epoch_assets\models\cinder.p3d";
displayName = "Cinder Block Wall";
upgradeBuilding[] = { "CinderWallGarage_EPOCH", { { "ItemCorrugatedLg", 1 }, { "CircuitParts", 1 } } };
// upgradeBuilding[] = { "CinderWallGarage_EPOCH", { { "ItemCorrugatedLg", 1 }, { "CircuitParts", 1 } } };
simulClass = "CinderWall_SIM_EPOCH";
staticClass = "CinderWall_EPOCH";
GhostPreview = "CinderWall_EPOCH";
@ -3875,7 +3917,7 @@ class CfgVehicles
allowedSnapPoints[] = { "N", "S", "E", "W" };
energyCost = 0.4;
armor = 10000;
removeParts[] = { { "CinderBlocks", 4 }, { "ItemRock", 2 } };
};
class CinderWallGarage_EPOCH : Const_Cinder_static_F
{
@ -4155,6 +4197,22 @@ class CfgVehicles
ladders[] = {};
};
class Hesco3_Ghost_EPOCH : Const_Ghost_EPOCH
{
scope = 2;
model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Defense\hesco_ghost.p3d";
displayName = "Hesco Wide (Ghost)";
staticClass = "Hesco3_EPOCH";
snapPointsPara[] = {};
snapPointsPerp[] = {};
allowedSnapPoints[] = { "C", "E", "W" };
allowedSnapObjects[] = { "Hesco3_EPOCH" };
ladders[] = {};
};
class CinderWallHalf_Ghost_EPOCH : Const_Ghost_EPOCH
{
scope = 2;

View File

@ -263,7 +263,7 @@ class CfgCrafting
};
class MortarBucket : Part
{
usedIn[] = {"KitFoundation","KitCinderWall"};
usedIn[] = {"KitFoundation","KitCinderWall", "KitHesco3"};
previewPosition[] = {0.799442,1,0.426761};
previewScale = 0.6;
previewVector = 0;
@ -637,7 +637,7 @@ class CfgCrafting
};
class ItemCorrugatedLg : Kit
{
usedIn[] = { "VehicleRepairLg", "KitPlotPole", "KitTankTrap" };
usedIn[] = { "VehicleRepairLg", "KitPlotPole", "KitTankTrap", "KitHesco3" };
recipe[] = { { "ItemCorrugated", 3 } };
nearby[] = {{"Workbench", "", "workbench", {1,{"WorkBench_EPOCH"}}, 3, 1, 0, 1}};
previewPosition[] = {0.797491,1,0.32899};
@ -731,6 +731,15 @@ class CfgCrafting
previewScale = 0.17;
previewVector = 0;
};
class KitHesco3 : Kit
{
recipe[] = { { "MortarBucket", 2 }, { "ItemCorrugatedLg", 2 } };
nearby[] = { { "Workbench", "", "workbench", { 1, { "WorkBench_EPOCH" } }, 3, 1, 0, 1 } };
model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Defense\hesco.p3d";
previewPosition[] = { 0.803749, 1, 0.448515 };
previewScale = 0.02;
previewVector = 0;
};
class KitWoodStairs : Kit
{
recipe[] = {{"PartPlankPack",4}};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More