mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-22 16:10:49 +03:00
Building upgrade and maintenance now use one function server side.
This commit is contained in:
@@ -95,24 +95,8 @@ if (_proceed) then {
|
|||||||
// Set location
|
// Set location
|
||||||
_object setPos _location;
|
_object setPos _location;
|
||||||
|
|
||||||
// Remove old object
|
dayzSwapObj = [_objectCharacterID,_object,[_dir,_location],_classname,_objectID,_objectUID,_obj];
|
||||||
deleteVehicle _obj;
|
publicVariableServer "dayzSwapObj";
|
||||||
|
|
||||||
// Delete object from database
|
|
||||||
dayzDeleteObj = [_objectID,_objectUID];
|
|
||||||
publicVariableServer "dayzDeleteObj";
|
|
||||||
|
|
||||||
// sleep a bit to make sure delete happens before create
|
|
||||||
sleep 1;
|
|
||||||
|
|
||||||
// Publish variables
|
|
||||||
_object setVariable ["CharacterID",_objectCharacterID,true];
|
|
||||||
|
|
||||||
//_object setVariable ["ObjectUID",_objectUID,true];
|
|
||||||
_object setVariable ["OEMPos",_location,true];
|
|
||||||
|
|
||||||
dayzPublishObj = [_objectCharacterID,_object,[_dir,_location],_classname];
|
|
||||||
publicVariableServer "dayzPublishObj";
|
|
||||||
|
|
||||||
cutText [format["You have repaired %1.",_text], "PLAIN DOWN", 5];
|
cutText [format["You have repaired %1.",_text], "PLAIN DOWN", 5];
|
||||||
|
|
||||||
|
|||||||
@@ -145,16 +145,6 @@ if ((count _upgrade) > 0) then {
|
|||||||
// Set location
|
// Set location
|
||||||
_object setPos _location;
|
_object setPos _location;
|
||||||
|
|
||||||
// Remove old object
|
|
||||||
deleteVehicle _obj;
|
|
||||||
|
|
||||||
// Delete object from database
|
|
||||||
dayzDeleteObj = [_objectID,_objectUID];
|
|
||||||
publicVariableServer "dayzDeleteObj";
|
|
||||||
|
|
||||||
// sleep a bit to make sure delete happens before create
|
|
||||||
sleep 1;
|
|
||||||
|
|
||||||
if (_lockable == 3) then {
|
if (_lockable == 3) then {
|
||||||
|
|
||||||
_combination_1 = floor(random 10);
|
_combination_1 = floor(random 10);
|
||||||
@@ -169,14 +159,8 @@ if ((count _upgrade) > 0) then {
|
|||||||
cutText [format["You have upgraded %1.",_text], "PLAIN DOWN", 5];
|
cutText [format["You have upgraded %1.",_text], "PLAIN DOWN", 5];
|
||||||
};
|
};
|
||||||
|
|
||||||
// Publish variables
|
dayzSwapObj = [_objectCharacterID,_object,[_dir,_location],_classname,_objectID,_objectUID,_obj];
|
||||||
_object setVariable ["CharacterID",_objectCharacterID,true];
|
publicVariableServer "dayzSwapObj";
|
||||||
|
|
||||||
//_object setVariable ["ObjectUID",_objectUID,true];
|
|
||||||
_object setVariable ["OEMPos",_location,true];
|
|
||||||
|
|
||||||
dayzPublishObj = [_objectCharacterID,_object,[_dir,_location],_classname];
|
|
||||||
publicVariableServer "dayzPublishObj";
|
|
||||||
|
|
||||||
player reveal _object;
|
player reveal _object;
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,11 @@ if (isServer) then {
|
|||||||
//Checking
|
//Checking
|
||||||
|
|
||||||
"dayzDeleteObj" addPublicVariableEventHandler {(_this select 1) spawn server_deleteObj};
|
"dayzDeleteObj" addPublicVariableEventHandler {(_this select 1) spawn server_deleteObj};
|
||||||
"atp" addPublicVariableEventHandler { _array = _this select 1; diag_log format["TELEPORT REVERT: %1 (%2) from %3 to %4 now at %5", _array select 0, _array select 1, _array select 2, _array select 3, _array select 4];};
|
|
||||||
|
// upgrade and maintain
|
||||||
|
"dayzSwapObj" addPublicVariableEventHandler {(_this select 1) spawn server_swapObject};
|
||||||
|
|
||||||
|
// "atp" addPublicVariableEventHandler { _array = _this select 1; diag_log format["TELEPORT REVERT: %1 (%2) from %3 to %4 now at %5", _array select 0, _array select 1, _array select 2, _array select 3, _array select 4];};
|
||||||
|
|
||||||
// disable zombies server side
|
// disable zombies server side
|
||||||
"dayzSpawnZed" addPublicVariableEventHandler {(_this select 1) spawn server_handleZedSpawn};
|
"dayzSpawnZed" addPublicVariableEventHandler {(_this select 1) spawn server_handleZedSpawn};
|
||||||
|
|||||||
50
SQF/dayz_server/compile/server_swapObject.sqf
Normal file
50
SQF/dayz_server/compile/server_swapObject.sqf
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
private ["_class","_uid","_charID","_object","_worldspace","_key","_allowed","_obj","_objectID","_objectUID"];
|
||||||
|
//[dayz_characterID,_tent,[_dir,_location],"TentStorage"]
|
||||||
|
_charID = _this select 0;
|
||||||
|
_object = _this select 1;
|
||||||
|
_worldspace = _this select 2;
|
||||||
|
_class = _this select 3;
|
||||||
|
_obj = _this select 4;
|
||||||
|
|
||||||
|
_obj removeAllMPEventHandlers "MPKilled";
|
||||||
|
|
||||||
|
// Remove old object
|
||||||
|
deleteVehicle _obj;
|
||||||
|
|
||||||
|
// Publish variables
|
||||||
|
_object setVariable ["CharacterID",_charID,true];
|
||||||
|
|
||||||
|
//_object setVariable ["ObjectUID",_objectUID,true];
|
||||||
|
_object setVariable ["OEMPos",_worldspace,true];
|
||||||
|
|
||||||
|
_objectID = _this select 5;
|
||||||
|
_objectUID = _this select 6;
|
||||||
|
|
||||||
|
if(_objectID == "0" && _objectUID == "0") exitWith {diag_log ("Object not valid: "+ str(_object));};
|
||||||
|
|
||||||
|
[_objectID,_objectUID] call server_deleteObj;
|
||||||
|
|
||||||
|
_allowed = [_object, "Server"] call check_publishobject;
|
||||||
|
if (!_allowed) exitWith { deleteVehicle _object; };
|
||||||
|
|
||||||
|
//diag_log ("PUBLISH: Attempt " + str(_object));
|
||||||
|
|
||||||
|
//get UID
|
||||||
|
_uid = _worldspace call dayz_objectUID2;
|
||||||
|
|
||||||
|
//Send request
|
||||||
|
_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, 0 , _charID, _worldspace, [], [], 0,_uid];
|
||||||
|
//diag_log ("HIVE: WRITE: "+ str(_key));
|
||||||
|
_key call server_hiveWrite;
|
||||||
|
|
||||||
|
_object setVariable ["lastUpdate",time];
|
||||||
|
_object setVariable ["ObjectUID", _uid,true];
|
||||||
|
// _object setVariable ["CharacterID",_charID,true];
|
||||||
|
|
||||||
|
_object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}];
|
||||||
|
// Test disabling simulation server side on buildables only.
|
||||||
|
_object enableSimulation false;
|
||||||
|
|
||||||
|
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object];
|
||||||
|
|
||||||
|
//diag_log ("PUBLISH: Created " + (_class) + " with ID " + _uid);
|
||||||
Reference in New Issue
Block a user