0.3.7.032

This commit is contained in:
vbawol 2016-01-15 13:22:40 -06:00
parent 00c295078b
commit 585d0dd996
13 changed files with 294 additions and 297 deletions

View File

@ -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.

View File

@ -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

View File

@ -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>*/

View File

@ -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;
}; };

View File

@ -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)),

View File

@ -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 };
}; };
}; };

View File

@ -1,6 +1,3 @@
// current target
_currentTarget = objNull; _currentTarget = objNull;
_cursorTarget = ([10] call EPOCH_fnc_cursorTarget); _cursorTarget = ([10] call EPOCH_fnc_cursorTarget);
if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then { if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
@ -138,5 +135,4 @@
call EPOCH_TradeLoop; call EPOCH_TradeLoop;
onEachFrame EPOCH_onEachFrame; onEachFrame EPOCH_onEachFrame;

View File

@ -1,4 +1,3 @@
if !(EPOCH_arr_interactedObjs isEqualTo[]) then { if !(EPOCH_arr_interactedObjs isEqualTo[]) then {
EPOCH_arr_interactedObjs remoteExec["EPOCH_server_save_vehicles", 2]; EPOCH_arr_interactedObjs remoteExec["EPOCH_server_save_vehicles", 2];
EPOCH_arr_interactedObjs = []; EPOCH_arr_interactedObjs = [];
@ -11,6 +10,7 @@
}; };
}; };
// this fixes issues with players being unable to ride in the same vehicle
if ((rating player) < 0) then { if ((rating player) < 0) then {
player addRating abs(rating player); player addRating abs(rating player);
}; };
@ -35,6 +35,15 @@
}; };
}; };
// Sets visual effect
if (EPOCH_playerAlcohol > 20) then {
_drunkVal = linearConversion [0,100,EPOCH_playerAlcohol,0.1,1,true];
[(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 {
@ -92,6 +101,3 @@
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;

View File

@ -1,4 +1,3 @@
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;

View File

@ -1,4 +1,3 @@
_nearByBobbersLocal = []; _nearByBobbersLocal = [];
_nearByBobbers = player nearEntities[["Bobber_EPOCH"], 12]; _nearByBobbers = player nearEntities[["Bobber_EPOCH"], 12];
{ {
@ -13,5 +12,4 @@
_bobber setVelocity [0,-1,-1]; _bobber setVelocity [0,-1,-1];
_bobber setVariable ["EPOCH_fishOnLine" , diag_tickTime]; _bobber setVariable ["EPOCH_fishOnLine" , diag_tickTime];
}; };
}; };

View File

@ -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;

View File

@ -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{