EngineLoadIFP
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 ifp_file / string raw_data, string custom_block_name )
Required Arguments
- ifp_file / raw_data: the filepath to the IFP file you want to load or whole data buffer of the IFP file.
- custom_block_name: the new block name for the IFP file. You cannot use the GTA default internal block names. You should namespace this name using a string like resource.blockname
Returns
Returns an IFP element if the IFP file loaded, false otherwise.
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 -- Remember to namespace your block. That's why it starts with `test.` local customBlockName = "test.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
- engineAddImage
- engineApplyShaderToWorldTexture
- engineFreeModel
- engineGetModelFlags
- engineGetModelIDFromName
- engineGetModelLODDistance
- engineGetModelNameFromID
- engineGetModelPhysicalPropertiesGroup
- engineGetModelTextureNames
- engineGetModelTextures
- engineGetModelTXDID
- engineGetModelVisibleTime
- engineGetObjectGroupPhysicalProperty
- engineGetSurfaceProperties
- engineGetVisibleTextureNames
- engineImageGetFilesCount
- engineImageGetFiles
- engineImageGetFile
- engineImageLinkDFF
- engineImageLinkTXD
- engineImportTXD
- engineLoadCOL
- engineLoadDFF
- engineLoadIMG
- engineLoadIFP
- engineLoadTXD
- engineRemoveImage
- engineRemoveShaderFromWorldTexture
- engineReplaceAnimation
- engineReplaceCOL
- engineReplaceModel
- engineRequestModel
- engineResetModelFlags
- engineResetModelLODDistance
- engineResetSurfaceProperties
- engineRestoreAnimation
- engineRestoreCOL
- engineRestoreDFFImage
- engineRestoreModel
- engineRestoreModelPhysicalPropertiesGroup
- engineRestoreObjectGroupPhysicalProperties
- engineRestoreTXDImage
- engineRestreamWorld
- engineSetAsynchronousLoading
- engineSetModelFlag
- engineSetModelFlags
- engineSetModelLODDistance
- engineSetModelPhysicalPropertiesGroup
- engineSetModelVisibleTime
- engineSetObjectGroupPhysicalProperty
- engineSetSurfaceProperties
- engineStreamingFreeUpMemory
- engineStreamingGetUsedMemory