mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
commit
ed29f4486d
@ -15,4 +15,4 @@ http://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Credits:
|
||||
=====
|
||||
https://github.com/EpochModTeam/Epoch/blob/master/CREDITS.md
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/CREDITS.md
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,7 @@
|
||||
// Anti Hack
|
||||
antihack_Enabled = true; // built-in Anti-Hack
|
||||
antihack_maxTravelDistance = 30; // anti-teleport max travel distance
|
||||
antihack_TPcenterDistance = 30; // anti-teleport distance from start
|
||||
antihack_cfgPatchesCheck = true; // cfgPatches (AddOn Check)
|
||||
antihack_PVSPrefix = "EPAH_"; // used to help whitelist pveh variables in BE without BEC and watchdog, leave blank to use no prefix.
|
||||
antihack_cfgPatchesMode[] = {2}; // 0 == BAN - 1 = LOG, 2 = KICK
|
||||
|
Binary file not shown.
@ -15,4 +15,4 @@ http://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Credits:
|
||||
=====
|
||||
https://github.com/EpochModTeam/Epoch/blob/master/CREDITS.md
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/CREDITS.md
|
||||
|
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.
@ -1 +1 @@
|
||||
5 "" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="Item(Map|GPS|Compass|Watch)" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-6](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_"
|
||||
5 "" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="(clown|pkin|wolf)_mask_epoch" !="Item(Map|GPS|Compass|Watch)" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-6](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_"
|
||||
|
@ -47,7 +47,7 @@
|
||||
7 displaySetEventHandler
|
||||
7 ctrlSetEventHandler !="_ctrlButtonOK ctrlseteventhandler [\"buttonclick\"," !="ctrlSetEventHandler ['LBDblClick', '_this call" !="_buttonRespawn ctrlseteventhandler [\"buttonclick\",\"with uinamespace do {['buttonRespawn'," !="_ctrl ctrlSetEventHandler [\"mouseEnter\"" !="_ctrlBtn ctrlSetEventHandler [\"MouseButtonDblClick\", _verAct];" !="_button_gen ctrlSetEventHandler [\"ButtonClick\",_btn_code + \"(uiNamespace getVariable [\""
|
||||
7 addMPEventHandler
|
||||
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !="player addeventhandler [\"PostReset\",{BIS_EnginePPReset = true;} ];" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" !="addEventHandler [\"HandleDamage\",bis_fnc_reviveOnPlayerHandleDamage];" !="_unit addEventHandler [\"FiredNear\", \"sapperHndl setFSMVariable" !="_smokeEH = _plyr addEventHandler [\"FiredNear\", \"airDropHandle setFSMVariable" !="_onContactEH = _currentTarget addEventHandler[\"EpeContactStart""
|
||||
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !="player addeventhandler [\"PostReset\",{BIS_EnginePPReset = true;} ];" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" !="addEventHandler [\"HandleDamage\",bis_fnc_reviveOnPlayerHandleDamage];" !="_unit addEventHandler [\"FiredNear\"" !="_smokeEH = _plyr addEventHandler [\"FiredNear\", \"airDropHandle setFSMVariable" !="_onContactEH = _currentTarget addEventHandler[\"EpeContactStart""
|
||||
7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="CBA_fnc_addDisplayHandler" !="_display displayAddEventHandler [\"MouseMoving" !="private _handler = _display displayAddEventHandler [_key, _code];"
|
||||
7 ctrlAddEventHandler !="_ctrlMap = _display displayctrl 101;\n_ctrlMap ctrladdeventhandler" !="_display displayctrl 21995;\n_assetsButton ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2406; \n_control ctrladdeventhandler [\"buttonclick\"," !="_display displayctrl 2400;\n_control ctrladdeventhandler [\"buttonclick\"," !="_ctrlTags ctrladdeventhandler [\"lbselchanged\"," !="_ButtonGeneral ctrladdeventhandler [\"buttonclick\"," !="_ctrlExecuteLocal ctrladdeventhandler [\"buttonclick\"," !="_bg ctrlAddEventHandler [\"MouseEnter\"," !="_container ctrlAddEventHandler [\"LBDblClick\",\"_this call EPOCH_itemInteractClick\"];" !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [\"ButtonDown\"" !="_control = _display displayctrl 105;\n_control ctrladdeventhandler [\"MouseButtonUp\""
|
||||
7 removeAllEventHandlers !"ctrlRemoveAllEventHandlers" !"displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" !="_zombie removeAllEventHandlers \"Hit\";" !="_zombie removeAllEventHandlers \"FiredNear\";"
|
||||
@ -59,7 +59,7 @@
|
||||
7 remoteControl !="fn_moduleRemoteControl.sqf" !="\"BIS_fnc_moduleRemoteControl\""
|
||||
7 drawIcon3D !="EPOCH_drawIcon3dStability" !="EPOCH_drawIcon3d" !="drawIcon3D[\"\x\addons\a3_epoch_code\Data\Member.paa\",_color,_pos,1,1,0,_text,1,0.025,\"PuristaMedium\"];\n}forEach EPOCH_ESP_TARGETS;" !="drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_stability],_color,(getPosATL EPOCH_stabilityTarget),5,5,0,\"\",1,0.05,\"PuristaMedium\"];" !="drawIcon3D[format[\"\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa\",_num],_color,_pos,4,4,0,\"\",1,0.05,\"PuristaMedium\"];" !="if (_condition) then {\ndrawIcon3D [_icon, _color, _position, _sizeX, _sizeY, _angle, _text," !="drawIcon3D [\"\A3\UI_F_MP_Mark\Data\Tasks\Misc\background.paa\"" !="drawIcon3D\n[\n(_x getVariable [\"bis_fnc_reviveGet3dIcons_textures" !="drawIcon3D[\"x\addons\a3_epoch_code\Data\UI\snap_ca.paa\""
|
||||
7 drawLine3D !="{\nfor [{_i = 1}, {_i < count _x}, {_i = _i + 1}] do {\ndrawLine3D [_x select (_i - 1), _x select _i, ((BIS_tracedShooter getVari"
|
||||
7 ctrlCreate !="_parent ctrlcreate [\"RscMessageBox\",2351];" !="_c = _dsp ctrlCreate [\"rmx_drag_RscActivePicture\", call epoch_getIDC];" !="_c = _dsp ctrlCreate [\"rmx_t1\", call epoch_getIDC];" !="ctrlCreate [\"RscProgress\",_idc + 1];" !="ctrlCreate [\"rmx_rscControlsGroup\"" !="_ListGroup = _display ctrlCreate [\"RscControlsGroupNoHScrollbars\"" !="ctrlCreate [_x,call _getIDC];" !="_mainGrp = _display ctrlCreate [\"Epoch_main_config_group\",_value];" !="ctrlCreate [\"RscControlsGroupNoScrollbars\",call epoch_getIDC];" !="ctrlCreate [\"rmx_rscPicture\",(66600 + _e)];" !="ctrlCreate [\"RscStructuredText\",call epoch_getIDC];" !="_bar = _display ctrlCreate [\"RscCustomProgress\"" !="_group = _dsp ctrlCreate [\"rscControlsGroup\", call Epoch_getIDC]" !="_control = _display ctrlCreate [\"RscControlsGroupNoScrollbars\", 5678910];"
|
||||
7 ctrlCreate !="_parent ctrlcreate [\"RscMessageBox\",2351];" !="_c = _dsp ctrlCreate [\"rmx_drag_RscActivePicture\", call epoch_getIDC];" !="_c = _dsp ctrlCreate [\"rmx_t1\", call epoch_getIDC];" !="ctrlCreate [\"RscProgress\",_idc + 1];" !="ctrlCreate [\"rmx_rscControlsGroup\"" !="_ListGroup = _display ctrlCreate [\"RscControlsGroupNoHScrollbars\"" !="ctrlCreate [_x,call _getIDC];" !="_mainGrp = _display ctrlCreate [\"Epoch_main_config_group\",_value];" !="ctrlCreate [\"RscControlsGroupNoScrollbars\",call epoch_getIDC];" !="ctrlCreate [\"rmx_rscPicture\",(66600 + _e)];" !="ctrlCreate [\"RscStructuredText\",call epoch_getIDC];" !="_bar = _display ctrlCreate [\"RscCustomProgress\"" !="_group = _dsp ctrlCreate [\"rmx_rscControlsGroup\", call Epoch_getIDC]" !="_control = _display ctrlCreate [\"RscControlsGroupNoScrollbars\", 5678910];"
|
||||
7 ctrlClassName
|
||||
7 ctrlModel
|
||||
7 ctrlModelDirection
|
||||
|
@ -2,7 +2,7 @@
|
||||
/*%FSM<HEAD>*/
|
||||
/*
|
||||
item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
||||
item1[] = {"FINISH",1,4346,-149.463196,1518.792480,-49.463196,1568.792480,0.000000,"FINISH"};
|
||||
item1[] = {"FINISH",1,250,-149.463196,1518.792480,-49.463196,1568.792480,0.000000,"FINISH"};
|
||||
item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
|
||||
item3[] = {"Version_Check",2,250,-25.000000,-75.000000,75.000000,-25.000000,0.000000,"Version Check"};
|
||||
item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
|
||||
@ -25,7 +25,7 @@ item20[] = {"ERROR_Server_not",2,250,275.000000,875.000000,375.000000,925.000000
|
||||
item21[] = {"",7,210,471.000000,895.999939,479.000000,904.000061,0.000000,""};
|
||||
item22[] = {"Timeout_No_Respo",4,218,125.000000,775.000000,225.000000,825.000000,0.000000,"Timeout" \n "No Response"};
|
||||
item23[] = {"Wrong_Server_Ver",4,218,125.000000,475.000000,225.000000,525.000000,10.000000,"Wrong" \n "Server Version"};
|
||||
item24[] = {"true",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"true"};
|
||||
item24[] = {"Player_In_Game",8,4314,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"Player" \n "In Game"};
|
||||
item25[] = {"ERROR_Wrong_Server",2,250,275.000000,475.000000,375.000000,525.000000,0.000000,"ERROR" \n "Wrong" \n "Server Version"};
|
||||
item26[] = {"Display_Message",4,218,600.000000,1150.000000,700.000000,1200.000000,0.000000,"" \n "Display Message" \n "Wait..."};
|
||||
item27[] = {"Setup_Player_Obj",2,250,-25.000000,975.000000,75.000000,1025.000000,0.000000,"Setup Player" \n "Object"};
|
||||
@ -183,8 +183,8 @@ link93[] = {82,76};
|
||||
link94[] = {83,16};
|
||||
link95[] = {83,22};
|
||||
link96[] = {84,31};
|
||||
globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-566.678223,916.507324,1906.129761,921.949097,1287,854,1};
|
||||
window[] = {2,-1,-1,-1,-1,923,-1524,-540,156,3,1305};
|
||||
globals[] = {0.000000,0,0,0,0,640,480,1,247,6316128,1,-320.898621,993.773193,1636.447266,764.085449,1287,854,1};
|
||||
window[] = {2,-1,-1,-1,-1,871,104,1088,104,3,1305};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@ -236,17 +236,7 @@ class FSM
|
||||
{
|
||||
name = "FINISH";
|
||||
itemno = 1;
|
||||
init = /*%FSM<STATEINIT""">*/"// setup display EH's" \n
|
||||
"{" \n
|
||||
" (findDisplay 46) displayAddEventHandler [_x,([""CfgEpochClient"", _x, """"] call EPOCH_fnc_returnConfigEntryV2)];" \n
|
||||
"} forEach ([""CfgEpochClient"", ""displayAddEventHandler"", []] call EPOCH_fnc_returnConfigEntryV2);" \n
|
||||
"" \n
|
||||
"// reset anim state" \n
|
||||
"player switchMove """";" \n
|
||||
"" \n
|
||||
"// setup Epoch Hud" \n
|
||||
"call epoch_dynamicHUD_start;" \n
|
||||
"[] spawn EPOCH_masterLoop;" \n
|
||||
init = /*%FSM<STATEINIT""">*/"[] spawn EPOCH_masterLoop;" \n
|
||||
"" \n
|
||||
"EPOCH_loginFSM = nil;" \n
|
||||
"EPOCH_playerLoginInit = nil;" \n
|
||||
@ -484,14 +474,14 @@ class FSM
|
||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||
class Links
|
||||
{
|
||||
/*%FSM<LINK "true">*/
|
||||
class true
|
||||
/*%FSM<LINK "Player_In_Game">*/
|
||||
class Player_In_Game
|
||||
{
|
||||
itemno = 24;
|
||||
priority = 0.000000;
|
||||
to="Setup_EH_s_and_H";
|
||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"getClientStateNumber > 8"/*%FSM</CONDITION""">*/;
|
||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||
};
|
||||
/*%FSM</LINK>*/
|
||||
@ -963,7 +953,7 @@ class FSM
|
||||
priority = 0.000000;
|
||||
to="FINISH";
|
||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"!(isNull (findDisplay 46)) && {preloadCamera _playerPos}"/*%FSM</CONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"preloadCamera _playerPos"/*%FSM</CONDITION""">*/;
|
||||
action=/*%FSM<ACTION""">*/"call compile _extraPayload;"/*%FSM</ACTION""">*/;
|
||||
};
|
||||
/*%FSM</LINK>*/
|
||||
@ -1433,4 +1423,4 @@ class FSM
|
||||
"Reject_without_B",
|
||||
};
|
||||
};
|
||||
/*%FSM</COMPILE>*/
|
||||
/*%FSM</COMPILE>*/
|
@ -27,7 +27,7 @@
|
||||
private ["_mName","_mrkr"];
|
||||
//[[[end]]]
|
||||
params [["_trgt", str(diag_tickTime)],["_mPos", position player],["_mShape","ICON"],["_mType","mil_dot"],["_mColor","ColorBlack"],["_mSize",[0.7,0.7]],["_mBrush",""],["_mDir",0],["_mText",""],["_mAlpha",1],["_mName",""]];
|
||||
diag_log format["Epoch: ADMIN: Creating marker at %1 called %2 (Params:%3).", _mPos, _trgt, _paramres];
|
||||
diag_log format["Epoch: DEBUG: Creating marker at %1 called %2 (Params:%3).", _mPos, _trgt, _this];
|
||||
|
||||
if(_mName == "")then{_mName = str(_trgt) + str(diag_tickTime);};
|
||||
_mrkr = createMarkerLocal [_mName, _mPos];
|
||||
|
@ -50,8 +50,8 @@ if (!isNull EPOCH_currentTarget && vehicle player == player) then {
|
||||
_icon = "\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa";
|
||||
_color = [100,0,_stability,1] call EPOCH_colorRange;
|
||||
};
|
||||
case 1: {
|
||||
_text = if (EPOCH_buildMode > 0) then[{_text}, { format ["Press (%1)",EPOCH_keysBuildMode1 call BIS_fnc_keyCode] }];
|
||||
case 1: {
|
||||
// _text = if (EPOCH_buildMode > 0) then[{_text}, { format ["Hold (%1)",EPOCH_keysBuildMode1 call BIS_fnc_keyCode] }];
|
||||
_stability = if (EPOCH_buildMode > 0) then[{_currentTarget getVariable["stability", 100]}, {100 - round(damage _currentTarget * 100)}];
|
||||
_icon = "\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa";
|
||||
_color = [100,0,_stability,1] call EPOCH_colorRange;
|
||||
@ -78,7 +78,7 @@ if (!isNull EPOCH_currentTarget && vehicle player == player) then {
|
||||
};
|
||||
case 4: {
|
||||
// Base Objects With Storage
|
||||
_text = if (EPOCH_buildMode > 0) then[{_text}, { format ["Press (%1) or (%2)",EPOCH_keysBuildMode1 call BIS_fnc_keyCode, ((actionKeys "Gear" select 0) call BIS_fnc_keyCode),_text] }];
|
||||
_text = if (EPOCH_buildMode > 0) then[{_text}, { format ["Hold (%1) or (%2)",EPOCH_keysAction call BIS_fnc_keyCode, ((actionKeys "Gear" select 0) call BIS_fnc_keyCode),_text] }];
|
||||
_stability = if (EPOCH_buildMode > 0) then[{_currentTarget getVariable["stability", 100]}, {100 - round(damage _currentTarget * 100)}];
|
||||
_icon = "\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa";
|
||||
_color = [100,0,_stability,1] call EPOCH_colorRange;
|
||||
|
@ -18,7 +18,7 @@ private ["_bomb","_config","_currentLimit","_disableAI","_driver","_grp","_index
|
||||
params ["_unitClass",["_trgt",player],["_doVariable",false]];
|
||||
|
||||
_bomb = objNull;
|
||||
diag_log format["DEBUG: Antagonist %1 Spawning on %2. Do variable: %3.", _unitClass, _trgt, _doVariable];
|
||||
// diag_log format["DEBUG: Antagonist %1 Spawning on %2. Do variable: %3.", _unitClass, _trgt, _doVariable];
|
||||
|
||||
if(random 100 < 6)then{
|
||||
[] execFSM "\x\addons\a3_epoch_code\System\Event_Air_Drop.fsm";
|
||||
|
@ -50,10 +50,7 @@ if !(isNull _object) then{
|
||||
{
|
||||
_recipeItem = _x;
|
||||
_recipeQty = 1;
|
||||
if (_x isEqualType[]) then{
|
||||
_recipeItem = _x select 0;
|
||||
_recipeQty = _x select 1;
|
||||
};
|
||||
_x params [["_recipeItem",_recipeItem],["_recipeQty",_recipeQty]];
|
||||
_recipeCount = _recipeCount + _recipeQty;
|
||||
_currentCount = { _x == _recipeItem } count _mags;
|
||||
if (_currentCount < _recipeQty) exitWith{
|
||||
@ -66,11 +63,7 @@ if !(isNull _object) then{
|
||||
{
|
||||
_recipeItem = _x;
|
||||
_recipeQty = 1;
|
||||
if (_x isEqualType[]) then{
|
||||
_x params ["_recipeItem","_recipeQty"];
|
||||
_recipeItem = _x select 0;
|
||||
_recipeQty = _x select 1;
|
||||
};
|
||||
_x params [["_recipeItem",_recipeItem],["_recipeQty",_recipeQty]];
|
||||
if ([_recipeItem, "CfgWeapons"] call EPOCH_fnc_isAny) then{
|
||||
_items = items player;
|
||||
_currentCount = { _x == _recipeItem } count _items;
|
||||
|
@ -23,11 +23,13 @@
|
||||
BOOL
|
||||
*/
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_alljammer","_buildingAllowed","_buildingCountLeader","_buildingCountLimit","_buildingCountPerMember","_buildingJammerRange","_bypassJammer","_c","_cfgBaseBuilding","_config","_isAllowed","_jammer","_jammerpergroup","_limitNearby","_maxbuildingheigh","_membercount","_minjammerdistance","_myPosATL","_nearestJammer","_obj","_objType","_objectCount","_ownedJammerExists","_range","_restricted","_restrictedArray","_restrictedLocations","_restrictedLocationsArray","_restrictedLocationsRange","_simulClass","_staticClass","_storagecountLeader","_storagecountPerMember"];
|
||||
private ["_alljammer","_buildingAllowed","_buildingCountLeader","_buildingCountLimit","_buildingCountPerMember","_buildingJammerRange","_bypassJammer","_c","_cfgBaseBuilding","_config","_isAllowed","_jammer","_jammerPerGroup","_limitNearby","_maxBuildingHeight","_membercount","_minjammerdistance","_myPosATL","_nearestJammer","_obj","_objType","_objectCount","_ownedJammerExists","_range","_restricted","_restrictedArray","_restrictedLocations","_restrictedLocationsArray","_restrictedLocationsRange","_simulClass","_staticClass","_storageCountLeader","_storageCountPerMember","_scl","_gcl","_storageCountLimit","_useGroupCountLimits","_ghostClass"];
|
||||
//[[[end]]]
|
||||
|
||||
_buildingAllowed = true;
|
||||
_ownedJammerExists = false;
|
||||
_scl = false;
|
||||
_gcl = true;
|
||||
_nearestJammer = objNull;
|
||||
|
||||
// reject building if in vehicle
|
||||
@ -38,21 +40,23 @@ _config = 'CfgEpochClient' call EPOCH_returnConfig;
|
||||
_cfgBaseBuilding = 'CfgBaseBuilding' call EPOCH_returnConfig;
|
||||
_buildingJammerRange = getNumber(_config >> "buildingJammerRange");
|
||||
_buildingCountLimit = getNumber(_config >> "buildingCountLimit");
|
||||
if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
|
||||
if (_buildingCountLimit == 0) then { _buildingCountLimit = 200; };
|
||||
|
||||
_storageCountLimit = getNumber(_config >> "storageCountLimit");
|
||||
_buildingCountLeader = getNumber(_config >> "buildingCountLeader");
|
||||
_buildingCountPerMember = getNumber(_config >> "buildingCountPerMember");
|
||||
_storagecountLeader = getNumber(_config >> "storagecountLeader");
|
||||
_storagecountPerMember = getNumber(_config >> "storagecountPerMember");
|
||||
_minjammerdistance = getNumber(_config >> "minJammerDistance");
|
||||
_maxbuildingheigh = getNumber(_config >> "maxBuildingHeigh");
|
||||
_jammerpergroup = getNumber(_config >> "JammerPerGroup");
|
||||
if (_buildingCountLeader == 0) then { _buildingCountLeader = _buildingCountLimit};
|
||||
if (_storagecountLeader == 0) then { _storagecountLeader = 100};
|
||||
if (_minjammerdistance == 0) then { _minjammerdistance = _buildingJammerRange*3};
|
||||
if (_maxbuildingheigh == 0) then { _maxbuildingheigh = 100};
|
||||
if (_jammerpergroup == 0) then { _jammerpergroup = 2};
|
||||
_storageCountLeader = getNumber(_config >> "storageCountLeader");
|
||||
_storageCountPerMember = getNumber(_config >> "storageCountPerMember");
|
||||
_minJammerDistance = getNumber(_config >> "minJammerDistance");
|
||||
_maxBuildingHeight = getNumber(_config >> "maxBuildingHeight");
|
||||
_jammerPerGroup = getNumber(_config >> "jammerPerGroup");
|
||||
if(getNumber(_config >> "useGroupCountLimits") == 0)then{_gcl=false};
|
||||
if(getNumber(_config >> "splitCountLimits") == 1)then{_scl=true};
|
||||
if(_buildingJammerRange == 0)then{_buildingJammerRange = 75};
|
||||
if(_buildingCountLimit == 0)then{_buildingCountLimit = 200};
|
||||
if(_buildingCountLeader == 0)then{_buildingCountLeader = _buildingCountLimit};
|
||||
if(_storageCountLeader == 0)then{_storageCountLeader = 100};
|
||||
if(_minJammerDistance == 0)then{_minJammerDistance = _buildingJammerRange*3};
|
||||
if(_maxBuildingHeight == 0)then{_maxBuildingHeight = 100};
|
||||
if(_jammerPerGroup == 0)then{_jammerPerGroup = 2};
|
||||
|
||||
// input
|
||||
params ["_objType"];
|
||||
@ -64,6 +68,7 @@ if (_objType isEqualType objNull) then {
|
||||
|
||||
_staticClass = getText(_cfgBaseBuilding >> _objType >> "staticClass");
|
||||
_simulClass = getText(_cfgBaseBuilding >> _objType >> "simulClass");
|
||||
_ghostClass = getText(_cfgBaseBuilding >> _objType >> "GhostPreview");
|
||||
_bypassJammer = getNumber(_cfgBaseBuilding >> _staticClass >> "bypassJammer");
|
||||
|
||||
// Jammer
|
||||
@ -77,49 +82,67 @@ if !(_jammer isEqualTo []) then {
|
||||
};
|
||||
} foreach _jammer;
|
||||
} else {
|
||||
|
||||
{
|
||||
if (alive _x && (_x distance player) <= _buildingJammerRange) exitWith{
|
||||
_nearestJammer = _x;
|
||||
};
|
||||
} foreach _jammer;
|
||||
|
||||
if !(isNull _nearestJammer) then {
|
||||
if ((getposatl player) select 2 < _maxbuildingheigh) then {
|
||||
if ((_nearestJammer getVariable["BUILD_OWNER", "-1"]) in[getPlayerUID player, Epoch_my_GroupUID]) then {
|
||||
_ownedJammerExists = true;
|
||||
} else {
|
||||
if ((getPosATL player) select 2 < _maxBuildingHeight) then {
|
||||
if ((_nearestJammer getVariable["BUILD_OWNER", "-1"]) in[getPlayerUID player, Epoch_my_GroupUID]) then {
|
||||
_ownedJammerExists = true;
|
||||
} else {
|
||||
_buildingAllowed = false;
|
||||
["Building Disallowed: Frequency Blocked", 5] call Epoch_message;
|
||||
};
|
||||
if(_gcl)then{
|
||||
_membercount = 0;
|
||||
if(count Epoch_my_Group > 0)then{_membercount = count (Epoch_my_Group select 3) + count (Epoch_my_Group select 4)}
|
||||
};
|
||||
if(_objType in ["WorkBench_EPOCH","StorageShelf_EPOCH","Tipi_EPOCH","LockBox_EPOCH","Safe_EPOCH","StorageShelf_SIM_EPOCH","LockBox_SIM_EPOCH","Safe_SIM_EPOCH","Workbench_SIM_EPOCH","Tipi_SIM_EPOCH"])then[{
|
||||
if(_scl)then{
|
||||
if(_gcl)then{
|
||||
_storageCountLimit = _storageCountLeader + (_storageCountPerMember * _membercount);
|
||||
if((_storageCountLeader + _storageCountPerMember) > _storageCountLimit)then{_storageCountLimit = _storageCountLeader}
|
||||
};
|
||||
if((count nearestObjects[_nearestJammer,["Buildable_Storage","Constructions_lockedstatic_F",_ghostClass],_buildingJammerRange]) >= _storageCountLimit)then{
|
||||
_buildingAllowed = false;
|
||||
[format["Building Disallowed: Max. %1 Storage Objects",_storageCountLimit],5] call Epoch_message
|
||||
}
|
||||
}else{
|
||||
if(_gcl)then{_buildingCountLimit = _buildingCountLeader + (_buildingCountPerMember * _membercount)};
|
||||
if((count nearestObjects[_nearestJammer,["Buildable_Storage","Constructions_lockedstatic_F","Constructions_static_F","Constructions_foundation_F",_ghostClass],_buildingJammerRange]) >= _buildingCountLimit)then{
|
||||
_buildingAllowed = false;
|
||||
[format["Building Disallowed, Frequency Overloaded: Limit %1",_buildingCountLimit],5] call Epoch_message
|
||||
}
|
||||
}
|
||||
},{
|
||||
//a try to prevent bugusing (TODO: not working for storage objects atm)
|
||||
if((count nearestObjects[_nearestJammer,[_ghostClass],_buildingJammerRange]) >= 2)exitWith{ //setting this too low may not be player-friendly. Recommend: >= 2
|
||||
_buildingAllowed = false;
|
||||
["Building Disallowed: Frequency Unstable, Wait A Moment",5] call Epoch_message
|
||||
};
|
||||
|
||||
if(_gcl)then{_buildingCountLimit = _buildingCountLeader + (_buildingCountPerMember * _membercount)};
|
||||
if(_scl)then{
|
||||
if((count nearestObjects[_nearestJammer,["Constructions_static_F","Constructions_foundation_F",_ghostClass],_buildingJammerRange]) >= (_buildingCountLimit +1))then{
|
||||
_buildingAllowed = false;
|
||||
[format["Building Disallowed: Max. %1 Constructions",_buildingCountLimit],5] call Epoch_message
|
||||
}
|
||||
}else{
|
||||
if((count nearestObjects[_nearestJammer,["Buildable_Storage","Constructions_lockedstatic_F","Constructions_static_F","Constructions_foundation_F",_ghostClass],_buildingJammerRange]) >= (_buildingCountLimit +1))then{
|
||||
_buildingAllowed = false;
|
||||
[format["Building Disallowed: Frequency Overloaded: Limit %1",_buildingCountLimit],5] call Epoch_message
|
||||
}
|
||||
}
|
||||
}]
|
||||
}else{
|
||||
_buildingAllowed = false;
|
||||
["Building Disallowed: Frequency Blocked", 5] call Epoch_message;
|
||||
["Building Disallowed: Max building height reached",5] call Epoch_message;
|
||||
};
|
||||
_objectCount = count nearestObjects[_nearestJammer, ["Constructions_static_F"], _buildingJammerRange];
|
||||
|
||||
_membercount = 0;
|
||||
if (count Epoch_my_Group > 0) then {
|
||||
_membercount = count (Epoch_my_Group select 3) + count (Epoch_my_Group select 4);
|
||||
};
|
||||
if (_objType in ["WorkBench_EPOCH","StorageShelf_EPOCH","Tipi_EPOCH","LockBox_EPOCH","Safe_EPOCH","StorageShelf_SIM_EPOCH","LockBox_SIM_EPOCH","Safe_SIM_EPOCH","Workbench_SIM_EPOCH","Tipi_SIM_EPOCH"]) then {
|
||||
_buildingCountLimit = _storagecountLeader + _storagecountPerMember*_membercount;
|
||||
_objectCount = count nearestObjects[_nearestJammer, ["Buildable_Storage","Constructions_lockedstatic_F"], _buildingJammerRange];
|
||||
}
|
||||
else {
|
||||
_buildingCountLimit = _buildingCountLeader + _buildingCountPerMember*_membercount;
|
||||
_objectCount = count nearestObjects[_nearestJammer, ["Constructions_static_F","Constructions_foundation_F"], _buildingJammerRange];
|
||||
};
|
||||
|
||||
if (_objectCount >= _buildingCountLimit) then {
|
||||
_buildingAllowed = false;
|
||||
[format["Building Disallowed: Frequency Overloaded: Limit %1", _buildingCountLimit], 5] call Epoch_message;
|
||||
};
|
||||
}
|
||||
else {
|
||||
_buildingAllowed = false;
|
||||
["Building Disallowed: Max building heigh reached", 5] call Epoch_message;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
else {
|
||||
}else{
|
||||
if (_objType in ["PlotPole_EPOCH", "PlotPole_SIM_EPOCH"]) then {
|
||||
// TODO: rework not ideal to use allmissionobjects
|
||||
_alljammer = allmissionobjects 'PlotPole_EPOCH';
|
||||
@ -129,9 +152,9 @@ else {
|
||||
_c = _c+1;
|
||||
};
|
||||
} foreach _alljammer;
|
||||
if (_c >= _jammerpergroup) then {
|
||||
if (_c >= _jammerPerGroup) then {
|
||||
_buildingAllowed = false;
|
||||
[format["Building Disallowed: Max %1 Jammer per Group!", _jammerpergroup], 5] call Epoch_message;
|
||||
[format["Building Disallowed: Max %1 Jammer per Group!", _jammerPerGroup], 5] call Epoch_message;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -154,7 +177,7 @@ if (!_ownedJammerExists) then{
|
||||
if !(_buildingAllowed)exitWith{ false };
|
||||
|
||||
// require jammer check if not found as owner of jammer
|
||||
if (getNumber(_config >> "buildingRequireJammer") == 0 && _bypassJammer == 0) then{
|
||||
if (getNumber(_config >> "buildingRequireJammer") == 1 && _bypassJammer == 0) then{
|
||||
if !(_objType in ["PlotPole_EPOCH", "PlotPole_SIM_EPOCH"]) then {
|
||||
_buildingAllowed = _ownedJammerExists;
|
||||
if !(_buildingAllowed) then {
|
||||
|
@ -26,7 +26,7 @@
|
||||
BOOL
|
||||
*/
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_currentPos","_disableBuildMode","_handled"];
|
||||
private ["_currentPos","_handled"];
|
||||
//[[[end]]]
|
||||
params ["_display","_dikCode","_shift","_ctrl","_alt"];
|
||||
|
||||
@ -36,10 +36,6 @@ if !(alive player) exitWith{ false };
|
||||
|
||||
EPOCH_doRotate = false;
|
||||
|
||||
if (_dikCode in [0x02,0x03,0x04,0x58,0x57,0x44,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05,0x0E]) then {
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
// increase vol
|
||||
if (_ctrl && _dikCode == EPOCH_keysVolumeUp) then {
|
||||
EPOCH_soundLevel = (EPOCH_soundLevel + 0.1) min 1;
|
||||
@ -99,45 +95,16 @@ if (_dikCode == EPOCH_keysAction) then {
|
||||
|
||||
// Player only code
|
||||
if (vehicle player == player) then {
|
||||
_disableBuildMode = {
|
||||
EPOCH_buildMode = 0;
|
||||
|
||||
if (_dikCode == EPOCH_keysBuildMode1 && EPOCH_buildMode > 0) then {
|
||||
EPOCH_buildMode = 0;
|
||||
EPOCH_snapDirection = 0;
|
||||
["Build Mode Disabled", 5] call Epoch_message;
|
||||
["Build Mode: Disabled", 5] call Epoch_message;
|
||||
EPOCH_Target = objNull;
|
||||
EPOCH_Z_OFFSET = 0;
|
||||
EPOCH_X_OFFSET = 0;
|
||||
EPOCH_Y_OFFSET = 5;
|
||||
};
|
||||
if (_dikCode == EPOCH_keysBuildMode1) then {
|
||||
if (EPOCH_buildMode == 1) then {
|
||||
call _disableBuildMode;
|
||||
} else {
|
||||
if (EPOCH_playerEnergy > 0) then {
|
||||
EPOCH_stabilityTarget = objNull;
|
||||
EPOCH_buildMode = 1;
|
||||
["Build Mode Enabled: Snap alignment", 5] call Epoch_message;
|
||||
EPOCH_buildDirection = 0;
|
||||
} else {
|
||||
["Need Energy", 5] call Epoch_message;
|
||||
};
|
||||
};
|
||||
_handled = true;
|
||||
};
|
||||
if (_dikCode == EPOCH_keysBuildMode2) then {
|
||||
if (EPOCH_buildMode == 2) then {
|
||||
call _disableBuildMode;
|
||||
} else {
|
||||
if (EPOCH_playerEnergy > 0) then {
|
||||
EPOCH_stabilityTarget = objNull;
|
||||
EPOCH_buildMode = 2;
|
||||
["Build Mode Enabled: Free", 5] call Epoch_message;
|
||||
EPOCH_buildDirection = 0;
|
||||
}
|
||||
else {
|
||||
["Need Energy", 5] call Epoch_message;
|
||||
};
|
||||
};
|
||||
_handled = true;
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
// H - holster unholster
|
||||
@ -156,18 +123,6 @@ if (vehicle player == player) then {
|
||||
};
|
||||
|
||||
if (EPOCH_buildMode > 0) then {
|
||||
if (_dikCode == EPOCH_keysBuildDir) then {
|
||||
EPOCH_snapDirection = EPOCH_snapDirection + 1;
|
||||
if (EPOCH_snapDirection > 3) then {
|
||||
EPOCH_snapDirection = 0;
|
||||
["SNAP DIRECTION MODE: 0", 5] call Epoch_message;
|
||||
}
|
||||
else {
|
||||
[format["SNAP DIRECTION MODE: %1", EPOCH_snapDirection], 5] call Epoch_message;
|
||||
};
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
if (!_ctrl) then {
|
||||
switch (_dikCode) do {
|
||||
case EPOCH_keysBuildMovUp: { EPOCH_Z_OFFSET = (EPOCH_Z_OFFSET + 0.1) min 6; _handled = true };
|
||||
|
@ -36,9 +36,9 @@ _keyMap =
|
||||
["Volume + (ctrl)","EPOCH_keysVolumeUp",0x0D],
|
||||
["Volume - (ctrl)","EPOCH_keysVolumeDown",0x0C],
|
||||
["Build: Mode 1", "EPOCH_keysBuildMode1", 2],
|
||||
["Build: Mode 2", "EPOCH_keysBuildMode2", 3],
|
||||
["Build: Direction", "EPOCH_keysBuildDir", 4],
|
||||
//["Build: Static", "EPOCH_keysBuildStatic", 5],
|
||||
// ["Build: Mode 2", "EPOCH_keysBuildMode2", 3],
|
||||
// ["Build: Direction", "EPOCH_keysBuildDir", 4],
|
||||
// ["Build: Static", "EPOCH_keysBuildStatic", 5],
|
||||
["Build: Move UP", "EPOCH_keysBuildMovUp", 0xC9],
|
||||
["Build: Move DOWN", "EPOCH_keysBuildMovDn", 0xD1],
|
||||
["Build: Move FORWARD", "EPOCH_keysBuildMovFwd", 0xC7],
|
||||
|
@ -91,9 +91,8 @@ EPOCH_currentTargetMode = _currentTargetMode;
|
||||
_forceUpdate = "forceUpdate" in _criticalAttributes;
|
||||
_forceFatigue = "forceFatigue" in _criticalAttributes;
|
||||
_forceBloodRise = "forceBloodRise" in _criticalAttributes;
|
||||
[_curCtrl,0.55] call epoch_2DCtrlHeartbeat;
|
||||
};
|
||||
|
||||
[_curCtrl,_critical] call _scaleUI;
|
||||
// todo make this reversable or even limited to a color range.
|
||||
_color = [_playerLimitMin,_playerLimitMax,_currentVarVal,1] call EPOCH_colorRange;
|
||||
_curCtrl ctrlSetTextColor _color;
|
||||
|
@ -10,7 +10,7 @@ if (EPOCH_mod_Ryanzombies_Enabled) then {
|
||||
if (random EPOCH_sapperRndChance < _spawnChance) then {
|
||||
"Epoch_Sapper_F" call EPOCH_unitSpawnIncrease;
|
||||
};
|
||||
diag_log format["DEBUG: _spawnChance %1",_spawnChance];
|
||||
// diag_log format["DEBUG: _spawnChance %1",_spawnChance];
|
||||
|
||||
_spawnUnits = [];
|
||||
{
|
||||
|
@ -1,3 +1,13 @@
|
||||
// make sure we wait for Display #46
|
||||
waitUntil {!(isNull (findDisplay 46))};
|
||||
// setup display EH's
|
||||
{
|
||||
(findDisplay 46) displayAddEventHandler [_x,(["CfgEpochClient", _x, ""] call EPOCH_fnc_returnConfigEntryV2)];
|
||||
} forEach (["CfgEpochClient", "displayAddEventHandler", []] call EPOCH_fnc_returnConfigEntryV2);
|
||||
// reset anim state
|
||||
player switchMove "";
|
||||
// setup Epoch Hud
|
||||
call epoch_dynamicHUD_start;
|
||||
|
||||
_prevEquippedItem = [];
|
||||
_damagePlayer = damage player;
|
||||
@ -113,26 +123,6 @@ _fadeUI = {
|
||||
};
|
||||
_bool
|
||||
};
|
||||
_scaleUI = {
|
||||
params ["_ctrl","_bool"];
|
||||
private _oemScale = _ctrl getVariable ["ctrl_scale", 1];
|
||||
private _curScale = ctrlScale _ctrl;
|
||||
if (_bool) then {
|
||||
if (_curScale isEqualTo _oemScale) then {
|
||||
_ctrl ctrlSetScale (_oemScale - 0.1);
|
||||
_ctrl ctrlCommit 0.5;
|
||||
} else {
|
||||
_ctrl ctrlSetScale _oemScale;
|
||||
_ctrl ctrlCommit 0.5;
|
||||
};
|
||||
} else {
|
||||
if !(_curScale isEqualTo _oemScale) then {
|
||||
_ctrl ctrlSetScale _oemScale;
|
||||
_ctrl ctrlCommit 0.5;
|
||||
};
|
||||
};
|
||||
_bool
|
||||
};
|
||||
|
||||
_cursorTarget = objNull;
|
||||
|
||||
|
@ -0,0 +1,62 @@
|
||||
/*
|
||||
Author: Raimonds Virtoss - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Gives (imploding) heartbeat animation to your 2D GUI element along it's center.
|
||||
|
||||
_control (mandatory): control to animate;
|
||||
_scale (optional): scale of the beat 0.1 - 0.9
|
||||
Safe values: 0.1 - 0.7
|
||||
Best values: 0.55, 0.7
|
||||
_times (optional): Repeat animation N times
|
||||
_delay (optional): Delay between animation repeats
|
||||
_beats (optional): amount of heart beats per animation cycle
|
||||
Best value: 2 (default)
|
||||
_speed (optional): speed of animation, higher speed = longer animation
|
||||
Best value: 0.04 (default)
|
||||
|
||||
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/release/Sources/epoch_code/gui/scripts/animations/Epoch_2DCtrlHeartbeat.sqf
|
||||
|
||||
Usage:
|
||||
[_control] call epoch_2DCtrlHeartbeat; //default (best values) 2x fast heartbeats
|
||||
[_control, 0.55] call epoch_2DCtrlHeartbeat; // 2x deep heartbeats (also really nice, has a growing/breathing effect after 2 beats)
|
||||
[_control, 0.7, 5, 2] call epoch_2DCtrlHeartbeat; // 2x fast normal beats repeated 5 times every 2 seconds
|
||||
[_control, 0.7, 1, 1, 3, 0.01] call epoch_2DCtrlHeartbeat; // 3x super fast beats played once
|
||||
|
||||
*/
|
||||
_this spawn {
|
||||
disableSerialization;
|
||||
private ["_ctrl","_scale","_times","_delay","_beats","_speed","_t","_b"];
|
||||
|
||||
_ctrl = param [0, controlNull,[controlNull]];
|
||||
_scale = param [1,0.7,[0]];
|
||||
_times = param [2,1,[0]];
|
||||
_delay = param [3,1.2,[0]];
|
||||
_beats = param [4,2,[0]];
|
||||
_speed = param [5,0.04,[0]];
|
||||
|
||||
if (_ctrl isEqualTo controlNull) exitWith {false};
|
||||
_speed = 0.1;
|
||||
for "_t" from 0 to (_times - 1) do {
|
||||
[_ctrl,_scale + _scale/2,_speed] call BIS_fnc_ctrlSetScale;
|
||||
uiSleep _speed;
|
||||
for "_b" from 0 to (_beats - 1) do {
|
||||
[_ctrl,_scale,_speed] call BIS_fnc_ctrlSetScale;
|
||||
uiSleep _speed;
|
||||
[_ctrl,_scale + _scale/2,_speed] call BIS_fnc_ctrlSetScale;
|
||||
uiSleep _speed;
|
||||
};
|
||||
[_ctrl,1,_delay] call BIS_fnc_ctrlSetScale;
|
||||
uiSleep _delay;
|
||||
};
|
||||
|
||||
true
|
||||
};
|
||||
|
||||
true
|
@ -0,0 +1,61 @@
|
||||
/*
|
||||
Author: Raimonds Virtoss - EpochMod.com
|
||||
|
||||
Contributors:
|
||||
|
||||
Description:
|
||||
Gives shake animation to your 2D GUI element along it's center.
|
||||
|
||||
_control (mandatory): control to animate;
|
||||
_speed (optional): speed of animation, higher values equals to faster animation. Should be less than degrees to avoid glitches!
|
||||
_shakes (optional): amount of shakes, more shakes = longer animation.
|
||||
_degrees (optional): rotation degrees 0 to 360.
|
||||
|
||||
Shake animation sequence:
|
||||
0 > -degrees
|
||||
-degrees > +degrees
|
||||
+degrees > 0
|
||||
|
||||
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/release/Sources/epoch_code/gui/scripts/animations/Epoch_2DCtrlShake.sqf
|
||||
|
||||
Usage:
|
||||
[_control] call epoch_2DCtrlShake; //default 3 fast shakes
|
||||
[_control, 10, 12] call epoch_2DCtrlShake; //12 very fast shakes
|
||||
[_control, 2, 5, 90] call epoch_2DCtrlShake; // 5 very slow 90 degree shakes
|
||||
|
||||
*/
|
||||
_this spawn {
|
||||
disableSerialization;
|
||||
private ["_ctrl","_speed","_shakes","_degrees","_s","_d"];
|
||||
_ctrl = param [0, controlNull,[controlNull]];
|
||||
_speed = param [1,5,[0]];
|
||||
_shakes = param [2,3,[0]];
|
||||
_degrees = param [3,10,[0]];
|
||||
|
||||
if (_ctrl isEqualTo controlNull) exitWith {false};
|
||||
|
||||
for "_s" from 0 to (_shakes - 1) do {
|
||||
|
||||
for "_d" from 0 to _degrees step _speed do {
|
||||
_ctrl ctrlSetAngle [_d * -1,0.5,0.5];
|
||||
uiSleep 0.01;
|
||||
};
|
||||
for "_d" from (_degrees * -1) to _degrees step _speed do {
|
||||
_ctrl ctrlSetAngle [_d,0.5,0.5];
|
||||
uiSleep 0.01;
|
||||
};
|
||||
for "_d" from 0 to _degrees step _speed do {
|
||||
_ctrl ctrlSetAngle [_degrees - _d,0.5,0.5];
|
||||
uiSleep 0.01;
|
||||
};
|
||||
_ctrl ctrlSetAngle [0,0.5,0.5]; // just in case given params are not balanced
|
||||
};
|
||||
|
||||
true
|
||||
};
|
||||
|
||||
true
|
@ -19,7 +19,7 @@ private ["_angle","_arraySize","_c","_cPos","_center","_cfg","_classname","_conf
|
||||
_cfg = "rmx_dynamicHUD" call EPOCH_returnConfig;
|
||||
_configs = "true" configClasses _cfg;
|
||||
|
||||
diag_log format ["Epoch_dynamicHUD_start: %1", _configs];
|
||||
// diag_log format ["Epoch_dynamicHUD_start: %1", _configs];
|
||||
|
||||
setMousePosition [0.5,0.5];
|
||||
|
||||
@ -27,7 +27,7 @@ disableSerialization;
|
||||
_dsp = findDisplay 46;
|
||||
|
||||
{
|
||||
_group = _dsp ctrlCreate ["rscControlsGroup", call Epoch_getIDC];
|
||||
_group = _dsp ctrlCreate ["rmx_rscControlsGroup", call Epoch_getIDC];
|
||||
rmx_var_dynamicHUD_groups set [_forEachIndex, _group];
|
||||
|
||||
_defaultPopulate = getNumber (_x >> "defaultPopulate");
|
||||
|
@ -8,7 +8,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/Epoch_dynamicText.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/messaging/Epoch_message.sqf
|
||||
|
||||
Usage:
|
||||
"TEST" call Epoch_message
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/Epoch_dynamicText.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/messaging/Epoch_message_old1.sqf
|
||||
|
||||
Usage:
|
||||
"TEST" call Epoch_message_old1
|
||||
|
@ -8,7 +8,7 @@
|
||||
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/gui/scripts/Epoch_dynamicText.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/messaging/Epoch_message_old2.sqf
|
||||
|
||||
Usage:
|
||||
"TEST" call Epoch_message_old2
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessCreate.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessAdjust.sqf
|
||||
|
||||
Params: [Handle, speed integer, Effect array]
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/post_process/Epoch_dynamicMenuPopulate.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessCreate.sqf
|
||||
|
||||
Params: [Name of PP, Priority]
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessDestroy.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessDestroy.sqf
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessDestroy.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/post_process/Epoch_setDrunk.sqf
|
||||
|
||||
Usage:
|
||||
0.5 call epoch_setDrunk;
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessDestroy.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/post_process/Epoch_setRadiation.sqf
|
||||
|
||||
Usage:
|
||||
0.5 call epoch_setRadiation;
|
||||
|
@ -10,7 +10,7 @@
|
||||
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/release/Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DCooldownEH.sqf
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DModelPos.sqf
|
||||
|
||||
Example:
|
||||
[_object, _time, _image, _text, _objectSpace, _distance, _externalBool] call epoch_gui3dModelPos;
|
||||
|
@ -18,7 +18,7 @@ private ["_antagonistSpawnDefaults","_customVarsInit","_say3dsounds","_say3dsoun
|
||||
|
||||
// detect if Ryan's Zombies and Deamons mod is present
|
||||
if (["CfgEpochClient", "ryanZombiesEnabled", false] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||
EPOCH_mod_Ryanzombies_Enabled = (parseNumber (getText (configFile >> "CfgPatches" >> "Ryanzombies" >> "version")) >= 4.2);
|
||||
EPOCH_mod_Ryanzombies_Enabled = (parseNumber (getText (configFile >> "CfgPatches" >> "Ryanzombies" >> "version")) >= 4.5);
|
||||
if (EPOCH_mod_Ryanzombies_Enabled) then {
|
||||
diag_log "Epoch: Ryanzombies detected";
|
||||
};
|
||||
|
@ -48,3 +48,54 @@ class player_group_requests
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\group_requests_ca.paa";
|
||||
tooltip = "Group Requests";
|
||||
};
|
||||
|
||||
class base_mode_enable
|
||||
{
|
||||
condition = "EPOCH_buildMode in [0,2] && EPOCH_playerEnergy > 0";
|
||||
action = "EPOCH_stabilityTarget = objNull;EPOCH_buildMode = 1;['Build Mode: Enabled Snap alignment', 5] call Epoch_message;EPOCH_buildDirection = 0;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_maintain.paa";
|
||||
tooltip = "Build Mode: Snap alignment";
|
||||
};
|
||||
class base_mode_enable_free
|
||||
{
|
||||
condition = "EPOCH_buildMode == 1 && EPOCH_playerEnergy > 0";
|
||||
action = "EPOCH_stabilityTarget = objNull;EPOCH_buildMode = 2;['Build Mode: Enabled Free alignment', 5] call Epoch_message;EPOCH_buildDirection = 0;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_maintain.paa";
|
||||
tooltip = "Build Mode: Free alignment";
|
||||
};
|
||||
class base_mode_disable
|
||||
{
|
||||
condition = "EPOCH_buildMode > 0";
|
||||
action = "EPOCH_buildMode = 0;EPOCH_snapDirection = 0;['Build Mode: Disabled', 5] call Epoch_message;EPOCH_Target = objNull;EPOCH_Z_OFFSET = 0;EPOCH_X_OFFSET = 0;EPOCH_Y_OFFSET = 5;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_remove.paa";
|
||||
tooltip = "Build Mode: Disable";
|
||||
};
|
||||
|
||||
class base_mode_snap_direction_0
|
||||
{
|
||||
condition = "EPOCH_buildMode == 1 && EPOCH_snapDirection != 0";
|
||||
action = "EPOCH_snapDirection = 0;[format['SNAP DIRECTION MODE: %1', EPOCH_snapDirection], 5] call Epoch_message;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
||||
tooltip = "Build Mode: Snap Direction 0°";
|
||||
};
|
||||
class base_mode_snap_direction_1
|
||||
{
|
||||
condition = "EPOCH_buildMode == 1 && EPOCH_snapDirection != 1";
|
||||
action = "EPOCH_snapDirection = 1;[format['SNAP DIRECTION MODE: %1', EPOCH_snapDirection], 5] call Epoch_message;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
||||
tooltip = "Build Mode: Snap Direction 90°";
|
||||
};
|
||||
class base_mode_snap_direction_2
|
||||
{
|
||||
condition = "EPOCH_buildMode == 1 && EPOCH_snapDirection != 2";
|
||||
action = "EPOCH_snapDirection = 2;[format['SNAP DIRECTION MODE: %1', EPOCH_snapDirection], 5] call Epoch_message;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
||||
tooltip = "Build Mode: Snap Direction 180°";
|
||||
};
|
||||
class base_mode_snap_direction_3
|
||||
{
|
||||
condition = "EPOCH_buildMode == 1 && EPOCH_snapDirection != 3";
|
||||
action = "EPOCH_snapDirection = 3;[format['SNAP DIRECTION MODE: %1', EPOCH_snapDirection], 5] call Epoch_message;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_move.paa";
|
||||
tooltip = "Build Mode: Snap Direction 270°";
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -192,6 +192,12 @@ class CfgClientFunctions
|
||||
class getColorScheme {};
|
||||
class dragControl {};
|
||||
};
|
||||
class animations
|
||||
{
|
||||
file = "epoch_code\gui\scripts\animations";
|
||||
class 2DCtrlShake {};
|
||||
class 2DCtrlHeartbeat {};
|
||||
};
|
||||
class config
|
||||
{
|
||||
file = "epoch_code\gui\scripts\config";
|
||||
|
@ -1,260 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": ["Raimonds Virtoss","Andrew Gregory"],
|
||||
"@description": "Custom Epoch Client Only functions",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgClientFunctions": {
|
||||
"version": 1,
|
||||
"A3E": {
|
||||
"tag": "EPOCH",
|
||||
"file": "epoch_code\\compile",
|
||||
"generic": {
|
||||
"file": "epoch_code\\compile",
|
||||
"localCleanup": {},
|
||||
"unitSpawnIncrease": {},
|
||||
"unitSpawnDecrease": {},
|
||||
"QuickTakeAll": {},
|
||||
"QuickTakeLoad": {},
|
||||
"effectCrypto": {},
|
||||
"handleServerMessage": {},
|
||||
"updateLoadingScreen": {},
|
||||
"EnterBuilding": {},
|
||||
"lootTrash": {},
|
||||
"debugMonitor": {},
|
||||
"interact": {},
|
||||
"chopWood": {},
|
||||
"fish": {},
|
||||
"mineRocks": {},
|
||||
"UnisexCheck": {},
|
||||
"PutHandler": {},
|
||||
"niteLight": {},
|
||||
"LootIT": {},
|
||||
"supportCopter": {},
|
||||
"consumeItem": {},
|
||||
"unitSpawn": {},
|
||||
"onEachFrame": {},
|
||||
"callSapperMigration": {},
|
||||
"zombieSpawn": {},
|
||||
"makeMarker": {},
|
||||
"removeMarker": {}
|
||||
},
|
||||
"building": {
|
||||
"maintainIT": {},
|
||||
"lockCheck": {},
|
||||
"countdown": {},
|
||||
"fnc_SelectTargetBuild": {},
|
||||
"isBuildAllowed": {},
|
||||
"simulSwap": {},
|
||||
"staticMove": {},
|
||||
"upgradeBUILD": {},
|
||||
"removeBUILD": {},
|
||||
"changeWallState": {},
|
||||
"checkBuild": {}
|
||||
},
|
||||
"traders": {
|
||||
"startInteract": {},
|
||||
"startInteractNPC": {},
|
||||
"npcTraderAdd": {},
|
||||
"npcTraderAdd2": {},
|
||||
"npcTraderAdd3": {},
|
||||
"startNPCTraderMenu": {},
|
||||
"NPCTraderMenuFilter": {},
|
||||
"startNpcTrade": {},
|
||||
"tradeFilter": {},
|
||||
"takeCrypto": {},
|
||||
"startBankTransfer": {}
|
||||
},
|
||||
"interface_event_handlers": {
|
||||
"KeyDown": {},
|
||||
"KeyUp": {},
|
||||
"onChar": {}
|
||||
},
|
||||
"event_handlers": {
|
||||
"getInMan": {},
|
||||
"getOutMan": {}
|
||||
},
|
||||
"setup": {
|
||||
"masterLoop": {},
|
||||
"clientInit": {},
|
||||
"clientRespawn": {},
|
||||
"clientRevive": {},
|
||||
"client_rejectPlayer": {},
|
||||
"clientKeyMap": {}
|
||||
},
|
||||
"p2p_trading": {
|
||||
"startTRADEREQ": {},
|
||||
"startTrade": {},
|
||||
"tradeRequest": {},
|
||||
"TradeLoop": {},
|
||||
"makep2pTrade": {}
|
||||
},
|
||||
"functions": {
|
||||
"worldObjectType": {},
|
||||
"returnConfig": {},
|
||||
"colorRange": {},
|
||||
"convertTemp": {},
|
||||
"fnc_playerDeath": {},
|
||||
"fnc_playerFired": {},
|
||||
"fnc_isInsideBuilding": {},
|
||||
"fnc_Weather": {},
|
||||
"fnc_findSafePos": {},
|
||||
"fnc_addItemOverflow": {},
|
||||
"pushCustomVar": {},
|
||||
"itemData": {},
|
||||
"itemPicture": {},
|
||||
"itemDisplayName": {},
|
||||
"SortArrayByDistance": {},
|
||||
"fnc_findRandomPosBehind": {},
|
||||
"fnc_stringLeft": {},
|
||||
"fnc_findSapperStalkLocation": {},
|
||||
"fnc_dirToFuzzy": {},
|
||||
"fnc_cursorTarget": {},
|
||||
"fnc_triggerAntagonist": {},
|
||||
"fnc_playerDeathDetonate": {},
|
||||
"fnc_playerDeathMorph": {},
|
||||
"fnc_playerSetVariable": {},
|
||||
"fnc_playerAttachToAntagonist": {},
|
||||
"fnc_dynamicFSM": {},
|
||||
"fnc_vectorDivide": {},
|
||||
"giveAttributes": {},
|
||||
"fnc_spawnEffects": {},
|
||||
"fnc_arrayStringToBool": {}
|
||||
},
|
||||
"environment": {
|
||||
"client_earthQuake": {},
|
||||
"client_loadAnimalBrain": {},
|
||||
"client_bitePlayer": {}
|
||||
},
|
||||
"vehicles": {
|
||||
"client_repairVehicle": {},
|
||||
"client_lockVehicle": {},
|
||||
"client_fillVehicle": {},
|
||||
"client_gearVehicle": {}
|
||||
},
|
||||
"missions": {
|
||||
"mission_accept": {},
|
||||
"mission_cage_sapper": {},
|
||||
"mission_returnObj": {}
|
||||
},
|
||||
"inventory": {
|
||||
"selectInventoryItem": {},
|
||||
"itemInteractClick": {},
|
||||
"itemInteractDblClick": {},
|
||||
"uniformArmorCalc": {},
|
||||
"gearArmorCalc": {},
|
||||
"factorArmor": {},
|
||||
"maxArmorInit": {},
|
||||
"initUI": {},
|
||||
"refeshUI": {}
|
||||
},
|
||||
"messaging": {
|
||||
"file": "epoch_code\\gui\\scripts\\messaging",
|
||||
"message": {},
|
||||
"message_old1": {},
|
||||
"message_old2": {}
|
||||
},
|
||||
"looting": {
|
||||
"spawnLoot": {}
|
||||
},
|
||||
"gui": {
|
||||
"file": "epoch_code\\gui\\scripts",
|
||||
"onPause": {},
|
||||
"showStats": {},
|
||||
"3DctrlPitchYaw": {},
|
||||
"3DctrlSpin": {},
|
||||
"3DctrlYaw": {},
|
||||
"InterruptConfig": {},
|
||||
"InterruptConfigActions": {},
|
||||
"getIDC": {},
|
||||
"guiObjHP": {},
|
||||
"secureStorageHandler": {},
|
||||
"genderSelection": {},
|
||||
"getColorScheme": {},
|
||||
"dragControl": {}
|
||||
},
|
||||
"config": {
|
||||
"file": "epoch_code\\gui\\scripts\\config",
|
||||
"config_keymap": {}
|
||||
},
|
||||
"dynamenu": {
|
||||
"file": "epoch_code\\gui\\scripts\\dynamenu",
|
||||
"dynamicMenu": {},
|
||||
"dynamicMenuPopulate": {},
|
||||
"dynamicMenuCleanup": {}
|
||||
},
|
||||
"dynamicHUD": {
|
||||
"file": "epoch_code\\gui\\scripts\\dynamicHUD",
|
||||
"dynamicHUD_adjust": {},
|
||||
"dynamicHUD_loadSave": {},
|
||||
"dynamicHUD_start": {},
|
||||
"getHUDCtrl": {}
|
||||
},
|
||||
"gui_craft": {
|
||||
"file": "epoch_code\\gui\\scripts\\craftingv2",
|
||||
"crafting_animate": {},
|
||||
"crafting_ctrl_collector": {},
|
||||
"crafting_dev_toggle": {},
|
||||
"crafting_getConfig": {},
|
||||
"crafting_checkGear": {},
|
||||
"crafting_checkNearby": {},
|
||||
"crafting_checkResources": {},
|
||||
"crafting_craft": {},
|
||||
"crafting_progress": {},
|
||||
"crafting_load": {},
|
||||
"crafting_unload": {},
|
||||
"crafting_LB_click": {},
|
||||
"crafting_LB_defaults": {},
|
||||
"crafting_LB_doubleClick": {},
|
||||
"crafting_colorScheme": {}
|
||||
},
|
||||
"group": {
|
||||
"file": "epoch_code\\gui\\scripts\\group",
|
||||
"Group_invitePlayer": {},
|
||||
"Group_BtnMod": {},
|
||||
"Group_BtnInvite": {},
|
||||
"Group_onLoad": {},
|
||||
"Group_List": {},
|
||||
"Group_Combo": {},
|
||||
"Group_BtnLeave": {},
|
||||
"Group_BtnKick": {},
|
||||
"cGroup_groupText": {},
|
||||
"cGroup_onLoad": {},
|
||||
"cGroup_BtnCreate": {},
|
||||
"iGroup_acceptInvite": {},
|
||||
"iGroup_onLoad": {},
|
||||
"iGroup_refresh": {},
|
||||
"Group_update": {}
|
||||
},
|
||||
"gui_inventory": {
|
||||
"file": "epoch_code\\gui\\scripts\\inventory",
|
||||
"Inventory_Group": {},
|
||||
"Inventory_iGroup": {}
|
||||
},
|
||||
"gui_missions": {
|
||||
"file": "epoch_code\\gui\\scripts\\missions",
|
||||
"mission_refresh": {},
|
||||
"mission_description": {}
|
||||
},
|
||||
"gui_postProcessing": {
|
||||
"file": "epoch_code\\gui\\scripts\\post_process",
|
||||
"postprocessCreate": {},
|
||||
"postprocessAdjust": {},
|
||||
"postprocessDestroy": {},
|
||||
"setDrunk": {},
|
||||
"setRadiation": {}
|
||||
},
|
||||
"worldToScreen": {
|
||||
"file": "epoch_code\\gui\\scripts\\worldToScreen",
|
||||
"gui3DCooldown": {},
|
||||
"gui3DCooldownEH": {},
|
||||
"gui3DWorldPos": {},
|
||||
"gui3DWorldPosEH": {},
|
||||
"gui3DModelPos": {},
|
||||
"gui3DModelPosEH": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -29,7 +29,7 @@ classname:
|
||||
Obtaining Controls:
|
||||
use epoch_getHUDCtrl function to obtain controls for manipulation
|
||||
_name = Config name of your group
|
||||
_index = each group hosts multiple elements, each element has it's index, starting from 0
|
||||
_index = each group hosts multiple elements, each element has it's index, starting from 1! Don't use 0 as it returns configName
|
||||
[_ConfigName, _index] call epoch_getHUDCtrl;
|
||||
["myHUDname", 3] call epoch_getHUDCtrl;
|
||||
*/
|
||||
|
@ -1,39 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Raimonds Virtoss - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Epoch dynamic player HUD config",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"rmx_dynamicHUD": {
|
||||
"topRight": {
|
||||
"classname": "RscPicture",
|
||||
"defaultPos": 2,
|
||||
"defaultPopulate": 1,
|
||||
"arraySize": 10,
|
||||
"width": 4,
|
||||
"height": 4,
|
||||
"offSetX": 0,
|
||||
"offSetY": 1.3,
|
||||
"angle": [
|
||||
-5,
|
||||
0.5,
|
||||
0.5,
|
||||
0.5
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
0.05
|
||||
]
|
||||
},
|
||||
"botcenter": {
|
||||
"classname": "RscPicture",
|
||||
"defaultPos": 7,
|
||||
"defaultPopulate": 4,
|
||||
"arraySize": 9,
|
||||
"width": 5,
|
||||
"height": 5
|
||||
}
|
||||
}
|
||||
}
|
@ -17,31 +17,34 @@ class CfgEpochClient
|
||||
epochVersion = "0.4.0.0";
|
||||
sapperRngChance = 100;
|
||||
droneRngChance = 100;
|
||||
buildingNearbyMilitary = 0;
|
||||
buildingNearbyMilitary = 0;
|
||||
buildingNearbyMilitaryRange = 300;
|
||||
buildingNearbyMilitaryClasses[] = {"Cargo_Tower_base_F","Cargo_HQ_base_F","Cargo_Patrol_base_F","Cargo_House_base_F"};
|
||||
restrictedLocations[] = {"NameCityCapital"};
|
||||
restrictedLocationsRange = 300;
|
||||
buildingRequireJammer = 0;
|
||||
buildingCountLimit = 200;
|
||||
buildingJammerRange = 75;
|
||||
JammerPerGroup = 1;
|
||||
buildingRequireJammer = 1; //1 = require jammer to build
|
||||
buildingJammerRange = 75;
|
||||
jammerPerGroup = 1;
|
||||
minJammerDistance = 650;
|
||||
maxBuildingHeigh = 33;
|
||||
buildingCountLeader = 125;
|
||||
buildingCountPerMember = 5;
|
||||
storagecountLeader = 10;
|
||||
storagecountPerMember = 5;
|
||||
maxdoors = 8;
|
||||
maxBuildingHeight = 33;
|
||||
buildingCountLimit = 200; //overall building limit in range of jammer (overridden if "useGroupCountLimits=1")
|
||||
storageCountLimit = 100; //overall storage limit in range of jammer (triggers only if "splitCountLimits=1" & "useGroupCountLimits=0")
|
||||
splitCountLimits = 0; //1 = distinguish buildingCountLimit from storageCountLimit (ex.: buildingCountLimit=100, storageCountLimit=100 >> you can build 100 baseparts AND additional 100 storage objects like safes, lockboxes...)
|
||||
useGroupCountLimits = 1; //1 = enable leader and member counts (doesn´t affect "splitCountLimits")
|
||||
buildingCountLeader = 125; //ignore if "useGroupCountLimits=0"
|
||||
buildingCountPerMember = 5; //ignore if "useGroupCountLimits=0"
|
||||
storageCountLeader = 10; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
|
||||
storageCountPerMember = 5; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
|
||||
maxdoors = 8;
|
||||
maxgates = 5;
|
||||
disableRemoteSensors = True;
|
||||
disableRemoteSensors = true;
|
||||
EPOCH_news[] = {"Word is that Sappers have a new boss.","Dogs will often lure them monsters away.","My dog was blown up. I miss him.."};
|
||||
deathMorphClass[] = {"Epoch_Sapper_F","Epoch_SapperB_F","I_UAV_01_F","Epoch_Cloak_F"};
|
||||
niteLight[] = {1,1.88,22};
|
||||
ryanZombiesEnabled = True;
|
||||
ryanZombiesEnabled = true;
|
||||
antagonistSpawnIndex[] = {{"Epoch_Cloak_F",1},{"GreatWhite_F",2},{"Epoch_Sapper_F",2},{"Epoch_SapperB_F",1},{"I_UAV_01_F",2},{"PHANTOM",1},{"B_Heli_Transport_01_F",1},{"EPOCH_RyanZombie_1",12}};
|
||||
customVarsDefaults[] = {{"Temp",98.6,{106.7,95,102,105,96,95}},{"Hunger",1500,{5000,0,5001,5001,1250,0}},{"Thirst",750,{2500,0,2501,2501,625,0}},{"AliveTime",0,{-2,0}},{"Energy",0,{2500,0}},{"Wet",0,{100,0,35,55,-1,-1}},{"Soiled",0,{100,0,35,55,-1,-1}},{"Immunity",0,{100,0}},{"Toxicity",0,{100,0,35,55,-1,-1}},{"Stamina",100,{"EPOCH_playerStaminaMax",0}},{"Crypto",0,{250000,0}},{"HitPoints",{0,0,0,0},{1,0,0.5,1,-1,-1}},{"BloodP",100,{190,0,120,140,70,50}},{"SpawnArray",{},{}},{"Karma",0,{50000,-50000}},{"Alcohol",0,{100,0,35,55,-1,-1}},{"Radiation",0,{100,0,35,55,-1,-1}},{"Nuisance",0,{100,0}},{"MissionArray",{},{}}};
|
||||
hudConfigs[] = {{{"BloodP","","",{"getPlayerDamage",">=",0.7}},"topRight","x\addons\a3_epoch_code\Data\UI\bleeding_ca.paa",{"forceUpdate"}},{{"Oxygen","getPlayerOxygenRemaining","",{},{1,0,2,2,1,0.55}},"topRight","x\addons\a3_epoch_code\Data\UI\oxygen_ca.paa"},{"Hunger","topRight","x\addons\a3_epoch_code\Data\UI\hunger_ca.paa",{"forceBloodRise"}},{"Thirst","topRight","x\addons\a3_epoch_code\Data\UI\thirst_ca.paa",{"forceBloodRise"}},{"Temp","topRight",{"x\addons\a3_epoch_code\Data\UI\hot_ca.paa","x\addons\a3_epoch_code\Data\UI\cold_ca.paa"},{"forceFatigue"}},{"Toxicity","topRight","x\addons\a3_epoch_code\Data\UI\hazzard_ca.paa"},{"Wet","topRight","x\addons\a3_epoch_code\Data\UI\wet_ca.paa"},{"Alcohol","topRight","x\addons\a3_epoch_code\Data\UI\drunk_ca.paa"},{"Soiled","topRight","x\addons\a3_epoch_code\Data\UI\soiled_ca.paa"},{"Radiation","topRight","x\addons\a3_epoch_code\Data\UI\rads_ca.paa"},{{"HitPoints","getPlayerHitPointDamage","HitLegs"},"topRight","x\addons\a3_epoch_code\Data\UI\broken_ca.paa"}};
|
||||
hudConfigs[] = {{{"BloodP","","",{"getPlayerDamage",">=",0.7}},"topRight","x\addons\a3_epoch_code\Data\UI\bleeding_ca.paa",{"forceUpdate"}},{{"Oxygen","getPlayerOxygenRemaining","",{},{1,0,2,2,1,0.55}},"topRight","x\addons\a3_epoch_code\Data\UI\oxygen_ca.paa"},{"Hunger","topRight","x\addons\a3_epoch_code\Data\UI\hunger_ca.paa",{"forceBloodRise"}},{"Thirst","topRight","x\addons\a3_epoch_code\Data\UI\thirst_ca.paa",{"forceBloodRise"}},{"Temp","topRight",{"x\addons\a3_epoch_code\Data\UI\hot_ca.paa","x\addons\a3_epoch_code\Data\UI\cold_ca.paa"},{"forceFatigue"}},{"Toxicity","topRight","x\addons\a3_epoch_code\Data\UI\hazzard_ca.paa"},{"Alcohol","topRight","x\addons\a3_epoch_code\Data\UI\drunk_ca.paa"},{"Soiled","topRight","x\addons\a3_epoch_code\Data\UI\soiled_ca.paa"},{"Radiation","topRight","x\addons\a3_epoch_code\Data\UI\rads_ca.paa"},{{"HitPoints","getPlayerHitPointDamage","HitLegs"},"topRight","x\addons\a3_epoch_code\Data\UI\broken_ca.paa"}};
|
||||
group_upgrade_lvl[] = {4,"1000",6,"1500",8,"2000",10,"2500",12,"3000",14,"3500",16,"4000",32,"8000",64,"16000"};
|
||||
displayAddEventHandler[] = {"keyDown","keyUp"};
|
||||
keyDown = "(_this call EPOCH_KeyDown)";
|
||||
|
@ -1,601 +0,0 @@
|
||||
{
|
||||
"CfgEpochClient": {
|
||||
"epochVersion": "0.4.0.0",
|
||||
"sapperRngChance": 100,
|
||||
"droneRngChance": 100,
|
||||
"buildingNearbyMilitary": 0,
|
||||
"buildingNearbyMilitaryRange": 300,
|
||||
"buildingNearbyMilitaryClasses": [
|
||||
"Cargo_Tower_base_F",
|
||||
"Cargo_HQ_base_F",
|
||||
"Cargo_Patrol_base_F",
|
||||
"Cargo_House_base_F"
|
||||
],
|
||||
"restrictedLocations": [
|
||||
"NameCityCapital"
|
||||
],
|
||||
"restrictedLocationsRange": 300,
|
||||
"buildingRequireJammer": 0,
|
||||
"buildingCountLimit": 200,
|
||||
"buildingJammerRange": 75,
|
||||
"JammerPerGroup": 1,
|
||||
"minJammerDistance": 650,
|
||||
"maxBuildingHeigh": 33,
|
||||
"buildingCountLeader": 125,
|
||||
"buildingCountPerMember": 5,
|
||||
"storagecountLeader": 10,
|
||||
"storagecountPerMember": 5,
|
||||
"maxdoors": 8,
|
||||
"maxgates": 5,
|
||||
"disableRemoteSensors": true,
|
||||
"EPOCH_news": [
|
||||
"Word is that Sappers have a new boss.",
|
||||
"Dogs will often lure them monsters away.",
|
||||
"My dog was blown up. I miss him.."
|
||||
],
|
||||
"deathMorphClass": [
|
||||
"Epoch_Sapper_F",
|
||||
"Epoch_SapperB_F",
|
||||
"I_UAV_01_F",
|
||||
"Epoch_Cloak_F"
|
||||
],
|
||||
"niteLight": [
|
||||
1,
|
||||
1.88,
|
||||
22
|
||||
],
|
||||
"ryanZombiesEnabled": true,
|
||||
"antagonistSpawnIndex": [
|
||||
[
|
||||
"Epoch_Cloak_F",
|
||||
1
|
||||
],
|
||||
[
|
||||
"GreatWhite_F",
|
||||
2
|
||||
],
|
||||
[
|
||||
"Epoch_Sapper_F",
|
||||
2
|
||||
],
|
||||
[
|
||||
"Epoch_SapperB_F",
|
||||
1
|
||||
],
|
||||
[
|
||||
"I_UAV_01_F",
|
||||
2
|
||||
],
|
||||
[
|
||||
"PHANTOM",
|
||||
1
|
||||
],
|
||||
[
|
||||
"B_Heli_Transport_01_F",
|
||||
1
|
||||
],
|
||||
[
|
||||
"EPOCH_RyanZombie_1",
|
||||
12
|
||||
]
|
||||
],
|
||||
"customVarsDefaults": [
|
||||
[
|
||||
"Temp",
|
||||
98.6,
|
||||
[
|
||||
106.7,
|
||||
95,
|
||||
102,
|
||||
105,
|
||||
96,
|
||||
95
|
||||
]
|
||||
],
|
||||
[
|
||||
"Hunger",
|
||||
1500,
|
||||
[
|
||||
5000,
|
||||
0,
|
||||
5001,
|
||||
5001,
|
||||
1250,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"Thirst",
|
||||
750,
|
||||
[
|
||||
2500,
|
||||
0,
|
||||
2501,
|
||||
2501,
|
||||
625,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"AliveTime",
|
||||
0,
|
||||
[
|
||||
-2,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"Energy",
|
||||
0,
|
||||
[
|
||||
2500,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"Wet",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0,
|
||||
35,
|
||||
55,
|
||||
-1,
|
||||
-1
|
||||
]
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0,
|
||||
35,
|
||||
55,
|
||||
-1,
|
||||
-1
|
||||
]
|
||||
],
|
||||
[
|
||||
"Immunity",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"Toxicity",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0,
|
||||
35,
|
||||
55,
|
||||
-1,
|
||||
-1
|
||||
]
|
||||
],
|
||||
[
|
||||
"Stamina",
|
||||
100,
|
||||
[
|
||||
"EPOCH_playerStaminaMax",
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"Crypto",
|
||||
0,
|
||||
[
|
||||
250000,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"HitPoints",
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
1,
|
||||
0,
|
||||
0.5,
|
||||
1,
|
||||
-1,
|
||||
-1
|
||||
]
|
||||
],
|
||||
[
|
||||
"BloodP",
|
||||
100,
|
||||
[
|
||||
190,
|
||||
0,
|
||||
120,
|
||||
140,
|
||||
70,
|
||||
50
|
||||
]
|
||||
],
|
||||
[
|
||||
"SpawnArray",
|
||||
[],
|
||||
[]
|
||||
],
|
||||
[
|
||||
"Karma",
|
||||
0,
|
||||
[
|
||||
50000,
|
||||
-50000
|
||||
]
|
||||
],
|
||||
[
|
||||
"Alcohol",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0,
|
||||
35,
|
||||
55,
|
||||
-1,
|
||||
-1
|
||||
]
|
||||
],
|
||||
[
|
||||
"Radiation",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0,
|
||||
35,
|
||||
55,
|
||||
-1,
|
||||
-1
|
||||
]
|
||||
],
|
||||
[
|
||||
"Nuisance",
|
||||
0,
|
||||
[
|
||||
100,
|
||||
0
|
||||
]
|
||||
],
|
||||
[
|
||||
"MissionArray",
|
||||
[],
|
||||
[]
|
||||
]
|
||||
],
|
||||
"hudConfigs": [
|
||||
[
|
||||
[
|
||||
"BloodP",
|
||||
"",
|
||||
"",
|
||||
[
|
||||
"getPlayerDamage",
|
||||
">=",
|
||||
0.7
|
||||
]
|
||||
],
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\bleeding_ca.paa",
|
||||
[
|
||||
"forceUpdate"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"Oxygen",
|
||||
"getPlayerOxygenRemaining",
|
||||
"",
|
||||
[],
|
||||
[
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
0.55
|
||||
]
|
||||
],
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\oxygen_ca.paa"
|
||||
],
|
||||
[
|
||||
"Hunger",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\hunger_ca.paa",
|
||||
[
|
||||
"forceBloodRise"
|
||||
]
|
||||
],
|
||||
[
|
||||
"Thirst",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\thirst_ca.paa",
|
||||
[
|
||||
"forceBloodRise"
|
||||
]
|
||||
],
|
||||
[
|
||||
"Temp",
|
||||
"topRight",
|
||||
[
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\hot_ca.paa",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\cold_ca.paa"
|
||||
],
|
||||
[
|
||||
"forceFatigue"
|
||||
]
|
||||
],
|
||||
[
|
||||
"Toxicity",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\hazzard_ca.paa"
|
||||
],
|
||||
[
|
||||
"Wet",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\wet_ca.paa"
|
||||
],
|
||||
[
|
||||
"Alcohol",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\drunk_ca.paa"
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\soiled_ca.paa"
|
||||
],
|
||||
[
|
||||
"Radiation",
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\rads_ca.paa"
|
||||
],
|
||||
[
|
||||
[
|
||||
"HitPoints",
|
||||
"getPlayerHitPointDamage",
|
||||
"HitLegs"
|
||||
],
|
||||
"topRight",
|
||||
"x\\addons\\a3_epoch_code\\Data\\UI\\broken_ca.paa"
|
||||
]
|
||||
],
|
||||
"group_upgrade_lvl": [
|
||||
4,
|
||||
"1000",
|
||||
6,
|
||||
"1500",
|
||||
8,
|
||||
"2000",
|
||||
10,
|
||||
"2500",
|
||||
12,
|
||||
"3000",
|
||||
14,
|
||||
"3500",
|
||||
16,
|
||||
"4000",
|
||||
32,
|
||||
"8000",
|
||||
64,
|
||||
"16000"
|
||||
],
|
||||
"displayAddEventHandler": [
|
||||
"keyDown",
|
||||
"keyUp"
|
||||
],
|
||||
"keyDown": "(_this call EPOCH_KeyDown)",
|
||||
"keyUp": "(_this call EPOCH_KeyUp)",
|
||||
"addEventHandler": [
|
||||
"Respawn",
|
||||
"Put",
|
||||
"Take",
|
||||
"InventoryClosed",
|
||||
"InventoryOpened",
|
||||
"Fired",
|
||||
"Killed",
|
||||
"HandleRating",
|
||||
"GetInMan",
|
||||
"GetOutMan"
|
||||
],
|
||||
"Respawn": "(_this select 0) call EPOCH_clientRespawn",
|
||||
"Put": "(_this select 1) call EPOCH_interact;_this call EPOCH_PutHandler",
|
||||
"Take": "(_this select 1) call EPOCH_interact;_this call EPOCH_UnisexCheck",
|
||||
"Fired": "_this call EPOCH_fnc_playerFired;",
|
||||
"InventoryClosed": "if !(EPOCH_arr_interactedObjs isEqualTo[]) then {[EPOCH_arr_interactedObjs] remoteExec['EPOCH_server_save_vehicles', 2]; EPOCH_arr_interactedObjs = [];};",
|
||||
"InventoryOpened": "setMousePosition[0.5, 0.5]; call EPOCH_showStats;_this spawn EPOCH_initUI;_container = _this select 1;_lockedNear = false;if (_container isKindOf 'GroundWeaponHolder' || _container isKindOf 'WeaponHolderSimulated') then {{if (locked _x in [2, 3] ||_x getVariable['EPOCH_Locked', false]) exitWith {_lockedNear = true}} forEach (player nearSupplies 10);};if (locked _container in [2, 3] || _container getVariable['EPOCH_Locked', false] || _lockedNear) then {[] spawn {disableSerialization;waitUntil {!isNull findDisplay 602};_display = findDisplay 602;_ctrl_cargo = _display displayCtrl 6401;_ctrl_ground = _display displayCtrl 6321;_ctrl_cargo ctrlEnable false;ctrlSetFocus _ctrl_ground;ctrlActivate _ctrl_ground;};};",
|
||||
"Killed": "_this call EPOCH_fnc_playerDeath;",
|
||||
"HandleRating": "EPOCH_playerKarma = EPOCH_playerKarma + (_this select 1);0",
|
||||
"HandleDamage": "",
|
||||
"HandleHeal": "",
|
||||
"Dammaged": "",
|
||||
"Hit": "",
|
||||
"HitPart": "",
|
||||
"GetInMan": "_this call EPOCH_getInMan",
|
||||
"GetOutMan": "_this call EPOCH_getOutMan;",
|
||||
"nonJammerAI": [
|
||||
"B_Heli_Transport_01_F",
|
||||
"PHANTOM",
|
||||
"EPOCH_Sapper_F",
|
||||
"Epoch_SapperB_F",
|
||||
"I_UAV_01_F",
|
||||
"EPOCH_RyanZombie_1"
|
||||
],
|
||||
"nonTraderAI": [
|
||||
"B_Heli_Transport_01_F",
|
||||
"PHANTOM",
|
||||
"EPOCH_Sapper_F",
|
||||
"Epoch_SapperB_F",
|
||||
"I_UAV_01_F",
|
||||
"Epoch_Cloak_F",
|
||||
"GreatWhite_F",
|
||||
"EPOCH_RyanZombie_1"
|
||||
],
|
||||
"nonTraderAIRange": 50,
|
||||
"fishLoots": [
|
||||
"ItemTuna",
|
||||
"ItemSeaBass",
|
||||
"ItemSeaBass",
|
||||
"ItemSeaBass",
|
||||
"ItemTrout",
|
||||
"ItemTrout",
|
||||
"ItemTrout",
|
||||
"ItemTrout",
|
||||
"ItemTrout",
|
||||
"ItemTrout"
|
||||
],
|
||||
"animalAiTables": [
|
||||
"Sheep_random_EPOCH",
|
||||
"Sheep_random_EPOCH",
|
||||
"Goat_random_EPOCH",
|
||||
"Goat_random_EPOCH",
|
||||
"Goat_random_EPOCH",
|
||||
[
|
||||
"Cock_random_EPOCH",
|
||||
"Hen_random_EPOCH"
|
||||
],
|
||||
[
|
||||
"Cock_random_EPOCH",
|
||||
"Hen_random_EPOCH"
|
||||
],
|
||||
"Rabbit_EPOCH",
|
||||
"Rabbit_EPOCH",
|
||||
"Rabbit_EPOCH",
|
||||
"Snake_random_EPOCH",
|
||||
"Snake2_random_EPOCH",
|
||||
[
|
||||
"Fin_random_EPOCH",
|
||||
"Alsatian_Random_EPOCH"
|
||||
]
|
||||
],
|
||||
"playerDeathScreen": "TapOut",
|
||||
"playerKilledScreen": "TapOut2",
|
||||
"playerDisableRevenge": 0,
|
||||
"playerRevengeMinAliveTime": 900,
|
||||
"bankTransferTime": [
|
||||
0.0006,
|
||||
1.2,
|
||||
0.06
|
||||
],
|
||||
"#include0": "\"CfgEpochClient\\Altis.hpp\"",
|
||||
"#include1": "\"CfgEpochClient\\australia.hpp\"",
|
||||
"#include2": "\"CfgEpochClient\\Bornholm.hpp\"",
|
||||
"#include3": "\"CfgEpochClient\\Chernarus_Summer.hpp\"",
|
||||
"#include4": "\"CfgEpochClient\\Chernarus.hpp\"",
|
||||
"#include5": "\"CfgEpochClient\\Esseker.hpp\"",
|
||||
"#include6": "\"CfgEpochClient\\ProvingGrounds_PMC.hpp\"",
|
||||
"#include7": "\"CfgEpochClient\\Sara_dbe1.hpp\"",
|
||||
"#include8": "\"CfgEpochClient\\Sara.hpp\"",
|
||||
"#include9": "\"CfgEpochClient\\SaraLite.hpp\"",
|
||||
"#include10": "\"CfgEpochClient\\Stratis.hpp\"",
|
||||
"#include11": "\"CfgEpochClient\\takistan.hpp\"",
|
||||
"#include12": "\"CfgEpochClient\\utes.hpp\"",
|
||||
"#include13": "\"CfgEpochClient\\vr.hpp\"",
|
||||
"#include14": "\"CfgEpochClient\\Zargabad.hpp\"",
|
||||
"#include15": "\"CfgEpochClient\\Tanoa.hpp\"",
|
||||
"#include16": "\"CfgEpochClient\\WorldInteractions.hpp\""
|
||||
},
|
||||
"CfgEpochSapper": {
|
||||
"detonateDistMax": 8,
|
||||
"groanTrig": 16,
|
||||
"sRange": 300,
|
||||
"smellDist": 24,
|
||||
"reflexSpeed": 0.25,
|
||||
"nestChance": 2,
|
||||
"hideLevel": 72,
|
||||
"chargeLevel": 62
|
||||
},
|
||||
"CfgEpochUAV": {
|
||||
"UAVMinDist": 48,
|
||||
"UAVMaxDist": 180,
|
||||
"UAVHeight": 100
|
||||
},
|
||||
"CfgEpochUAVSupport": {
|
||||
"unitTypes": [
|
||||
"I_Soldier_EPOCH",
|
||||
"I_Soldier2_EPOCH",
|
||||
"I_Soldier3_EPOCH"
|
||||
],
|
||||
"maxUnitNum": 2,
|
||||
"minAISkill": 0.2,
|
||||
"maxAimingAccuracy": 0.7,
|
||||
"maxAimingShake": 0.9,
|
||||
"maxAimingSpeed": 0.6,
|
||||
"maxEndurance": 0.4,
|
||||
"maxSpotDistance": 0.4,
|
||||
"maxSpotTime": 0.3,
|
||||
"maxCourage": 0.3,
|
||||
"maxReloadSpeed": 0.5,
|
||||
"maxCommanding": 0.4,
|
||||
"maxGeneral": 0.4
|
||||
},
|
||||
"CfgEpochAirDrop": {
|
||||
"AirDropFreq": 1200,
|
||||
"AirDropChance": 6
|
||||
},
|
||||
"CfgEpochCloak": {
|
||||
"cRange": 300,
|
||||
"cAggression": 75,
|
||||
"attackFrequency": 120,
|
||||
"attackDistance": 38,
|
||||
"targetChangeFrequency": 42,
|
||||
"teleportChance": 66,
|
||||
"hoverFrequency": 1280
|
||||
},
|
||||
"CfgEpochRyanZombie": {
|
||||
"zeds": [
|
||||
"EPOCH_RyanZombie_1",
|
||||
"EPOCH_RyanZombie_2",
|
||||
"EPOCH_RyanZombie_3",
|
||||
"EPOCH_RyanZombie_4",
|
||||
"EPOCH_RyanZombie_5"
|
||||
],
|
||||
"attackDist": 1.6,
|
||||
"range": 45,
|
||||
"disposeRange": 800,
|
||||
"smell": [
|
||||
38,
|
||||
0.42
|
||||
],
|
||||
"sight": [
|
||||
28,
|
||||
0.72
|
||||
],
|
||||
"hearing": [
|
||||
108,
|
||||
0.68
|
||||
],
|
||||
"memory": [
|
||||
480,
|
||||
0.8
|
||||
],
|
||||
"reflexSpeed": 0.25,
|
||||
"moans": [
|
||||
"ryanzombiesmoan1",
|
||||
"ryanzombiesmoan2",
|
||||
"ryanzombiesmoan3",
|
||||
"ryanzombiesmoan4"
|
||||
],
|
||||
"screams": [
|
||||
"ryanzombiesscream1",
|
||||
"ryanzombiesscream2",
|
||||
"ryanzombiesscream3",
|
||||
"ryanzombiesscream4",
|
||||
"ryanzombiesscream5",
|
||||
"ryanzombiesscream6",
|
||||
"ryanzombiesscream7",
|
||||
"ryanzombiesscream8",
|
||||
"ryanzombiesscream9"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Raimonds Virtoss - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Config for Epoch Configuration system",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgEpochConfiguration": {
|
||||
"remap": {
|
||||
"name": "Controls",
|
||||
"color": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"icon": "\\x\\addons\\a3_epoch_code\\Data\\owner.paa",
|
||||
"controlGroup": "EpochConfigKeyMap"
|
||||
},
|
||||
"HUD": {
|
||||
"name": "Customize HUD (WIP)",
|
||||
"color": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"icon": "\\x\\addons\\a3_epoch_code\\Data\\owner.paa",
|
||||
"controlGroup": "Epoch_main_config_dynamicHUD"
|
||||
},
|
||||
"html": {
|
||||
"name": "Changelog",
|
||||
"color": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"icon": "\\x\\addons\\a3_epoch_code\\Data\\owner.paa",
|
||||
"controlGroup": "Epoch_main_config_changelog"
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,39 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Master loop is a simple config based event scheduler that handles all time based player related tasks.",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgMasterLoop": {
|
||||
"Init": {
|
||||
"file": "epoch_code\\compile\\setup\\masterLoop\\init.sqf"
|
||||
},
|
||||
"Events": {
|
||||
"condition": "alive player",
|
||||
"file": "epoch_code\\compile\\setup\\masterLoop",
|
||||
"Event1": {
|
||||
"delay": 1
|
||||
},
|
||||
"Event2": {
|
||||
"delay": 10
|
||||
},
|
||||
"Event3": {
|
||||
"delay": 15
|
||||
},
|
||||
"Event4": {
|
||||
"delay": 30
|
||||
},
|
||||
"Event5": {
|
||||
"delay": 60
|
||||
},
|
||||
"Event6": {
|
||||
"delay": 300
|
||||
},
|
||||
"Event7": {
|
||||
"delay": 600
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,603 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Epoch object interaction configs.",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgObjectInteractions": {
|
||||
"Default": {
|
||||
"interactMode": 0,
|
||||
"distance": 0,
|
||||
"toxicChance": 0,
|
||||
"bleedChance": 0,
|
||||
"bloodpChance": 0,
|
||||
"fatigueChance": 0,
|
||||
"bleedAmount": 0,
|
||||
"bloodpAmount": 0,
|
||||
"soundEffect": [],
|
||||
"soundEffectGlobal": 0,
|
||||
"animationEffect": [],
|
||||
"animationEffectGlobal": 0,
|
||||
"canSee": "false",
|
||||
"ppEffect": [],
|
||||
"aliveState": 0,
|
||||
"interactAttributes": []
|
||||
},
|
||||
"Land_MPS_EPOCH": {
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"container_epoch": {
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"PlotPole_EPOCH": {
|
||||
"interactMode": 1,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Tipi_EPOCH": {
|
||||
"interactMode": 4,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Tipi_SIM_EPOCH": {
|
||||
"interactMode": 1,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"StorageShelf_EPOCH": {
|
||||
"interactMode": 4,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"WorkBench_EPOCH": {
|
||||
"interactMode": 4,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Foundation_EPOCH": {
|
||||
"interactMode": 1,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"WoodFoundation_EPOCH": {
|
||||
"interactMode": 1,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Sheep_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Goat_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Cock_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Hen_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Rabbit_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Fin_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Karma",
|
||||
-100
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Alsatian_Random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Karma",
|
||||
-100
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Epoch_Sapper_F": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Toxicity",
|
||||
20,
|
||||
1
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
20,
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Epoch_SapperB_F": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Toxicity",
|
||||
20,
|
||||
1
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
20,
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"I_UAV_01_F": {
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Energy",
|
||||
20,
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Epoch_Female_F": {
|
||||
"interactMode": 2,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Epoch_Male_F": {
|
||||
"interactMode": 2,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"C_man_1": {
|
||||
"interactMode": 2,
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"SapperHead_SIM_EPOCH": {
|
||||
"interactMode": 0,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"SapperCorpse_SIM_EPOCH": {
|
||||
"interactMode": 0,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Snake_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"distance": 3,
|
||||
"toxicChance": 0.2,
|
||||
"bloodpChance": 1,
|
||||
"fatigueChance": 0.5,
|
||||
"bleedAmount": 30,
|
||||
"bloodpAmount": 3,
|
||||
"soundEffect": [
|
||||
"snake_bite0"
|
||||
],
|
||||
"canSee": "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])",
|
||||
"ppEffect": [],
|
||||
"aliveState": 0,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Toxicity",
|
||||
20,
|
||||
1
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Snake2_random_EPOCH": {
|
||||
"interactMode": 3,
|
||||
"distance": 3,
|
||||
"toxicChance": 0.1,
|
||||
"bloodpChance": 1,
|
||||
"fatigueChance": 0.5,
|
||||
"bleedAmount": 30,
|
||||
"bloodpAmount": 3,
|
||||
"soundEffect": [
|
||||
"snake_bite0"
|
||||
],
|
||||
"canSee": "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])",
|
||||
"ppEffect": [],
|
||||
"aliveState": 0,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Toxicity",
|
||||
10,
|
||||
1
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"GreatWhite_F": {
|
||||
"interactMode": 3,
|
||||
"distance": 6,
|
||||
"toxicChance": 0,
|
||||
"bleedChance": 1,
|
||||
"bloodpChance": 1,
|
||||
"fatigueChance": 1,
|
||||
"bleedAmount": 100,
|
||||
"bloodpAmount": 3,
|
||||
"canSee": "true",
|
||||
"ppEffect": [],
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"SmokeShellCustom": {
|
||||
"distance": 6,
|
||||
"toxicChance": 1,
|
||||
"bleedChance": 0,
|
||||
"bloodpChance": 1,
|
||||
"fatigueChance": 1,
|
||||
"bleedAmount": 0,
|
||||
"bloodpAmount": 3,
|
||||
"canSee": "true",
|
||||
"ppEffect": [],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"Epoch_Cloak_F": {
|
||||
"distance": 30,
|
||||
"toxicChance": 0,
|
||||
"bloodpChance": 0.9,
|
||||
"fatigueChance": 0.5,
|
||||
"bleedAmount": 66,
|
||||
"bloodpAmount": 3,
|
||||
"soundEffect": [
|
||||
"cultist_nearby"
|
||||
],
|
||||
"canSee": "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])",
|
||||
"ppEffect": [
|
||||
[
|
||||
[
|
||||
"filmGrain",
|
||||
2005,
|
||||
[
|
||||
0.1,
|
||||
-1,
|
||||
0.05,
|
||||
0.05,
|
||||
2,
|
||||
false
|
||||
],
|
||||
1
|
||||
],
|
||||
[
|
||||
"chromAberration",
|
||||
2006,
|
||||
[
|
||||
0.01,
|
||||
0.01,
|
||||
true
|
||||
],
|
||||
5
|
||||
],
|
||||
[
|
||||
"colorCorrections",
|
||||
2007,
|
||||
[
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
[
|
||||
1.5,
|
||||
-1,
|
||||
-1.5,
|
||||
0.5
|
||||
],
|
||||
[
|
||||
5,
|
||||
3.5,
|
||||
-5,
|
||||
-0.5
|
||||
],
|
||||
[
|
||||
-3,
|
||||
5,
|
||||
-5,
|
||||
-0.5
|
||||
]
|
||||
],
|
||||
5
|
||||
],
|
||||
[
|
||||
"radialBlur",
|
||||
2008,
|
||||
[
|
||||
0.02,
|
||||
0.02,
|
||||
0.15,
|
||||
0.15
|
||||
],
|
||||
5
|
||||
]
|
||||
],
|
||||
2,
|
||||
[
|
||||
[],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
true
|
||||
],
|
||||
5
|
||||
],
|
||||
[
|
||||
[
|
||||
1,
|
||||
1,
|
||||
-0.01,
|
||||
[
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
[
|
||||
1.5,
|
||||
1,
|
||||
1.2,
|
||||
0.6
|
||||
],
|
||||
[
|
||||
0.199,
|
||||
0.587,
|
||||
0.114,
|
||||
0.2
|
||||
]
|
||||
],
|
||||
5
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
5
|
||||
]
|
||||
],
|
||||
5,
|
||||
[]
|
||||
],
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Toxicity",
|
||||
20,
|
||||
1
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
20,
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"EPOCH_RyanZombie_1": {
|
||||
"distance": 3,
|
||||
"toxicChance": 0.1,
|
||||
"bloodpChance": 0.9,
|
||||
"fatigueChance": 0.4,
|
||||
"bleedAmount": 30,
|
||||
"bloodpAmount": 3,
|
||||
"soundEffect": [
|
||||
[
|
||||
"ryanzombies\\sounds\\attack1.ogg",
|
||||
400
|
||||
],
|
||||
[
|
||||
"ryanzombies\\sounds\\attack2.ogg",
|
||||
400
|
||||
],
|
||||
[
|
||||
"ryanzombies\\sounds\\attack3.ogg",
|
||||
400
|
||||
],
|
||||
[
|
||||
"ryanzombies\\sounds\\attack4.ogg",
|
||||
400
|
||||
],
|
||||
[
|
||||
"ryanzombies\\sounds\\attack5.ogg",
|
||||
400
|
||||
]
|
||||
],
|
||||
"soundEffectGlobal": 1,
|
||||
"animationEffect": [
|
||||
"AwopPercMstpSgthWnonDnon_throw"
|
||||
],
|
||||
"animationEffectGlobal": 1,
|
||||
"canSee": "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])",
|
||||
"ppEffect": [],
|
||||
"interactMode": 3,
|
||||
"aliveState": 1,
|
||||
"interactAttributes": [
|
||||
[
|
||||
"Toxicity",
|
||||
5,
|
||||
1
|
||||
],
|
||||
[
|
||||
"Soiled",
|
||||
10,
|
||||
1
|
||||
]
|
||||
],
|
||||
"_inherit": "Default"
|
||||
},
|
||||
"EPOCH_RyanZombie_2": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_1_C": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_2_C": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3_C": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4_C": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5_C": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_1_Sp": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_2_Sp": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3_Sp": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4_Sp": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5_Sp": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_1_B": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_2_B": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3_B": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4_B": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5_B": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_1_W": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_2_W": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3_W": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4_W": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5_W": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_1_M": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_2_M": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3_M": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4_M": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5_M": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_1_S": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_2_S": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_3_S": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_4_S": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
},
|
||||
"EPOCH_RyanZombie_5_S": {
|
||||
"_inherit": "EPOCH_RyanZombie_1"
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,226 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": ["Andrew Gregory"],
|
||||
"@description": "RemoteExec whitelist for Epoch Survival gamemode. This also blacklists default A3 remoteExec commands.",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgRemoteExec": {
|
||||
"Functions": {
|
||||
"mode": 1,
|
||||
"jip": 0,
|
||||
"EPOCH_server_save_vehicles": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_saveBuilding": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_upgradeBUILD": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_removeBUILD": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_paintBUILD": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_maintBUILD": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_loadPlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_checkPlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_deadPlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_destroyTrash": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_knockDownTree": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_mineRocks": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_lootAnimal": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_handle_say3D": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_handle_switchMove": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_client_bitePlayer": {
|
||||
"allowedTargets": 1,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_upgradeGroup": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_updatePlayerGroup": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_createGroup": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_deleteGroup": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_invitePlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_lootContainer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_revivePlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_storeCrypto": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_tradeRequest": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_makeTrade": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_makeNPCTrade": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_takeCrypto": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_repairVehicle": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_fillVehicle": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_lockVehicle": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_equippedItem": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_lockStorage": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_packStorage": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_packJack": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_localCleanup": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_teleportPlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_fillContainer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_handle_sapperObjs": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_Server_createAirDrop": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_airDropCrate": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_Server_createObject": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_fnc_savePlayer": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_unpackBackpack": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_triggerAntagonist": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_deadPlayerDetonate": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"epoch_server_playersetvariable": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_spawn_vehicle": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_Server_missionComms": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_serverLootObject": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_makeMarker": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
},
|
||||
"EPOCH_server_removeMarker": {
|
||||
"allowedTargets": 2,
|
||||
"jip": 0
|
||||
}
|
||||
},
|
||||
"Commands": {
|
||||
"mode": 0
|
||||
}
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Custom Epoch config for say3d broadcasting to nearby players.",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgSay3Dhandler": {
|
||||
"snake_bite0": {
|
||||
"distance": 100
|
||||
},
|
||||
"cultist_nearby": {
|
||||
"distance": 100
|
||||
},
|
||||
"dog_bark": {
|
||||
"distance": 750
|
||||
},
|
||||
"dog_cry": {
|
||||
"distance": 600
|
||||
},
|
||||
"hed_cluck0": {
|
||||
"distance": 600
|
||||
},
|
||||
"hed_cluck1": {
|
||||
"distance": 600
|
||||
},
|
||||
"hed_cluck2": {
|
||||
"distance": 600
|
||||
},
|
||||
"cultist_talk": {
|
||||
"distance": 30
|
||||
},
|
||||
"cultist_laugh": {
|
||||
"distance": 30
|
||||
},
|
||||
"cloak_death": {
|
||||
"distance": 30
|
||||
},
|
||||
"drone_alert0": {
|
||||
"distance": 400
|
||||
},
|
||||
"sapper_alert0": {
|
||||
"distance": 400
|
||||
},
|
||||
"sapper_groan0": {
|
||||
"distance": 400
|
||||
},
|
||||
"sapper_groan1": {
|
||||
"distance": 400
|
||||
},
|
||||
"sapper_groan2": {
|
||||
"distance": 400
|
||||
},
|
||||
"sapper_explode": {
|
||||
"distance": 1000
|
||||
}
|
||||
}
|
||||
}
|
@ -1,288 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Custom Epoch config for base building Snap check offsets",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgSnapChecks": {
|
||||
"Hesco3_EPOCH": {
|
||||
"nails": [
|
||||
[
|
||||
[
|
||||
1.6,
|
||||
0,
|
||||
-0.6
|
||||
],
|
||||
[
|
||||
1.6,
|
||||
0,
|
||||
-0.75
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
-1.6,
|
||||
0,
|
||||
-0.6
|
||||
],
|
||||
[
|
||||
-1.6,
|
||||
0,
|
||||
-0.75
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
-0.0307557
|
||||
],
|
||||
[
|
||||
1.8625,
|
||||
0,
|
||||
-0.0307557
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
-0.0307557
|
||||
],
|
||||
[
|
||||
-1.8625,
|
||||
0,
|
||||
-0.0307557
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
"WoodLargeWall_EPOCH": {
|
||||
"nails": [
|
||||
[
|
||||
[
|
||||
2.46932,
|
||||
0,
|
||||
0.120775
|
||||
],
|
||||
[
|
||||
2.46932,
|
||||
0,
|
||||
-0.190775
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
-2.46932,
|
||||
0,
|
||||
0.120775
|
||||
],
|
||||
[
|
||||
-2.46932,
|
||||
0,
|
||||
-0.190775
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1.5
|
||||
],
|
||||
[
|
||||
2.76932,
|
||||
0,
|
||||
1.5
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
1.5
|
||||
],
|
||||
[
|
||||
-2.76932,
|
||||
0,
|
||||
1.5
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
"WoodWall1_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodWall2_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodWall3_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodWall4_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodLargeWallCor_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodLargeWallDoorway_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodLargeWallDoor_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodLargeWallDoorL_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"CinderWallGarage_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"CinderWall_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"CinderWallHalf_EPOCH": {
|
||||
"_inherit": "WoodLargeWall_EPOCH"
|
||||
},
|
||||
"WoodFloor_Epoch": {
|
||||
"nails": [
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
2.8555,
|
||||
0,
|
||||
0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
0,
|
||||
2.8555,
|
||||
0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
-2.8555,
|
||||
0,
|
||||
0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
0,
|
||||
-2.8555,
|
||||
0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
2.5555,
|
||||
0,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
2.5555,
|
||||
0,
|
||||
-0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
-2.5555,
|
||||
0,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
-2.5555,
|
||||
0,
|
||||
-0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
-2.5555,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
0,
|
||||
-2.5555,
|
||||
-0.15
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
0,
|
||||
2.5555,
|
||||
0.15
|
||||
],
|
||||
[
|
||||
0,
|
||||
2.5555,
|
||||
-0.15
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
"MetalFloor_EPOCH": {
|
||||
"_inherit": "WoodFloor_Epoch"
|
||||
},
|
||||
"WoodStairs_EPOCH": {
|
||||
"nails": [
|
||||
[
|
||||
[
|
||||
0.1,
|
||||
0,
|
||||
0.05
|
||||
],
|
||||
[
|
||||
0.1,
|
||||
0,
|
||||
-0.2
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
-0.1,
|
||||
0,
|
||||
0.05
|
||||
],
|
||||
[
|
||||
-0.1,
|
||||
0,
|
||||
-0.2
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
"WoodStairs2_EPOCH": {
|
||||
"_inherit": "WoodStairs_EPOCH"
|
||||
},
|
||||
"WoodTower_EPOCH": {
|
||||
"_inherit": "WoodStairs_EPOCH"
|
||||
},
|
||||
"WoodRamp_EPOCH": {
|
||||
"_inherit": "WoodStairs_EPOCH"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
{
|
||||
"_header": {
|
||||
"@author": "Aaron Clark - https://EpochMod.com",
|
||||
"@contributors": [],
|
||||
"@description": "Custom Epoch config for animation broadcasting to nearby players.",
|
||||
"@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/release/Sources/{filename}"
|
||||
},
|
||||
"CfgSwitchMovehandler": {
|
||||
"AovrPercMrunSrasWrflDf": {
|
||||
"distance": 1000
|
||||
},
|
||||
"epoch_unarmed_jump": {
|
||||
"distance": 1000
|
||||
},
|
||||
"AwopPercMstpSgthWnonDnon_throw": {
|
||||
"distance": 1000
|
||||
},
|
||||
"AmovPercMstpSnonWnonDnon_SaluteOut": {
|
||||
"distance": 1000
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
build=639;
|
||||
build=655;
|
||||
|
@ -1 +1 @@
|
||||
build=639;
|
||||
build=655;
|
||||
|
@ -39,6 +39,6 @@ if(_return isEqualTo[]) then {
|
||||
}forEach getArray(configFile >> _configName >> _keyName >> _arrayName);
|
||||
_return = [_lootTableArray,_weightedArray];
|
||||
missionNamespace setVariable[format["EPOCH_LT_%1_%2_%3",_configName,_keyName,_arrayName],_return];
|
||||
diag_log format["EPOCH_LT_%1_%2_%3 = %4",_configName,_keyName,_arrayName,_return];
|
||||
// diag_log format["EPOCH_LT_%1_%2_%3 = %4",_configName,_keyName,_arrayName,_return];
|
||||
};
|
||||
_return
|
||||
|
@ -12,7 +12,9 @@
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_trading/EPOCH_server_makeTrade.sqf
|
||||
*/
|
||||
private ["_current_crypto","_player","_object","_getCrypto"];
|
||||
//[[[cog import generate_private_arrays ]]]
|
||||
private ["_getCrypto"];
|
||||
//[[[end]]]
|
||||
params ["_player",["_token","",[""]],"_object"];
|
||||
|
||||
if !([_player,_token] call EPOCH_server_getPToken) exitWith {};
|
||||
@ -21,10 +23,10 @@ if (_player distance _object > 10) exitWith {};
|
||||
|
||||
_getCrypto = _object getVariable["Crypto", 0];
|
||||
if (_getCrypto > 0) then {
|
||||
|
||||
// remove crypto from object
|
||||
_object setVariable["Crypto", nil, true];
|
||||
// send data back to player
|
||||
[_player,_getCrypto] call EPOCH_server_effectCrypto;
|
||||
// debug and logging.
|
||||
diag_log format["Epoch: ADMIN: %1 picked up %2 Crypto from object %3 with puid %4 at %5", getPlayerUID _player, _current_crypto, [_object, typeOf _object],_object getVariable['PUID', ''],getposATL _object];
|
||||
diag_log format["Epoch: ADMIN: %1 picked up %2 Crypto from object %3 with puid %4 at %5", getPlayerUID _player, _getCrypto, [_object, typeOf _object],_object getVariable['PUID', ''],getposATL _object];
|
||||
};
|
||||
|
@ -507,7 +507,8 @@ for "_i" from 1 to 3 do {
|
||||
};
|
||||
|
||||
_skn_spawnPointCenter = getMarkerPos "respawn_west";
|
||||
_centerDistance = 30;
|
||||
_centerDistance = [_serverSettingsConfig, "antihack_TPcenterDistance", 30] call EPOCH_fnc_returnConfigEntry;
|
||||
_maxTravelDistance = [_serverSettingsConfig, "antihack_maxTravelDistance", 30] call EPOCH_fnc_returnConfigEntry;
|
||||
|
||||
// Only set these if prefix is not used since we can filter for it
|
||||
if (_skn_PVSPrefix == "") then {
|
||||
@ -869,8 +870,8 @@ _skn_code_antihack = compileFinal ("
|
||||
_curPos = getPosATL vehicle player;
|
||||
_distance = _lastPos distance _curPos;
|
||||
|
||||
if ((_curTime-_lastTime)>1 || _distance>10) then {
|
||||
if (((_distance/(_curTime-_lastTime)) > 16) && _notNearbySpawn && (player == vehicle player)) then {
|
||||
if ((_curTime-_lastTime) > 1 || _distance > "+str _maxTravelDistance+") then {
|
||||
if (((_distance/(_curTime-_lastTime)) > "+str _maxTravelDistance+") && _notNearbySpawn && (player == vehicle player)) then {
|
||||
if (isNil '"+_skn_antiTeleportPVC+"') then {
|
||||
[format['[TEST] TP from %1 to %2, %3 meters, now at %4', _lastPos, _curPos, round _distance, getPosATL player],1] call "+_sknBanANDSleep+";
|
||||
vehicle player setPosATL _lastPos;
|
||||
@ -1038,7 +1039,13 @@ call compile ("'"+_skn_doAdminRequest+"' addPublicVariableEventHandler {
|
||||
};
|
||||
};
|
||||
[format['Delete: %1 at [%2]',typeOf _content, getPos _content],0] call "+_skn_server_adminLog+";
|
||||
deleteVehicle _content;
|
||||
_content spawn {
|
||||
if !(isNull _this) then {
|
||||
_this hideObjectGlobal true;
|
||||
sleep 1;
|
||||
if !(isNull _this) then {deleteVehicle _this};
|
||||
};
|
||||
};
|
||||
};
|
||||
if (_case == 106) then {
|
||||
_admin hideObjectGlobal _content;
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
build=639;
|
||||
build=655;
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
build=639;
|
||||
build=655;
|
||||
|
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
Loading…
Reference in New Issue
Block a user