New compile DZE_GetPlotFriends
DZE_PlotManagementAdmins allows admin management of plot poles and
buildables near poles
DZE_MaxPlotFriends allows servers to allow more than 6 friends on a pole
at once
DZE_RequiredItemsCheck returns bool, displays an error of all the tools
the player is missing to build the item.
DZE_BuildChecks returns array of bools, canBuild and if the item is a
plotPole. Also has the ability to check if the player has required
tools to build using DZE_RequiredItemsCheck.
The vanilla build script still needs to be modified to work over water
and allow players to place floating objects, but now uses plot checks.
It would be easiest to just modify the configs to use the epoch building
scripts instead.
fnc_getSetPos now accepts a position as the second element of the input
array. the object will be set to this position if it is used. This
change requires no code updates
Note: scripts with build and/or tool checks should be updated to use the
new functions
Looks like the error was:
r_player_Nutrition = [_NutritionLoss];
It should have used the set command, since the array was already defined
in variables.sqf. But there is no need to use an array for a single
value anyway.
Fixes RPT error on login:
Error in expression <hyd"] spawn player_death;
};
};
if (dayz_nutrition > 0) then {
_Nutrition = >
Error position: <dayz_nutrition > 0) then {
_Nutrition = >
Error Undefined variable in expression: dayz_nutrition
File z\addons\dayz_code\system\player_spawn_2.sqf, line 182
Configurable by DZE_TwoPrimaries
0 do not allow primary weapon on back.
1 allow primary weapon on back, but not when holding a primary weapon in
hand.
2 (default) allow player to hold two primary weapons, one on back and
one in their hands
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.
Also moved the dayz_epoch_b stringtable into a dayz_epoch package in the
dayz_code stringtable.
This makes it easier to maintain and search for code strings. Epoch_b
only holds extra models and textures now.
Tool breaking is disabled by default.
Also made all scripts use Epoch sledge, which is a different model from
vanilla sledge.
PK_DZ was a duplicate of the new PKM_DZ.
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.
From
e69f8d5306
Moved dog files to the \dog\ folder and pzombie files to the \pzombie\
folder. Also removed some legacy files that are no longer used.
The actions\ and compile\ folders are fully up to date now
The protective box is not needed on Chernarus.
If other maps need it we are better off spawning a permanent box around
the debug area once, instead of constantly creating new boxes every time
a player logs in.
Achievements are saved in the state field, so we don't have room to save
friendlies there anymore. DZE_FriendlySaving is removed for now. I will
add it back later with a save to player profile instead.
The dayz_players variable is not used for anything. There were several
other unused variables in server_playerLogin.sqf.
MPHit does not always fire when a player is killed:
https://community.bistudio.com/wiki/ArmA_2:_Event_Handlers#MPHit
Using either MPHit or MPKilled is not a good idea here. There is already
a local 'killed' event handler which fires on player death
(player_death.sqf). That script sends a PV (priority message) to the
server which triggers server_playerDied. That means fnc_plyrHit needed
to finish sending its data to the server via public setVariables
(non-priority messages) before server_playerDied executed. Triggering
both these scripts at the same time was a bad idea.
Instead of sending the data to the server via setVariable I just
included it in PVDZ_plr_Death. This also lets us pass extra information
from the damage handler like ammo type, cause of death, etc. Still need
to test, but it should be more reliable and performant than
fnc_playerHit called from MPHit or MPKilled.