use createVeh non-array on the server

Faster by my testing. Also, some more performance related changes to
server_monitor
This commit is contained in:
icomrade
2016-08-17 15:17:43 -04:00
parent f04d581b4d
commit 6d45a8f2b6
12 changed files with 61 additions and 25 deletions

View File

@@ -1,15 +1,31 @@
//DO NOT USE IF YOU NEED ANGLE COMPENSATION!!!!
private "_pos";
_params = count _this;
_thingy = _this select 0;
if ((count _this) > 1) then {
_isATL = false;
if (_params > 1) then {
_pos = _this select 1;
if (_params > 2) then {
_isATL = _this select 2;
};
} else {
_pos = getPosASL _thingy;
};
if (surfaceIsWater _pos) then {
_thingy setPosASL _pos;
if (_isATL) then {
_thingy setPosASL (ATLToASL _pos);
} else {
_thingy setPosASL _pos;
};
} else {
_thingy setPosATL (ASLToATL _pos);
};
if (_isATL) then {
_thingy setPosATL _pos;
} else {
_thingy setPosATL (ASLToATL _pos);
};
};
_pos;

View File

@@ -79,7 +79,7 @@ _nbpatchs = 0;
_pos = +(_x);
_pos resize 3;
_pos = _house modelToWorld _pos;
_o = createVehicle [(_x select 3), _pos, [], 0, "CAN_COLLIDE"];
_o = (_x select 3) createVehicle [0,0,0];
_o setDir ((getDir _house)+(_x select 4));
_o setPosATL _pos;
diag_log [ typeOf _o, getPosATL _o, getDir _o, 0, nil];

View File

