Spc

MTA Checking is player looking at XYZ

Recommended Posts

Hey, I'm making a flashbang and i need check, is player looking at XYZ position. For example: The explosion xyz is 0,0,0 and if player camera looks at it, something happens.

Share this post


Link to post

Wouldn't it be easier by checking whether the given XYZ within the field of view (on screen)?

getScreenFromWorldPosition will return false if the XYZ is not on screen (or within n-pixels from the edge controlled by the edgeTolerance parameter). You should combine it with isLineOfSightClear or processLineOfSight to check whether the flashbang wasn't occluded by an object or wall.

  • Like 1

Share this post


Link to post

I used getScreenFromWorldPosition and sometimes the function returns false when i was looking at explosion position, and sometimes function returns float when i wasn't looking at explosion xyz.

Share this post


Link to post

I'm using this one:

isLineOfSightClear(playerX, playerY, playerZ, explosionX, explosionY, explosionZ, true, true, false, true, true)

 

Another:

local _, _, playerRotZ = getElementRotation(localPlayer)
local angle = math.atan2(explosionY - playerY, explosionX - playerX) + math.rad(180 - playerRotZ)

if angle < 0 then
	angle = angle + math.rad(360)
end

if math.deg(angle) >= 180 then -- facing of explosion
	-- player flashed
end

 

PlayerX/Y/Z works with camera poses.

Edited by Jayceon
  • Like 1

Share this post


Link to post
1 hour ago, Spc said:

I used getScreenFromWorldPosition and sometimes the function returns false when i was looking at explosion position, and sometimes function returns float when i wasn't looking at explosion xyz.

I fixed it, thanks for help. All works.

Edited by Spc

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.