SetPedAimTarget: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Ambassador64 (talk | contribs) No edit summary |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Client function}} | {{Client function}} | ||
This function allows you to set a ped's aim target to a specific point. | 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]]. Also for akimbo weapons such as 22, 26, 28, 32 and the sniper rifle you must also set both aim_weapon and fire to true at least once.'' | |||
==Syntax== | ==Syntax== | ||
Line 18: | Line 20: | ||
==Example== | ==Example== | ||
'''Example 1:''' This example creates a ped in the middle of the map and sets its aim target to point north-east. | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function createPedAndsetHisAimTarget () | function createPedAndsetHisAimTarget () | ||
Line 23: | Line 26: | ||
setPedAimTarget ( ped, 10, 10, 5 ) -- set the ped's target to a point in North-East | setPedAimTarget ( ped, 10, 10, 5 ) -- set the ped's target to a point in North-East | ||
end | end | ||
</syntaxhighlight> | |||
'''Example 2:''' This example creates a ped at grove street that will shoot at anything that enters a certain marker. | |||
<syntaxhighlight lang="lua"> | |||
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) | |||
setPedControlState(cj, "aim_weapon", true) -- needed for akimbo weapons (22, 26, 28, 32) and the sniper rifle | |||
else | |||
setPedControlState(cj, "fire", false) -- otherwise stop shooting | |||
setPedControlState(cj, "aim_weapon", false) | |||
end | |||
end | |||
addEventHandler("onClientRender", root, renderHandler) -- add an event handler to go through the target acquisition procedure every frame | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{Client ped functions}} | {{Client ped functions}} |
Latest revision as of 17:16, 6 April 2025
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. Also for akimbo weapons such as 22, 26, 28, 32 and the sniper rifle you must also set both aim_weapon and fire to true at least once.
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) setPedControlState(cj, "aim_weapon", true) -- needed for akimbo weapons (22, 26, 28, 32) and the sniper rifle else setPedControlState(cj, "fire", false) -- otherwise stop shooting setPedControlState(cj, "aim_weapon", false) end end addEventHandler("onClientRender", root, renderHandler) -- add an event handler to go through the target acquisition procedure every frame
See Also
- canPedBeKnockedOffBike
- getPedAnalogControlState
- getPedAnimation
- getPedBonePosition
- getPedCameraRotation
- getPedControlState
- getPedMoveState
- getPedOxygenLevel
- getPedSimplestTask
- getPedTargetCollision
- getPedTargetEnd
- getPedTargetStart
- getPedTask
- getPedVoice
- getPedWeaponMuzzlePosition
- givePedWeapon
- isPedBleeding
- isPedDoingTask
- isPedTargetingMarkerEnabled
- setAnalogControlState
- setPedAimTarget
- setPedAnalogControlState
- setPedBleeding
- setPedCameraRotation
- setPedCanBeKnockedOffBike
- setPedControlState
- setPedEnterVehicle
- setPedExitVehicle
- IsPedFootBloodEnabled
- setPedFootBloodEnabled
- setPedLookAt
- setPedOxygenLevel
- setPedTargetingMarkerEnabled
- setPedVoice
- Shared
- addPedClothes
- getPedClothes
- removePedClothes
- createPed
- getPedAmmoInClip
- getPedArmor
- getPedFightingStyle
- getPedOccupiedVehicle
- getPedOccupiedVehicleSeat
- getPedStat
- getPedTarget
- getPedTotalAmmo
- getPedWalkingStyle
- getPedWeapon
- getPedWeaponSlot
- getPedContactElement
- getValidPedModels
- isPedChoking
- isPedDead
- isPedDoingGangDriveby
- isPedDucked
- isPedHeadless
- isPedInVehicle
- isPedOnFire
- isPedOnGround
- isPedReloadingWeapon
- isPedWearingJetpack
- killPed
- removePedFromVehicle
- setPedAnimation
- setPedAnimationProgress
- setPedAnimationSpeed
- setPedArmor
- setPedDoingGangDriveby
- setPedFightingStyle
- setPedHeadless
- setPedOnFire
- setPedStat
- setPedWalkingStyle
- setPedWeaponSlot
- warpPedIntoVehicle