mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-18 22:22:57 +03:00
1.7.5.M1D7
This commit is contained in:
@@ -8,7 +8,7 @@ _class = _this select 3;
|
||||
if (!(_object isKindOf "Building")) exitWith {
|
||||
deleteVehicle _object;
|
||||
};
|
||||
_allowed = [_object] call check_publishobject;
|
||||
_allowed = [_object, "Server"] call check_publishobject;
|
||||
if (!_allowed) exitWith { };
|
||||
|
||||
|
||||
@@ -24,6 +24,10 @@ _key call server_hiveWrite;
|
||||
|
||||
_object setVariable ["ObjectUID", _uid,true];
|
||||
|
||||
if (_object isKindOf "TentStorage") then {
|
||||
_object addMPEventHandler ["MPKilled",{_this call vehicle_handleServerKilled;}];
|
||||
};
|
||||
|
||||
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object];
|
||||
|
||||
//diag_log ("PUBLISH: Created " + (_class) + " with ID " + _uid);
|
||||
|
||||
@@ -52,17 +52,6 @@ while {true} do {
|
||||
diag_log(format["CRASHSPAWNER: Spawning '%1' with loot table '%2' NOW! (%3) at: %4", _crashName, _lootTable, time, str(_position)]);
|
||||
|
||||
_crash = createVehicle [_crashModel,_position, [], 0, "CAN_COLLIDE"];
|
||||
|
||||
deleteMarker "Secure Helicopter Wreck";
|
||||
///Add crash site markers
|
||||
_crashmarker = createMarker["Secure Helicopter Wreck",_position];
|
||||
_crashmarker setMarkerColor "ColorRed";
|
||||
_crashmarker setMarkerType "Flag";
|
||||
//_crashmarker setMarkerShape "ELLIPSE";
|
||||
//_crashmarker setMarkerBrush "Grid";
|
||||
_crashmarker setMarkerText "Secure Helicopter";
|
||||
_crashmarker setMarkerSize [1, 1];
|
||||
|
||||
// Randomize the direction the wreck is facing
|
||||
_crash setDir round(random 360);
|
||||
|
||||
|
||||
@@ -89,6 +89,47 @@ _object_damage = {
|
||||
_key call server_hiveWrite;
|
||||
_object setVariable ["needUpdate",false,true];
|
||||
};
|
||||
|
||||
_object_killed = {
|
||||
private["_hitpoints","_array","_hit","_selection","_key","_damage"];
|
||||
_hitpoints = _object call vehicle_getHitpoints;
|
||||
_damage = damage _object;
|
||||
_array = [];
|
||||
{
|
||||
_hit = [_object,_x] call object_getHit;
|
||||
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
|
||||
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
|
||||
_hit = 1;
|
||||
_object setHit ["_selection", _hit]
|
||||
} forEach _hitpoints;
|
||||
_damage = 1;
|
||||
|
||||
if (_objectID == "0") then {
|
||||
_key = format["CHILD:306:%1:%2:%3:",_uid,_array,_damage];
|
||||
} else {
|
||||
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
|
||||
};
|
||||
diag_log ("HIVE: WRITE: "+ str(_key));
|
||||
_key call server_hiveWrite;
|
||||
_object setVariable ["needUpdate",false,true];
|
||||
};
|
||||
|
||||
_object_repair = {
|
||||
private["_hitpoints","_array","_hit","_selection","_key","_damage"];
|
||||
_hitpoints = _object call vehicle_getHitpoints;
|
||||
_damage = damage _object;
|
||||
_array = [];
|
||||
{
|
||||
_hit = [_object,_x] call object_getHit;
|
||||
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
|
||||
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
|
||||
_object setHit ["_selection", _hit]
|
||||
} forEach _hitpoints;
|
||||
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
|
||||
diag_log ("HIVE: WRITE: "+ str(_key));
|
||||
_key call server_hiveWrite;
|
||||
_object setVariable ["needUpdate",false,true];
|
||||
};
|
||||
// TODO ----------------------
|
||||
|
||||
_object setVariable ["lastUpdate",time,true];
|
||||
@@ -105,15 +146,18 @@ switch (_type) do {
|
||||
call _object_inventory;
|
||||
};
|
||||
case "damage": {
|
||||
if ( (time - _lastUpdate) > 5 && !_needUpdate ) then {
|
||||
diag_log ("Damaged Called");
|
||||
if ( (time - _lastUpdate) > 5) then {
|
||||
call _object_damage;
|
||||
} else {
|
||||
if ( !_needUpdate ) then {
|
||||
diag_log format["DEBUG: Added to NeedUpdate=%1",_object];
|
||||
needUpdate_objects set [count needUpdate_objects, _object];
|
||||
};
|
||||
};
|
||||
case "killed": {
|
||||
call _object_killed;
|
||||
};
|
||||
case "repair": {
|
||||
call _object_damage;
|
||||
call _object_repair;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user