EngineLoadIFP: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
Line 19: Line 19:


==Example==
==Example==
'''Example 1:''' This example loads a custom IFP file ([https://drive.google.com/file/d/1XZNNCCn7xhBNbhaIbsBubky3BEj06zWp/view?usp=sharing parkour.ifp]), adds a command "animation" that takes 1 parameter as animation name for playing animations within that IFP.  
This example loads a custom IFP file ([https://drive.google.com/file/d/1XZNNCCn7xhBNbhaIbsBubky3BEj06zWp/view?usp=sharing parkour.ifp]), adds a command "animation" that takes 1 parameter as animation name for playing animations within that IFP.
<section name="client.lua" class="client" show="true">
 
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--[[
--[[
Line 37: Line 37:


-- load the IFP file
-- load the IFP file
local IFP = engineLoadIFP("parkour.ifp", customBlockName)
local IFP = engineLoadIFP( "parkour.ifp", customBlockName )


-- let us know if IFP failed to load
-- let us know if IFP failed to load
if not IFP then
if not IFP then
     outputChatBox("Failed to load 'parkour.ifp'")
     outputChatBox( "Failed to load 'parkour.ifp'" )
end
end


-- execute the command using /animation <NameOfCustomAnimation>
-- execute the command using /animation <NameOfCustomAnimation>
-- for example, /animation CartWheel
-- for example, /animation CartWheel
function setanimation ( commandName, animationName )
function setanimation( _, animationName )
     -- check if IFP file has loaded
     -- check if IFP file has loaded
     if IFP then
     if IFP then
         -- now play our custom animation
         -- now play our custom animation
         setPedAnimation(localPlayer, customBlockName, animationName)
         setPedAnimation( localPlayer, customBlockName, animationName )
     end
     end
end
end
addCommandHandler ( "animation", setanimation )
addCommandHandler( "animation", setanimation )
</syntaxhighlight>
</section>
<section name="meta.xml" class="server" show="true">
<syntaxhighlight lang="lua">
<meta>
    <info author="Saml1er" version="1.0.0" description="Just a simple test resource for custom ped IFP animations" />
    <file src="parkour.ifp" />
    <script src="client.lua" type="client" />
</meta>
</syntaxhighlight>
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{Engine_functions}}
{{Engine_functions}}

Revision as of 09:49, 2 July 2018

This function loads an animation library (IFP) file into GTA with a custom block name. All three IFP formats are supported ANPK, ANP2, and ANP3. Unfortunately, GTA 3 animations are not supported, however, you can load GTA:VC IFP files using this function. You don't have to replace any animation to play a custom one, to play a custom animation, load the IFP file using this function, then use setPedAnimation.

If you wish to replace a GTA internal animation with a custom one, you can use engineReplaceAnimation. To unload the IFP file, use destroyElement, restarting or stopping the resource can also unload the IFP file automatically.

Syntax

ifp engineLoadIFP ( string IfpFilePath, string CustomBlockName )

Required Arguments

  • IfpFilePath: the file path to the IFP file you want to load.
  • CustomBlockName: the new block name for the IFP file. You cannot use the GTA default internal block names.

Returns

Returns an IFP element if the IFP file loaded, false otherwise.

[[{{{image}}}|link=|]] Tip: If you want to synchronize animations, you can check [ifp_demo] resource

Example

This example loads a custom IFP file (parkour.ifp), adds a command "animation" that takes 1 parameter as animation name for playing animations within that IFP.

--[[
credits to Paul_Cortez for the IFP file.
parkour.ifp has following animations:

BckHndSpingBTuck
BckHndSping
CartWheel
FrntHndSpring
HandPlant
]]

-- you can choose any name you want, do not choose a default GTA:SA block name
local customBlockName = "myNewBlock"

-- load the IFP file
local IFP = engineLoadIFP( "parkour.ifp", customBlockName )

-- let us know if IFP failed to load
if not IFP then
    outputChatBox( "Failed to load 'parkour.ifp'" )
end

-- execute the command using /animation <NameOfCustomAnimation>
-- for example, /animation CartWheel
function setanimation( _, animationName )
    -- check if IFP file has loaded
    if IFP then
        -- now play our custom animation
        setPedAnimation( localPlayer, customBlockName, animationName )
    end
end
addCommandHandler( "animation", setanimation )

See Also