SetPedAnimation: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 79: Line 79:


<section name="Server" class="server" show="true">
<section name="Server" class="server" show="true">
This example makes the player sit down and remain seated.
This example makes the player sit down and stand up.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local animValue = false
local animValue = false

Revision as of 11:52, 3 April 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

  • thePed: the player or ped you want to apply an animation to.

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.

Example1

Click to collapse [-]
Server

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

function makePed()
   ped1 = createPed(56, 1, 1, 4)
   setPedRotation(ped1, 315)
   setPedAnimation( ped1, "ped", "WOMAN_walknorm")
end
addCommandHandler("makemyped", makePed)


Example2

This example makes the player dance when he uses command /dance and stop when he uses the same command:

Click to collapse [-]
Client

addEventHandler("onClientPreRender",root,
  function ()
    daBlock, daAnim = getPedAnimation(getLocalPlayer())
    setElementData(root,"blockz",daBlock)
    setElementData(root,"animz",daAnim)
  end )



Click to collapse [-]
Server
function dance (source)
	daBlockz = getElementData(root,"blockz")
	daAnimz = getElementData(root,"animz")
		if daBlockz == "dancing" and daAnimz == "dnce_m_b" then
			setPedAnimation(source,false)
		else
			setPedAnimation ( source, "DANCING", "dnce_m_b")
		end
	end
addCommandHandler("dance",dance)


Example3

Click to collapse [-]
Server

This example makes the player sit down and stand up.

local animValue = false

function sitDown (thePlayer)
   if animValue == false then
	setPedAnimation(thePlayer, "ped", "seat_down", -1, false, false, false, false)
	animValue = true
   else
-- If you use again this command then your character stand up
	animValue = false
	setPedAnimation(thePlayer, nil, nil)
   end
end
addCommandHandler("sit", sitDown)

See Also