AFAIK there is no performance difference between configFile and
missionConfigFile.
Using missionConfigFile by default simplifies loot scripts and makes the
extra config variable unnecessary. It's one less step for admins to
customize their tables.
revert _serverVehicleCounter to array, since I didn't notice it was
referenced in another file. Don't attempt to load objectData dump if the
vehicle count is 0 since the file won't be created.
Allows server to use either legacy loading method by itterating
callExtension (using _legacyStreamingMethod = true). Otherwise, the
hive will dump objects to a file, write the filename to the server's
profile and it is deleted next restart, each filename is unique every
startup.
Associated hive commit:
bc5d5c56a8
in my testing createvehicle non-array is more than 2x as fast as
createvehicle array. Also includes some changes by @ndavalos in the RC1
issues thread.
- Safe inventory arrays are no longer sent over network to all machines
on server startup and on each lock/unlock
- Disabled user input then closed gear dialog during safe
lock/unlock/pack to block various duping methods.
- Moved safe creation, deletion and gear handling to server. This cuts
down on add[Magazine/Weapon/Backpack]Cargo, createVehicle and
deleteVehicle BE logs.
We shouldn't need to check typenames since many of the DB columns don't
accept anything but appropriate values and the hive will check if some
fields are corrupt already.
New variables: DZE_groupManagement = false; //Enable or disable group
management. Enabled by default
DZE_MoneyStorageClasses = []; // If using a Single currency system
(Z_SingleCurrency = true;), this is an array of object classes players
can store coins in
if Z_SingleCurrency = true; the hive is now set up to handle coin
updates on players, characters, and objects.
if DZE_groupManagement = true; the hive is now set up to save groups
group and coin variables are set in player_monitor.fsm, for
vehicles/objects it's set in the server_monitor.sqf file for objects in
the DZE_MoneyStorageClasses array
Also, this commit includes a change to the way the hive spawns in
vehicles. vehicles are now created at [0,0,0] and moved using setPosATL
to their saved position. Thanks for the tip @ndavalos @eraser1
DebugBox_DZ appears to cause issues when changing clothes. I haven't
died changing clothes ~100 times since its removal. It also solves the
issue of extreme exposure (brightness) after changing clothes
Note: CombatTimeout variable resets after changing clothes
* Added doorManagement
* Rename FNC_check_owner --> FNC_check_owner_friends
* Fixed typo
* Fixed bug in FNC_check_owner_friends which allowed every user to manage
every plot and door.
* Removed unused DZE_doorManagementHarderPenalty from configVariables.sqf
* Now checking if _playerUID is in _friendlies for both cases.
* DZE_plotforLife should be DZE_permanentPlot
* Fixed case where DZE_permanentPlot is false.
* Forgot to add STR_EPOCH_CANCEL
* Changed translations to suggested string by ebaydayz.
* Renamed EyeScanner to DoorAccess.
* Reworked access rights for door management.
* DZE_doorManagementMustBeClose = true; //Players must be within 10m of
door to be added as a door friend.
* Fixed copy-paste error.
* Replace count with if
* Remove redundant test.
* Also replaced count in door management admins check.
* Change plotManagement and doorManagement to be consistent to
DayZ_UseSteamID (get UID from FNC_GetPlayerUID).
* Use _playerUID and _characterID more consistent.
* Added german translation to
STR_EPOCH_PLOTMANAGEMENT_ADDFRIEND_ALREADYONTHELIST.
Plot for Life and Plot Management work best together. They essentially
provide the same functionality. Both let you keep your plot after death
by using UID instead of CharacterID. Plot Management doesn't even have
an option to save characterID, so by default it is always keeping all
friends and the owner permanently until they are removed. The only major
difference between them is Plot For Life also adds permanent ownership
of built items on the plot, which is behavior most people expect. It
doesn't make sense to keep ownership of the plot after death but not the
other objects built on it. The other functionality it adds (take
ownership) can be toggled with a config variable.
It is rare that someone would want Plot For Life enabled, but Plot
Management disabled or vice versa. If they really want that they can
still do it manually, but consolidating them to a single config option
greatly simplifies things for everyone else.
I removed links to mod githubs because many changes have been made to
the 1.0.6 versions, so outdated information there will likely confuse
people. Authors are already credited in the README and change log.
In variables.sqf "DZ_storage_base" is now the parent class which
includes all tents and stashes. DZE_checkNearbyRadius variable is not
used (identical to DZE_PlotPole select 0).
CursorTarget should always be passed from fn_selfActions, not reacquired
in action scripts. This is to ensure the same object is referenced. Plot
Management maintain_area is called from the dialog button, not
fn_selfactions.
DB with ~4000 vehicles fails to load since this code runs on nearly
every vehicle for some reason. The code should only be called upon
vehicle purchase to increase load time and simply calling
dayz_objectUID2 has no effect.
With the code removed from line 266-271 the server would reset the slope
of the placed object to match the slope of the ground. Do not re-add the
code unless configs are updated with corresponding canbevertical option.
A Plot For Life also includes Precise Base Building by Mikeeeyy. Precise
base building has no variable to switch it on or off, I don't think it
should.
Seems to work well enough, this may conflict with the duplicate object
uid fix, it appears to spam my server rpt.
Junk and plant spawning is disabled by default. It can be enabled via
dayz_townGenerator config variable and positions blacklist (for trader
cities, etc.).
The trader objects spawn code was consolidated to functions.
The hive call in server_publishObject is the same between vanilla and
Epoch. The only difference is vanilla uses the _inventory area for
owner, lock code, etc. variables where as modular Epoch items just store
an empty array there.
The object classname does not need to be sent in the PV because it can
be obtained on the server.
PVDZE_veh_Publish was not used.