1.7.5.M1D7

This commit is contained in:
A Clark
2013-01-07 12:45:28 -06:00
parent ef2920120c
commit 944cd01129
33 changed files with 7972 additions and 469 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;
};
};