So like this?
function Player::lookingAtWater(%client, %range)
{
%player = %client.player;
%name = %client.name;
%typemasks = $TypeMasks::PlayerObjectType || $TypeMasks::WaterObjectType;
%eyeVector = %player.getEyeVector();
%eyePoint = %player.getEyePoint();
%target = containerRayCast(%eyePoint, vectorAdd(vectorScale(vectorNormalize(%eyeVector), (%range * 0.5)), %eyePoint), %typemasks, %player);
%obj = %target.getID();
if(isObject(%player) && (%player.getClassName() $= "Player))
{
if(isObject(%obj))
{
return 1;
}
}
return 0;
}
And then I can do if(%player.lookingAtWater(7)) to check if their looking at water?