EngineReplaceModel
This function replaces the given model in the given model ID with the DFF file passed. This function supports vehicles and objects at the moment.
Note: Due to a bug, when replacing models with built in collisions (i.e. vehicles), the collision may not get replaced correctly. The current work around is to load the dff again and do another replace after a short delay.
Syntax
bool engineReplaceModel ( dff theModel, int modelID )
Required Arguments
- theModel: The model to replace the given model ID with
- modelID: The model it to replace the model of
Returns
Returns true if the model was successfully replaced, false if it failed for some reason, ie. the DFF or the model ID is not valid.
Example
Example 1:
Client-Side example for replacing vehicle collisions, model and texture with custom ones.
function ReplaceVehicle ( ) outputChatBox ( "> replacing the euros vehicle" ) --We will not load the TXD for now dff = engineLoadDFF ( "data/euros.dff", 587 ) --Load the DFF for first time with an ID specified (required for collisions) engineReplaceModel ( dff, 587 ) --Replace it for first time x, y, z = getElementPosition ( getLocalPlayer() ) -- Get the player position vehicle = createVehicle ( 587, x, y+3, z ) -- Create the vehicle near player position (the car you want to replace must be near the player for the collisions) setTimer ( function () destroyElement ( vehicle ) end, 3000, 1 ) -- Destroy it after 3000 seconds setTimer ( function () -- Now we will load the TXD for first time, and the DFF for second time txd = engineLoadTXD ( "data/euros.txd" )--Load the TXD engineImportTXD ( txd, 587 ) dff = engineLoadDFF ( "data/euros.dff", 587 ) --Load the DFF for second time engineReplaceModel ( dff, 587 ) end, 50, 1 ) end addEvent ( "replaceVeh", true ) addEventHandler ( "replaceVeh", getRootElement(), ReplaceVehicle )
Server-side example function for triggering the replace.
function ReplaceCommand ( ) triggerClientEvent( "replaceVeh", getRootElement(), replaceVeh ) end addCommandHandler( "replace", ReplaceCommand )
Example 2:
Client-Side example for replacing object model, collision and texture with custom ones.
function ReplaceObject ( ) txd = engineLoadTXD( "MyModel.txd" ) col = engineLoadCOL( "MyModel.col" ) dff = engineLoadDFF( "MyModel.dff", 0 ) --modelid is everytime 0, when you replace no vehicle engineImportTXD( txd, 1234 ) engineReplaceCOL( col, 1234 ) engineReplaceModel( dff, 1234 )-- replace the model at least end addEvent ( "replaceObj", true ) addEventHandler ( "replaceObj", getRootElement(), ReplaceObject )
Server-side example function for triggering the replace.
function ReplaceCommand ( ) triggerClientEvent( "replaceObj", getRootElement(), replaceObj ) end addCommandHandler( "replace", ReplaceCommand )
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