mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
@@ -49,6 +49,7 @@
|
||||
[FIXED] Keyboard input is now disabled properly while unconscious @skynetdev @ebaydayz #1613
|
||||
[FIXED] Toilet paper dupe exploit when building outhouse @Markokil321 @ebaydayz #1599
|
||||
[FIXED] Safes and lockboxes wiped when opening after restart and locking not being logged to RPT @ebaydayz #1413 #1503
|
||||
[FIXED] Duplicate objectUIDs occasionally causing vehicles to swap classes or be deleted across restarts @ebaydayz #1504
|
||||
|
||||
[UPDATED] .hpp files updated in dayz_epoch_b CfgLootPos > CfgBuildingPos. @Uro1
|
||||
[UPDATED] .bat files updated in Config-Examples @Raziel23x
|
||||
|
||||
@@ -49,8 +49,6 @@ if (_spawnDMG) then {
|
||||
};
|
||||
};
|
||||
|
||||
// TODO: check if uid already exists && if so increment by 1 && check again as soon as we find nothing continue.
|
||||
|
||||
//Send request
|
||||
_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, _damage , _characterID, _worldspace, [], _array, _fuel,_uid];
|
||||
diag_log ("HIVE: WRITE: "+ str(_key));
|
||||
|
||||
@@ -28,8 +28,6 @@ _location = _worldspace select 1;
|
||||
//Generate UID test using time
|
||||
_uid = _worldspace call dayz_objectUID3;
|
||||
|
||||
// TODO: check if uid already exists && if so increment by 1 && check again as soon as we find nothing continue.
|
||||
|
||||
//Send request
|
||||
_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, 0 , _characterID, _worldspace, [], [], 1,_uid];
|
||||
diag_log ("HIVE: WRITE: "+ str(_key));
|
||||
|
||||
@@ -579,6 +579,9 @@ server_getDiff2 = {
|
||||
_result
|
||||
};
|
||||
|
||||
currentObjectUIDs = [];
|
||||
keyStartNumber = 100000000000;
|
||||
|
||||
dayz_objectUID = {
|
||||
private["_position","_dir","_key","_object"];
|
||||
_object = _this;
|
||||
@@ -599,6 +602,12 @@ dayz_objectUID2 = {
|
||||
_key = _key + str(round(_x));
|
||||
} count _position;
|
||||
_key = _key + str(round(_dir));
|
||||
// Make sure the generated key is not a duplicate
|
||||
while {true} do {
|
||||
if !(_key in currentObjectUIDs) exitWith {currentObjectUIDs set [count currentObjectUIDs,_key];};
|
||||
keyStartNumber = keyStartNumber + 1;
|
||||
_key = str keyStartNumber;
|
||||
};
|
||||
_key
|
||||
};
|
||||
|
||||
@@ -613,6 +622,12 @@ dayz_objectUID3 = {
|
||||
_key = _key + str(round(_x));
|
||||
} count _position;
|
||||
_key = _key + str(round(_dir + time));
|
||||
// Make sure the generated key is not a duplicate
|
||||
while {true} do {
|
||||
if !(_key in currentObjectUIDs) exitWith {currentObjectUIDs set [count currentObjectUIDs,_key];};
|
||||
keyStartNumber = keyStartNumber + 1;
|
||||
_key = str keyStartNumber;
|
||||
};
|
||||
_key
|
||||
};
|
||||
|
||||
|
||||
@@ -96,6 +96,9 @@ if (isServer && isNil "sm_done") then {
|
||||
_fuel = _x select 7;
|
||||
_damage = _x select 8;
|
||||
|
||||
// Set objectUIDs in currentObjectUIDs list to prevent duplicates
|
||||
if (_type in dayz_allowedObjects) then {_worldspace call dayz_objectUID2;} else {_worldspace call dayz_objectUID3;};
|
||||
|
||||
_dir = 0;
|
||||
_pos = [0,0,0];
|
||||
_wsDone = false;
|
||||
|
||||
Reference in New Issue
Block a user