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:
https://github.com/icomrade/DayZhiveEpoch/commit/bc5d5c56a8cb19ab947c85dbd68e5330aa0bbffe
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.
Allow player to get more than 1 item out of a single tree. Using ItemLog
would allow the player to get too much wood if using a hatchet so I
changed it back to PartWoodPile.
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.
Intensive commands are processed on the client only, as opposed to
twice. an array of objects, their corresponding UID and ID are sent to
the server. Sending the objects as an array, despite the size the array
can reach, should be better than the way this was set up before.
Needs testing on a full server however.
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
Requires DLL Published in this commit as well as a database update.
Execute the added SQL in the 1.0.6_Updates.sql on your database.
Use Hive child 204 to update the new column
_key = format["CHILD:204:%1:%2:%3:", (getPlayerUID player),
dayZ_instance, [Array of playerUIDs of group members]];
_key call server_hiveWrite;
I wasn't getting errors without if (gear_done) then {}; surrounding the
uiSleeps, so I don't quite trust the engine was executing them, I also
question the ability of uisleep to handle single frame precision (but I
haven't tested anything regarding this yet).
This is the code from 1.0.5.2 before it became 1.0.6, it contains the
fix for backpack wipes in 1.0.5.1. I lightly tested it with 1.0.6 but it
will need more testing before release.
In the initialize section of the fsm r_player_unconscious and
r_player_timeout return their default values (false and 0). Also, the
Vanilla server-side combat check doesn't appear to work, or it doesn't
work with the antihack disabled (I haven't tested with it enabled).
New variable inCombat is set more quickly than the combatTimeout
variable
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
This commit puts the conditions in which a player is put into combat
more in line with 1.0.5.1. Putting the player in combat for having
another player nearby will ruin building for players that are part of a
group. Putting the player into combat if zombies are nearby would make
building way too frustrating (especially if building on an elevated or
enclosed area where zombies are not a threat) and will attack the player
if not dealt with anyway.