Commit Graph

255 Commits

Author SHA1 Message Date
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 f3ccb74eab Also update objects if player is dead in onPlayerDisconnect
I just noticed before 5f0c2fc this was also running if the player was
dead. Now it will run if the player is alive in playerSync otherwise it
will run here if they are dead.
2016-09-21 11:41:41 -04:00
icomrade 4e946552fd Fix combat logging
Thanks @ndavalos

@ebaydayz since this was moved after player_sumMedical is called in
https://github.com/EpochModTeam/DayZ-Epoch/commit/5f0c2fcc4952b03791512ee4128c889b2821734c
it would no longer save the modified unconcious and timeout vars to the
DB.
2016-09-21 11:09:03 -04:00
ebaydayz e2c2a2a76a Fix 309 error for newly placed safe inventory
See my comments on ae78fde and a3c3ccc

The object_maintenance function is only for vanilla buildables and is
currently not used. It immediately overwrites with a 306 call.
2016-09-20 13:47:18 -04:00
ebaydayz ac95c6b0df Make plot and door friends lists backwards compatible
This prevents errors when upgrading 1051 databases that had plot or door
management installed.

See comments at:

https://github.com/EpochModTeam/DayZ-Epoch/commit/fe9b8fdcb4b5cf069e0cc287b97785a3448817c8
2016-09-19 20:21:27 -04:00
ebaydayz 708328e486 Avoid gear update for empty random vehicles
There is no need to update the inventory if no loot was added.

My mistake from d98025c
2016-09-17 19:07:08 -04:00
ebaydayz d0e7b26121 Fix wrong distance in relocate diag_log
My mistake from 9c2f151
2016-09-17 18:15:16 -04:00
ebaydayz 3d0c5b13cf Fix playerSync error from 5f0c2fc
@icomrade There are cases where playerSync will receive > 3 params if
achievements are passed. Example:

https://github.com/EpochModTeam/DayZ-Epoch/blob/master/SQF/dayz_code/system/player_spawn_2.sqf#L305
2016-09-17 17:43:41 -04:00
ebaydayz 5f0c2fcc49 Speed up onPlayerDisconnect some more
Moved combat log setVariables to playerSync. Now the player object is no
longer needed for any of the code at the bottom of playerSync or
onPlayerDisconnected.

Update objects is already performed at the bottom of playerSync. There
is no reason to do it again in playerDisconnect since it calls
playerSync.
2016-09-17 15:02:00 -04:00
ebaydayz da70306291 Speed up playerSync a little
Removed unused variables and redundant checks.

_Force was always true so any condition with an OR _force in it was the
same as (true) i.e. redundant.
2016-09-17 14:03:05 -04:00
ebaydayz 9c2f15159a Correct Air relocate in server_playerSync
@icomrade you forgot to change the _playerObj variable to _character
when you moved this.

Also if BIS_fnc_findSafePos was successful on the first attempt the way
you had it would use the original _charPos instead of the successful
return because you never set _charPos = _newPos;

https://github.com/EpochModTeam/DayZ-Epoch/commit/ed3227fa7a3dd879083f43558a402a651afd56ce
2016-09-17 13:07:27 -04:00
ebaydayz bc4cb49463 Remove redundant characterID check in server_playerSync
I made no changes apart from removing the (_characterID != "0") check
and the corresponding spacing/tabs.

If _characterID == "0" the script would have already exited on line 30.
2016-09-17 12:18:54 -04:00
ebaydayz a63da4606d Speed up onPlayerDisconnect a little
Removed redundant diag_log since it is already done in dayz_recordLogin.

Removed noatlf4 variable because we use inCombat instead. Noatlf4 is
only set if the player is hit in the damage handler, while inCombat is
set any time the player is in combat.
2016-09-17 12:05:32 -04:00
ebaydayz d98025c8d9 Fix random spawned vehicle loot saving
Dynamic vehicle loot will save to database now even if no players
interact with the vehicle before restart.
2016-09-12 12:23:23 -04:00
icomrade 252843dee7 should fix error 2016-09-11 16:40:15 -04:00
ebaydayz 16e4dc7b30 Move HeliCrash and CarePackage area variables to markers
This allows finer grained control of crashsite, carepackage and infected
camp spawn positions and radii (further north, south, east, west, etc.).

Also removed some hardcoded checks for Chernarus, since
dayz_townGenerator should always be off on other maps for now. Someone
may add town generator coordinates for other maps later.

Related vanilla commits:

https://github.com/DayZMod/DayZ/commit/b20b402bf030769350cf662b985efba9e83ebe55

https://github.com/DayZMod/DayZ/commit/7c8b69eb82a8c741d01251b2552d009abe2687c4