@@ -41,7 +41,8 @@ switch (_status) do {
_backpacks = _obj getVariable ["BackpackCargo",[]];
// Create new unlocked safe, then delete old locked safe
_holder = createVehicle [_unlockedClass,_pos,[],0,"CAN_COLLIDE"];
//_holder = createVehicle [_unlockedClass,_pos,[],0,"CAN_COLLIDE"];
_holder = _unlockedClass createVehicle [0,0,0];
_holder setDir _dir;
_holder setVariable ["memDir",_dir,true];
_holder setVectorDirAndUp _vector;
@@ -65,7 +66,8 @@ switch (_status) do {
_backpacks = getBackpackCargo _obj;
// Create new locked safe, then delete old unlocked safe
_holder = createVehicle [_lockedClass,_pos,[],0,"CAN_COLLIDE"];
//_holder = createVehicle [_lockedClass,_pos,[],0,"CAN_COLLIDE"];
_holder = _lockedClass createVehicle [0,0,0];
_holder setDir _dir;
_holder setVariable ["memDir",_dir,true];
_holder setVectorDirAndUp _vector;
@@ -89,7 +91,8 @@ switch (_status) do {
_magazines = getMagazineCargo _obj;
_backpacks = getBackpackCargo _obj;
_holder = createVehicle [_packedClass,_pos,[],0,"CAN_COLLIDE"];
//_holder = createVehicle [_packedClass,_pos,[],0,"CAN_COLLIDE"];
_holder = _packedClass createVehicle [0,0,0];
deleteVehicle _obj;
_holder setDir _dir;
_holder setPosATL _pos;

View File

@@ -67,11 +67,14 @@ _key call server_hiveWrite;
if(!_done) exitWith { diag_log("CUSTOM: failed to get id for : " + str(_uid)); };
if(DZE_TRADER_SPAWNMODE) then {
_object_para = createVehicle ["ParachuteMediumWest", [0,0,0], [], 0, "CAN_COLLIDE"];
//_object_para = createVehicle ["ParachuteMediumWest", [0,0,0], [], 0, "CAN_COLLIDE"];
_object_para = "ParachuteMediumWest" createVehicle [0,0,0];
_object_para setPos [_location select 0, _location select 1,(_location select 2) + 65];
_object = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
//_object = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
_object = _class createVehicle [0,0,0];
} else {
_object = createVehicle [_class, _location, [], 0, "CAN_COLLIDE"];
//_object = createVehicle [_class, _location, [], 0, "CAN_COLLIDE"];
_object = _class createVehicle _location;
};
if(!_donotusekey) then {

View File

@@ -75,7 +75,8 @@ _key call server_hiveWrite;
// Remove marker
deleteVehicle _object;
_newobject = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
//_newobject = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
_newobject = _class createVehicle [0,0,0];
// remove old vehicle from DB
[_objectID,_objectUID,_activatingPlayer] call server_deleteObj;

View File

@@ -49,7 +49,8 @@ for "_i" from 1 to (SPAWN_NUM) do
diag_log format ["DEBUG: Spawning a care package (%1) at %2 with %3 items.", _class, _position, _lootNum];
_vehicle = createVehicle [_class, _position, [], 0, "CAN_COLLIDE"];
//_vehicle = createVehicle [_class, _position, [], 0, "CAN_COLLIDE"];
_vehicle = _class createVehicle _position;
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _vehicle];
_vehicle setVariable ["ObjectID", 1, true];
@@ -73,12 +74,14 @@ for "_i" from 1 to (SPAWN_NUM) do
case 2: //Clutter cutter
{
createVehicle ["ClutterCutter_small_2_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
//createVehicle ["ClutterCutter_small_2_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
"ClutterCutter_small_2_EP1" createVehicle _lootPos;
};
case 3: //Debug sphere
{
createVehicle ["Sign_sphere100cm_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
//createVehicle ["Sign_sphere100cm_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
"Sign_sphere100cm_EP1" createVehicle _lootPos;
};
};
} forEach Loot_Select(_lootGroup, _lootNum);

View File

@@ -70,13 +70,15 @@ _spawnCrashSite =
diag_log format ["CRASHSPAWNER: Spawning crash site (%1) at %2 with %3 items.", _class, _position, _lootNum];
_vehicle = createVehicle ["ClutterCutter_small_2_EP1", _position, [], 0, "CAN_COLLIDE"];
_vehicle = createVehicle [_class, _position, [], 0, "CAN_COLLIDE"];
//_vehicle = createVehicle ["ClutterCutter_small_2_EP1", _position, [], 0, "CAN_COLLIDE"];
//_vehicle = createVehicle [_class, _position, [], 0, "CAN_COLLIDE"];
_vehicle = "ClutterCutter_small_2_EP1" createVehicle _position;
_vehicle = _class createVehicle [0,0,0];
dayz_serverObjectMonitor set [count dayz_serverObjectMonitor, _vehicle];
_vehicle setVariable ["ObjectID", 1, true];
_vehicle setDir random 360;
_vehicle setPos _position;
_lootParams = getArray (configFile >> "CfgVehicles" >> _class >> "lootParams");
{
@@ -101,12 +103,14 @@ _spawnCrashSite =
case 2: //Clutter cutter
{
createVehicle ["ClutterCutter_small_2_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
//createVehicle ["ClutterCutter_small_2_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
"ClutterCutter_small_2_EP1" createVehicle _lootPos;
};
case 3: //Debug sphere
{
createVehicle ["Sign_sphere100cm_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
//createVehicle ["Sign_sphere100cm_EP1", _lootPos, [], 0, "CAN_COLLIDE"];
"Sign_sphere100cm_EP1" createVehicle _lootPos;
};
};
}

View File

@@ -15,7 +15,8 @@ if ((count _position) == 2) then {
_istoomany = _position nearObjects ["All",5];
if ((count _istoomany) > 0) exitWith {};
_veh = createVehicle ["Supply_Crate_DZE",_position, [], 0, "CAN_COLLIDE"];
//_veh = createVehicle ["Supply_Crate_DZE",_position, [], 0, "CAN_COLLIDE"];
_veh = "Supply_Crate_DZE" createVehicle [0,0,0];
_veh enableSimulation false;
_veh setDir round(random 360);
_veh setPos _position;

View File

@@ -10,7 +10,8 @@ if ((count _position) == 2) then {
_spawnveh = ["Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Gold_Vein_DZE","Gold_Vein_DZE"] call BIS_fnc_selectRandom;
//diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
//_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh = _spawnveh createVehicle [0,0,0];
_veh enableSimulation false;
_veh setDir round(random 360);
_veh setPos _position;

View File

@@ -10,7 +10,8 @@ if ((count _position) == 2) then {
if ((count _istoomany) > 0) exitWith {};
_spawnveh = DZE_isWreck call BIS_fnc_selectRandom;
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
//_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh = _spawnveh createVehicle [0,0,0];
_veh enableSimulation false;
_veh setDir round(random 360);
_veh setPos _position;

View File

@@ -61,7 +61,9 @@ if (count AllowedVehiclesList == 0) then {
_istoomany = _position nearObjects ["AllVehicles",50];
if ((count _istoomany) > 0) exitWith {};
_veh = createVehicle [_vehicle, _position, [], 0, "CAN_COLLIDE"];
//_veh = createVehicle [_vehicle, _position, [], 0, "CAN_COLLIDE"];
//_veh setPos _position;
_veh = _vehicle createVehicle [0,0,0];
_veh setDir _dir;
_veh setPos _position;
_objPosition = getPosATL _veh;

View File

@@ -5,7 +5,8 @@ private ["_blocked","_flame","_position"];
_position = _x;
{if (_position distance _x < 150) exitWith {_blocked = true;};} forEach dayz_townGeneratorBlackList;
if (!_blocked && (random 1 < 0.33)) then {
_flame = createVehicle [ "flamable_DZ", _x, [], 0, "CAN_COLLIDE"];
//_flame = createVehicle [ "flamable_DZ", _x, [], 0, "CAN_COLLIDE"];
_flame = "flamable_DZ" createVehicle _x;
_flame inflame true;
_flame setVariable ["permaLoot",true]; // = won't be removed by the cleaner, cf. sched_lootpiles.sqf
};