Salut,
I would like to use cLineBlockTracer.FirstSolidHitTrace to know what block the player is looking at. But the problem is that it returns only a boolean, which is true if there is a solid block, and false if not.
But in LineBlockTracer.h, it says :
So I tried :
which gives in the console :
I also tried other ways to get it, like just to refer to a_HitBlocksCoords further in the code, but I got nothing.
Could someone explain me how I can get these parameters, please ? Thanks ^^
Here is the full function :
Beuj
(edited by xoft to use shcode tags)
I would like to use cLineBlockTracer.FirstSolidHitTrace to know what block the player is looking at. But the problem is that it returns only a boolean, which is true if there is a solid block, and false if not.
But in LineBlockTracer.h, it says :
/** Traces until the first solid block is hit (or until end, whichever comes first. If a solid block was hit, returns true and fills a_HitCoords, a_HitBlockCoords and a_HitBlockFace. If a_End is encountered without hitting any solid block, returns false and doesn't touch a_HitCoords, a_HitBlockCoords nor a_HitBlockFace. a_HitCoords is the exact coords of the hit, a_HitBlockCoords are the coords of the solid block that was hit, a_HitBlockFace is the face of the solid block that was hit. */ static bool FirstSolidHitTrace( cWorld & a_World, const Vector3d & a_Start, const Vector3d & a_End, Vector3d & a_HitCoords, Vector3i & a_HitBlockCoords, eBlockFace & a_HitBlockFace );
So I tried :
cLineBlockTracer.FirstSolidHitTrace(World, Start, End, a_HitCoords, a_HitBlockCoords, a_HitBlockFace);
which gives in the console :
Code:
error in function ’FirstSolidHitTrace’: Too many arguments.
argument #4 is ’nil’; ’[no object]’ expected.
I also tried other ways to get it, like just to refer to a_HitBlocksCoords further in the code, but I got nothing.
Could someone explain me how I can get these parameters, please ? Thanks ^^
Here is the full function :
function WhatISee(a_split, a_Player) local World = a_Player:GetWorld(); local EyePos = a_Player:GetEyePosition(); local LookVector = a_Player:GetLookVector(); LookVector:Normalize(); -- Make the vector 1 m long local Start = EyePos; local End = EyePos + LookVector * 50; cLineBlockTracer.FirstSolidHitTrace(World, Start, End, a_HitCoords, a_HitBlockCoords, a_HitBlockFace); return true; end
Beuj
(edited by xoft to use shcode tags)