https://github.com/DayZMod/DayZ/commit/7dfd3ef9cf3cf1751759fd76f8eae10c0b1740dc
2016-09-11 14:45:49 -04:00
icomrade 48334e76d4 Update spawned vehicle inventory after publishing 2016-09-11 14:43:26 -04:00
icomrade b305e7d793 Don't force save at login
Thanks for the heads up ebay
2016-09-10 20:45:39 -04:00
icomrade ed3227fa7a Fix dupe on disconnect
I moved the relocation code to player_sync, I didn't notice any errors
but just check to make sure it's working okay.
2016-09-10 13:43:56 -04:00
ebaydayz f57e303355 Update vanilla fence building
Vanilla commits applied:

https://github.com/DayZMod/DayZ/commit/e88a5c42bc86f91d254104b13064f83a2dd23a76

https://github.com/DayZMod/DayZ/commit/fe9564351108ae72496592b3bd741a5064b84ccd

https://github.com/DayZMod/DayZ/commit/9a82b8307c523046773b9cd3440c387c7155d70e

https://github.com/DayZMod/DayZ/commit/5a305198c70b1c3bdf7fbf055f550cf3a2d14001

https://github.com/DayZMod/DayZ/commit/be872601c96e526cb443b6ad47eb71fdf6618775

https://github.com/DayZMod/DayZ/commit/44a25b1b4a86d17ecf0780ba322513d756d1cbb1

https://github.com/DayZMod/DayZ/commit/7bfeab3c13b3835c5f134b39a15c8eae948a21b7

https://github.com/DayZMod/DayZ/commit/cc5f02a41ae7cba9d0312463caf48f46eed9cdad
2016-09-10 11:25:10 -04:00
ebaydayz 7be75c4674 Remove random unused faco code 2016-09-02 13:25:51 -04:00
ebaydayz a245690cae Use looser values for logout in air vehicle fix
Fixes problems with
https://github.com/EpochModTeam/DayZ-Epoch/commit/7b354e7d552546303d065d24fea6f76986115f47
2016-08-28 12:40:32 -04:00
ebaydayz 7b354e7d55 Fix relog over base in air vehicle to get inside exploit
Tested over forest, regular terrain and water without issue.
2016-08-28 11:35:32 -04:00
ebaydayz f2c39e0038 Fix wrong _name variable in server_onPlayerDisconnect
My mistake from #1753, name is already passed from onPlayerDisconnected:

https://github.com/EpochModTeam/DayZ-Epoch/blob/master/SQF/dayz_server/init/server_functions.sqf#L141
2016-08-27 09:48:14 -04:00
ebaydayz ae329db599 Add TurnLeft and TurnRight actionkeys to interrupt
Fixes #1753
2016-08-25 17:42:24 -04:00
ebaydayz 134a614255 Remove FNC_getPlayerUID
It's been over two years since it was added. All servers should be
updated to steam ID by now.
2016-08-23 15:40:26 -04:00
ebaydayz d20221caf3 Crash site spawns lowered to 1 at startup. Spawn frequency changed.
Vanilla development commit:

https://github.com/DayZMod/DayZ/commit/a2040214dcd2d596dbfb0c32150ec387314807af
2016-08-20 16:32:56 -04:00
ebaydayz bfca19bf80 Remove some unused legacy code 2016-08-18 17:00:08 -04:00
icomrade 6d45a8f2b6 use createVeh non-array on the server
Faster by my testing. Also, some more performance related changes to
server_monitor
2016-08-17 15:17:43 -04:00
ebaydayz cb3be8b547 Add minor improvement to safe diag_log 2016-08-13 13:20:36 -04:00
ebaydayz ed47a63313 Make log more accurate in server_playerSync
Vanilla development commits:

https://github.com/DayZMod/DayZ/commit/45ac48b5955c73b0b12fdccaed6573910170f3a7

https://github.com/DayZMod/DayZ/commit/ca23681a7d022d3ffeadfd9bf91b1942526b54ee
2016-08-12 16:41:45 -04:00
ebaydayz 7439b87779 Update damage handler and improve study body
Vanilla development commits applied:

https://github.com/DayZMod/DayZ/commit/3db0fe8e7a3df0c2ab9e0f6bb220acf84e450da3

https://github.com/DayZMod/DayZ/commit/73a63898f11501c4aad83ead106c90b3e49461ac

https://github.com/DayZMod/DayZ/commit/08e18d5b526f8f8ee570fed1a3640d217f7fa83b

https://github.com/DayZMod/DayZ/commit/126da2dcd38a03d5583627607a78d37ad7f64091

https://github.com/DayZMod/DayZ/commit/d5fa3238656c06f8a8c1996d748130002ab2a7f6

https://github.com/DayZMod/DayZ/commit/d37526fcc62a3291fe3b7135bacb4fb172184989

https://github.com/DayZMod/DayZ/commit/5fcca134f05ddf3e4b9458cf9fe54154a9575616

