rkemsley 10 Posted August 7, 2019 I am currently trying to make it so that when a hold action is preformed on a crate, it will put the crate in the back of a non specific Zamak Truck. Currently, it will put the crate in the nearest Zamak Truck (destroyed or alive). I need it to only pick the closest alive Zamak Truck. I've tried loads of different methods, but I'm now quite stuck. Please help! This is my script so far, all working fine. [ this, "Load.", "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_loaddevice_ca.paa", "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_loaddevice_ca.paa", "_this distance _target < 3", "_caller distance _target < 3", {}, {}, { _this call { _ZamakTrans = nearestObjects [ _this select 0, [ "Truck_02_transport_base_F" ], 25 ]; if ( count _ZamakTrans > 0 ) then { target = ( _ZamakTrans select 0 ); _lockIndexes = [ 2, 3, 4, 5, 6, 7 ]; { if ( ( _x select 2 ) in _lockIndexes ) then { moveOut ( _x select 0 ) }; } forEach fullCrew target; { target lockCargo [ _x, true ]; } forEach _lockIndexes; box attachTo [ target, [ 0, 0.25, -0.15 ] ]; box setVectorDirAndUp [ [ 1, 0, 0], [0, 0, 1 ] ]; }; } }, {}, [], 2, Nil, true, false ] remoteExec [ "BIS_fnc_holdActionAdd", 0, this ]; What I need is to pick the closest alive Zamak Truck, not just the closest one. (any advice/criticism on my script will be greatly appreciated.) Share this post Link to post Share on other sites
phronk 897 Posted August 8, 2019 _liveTrucks = nearestObjects[ _this # 0, ["Truck_02_transport_base_F"], 25 ]select{alive _x}; ^ Selects alive trucks _truckDistances=[]; { _truckDistances pushBack (_x distance _this#0)}forEach _liveTrucks; _truckDistances sort true; _closestTruck=_truckDistances # 0; ^ Finds the closet truck & selects it 1 Share this post Link to post Share on other sites
Larrow 2814 Posted August 8, 2019 NearestObjects is already ordered nearest first. 1 Share this post Link to post Share on other sites
rkemsley 10 Posted August 11, 2019 [ this, "Load.", "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_loaddevice_ca.paa", "\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_loaddevice_ca.paa", "_this distance _target < 3", "_caller distance _target < 3", {}, {}, { _this call { _ZamakTrans = nearestObjects [ _this select 0, [ "Truck_02_transport_base_F" ], 25 ] select { alive _x }; if ( count _ZamakTrans > 0 ) then { target = ( _ZamakTrans select 0 ); _lockIndexes = [ 2, 3, 4, 5, 6, 7 ]; { if ( ( _x select 2 ) in _lockIndexes ) then { moveOut ( _x select 0 ) }; } forEach fullCrew target; { target lockCargo [ _x, true ]; } forEach _lockIndexes; box attachTo [ target, [ 0, 0.25, -0.15 ] ]; box setVectorDirAndUp [ [ 1, 0, 0], [0, 0, 1 ] ]; }; } }, {}, [], 2, Nil, true, false ] remoteExec [ "BIS_fnc_holdActionAdd", 0, this ]; For anyone who is interested in recreating ^^ Share this post Link to post Share on other sites