GetPedTask: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Task hierarchy malarkey)
 
(2 intermediate revisions by 2 users not shown)
Line 6: Line 6:


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">
string getPedTask ( ped thePed, string priority, int taskType )
</syntaxhighlight>
<br>
{{New feature|3.0110|1.1|
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
string, string, string, string getPedTask ( ped thePed, string priority, int taskType )
string, string, string, string getPedTask ( ped thePed, string priority, int taskType )
</syntaxhighlight>
</syntaxhighlight>
}}
{{OOP||[[ped]]:getTask}}
 
===Required Arguments===
===Required Arguments===
*'''thePed''': The [[ped]] whose task you want to retrieve.
*'''thePed''': The [[ped]] whose task you want to retrieve.
Line 44: Line 38:
This example draws the active primary and secondary tasks (including task hierarchy in 1.1) as your local player moves around the world.
This example draws the active primary and secondary tasks (including task hierarchy in 1.1) as your local player moves around the world.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function displayMyTask ()
local function renderPlayerTasks()
    local x,y = 100,200
local textX, textY = 100, 200
    for k=1,4 do
 
        local a,b,c,d = getPedTask ( getLocalPlayer(), "primary", k )
for taskType = 0, 4 do
        dxDrawText ( "Primary task #"..k.." is "..tostring(a).." -> "..tostring(b).." -> "..tostring(c).." -> "..tostring(d).." -> ", x, y )
local a, b, c, d = getPedTask(localPlayer, "primary", taskType)
        y = y + 15
 
    end
dxDrawText("Primary task #"..taskType.." is "..tostring(a).." -> "..tostring(b).." -> "..tostring(c).." -> "..tostring(d).." -> ", textX, textY)
    y = y + 15
 
    for k=1,5 do
textY = (textY + 15)
        local a,b,c,d = getPedTask ( getLocalPlayer(), "secondary", k )
end
        dxDrawText ( "Secondary task #"..k.." is "..tostring(a).." -> "..tostring(b).." -> "..tostring(c).." -> "..tostring(d).." -> ", x, y )  
 
        y = y + 15
textY = (textY + 15)
    end
 
end  
for taskType = 0, 5 do
addEventHandler ( "onClientRender", root, displayMyTask )
local a, b, c, d = getPedTask(localPlayer, "secondary", taskType)
 
dxDrawText("Secondary task #"..taskType.." is "..tostring(a).." -> "..tostring(b).." -> "..tostring(c).." -> "..tostring(d).." -> ", textX, textY)
 
textY = (textY + 15)
end
end
addEventHandler("onClientRender", root, renderPlayerTasks)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Client_ped_functions}}
{{Client_ped_functions}}

Latest revision as of 16:30, 19 July 2025

This function is used to get any simple or complex task of a certain type for a ped.

It can provide feedback on all tasks relating to a ped. For example, while jumping, getPedSimplestTask will return TASK_SIMPLE_IN_AIR. If you wanted to know specifically if the player has jumped, you would use this function. If you did you will discover that while jumping Primary task 3 is TASK_COMPLEX_JUMP.

Syntax

string, string, string, string getPedTask ( ped thePed, string priority, int taskType )

OOP Syntax Help! I don't understand this!

Method: ped:getTask(...)


Required Arguments

  • thePed: The ped whose task you want to retrieve.
  • priority: A string determining which set of tasks you want to retrieve it from. This must be either "primary" or "secondary".
  • taskType: An integer value representing the task type (or slot) you want to get the task from. Types can be:
    • PRIMARY TASKS
      • 0: TASK_PHYSICAL_RESPONSE
      • 1: TASK_EVENT_RESPONSE_TEMP
      • 2: TASK_EVENT_RESPONSE_NONTEMP
      • 3: TASK_PRIMARY
      • 4: TASK_DEFAULT
    • SECONDARY TASKS
      • 0: TASK_SECONDARY_ATTACK
      • 1: TASK_SECONDARY_DUCK
      • 2: TASK_SECONDARY_SAY
      • 3: TASK_SECONDARY_FACIAL_COMPLEX
      • 4: TASK_SECONDARY_PARTIAL_ANIM
      • 5: TASK_SECONDARY_IK

Returns

Returns the name of the most complex task. See list of player tasks for valid strings. Returns false if invalid arguments are specified or if there is no task of the type specified.
Returns between 1 and 4 strings. The first string contains the name of the most complex task, with simpler sub-tasks being named in the following strings. See list of player tasks for valid strings. Returns false if invalid arguments are specified or if there is no task of the type specified.

Example

This example draws the active primary and secondary tasks (including task hierarchy in 1.1) as your local player moves around the world.

local function renderPlayerTasks()
	local textX, textY = 100, 200

	for taskType = 0, 4 do
		local a, b, c, d = getPedTask(localPlayer, "primary", taskType)

		dxDrawText("Primary task #"..taskType.." is "..tostring(a).." -> "..tostring(b).." -> "..tostring(c).." -> "..tostring(d).." -> ", textX, textY)

		textY = (textY + 15)
	end

	textY = (textY + 15)

	for taskType = 0, 5 do
		local a, b, c, d = getPedTask(localPlayer, "secondary", taskType)

		dxDrawText("Secondary task #"..taskType.." is "..tostring(a).." -> "..tostring(b).." -> "..tostring(c).." -> "..tostring(d).." -> ", textX, textY)

		textY = (textY + 15)
	end
end
addEventHandler("onClientRender", root, renderPlayerTasks)

See Also