You'll need to fired a containerRaycast to get the objects ID.
The args for it are Point3F start, Point3F end, bitset mask, SceneObject exempt=NULL .
You'd start at somewhere such as the players eyepoint, and end in the direction the player is looking at by scaling the players eye vector then adding it to the start.
The mask could be anything you want to look for, the global variables start with $TypeMasks::
Exempt removes the object from the search, you'd add your player object so you don't pick yourself up all the time.
$TypeMasks::All = "-1";
$TypeMasks::CameraObjectType = "4096";
$TypeMasks::CorpseObjectType = "1048576";
$TypeMasks::DamagableItemObjectType = "268435456";
$TypeMasks::DebrisObjectType = "4194304";
$TypeMasks::EnvironmentObjectType = "2";
$TypeMasks::ExplosionObjectType = "524288";
$TypeMasks::FxBrickAlwaysObjectType = "67108864";
$TypeMasks::FxBrickObjectType = "33554432";
$TypeMasks::GameBaseObjectType = "1024";
$TypeMasks::ItemObjectType = "32768";
$TypeMasks::MarkerObjectType = "64";
$TypeMasks::PhysicalZoneObjectType = "8388608";
$TypeMasks::PlayerObjectType = "16384";
$TypeMasks::ProjectileObjectType = "262144";
$TypeMasks::ShapeBaseObjectType = "2048";
$TypeMasks::StaticObjectType = "1";
$TypeMasks::StaticRenderedObjectType = "134217728";
$TypeMasks::StaticShapeObjectType = "8192";
$TypeMasks::StaticTSObjectType = "16777216";
$TypeMasks::TerrainObjectType = "4";
$TypeMasks::TriggerObjectType = "32";
$TypeMasks::VehicleBlockerObjectType = "131072";
$TypeMasks::VehicleObjectType = "65536";
$TypeMasks::WaterObjectType = "16";
function serverCmdGetInfo(%this)
{
if(!isObject(%this.player))
return;
%eye = vectorScale(%this.player.getEyeVector(), 100);
%pos = %this.player.getEyePoint();
%masks = $TypeMasks::All;
%rayCast = containerRaycast(%pos, vectorAdd(%pos, %eye), %masks, %this.player);
%hit = firstWord(%rayCast);
if(!isObject(%hit))
return;
%position = posFromRaycast(%rayCast);
messageClient(%this, '', "Object ID: " @ %hit.getID() @ " Distance: " @ vectorDist(%pos, %position) @ " Class: " @ %hit.getClassName());
}
This does pretty much the same thing as getID if I am correct.