BaseCamOnlyHome + some fixes + Server install packs

This commit is contained in:
He-Man 2020-05-12 20:18:04 +02:00
parent 4b573034de
commit 43bf137642
40 changed files with 39 additions and 24 deletions

View File

@ -61,7 +61,7 @@ _mycams spawn {
Epoch_CamFilmGrain = ppEffectCreate ["FilmGrain", 2000 + 25];
};
Epoch_CamFilmGrain ppEffectEnable true;
_intensity = ((player distance Epoch_ActiveCam) / 10000) min 1;
_intensity = ((player distance Epoch_ActiveCam) / 4000) min 1;
_sharpness = 1.25 - _intensity;
Epoch_CamFilmGrain ppEffectAdjust [_intensity,_sharpness,2.01,0.75,1.0,true];
Epoch_CamFilmGrain ppEffectCommit 0;
@ -81,8 +81,11 @@ _mycams spawn {
_EpochCam camSetTarget _targetpos;
_EpochCam camCommit 0;
_dirs = [5,10,15,20,25,30,35,40,45,40,35,30,25,20,15,10,5,0,-5,-10,-15,-20,-25,-30,-35,-40,-45,-40,-35,-30,-25,-20,-15,-10,-5,0];
_GrainUpdateIntervall = 5;
_nextgrainupdate = diag_ticktime;
while {!isnull _display} do {
Epoch_CamAdjust params ["_dir","_height","_zoom"];
_playerdist = player distance Epoch_ActiveCam;
_AutoCam = Epoch_AutoCam;
if !(_ActiveCam isequalto Epoch_ActiveCam) then {
_ActiveCam = Epoch_ActiveCam;
@ -96,11 +99,14 @@ _mycams spawn {
_EpochCam cameraEffect ['internal', 'front'];
_EpochCam camCommit 0;
_targetheight = ((getposasl Epoch_ActiveCam) select 2)-50;
_intensity = ((player distance Epoch_ActiveCam) / 10000) min 1;
(_display displayctrl 1000) ctrlsettext format ["Cam %1",(_mycams find Epoch_ActiveCam) + 1];
};
if (_nextgrainupdate <= diag_ticktime) then {
_intensity = (_playerdist / 4000) min 1;
_sharpness = 1.25 - _intensity;
Epoch_CamFilmGrain ppEffectAdjust [_intensity,_sharpness,2.01,0.75,1.0,true];
Epoch_CamFilmGrain ppEffectCommit 0;
(_display displayctrl 1000) ctrlsettext format ["Cam %1",(_mycams find Epoch_ActiveCam) + 1];
Epoch_CamFilmGrain ppEffectCommit _GrainUpdateIntervall;
_nextgrainupdate = diag_ticktime + _GrainUpdateIntervall;
};
if !(Epoch_AutoCam) then {
_targetheight = ((_targetheight + _height) min 50) max -150;

View File

@ -56,6 +56,7 @@ class CfgEpochClient
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...)
MaxBuildingTilt = 180; // Max degrees players can tilt building elements
EnablePhysicsOnBuild = "true"; // Building parts need Snap (hold) points to not fall on the ground while building
BaseCamOnlyHome = "true"; // set to false, to allow BaseCam usage outside Players PlotPole range (doubleclick on BaseCam Terminal in Inventory)
class CfgJammers {
class PlotPole_EPOCH // Jammer Classname

View File

@ -25,6 +25,14 @@
params [["_vehicle",objnull],["_items",[]]];
private ["_subcontainersuffix"];
_subcontainersuffix = [];
clearweaponcargoglobal _vehicle;
clearitemcargoglobal _vehicle;
clearmagazinecargoglobal _vehicle;
clearbackpackcargoglobal _vehicle;
{
_objType = _forEachIndex;
_objTypes = _x;
@ -78,26 +86,23 @@ params [["_vehicle",objnull],["_items",[]]];
};
// Sub-Containers
case 4: {
_type = _x select 0;
_subContainers = (everycontainer _vehicle) select {(_x select 0) isequalto _type && magazinesAmmoCargo (_x select 1) isequalto [] && weaponsItemsCargo (_x select 1) isequalto []};
if !(_subContainers isequalto []) then {
_subContainer = _subContainers select 0 select 1;
[_subContainer,_x select 1] call EPOCH_server_CargoFill;
}
else {
if (_type isKindOf "Bag_Base") then {
_vehicle addBackpackCargoGlobal [_type, 1];
}
else {
_vehicle addItemCargoGlobal [_type, 1];
};
_subContainers = (everycontainer _vehicle) select {(_x select 0) isequalto _type && magazinesAmmoCargo (_x select 1) isequalto [] && weaponsItemsCargo (_x select 1) isequalto []};
if !(_subContainers isequalto []) then {
_subContainer = _subContainers select 0 select 1;
[_subContainer,_x select 1] call EPOCH_server_CargoFill;
};
};
_subcontainersuffix pushback _x;
};
};
} forEach _objTypes;
} forEach _items;
_subContainers = (everycontainer _vehicle);
{
clearweaponcargoglobal (_x select 1);
clearitemcargoglobal (_x select 1);
clearmagazinecargoglobal (_x select 1);
clearbackpackcargoglobal (_x select 1);
} foreach _subContainers;
{
_type = _x select 0;
_subContainers = (everycontainer _vehicle) select {(_x select 0) isequalto _type && magazinesAmmoCargo (_x select 1) isequalto [] && weaponsItemsCargo (_x select 1) isequalto []};
if !(_subContainers isequalto []) then {
_subContainer = _subContainers select 0 select 1;
[_subContainer,_x select 1] call EPOCH_server_CargoFill;
};
} foreach _subcontainersuffix;

View File

@ -23,7 +23,10 @@ All changes for [Arma 3](https://arma3.com/) [Epoch Mod](https://epochmod.com) a
- Cleaned up some scripts - more usage of already existing sub functions (EPOCH_server_CargoSave / EPOCH_server_CargoLoad)
- Option in cfgepochclient "SupressBaseSpawnOnHomekillTime" to prevent Base spawn for xxx seconds after BaseKill
- Karma variable is currently broken and caused community stats to not save correctly.
-Community save should be fixed now. Karma is still WIP
- Community save should be fixed now. Karma is still WIP
- Added a Config "BaseCamOnlyHome" in cfgepochclient to allow Players to use Basecamterminal (from Inventory) outside their Base
- Picture get more and more noisy by distance
- Fixed an issue, that new expansion Backpacks could get doubled on restarts
## [1.3.2.0] - 2019-11-02
### Added