Либо я делаю что то не так, либо я чего то не понимаю, либо что то действительно не так.
Кусок кода, который предназначен крутиться на сервере
// Очистка _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];
А сами грабли собственно в том что, выделенному серверу оказалось абсолютно до фанаря, что мой юнит уже давно сменил свою позицию на карте, сервер только зафиксировал для себя ту позицию на которой юнит собственно зашёл в игру, и сервер далее не отслеживает смену позиции, и отреагирует только если я сменю позицию юнита командой.
Вот так вот, мля!