https://github.com/DayZMod/DayZ/commit/c9c1fc934d449b33a9ef3bf14a82b5a40d93874b
2016-08-11 15:16:53 -04:00
ebaydayz 2fdc87a86c Clarify comment 2016-08-11 11:15:51 -04:00
ebaydayz 72656ed001 Greatly optimize safe gear handling
- Safe inventory arrays are no longer sent over network to all machines
on server startup and on each lock/unlock
- Disabled user input then closed gear dialog during safe
lock/unlock/pack to block various duping methods.
- Moved safe creation, deletion and gear handling to server. This cuts
down on add[Magazine/Weapon/Backpack]Cargo, createVehicle and
deleteVehicle BE logs.
2016-08-10 20:34:54 -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:
https://github.com/EpochModTeam/DayZ-Epoch/commit/2c4c75c67c7b0230d5850b2a304a5b83020d3a3b#diff-fcf3df9a25b3d05402ab4e4809673194R6
@icomrade
2016-08-09 14:52:15 -04:00
icomrade 657fe60f26 Better maintain
Intensive commands are processed on the client only, as opposed to
twice. an array of objects, their corresponding UID and ID are sent to
the server. Sending the objects as an array, despite the size the array
can reach, should be better than the way this was set up before.

Needs testing on a full server however.
2016-08-03 19:54:06 -04:00
icomrade ae78fde067 Add coin support to dayz_Server and login
New variables: DZE_groupManagement = false; //Enable or disable group
management. Enabled by default
DZE_MoneyStorageClasses = []; // If using a Single currency system
(Z_SingleCurrency = true;), this is an array of object classes players
can store coins in

if Z_SingleCurrency = true; the hive is now set up to handle coin
updates on players, characters, and objects.
if DZE_groupManagement = true; the hive is now set up to save groups

group and coin variables are set in player_monitor.fsm, for
vehicles/objects it's set in the server_monitor.sqf file for objects in
the DZE_MoneyStorageClasses array

Also, this commit includes a change to the way the hive spawns in
vehicles. vehicles are now created at [0,0,0] and moved using setPosATL
to their saved position. Thanks for the tip @ndavalos  @eraser1
2016-08-03 18:01:22 -04:00
icomrade c694545bce Update server for playerGroup column in HiveExt
Requires DLL Published in this commit as well as a database update.
Execute the added SQL in the 1.0.6_Updates.sql on your database.

Use Hive child 204 to update the new column
_key = format["CHILD:204:%1:%2:%3:", (getPlayerUID player),
dayZ_instance,  [Array of playerUIDs of group members]];
_key call server_hiveWrite;
2016-07-29 12:05:01 -04:00
icomrade e446603ea2 Fix combat logging
In the initialize section of the fsm r_player_unconscious and
r_player_timeout return their default values (false and 0). Also, the
Vanilla server-side combat check doesn't appear to work, or it doesn't
work with the antihack disabled (I haven't tested with it enabled).

New variable inCombat is set more quickly than the combatTimeout
variable
2016-07-26 20:51:10 -04:00
ebaydayz 33538520d0 Removed Achievements from network send on login.
Vanilla development commit:

https://github.com/DayZMod/DayZ/commit/0079818570b115cb9def88db6014c5306560eb15
2016-07-25 12:16:22 -04:00
ebaydayz 55df36741b Diag_log Cleanup.
Vanilla development commits:

https://github.com/DayZMod/DayZ/commit/1dbef192bb413526503aca89bb636e277ac59985

https://github.com/DayZMod/DayZ/commit/10cb0249f0dcfa80b5e4cfd89660bc6c33d6700a
2016-07-25 12:06:53 -04:00
icomrade 72c529f94e Merge branch 'master' of https://github.com/EpochModTeam/DayZ-Epoch 2016-07-23 17:19:46 -04:00
icomrade a3c3ccc3bf Fix door/plot management friends not writing to DB 2016-07-23 17:19:06 -04:00
ebaydayz 8202f7d61b Sync debug check
Vanilla development commit:

https://github.com/DayZMod/DayZ/commit/0baaac7a91a4eaf02c13e47ae51e2015af5549c2
2016-07-23 15:23:00 -04:00
ebaydayz f2687345cd Testing Confirmed Kills System.
Vanilla development commit:
https://github.com/DayZMod/DayZ/commit/4881e00ecfd7c022e49dc4ee6b3ad52ba9ad0e03

New - Journal Kills will only update during the session on confirmed
Kills (study dead body).
2016-07-21 11:31:47 -04:00
icomrade 92cbd8a7a9 only sleep if Hive call in loop fails
should improve vehicle spawning time slightly
2016-07-18 21:51:37 -04: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
Bruce-LXXVI 5e53a71e88 Pullrequest/door management (#1694)
* 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.
2016-06-15 18:22:01 -04:00
ebaydayz 835d750c0c Use single config variable for Plot for Life and Plot Management
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).
2016-06-12 12:54:46 -04:00
ebaydayz 914b37a413 Pass cursorTarget to maintain_area.sqf
CursorTarget should always be passed from fn_selfActions, not reacquired
in action scripts. This is to ensure the same object is referenced. Plot
Management maintain_area is called from the dialog button, not
fn_selfactions.
2016-05-19 13:10:20 -04:00