||Note: Avoid calling setPedLookAt every frame as this can cause bugs like being invincible to burning.
||Important Note: For remote players, you have to use setPedAimTarget before setPedLookAt.
Makes a ped turn his head and look at a specific world position or element.
bool setPedLookAt ( ped thePed, float x, float y, float z [, int time = 3000 [, int blend = 1000 ], element target = nil ] )
- thePed: the ped to change the lookat of.
- x: the x coordinate of the world position to look at.
- y: the y coordinate of the world position to look at.
- z: the z coordinate of the world position to look at.
- time: the time, in milliseconds, during which the ped will look at the target. Once this time has elapsed, he will look ahead again like before the function was applied. A time of 0 will immediately stop any lookat. A negative time will make the ped look at the target indefinitely.
- blend: the time, in milliseconds, during which the look will blend.
- target: if this argument is specified, the position arguments will be mean offsets relative to the target and the ped's gaze will follow the specified element instead. Can be a player, a vehicle, another ped etc.
This example makes the local player look at where the camera points at. If you want to sync this effect with other players you can use triggerLatentServerEvent and triggerLatentClientEvent functions.
local screenSize_X, screenSize_Y = guiGetScreenSize()
local x, y, z = getWorldFromScreenPosition(screenSize_X / 2, screenSize_Y / 2, 15)
setPedLookAt(localPlayer, x, y, z, -1, 0)
setTimer(pedLookAt, 120, 0)
||setPedLookAt does not work for remote players
||setPedLookAt cancels damage done by any sort of fire