Commit Graph

37 Commits

Author SHA1 Message Date
ebayShopper
42e00475d6 Add sender verification to publish and swap object
Continuation of 8035df0

This is important to have on publish to identify cheaters who spam
create objects in the database or create objects with bad inventory.

- Renamed variables to backport to vanilla
- Removed % and & due to code filtering in publicvariableval.txt

Changes in modular_build.sqf were the same as player_build.sqf.

Tested with building, upgrading buildable/vehicle/tent, downgrading,
buying a vehicle, destroying tent and removing an object.
2017-11-03 16:09:14 -04:00
ebayShopper
4b14397c7b Fix purchased boat not spawning on helipad
https://epochmod.com/forum/topic/43644-problem-with-napf-boat-spawn-in-1061/
2017-04-05 15:49:16 -04:00
ebaydayz
8c1caa9c1c Remove some redundant checks
Vanilla commits:

da7061429a

da55eaa53e
2017-01-29 19:36:48 -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
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
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
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
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
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
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
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
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
ebaydayz
382f3bc451 Add buying to and selling from dayz_onBack
Also:
- Fixed typo Z_fill(e)TradeTitle
- Fixed "not enough slots to accept change" message shows when "not
enough money" should show instead
2016-08-02 14:19:59 -04:00
ebaydayz
a95925aac5 Make free slots display for gear more logical
- Don't show tool slots as available weapon slots in gear. Player is
informed of tool slots count in systemChat.
- Don't show pistol mag slots as available item slots in gear. Player is
informed of pistol mag slots count in systemChat. Only pistol ammo and
bandages can be purchased into them.
- Removed "Stand still to complete trade" message since the medic
animation loop is no longer used
- Added back backpack mags count message and avoided redundant "Backpack
space exceeded message" @oiad
ee3eb845a3 (commitcomment-18483149)
2016-08-02 11:55:50 -04:00
ebaydayz
ee3eb845a3 Remove selling backpacks from vehicles
I don't think we should allow selling backpacks from vehicles because we
can not get backpack contents.

We can only remove all backpacks with clearBackpackCargo and then add
back new empty backpacks for ones that weren't sold.

This means players may unintentionally wipe all contents of all other
backpacks in their vehicle when they only want to sell one.

Thanks @AirwavesMan for catching this.

Also made changes discussed in #1718 @oiad
2016-08-01 17:14:42 -04:00
ebaydayz
a5be49c546 Add handling of magazine overflow in AdvTrade and free slot icons
- 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
2016-07-31 18:38:53 -04:00
ebaydayz
cc129cf403 Fix buyItems error from #1716 @oiad 2016-07-30 12:28:33 -04:00
oiad
7c4d25ef1a Advanced trading tidying, spelling fixes, private fixes and string fixes (#1716)
* Advanced trading tidying, spelling fixes, private fixes and string fixes.

Fixes snap building issue with metal floors
Fixed spelling mistakes in various scripts
Fixed formatting uglyness in various scripts
Fixed invalid private lines in various scripts
Changed Advanced trading so buying worked more like selling, You can't
select backpack if you don't have a pack nor can you select a vehicle if
you don't have a vehicle.
Removed some redundant strings from Advanced trading and changed a few
of the strings to be more englishy
Removed the ability to buy a backpack into your backpack (You cant do
this anyway)
Fixed a bug where if you had nothing in your backpack it would break the
checkArrayInConfig script so the titlebar would not refresh correctly
Removed slot counts on no backpack and no vehicle (No need for it, just
clutter)
Moved backpack/vehicle checking to z_at_getContainer.sqf

* Last part of tidyness fixes

Last part of tidyness fixes

* Actual backpack fix

Lets actually fix the buying backpack into backpack or backpack when you
already have one.

* Missing from commit

Missing from commit
2016-07-30 10:03:00 -04:00
ebaydayz
c9efb9e9df Fix some undefined variables in Adv Trade systemChat messages
Fixes "Cannot sell any, tires are too damaged." and empty string in
success message.
2016-07-29 11:41:44 -04:00
oiad
12a9e9f83e Advanced trading tidyness
Optimizes the code for the buyitems item listing (What was I thinking!)
Adds item count to buy/sell list (Useful for checking against
backpack/vehicle storage space constraints when buying multiple items)
Small logging fix.
2016-07-28 23:08:11 +12:00
oiad
9efc671abb Advanced trading changes
This changes a few things in Advanced trading, mainly cosmetically.

> Removes all the commented out lines that were the same in defines.sqf,
let me know if these are there for a reason?
> fixes the buying list to have localization support and has a total
item count that works properly.
> cosmetic change displaying backpack info on trader to bring it in line
with the other menus
> adds total item count to the selling list and added localization for
that
2016-07-23 23:30:05 +12:00
oiad
801145d664 Advanced trading fixes/modifications (#1698)
* 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
2016-06-21 20:18:41 -04:00
ebaydayz
6ef59a0237 Add server RPT logging to Advanced Trading 2016-05-11 12:41:59 -04:00
ebaydayz
c477304571 Forbid buying duplicate tools into gear 2016-05-08 11:59:25 -04:00
ebaydayz
2c6ef2ced3 Don't show selected vehicleX message on Adv Trade startup
Only show Selected vehicleX systemChat message when clicking the buy
in/sell from vehicle button. Previously it was showing every time the
menu opened.

Also added better logging to RPT. Shows "Trader Menu: %1 x %2 added" and
"Trader Menu: %1 added"
2016-05-05 12:37:10 -04:00
Anton
75ae8ad3c0 a couple localization updates (#1690)
* a couple localization updates

* fix merge conflicts

* fix

* fixes
2016-05-03 15:15:44 -04:00
ebaydayz
8d82693c1b More Advanced Trading localization
Russian translations provided by Epoch forums user koms:
http://epochmod.com/forum/profile/33066-koms/
2016-05-02 17:32:27 -04:00
icomrade
a86b28b0a7 Fix spawn height for boats, and buying bikes 2016-04-29 00:19:22 -04:00
icomrade
bc0d5027f5 Adv. Trading handle other and free vehicle types
Allow players to sell vehicles without keys and add boat and bike
trading classes to buy/sell
2016-04-28 23:40:28 -04:00
icomrade
b5af74b72b Add Vehicle Purchasing to Advanced Trading
Allows 1 vehicle purchase at a time.
Vehicles will still spawn inside each other if one is already parked on
the pad.
2016-04-27 22:04:47 -04:00
icomrade
1585765ca6 Advanced trading by Zupa @Windmolders
Stock configuration and basic integration. WE still need config based
trader setups.
2016-04-27 18:23:55 -04:00