Commit Graph

110 Commits

Author SHA1 Message Date
ebaydayz
8c1caa9c1c Remove some redundant checks
Vanilla commits:

da7061429a

da55eaa53e
2017-01-29 19:36:48 -05:00
ebaydayz
92ee58900c Fix trader menu server RPT logs partially localized on client 2017-01-17 14:39:31 -05:00
ebaydayz
0d2f91f3aa Fix trader menu server RPT log partially localized on client 2017-01-11 16:12:17 -05:00
oiad
d0257b3c7d Add logging failed safe/lockbox and door lock/unlock/failed code attempts (#1853)
* Add logging failed safe/lockbox and door lock/unlock/failed code attempts

This adds logging for both safes and lockboxes for failed code attempts.

Also adds logging for locking, unlocking and failed code attempts for
doors.

"salival (playerUID) FAILED unlocking LockBox with code: Red11 (actual:
Red57) @110069 [11044.4,8438.32,0.652]"
"salival (playerUID) UNLOCKED LockBox with code: Green22 @110069
[11040.6,8438.91,0.834]"
"salival (playerUID) PACKED LockBox with code: Green22 @110069
[11040.6,8438.91,0.834]"
"salival (playerUID) UNLOCKED CinderWallDoorSmallLocked_DZ with code:
559 @110069 [11015.4,8458.74,5.272]"
"salival (playerUID) LOCKED CinderWallDoorSmallLocked_DZ with code: 559
@110069 [11015.4,8458.74,5.272]"
"salival (playerUID) FAILED unlocking CinderWallDoorSmallLocked_DZ with
code: EYESCAN (actual: 559) @110069 [11015.4,8458.74,5.272]"
"salival (playerUID) FAILED unlocking CinderWallDoorSmallLocked_DZ with
code: 100 (actual: 559) @110069 [11015.4,8458.74,5.272]"
"salival (playerUID) UNLOCKED CinderWallDoorSmallLocked_DZ with code:
559 @110069 [11015.4,8458.74,5.272]"
"salival (playerUID) LOCKED CinderWallDoorSmallLocked_DZ with code: 559
@110069 [11015.4,8458.74,5.272]"

* Revert wrong hinge type

* Remove unused DZE_Lock_Door

* Rework

* Remove redundant code, Make single currency costs use BIS_fnc_numberText

* Rework

* Add changelog line
2017-01-05 16:45:10 -05:00
ebaydayz
5cb485ccfb Prevent purchasing negative number of items
Fixes mistake from ffef031 @icomrade . _amount here is the quantity the
player enters in the quantity box when buying. The only time it is less
than or equal to zero is if the player enters zero or a negative number.
It has nothing to do with the buy or sell price.

