mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
0.3.7.032
This commit is contained in:
parent
00c295078b
commit
585d0dd996
@ -15,11 +15,13 @@
|
|||||||
[ADDED-WIP] Copper Bars (ItemCopperBar).
|
[ADDED-WIP] Copper Bars (ItemCopperBar).
|
||||||
[ADDED-WIP] Tin Bars (ItemTinBar).
|
[ADDED-WIP] Tin Bars (ItemTinBar).
|
||||||
[ADDED-WIP] Plywood sheets in small and large stacks (ItemPlywood,ItemPlywoodPack).
|
[ADDED-WIP] Plywood sheets in small and large stacks (ItemPlywood,ItemPlywoodPack).
|
||||||
|
[Changed] Debug monitor now shows all custom stats dynamically based on config.
|
||||||
[Changed] Increased angle that the player is able to aim up.
|
[Changed] Increased angle that the player is able to aim up.
|
||||||
[Changed] Drinking Alcohol increases the new "Alcohol" stat instead of directly effecting blood pressure.
|
[Changed] Drinking Alcohol increases the new "Alcohol" stat instead of directly effecting blood pressure.
|
||||||
[Changed] Crafting Hesco barrier now require 3x Burlap.
|
[Changed] Crafting Hesco barrier now require 3x Burlap.
|
||||||
[Changed] Crafting wood and meta spike traps now require 2x Sticks.
|
[Changed] Crafting wood and metal spike traps now require 2x Sticks.
|
||||||
[Changed] Change all publicVariableServer calls to use remoteExec calls for better performance.
|
[Changed] Change all publicVariableServer calls to use remoteExec calls for better performance.
|
||||||
|
[Fixed] Reworked login to prevent getting stuck at "waiting for inventory".
|
||||||
[Fixed] Prevented death just after revive due still having high blood pressure.
|
[Fixed] Prevented death just after revive due still having high blood pressure.
|
||||||
[Fixed] Incorrectly being able to sell/buy items from a dead trader.
|
[Fixed] Incorrectly being able to sell/buy items from a dead trader.
|
||||||
[Fixed] Snakes now require line of sight to bite player.
|
[Fixed] Snakes now require line of sight to bite player.
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
7 allowDamage !="_unit allowDamage false;" !="_unit allowDamage true;" !="player allowDamage true;" !="vehicle player allowDamage true;" !="player allowDamage false;"
|
7 allowDamage !="_unit allowDamage false;" !="_unit allowDamage true;" !="player allowDamage true;" !="vehicle player allowDamage true;" !="player allowDamage false;"
|
||||||
7 addWeaponCargo !="_acceptHolder addWeaponCargo [_wWeapon, 1] ;"
|
7 addWeaponCargo !="_acceptHolder addWeaponCargo [_wWeapon, 1] ;"
|
||||||
7 onMapSingleClick !="onMapSingleClick '';"
|
7 onMapSingleClick !="onMapSingleClick '';"
|
||||||
7 addMagazine !"addMagazineCargo" !="player addMagazine _interactReturnOnUse;" !="player addMagazine _craftItem;" !="player addMagazine \"jerrycanE_epoch\";" !="player addMagazine \"emptyjar_epoch\";" !="player addMagazine \"jerrycan_epoch\";" !="player addMagazine \"Hatchet_swing\";" !="player addMagazine [(_x select 0),(_x select 1)]" !="player addMagazine _x;" !="if !(player canAdd (_x select 0)) exitWith {};\nplayer addMagazine[_x select 0, _x select 1];"
|
7 addMagazine !"addMagazineCargo" !="player addMagazine _craftItem;" !="player addMagazine \"jerrycanE_epoch\";" !="player addMagazine \"emptyjar_epoch\";" !="player addMagazine \"jerrycan_epoch\";" !="player addMagazine \"Hatchet_swing\";" !="player addMagazine [(_x select 0),(_x select 1)]" !="player addMagazine _x;" !="if !(player canAdd (_x select 0)) exitWith {};\nplayer addMagazine[_x select 0, _x select 1];"
|
||||||
7 addMagazineCargo !"_dogHolder addMagazineCargo [\"RabbitCarcass_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"Pelt_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"Venom_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"SnakeCarcass_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"ChickenCarcass_EPOCH\", 1]" !="_acceptHolder addMagazineCargo [_wAmmo, 1] ;"
|
7 addMagazineCargo !"_dogHolder addMagazineCargo [\"RabbitCarcass_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"Pelt_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"Venom_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"SnakeCarcass_EPOCH\", 1]" !"_dogHolder addMagazineCargo [\"ChickenCarcass_EPOCH\", 1]" !="_acceptHolder addMagazineCargo [_wAmmo, 1] ;"
|
||||||
7 addItem !="player addItem _item;" !="player addItem _craftItem;" !="player addItem _x;" !="_plyr addItemToVest _missionItem;" !="axeVIP addItemToVest _item;" !="_plyr addItemToVest _missionItem;" !="EPOCH_fnc_addItemOverflow"
|
7 addItem !="player addItem _item;" !="player addItem _craftItem;" !="player addItem _x;" !="_plyr addItemToVest _missionItem;" !="axeVIP addItemToVest _item;" !="_plyr addItemToVest _missionItem;" !="EPOCH_fnc_addItemOverflow"
|
||||||
7 addBackPack
|
7 addBackPack
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
/*%FSM<HEAD>*/
|
/*%FSM<HEAD>*/
|
||||||
/*
|
/*
|
||||||
item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
item0[] = {"INIT",0,250,-25.000000,-375.000000,75.000000,-325.000000,0.000000,"INIT"};
|
||||||
item1[] = {"FINISH",1,4346,-25.000000,1475.000000,75.000000,1525.000000,0.000000,"FINISH"};
|
item1[] = {"FINISH",1,250,-25.000000,1475.000000,75.000000,1525.000000,0.000000,"FINISH"};
|
||||||
item2[] = {"true",8,218,-150.000000,-125.000000,-50.000000,-75.000000,0.000000,"true"};
|
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"};
|
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"};
|
item4[] = {"Player_Object_Re",4,218,-150.000000,75.000000,-50.000000,125.000000,0.000000,"Player" \n "Object Ready"};
|
||||||
@ -28,7 +28,7 @@ item23[] = {"Wrong_Server_Ver",4,218,125.000000,475.000000,225.000000,525.000000
|
|||||||
item24[] = {"true",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"true"};
|
item24[] = {"true",8,218,-150.000000,1125.000000,-50.000000,1175.000000,0.000000,"true"};
|
||||||
item25[] = {"ERROR_Wrong_Server",2,250,275.000000,475.000000,375.000000,525.000000,0.000000,"ERROR" \n "Wrong" \n "Server Version"};
|
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..."};
|
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"};
|
item27[] = {"Setup_Player_Obj",2,4346,-25.000000,975.000000,75.000000,1025.000000,0.000000,"Setup Player" \n "Object"};
|
||||||
item28[] = {"Check_if_Player",4,218,750.000000,1225.000000,850.000000,1275.000000,0.000000,"Check if" \n "Player got Kicked"};
|
item28[] = {"Check_if_Player",4,218,750.000000,1225.000000,850.000000,1275.000000,0.000000,"Check if" \n "Player got Kicked"};
|
||||||
item29[] = {"Preload_done",8,218,-150.000000,1425.000000,-50.000000,1475.000000,0.000000,"Preload" \n "done"};
|
item29[] = {"Preload_done",8,218,-150.000000,1425.000000,-50.000000,1475.000000,0.000000,"Preload" \n "done"};
|
||||||
item30[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
item30[] = {"",7,210,471.000000,796.000000,479.000000,804.000000,0.000000,""};
|
||||||
@ -62,7 +62,7 @@ item57[] = {"Select_Weapon",2,250,150.000000,1300.000000,250.000000,1350.000000,
|
|||||||
item58[] = {"true",8,218,225.000000,1375.000000,325.000000,1425.000000,0.000000,"true"};
|
item58[] = {"true",8,218,225.000000,1375.000000,325.000000,1425.000000,0.000000,"true"};
|
||||||
item59[] = {"Do_nothing",2,250,300.000000,1300.000000,400.000000,1350.000000,0.000000,"Do nothing"};
|
item59[] = {"Do_nothing",2,250,300.000000,1300.000000,400.000000,1350.000000,0.000000,"Do nothing"};
|
||||||
item60[] = {"Check_New_Player",2,250,-25.000000,875.000000,75.000000,925.000000,0.000000,"Check" \n "New Player" \n "Setup"};
|
item60[] = {"Check_New_Player",2,250,-25.000000,875.000000,75.000000,925.000000,0.000000,"Check" \n "New Player" \n "Setup"};
|
||||||
item61[] = {"Wait_mag_count_m",4,218,-150.000000,925.000000,-50.000000,975.000000,0.000000,"Wait" \n "mag count match"};
|
item61[] = {"check_new__player",4,218,-150.000000,925.000000,-50.000000,975.000000,0.000000,"check new " \n "player not null"};
|
||||||
item62[] = {"true",8,218,-150.000000,-325.000000,-50.000000,-275.000000,0.000000,"true"};
|
item62[] = {"true",8,218,-150.000000,-325.000000,-50.000000,-275.000000,0.000000,"true"};
|
||||||
item63[] = {"Process_1",2,250,-25.000000,-275.000000,75.000000,-225.000000,0.000000,"Process"};
|
item63[] = {"Process_1",2,250,-25.000000,-275.000000,75.000000,-225.000000,0.000000,"Process"};
|
||||||
item64[] = {"Wait_ArmA_Loading",4,218,-150.000000,-225.000000,-50.000000,-175.000000,0.000000,"Wait ArmA" \n "Loading Screen" \n "Done"};
|
item64[] = {"Wait_ArmA_Loading",4,218,-150.000000,-225.000000,-50.000000,-175.000000,0.000000,"Wait ArmA" \n "Loading Screen" \n "Done"};
|
||||||
@ -190,8 +190,8 @@ link97[] = {85,79};
|
|||||||
link98[] = {86,16};
|
link98[] = {86,16};
|
||||||
link99[] = {86,22};
|
link99[] = {86,22};
|
||||||
link100[] = {87,31};
|
link100[] = {87,31};
|
||||||
globals[] = {0.000000,0,0,0,0,640,480,1,244,6316128,1,-35.555386,526.032166,1670.387451,1066.632935,586,630,1};
|
globals[] = {0.000000,0,0,0,0,640,480,1,244,6316128,1,-207.564026,582.257507,1595.816406,409.736633,586,880,1};
|
||||||
window[] = {2,-1,-1,-1,-1,994,182,1474,182,3,604};
|
window[] = {2,-1,-1,-1,-1,890,78,1370,78,3,604};
|
||||||
*//*%FSM</HEAD>*/
|
*//*%FSM</HEAD>*/
|
||||||
class FSM
|
class FSM
|
||||||
{
|
{
|
||||||
@ -588,6 +588,10 @@ class FSM
|
|||||||
name = "Setup_Player_Obj";
|
name = "Setup_Player_Obj";
|
||||||
init = /*%FSM<STATEINIT""">*/"_ply = player;" \n
|
init = /*%FSM<STATEINIT""">*/"_ply = player;" \n
|
||||||
"_group = group player;" \n
|
"_group = group player;" \n
|
||||||
|
"" \n
|
||||||
|
"player reveal _playerObject;" \n
|
||||||
|
"_playerPos = getposATL _playerObject;" \n
|
||||||
|
"" \n
|
||||||
"selectPlayer _playerObject;" \n
|
"selectPlayer _playerObject;" \n
|
||||||
"" \n
|
"" \n
|
||||||
"deleteVehicle _ply;" \n
|
"deleteVehicle _ply;" \n
|
||||||
@ -931,7 +935,7 @@ class FSM
|
|||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="FINISH";
|
to="FINISH";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"preloadCamera (getposATL player)"/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"preloadCamera _playerPos"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/"call compile _playerGroupOnline;"/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/"call compile _playerGroupOnline;"/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
@ -1020,9 +1024,6 @@ class FSM
|
|||||||
{
|
{
|
||||||
name = "Check_New_Player";
|
name = "Check_New_Player";
|
||||||
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
init = /*%FSM<STATEINIT""">*/"_myTime = diag_tickTime;" \n
|
||||||
"" \n
|
|
||||||
"// player reveal [_playerObject, 4];" \n
|
|
||||||
"" \n
|
|
||||||
"" \n
|
"" \n
|
||||||
"""Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
"""Loading Player Inventory... Please wait!"" call Epoch_updateLoadingScreen;" \n
|
||||||
"progressLoadingScreen 0.6;" \n
|
"progressLoadingScreen 0.6;" \n
|
||||||
@ -1030,13 +1031,13 @@ class FSM
|
|||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
class Links
|
class Links
|
||||||
{
|
{
|
||||||
/*%FSM<LINK "Wait_mag_count_m">*/
|
/*%FSM<LINK "check_new__player">*/
|
||||||
class Wait_mag_count_m
|
class check_new__player
|
||||||
{
|
{
|
||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="Setup_Player_Obj";
|
to="Setup_Player_Obj";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/"_magCount == count (magazines _playerObject)"/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"!(isNull _playerObject)"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
|
@ -210,7 +210,7 @@ switch _interactOption do {
|
|||||||
_newFuel = _newFuel / _fuelCapacity;
|
_newFuel = _newFuel / _fuelCapacity;
|
||||||
|
|
||||||
if (_item call _removeItem) then {
|
if (_item call _removeItem) then {
|
||||||
player addMagazine _interactReturnOnUse;
|
_interactReturnOnUse call EPOCH_fnc_addItemOverflow;
|
||||||
// send
|
// send
|
||||||
[_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2];
|
[_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2];
|
||||||
|
|
||||||
@ -228,7 +228,9 @@ switch _interactOption do {
|
|||||||
_newFuel = (((fuel _vehicle) * _fuelCapacity) - _canCapacity) / _fuelCapacity;
|
_newFuel = (((fuel _vehicle) * _fuelCapacity) - _canCapacity) / _fuelCapacity;
|
||||||
if (_newFuel > 0) then {
|
if (_newFuel > 0) then {
|
||||||
if (_item call _removeItem) then {
|
if (_item call _removeItem) then {
|
||||||
player addMagazine _interactReturnOnUse;
|
|
||||||
|
_interactReturnOnUse call EPOCH_fnc_addItemOverflow;
|
||||||
|
|
||||||
[_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2];
|
[_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2];
|
||||||
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Fuel Siphoned</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Fuel Siphoned</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||||
};
|
};
|
||||||
|
@ -15,57 +15,48 @@
|
|||||||
private["_hours"];
|
private["_hours"];
|
||||||
_hours = floor(servertime/60/60);
|
_hours = floor(servertime/60/60);
|
||||||
|
|
||||||
|
_customVars = "";
|
||||||
|
{
|
||||||
|
if !(_x in ["AliveTime","SpawnArray","HitPoints"]) then {
|
||||||
|
_customVars = _customVars + format["<t size='1.15' font='puristaLight' align='left'>%1: </t><t size='1.15' font='puristaLight' align='right'>%2</t><br/>", _x,missionNamespace getVariable [format ["EPOCH_player%1",_x],EPOCH_defaultVars select _forEachIndex]];
|
||||||
|
}
|
||||||
|
}forEach EPOCH_customVars;
|
||||||
|
|
||||||
hintSilent parseText format ["
|
hintSilent parseText format ["
|
||||||
<t size='1.25' font='puristaLight' align='center'>Welcome to Epoch Alpha</t><br/>
|
<t size='1.25' font='puristaLight' align='center'>Welcome to Epoch Alpha</t><br/>
|
||||||
<t size='1.18' font='puristaLight' align='center'>Current Version: %22</t><br/>
|
<t size='1.18' font='puristaLight' align='center'>Current Version: %1</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Temp: </t><t size='1.15' font='puristaLight' align='right'>%1</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Blood Pressure: </t><t size='1.15' font='puristaLight' align='right'>%2</t><br/>
|
" + _customVars + "
|
||||||
<t size='1.15' font='puristaLight' align='left'>Hunger: </t><t size='1.15' font='puristaLight' align='right'>%3</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Thirst: </t><t size='1.15' font='puristaLight' align='right'>%4</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Energy: </t><t size='1.15' font='puristaLight' align='right'>%5</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Wet: </t><t size='1.15' font='puristaLight' align='right'>%6</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Soiled: </t><t size='1.15' font='puristaLight' align='right'>%7</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Immunity: </t><t size='1.15' font='puristaLight' align='right'>%8</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Toxicity: </t><t size='1.15' font='puristaLight' align='right'>%9</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Stamina: </t><t size='1.15' font='puristaLight' align='right'>%10</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Fatigue: </t><t size='1.15' font='puristaLight' align='right'>%11</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Damage: </t><t size='1.15' font='puristaLight' align='right'>%12</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Bleeding: </t><t size='1.15' font='puristaLight' align='right'>%13</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Bleed Time: </t><t size='1.15' font='puristaLight' align='right'>%14</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Oxygen: </t><t size='1.15' font='puristaLight' align='right'>%15</t><br/>
|
|
||||||
<br/>
|
<br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Air Temp: </t><t size='1.15' font='puristaLight' align='right'>%16</t><br/>
|
|
||||||
<t size='1.15' font='puristaLight' align='left'>Water Temp: </t><t size='1.15' font='puristaLight' align='right'>%17</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Fatigue: </t><t size='1.15' font='puristaLight' align='right'>%2</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Rain: </t><t size='1.15' font='puristaLight' align='right'>%18</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Damage: </t><t size='1.15' font='puristaLight' align='right'>%3</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Overcast: </t><t size='1.15' font='puristaLight' align='right'>%19</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Bleeding: </t><t size='1.15' font='puristaLight' align='right'>%4</t><br/>
|
||||||
|
<t size='1.15' font='puristaLight' align='left'>Bleed Time: </t><t size='1.15' font='puristaLight' align='right'>%5</t><br/>
|
||||||
|
<t size='1.15' font='puristaLight' align='left'>Oxygen: </t><t size='1.15' font='puristaLight' align='right'>%6</t><br/>
|
||||||
<br/>
|
<br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Crypto: </t><t size='1.15' font='puristaLight' align='right'>%20</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Air Temp: </t><t size='1.15' font='puristaLight' align='right'>%7</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Hours Alive: </t><t size='1.15' font='puristaLight' align='right'>%21</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Water Temp: </t><t size='1.15' font='puristaLight' align='right'>%8</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>FPS: </t><t size='1.15' font='puristaLight' align='right'>%23</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Rain: </t><t size='1.15' font='puristaLight' align='right'>%9</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Server uptime: </t><t size='1.15' font='puristaLight' align='right'>%24h %25m</t><br/>
|
<t size='1.15' font='puristaLight' align='left'>Overcast: </t><t size='1.15' font='puristaLight' align='right'>%10</t><br/>
|
||||||
<t size='1.15' font='puristaLight' align='left'>Server FPS: </t><t size='1.15' font='puristaLight' align='right'>%26</t><br/>",
|
<br/>
|
||||||
EPOCH_playerTemp,
|
<t size='1.15' font='puristaLight' align='left'>Hours Alive: </t><t size='1.15' font='puristaLight' align='right'>%11</t><br/>
|
||||||
EPOCH_playerBloodP,
|
<t size='1.15' font='puristaLight' align='left'>FPS: </t><t size='1.15' font='puristaLight' align='right'>%12</t><br/>
|
||||||
EPOCH_playerHunger,
|
<t size='1.15' font='puristaLight' align='left'>Server uptime: </t><t size='1.15' font='puristaLight' align='right'>%13h %14m</t><br/>
|
||||||
EPOCH_playerThirst,
|
<t size='1.15' font='puristaLight' align='left'>Server FPS: </t><t size='1.15' font='puristaLight' align='right'>%15</t><br/>",
|
||||||
EPOCH_playerEnergy,
|
getText(configFile >> "CfgMods" >> "Epoch" >> "version"),
|
||||||
EPOCH_playerWet,
|
|
||||||
EPOCH_playerSoiled,
|
|
||||||
EPOCH_playerImmunity,
|
|
||||||
EPOCH_playerToxicity,
|
|
||||||
EPOCH_playerStamina,
|
|
||||||
(getFatigue player),
|
(getFatigue player),
|
||||||
(damage player),
|
(damage player),
|
||||||
(isBleeding player),
|
(isBleeding player),
|
||||||
(getBleedingRemaining player),
|
(getBleedingRemaining player),
|
||||||
(getOxygenRemaining player),
|
(getOxygenRemaining player),
|
||||||
|
|
||||||
EPOCH_CURRENT_WEATHER,
|
EPOCH_CURRENT_WEATHER,
|
||||||
(EPOCH_CURRENT_WEATHER/2),
|
(EPOCH_CURRENT_WEATHER/2),
|
||||||
rain,
|
rain,
|
||||||
overcast,
|
overcast,
|
||||||
EPOCH_playerCrypto,
|
|
||||||
round(EPOCH_playerAliveTime/360)/10,
|
round(EPOCH_playerAliveTime/360)/10,
|
||||||
getText(configFile >> "CfgMods" >> "Epoch" >> "version"),
|
|
||||||
round diag_fps,
|
round diag_fps,
|
||||||
_hours,
|
_hours,
|
||||||
round((serverTime/60)-(_hours*60)),
|
round((serverTime/60)-(_hours*60)),
|
||||||
|
@ -44,7 +44,7 @@ call compile ("
|
|||||||
case "+str(_this select 16)+": { Epoch_my_GroupUID = _data };
|
case "+str(_this select 16)+": { Epoch_my_GroupUID = _data };
|
||||||
case "+str(_this select 17)+": { _data call EPOCH_Group_invitePlayer };
|
case "+str(_this select 17)+": { _data call EPOCH_Group_invitePlayer };
|
||||||
case "+str(_this select 18)+": { _data call EPOCH_handleServerMessage };
|
case "+str(_this select 18)+": { _data call EPOCH_handleServerMessage };
|
||||||
case "+str(_this select 19)+": { {missionNamespace setVariable[format['EPOCH_player%1', _x], EPOCH_defaultVars select(EPOCH_customVars find _x)]} forEach['Temp','Hunger','Thirst','Toxicity','Stamina','HitPoints','BloodP']};
|
case "+str(_this select 19)+": { {missionNamespace setVariable[format['EPOCH_player%1', _x], EPOCH_defaultVars select(EPOCH_customVars find _x)]} forEach['Temp','Hunger','Thirst','Toxicity','Stamina','HitPoints','BloodP','Alcohol','Radiation']};
|
||||||
case "+str(_this select 20)+": { _data call EPOCH_mission_returnObj };
|
case "+str(_this select 20)+": { _data call EPOCH_mission_returnObj };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,142 +1,138 @@
|
|||||||
|
_currentTarget = objNull;
|
||||||
// current target
|
_cursorTarget = ([10] call EPOCH_fnc_cursorTarget);
|
||||||
|
if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
|
||||||
_currentTarget = objNull;
|
if (_cursorTarget isKindOf "ThingX" || _cursorTarget isKindOf "Constructions_static_F" || _cursorTarget isKindOf "Constructions_foundation_F" || _cursorTarget isKindOf "WeaponHolder" || _cursorTarget isKindOf "AllVehicles" || _cursorTarget isKindOf "PlotPole_EPOCH") then{
|
||||||
_cursorTarget = ([10] call EPOCH_fnc_cursorTarget);
|
if (_cursorTarget isKindOf "Animal_Base_F") then {
|
||||||
if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
|
if !(alive _cursorTarget) then {
|
||||||
if (_cursorTarget isKindOf "ThingX" || _cursorTarget isKindOf "Constructions_static_F" || _cursorTarget isKindOf "Constructions_foundation_F" || _cursorTarget isKindOf "WeaponHolder" || _cursorTarget isKindOf "AllVehicles" || _cursorTarget isKindOf "PlotPole_EPOCH") then{
|
_currentTarget = _cursorTarget;
|
||||||
if (_cursorTarget isKindOf "Animal_Base_F") then {
|
|
||||||
if !(alive _cursorTarget) then {
|
|
||||||
_currentTarget = _cursorTarget;
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_currentTarget = _cursorTarget;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
EPOCH_currentTarget = _currentTarget;
|
|
||||||
|
|
||||||
_increaseStamina = false;
|
|
||||||
_vehicle = vehicle player;
|
|
||||||
if (_vehicle == player) then {
|
|
||||||
_val = log(abs(speed player));
|
|
||||||
_staminaThreshold = 0.7;
|
|
||||||
if (EPOCH_playerIsSwimming) then {_staminaThreshold = 0.3};
|
|
||||||
if (_val>_staminaThreshold) then {
|
|
||||||
EPOCH_playerStamina = (EPOCH_playerStamina - (_val/4)) max 0;
|
|
||||||
} else {
|
|
||||||
_increaseStamina = true;
|
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
if (EPOCH_buildMode > 0) then {
|
_currentTarget = _cursorTarget;
|
||||||
EPOCH_buildMode = 0;
|
};
|
||||||
EPOCH_snapDirection = 0;
|
};
|
||||||
hintsilent "BUILD MODE: DISABLED";
|
};
|
||||||
EPOCH_Target = objNull;
|
EPOCH_currentTarget = _currentTarget;
|
||||||
// EPOCH_SURVEY = [];
|
|
||||||
};
|
_increaseStamina = false;
|
||||||
_increaseStamina = true;
|
_vehicle = vehicle player;
|
||||||
|
if (_vehicle == player) then {
|
||||||
switch (typeOf _vehicle) do {
|
_val = log(abs(speed player));
|
||||||
case "jetski_epoch": {
|
_staminaThreshold = 0.7;
|
||||||
_clock_hour10 = floor ((date select 3)/10);
|
if (EPOCH_playerIsSwimming) then {_staminaThreshold = 0.3};
|
||||||
_clock_minute10 = floor ((date select 4)/10);
|
if (_val>_staminaThreshold) then {
|
||||||
{
|
EPOCH_playerStamina = (EPOCH_playerStamina - (_val/4)) max 0;
|
||||||
_vehicle setObjectTexture [_forEachIndex,_x];
|
} else {
|
||||||
}forEach[
|
_increaseStamina = true;
|
||||||
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_hour10],
|
};
|
||||||
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 3)-(_clock_hour10*10)],
|
} else {
|
||||||
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_minute10],
|
if (EPOCH_buildMode > 0) then {
|
||||||
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 4)-(_clock_minute10*10)],
|
EPOCH_buildMode = 0;
|
||||||
format["\x\addons\a3_epoch_vehicles\data\fuel%1_ca.paa",floor(fuel _vehicle*10)]
|
EPOCH_snapDirection = 0;
|
||||||
];
|
hintsilent "BUILD MODE: DISABLED";
|
||||||
};
|
EPOCH_Target = objNull;
|
||||||
case "ebike_epoch": {
|
// EPOCH_SURVEY = [];
|
||||||
{
|
};
|
||||||
_vehicle setObjectTexture [_forEachIndex,_x];
|
_increaseStamina = true;
|
||||||
}forEach[
|
|
||||||
format["\x\addons\a3_epoch_vehicles\data\speed%1_ca.paa",floor(speed _vehicle/9) max 0],
|
switch (typeOf _vehicle) do {
|
||||||
format["\x\addons\a3_epoch_vehicles\data\energ%1_ca.paa",floor(fuel _vehicle*14)]
|
case "jetski_epoch": {
|
||||||
];
|
_clock_hour10 = floor ((date select 3)/10);
|
||||||
};
|
_clock_minute10 = floor ((date select 4)/10);
|
||||||
|
{
|
||||||
|
_vehicle setObjectTexture [_forEachIndex,_x];
|
||||||
|
}forEach[
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_hour10],
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 3)-(_clock_hour10*10)],
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_minute10],
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 4)-(_clock_minute10*10)],
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\fuel%1_ca.paa",floor(fuel _vehicle*10)]
|
||||||
|
];
|
||||||
|
};
|
||||||
|
case "ebike_epoch": {
|
||||||
|
{
|
||||||
|
_vehicle setObjectTexture [_forEachIndex,_x];
|
||||||
|
}forEach[
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\speed%1_ca.paa",floor(speed _vehicle/9) max 0],
|
||||||
|
format["\x\addons\a3_epoch_vehicles\data\energ%1_ca.paa",floor(fuel _vehicle*14)]
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
_envCold = EPOCH_playerTemp <= 95.0;
|
||||||
|
_envHot = EPOCH_playerTemp >= 106.7;
|
||||||
|
_hungry = EPOCH_playerHunger <= 0;
|
||||||
|
_thirsty = EPOCH_playerThirst <= 0;
|
||||||
|
_warnbloodPressure = EPOCH_playerBloodP > 120;
|
||||||
|
|
||||||
|
_thirst ctrlShow (EPOCH_playerThirst <= 625);
|
||||||
|
if (ctrlShown _thirst) then {
|
||||||
|
[_thirst,_thirsty] call _fadeUI;
|
||||||
|
_thirstScale = linearConversion [0,EPOCH_playerThirst,2500,0.01,1,true];
|
||||||
|
_thirst ctrlSetTextColor [_thirstScale, _thirstScale, 0.9, 1];
|
||||||
|
};
|
||||||
|
|
||||||
|
_hunger ctrlShow (EPOCH_playerHunger <= 1250);
|
||||||
|
if (ctrlShown _hunger) then {
|
||||||
|
[_hunger,_hungry] call _fadeUI;
|
||||||
|
_hungerScale = linearConversion [0,EPOCH_playerHunger,5000,0.01,1,true];
|
||||||
|
_hunger ctrlSetTextColor [1, _hungerScale, _hungerScale, 1];
|
||||||
|
};
|
||||||
|
|
||||||
|
_playerOxygen = getOxygenRemaining player;
|
||||||
|
_oxygen ctrlShow (_playerOxygen < 1);
|
||||||
|
if (ctrlShown _oxygen) then {
|
||||||
|
[_oxygen,(_playerOxygen <= 0.55)] call _fadeUI;
|
||||||
|
_oxygen ctrlSetTextColor [1, _playerOxygen, _playerOxygen, 1];
|
||||||
|
};
|
||||||
|
|
||||||
|
_hazzard ctrlShow (EPOCH_playerToxicity > 1);
|
||||||
|
if (ctrlShown _hazzard) then {
|
||||||
|
[_hazzard,(EPOCH_playerToxicity >= 55)] call _fadeUI;
|
||||||
|
_toxicScale = 1-linearConversion [0,EPOCH_playerToxicity,100,0.01,1,true];
|
||||||
|
_hazzard ctrlSetTextColor [_toxicScale, 1, _toxicScale, 1];
|
||||||
|
};
|
||||||
|
|
||||||
|
_broken ctrlShow ((player getHitPointDamage "HitLegs") >= 0.5);
|
||||||
|
if (ctrlShown _broken) then {
|
||||||
|
[_broken,true] call _fadeUI;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_envCold || _envHot || _hungry || _thirsty) then {
|
||||||
|
if (_envHot || _envCold) then {
|
||||||
|
player setFatigue 1;
|
||||||
|
};
|
||||||
|
EPOCH_playerBloodP = (EPOCH_playerBloodP + 0.05) min 190;
|
||||||
|
_increaseStamina = false;
|
||||||
|
} else {
|
||||||
|
if (EPOCH_playerStamina > 0) then {
|
||||||
|
if !(_panic) then {
|
||||||
|
if (!_warnbloodPressure) then {
|
||||||
|
player setFatigue 0;
|
||||||
};
|
};
|
||||||
|
EPOCH_playerBloodP = EPOCH_playerBloodP - 1 max 100;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
_envCold = EPOCH_playerTemp <= 95.0;
|
_critical = (damage player >= 0.7 || _warnbloodPressure);
|
||||||
_envHot = EPOCH_playerTemp >= 106.7;
|
_emergency ctrlShow _critical;
|
||||||
_hungry = EPOCH_playerHunger <= 0;
|
if (ctrlShown _emergency) then {
|
||||||
_thirsty = EPOCH_playerThirst <= 0;
|
[_emergency,(EPOCH_playerBloodP > 140)] call _fadeUI;
|
||||||
_warnbloodPressure = EPOCH_playerBloodP > 120;
|
_emergencyScale = 1-linearConversion [0,EPOCH_playerBloodP,180,0.01,1,true];
|
||||||
|
_emergency ctrlSetTextColor [1, _emergencyScale, _emergencyScale, 1];
|
||||||
|
};
|
||||||
|
|
||||||
_thirst ctrlShow (EPOCH_playerThirst <= 625);
|
if (EPOCH_playerBloodP >= 180) then {
|
||||||
if (ctrlShown _thirst) then {
|
true call EPOCH_pushCustomVar;
|
||||||
[_thirst,_thirsty] call _fadeUI;
|
};
|
||||||
_thirstScale = linearConversion [0,EPOCH_playerThirst,2500,0.01,1,true];
|
if (_increaseStamina && (getFatigue player) == 0) then {
|
||||||
_thirst ctrlSetTextColor [_thirstScale, _thirstScale, 0.9, 1];
|
EPOCH_playerStamina = (EPOCH_playerStamina + 0.5) min EPOCH_playerStaminaMax;
|
||||||
};
|
};
|
||||||
|
if (EPOCH_debugMode) then {
|
||||||
|
call EPOCH_debugMonitor;
|
||||||
|
};
|
||||||
|
|
||||||
_hunger ctrlShow (EPOCH_playerHunger <= 1250);
|
call EPOCH_TradeLoop;
|
||||||
if (ctrlShown _hunger) then {
|
|
||||||
[_hunger,_hungry] call _fadeUI;
|
|
||||||
_hungerScale = linearConversion [0,EPOCH_playerHunger,5000,0.01,1,true];
|
|
||||||
_hunger ctrlSetTextColor [1, _hungerScale, _hungerScale, 1];
|
|
||||||
};
|
|
||||||
|
|
||||||
_playerOxygen = getOxygenRemaining player;
|
onEachFrame EPOCH_onEachFrame;
|
||||||
_oxygen ctrlShow (_playerOxygen < 1);
|
|
||||||
if (ctrlShown _oxygen) then {
|
|
||||||
[_oxygen,(_playerOxygen <= 0.55)] call _fadeUI;
|
|
||||||
_oxygen ctrlSetTextColor [1, _playerOxygen, _playerOxygen, 1];
|
|
||||||
};
|
|
||||||
|
|
||||||
_hazzard ctrlShow (EPOCH_playerToxicity > 1);
|
|
||||||
if (ctrlShown _hazzard) then {
|
|
||||||
[_hazzard,(EPOCH_playerToxicity >= 55)] call _fadeUI;
|
|
||||||
_toxicScale = 1-linearConversion [0,EPOCH_playerToxicity,100,0.01,1,true];
|
|
||||||
_hazzard ctrlSetTextColor [_toxicScale, 1, _toxicScale, 1];
|
|
||||||
};
|
|
||||||
|
|
||||||
_broken ctrlShow ((player getHitPointDamage "HitLegs") >= 0.5);
|
|
||||||
if (ctrlShown _broken) then {
|
|
||||||
[_broken,true] call _fadeUI;
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_envCold || _envHot || _hungry || _thirsty) then {
|
|
||||||
if (_envHot || _envCold) then {
|
|
||||||
player setFatigue 1;
|
|
||||||
};
|
|
||||||
EPOCH_playerBloodP = (EPOCH_playerBloodP + 0.05) min 190;
|
|
||||||
_increaseStamina = false;
|
|
||||||
} else {
|
|
||||||
if (EPOCH_playerStamina > 0) then {
|
|
||||||
if !(_panic) then {
|
|
||||||
if (!_warnbloodPressure) then {
|
|
||||||
player setFatigue 0;
|
|
||||||
};
|
|
||||||
EPOCH_playerBloodP = EPOCH_playerBloodP - 1 max 100;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
_critical = (damage player >= 0.7 || _warnbloodPressure);
|
|
||||||
_emergency ctrlShow _critical;
|
|
||||||
if (ctrlShown _emergency) then {
|
|
||||||
[_emergency,(EPOCH_playerBloodP > 140)] call _fadeUI;
|
|
||||||
_emergencyScale = 1-linearConversion [0,EPOCH_playerBloodP,180,0.01,1,true];
|
|
||||||
_emergency ctrlSetTextColor [1, _emergencyScale, _emergencyScale, 1];
|
|
||||||
};
|
|
||||||
|
|
||||||
if (EPOCH_playerBloodP >= 180) then {
|
|
||||||
true call EPOCH_pushCustomVar;
|
|
||||||
};
|
|
||||||
if (_increaseStamina && (getFatigue player) == 0) then {
|
|
||||||
EPOCH_playerStamina = (EPOCH_playerStamina + 0.5) min EPOCH_playerStaminaMax;
|
|
||||||
};
|
|
||||||
if (EPOCH_debugMode) then {
|
|
||||||
call EPOCH_debugMonitor;
|
|
||||||
};
|
|
||||||
|
|
||||||
call EPOCH_TradeLoop;
|
|
||||||
|
|
||||||
|
|
||||||
onEachFrame EPOCH_onEachFrame;
|
|
||||||
|
@ -1,97 +1,103 @@
|
|||||||
|
if !(EPOCH_arr_interactedObjs isEqualTo[]) then {
|
||||||
|
EPOCH_arr_interactedObjs remoteExec["EPOCH_server_save_vehicles", 2];
|
||||||
|
EPOCH_arr_interactedObjs = [];
|
||||||
|
};
|
||||||
|
|
||||||
if !(EPOCH_arr_interactedObjs isEqualTo[]) then {
|
if (damage player != _damagePlayer) then {
|
||||||
EPOCH_arr_interactedObjs remoteExec["EPOCH_server_save_vehicles", 2];
|
if (alive player) then {
|
||||||
EPOCH_arr_interactedObjs = [];
|
true call EPOCH_pushCustomVar;
|
||||||
};
|
_damagePlayer = damage player;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
if (damage player != _damagePlayer) then {
|
// this fixes issues with players being unable to ride in the same vehicle
|
||||||
if (alive player) then {
|
if ((rating player) < 0) then {
|
||||||
true call EPOCH_pushCustomVar;
|
player addRating abs(rating player);
|
||||||
_damagePlayer = damage player;
|
};
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
if ((rating player) < 0) then {
|
// calculate total available power
|
||||||
player addRating abs(rating player);
|
// 1. number of power production devices within range 75m
|
||||||
};
|
|
||||||
|
|
||||||
// calculate total available power
|
// find share of power based on factors
|
||||||
// 1. number of power production devices within range 75m
|
// 1. number of players
|
||||||
|
// 2. Other sources of drain (Lights)
|
||||||
|
|
||||||
// find share of power based on factors
|
_energyValue = EPOCH_chargeRate min _energyRegenMax;
|
||||||
// 1. number of players
|
_vehicle = vehicle player;
|
||||||
// 2. Other sources of drain (Lights)
|
if (_vehicle != player && isEngineOn _vehicle) then {
|
||||||
|
_energyValue = _energyValue + 5;
|
||||||
|
};
|
||||||
|
|
||||||
_energyValue = EPOCH_chargeRate min _energyRegenMax;
|
if (currentVisionMode player == 1) then { //NV enabled
|
||||||
_vehicle = vehicle player;
|
_energyValue = _energyValue - _energyCostNV;
|
||||||
if (_vehicle != player && isEngineOn _vehicle) then {
|
if (EPOCH_playerEnergy == 0) then {
|
||||||
_energyValue = _energyValue + 5;
|
player action["nvGogglesOff", player];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
if (currentVisionMode player == 1) then { //NV enabled
|
// Sets visual effect
|
||||||
_energyValue = _energyValue - _energyCostNV;
|
if (EPOCH_playerAlcohol > 20) then {
|
||||||
if (EPOCH_playerEnergy == 0) then {
|
_drunkVal = linearConversion [0,100,EPOCH_playerAlcohol,0.1,1,true];
|
||||||
player action["nvGogglesOff", player];
|
[(round(_drunkVal * 10)/10), 2] call epoch_setDrunk;
|
||||||
};
|
diag_log format["DEBUG: _drunkVal: %1",_drunkVal];
|
||||||
};
|
} else {
|
||||||
|
[0, 2] call epoch_setDrunk;
|
||||||
|
};
|
||||||
|
|
||||||
EPOCH_playerEnergy = ((EPOCH_playerEnergy + _energyValue) min EPOCH_playerEnergyMax) max 0;
|
EPOCH_playerEnergy = ((EPOCH_playerEnergy + _energyValue) min EPOCH_playerEnergyMax) max 0;
|
||||||
|
|
||||||
if !(EPOCH_playerEnergy isEqualTo _prevEnergy) then {
|
if !(EPOCH_playerEnergy isEqualTo _prevEnergy) then {
|
||||||
9993 cutRsc["EpochGameUI3", "PLAIN", 0, false];
|
9993 cutRsc["EpochGameUI3", "PLAIN", 0, false];
|
||||||
_display3 = uiNamespace getVariable "EPOCH_EpochGameUI3";
|
_display3 = uiNamespace getVariable "EPOCH_EpochGameUI3";
|
||||||
_energyDiff = round(EPOCH_playerEnergy - _prevEnergy);
|
_energyDiff = round(EPOCH_playerEnergy - _prevEnergy);
|
||||||
_diffText = if (_energyDiff > 0) then {format["+%1",_energyDiff]} else {format["%1",_energyDiff]};
|
_diffText = if (_energyDiff > 0) then {format["+%1",_energyDiff]} else {format["%1",_energyDiff]};
|
||||||
// hint str [_energyValue,_prevEnergy,EPOCH_playerEnergy];
|
// hint str [_energyValue,_prevEnergy,EPOCH_playerEnergy];
|
||||||
(_display3 displayCtrl 21210) ctrlSetText format["%1/%2 %3", round(EPOCH_playerEnergy), EPOCH_playerEnergyMax, _diffText];
|
(_display3 displayCtrl 21210) ctrlSetText format["%1/%2 %3", round(EPOCH_playerEnergy), EPOCH_playerEnergyMax, _diffText];
|
||||||
_prevEnergy = EPOCH_playerEnergy;
|
_prevEnergy = EPOCH_playerEnergy;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (EPOCH_playerEnergy == 0) then {
|
if (EPOCH_playerEnergy == 0) then {
|
||||||
if (EPOCH_buildMode > 0) then {
|
if (EPOCH_buildMode > 0) then {
|
||||||
EPOCH_buildMode = 0;
|
EPOCH_buildMode = 0;
|
||||||
EPOCH_snapDirection = 0;
|
EPOCH_snapDirection = 0;
|
||||||
_dt = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>Build Mode Disabled: Need Energy< / t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
_dt = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>Build Mode Disabled: Need Energy< / t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||||
EPOCH_Target = objNull;
|
EPOCH_Target = objNull;
|
||||||
EPOCH_Z_OFFSET = 0;
|
EPOCH_Z_OFFSET = 0;
|
||||||
EPOCH_X_OFFSET = 0;
|
EPOCH_X_OFFSET = 0;
|
||||||
EPOCH_Y_OFFSET = 5;
|
EPOCH_Y_OFFSET = 5;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
_attackers = player nearEntities[["Snake_random_EPOCH", "GreatWhite_F", "Epoch_Cloak_F"], 30];
|
_attackers = player nearEntities[["Snake_random_EPOCH", "GreatWhite_F", "Epoch_Cloak_F"], 30];
|
||||||
if !(_attackers isEqualTo[]) then {
|
if !(_attackers isEqualTo[]) then {
|
||||||
(_attackers select 0) call EPOCH_client_bitePlayer;
|
(_attackers select 0) call EPOCH_client_bitePlayer;
|
||||||
_panic = true;
|
_panic = true;
|
||||||
} else {
|
} else {
|
||||||
// custom poision
|
// custom poision
|
||||||
_toxicObjs = player nearobjects["SmokeShellCustom", 6];
|
_toxicObjs = player nearobjects["SmokeShellCustom", 6];
|
||||||
if!(_toxicObjs IsEqualTo[]) then {
|
if!(_toxicObjs IsEqualTo[]) then {
|
||||||
(_toxicObjs select 0) call EPOCH_client_bitePlayer;
|
(_toxicObjs select 0) call EPOCH_client_bitePlayer;
|
||||||
_panic = true;
|
_panic = true;
|
||||||
} else {
|
} else {
|
||||||
_panic = false;
|
_panic = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
call EPOCH_fnc_Weather;
|
call EPOCH_fnc_Weather;
|
||||||
|
|
||||||
// Hunger / Thirst
|
// Hunger / Thirst
|
||||||
_HTlossRate = _baseHTLoss;
|
_HTlossRate = _baseHTLoss;
|
||||||
if (EPOCH_playerStamina < 100) then {
|
if (EPOCH_playerStamina < 100) then {
|
||||||
if ((getFatigue player) > 0) then {
|
if ((getFatigue player) > 0) then {
|
||||||
_HTlossRate = _HTlossRate + (_HTlossRate*(getFatigue player));
|
_HTlossRate = _HTlossRate + (_HTlossRate*(getFatigue player));
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
_HTlossRate = (_HTlossRate / 2);
|
_HTlossRate = (_HTlossRate / 2);
|
||||||
};
|
};
|
||||||
|
|
||||||
EPOCH_playerHunger = (EPOCH_playerHunger - _HTlossRate) max 0;
|
EPOCH_playerHunger = (EPOCH_playerHunger - _HTlossRate) max 0;
|
||||||
EPOCH_playerThirst = (EPOCH_playerThirst - _HTlossRate) max 0;
|
EPOCH_playerThirst = (EPOCH_playerThirst - _HTlossRate) max 0;
|
||||||
|
|
||||||
call _lootBubble;
|
call _lootBubble;
|
||||||
|
|
||||||
EPOCH_playerStaminaMax = (100 * (round(EPOCH_playerAliveTime/360)/10)) min 2500;
|
EPOCH_playerStaminaMax = (100 * (round(EPOCH_playerAliveTime/360)/10)) min 2500;
|
||||||
|
|
||||||
//player setAnimSpeedCoef 0.75;
|
|
||||||
//player setCustomAimCoef 1;
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
|
if !(_prevEquippedItem isEqualTo EPOCH_equippedItem_PVS) then {
|
||||||
if !(_prevEquippedItem isEqualTo EPOCH_equippedItem_PVS) then {
|
_EPOCH_15 = _tickTime;
|
||||||
_EPOCH_15 = _tickTime;
|
_prevEquippedItem = EPOCH_equippedItem_PVS;
|
||||||
_prevEquippedItem = EPOCH_equippedItem_PVS;
|
EPOCH_equippedItem_PVS remoteExec ["EPOCH_server_equippedItem",2];
|
||||||
EPOCH_equippedItem_PVS remoteExec ["EPOCH_server_equippedItem",2];
|
};
|
||||||
};
|
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
|
_nearByBobbersLocal = [];
|
||||||
|
_nearByBobbers = player nearEntities[["Bobber_EPOCH"], 12];
|
||||||
|
{
|
||||||
|
if (local _x) then {
|
||||||
|
_nearByBobbersLocal pushBack _x
|
||||||
|
}
|
||||||
|
} forEach _nearByBobbers;
|
||||||
|
|
||||||
_nearByBobbersLocal = [];
|
if !(_nearByBobbersLocal isEqualTo []) then {
|
||||||
_nearByBobbers = player nearEntities[["Bobber_EPOCH"], 12];
|
if ((random 100) < 50) then {
|
||||||
{
|
_bobber = _nearByBobbersLocal select floor(random(count _nearByBobbers));
|
||||||
if (local _x) then {
|
_bobber setVelocity [0,-1,-1];
|
||||||
_nearByBobbersLocal pushBack _x
|
_bobber setVariable ["EPOCH_fishOnLine" , diag_tickTime];
|
||||||
}
|
};
|
||||||
} forEach _nearByBobbers;
|
};
|
||||||
|
|
||||||
if !(_nearByBobbersLocal isEqualTo []) then {
|
|
||||||
if ((random 100) < 50) then {
|
|
||||||
_bobber = _nearByBobbersLocal select floor(random(count _nearByBobbers));
|
|
||||||
_bobber setVelocity [0,-1,-1];
|
|
||||||
_bobber setVariable ["EPOCH_fishOnLine" , diag_tickTime];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
_position = getPosATL player;
|
_position = getPosATL player;
|
||||||
|
|
||||||
EPOCH_nearestLocations = nearestLocations[player, ["NameCityCapital", "NameCity", "Airport"], 300];
|
EPOCH_nearestLocations = nearestLocations[player, ["NameCityCapital", "NameCity", "Airport"], 300];
|
||||||
|
|
||||||
EPOCH_playerIsSwimming = false;
|
EPOCH_playerIsSwimming = false;
|
||||||
|
|
||||||
if !(surfaceIsWater _position) then {
|
if !(surfaceIsWater _position) then {
|
||||||
@ -14,9 +15,7 @@ if !(surfaceIsWater _position) then {
|
|||||||
// spawn shark if player is deep water and not in vehicle
|
// spawn shark if player is deep water and not in vehicle
|
||||||
if (vehicle player == player) then{
|
if (vehicle player == player) then{
|
||||||
_offsetZ = ((_position vectorDiff getPosASL player) select 2);
|
_offsetZ = ((_position vectorDiff getPosASL player) select 2);
|
||||||
if (_offsetZ > 1.7) then {
|
EPOCH_playerIsSwimming = (_offsetZ > 1.7);
|
||||||
EPOCH_playerIsSwimming = true;
|
|
||||||
};
|
|
||||||
if (_offsetZ > 50) then {
|
if (_offsetZ > 50) then {
|
||||||
"GreatWhite_F" call EPOCH_unitSpawn;
|
"GreatWhite_F" call EPOCH_unitSpawn;
|
||||||
};
|
};
|
||||||
@ -55,6 +54,8 @@ if !(_powerSources isEqualTo[]) then {
|
|||||||
EPOCH_nearPower = true;
|
EPOCH_nearPower = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
// downtick Alcohol
|
||||||
|
EPOCH_playerAlcohol = ((EPOCH_playerAlcohol - 1) min 100) max 0;
|
||||||
|
|
||||||
EPOCH_playerAliveTime = round(EPOCH_playerAliveTime + (_tickTime - EPOCH_clientAliveTimer));
|
EPOCH_playerAliveTime = round(EPOCH_playerAliveTime + (_tickTime - EPOCH_clientAliveTimer));
|
||||||
EPOCH_clientAliveTimer = _tickTime;
|
EPOCH_clientAliveTimer = _tickTime;
|
||||||
|
@ -13,6 +13,7 @@ _energyRegenMax = ["CfgEpochClient", "energyRegenMax", 5] call EPOCH_fnc_returnC
|
|||||||
_energyRange = ["CfgEpochClient", "energyRange", 75] call EPOCH_fnc_returnConfigEntryV2;
|
_energyRange = ["CfgEpochClient", "energyRange", 75] call EPOCH_fnc_returnConfigEntryV2;
|
||||||
|
|
||||||
EPOCH_chargeRate = 0;
|
EPOCH_chargeRate = 0;
|
||||||
|
EPOCH_playerIsSwimming = false;
|
||||||
|
|
||||||
// default data if mismatch
|
// default data if mismatch
|
||||||
if (count EPOCH_playerSpawnArray != count EPOCH_spawnIndex) then{
|
if (count EPOCH_playerSpawnArray != count EPOCH_spawnIndex) then{
|
||||||
|
@ -11,11 +11,11 @@ private ["_level","_speed"];
|
|||||||
params [["_level",0,[0]],["_speed",0,[0]]];
|
params [["_level",0,[0]],["_speed",0,[0]]];
|
||||||
|
|
||||||
if (isNil "rmx_var_drunkHandles") then {
|
if (isNil "rmx_var_drunkHandles") then {
|
||||||
|
|
||||||
_priority = 15;
|
_priority = 15;
|
||||||
_wd = ["wetdistortion",_priority] call epoch_postProcessCreate;
|
_wd = ["wetdistortion",_priority] call epoch_postProcessCreate;
|
||||||
_db = ["dynamicBlur",_priority] call epoch_postProcessCreate;
|
_db = ["dynamicBlur",_priority] call epoch_postProcessCreate;
|
||||||
|
|
||||||
rmx_var_drunkHandles = [_wd,_db];
|
rmx_var_drunkHandles = [_wd,_db];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -71,4 +71,4 @@ switch _level do {
|
|||||||
[(rmx_var_drunkHandles select 0), _speed, [1,0.0723131,-0.0433885,1,-0.592987,-0.811979,-1,0.882248,-1,1,1,0,0,0.373996,-1]] call epoch_postprocessAdjust;
|
[(rmx_var_drunkHandles select 0), _speed, [1,0.0723131,-0.0433885,1,-0.592987,-0.811979,-1,0.882248,-1,1,1,0,0,0.373996,-1]] call epoch_postprocessAdjust;
|
||||||
[(rmx_var_drunkHandles select 1), _speed, [0.151864]] call epoch_postprocessAdjust;
|
[(rmx_var_drunkHandles select 1), _speed, [0.151864]] call epoch_postprocessAdjust;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user