Filter cheats is now added to the main options menus that needed it.
It is not needed on the map (display 12) because KeyDown for display 46
also fires when it is open. So filterCheats was firing twice (once on
each display) in that case.
KeyDown does not fire on display 63 at all
regardless of whether PTT or VON is held down, toggled or chat open.
Keydown does fire on 55, but only after the mic icon is locked on, so it
is of limited use. MouseButtonDown does not fire on 55 or 63. So it is
useless to add to those displays. You can confirm this with:
(findDisplay 63) displayAddEventHandler ["KeyDown","systemchat
'fired';"];
Filter cheats is now only checked on display 46 when a
voice, channel, or cheat key is pressed instead of on every key press.
This still works 100% of the time for blocking cheat input. For
performance reasons it's probably not worth checking all the conditions
in filterCheats with every key press on display46 just for the VON
block. Doing so covers some edge combination bind cases better, so it
may be worth considering again if no better alternative is found. For
now this solution is good enough to cover the majority of cases without
slowing down the keyhandler during normal usage.
The VON message now
tells you exactly which channel block you triggered instead of listing
all of them.
Fixed issue mentioned in 52c9c7c with VON getting stuck on when using a
double tap keybind.
Tested:
1. Talk in side with regular/combo/mouse bind
2. Change channels
while mic is locked on with regular/combo/mouse bind
3. Change channels
with Up/Down arrows while chat is open.
4. Trying all cases in steps 1-3
with a dialog open.
It is possible to bypass the VON block with some different control
settings and combinations of the above, but for default controls and
common usage it works the majority of the time.
See my comment on b806043
Veh_setFixServer only runs on the server, so the client does not need to
compile it.
The PVDZ_veh_Save PVEH is only added on the server, so it should never
be sent with regular publicVariable anymore.
* Advanced trading combine/return change
Fixes combining/returnChange to squash gems into usable currency so they
can properly be used in the economy
Stringtable fixes for duplicates
* Localization additions
More localizations
* Advanced trading and safe GUI changes
This adds displaying of item/backpack/weapon/vehicle descriptions
Moves Weapons display on vehicles to a modular type, so if the vehicle
has no weapons it wont display, same with Description
Fixes an issue with safes not sounding keyclicks, at present they are
only active if you have music turned on, since I don't play with music
on (and many others) you will never hear them and when you do, the DTMF
signals they use are really obnoxious.
Replaced the sound with the one from the lockboxes, it's still audible
but very reasonable.
* Advanced trading fixes
Rework for my previous commit @ebaydayz
* Localization additions
Missing from previous commit
This adds keydown handler for chat, map, and diary displays.
Additionally, this can be used to handle malicious chat input without a
delay by modifying the associated compile
This replaces the "refresh" menu option with a "force maintain" option.
Allows you to maintain the base even if it doesn't need it to either get
all your items in sync or if you are going away or similar.
Tested with:
dze_permanent plot true/false
z_singlecurrency true/false
Also fixes an undefined variable error in system_monitor that was
introduced
8f58baf3f2
Extends the displayName RSC width to the same as the description (Not
sure why this was so small, it truncated longer display names)
Added localization strings for all the supply crates so they were easier
to distinguish in the gear menu.
* Plot / door management userlist sorting
This correctly sorts the nearby humans list in both mods, I have this
running on my 1051 server with no issues, @ebaydayz please advise if
this is not right, I've tested it pretty well and it is indeed selecting
the right person/UID
* Door/plot management fixes
As per @ebaydayz
- Added proper handling of pistol mags and regular mags in gear to
prevent magazine overflow
- Added pre-check if return change will overflow gear + backpack free
space. If change will not fit in gear + backpack free space then buy is
prevented with a message notifying the player. In the case of a sale it
proceeds anyway, but notifies player if overflow occurs (see comments in
returnChange)
- Consolidated duplicate code for calculating free space and returning
cargo of an object into new calcFreeSpace
- Old calculateFreeSpace renamed to displayFreeSpace
- Added Weps/Mags/Bags icons to free slot numbers display
The buying list now acts like a shopping cart. It is no longer cleared
when switching between categories or containers. Closing the dialog or
switching to sell mode still clears it.
Also fixed:
- Filter button in sell mode
- Bug where filtering sellable list readded items already moved to
selling list
- Visual price display not clearing when remove all button is used on
buying list
- Gear container picture showing rank instead of portrait in buy mode
- Dialog is no longer closed when trying to sell zero items
- LbCurSel is now reset when the buyable list is cleared
- Category is no longer opened onLbSelChanged. Instead you need to
double click or use the "View" button, so the arrow keys can be used for
selecting too.
Vanilla development commits:
36337e3c083a2d3ac20d
Connecting and normal icons are the same so players can not tell when
someone is in the lobby.
Also removed:
- player name and rank text shown in the top right of diary
- "Current task:" text shown above player list
- "Pool:" text shown in lobby
* 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 rework
Fixes all problems @ebaydayz
* 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.