Thanks Sercan for reporting.
2017-01-01 18:32:20 -05:00
ebaydayz
4fa36dfd94 Fix selling of Javelin, Stinger and some other items
Fixes #1844
2016-12-31 17:14:16 -05:00
Kobayashi
79bbc2c5a4 Backwards array call to Z_checkArrayInConfig (#1845)
Z_checkArrayInConfig is expecting weapons in position 0 for _this, all other stuff like get z_at_getGearItems.sqf and z_at_getVehicleItems.sqf passes the weapons array in position 0.
2016-12-31 16:03:16 -05:00
oiad
9889c8cd76 Merge z_calcDefaultCurrency and z_calcDefaultCurrencyNoImg (#1824)
* server_updateObject force update for single currency

This modifies server_updateObject to force update/save to the hive if
the item being saved is in the DZE_MoneyStorageClasses array.

Previously if you force saved the object multiple times, the coins would
not get updated until the inventory changed, which if this was for a
bank object it would never update.

(This applies if you are using PVDZ_veh_Save to save the object)

* z_at_calcDefaultCurrencyNoImg prettyfication

This fixes a long standing issue in my brain about how this text was
always displayed, to me it seemed very untidy and just thrown together
(since I borrowed it from the IMG version)

Changes the output from this example: 7 Ruby 1 Amethyst 3 Gold 4 10oz
Silver 5 Silver
To this prettier and more logical example: 7 Ruby, 1 Amethyst, 3 Gold, 4
10oz Silver and 5 Silver

Make texts great again!

* z_at_logtrade fixes

Removes hard coded "Coins" text and replaces it with configVariables
version.

Also removes duplicate code and simplifies it.

* Merge z_calcDefaultCurrency and z_calcDefaultCurrencyNoImg

This merges these two files together since they are largely the same,
this also adds an optional argument to change the font size which is
useful for custom scripts that use this function.

Examples of use:

[_number,true] call z_calcCurrency; // Return a string of text with no
images
[_number,false] call z_calcCurrency; // Return a string of text with
images
[_number,false,0.7] call z_calcCurrency; // Return a string of text with
the currency in it and sets the font size to 0.7
2016-12-22 14:16:38 -05:00
ebaydayz
5e97435d7b Fix can't sell classic bloodbag 2016-11-20 21:24:27 -05:00
ebaydayz
01307f9a42 Remove some common and duplicate translations 2016-11-07 16:14:20 -05:00
oiad
497b065663 Localization changes/additions. (#1787)
* Localization changes/additions.

Fixes a few localizations, extends range for removing camo nets from
toolbox by 10m, I have found that 5m is just not enough.

* Toolbox change

Update camonet removal to 10m instead of 5m

* Safe zone no building near/blacklisted buildings no building near

Adds a check in dze_buildChecks to disallow building within a certain
distance of a safezone or a blacklisted object name.

* typo

fix typo

* Safezone/blacklisted changes

As per requests.

* Rework

Rework

* Remove unused variables

as per subject

* Misc changes

Fix unprivated var in calcfreespace
Made single currency buy/sell reporting more englishery
Localization cleanup of extra spaces

* rework

rework
2016-11-04 12:08:47 -04:00
ebaydayz
3a3413caf5 Allow tools to exceed transportMaxWeapons when buying in bag 2016-10-31 13:54:40 -04:00
ebaydayz
866358e4d0 Add launcher handling to advanced trading 2016-10-31 13:07:07 -04:00
oiad
1c7e96a0ff Advanced trading modifications, maintain_area modifications (#1780)
* Advanced trading modifications, maintain_area modifications

This lot of changes brings forth the following:

Sets up a "default" set of compiles that are the minimum needed for
maintain_area.sqf and custom scripts to utilize the gem based currency
that @icomrade added.

maintain_area.sqf: This will now utilize the gem based currency system.

Removed the redundant Z_Vehicle and replaced it with the Epoch built in
DZE_myVehicle

z_at_buyItems: Code tidying and optimization

z_at_checkCloseVehicle: Tidied up the code since removing Z_Vehicle
allowed us to remove some now useless code.

z_at_getVehicleItems: Removed the nearestObjects check for your vehicle
since we now do z_checkCloseVehicle on Advanced trading start up.

* Advanced trading missed redundant variables

As per description

* Advanced trading rework

We don't need to check for close vehicle anymore now for backpack money
since we've made z_vehicle redundant.

* Revert "Advanced trading rework"

This reverts commit a589bd19b9.

* Advanced trading rework

We don't need to check for close vehicle anymore now for backpack money
since we've made z_vehicle redundant.

* Advanced trading rework

More rework

* Remove single currency add/remove coins functions

at request of @ebaydayz.
2016-10-28 19:29:04 -04:00
ebaydayz
f770b0a85d Add group system
Initial commit, not tested in multiplayer yet. Some revisions still left
to do.
2016-10-27 16:06:49 -04:00
ebaydayz
84d549d0a1 Revisions for #1777 (#1778)
* Update z_at_buyItems.sqf

* Update z_at_buyItems.sqf

* Update z_at_canAfford.sqf

* Update z_at_fillBuyableList.sqf

All of this is already checked in z_checkCloseVehicle at startup. If Z_VehicleChanges between the time the menu is started and the buyable list is filled it's not a big deal, since it only affects the highlighted color.

* Update server_handleSafeGear.sqf

* Update snappoints.hpp

* Update z_at_buyItems.sqf
2016-10-25 13:59:56 -04:00
oiad
bef2506653 Advanced trading fixes, server_handleSafeGear human readibility (#1777)
* Advanced trading fixes

Fixes a few issues and a dupe with advanced trading as well as some
localization of where a vehicle key is going.

Z_at_buyItems: Now adds localization for the key getting added to your
toolbelt, backpack and vehicle, this stops players thinking they didn't
get a key when infact it was added to their backpack/vehicle.

Z_at_canAfford.sqf: This fixes a dupe from a bad copy paste for whomever
wrote this script, it was using _backpackMoney in the
z_allowTakingMoneyFromVehicle part, changed to the proper variable
_vehicleMoney.

z_at_fillBuyableList.sqf: this fixes a bug where a vehicle would show
green even when it isn't local, just basically added more checking to
make sure the vehicle it's making green in the list is a) local, b)
alive and that the typeOf == _name.

z_at_logTrade.sqf: fixes some tidyness.

advancedTrading/init.sqf: adds a z_checkCloseVehicle call otherwise even
with Z_AllowTakingMoneyFromVehicle = true it will not get currency from
your vehicle until you clicked on the "Vehicle" tab.

dayz_server/server_tradeObject.sqf: More tidying as per the
z_at_logTrade and removes the useless Player:, as it is obvious a player
has bought something not an AI.

dayz_server/server_handleSafeGear.sqf: Makes the diag_log at the end
more human readable with GPS coordinates as well as the lock code for
the safe or the lockbox.

* advanced trading fixes. I hate you github

WHY U GET MISSED?? STUPID GITHUB.

* snappoints changes

Fixes the issue @SmokeyBR reported
https://github.com/EpochModTeam/DayZ-Epoch/issues/1766#issuecomment-253864795
Adds all floor types to snap list for all barriers so you can snap a
sandbag etc to a floor instead of manually lining it up
2016-10-25 13:10:48 -04:00
ebaydayz
869e95eb2c Fix wrong variable name in z_at_calcFreeSpace
I didn't catch this mistake before because _backpack was not in the private array, so it was still defined from the script that called this function. Thanks @oiad
2016-10-18 15:56:45 -04:00
ebaydayz
2109fdba03 Prevent sell from vehicle dupe
Prevents dupe described here:

https://epochmod.com/forum/topic/41891-resource-a-collection-of-anti-dupes/#comment-281324
2016-10-05 12:17:17 -04:00
ebaydayz
de219116a8 Optimize save after trade
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.
2016-10-02 15:44:51 -04:00
ebaydayz
91f168011c Remove unused variable from #1770
_inventoryMoney was unused @oiad
2016-10-02 14:11:20 -04:00
oiad
9fd2f2270b Advance trading gem fixes/localizations (#1771)
* 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
2016-10-02 13:06:31 -04:00
ebaydayz
15b05dc84b Fix return change free space check when buying into vehicle
This fixes incorrect return of "not enough space to accept change" when
purchasing large quantities of magazines into a vehicle.

Thanks @oiad for noticing this.
2016-09-27 19:09:54 -04:00
oiad
c02053176d Advanced trading bugfix, Snap building typo and snap point fixes
Fixes a bug with advanced trading green "you have this item" text in
buyables list, this was showing you had the item when you didn't.
Snap building typo
Snap building snap points for large cinder walls as reported by
@SmokeyBR
https://github.com/EpochModTeam/DayZ-Epoch/issues/1766#issuecomment-248021073
2016-09-24 18:53:02 +12:00
ebaydayz
cc03256475 Update purchased vehicle spawn location
If there was no helipad available findSafePos was called. If that failed
it spawned the vehicle in the debug zone.

Calling findSafePos is no longer necessary since we are now using
createVehicle "NONE".
2016-09-22 18:12:52 -04:00
oiad
fed89a0ed2 Advanced trading and safe GUI changes (#1762)
* 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
2016-09-10 12:09:27 -04:00
ebaydayz
8f25cc70db Localize sell and buy only messages
PrimaryWeapon always returns "", never nil unless the player object
isNull (in which case this script would not be running).

Fixed cases where a nil variable would throw an error when checking the
next condition.
2016-09-09 13:53:20 -04:00
icomrade
ffef031863 Allow disabling of buying or selling
Set price of the item to -1 in the Cfg traders files to disallow buying
or selling
2016-09-03 14:26:43 -04:00
ebaydayz
a8e2ce07b5 Optimize some createVehicleLocal
https://community.bistudio.com/wiki/Code_Optimisation#createVehicle.28Local.29
2016-08-24 13:34:11 -04:00
ebaydayz
a323f453d2 Make minor change to fn_waitForObject.sqf 2016-08-23 17:49:53 -04:00
ebaydayz
10b006d4eb Improve readability of trade_any type lists 2016-08-23 11:57:09 -04:00
ebaydayz
38b2a551bd Fix fn_waitForObject handling multiple of same object type
Forgot to handle case where there is already one or more of that object
type in the area (safes, cars, etc.).
2016-08-22 20:14:11 -04:00
oiad
89a43cb2d8 Advanced trading fix
This fixes the issue that @ndavalos found:
https://github.com/EpochModTeam/DayZ-Epoch/issues/1712#issuecomment-241289082
2016-08-22 21:10:46 +12:00
ebaydayz
f3370cbc4b Give vehUpgraded a default value #1745
@oiad No need to check _vehtrade in this case it will always be true if
_vehUpgraded != ""
2016-08-19 14:17:13 -04:00
oiad
d987fb290c Advanced trading selling upgraded vehicles.
These changes allow the player to sell upgraded vehicles with them not
being added to the trader (as to not polute the lists). This basically
refers to an upgraded vehicle as a child of the base vehicle so it will
get the same sell price as the base vehicle.

This still follows the original trading convention, the vehicle base
needs to be in the trader category, i.e you cant sell an armored SUV at
stary vehicle trader.
2016-08-19 22:15:47 +12:00
ebaydayz
509c2b17d6 Fix typo from 5d372d3
5d372d3
2016-08-18 13:30:19 -04:00
ebaydayz
0394c61183 Match Adv Trade blue color for compatible highlight
Matches blue used in advancedTrading.hpp, slightly lighter and easier to
see on dark grey background. @oiad 42ebfb5
2016-08-18 13:27:00 -04:00
oiad
42ebfb54d7 Advanced trading buyable list changes
Further changes Advanced trading buyable list to show the item as blue
if it's compatible attachment wise and ammo wise.

This will get overwritten if the player has the item in their inventory
by staying green.

Also fixes a small bug I put into my last commit by not showing up for
boats/bikes etc.
2016-08-18 22:02:51 +12:00
oiad
fc2c03d0d3 Advanced trading change to buyables list
This changes Advanced trading to change the item color to green if it
matches with an item is in your inventory, in your weapon slots (main
slot and dayz_onBack) is the same backpack and is a vehicle you are
local to.

This brings it in line with default trader, except we're using local
here since that's all that matters.

Thanks to @ebaydayz for the suggestion.
2016-08-17 22:52:05 +12:00
ebaydayz
f04d581b4d Cleanup Adv Trade parseText formatting
Just added line breaks so it is easier to count the format order.
2016-08-16 17:07:33 -04:00
ebaydayz
e02f8ba8ff Use BIS_fnc_numberText for SC number displays again
Missed some @ndavalos
https://github.com/EpochModTeam/DayZ-Epoch/issues/1712#issuecomment-239647854
2016-08-16 16:44:56 -04:00
ebaydayz
3f3f1a32ed Use BIS_fnc_numberText for SC number displays
See:

https://github.com/EpochModTeam/DayZ-Epoch/issues/1712#issuecomment-239647854

That should be all of them @ndavalos let me know if I missed any.
2016-08-16 16:28:06 -04:00
ebaydayz
c62e3147c8 Do not send purchased vehicle marker arrow over network
Only the player buying the vehicle needs to see the arrow.

Also fixed CfgMagazines error from:
2c4c75c67c (diff-fcf3df9a25b3d05402ab4e4809673194R6)
@icomrade
2016-08-09 14:52:15 -04:00
ebaydayz
950ef04855 Properly separate allowed toolbelt and binocular count
It should no longer be possible to overflow your toolbelt or binocular
slots now.
2016-08-06 11:08:01 -04:00
ebaydayz
c51fd11511 Use better method to find player's vehicle in Advanced Trading #1725 2016-08-05 13:43:58 -04:00
ebaydayz
f6e10dd71c Add gear icons to trader menu vehicle cargo space display
- Added gear icons to vehicle cargo space display instead of
Weps/Mags/Bags text

- Decreased info text to 0.7 all around. Can be reverted to 0.8 if
preferred, but 0.7 or smaller is needed for vehicle info class, display
name and weapons list to avoid cutting off the dialog on normal and
larger interface sizes.

#1724
2016-08-04 20:36:36 -04:00
ebaydayz
60e6b85c4d Don't show fuelCapactiy for bicycles in Advanced Trading 2016-08-04 17:37:53 -04:00
ebaydayz
c52187220c Fix message when buying multiple backpacks into empty gear 2016-08-04 16:16:13 -04:00
ebaydayz
d91bde9e53 Fix return change overflow check
Thanks @oiad

- Added compensation for money which will be removed from gear and
backpack
- Improved readability
2016-08-04 14:22:33 -04:00
ebaydayz
5a55bcb9b0 Forbid buying >1 of any tool into gear
Previous duplicate check only checked player's current tools and the
buying array types for >1 of the same tool (not buying array amounts).

Also added prevention of binocular slot overflow.
2016-08-03 18:56:42 -04:00