SetPedAnimation: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(26 intermediate revisions by 16 users not shown)
Line 2: Line 2:
{{Server client function}}
{{Server client function}}


Sets the current animation of a player or ped. Not specifying the type of animation will automatically cancel the current one.
Sets the current [[Animations|animation]] of a [[player]] or [[ped]]. Not specifying the type of animation will automatically cancel the current one.


==Syntax==
==Syntax==
<section name="Server" class="server" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool setPedAnimation ( ped thePed, [ string block=nil, string anim=nil, float blendDelta=1.0, bool loop=true, bool updatePosition=true] )
bool setPedAnimation ( ped thePed [, string block = nil, string anim = nil, int time = -1, bool loop = true, bool updatePosition = true,
                      bool interruptable = true, bool freezeLastFrame = true, int blendTime = 250 ] )
</syntaxhighlight>
</syntaxhighlight>
{{OOP||[[ped]]:setAnimation||getPedAnimation}}


===Required Arguments===
===Required Arguments===
*'''thePed:''' the player or ped you want to apply an animation to.
*'''thePed:''' the [[player]] or [[ped]] you want to apply an [[Animations|animation]] to.


===Optional Arguments===
===Optional Arguments===
Line 17: Line 18:
*'''block:''' the [[Animations|animation]] block's name.
*'''block:''' the [[Animations|animation]] block's name.
*'''anim:''' the name of the [[Animations|animation]] within the block.
*'''anim:''' the name of the [[Animations|animation]] within the block.
*'''blendDelta:''' the speed at which the previous and current animation are blended.
*'''time:''' how long the animation will run for in milliseconds.
*'''loop:''' indicates whether or not the animation will loop.
*'''loop:''' indicates whether or not the animation will loop.
*'''updatePosition:''' will change the actual coordinates of the ped according to the animation. Use this for e.g. walking animations.
*'''updatePosition:''' will change the actual coordinates of the ped according to the animation. Use this for e.g. walking animations.
</section>
*'''interruptable:''' if set to ''false'' other tasks wont be able to interupt the animation. Setting this to 'false' also gives this function more power to override other animations that are running. For example, squatting after a jump can be terminated.
*'''freezeLastFrame:''' if set to ''true'' after animation the last frame will be frozen, otherwise the animation will end and controls will return.
*'''blendTime:''' how long the animation will mixed with the previous one in milliseconds.
 
===Returns===
Returns ''true'' if succesful, ''false'' otherwise.
 
==Examples==


<section name="Client" class="client" show="false">
<section name="Server" class="server" show="true">
This example creates a ped, rotates him, and makes him walk:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool setPedAnimation ( ped thePed, [ string block, string name, float speed=1.0, float blendSpeed=1.0, float startTime=0.0, bool loop=true, bool updatePosition=true, function callbackFunction=nil, var arguments, ... ] )
function makePed()
local thePed = createPed(56, 1, 1, 4, 315)
setPedAnimation(thePed, "ped", "WOMAN_walknorm")
end
addCommandHandler("makemyped", makePed)
</syntaxhighlight>
</syntaxhighlight>
===Required Arguments===
*'''thePed:''' the player or ped you want to apply an animation to.
===Optional Arguments===
{{OptionalArg}}
*'''block:''' the [[Animations|animation]] block's name.
*'''anim:''' the name of the [[Animations|animation]] within the block.
*'''speed:''' the speed at which the animation is played.
*'''blendSpeed:''' the speed at which the previous and current animation are blended.
*'''startTime:''' how far into the animation (in seconds) you want to skip
*'''loop:''' indicates whether or not the animation will loop.
*'''updatePosition:''' will change the actual coordinates of the ped according to the animation. Use this for e.g. walking animations.
*'''callbackFunction:''' A function that is called when the animation is finished
*'''arguments:''' Any arguments you want to pass to the callbackFunction, eg: animation name
</section>
</section>


===Returns===
<section name="Server" class="server" show="true">
Returns ''true'' if succesful, ''false'' otherwise.
This example makes the player sit down and stand up using the command /sit.
 
==Example==
 
<section name="Client" class="client" show="true">
This example creates a ped, rotates them, and makes them walk:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function makePed ( )
function toggleSit(thePlayer)
  ped1 = createPed ( 56, 1, 1, 4 )
if not getElementData(thePlayer, "sitting") then
  setPedRotation( ped1, 315 )
setPedAnimation(thePlayer, "ped", "seat_down", -1, false, false, false, false)
  setPedAnimation( ped1, "ped", "WOMAN_walknorm")
setElementData(thePlayer, "sitting", true)
else
-- If you use again this command then your character stand up
setPedAnimation(thePlayer)
removeElementData(thePlayer, "sitting")
end
end
end
addEventHandler ( "onResourceStart", getRootElement(), makePed )
addCommandHandler("sit", toggleSit)
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
==Issues==
{{Issues|
{{Issue|9522|Setting a [[ped|ped's]] or [[player|player's]] animation whilst occupying a [[givePedJetPack|jetpack]] will remove their jetpack, but not the jetpack sound}}
}}


==See Also==
==See Also==
{{Ped_functions}}
{{Ped_functions}}
[[ru:setPedAnimation]]
[[HU:setPedAnimation]]

Revision as of 12:34, 7 October 2018

Sets the current animation of a player or ped. Not specifying the type of animation will automatically cancel the current one.

Syntax

bool setPedAnimation ( ped thePed [, string block = nil, string anim = nil, int time = -1, bool loop = true, bool updatePosition = true,
                       bool interruptable = true, bool freezeLastFrame = true, int blendTime = 250 ] )

OOP Syntax Help! I don't understand this!

Method: ped:setAnimation(...)
Counterpart: getPedAnimation


Required Arguments

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • block: the animation block's name.
  • anim: the name of the animation within the block.
  • time: how long the animation will run for in milliseconds.
  • loop: indicates whether or not the animation will loop.
  • updatePosition: will change the actual coordinates of the ped according to the animation. Use this for e.g. walking animations.
  • interruptable: if set to false other tasks wont be able to interupt the animation. Setting this to 'false' also gives this function more power to override other animations that are running. For example, squatting after a jump can be terminated.
  • freezeLastFrame: if set to true after animation the last frame will be frozen, otherwise the animation will end and controls will return.
  • blendTime: how long the animation will mixed with the previous one in milliseconds.

Returns

Returns true if succesful, false otherwise.

Examples

Click to collapse [-]
Server

This example creates a ped, rotates him, and makes him walk:

function makePed()
	local thePed = createPed(56, 1, 1, 4, 315)
	setPedAnimation(thePed, "ped", "WOMAN_walknorm")
end
addCommandHandler("makemyped", makePed)
Click to collapse [-]
Server

This example makes the player sit down and stand up using the command /sit.

function toggleSit(thePlayer)
	if not getElementData(thePlayer, "sitting") then
		setPedAnimation(thePlayer, "ped", "seat_down", -1, false, false, false, false)
		setElementData(thePlayer, "sitting", true)
	else
		-- If you use again this command then your character stand up
		setPedAnimation(thePlayer)
		removeElementData(thePlayer, "sitting")
	end
end
addCommandHandler("sit", toggleSit)

Issues

Issue ID Description
#9522 Setting a ped's or player's animation whilst occupying a jetpack will remove their jetpack, but not the jetpack sound

See Also