This allows typically not refunded modular buildables to be configured by the server admin.
For example:
DZE_modularConfig = [
["CinderWall_DZ", [["CinderBlocks",7],["MortarBucket",2]]],
["CinderWallDoor_DZ", [["CinderBlocks",7],["MortarBucket",2],["ItemTankTrap",3],["ItemPole",[1,3]]]]
];
This would refund 7 cinder blocks and 2 mortar for "CinderWall_DZ"
For "CinderWallDoor_DZ" you would get 7 cinder blocks, 2 mortar, 3 tank traps and a random number of poles between 1 and 3.
The refund amount can be an array where the first param is the minimum and the second is the maximum, it will refund a random amount between them.
Thanks to @BigEgg for the suggestion and sample code.
If the player enters a wrong code the algorithm can make the entered code seem completely bogus, let's just exit out of the routine if that's the case.
Sample bad code (Just hit red key):
```11:45:54 "salival (playerUID) FAILED unlocking LockBox with code: Red0-9900 (actual: Red34) @038117 [3899.36,3580.24,1.632]"```
This helps stop vehicles bouncing when being upgraded.
The Vehicle Key Changer script I rewrote uses the epoch vehicle upgrade system to claim/change the vehicle key, we noticed that it was causing the vehicles to bounce, but VKC uses all the position functions from the epoch script so it's not something that VKC has introduced.
This helps stop vehicles bouncing when being upgraded.
The Vehicle Key Changer script I rewrote uses the epoch vehicle upgrade system to claim/change the vehicle key, we noticed that it was causing the vehicles to bounce, but VKC uses all the position functions from the epoch script so it's not something that VKC has introduced.
This changes the hit messages to only show AI instead of the AI's names.
Changes this:
20:08:37 "P1ayer PID#7(salival) hit by PID#1(Qadeer Hakimi) with
vil_G36VA4Eot/B_556x45_Ball <ammo left:25> from 356 meters in head_hit
for 0 damage"
To this:
20:08:37 "P1ayer PID#7(salival) hit by AI with
vil_G36VA4Eot/B_556x45_Ball <ammo left:25> from 356 meters in head_hit
for 0 damage"
Sanity fix for hit and kill for vehicles so they match:
Before:
22:44:03 "P1ayer PID#3(salival) hit by AI in Pickup (PK) DZ from 15
meters in head_hit for 0.88666 damage"
After:
22:44:03 "P1ayer PID#3(salival) hit by AI with a Pickup (PK) DZ from 15
meters in head_hit for 0.88666 damage"
Kill message:
22:44:04 "salival (76561197999617086) salival was killed
by AI with a Pickup_PK_INS_DZ from 15m"
* Dont show you have the item if it's not nearby
This was showing you had a vehicle in the trader menu even if it was
over the other side of the map, I think this works better only showing
it if it's within the trader zone.
* Forgot missing operator
* Convert DZE_SafeZoneNoBuildItems to handle nested arrays for custom distances per items.
This makes the DZE_SafeZoneNoBuildItems be able to handle nested arrays,
This allows you to set custom distances per item instead of having it
all the default distance.
E.g DZE_SafeZoneNoBuildItems =
["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]];
* Fix forgotten exitWith syntax.
* Removed unneeded check.
* Remove public variable event handler when using config traders.
This stops the public variable event handler from being loaded when
you're using config based traders, it's not needed in this situation
* Change nearestObjects to nearEntities in z_checkCloseVehicle.sqf
* Fixes vehicle selling not able to sell correctly
If more than 1 vehicle of the same classname was in a trader and the
local vehicle was further away it would not be able to be sold till
moved closer. We are using DZE_myVehicle for everything and we do
previous checks to make sure it's not null and local so we can assume it
is okay to use.
Fixes
https://epochmod.com/forum/topic/43643-vehicle-dze4-can-not-be-sell/#comment-290036
* Stop server_publishVehicle3 duping a vehicle if hive fails to update
server_publishVehicle3 first creates the vehicle in the database then
reads it back to see if it's successful, previously it wasn't deleting
the vehicle if it failed.
Added a 1 second delay after the vehicle delete to stop duping of
vehicles also.
Fixed references to server_deleteObj that were using 2 parameters
instead of the required 3 and updated the example.
* Rework
* fix epoch_tempKeys.sqf making massive arrays.
epoch_tempKeys was making a massive array every time it was called due
to them setting the array size to the _ownerKeyId instead of count
_temp_keys_names.
For example: Call this function 10k times in testkit and see it lag the
client due to making a massive array over and over again.
```"[[["9379"],[<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<n
"Test script finished. Code took 0.440002 seconds to run"
```
With fixed code:
```"[[["9379"],["Yellow Key (65d0)"]],false]"
"Test script finished. Code took 0.000991821 seconds to run"
```
* Update fn_selfActions to support fixed epoch_tempKeys fix.
Forgot this from my previous commit, this will select the right key now
for displaying in the unlock_veh.sqf (I broke this with my previous
commit)
* Rework
* Move dze_supplyCrate and vein wrecks to CfgLoot
Moves both the supply crates and vein wrecks to the CfgLoot tables so
admins can customize.
Also modifies the main add item statement to allow support for weapons,
magazines and backpack refunding/spawning instead of hard coded
magazines.
Should be backwards compatible with the old style (I did test).
* Remove unused _activatingPlayer variable
* Rework
* More spelling mistakes
Further to commit:
https://github.com/oiad/DayZ-Epoch/commit/0e938ba8f36b2631b98da1bdbfd3d6d578432110
* Add harder penalties for wrong combination on doors
This adds a variable (DZE_doorManagementHarderPenalty) to make attempts
at code breaking doors harder. This will exponentially increment the
time between attempts or if you set it to false will make it 5 seconds
between attempts.
Unlike the original (that was useless TBH) this will actually lock out
the combo lock UI until the timer is set.
Will reset completely after 120 seconds.
* Add German translations
* Resolve merge conflict
* Resolve merge conflict
* switchModel, jerry_fill, water_fill, drinkWater, packTent changes/fixes
player_packTent: Add private array since there was none. Make it match
player_packVault so a player can't pack the tent with others near (to
stop duping)
water_fill:
Fixed the massive lag issue with the check for ponds etc, Originally was
being done searching for all which is quite intensive, now only
searching for waterholeproxy which matches all the water holes on
chernarus I could try.
Fixed a few localizations. Thanks @schwanzkopfhegel
player_drinkWater: Same as above. Also removed a lot of unused private
variables.
jerry_fill:
Made the minimum fill level of fuel tanks 10% of
dayz_randomMaxFuelAmount so the tank will always have fuel
Fixed issue with ItemFuelBarrel only using 40 litres from a tank.
Thanks @schwanzkopfhegel
Display how much fuel was needed if the tank is empty
Fix issue if the tank was empty that dayz_actionInProgress was not reset
player_switchModel:
Fixed issue of coins dissapearing on gear change
Fixed old commented out code that was broken so now you will go back
into the camera view you were in before you changed clothes
* Revert drinkWater/water_fill changes
My previous commit can only be used on chernarus since it's the only map
that has the waterholeproxy we rely on.
* crafting localization fix
* Update german translations
* Rework
* Missed private variable
* Rework again
* Update german string
* Move more debug lines to #ifdef
Tidys up server RPT
Also make the combination rolling text overwrite the previous build
spam.
* Make additional changes
* 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
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)
* player_onPause fixes
Properly displays the right message now for why you can't abort.
* Door Management/Plot Management isServer changes
Removes isServer, these are run on the client only so no need for this.
* dayz_server private tags
Fix a few missing private tags and remove a _forEachIndex tag.
Remove unused 1.0.5.1 dayz_server.pbo as it's no longer valid/needed
* Fix spelling mistake of classname DZ_Czech_Vest_Pouch
As per subject
* Fix typo from 1.0.5.1 and rename DZ_Czech_Vest_Puch to DZ_Czech_Vest_Pouch.
As per subject
* Fix typo from 1.0.5.1 and rename DZ_Czech_Vest_Puch to DZ_Czech_Vest_Pouch.
As per
* More typo SQL goodness
As per subject
* 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
* player_wearclothes changes, string changes and maintain area moving
Adds 2 toggles for admins to modify:
DZE_backpackRemove forces the player to drop his/her backpack when they
change gear.
DZE_maintainCurrencyRate modifies the amount of worth each item is worth
to maintain.
Changes the error message in player_wearClothes to tell the player why
they can't change gear yet
Remove some debug lines that spam RPT
* Rework
Rework as per @ebaydayz
* Rework
Rework
* 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.
* 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
* 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
* Toggle for salvaging from locked vehicles
This adds the ability to remove salvaging from locked vehicles which
helps avoid griefing
Fixes a spelling mistake for a localization string
Makes it possible to salvage 0% damaged items again, this was disabled
as per
https://github.com/EpochModTeam/DayZ-Epoch/commit/3292d84b857f307571af9233dcfffe9d59a0b5e9
I've had this running on my server for a year or so with no issues (not
that it doesn't affect it, i've just never seen it)
* Toggle salvagable locked vehicles changers
@ebaydayz fixed
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
https://github.com/EpochModTeam/DayZ-Epoch/commit/8f58baf3f286454a9f398517dc4f1980bd4d5c8e
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
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.
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.
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.
* Plot management fixes
This hopefully adds a few more items to the maintain list (@icomrade)
Uses epoch_returnChange to accurately and tidily return change and
handle money.
Localize maintain_area.sqf for single currency servers
* Plot Management tidyness
Fixing tidy issues
* Plot management changes
Fix maintenance variables as per @ebaydayz
* Plot management
Missed one
* Plot management fixes and default maintain_area fixes.
Convert original maintain_area.sqf to epoch_returnChange, I used the
plot management localization strings since I liked them better, the
epoch ones don't make a lot of sense really. Makes no difference if plot
management is turned off anyway.
Change the single currency version to work a lot better than it did, I
put the cost per item to 100 to be more in line with what I would expect
on a server
Changed _range to use DZE_maintainRange (DZE_plotPole select 0 + 20)
This makes Block doorways and block garage door ways Cinder doorways and
Cinder garage door ways so they will be alphabetized properly.
It was always annoying having block doorways not near cinder stuff.
* 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
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.
This correctly fixes snap points for all cinder related to metal floors.
Anything cinder will now correctly snap to full cinder walls and vice
versa
Metal floors will not have gaps so you can correclty create a 1x1 cube
(as it should be)
Renamed cinder_wall_kit to half_cinder_wall_kit to be in line with
full_cinder_wall_kit since I felt it was confusing. cinder_wall_kit
seems like it would be full to me.
Fixed a string issue when building cancelling to make it more readable.
This changes a few functions that were being used to use the already
defined variables instead
Fixed a few string issues with Advanced trading and plot managment.
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