AFAIK there is no performance difference between configFile and
missionConfigFile.
Using missionConfigFile by default simplifies loot scripts and makes the
extra config variable unnecessary. It's one less step for admins to
customize their tables.
* 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)
* Added one new skin
* Added one new skin
* Added one new skin and class RepairVehicle
Added one new skin and class RepairVehicle: None { show = 0; };
* Added one new skin
* Added one new skin
* Update EpochSkins.hpp
* Added one new skin
* Added one new skin
* Added one new skin
* New Skins
Added all new skins to the loot table.
* Added new skins
* New skins for trading
* New skins for trading
* New skins for trading
* Added new skins
* Added new skins
* Strings for new skins
* Added new skins to player classes
* Added weight for new skins
Vanilla development commits:
707a591765c453cdedd2
Set to double vanilla default value since Epoch has a lot more large
vehicles with 1000+ fuel capacity.
No reason to use spawn here. Spawn can have a delay. Since
fn_selfActions runs faster it can register the vehicle as still locked
or unlocked after you clicked the action.
There is no point in setting inTraderCity = "Any"; since you can use the
isInTraderCity variable to check if a player is in any trader city. Also
"Any" will return false for isNil, so the only time "Unknown Trader
City" was being used was when the player had not entered any city yet.
If they left a known trader and went to an unknown one the RPT message
would say "bought x at Any". Now it will correctly say "Unknown Trader"
anytime a purchase is made without inTraderCity being set.
* 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
* 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).
I forgot numbers greater than 1 million are truncated when converted to
string:
http://killzonekid.com/arma-scripting-tutorials-float-to-string-position-to-string/
KeyStartNumber exceeded 6 digits which is why it was being truncated to
"1e+011" and getting stuck on loop (as that string was already in
currentObjectUIDs) as mentioned in 2df7279.
Starting at 10, there should never be more than a couple duplicates
generated, so keyStartNumber will never exceed about 100 max. Added an
exit just for a fail safe.
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.
Looks like the error was:
r_player_Nutrition = [_NutritionLoss];
It should have used the set command, since the array was already defined
in variables.sqf. But there is no need to use an array for a single
value anyway.
Fixes RPT error on login:
Error in expression <hyd"] spawn player_death;
};
};
if (dayz_nutrition > 0) then {
_Nutrition = >
Error position: <dayz_nutrition > 0) then {
_Nutrition = >
Error Undefined variable in expression: dayz_nutrition
File z\addons\dayz_code\system\player_spawn_2.sqf, line 182
Also moved the dayz_epoch_b stringtable into a dayz_epoch package in the
dayz_code stringtable.
This makes it easier to maintain and search for code strings. Epoch_b
only holds extra models and textures now.
The hive call in server_publishObject is the same between vanilla and
Epoch. The only difference is vanilla uses the _inventory area for
owner, lock code, etc. variables where as modular Epoch items just store
an empty array there.
The object classname does not need to be sent in the PV because it can
be obtained on the server.
PVDZE_veh_Publish was not used.