SetPedAimTarget

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This function allows you to set a ped's aim target to a specific point. If a ped is within a certain range defined by getPedTargetStart and getPedTargetEnd he will be targeted and shot.

Note: If you wish to make a ped shoot you must use this in conjunction with an equipped weapon and setPedControlState.

Syntax

bool setPedAimTarget ( ped thePed, float x, float y, float z )

Required Arguments

  • thePed: The ped whose target you want to set. Only peds and remote players will work; this function has no effect on the local player.
  • x: The x coordinate of the aim target point.
  • y: The y coordinate of the aim target point.
  • z: The z coordinate of the aim target point.

Returns

Returns true if the function was successful, false otherwise.

Example

Example 1: This example creates a ped in the middle of the map and sets its aim target to point north-east.

function createPedAndsetHisAimTarget ()
        local ped = createPed (0, 0, 0, 5 ) -- create a ped, who looks like cj, in the middle of the map
        setPedAimTarget ( ped, 10, 10, 5 ) -- set the ped's target to a point in North-East
end

Example 2: This example creates a ped at grove street that will shoot at anything that enters a certain marker.

local cj = createPed(0, 2498.5, -1684.0, 13.5, 20) -- create a ped at cjs house in grove street and give it an ak
givePedWeapon(cj, 30, 3000, true)

local marker = createMarker(2493.0, -1669.0, 13.5, "checkpoint", 3, 255, 0, 0, 128) -- create a marker and get its associated colshape for later use
local colshape = getElementColShape(marker)

function renderHandler()
	local intruder = getElementsWithinColShape(colshape)[2] -- get the second element found within the colshape, because the first one will normally be the marker itself
	if intruder then
		local x,y,z = getElementPosition(intruder) -- if an intruder exists, get its position and have the cj ped fire at it
		setPedAimTarget(cj, x, y, z)
		setPedControlState(cj, "fire", true)
	else
		setPedControlState(cj, "fire", false) -- otherwise stop shooting
	end
end
addEventHandler("onClientRender", getRootElement(), renderHandler) -- add an event handler to go through the target acquisition procedure every frame

See Also