* Changes to snappoints.hpp fixes issues with metal floors snapping to a cinder wall. Cinder to cinder will create small gaps and then metal floors won't properly line up unless you start with a metal floor then snap cinders. By making both the same snap size, this fixes this issue.
Changes to doorAccess.hpp makes it possible to unlock doors and downgrade them again. It was setting dze_lock_door to the players UID instead of the door code as it should so the conditions would not be met in fn_selfActions to give you additional access.
Changes to fn_selfActions refine access to certain points more accurately (the way they should be IMO)
1) Adds a check to see if the building item can be upgraded anymore before presenting the menu, this stops you receiving the "upgrade item" action even when the item is fully upgraded
2) Adds access checks to the maintain individual item menu action so only item owner, plot owner and plot friends will see it, same with the above upgrade item menu action, this will also stop you receiving this when you are on someone elses plot that you may not have access to (I.e it's useless)
3) Changes modular building access to be item owner, plot owner and plot friend to remove modular items.
4) Changes plot managment action menu so item owner, plot owner and plot friend can access it. I thought there could be a situation where item owner != plot owner. This can be reverted if that is never possible.
5) Changes downgrading so only item owner, plot owner and plot friends can access it. If someone has the door code that doesn't mean they should be able to remove the combo (IMO)
* typo.
* Advanced trading fixes/modifcations
This adds combine currency option to the Advanced trading screen since
@Airwaves man noticed it didn't have a way of doing it.
Updated stringtables with correct "paid" spelling and differing text for
buying/selling.
This also addds proper currency checking/reporting for the log system
that has been introduced, it's untidy but it works, instead of getting
"user bought x for 1000 currency" in a non coins server, it will convert
it to the proper 1 brief 5 10oz gold etc system (uses a new function
z_calcDefaultCurrencyNoImg)
This also adds a check to see if the buy list is empty (as per the
selling list) and returns text to the user informing them.
Re-arranged buy and sell so buy is on top of sell, it's a bit easier to
read then.
* Advanced trading logging change
This was missing from my previous commit, this changes the
server_tradeobject to check if it's being passed a number (single
currency) or text (my logging currency changes)
* Advanced trading fixes (again)
* Advanced trading rework
Fixes all problems @ebaydayz
* Rename typo'd variable "s_player_upgradestorage"
This renames an obviously typo'd variable to what it should be.
* fixes derp string.
* asdf (#3)
asdf
I did not realize lootPosSmall positions can only fit small objects like
soda cans etc., so it is not okay to merge them with the main lootPos
arrays. This separates them back out.
This solution will work like 1.0.5.1 CfgLootSmall. <GroupName>Small is
used to spawn additional loot if the building type has lootPosSmall
positions available. It is not necessary to add a <GroupName>Small for
types that do not have lootPosSmall positions.
Some of these objects may still be too big or too small (knife,
binoculars, matchbox, etc.) for the positions and look out of place. If
that is the case please submit a pull with any problematic ones removed
from the <GroupName>Small groups (check if they aren't in 1051
CfgLootSmall first). Balance and rates may need adjustment as I just
took the normal groups and removed large objects from them while trying
to keep similar items to 1.0.5.1 CfgLootSmall.
Passing false as the second parameter to fnc_find_plots always returns
DZE_PlotPole select 0. In dze_buildchecks we want to use DZE_PlotPole
select 1 if the classname is a plot pole.
_distance is already defined as DZE_PlotPole select 0 in the other three
files, so it is redundant to redefine it as the return value.
In player_upgrade.sqf the check for DZE_permanentPlot is not necessary,
because FNC_check_access handles both cases.
Fn_check_access provides the same functionality and more.
Removed folders that only contained a single file to clean things up.
Also added epoch tag friendly code to vanilla player_updateGui for now.
* 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).
Also disable abort and respawn immediately in pause menu onLoad. New
function fn_pauseMenuChecks allows admins to run unscheduled code in
pause menu onLoad.
The whole point of a global variable is you do not need to pass it.
DZE_plotManagement and DZE_plotmanagementAdmins are always defined and
do not change, so there is no need to pass them as parameters.
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.
removing the Respawn EH fixes this, I haven't noticed any adverse
effects from removing it yet.
Also changing groups now deletes the old group. The machine which the
group is local to must execute the deleteGroup command, the server
previously had to wait until the player disconnects to delete their
empty groups.
keypadCancel returns false when a combo/keypad dialog is not open and
when reset by calling the code keyPadReset = {uiSleep 2; keypadCancel =
false;};
There is a 2 second delay which makes brute forcing very very time
consuming. Note there must be a delay when resetting the variable since
fn_selfactions will update so quickly it will display the
unlock/lock/remove option before onUnload is executed.
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.
@Adaptivity
- STR_EPOCH_WALLWITHDOORLOCKED_DESC string was missing
- I see no reason STR_EPOCH_PLOTDEED_ACTION was renamed to a less
descriptive name, and it was missing the German translation from the old
one, so I changed it back
- These build actions in fn_selfActions are for vanilla building. They
shouldn't be in the Epoch package. I renamed them and submitted them to
vanilla too.