mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
Epoch Survival 0.4 b646
removed "wet" HUD icon for now. reworked login fsm, thanks to some feedback on the forum. removed most blocking of f1-12 keys and number keys via keyDown function. comment out some diag_log spam. workaround for Arma 3 client crash when an admin uses F5 to delete a vehicle. Fixed Ryan Zombies mod detection issues. Optimized and fixed wall state issues thanks to @Ignatz-HeMan for PR and Xirtti for the feedback.
This commit is contained in:
parent
903bcb36b8
commit
c15ea5c42b
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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)_"
|
||||
|
@ -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];
|
||||
|
@ -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,10 +63,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]];
|
||||
if ([_recipeItem, "CfgWeapons"] call EPOCH_fnc_isAny) then{
|
||||
_items = items player;
|
||||
_currentCount = { _x == _recipeItem } count _items;
|
||||
|
@ -36,10 +36,6 @@ if !(alive player) exitWith{ false };
|
||||
|
||||
EPOCH_doRotate = false;
|
||||
|
||||
if (_dikCode in [0x58,0x57,0x44,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x0B,0x0A,0x09,0x08,0x07,0x06,0x0E]) then {
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
// increase vol
|
||||
if (_ctrl && _dikCode == EPOCH_keysVolumeUp) then {
|
||||
EPOCH_soundLevel = (EPOCH_soundLevel + 0.1) min 1;
|
||||
|
@ -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;
|
||||
|
@ -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];
|
||||
|
||||
|
@ -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 (getNumber (configFile >> "CfgPatches" >> "Ryanzombies" >> "version")) >= 4.5);
|
||||
if (EPOCH_mod_Ryanzombies_Enabled) then {
|
||||
diag_log "Epoch: Ryanzombies detected";
|
||||
};
|
||||
|
@ -41,7 +41,7 @@ class CfgEpochClient
|
||||
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)";
|
||||
|
@ -340,11 +340,6 @@
|
||||
"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",
|
||||
|
@ -1 +1 @@
|
||||
build=640;
|
||||
build=646;
|
||||
|
@ -1 +1 @@
|
||||
build=640;
|
||||
build=646;
|
||||
|
@ -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
|
||||
|
@ -1038,7 +1038,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;
|
||||
|
@ -1 +1 @@
|
||||
build=640;
|
||||
build=646;
|
||||
|
@ -1 +1 @@
|
||||
build=640;
|
||||
build=646;
|
||||
|
Loading…
Reference in New Issue
Block a user