Does blockland have default functionality for getting every vehicle in the server? This function should work, can increase $RadarGunTolerance if it's too hard to hit vehicles
$RadarGunTolerance = 0.1;
function Player::captureVehicleSpeed(%player)
{
%ev = %player.getEyeVector();
%pos = %player.getEyePoint();
%closestDist = 999;
%closest = "";
for(%i = 0; %i < $VehicleSet.getCount(); %i++)
{
%vehicle = $VehicleSet.getObject(%i);
%toVehicle = vectorNormalize(vectorSub(%vehicle.getPosition(), %pos));
%angle = mACos(vectorDot(%toVehicle, %ev));
if(%angle <= $RadarGunTolerance)
{
%dist = vectorDist(%pos, %vehicle.getPosition());
if(%dist < %closestDist)
{
%closestDist = %dist;
%closest = %vehicle;
}
}
}
if(isObject(%closest))
{
return vectorLen(%closest.getVelocity());
}
}
package RadarGun
{
function WheeledVehicleData::onAdd(%this, %vehicle)
{
if(!isObject($VehicleSet))
$VehicleSet = new SimSet();
Parent::onAdd(%this, %vehicle);
$VehicleSet.add(%vehicle);
}
};
ActivatePackage(RadarGun);
will have to add raycast checks if you care about it seeing through walls