Либо я делаю что то не так, либо я чего то не понимаю, либо что то действительно не так.
Кусок кода, который предназначен крутиться на сервере
// Очистка
_buildings = ptm_objectsInBuildingSpawner_buildingsActivated;
for "_i" from 0 to (count ptm_objectsInBuildingSpawner_buildingsActivated) - 1 do {
_building = ptm_objectsInBuildingSpawner_buildingsActivated select _i;
if ((_building getVariable ["SpawnConveyorState", "idle"]) == "idle") then {
_entities = (position _building) nearEntities [["Man", "Car"], _cleenUpRadius];
_isOk = true;
for "_k" from 0 to (count _units) - 1 do {
if (vehicle (_units select _k) in _entities) exitWith {_isOk = false};
};
if (_isOk) then {
_objects = _building getVariable ["ptm_objectsInBuilding_objects", []];
for "_j" from 0 to (count _objects) - 1 do {
_object = _objects select _j;
if !(isNull _object) then {
deleteVehicle _object;
};
};
_building setVariable ["ptm_objectsInBuilding_objects", []];
_buildings = _buildings - [_building];
};
};
};
Если этот кусок кода будет крутится на сервере который я буду хостить из игры, то всё работает, всё норм.
Но подняв выделенный сервер я получаю не работоспособный функционал, точнее, функционал продолжит исправно функционировать, но без требуемого эффекта, ни каких ошибок.
И путём хитрожопых манёвров мне удалось выяснить причину, и ядром причины оказалась эта строка, в исполнении именно на выделенном сервере
_entities = (position _building) nearEntities [["Man", "Car"], _cleenUpRadius];
А сами грабли собственно в том что, выделенному серверу оказалось абсолютно до фанаря, что мой юнит уже давно сменил свою позицию на карте, сервер только зафиксировал для себя ту позицию на которой юнит собственно зашёл в игру, и сервер далее не отслеживает смену позиции, и отреагирует только если я сменю позицию юнита командой.
Вот так вот, мля!











