This commit prevents players who destroy their vehicle in god-mode
safezones to be spared by the fixes in #2411973 and #ec7351d
Configurable variable for this change is DZE_SafeZonePosArray = [];
Update suggestion to use the stable branch of A2 OA in the changelog
Let me know if we can't duplicate the code from the CH53 addon in the
file ch53_monitorSFX.sqf. If that's the case I will use an #include
instead, since the code that kicks and kills players out of the vehicle
goes at the bottom of the file anyway.
Previous changes to the destruction effects file broke previous fixes
that resolved the world is on fire glitch. I reverted those in this
commit.
Note: the CH53 is still broken in this commit
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
Fixes#1678
Fixed for vanilla too:
8a18fe957c
Ponds and lakes were not being detected at all, neither on foot nor in a
boat.
Tested land (failure), pond, lake and shore both on foot and in a boat.
Working as intended 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.
Updated loot spawning code for vehicle cargo.
Also it is faster and more efficient to call spawn_vehicles repeatedly
in one thread rather than spawn it hundreds of times (opening hundreds
of simultaneous script threads).
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.
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.
The journal is now functional. Preliminary strings are added for the
1.8.7 crafting system, but it is disabled for now.
I've messaged @marceldev89 (ziellos2k) and @AlbyBDPK on the DayZ forums
to ask permission to use fn_updateCraftUI, player_checkRecipe and
player_craftItemGUI. Are you guys okay with us including these in DayZ
Epoch 1.0.6?
@raymix in most of your helper functions you are using exitWith {}; in
the same way the main player_build uses it. The problem is exitWith
inside of a called function only exits that function, not the parent
script it was called from.
When a helper function exits the main script continues on with undefined
variables and other problems. The easiest solution was to just remove
these helper functions for now. I just directly substituted their code
back into the main modular_build file and removed the passes to and from
them.
We should consolidate player_build and modular_build into one file first
since they are about 80% identical. After that we need to integrate
plot4life. Dividing player_build up into smaller sub functions like this
can be left for last.
I tested this thoroughly and can confirm the undefined errors are fixed
now.
NearObjects "All" counts things like local plot markers, weapon holders,
ambient life, etc. We only want to count buildables. The radius should
also start at the plot pole if available, not the player position.
Thanks to Epoch forums user jOoPs for pointing this out. I will fix this
in modular_build.sqf too.
Tested and confirmed working.
Tested while autorunning:
- getting knocked out
- breaking legs
- running into water
- getting into and out of vehicles
- climbing a ladder
- dying
- antiTP enabled
- running up steep hills
- as player zombie
Everything works as expected. This does allow you to run up and down
pretty steep hills, but if you try to scale something too steep you will
break your legs as expected.
See: #1103
Made vehicle gear always accessible from inside.
Also added optional variable to prevent stealing from backpacks by
non-friendlies at traders. Thanks to @maca134 for the method.