It should no longer be necessary to load dayz_vehicles in the
mission.sqm addons. It was taken out of mission.sqm in vanilla around
1.8.
The dayz_logo_ca.paa file was identical to loadingscreen.paa
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.
Format has a 2048 character limit:
https://community.bistudio.com/wiki/format
Str() should be used for strings that may exceed that, like object
inventories and vehicle hit point arrays.
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.
Fnc_veh_handleRepair is a new version of fnc_veh_setFixServer with extra
handling. It is used in salvage and some other scripts, but not
server_monitor.
DayzGearSave is no longer used. I will submit a pull to remove it from
vanilla too.
Player_dumpBackpack is not a good solution to stifle duping. Players can
not see friends backpacks dropped on the ground. That is a problem when
they want to trade backpacks. They don't understand why their friend
can't see it. Also players can still get the "gear" scroll action if
they look where the hidden backpack is.
If it is still a problem after all the updates to current dayz code then
we should submit a pull request with a better solution to vanilla.
It makes no sense to rename the identical DayZ PVs to have an E in their
name. I don't see any good reason it was done in the first place. All it
accomplishes is breaking script compatibility between the two mods and
requiring different publicvariable.txt filters. The only time it makes
sense is for custom Epoch variables that aren't used in vanilla.
All admins have to do to update custom scripts is swap the names
according to the change log.
Note I've submitted a pull request to replace PVDZ_veh_Save with
PVDZ_obj_Save in official too because they are duplicates.
- Moved player_countMagazines to \compile\ folder
- Removed several unused and obsolete files
- Moved some epoch functions out of compiles.sqf into individual files
- Synced order and formatting with 1.8.7. Much easier to compare now.
Any changes I make to official DayZ Mod code and files I also submit as
a pull request to them.
AFAIK there is no benefit to including the optional shortcut and
condition parameters as empty strings:
https://community.bistudio.com/wiki/addAction
All the addActions in fn_damageActions do not include them either. I've
run these changes on a live server for a while and never saw a
difference.
There is no point in having CfgBuildingPos.hpp in dayz_epoch_b too. It
was identical to the one in dayz_code and can be included in the mission
from there.
@icomrade couple questions:
1. Why keep a CfgLootLegacy? I know they are very different formats, but
it will just make things messier and more confusing. Also it will be a
PITA to maintain and update two different sets of loot tables in the
long run. I don't think catering to lazy admins is a good enough reason.
It's not that hard to convert to the new format.
2. Why not use the new _DZ weapon classes in the loot tables like
PDW_DZ, AKM_DZ, etc.?
3. Why not use the new box names like DZ_AmmoBoxRU, DZ_AmmoBoxUS,
DZ_MedBox, etc. in the loot tables?
4. Why remove the attachments from the loot tables?
See:
634214570c
@icomrade - IMO we should use the new blood type system and take out the
config variable. It is not something that can be easily switched between
because it requires manually changing the loot tables and traders which
adds some big files to the mission. Some admins will get confused when
they change the config variable and it doesn't change the loot spawns or
traders.
Admins can make bloodBagONEG abundant on their server if they
don't like it. I think most people will want to use it since it is a
nice extra realism feature and consistent with 1.8.7. We can still leave
the ItemBloodbag class defined in cfgMagazines so admins can go back to
using it if they wish. 1.8.7 even took out the class completely.