mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
0.3.6.018
This commit is contained in:
parent
61b3970211
commit
74fe32d566
@ -1,13 +1,8 @@
|
||||
**Client**
|
||||
[Added-TBA] Previous assets re-added:
|
||||
Hotwire Kit,
|
||||
Key Makers Kit,
|
||||
Keys in colors: (Black,Red,Green,Blue,Yellow),
|
||||
55 Gallon Fuel Barrel (Full/Empty),
|
||||
Metal Pipes
|
||||
Documents (Trash,Vehicle Upgrades),
|
||||
[Added] Added ability to sell Primary weapon from hands and empty backpacks. Thanks to @He-Man
|
||||
[Changed] Increased max player load from 1000 to 2000.
|
||||
[Changed] Increased max player load 2x to compensate for the new stamina system in 1.54.
|
||||
[Changed] Increased backpack storage limits to allow carrying long weapons.
|
||||
[Fixed] Changes to default Arma weapon configs to allow long (Lynx,etc) weapons to be stored in backpacks.
|
||||
[Fixed] Unable to sell after attempting to sell a temporary vehicle. Thanks to @He-Man
|
||||
[Fixed] Updated Hitpoints to 1.54 for all custom Epoch characters, this fixes the hitpoint .rpt errors since 1.54 as well.
|
||||
[Fixed] Reduce run speed of Sappers since 1.54 update.
|
||||
|
7
Changelogs/0.3.7.0.txt
Normal file
7
Changelogs/0.3.7.0.txt
Normal file
@ -0,0 +1,7 @@
|
||||
WIP
|
||||
[Added] Hotwire Kit
|
||||
[Added] Key Makers Kit
|
||||
[Added] Keys in colors: (Black,Red,Green,Blue,Yellow)
|
||||
[Added] 55 Gallon Fuel Barrel (Full/Empty)
|
||||
[Added] Metal Pipes
|
||||
[Added] Documents (Trash,Vehicle Upgrades)
|
Binary file not shown.
Binary file not shown.
@ -127,7 +127,7 @@ if (!isNull EPOCH_currentTarget && vehicle player == player) then {
|
||||
if (_stability == 0) then {
|
||||
switch EPOCH_buildOption do {
|
||||
case 0: {EPOCH_stabilityTarget call EPOCH_removeBUILD};
|
||||
case 1: {EPOCH_stabilityTarget call EPOCH_upgradeBUILDv2};
|
||||
case 1: {EPOCH_stabilityTarget call EPOCH_upgradeBUILD};
|
||||
case 2: {EPOCH_stabilityTarget call EPOCH_fnc_SelectTargetBuild};
|
||||
};
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_recipeItem","_recipeQty","_hasRecipeItems","_msg","_recipeCount","_currentCount","_numRemoved","_items","_mags","_dt","_recipe","_craftItem","_craftQty","_config","_objClass","_object","_anim","_state"];
|
||||
_object = param [0,objNull];
|
||||
_anim = param [1,""];
|
||||
_state = param [2,0];
|
||||
|
@ -21,6 +21,7 @@
|
||||
Returns:
|
||||
ARRAY of BOOLs
|
||||
*/
|
||||
private ["_dt","_out","_object","_objType","_config"];
|
||||
_out = [false, false, false];
|
||||
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ _out };
|
||||
|
@ -21,7 +21,7 @@
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private["_color", "_distance", "_previous"];
|
||||
private ["_posObj","_savedBuildPos","_previousBuildPos","_saveCheck","_endTime","_worldspace","_class","_newObj","_startTime","_objClass"];
|
||||
|
||||
if (!isNull _this) then {
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_targeter","_stability"];
|
||||
private ["_targeter","_stability","_dt","_object"];
|
||||
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ false };
|
||||
if !(isNull EPOCH_Target) exitWith{ false };
|
||||
|
@ -4,7 +4,7 @@
|
||||
Contributors: Raimonds Virtoss
|
||||
|
||||
Description:
|
||||
Epoch build select target
|
||||
check if building is allowed
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
@ -1,4 +1,27 @@
|
||||
private["_jammed", "_jammer"];
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Base building object lock check code
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_lockCheck.sqf
|
||||
|
||||
Example:
|
||||
call EPOCH_lockCheck
|
||||
|
||||
Parameter(s):
|
||||
NONE
|
||||
|
||||
Returns:
|
||||
BOOL
|
||||
*/
|
||||
private ["_jammed","_jammer","_buildingJammerRange","_config"];
|
||||
_config = "CfgEpochClient" call EPOCH_returnConfig;
|
||||
_buildingJammerRange = getNumber(_config >> "buildingJammerRange");
|
||||
if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
|
||||
|
@ -1,3 +1,27 @@
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Base building maintain base code
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_maintainIT.sqf
|
||||
|
||||
Example:
|
||||
cursorTarget call EPOCH_maintainIT;
|
||||
|
||||
Parameter(s):
|
||||
_this: OBJECT - Base building object ("Constructions_static_F","Constructions_foundation_F","Buildable_Storage","Constructions_lockedstatic_F")
|
||||
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_dt","_buildingJammerRange","_maintainCount","_rnd","_config"];
|
||||
if !(isNil "EPOCH_maintainLockout") exitWith {_dt = ["<t size=""0.8"" shadow=""0"" color=""#99ffffff"">Already Maintaining a base.</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;};
|
||||
if (EPOCH_playerCrypto > 0) then {
|
||||
_config = "CfgEpochClient" call EPOCH_returnConfig;
|
||||
|
@ -1,4 +1,27 @@
|
||||
private["_buildingAllowed", "_jammer", "_restricted", "_restrictedLocations", "_myPosATL"];
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Base building maintain base code
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf
|
||||
|
||||
Example:
|
||||
cursorTarget call EPOCH_removeBUILD;
|
||||
|
||||
Parameter(s):
|
||||
_this: OBJECT - Base building object
|
||||
|
||||
Returns:
|
||||
BOOL - true if removed
|
||||
*/
|
||||
private ["_buildingAllowed","_jammer","_buildingJammerRange","_buildingCountLimit","_dt","_nearestJammer","_ownedJammerExists","_return","_config","_objType","_object","_targeter","_stability","_removeParts"];
|
||||
_buildingAllowed = true;
|
||||
_ownedJammerExists = false;
|
||||
_nearestJammer = objNull;
|
||||
|
@ -1,8 +1,30 @@
|
||||
private [
|
||||
"_cfgClass","_class","_worldspace","_objSlot","_newObj","_playerOffset","_bbr","_p1","_p2","_maxWidth","_maxLength","_maxHeight","_pos2","_vel2","_dir2","_up2","_pos1","_vel1","_dir1","_up1","_interval","_velocityTransformation","_object","_status","_return","_oemType","_config","_currentTarget"];
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Base building base building with physics
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf
|
||||
|
||||
Example:
|
||||
[_object] spawn EPOCH_simulSwap;
|
||||
|
||||
Parameter(s):
|
||||
_this select 0: OBJECT - Base building object
|
||||
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_class","_worldspace","_objSlot","_newObj","_pos2","_vel2","_dir2","_up2","_velocityTransformation","_object","_return","_oemType","_config","_currentTarget","_dt","_energyCost","_allowedSnapObjects","_textureSlot","_lastCheckTime","_rejectMove","_nearestObject","_nearestObjectRaw","_distanceNear","_previousDistanceNear","_pOffset","_snapPos","_isSnap","_snapPosition","_snapType","_snapDistance","_prevSnapDistance","_snapPointsPara","_snapPointsPerp","_snapArrayPara","_snapArrayPerp","_direction","_distance","_plyrdistance","_create","_allowedSnapPoints","_snapObjects","_onContactEH","_offset","_disallowed","_objType","_distanceMod"];
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{};
|
||||
|
||||
_object = _this select 0;
|
||||
_object = param [0,objNull];
|
||||
if (isNull _object) exitWith{ EPOCH_target = objNull; };
|
||||
|
||||
_objType = typeOf _object;
|
||||
@ -174,7 +196,7 @@ if (isText(_config)) then {
|
||||
if (_direction < 0) then {
|
||||
_direction = 360 + _direction;
|
||||
};
|
||||
_dir2 = [vectorDir _nearestObject, _direction] call EPOCH_returnVector;
|
||||
_dir2 = [vectorDir _nearestObject, _direction] call BIS_fnc_returnVector;
|
||||
_up2 = (vectorUp _nearestObject);
|
||||
EP_velocityTransformation = [_pos2,_vel2,_dir2,_up2];
|
||||
};
|
||||
@ -185,7 +207,7 @@ if (isText(_config)) then {
|
||||
};
|
||||
if (EPOCH_space) then {
|
||||
_vel2 = (velocity player);
|
||||
_dir2 = [vectorDir player, EPOCH_buildDirection] call EPOCH_returnVector;
|
||||
_dir2 = [vectorDir player, EPOCH_buildDirection] call BIS_fnc_returnVector;
|
||||
_up2 = (vectorUp player);
|
||||
EPOCH_space = false;
|
||||
EP_velocityTransformation = [_pos2,_vel2,_dir2,_up2];
|
||||
|
@ -1,9 +1,38 @@
|
||||
private["_allowedSnapObjects", "_currentZoffset", "_nearestObject", "_pOffset", "_snapPos", "_snapPosition", "_snapType", "_snapDistance", "_prevSnapDistance", "_pos2", "_dir", "_snapPointsPara", "_snapPointsPerp", "_distance", "_objSlot", "_currentTarget", "_allowedSnapPoints", "_snapObjects", "_class", "_buildingPos"];
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Base building base building with ghost preview.
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf
|
||||
|
||||
Example:
|
||||
[_object] spawn EPOCH_simulSwap;
|
||||
|
||||
Parameter(s):
|
||||
_this select 0: OBJECT - Base building object
|
||||
_this select 1: STRING - Item to consume on build finalization
|
||||
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_allowedSnapObjects","_nearestObject","_pOffset","_snapPos","_snapPosition","_snapType","_snapDistance","_pos2","_snapPointsPara","_snapPointsPerp","_distance","_objSlot","_currentTarget","_allowedSnapPoints","_class","_dt","_energyCost","_maxHeight","_stabilityCheck","_pos2ATL","_lastCheckTime","_rejectMove","_currentOffSet","_dir2","_up2","_isSnap","_snapPos1","_pos_snapObj","_direction","_pos1_snap","_pos2_snap","_ins","_EPOCH_2","_arr_snapPoints","_pos1","_offSet","_snapConfig","_baselineSnapPos","_nearestObjects","_EPOCH_1","_numberOfContacts","_worldspace","_offsetZPos","_currentPos","_object","_item","_objType","_simulClass","_snapChecks","_maxSnapDistance"];
|
||||
if !(isNil "EPOCH_simulSwap_Lock") exitWith{};
|
||||
|
||||
_object = _this select 0;
|
||||
_item = _this select 1;
|
||||
// inputs
|
||||
_object = param [0,objNull];
|
||||
_item = param [1,""];
|
||||
|
||||
// exit if object is nulll
|
||||
if (isNull _object) exitWith{ EPOCH_target = objNull; };
|
||||
// exit if item is not given
|
||||
if (_item == "") exitWith{ EPOCH_target = objNull; };
|
||||
|
||||
if (EPOCH_playerEnergy <= 0) exitWith{
|
||||
_dt = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>Need Energy</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||
@ -113,7 +142,7 @@ if (_class != "") then {
|
||||
};
|
||||
|
||||
if (EPOCH_space) then {
|
||||
_dir2 = [vectorDir player, EPOCH_buildDirection] call EPOCH_returnVector;
|
||||
_dir2 = [vectorDir player, EPOCH_buildDirection] call BIS_fnc_returnVector;
|
||||
_up2 = (vectorUp player);
|
||||
EPOCH_space = false;
|
||||
EPOCH_target setVectorDirAndUp [_dir2,_up2];
|
||||
@ -231,7 +260,7 @@ if (_class != "") then {
|
||||
_direction = 360 + _direction;
|
||||
};
|
||||
|
||||
_dir2 = [vectorDir _nearestObject, _direction] call EPOCH_returnVector;
|
||||
_dir2 = [vectorDir _nearestObject, _direction] call BIS_fnc_returnVector;
|
||||
|
||||
if (_pos2 select 2 > _maxHeight) then {
|
||||
_pos2 set[2, _maxHeight];
|
||||
|
@ -1,5 +1,33 @@
|
||||
if (isNull _this) exitWith{ false };
|
||||
/*
|
||||
Author: Aaron Clark - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Base building upgrade code
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf
|
||||
|
||||
Example:
|
||||
[cursorTarget,_index] call EPOCH_upgradeBUILD;
|
||||
|
||||
Parameter(s):
|
||||
_this select 0: OBJECT - Base building object
|
||||
_this select 1: NUMBER - index of array from (CfgBaseBuilding >> "upgradeBuilding")
|
||||
|
||||
Returns:
|
||||
NOTHING
|
||||
*/
|
||||
private ["_buildingJammerRange","_buildingCountLimit","_nearestJammer","_ownedJammerExists","_buildingAllowed","_dt","_missingCount","_canUpgrade","_missingParts","_part","_req","_partCheck","_canUpgradePartCount","_removedPartCount","_return","_upgrade","_upgradeParts","_config","_upgrades","_object","_index","_targeter","_stability","_jammer"];
|
||||
_return = false;
|
||||
_object = param [0,objNull,[objNull]];
|
||||
_index = param [1,-1,[0]]; //EPOCH_UpgradeIndex
|
||||
if !(_index isEqualTo -1) then {Epoch_upgradeIndex = _index};
|
||||
if (isNull _object) exitWith {false};
|
||||
|
||||
_buildingAllowed = true;
|
||||
_ownedJammerExists = false;
|
||||
@ -14,7 +42,7 @@ if (_buildingCountLimit == 0) then { _buildingCountLimit = 200; };
|
||||
|
||||
EPOCH_buildOption = 1;
|
||||
|
||||
params ["_object"];
|
||||
|
||||
|
||||
// check if another player has target
|
||||
_targeter = _object getVariable["last_targeter", objNull];
|
||||
@ -29,10 +57,6 @@ if (_stability > 0) exitWith{
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
_jammer = nearestObjects[player, ["PlotPole_EPOCH"], _buildingJammerRange];
|
||||
|
||||
if !(_jammer isEqualTo[]) then {
|
||||
@ -54,18 +78,22 @@ if !(_jammer isEqualTo[]) then {
|
||||
};
|
||||
if !(_buildingAllowed)exitWith{ false };
|
||||
|
||||
if (_this isKindOf "Constructions_static_F") then {
|
||||
if (_object isKindOf "Constructions_static_F") then {
|
||||
|
||||
// take upgrade item from player here
|
||||
_config = 'CfgBaseBuilding' call EPOCH_returnConfig;
|
||||
_upgrade = getArray(_config >> (typeOf _this) >> "upgradeBuilding");
|
||||
if !(_upgrade isEqualTo []) then {
|
||||
|
||||
_upgrades = getArray(_config >> (typeOf _object) >> "upgradeBuilding");
|
||||
if !(_upgrades isEqualTo []) then {
|
||||
|
||||
// get selected upgrade
|
||||
_upgrade = _upgrades param [Epoch_upgradeIndex,[]];
|
||||
|
||||
_upgradeParts = _upgrade select 1;
|
||||
|
||||
_canUpgrade = true;
|
||||
_canUpgradePartCount = 0;
|
||||
_missingParts = [];
|
||||
_missingParts = "";
|
||||
{
|
||||
_part = _x select 0;
|
||||
_req = _x select 1;
|
||||
@ -78,7 +106,7 @@ if (_this isKindOf "Constructions_static_F") then {
|
||||
//diag_log format["DEBUG: _missingCount %1", _missingCount];
|
||||
|
||||
_canUpgrade = false;
|
||||
_missingParts pushBack format["Missing %1 %2", _missingCount, (_part call EPOCH_itemDisplayName)];
|
||||
_missingParts = _missingParts + format["Missing %1 %2, ", _missingCount, (_part call EPOCH_itemDisplayName)];
|
||||
};
|
||||
_canUpgradePartCount = _canUpgradePartCount + _req;
|
||||
} forEach _upgradeParts;
|
||||
@ -96,8 +124,9 @@ if (_this isKindOf "Constructions_static_F") then {
|
||||
|
||||
if (_canUpgradePartCount == _removedPartCount) then {
|
||||
// send to server for upgrade
|
||||
EPOCH_UPBUILD = [_this,player,Epoch_personalToken];
|
||||
EPOCH_UPBUILD = [_object,player,Epoch_upgradeIndex,Epoch_personalToken];
|
||||
publicVariableServer "EPOCH_UPBUILD";
|
||||
Epoch_upgradeIndex = nil;
|
||||
_return = true;
|
||||
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Upgraded</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||
};
|
||||
|
@ -1,113 +0,0 @@
|
||||
_return = false;
|
||||
_object = param [0,objNull,[objNull]];
|
||||
_index = param [1,-1,[0]]; //EPOCH_UpgradeIndex
|
||||
if !(_index isEqualTo -1) then {Epoch_upgradeIndex = _index};
|
||||
if (isNull _object) exitWith {false};
|
||||
|
||||
_buildingAllowed = true;
|
||||
_ownedJammerExists = false;
|
||||
_nearestJammer = objNull;
|
||||
_config = 'CfgEpochClient' call EPOCH_returnConfig;
|
||||
_buildingJammerRange = getNumber(_config >> "buildingJammerRange");
|
||||
_buildingCountLimit = getNumber(_config >> "buildingCountLimit");
|
||||
|
||||
// defaults
|
||||
if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
|
||||
if (_buildingCountLimit == 0) then { _buildingCountLimit = 200; };
|
||||
|
||||
EPOCH_buildOption = 1;
|
||||
|
||||
|
||||
|
||||
// check if another player has target
|
||||
_targeter = _object getVariable["last_targeter", objNull];
|
||||
|
||||
if (!isNull _targeter && _targeter != player && (player distance _object > _targeter distance _object)) exitWith{ EPOCH_stabilityTarget = objNull; false };
|
||||
|
||||
_stability = _object getVariable["stability", 100];
|
||||
if (_stability > 0) exitWith{
|
||||
if (isNull EPOCH_stabilityTarget) then {
|
||||
_object setVariable["last_targeter", player, true];
|
||||
EPOCH_stabilityTarget = _object;
|
||||
};
|
||||
};
|
||||
|
||||
_jammer = nearestObjects[player, ["PlotPole_EPOCH"], _buildingJammerRange];
|
||||
|
||||
if !(_jammer isEqualTo[]) then {
|
||||
{
|
||||
if (alive _x) exitWith{
|
||||
_nearestJammer = _x;
|
||||
};
|
||||
} foreach _jammer;
|
||||
|
||||
if !(isNull _nearestJammer) then {
|
||||
if ((_nearestJammer getVariable["BUILD_OWNER", "-1"]) in[getPlayerUID player, Epoch_my_GroupUID]) then {
|
||||
_ownedJammerExists = true;
|
||||
}
|
||||
else {
|
||||
_buildingAllowed = false;
|
||||
_dt = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>Upgrade Disallowed: Frequency Blocked</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||
};
|
||||
};
|
||||
};
|
||||
if !(_buildingAllowed)exitWith{ false };
|
||||
|
||||
if (_object isKindOf "Constructions_static_F") then {
|
||||
|
||||
// take upgrade item from player here
|
||||
_config = 'CfgBaseBuilding' call EPOCH_returnConfig;
|
||||
|
||||
_upgrades = getArray(_config >> (typeOf _object) >> "upgradeBuilding");
|
||||
if !(_upgrades isEqualTo []) then {
|
||||
|
||||
// get selected upgrade
|
||||
_upgrade = _upgrades param [Epoch_upgradeIndex,[]];
|
||||
|
||||
_upgradeParts = _upgrade select 1;
|
||||
|
||||
_canUpgrade = true;
|
||||
_canUpgradePartCount = 0;
|
||||
_missingParts = "";
|
||||
{
|
||||
_part = _x select 0;
|
||||
_req = _x select 1;
|
||||
_partCheck = {_x == _part} count (magazines player);
|
||||
//diag_log format["DEBUG: _partCheck %1", _partCheck];
|
||||
//diag_log format["DEBUG: _x %1", _x];
|
||||
if (_partCheck < _req) then {
|
||||
_missingCount = _req - _partCheck;
|
||||
|
||||
//diag_log format["DEBUG: _missingCount %1", _missingCount];
|
||||
|
||||
_canUpgrade = false;
|
||||
_missingParts = _missingParts + format["Missing %1 %2, ", _missingCount, (_part call EPOCH_itemDisplayName)];
|
||||
};
|
||||
_canUpgradePartCount = _canUpgradePartCount + _req;
|
||||
} forEach _upgradeParts;
|
||||
|
||||
_removedPartCount = 0;
|
||||
if (_canUpgrade) then {
|
||||
{
|
||||
for "_i" from 1 to (_x select 1) do {
|
||||
if ((_x select 0) in (magazines player)) then {
|
||||
player removeMagazine (_x select 0);
|
||||
_removedPartCount = _removedPartCount + 1;
|
||||
};
|
||||
};
|
||||
} forEach _upgradeParts;
|
||||
|
||||
if (_canUpgradePartCount == _removedPartCount) then {
|
||||
// send to server for upgrade
|
||||
EPOCH_UPBUILD = [_object,player,Epoch_upgradeIndex,Epoch_personalToken];
|
||||
publicVariableServer "EPOCH_UPBUILD";
|
||||
Epoch_upgradeIndex = nil;
|
||||
_return = true;
|
||||
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Upgraded</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||
};
|
||||
} else {
|
||||
_dt = [format["<t size='0.8' shadow='0' color='#99ffffff'>%1</t>", _missingParts], 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||
};
|
||||
};
|
||||
};
|
||||
_return
|
@ -1,180 +0,0 @@
|
||||
EPOCH_buildClasses = ["Land_Obstacle_Bridge_F",
|
||||
|
||||
"Land_Shoot_House_Wall_F",
|
||||
"Land_Shoot_House_Wall_Stand_F",
|
||||
"Land_Shoot_House_Wall_Crouch_F",
|
||||
"Land_Shoot_House_Wall_Prone_F",
|
||||
"Land_Shoot_House_Wall_Long_F",
|
||||
"Land_Shoot_House_Wall_Long_Stand_F",
|
||||
"Land_Shoot_House_Wall_Long_Crouch_F",
|
||||
"Land_Shoot_House_Wall_Long_Prone_F",
|
||||
"Land_Shoot_House_Corner_F",
|
||||
"Land_Shoot_House_Corner_Stand_F",
|
||||
"Land_Shoot_House_Corner_Crouch_F",
|
||||
"Land_Shoot_House_Corner_Prone_F",
|
||||
"Land_Shoot_House_Panels_F",
|
||||
"Land_Shoot_House_Panels_Crouch_F",
|
||||
"Land_Shoot_House_Panels_Prone_F",
|
||||
"Land_Shoot_House_Panels_Vault_F",
|
||||
"Land_Shoot_House_Panels_Window_F",
|
||||
"Land_Shoot_House_Panels_Windows_F",
|
||||
"Land_Shoot_House_Tunnel_F",
|
||||
"Land_Shoot_House_Tunnel_Stand_F",
|
||||
"Land_Shoot_House_Tunnel_Crouch_F",
|
||||
"Land_Shoot_House_Tunnel_Prone_F",
|
||||
|
||||
|
||||
"Land_Obstacle_RunAround_F","Land_Obstacle_Saddle_F","Land_RampConcrete_F","Land_RampConcreteHigh_F","Land_GH_Stairs_F","Land_Billboard_F","Land_HBarrier_1_F","Land_HBarrier_3_F","Land_HBarrier_5_F","Land_Razorwire_F","Land_HBarrierWall6_F","WoodFloor_EPOCH","WoodLargeWall_EPOCH","Land_BagFence_Long_F","Land_BagFence_Corner_F","Land_BagFence_End_F","Land_BagFence_Round_F","Land_BagFence_Short_F"];
|
||||
EPOCH_buildClassesCount = count EPOCH_buildClasses - 1;
|
||||
Epoch_selectedBuildClasIndex = 0;
|
||||
EPOCH_selectedBuildClass = EPOCH_buildClasses select 0;
|
||||
|
||||
EPOCH_snapExtents = [];
|
||||
|
||||
EPOCH_buildWorldspace = [[0,0,0],[0,0,0],[0,0,0]];
|
||||
EPOCH_KeyDownFunctionhandler = {
|
||||
_dikCode = _this select 1;
|
||||
_shift = _this select 2;
|
||||
_ctrl = _this select 3;
|
||||
_alt = _this select 4;
|
||||
|
||||
switch (_dikCode) do {
|
||||
case 0x39 : {
|
||||
_worldspace = EPOCH_buildWorldspace;
|
||||
_newObj = EPOCH_selectedBuildClass createVehicle (_worldspace select 0);
|
||||
_newObj setVectorDirAndUp [_worldspace select 1,_worldspace select 2];
|
||||
_newObj setposASL (_worldspace select 0);
|
||||
_handled = true;
|
||||
};
|
||||
case 0xC9 : {
|
||||
Epoch_selectedBuildClasIndex = ((Epoch_selectedBuildClasIndex + 1) min EPOCH_buildClassesCount) max 0;
|
||||
EPOCH_selectedBuildClass = EPOCH_buildClasses select Epoch_selectedBuildClasIndex;
|
||||
|
||||
if !(isNull EPOCH_currentBuildObj) then {
|
||||
deleteVehicle EPOCH_currentBuildObj;
|
||||
EPOCH_currentBuildObj = EPOCH_selectedBuildClass createVehicle [0,0,0];
|
||||
EPOCH_currentBuildObj disableCollisionWith player;
|
||||
EPOCH_currentBuildObj setObjectTextureGlobal [0, "#(rgb,8,8,3)color(0,0,1,1)"];
|
||||
};
|
||||
|
||||
hint EPOCH_selectedBuildClass;
|
||||
_handled = true;
|
||||
};
|
||||
case 0xD1 : {
|
||||
Epoch_selectedBuildClasIndex = ((Epoch_selectedBuildClasIndex - 1) min EPOCH_buildClassesCount) max 0;
|
||||
EPOCH_selectedBuildClass = EPOCH_buildClasses select Epoch_selectedBuildClasIndex;
|
||||
hint EPOCH_selectedBuildClass;
|
||||
|
||||
if !(isNull EPOCH_currentBuildObj) then {
|
||||
deleteVehicle EPOCH_currentBuildObj;
|
||||
EPOCH_currentBuildObj = EPOCH_selectedBuildClass createVehicle [0,0,0];
|
||||
EPOCH_currentBuildObj disableCollisionWith player;
|
||||
EPOCH_currentBuildObj setObjectTextureGlobal [0, "#(rgb,8,8,3)color(0,0,1,1)"];
|
||||
};
|
||||
|
||||
_handled = true;
|
||||
};
|
||||
};
|
||||
_handled
|
||||
};
|
||||
|
||||
|
||||
[] spawn {
|
||||
(findDisplay 46) displayRemoveAllEventHandlers "KeyDown";
|
||||
(findDisplay 46) displayAddEventHandler["KeyDown",{_this call EPOCH_KeyDownFunctionhandler}];
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
EPOCH_snapExtents = [];
|
||||
_playerPos = player modelToWorld [0,5,5];
|
||||
EPOCH_currentBuildObj = EPOCH_selectedBuildClass createVehicle _playerPos;
|
||||
EPOCH_currentBuildObj setPosATL _playerPos;
|
||||
EPOCH_currentBuildObj disableCollisionWith player;
|
||||
_numberOfContacts = 0;
|
||||
for "_i" from 0 to 10 do {
|
||||
};
|
||||
_pos1 = EPOCH_currentBuildObj modelToWorld [0,0,10];
|
||||
_pos2 = EPOCH_currentBuildObj modelToWorld [0,0,0];
|
||||
_ins = lineIntersectsSurfaces [AGLToASL _pos1,AGLToASL _pos2,player];
|
||||
if (count _ins == 0) then {
|
||||
} else {
|
||||
_pos3 = (_ins select 0 select 0);
|
||||
if !(surfaceIsWater _pos3) then {_pos3 = ASLtoATL _pos3};
|
||||
_offset = EPOCH_currentBuildObj worldToModelVisual _pos3;
|
||||
EPOCH_snapExtents pushBack _offset;
|
||||
_numberOfContacts = _numberOfContacts + 1;
|
||||
|
||||
_fullHeight = _offset select 0;
|
||||
_halfHeight = _fullHeight/2;
|
||||
|
||||
|
||||
|
||||
_pos1 = EPOCH_currentBuildObj modelToWorld [0,10,_halfHeight];
|
||||
_pos2 = EPOCH_currentBuildObj modelToWorld [0,0,_halfHeight];
|
||||
_ins = lineIntersectsSurfaces [AGLToASL _pos1,AGLToASL _pos2,player];
|
||||
if (count _ins == 0) then {
|
||||
} else {
|
||||
_pos3 = (_ins select 0 select 0);
|
||||
if !(surfaceIsWater _pos3) then {_pos3 = ASLtoATL _pos3};
|
||||
_offset = EPOCH_currentBuildObj worldToModelVisual _pos3;
|
||||
EPOCH_snapExtents pushBack _offset;
|
||||
_numberOfContacts = _numberOfContacts + 1;
|
||||
};
|
||||
|
||||
_pos1 = EPOCH_currentBuildObj modelToWorld [0,-10,_halfHeight];
|
||||
_pos2 = EPOCH_currentBuildObj modelToWorld [0,0,_halfHeight];
|
||||
_ins = lineIntersectsSurfaces [AGLToASL _pos1,AGLToASL _pos2,player];
|
||||
if (count _ins == 0) then {
|
||||
} else {
|
||||
_pos3 = (_ins select 0 select 0);
|
||||
if !(surfaceIsWater _pos3) then {_pos3 = ASLtoATL _pos3};
|
||||
_offset = EPOCH_currentBuildObj worldToModelVisual _pos3;
|
||||
EPOCH_snapExtents pushBack _offset;
|
||||
_numberOfContacts = _numberOfContacts + 1;
|
||||
};
|
||||
|
||||
_pos1 = EPOCH_currentBuildObj modelToWorld [10,0,_halfHeight];
|
||||
_pos2 = EPOCH_currentBuildObj modelToWorld [0,0,_halfHeight];
|
||||
_ins = lineIntersectsSurfaces [AGLToASL _pos1,AGLToASL _pos2,player];
|
||||
if (count _ins == 0) then {
|
||||
} else {
|
||||
_pos3 = (_ins select 0 select 0);
|
||||
if !(surfaceIsWater _pos3) then {_pos3 = ASLtoATL _pos3};
|
||||
_offset = EPOCH_currentBuildObj worldToModelVisual _pos3;
|
||||
EPOCH_snapExtents pushBack _offset;
|
||||
_numberOfContacts = _numberOfContacts + 1;
|
||||
};
|
||||
|
||||
_pos1 = EPOCH_currentBuildObj modelToWorld [-10,0,_halfHeight];
|
||||
_pos2 = EPOCH_currentBuildObj modelToWorld [0,0,_halfHeight];
|
||||
_ins = lineIntersectsSurfaces [AGLToASL _pos1,AGLToASL _pos2,player];
|
||||
if (count _ins == 0) then {
|
||||
} else {
|
||||
_pos3 = (_ins select 0 select 0);
|
||||
if !(surfaceIsWater _pos3) then {_pos3 = ASLtoATL _pos3};
|
||||
_offset = EPOCH_currentBuildObj worldToModelVisual _pos3;
|
||||
EPOCH_snapExtents pushBack _offset;
|
||||
_numberOfContacts = _numberOfContacts + 1;
|
||||
};
|
||||
|
||||
|
||||
_pos1 = EPOCH_currentBuildObj modelToWorld [0,0,-4.5];
|
||||
_pos2 = EPOCH_currentBuildObj modelToWorld [0,0,0];
|
||||
_ins = lineIntersectsSurfaces [AGLToASL _pos1,AGLToASL _pos2,player];
|
||||
if (count _ins == 0) then {
|
||||
} else {
|
||||
_pos3 = (_ins select 0 select 0);
|
||||
if !(surfaceIsWater _pos3) then {_pos3 = ASLtoATL _pos3};
|
||||
_offset = EPOCH_currentBuildObj worldToModelVisual _pos3;
|
||||
EPOCH_snapExtents pushBack _offset;
|
||||
_numberOfContacts = _numberOfContacts + 1;
|
||||
};
|
||||
|
||||
};
|
||||
onEachFrame {
|
||||
{
|
||||
drawIcon3D ["a3\modules_f\data\iconlock_ca.paa", [1,1,1,1], EPOCH_currentBuildObj modelToWorld _x, 1, 1, 45, "Snap", 1, 0.05, "TahomaB"];
|
||||
} forEach EPOCH_snapExtents;
|
||||
};
|
@ -100,6 +100,13 @@ class cfgFunctions
|
||||
class initMultiplayer {
|
||||
file = "\x\addons\a3_epoch_code\compile\bis_functions\MP\fn_initMultiplayer.sqf";
|
||||
};
|
||||
|
||||
};
|
||||
class functions {
|
||||
// custom Epoch - BIS_fnc_returnVector
|
||||
class returnVector {
|
||||
file = "\x\addons\a3_epoch_code\compile\bis_functions\returnVector.sqf";
|
||||
};
|
||||
};
|
||||
};
|
||||
class EPOCH
|
||||
@ -112,6 +119,10 @@ class cfgFunctions
|
||||
class isAny {
|
||||
file = "\x\addons\a3_epoch_code\compile\both\EPOCH_isAny.sqf"
|
||||
};
|
||||
class isAny {
|
||||
file = "\x\addons\a3_epoch_code\compile\both\EPOCH_isAny.sqf"
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -161,9 +172,7 @@ class CfgClientFunctions
|
||||
class isBuildAllowed {};
|
||||
class simulSwap {};
|
||||
class staticMove {};
|
||||
class returnVector {};
|
||||
class upgradeBUILD {};
|
||||
class upgradeBUILDv2 {};
|
||||
class removeBUILD {};
|
||||
class changeWallState {};
|
||||
class checkBuild {};
|
||||
|
@ -164,7 +164,7 @@ class QuickUpgrade
|
||||
y = 0.622266 * safezoneH + safezoneY;
|
||||
w = 0.05875 * safezoneW;
|
||||
h = 0.0282151 * safezoneH;
|
||||
action = "cursorTarget call EPOCH_upgradeBUILDv2";
|
||||
action = "cursorTarget call EPOCH_upgradeBUILD";
|
||||
};
|
||||
|
||||
};
|
||||
@ -2582,39 +2582,47 @@ class RscDisplayInventory
|
||||
idc = 1243;
|
||||
x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
class BackgroundSlotPrimaryUnderBarrel : BackgroundSlotPrimary
|
||||
{
|
||||
idc = 1200;
|
||||
x = "29 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "28.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
class BackgroundSlotPrimaryFlashlight : BackgroundSlotPrimary
|
||||
{
|
||||
idc = 1244;
|
||||
x = "31.4 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "30.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
class BackgroundSlotPrimaryOptics : BackgroundSlotPrimary
|
||||
{
|
||||
idc = 1245;
|
||||
x = "33.8 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
class BackgroundSlotPrimaryMagazineGL: BackgroundSlotPrimary
|
||||
{
|
||||
idc = 1267;
|
||||
x = "34.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
class BackgroundSlotPrimaryMagazine : BackgroundSlotPrimary
|
||||
{
|
||||
idc = 1246;
|
||||
x = "36.2 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "36.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
class BackgroundSlotSecondary : BackgroundSlotPrimary
|
||||
@ -2896,43 +2904,52 @@ class RscDisplayInventory
|
||||
idc = 620;
|
||||
x = "26.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorText[] = { 0, 0, 0, 0.5 };
|
||||
};
|
||||
class SlotPrimaryUnderBarrel : SlotPrimary
|
||||
{
|
||||
idc = 641;
|
||||
x = "29 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "28.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorText[] = { 0, 0, 0, 0.5 };
|
||||
};
|
||||
class SlotPrimaryFlashlight : SlotPrimary
|
||||
{
|
||||
idc = 622;
|
||||
x = "31.4 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "30.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorText[] = { 0, 0, 0, 0.5 };
|
||||
};
|
||||
class SlotPrimaryOptics : SlotPrimary
|
||||
{
|
||||
idc = 621;
|
||||
x = "33.8 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "32.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorText[] = { 0, 0, 0, 0.5 };
|
||||
};
|
||||
class SlotPrimaryMagazineGL: SlotPrimary
|
||||
{
|
||||
idc = 644;
|
||||
x = "34.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorText[] = {0,0,0,0.5};
|
||||
};
|
||||
class SlotPrimaryMagazine : SlotPrimary
|
||||
{
|
||||
idc = 623;
|
||||
x = "36.2 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
x = "36.6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "9.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "2.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorText[] = { 0, 0, 0, 0.5 };
|
||||
};
|
||||
@ -3393,6 +3410,9 @@ class RscDisplayInventory
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
class RscDisplayInterrupt: RscStandardDisplay //convert to preprocessFileNumbers
|
||||
{
|
||||
onLoad = "[""onLoad"",_this,""RscDisplayInterrupt"",'GUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay'); _this call EPOCH_InterruptConfig;";
|
||||
|
@ -66,7 +66,7 @@ _checkConfigs = {
|
||||
} forEach (_x select 1);
|
||||
|
||||
_tooltip = format ["%1 >> %2 ",_dName,_tTip];
|
||||
_action = format ["[dyna_cursorTarget,%1] call EPOCH_upgradeBUILDv2; true call Epoch_dynamicMenuCleanup;",_forEachIndex];
|
||||
_action = format ["[dyna_cursorTarget,%1] call EPOCH_upgradeBUILD; true call Epoch_dynamicMenuCleanup;",_forEachIndex];
|
||||
|
||||
_buttonSettings pushBack [
|
||||
_icon,
|
||||
|
@ -421,7 +421,7 @@ class CfgPricing
|
||||
class SLAMDirectionalMine_Wire_Mag {price = 40;};
|
||||
class APERSTripMine_Wire_Mag {price = 30;};
|
||||
|
||||
|
||||
// Backpacks
|
||||
class B_AssaultPack_cbr {price = 10;};
|
||||
class B_AssaultPack_dgtl {price = 10;};
|
||||
class B_AssaultPack_khk {price = 10;};
|
||||
@ -430,32 +430,32 @@ class CfgPricing
|
||||
class B_AssaultPack_rgr {price = 10;};
|
||||
class B_AssaultPack_sgg {price = 10;};
|
||||
class B_AssaultPack_blk { price = 10; };
|
||||
class B_Carryall_cbr {price = 1;};
|
||||
class B_Carryall_khk {price = 10;};
|
||||
class B_Carryall_mcamo {price = 10;};
|
||||
class B_Carryall_ocamo {price = 10;};
|
||||
class B_Carryall_oli {price = 10;};
|
||||
class B_Carryall_oucamo {price = 10;};
|
||||
class B_FieldPack_blk {price = 10;};
|
||||
class B_FieldPack_cbr {price = 10;};
|
||||
class B_FieldPack_khk {price = 10;};
|
||||
class B_FieldPack_ocamo {price = 10;};
|
||||
class B_FieldPack_oli {price = 10;};
|
||||
class B_FieldPack_oucamo {price = 10;};
|
||||
class B_Kitbag_cbr {price = 10;};
|
||||
class B_Kitbag_mcamo {price = 10;};
|
||||
class B_Kitbag_rgr {price = 10;};
|
||||
class B_Kitbag_sgg {price = 10;};
|
||||
class B_Parachute {price = 15;};
|
||||
class B_TacticalPack_blk {price = 10;};
|
||||
class B_TacticalPack_mcamo {price = 10;};
|
||||
class B_TacticalPack_ocamo {price = 10;};
|
||||
class B_TacticalPack_oli {price = 10;};
|
||||
class B_TacticalPack_rgr {price = 10;};
|
||||
class smallbackpack_red_epoch {price = 10;};
|
||||
class smallbackpack_green_epoch {price = 10;};
|
||||
class smallbackpack_teal_epoch {price = 10;};
|
||||
class smallbackpack_pink_epoch {price = 10;};
|
||||
class B_Carryall_cbr {price = 40;};
|
||||
class B_Carryall_khk {price = 40;};
|
||||
class B_Carryall_mcamo {price = 40;};
|
||||
class B_Carryall_ocamo {price = 40;};
|
||||
class B_Carryall_oli {price = 40;};
|
||||
class B_Carryall_oucamo {price = 40;};
|
||||
class B_FieldPack_blk {price = 15;};
|
||||
class B_FieldPack_cbr {price = 15;};
|
||||
class B_FieldPack_khk {price = 15;};
|
||||
class B_FieldPack_ocamo {price = 15;};
|
||||
class B_FieldPack_oli {price = 15;};
|
||||
class B_FieldPack_oucamo {price = 15;};
|
||||
class B_Kitbag_cbr {price = 25;};
|
||||
class B_Kitbag_mcamo {price = 25;};
|
||||
class B_Kitbag_rgr {price = 25;};
|
||||
class B_Kitbag_sgg {price = 25;};
|
||||
class B_Parachute {price = 25;};
|
||||
class B_TacticalPack_blk {price = 20;};
|
||||
class B_TacticalPack_mcamo {price = 20;};
|
||||
class B_TacticalPack_ocamo {price = 20;};
|
||||
class B_TacticalPack_oli {price = 20;};
|
||||
class B_TacticalPack_rgr {price = 20;};
|
||||
class smallbackpack_red_epoch {price = 22;};
|
||||
class smallbackpack_green_epoch {price = 22;};
|
||||
class smallbackpack_teal_epoch {price = 22;};
|
||||
class smallbackpack_pink_epoch {price = 22;};
|
||||
|
||||
// Marksman DLC
|
||||
class U_O_FullGhillie_lsh { price = 7; };
|
||||
|
@ -100,3 +100,51 @@ class Land_Communication_F : House_F
|
||||
killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\Transmitter_Tower\Scripts\tower_ruins.sqf""};";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Increase Backpack storage limits to balance for changes since 1.54
|
||||
*/
|
||||
class Bag_Base;
|
||||
class B_AssaultPack_Base: Bag_Base
|
||||
{
|
||||
model = "\A3\weapons_f\Ammoboxes\bags\Backpack_Compact";
|
||||
descriptionShort = "Load: 360, Mass: 20";
|
||||
hiddenSelectionsTextures[] = {"\A3\weapons_f\ammoboxes\bags\data\backpack_compact_khk_co.paa"};
|
||||
maximumLoad = 360;
|
||||
mass = 20;
|
||||
};
|
||||
class B_FieldPack_Base: Bag_Base
|
||||
{
|
||||
model = "\A3\weapons_f\Ammoboxes\bags\Backpack_Gorod";
|
||||
descriptionShort = "Load: 400, Mass: 30";
|
||||
hiddenSelectionsTextures[] = {"\A3\weapons_f\ammoboxes\bags\data\backpack_gorod_cbr_co.paa"};
|
||||
maximumLoad = 400;
|
||||
mass = 30;
|
||||
};
|
||||
class B_TacticalPack_Base: Bag_Base
|
||||
{
|
||||
model = "\A3\weapons_f\Ammoboxes\bags\Backpack_Small";
|
||||
descriptionShort = "Load: 480, Mass: 40";
|
||||
hiddenSelectionsTextures[] = {"\A3\weapons_f\ammoboxes\bags\data\backpack_small_co.paa"};
|
||||
maximumLoad = 480;
|
||||
mass = 40;
|
||||
};
|
||||
class B_Kitbag_Base: Bag_Base
|
||||
{
|
||||
picture = "\A3\Weapons_F\ammoboxes\bags\data\ui\icon_B_C_Kitbag_rgr";
|
||||
descriptionShort = "Load: 520, Mass: 50";
|
||||
model = "\A3\weapons_f\Ammoboxes\bags\Backpack_Fast";
|
||||
hiddenSelectionsTextures[] = {"\A3\weapons_f\ammoboxes\bags\data\backpack_fast_rgr_co.paa"};
|
||||
maximumLoad = 520;
|
||||
mass = 50;
|
||||
};
|
||||
class B_Carryall_Base: Bag_Base
|
||||
{
|
||||
model = "\A3\weapons_f\Ammoboxes\bags\Backpack_Tortila";
|
||||
descriptionShort = "Load: 550, Mass: 60";
|
||||
picture = "\A3\Weapons_F\Ammoboxes\Bags\data\UI\icon_B_C_Tortila_khk.paa";
|
||||
hiddenSelectionsTextures[] = {"\A3\weapons_f\ammoboxes\bags\data\backpack_tortila_khk_co.paa"};
|
||||
maximumLoad = 550;
|
||||
mass = 60;
|
||||
};
|
||||
|
@ -2206,6 +2206,14 @@ class CfgWeapons
|
||||
class WeaponSlotsInfo;
|
||||
class GunParticles;
|
||||
};
|
||||
class Rifle_Long_Base_F: Rifle_Base_F
|
||||
{
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo
|
||||
{
|
||||
allowedSlots[] = {901};
|
||||
};
|
||||
};
|
||||
|
||||
class UGL_F;
|
||||
class Epoch_weapon_01_Base_F: Rifle_Base_F
|
||||
{
|
||||
@ -3080,13 +3088,7 @@ class CfgWeapons
|
||||
};
|
||||
};*/
|
||||
|
||||
class Rifle_Long_Base_F : Rifle_Base_F
|
||||
{
|
||||
class WeaponSlotsInfo : WeaponSlotsInfo
|
||||
{
|
||||
allowedSlots[] = {901};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class ItemRadio;
|
||||
class EpochRadio0 : ItemRadio {
|
||||
|
@ -30,7 +30,7 @@ class CfgPatches
|
||||
units[] = { "Epoch_Female_F", "Epoch_Male_F", "Epoch_Cloak_F", "Epoch_Sapper_F", "Epoch_Ent_Small_F", "Epoch_Ent_Med_F", "Epoch_Ent_Large_F", "Land_Test_House_01_F", "Land_Test_House_01_dam_F", "Land_Test_House_01_ruins_F", "Epoch_Test", "C_Test_Car_01_F", "C_Hatchback_01_EPOCH", "C_Hatchback_02_EPOCH", "C_Offroad_01_EPOCH", "C_Quadbike_01_EPOCH", "C_SUV_01_EPOCH", "C_Rubberboat_EPOCH", "C_Rubberboat_02_EPOCH", "C_Rubberboat_03_EPOCH", "C_Rubberboat_04_EPOCH", "C_Van_01_box_EPOCH", "C_Van_01_transport_EPOCH", "C_Boat_Civil_01_EPOCH", "C_Boat_Civil_01_police_EPOCH", "C_Boat_Civil_01_rescue_EPOCH", "B_Heli_Light_01_EPOCH", "B_Heli_Transport_01_EPOCH", "B_Heli_Transport_01_camo_EPOCH", "B_SDV_01_EPOCH", "B_MRAP_01_EPOCH", "B_Truck_01_transport_EPOCH", "B_Truck_01_covered_EPOCH", "B_Truck_01_mover_EPOCH", "B_Truck_01_box_EPOCH", "O_Truck_02_covered_EPOCH", "O_Truck_02_transport_EPOCH", "O_Truck_03_covered_EPOCH", "O_Truck_02_box_EPOCH", "O_Heli_Light_02_unarmed_EPOCH", "I_Heli_Transport_02_EPOCH", "I_Heli_light_03_unarmed_EPOCH", "O_Test_Tank_01", "Sword_SIM_EPOCH", "SapperHead_SIM_EPOCH", "SapperCorpse_SIM_EPOCH", "MetalFloor_SIM_EPOCH", "WoodRamp_SIM_EPOCH", "CinderWallHalf_SIM_EPOCH", "CinderWall_SIM_EPOCH", "CinderWallDoorway_SIM_EPOCH", "CinderWallSmallDoorway_SIM_EPOCH", "WoodFloor_SIM_EPOCH", "WoodFloorHalf_SIM_EPOCH", "WoodFloorQuarter_SIM_EPOCH", "WoodLargeWall_SIM_EPOCH", "WoodLargeWallCor_SIM_EPOCH", "WoodLargeWallDoorway_SIM_EPOCH", "WoodLargeWallDoor_SIM_EPOCH", "WoodLargeWallWin_SIM_EPOCH", "WoodSmallWallThird_SIM_EPOCH", "WoodStairs_SIM_EPOCH", "WoodLadder_SIM_EPOCH", "WoodStairsSans_SIM_EPOCH", "Shelf_SIM_EPOCH", "Chair_SIM_EPOCH", "ChairRed_SIM_EPOCH", "Filing_SIM_EPOCH", "Fridge_SIM_EPOCH", "Bed_SIM_EPOCH", "Couch_SIM_EPOCH", "Wardrobe_SIM_EPOCH", "Locker_SIM_EPOCH", "Cooker_SIM_EPOCH", "Pelican_SIM_EPOCH", "Land_SIM_EPOCH_WoodDoor_Base", "Land_SIM_EPOCH_WoodDoorLocked_Base", "CinderWallDoor_SIM_EPOCH_Base", "CinderWallDoorLocked_SIM_EPOCH_Base", "Land_SIM_EPOCH_WoodDoor", "Land_SIM_EPOCH_WoodDoorLocked", "Land_SIM_EPOCH_LargeWoodDoor", "Land_SIM_EPOCH_LargeWoodDoorLocked", "Land_SIM_EPOCH_GarageWoodDoor", "Land_SIM_EPOCH_GarageWoodDoorLocked", "CinderWallDoorLocked_SIM_EPOCH", "CinderWallDoor_SIM_EPOCH", "CinderWallDoorSmallLocked_SIM_EPOCH", "CinderWallDoorSmall_SIM_EPOCH", "Foundation_EPOCH", "Foundation_Ghost_EPOCH", "Sword_EPOCH", "MetalFloor_EPOCH", "WoodRamp_EPOCH", "CinderWallHalf_EPOCH", "CinderWall_EPOCH", "CinderWallDoorway_EPOCH", "CinderWallSmallDoorway_EPOCH", "WoodFloor_EPOCH", "WoodFloorHalf_EPOCH", "WoodFloorQuarter_EPOCH", "WoodLargeWall_EPOCH", "WoodLargeWallCor_EPOCH", "WoodLargeWallDoorway_EPOCH", "WoodLargeWallDoor_EPOCH", "WoodLargeWallWin_EPOCH", "WoodSmallWallThird_EPOCH", "WoodStairs_EPOCH", "WoodLadder_EPOCH", "WoodStairsSans_EPOCH", "Shelf_EPOCH", "Fridge_EPOCH", "Pelican_EPOCH", "BedProxy_EPOCH", "Bed_EPOCH", "CouchProxy_EPOCH", "Couch_EPOCH", "ChairProxy_EPOCH", "Chair_EPOCH", "ChairRed_EPOCH", "FilingProxy_EPOCH", "Filing_EPOCH", "Land_EPOCH_WoodDoor_Base", "Land_EPOCH_WoodDoorLocked_Base", "CinderWallDoor_EPOCH_Base", "CinderWallDoorLocked_EPOCH_Base", "Land_EPOCH_WoodDoor", "Land_EPOCH_WoodDoorLocked", "Land_EPOCH_LargeWoodDoor", "Land_EPOCH_LargeWoodDoorLocked", "Land_EPOCH_GarageWoodDoor", "Land_EPOCH_GarageWoodDoorLocked", "CinderWallDoorLocked_EPOCH", "CinderWallDoor_EPOCH", "CinderWallDoorSmallLocked_EPOCH", "CinderWallDoorSmall_EPOCH", "Poppy_EPOCH", "Land_WoodenBox_C_EPOCH", "Land_PaperBox_C_EPOCH", "centerplane_ui" };
|
||||
weapons[] = { "U_Test_uniform", "U_Test1_uniform", "V_F0_EPOCH", "V_F1_EPOCH", "V_F2_EPOCH", "V_F3_EPOCH", "V_F4_EPOCH", "V_F5_EPOCH", "V_F6_EPOCH", "V_F7_EPOCH", "V_1_EPOCH", "V_2_EPOCH", "V_3_EPOCH", "V_4_EPOCH", "V_5_EPOCH", "V_6_EPOCH", "V_7_EPOCH", "V_8_EPOCH", "V_9_EPOCH", "V_10_EPOCH", "V_11_EPOCH", "V_12_EPOCH", "V_13_EPOCH", "V_14_EPOCH", "V_15_EPOCH", "V_16_EPOCH", "V_17_EPOCH", "V_18_EPOCH", "V_19_EPOCH", "V_20_EPOCH", "V_21_EPOCH", "V_22_EPOCH", "V_23_EPOCH", "V_24_EPOCH", "V_25_EPOCH", "V_26_EPOCH", "V_27_EPOCH", "V_28_EPOCH", "V_29_EPOCH", "V_30_EPOCH", "V_31_EPOCH", "V_32_EPOCH", "V_33_EPOCH", "V_34_EPOCH", "V_35_EPOCH", "V_36_EPOCH", "V_37_EPOCH", "V_38_EPOCH", "V_39_EPOCH", "V_40_EPOCH", "H_F0_EPOCH", "H_F1_EPOCH", "H_F2_EPOCH", "H_F3_EPOCH", "H_F4_EPOCH", "H_F5_EPOCH", "H_11_EPOCH", "H_28_EPOCH", "Rollins_F", "ChainSaw", "ChainSawB", "ChainSawG", "ChainSawP", "ChainSawR", "MultiGun", "Drink", "MeleeSledge", "test_suppressor", "Defib_EPOCH", "Heal_EPOCH", "Repair_EPOCH", , "sr25_epoch", "sr25_ec_epoch", "muzzle_sr25S_epoch", "l85a2_base_epoch", "l85a2_epoch", "l85a2_ris_epoch", "l85a2_ris_ng_epoch", "l85a2_pink_epoch", "l85a2_ugl_epoch" };
|
||||
requiredVersion = 0.1;
|
||||
requiredAddons[] = { "a3_map_altis", "a3_map_stratis", "A3_epoch_assets_3", "a3_epoch_weapons", "epoch_objects", "A3_epoch_vehicles", "A3_epoch_assets_1", "A3_epoch_assets", "A3_Soft_F", "A3_Characters_F", "A3_Characters_F_Beta", "A3_Characters_F_EPA", "A3_Characters_F_EPB", "A3_Structures_F", "A3_Armor_F_Beta", "A3_Data_F", "A3_Weapons_F", "A3_Characters_F_Kart", "A3_Soft_F_Kart_Kart_01", "a2_epoch_weapons", "A3_Air_F_Gamma_UAV_01", "A3_Soft_F_Car", "A3_Soft_F_Heli_Car", "A3_Soft_F_Offroad_01", "A3_Soft_F_Quadbike", "A3_Soft_F_Heli_Quadbike", "A3_Soft_F_SUV", "A3_Soft_F_Heli_SUV", "A3_Boat_F_Boat_Transport_01", "A3_Soft_F_Truck", "A3_Soft_F_Heli_Truck", "A3_Soft_F_Bootcamp_Truck", "A3_Boat_F_Civilian_Boat", "A3_Air_F_Heli_Light_01", "A3_Air_F_Heli_Heli_Light_01", "A3_Air_F_Beta_Heli_Transport_01", "A3_Boat_F_SDV_01", "A3_Boat_F_Heli_SDV_01", "A3_Soft_F_MRAP_01", "A3_Soft_F_Heli_MRAP_01", "A3_Soft_F_HEMTT", "A3_Soft_F_Gamma_HEMTT", "A3_Soft_F_TruckHeavy", "A3_Soft_F_Gamma_TruckHeavy", "A3_Soft_F_EPC_Truck_03", "A3_Air_F_Heli_Light_02", "A3_Air_F_Beta_Heli_Transport_02", "A3_Air_F_EPB_Heli_Light_03", "A3_Air_F_Heli_Heli_Transport_04", "A3_Air_F_Heli_Heli_Transport_03", "A3_Animals_F_Dog", "A3_Animals_F_Rabbit", "A3_Animals_F_Chicken", "A3_Characters_F_Common", "A3_Structures_F_Ind_Transmitter_Tower", "a3_epoch_structures" };
|
||||
requiredAddons[] = { "a3_map_altis", "a3_map_stratis", "A3_epoch_assets_3", "a3_epoch_weapons", "epoch_objects", "A3_epoch_vehicles", "A3_epoch_assets_1", "A3_epoch_assets", "A3_Soft_F", "A3_Characters_F", "A3_Characters_F_Beta", "A3_Characters_F_EPA", "A3_Characters_F_EPB", "A3_Structures_F", "A3_Armor_F_Beta", "A3_Data_F", "A3_Weapons_F", "A3_Weapons_F_LongRangeRifles_M320", "A3_Weapons_F_LongRangeRifles_GM6","A3_Weapons_F_EBR", "A3_Weapons_F_EPA_LongRangeRifles_DMR_01", "A3_Weapons_F_Machineguns_M200", "A3_Weapons_F_Machineguns_Zafir", "A3_Weapons_F_Mark_LongRangeRifles_DMR_02", "A3_Weapons_F_Mark_LongRangeRifles_DMR_03", "A3_Weapons_F_Mark_LongRangeRifles_DMR_04", "A3_Weapons_F_Mark_LongRangeRifles_DMR_05", "A3_Weapons_F_Mark_LongRangeRifles_DMR_06","A3_Characters_F_Kart", "A3_Soft_F_Kart_Kart_01", "a2_epoch_weapons", "A3_Air_F_Gamma_UAV_01", "A3_Soft_F_Car", "A3_Soft_F_Heli_Car", "A3_Soft_F_Offroad_01", "A3_Soft_F_Quadbike", "A3_Soft_F_Heli_Quadbike", "A3_Soft_F_SUV", "A3_Soft_F_Heli_SUV", "A3_Boat_F_Boat_Transport_01", "A3_Soft_F_Truck", "A3_Soft_F_Heli_Truck", "A3_Soft_F_Bootcamp_Truck", "A3_Boat_F_Civilian_Boat", "A3_Air_F_Heli_Light_01", "A3_Air_F_Heli_Heli_Light_01", "A3_Air_F_Beta_Heli_Transport_01", "A3_Boat_F_SDV_01", "A3_Boat_F_Heli_SDV_01", "A3_Soft_F_MRAP_01", "A3_Soft_F_Heli_MRAP_01", "A3_Soft_F_HEMTT", "A3_Soft_F_Gamma_HEMTT", "A3_Soft_F_TruckHeavy", "A3_Soft_F_Gamma_TruckHeavy", "A3_Soft_F_EPC_Truck_03", "A3_Air_F_Heli_Light_02", "A3_Air_F_Beta_Heli_Transport_02", "A3_Air_F_EPB_Heli_Light_03", "A3_Air_F_Heli_Heli_Transport_04", "A3_Air_F_Heli_Heli_Transport_03", "A3_Animals_F_Dog", "A3_Animals_F_Rabbit", "A3_Animals_F_Chicken", "A3_Characters_F_Common", "A3_Structures_F_Ind_Transmitter_Tower", "a3_epoch_structures", "A3_Weapons_F_Ammoboxes" };
|
||||
magazines[] = { "30Rnd_test_mag", "5Rnd_rollins_mag", "CSGAS", "sledge_swing", "30Rnd_test_mag_Tracer", "EnergyPack", "1Rnd_Soda", "1Rnd_Food", "WoodLog_EPOCH", "PaintCanBlk", "PaintCanBlu", "PaintCanBrn", "PaintCanGrn", "PaintCanOra", "PaintCanPur", "PaintCanRed", "PaintCanTeal", "PaintCanYel" };
|
||||
ammo[] = { "B_EnergyPack", "B_Swing", "Sapper_Charge_Ammo", "SapperB_Charge_Ammo", "B_Soda", "B_Food", "B_Test_Caseless", "ChainSaw_Bullet", "SmokeShellCustom" };
|
||||
epochVersion = "0.3.6.0";
|
||||
|
@ -124,7 +124,7 @@ bis[] = {
|
||||
};
|
||||
epoch[] = {
|
||||
"epoch_localcleanup","epoch_client_publiceh","epoch_clientinit","epoch_oneachframe","epoch_masterloop","epoch_client_rejectplayer","epoch_clientrespawn","epoch_clientrevive","epoch_starttradereq","epoch_starttrade","epoch_traderequest","epoch_tradeloop","epoch_countdown",
|
||||
"epoch_fnc_selecttarget","epoch_fnc_selecttargetbuild","epoch_isbuildallowed","epoch_simulswap","epoch_staticmove","epoch_returnvector","epoch_upgradebuild","epoch_removebuild","epoch_startinteract","epoch_startinteractnpc","epoch_interactnpc","epoch_npctraderadd",
|
||||
"epoch_fnc_selecttarget","epoch_fnc_selecttargetbuild","epoch_isbuildallowed","epoch_simulswap","epoch_staticmove","BIS_fnc_returnVector","epoch_upgradebuild","epoch_removebuild","epoch_startinteract","epoch_startinteractnpc","epoch_interactnpc","epoch_npctraderadd",
|
||||
"epoch_npctraderadd2","epoch_npctraderadd3","epoch_startnpctradermenu","epoch_npctradermenufilter","epoch_startnpctrade","epoch_makep2ptrade","epoch_tradefilter","epoch_takecrypto","epoch_startbanktransfer","epoch_keydown","epoch_onchar",
|
||||
"epoch_fnc_playerdeath","epoch_fnc_playerfired","epoch_fnc_isinsidebuilding","epoch_fnc_weather","epoch_fnc_findsafepos","epoch_pushcustomvar","epoch_itempicture","epoch_itemdisplayname","epoch_fnc_findrandomposbehind","epoch_fnc_stringleft",
|
||||
"epoch_sortarraybydistance","epoch_client_earthquake","epoch_client_loadanimalbrain","epoch_client_biteplayer","epoch_client_repairvehicle","epoch_client_lockvehicle","epoch_client_fillvehicle","epoch_client_gearvehicle","epoch_mission_accept","epoch_mission_hover_uav",
|
||||
|
Loading…
Reference in New Issue
Block a user