engineReplaceModel
This page is incomplete! Help wanted!
Please finish this page using the corresponding Old Wiki article.
Go to Contribution guidelines for more information.
This function replaces the given model ID with the model contained in a DFF file loaded by engineLoadDFF. This function supports vehicles, objects, peds and players.
Follow loading order ( COL -> TXD -> DFF ) which is used in the example - as other orders can cause collisions, textures or the DFF not to load due to technical limitations. Default GTA map objects behave inconsistently when using this function on them. If you want to replace models in the original GTA map, you need to call engineRestreamWorld after replacing models as well. A raw data DFF element can only be used once, because the underlying memory for the model is released after replacement. If the replacement model is broken and the original model is not loaded/streamed-in at the time of replacement, this function will succeed and you won't see any error message, neither when the model replacement fails once the original model starts to load/stream-in.
Syntax
engineReplaceModel ( )Code Examples
This example allows you to replace single or many models (with ability to toggle TXD filtering/DFF alpha transparency) - by usingtable. Do not forget to add those file paths tometa.xml
function onClientResourceStartReplaceModels() local modelsToReplace = { { -- replace object (all object IDs here: https://dev.prineside.com/en/gtasa_samp_model_id/) colFile = "object.col", txdFile = "object.txd", dffFile = "object.dff", modelID = 1337, alphaTransparency = false, filteringEnabled = true, }, { -- replace vehicle (all vehicle IDs here: https://wiki.multitheftauto.com/wiki/Vehicle_IDs) colFile = false, -- if file is not present set to false/nil txdFile = "vehicle.txd", dffFile = "vehicle.dff", modelID = 434, alphaTransparency = false, filteringEnabled = true, }, { -- replace skin (all ped IDs here: https://wiki.multitheftauto.com/wiki/Character_Skins) colFile = false, -- if file is not present set to false/nil txdFile = "ped.txd", dffFile = "ped.dff", modelID = 16, alphaTransparency = false, filteringEnabled = true, }, { -- replace weapon (all weapon IDs here: https://wiki.multitheftauto.com/wiki/Weapons) colFile = false, -- if file is not present set to false/nil txdFile = "m4.txd", dffFile = "m4.dff", modelID = 356, alphaTransparency = false, filteringEnabled = true, }, }
for assetID = 1, #modelsToReplace do local modelData = modelsToReplace[assetID] local modelCol = modelData.colFile local modelTxd = modelData.txdFile local modelDff = modelData.dffFile local modelID = modelData.modelID
if (modelCol) then local colData = engineLoadCOL(modelCol)
if (colData) then engineReplaceCOL(colData, modelID) end end
if (modelTxd) then local filteringEnabled = modelData.filteringEnabled local txdData = engineLoadTXD(modelTxd, filteringEnabled)
if (txdData) then engineImportTXD(txdData, modelID) end end
if (modelDff) then local dffData = engineLoadDFF(modelDff)
if (dffData) then local alphaTransparency = modelData.alphaTransparency
engineReplaceModel(dffData, modelID, alphaTransparency) end end endendaddEventHandler("onClientResourceStart", resourceRoot, onClientResourceStartReplaceModels)See Also
Engine Functions
- engineAddClothingModel
- engineAddClothingTXD
- engineAddImage
- engineApplyShaderToWorldTexture
- engineFreeModel
- engineFreeTXD
- engineGetModelFlags
- engineGetModelIDFromName
- engineGetModelLODDistance
- engineGetModelNameFromID
- engineGetModelPhysicalPropertiesGroup
- engineGetModelTextureNames
- engineGetModelTextures
- engineGetModelTXDID
- engineGetModelVisibleTime
- engineGetObjectGroupPhysicalProperty
- engineGetPoolCapacity
- engineGetPoolDefaultCapacity
- engineGetPoolUsedCapacity
- engineGetSurfaceProperties
- engineGetVisibleTextureNames
- engineImageGetFile
- engineImageGetFiles
- engineImageGetFilesCount
- engineImageLinkDFF
- engineImageLinkTXD
- engineImportTXD
- engineLoadCOL
- engineLoadDFF
- engineLoadIFP
- engineLoadIMG
- engineLoadTXD
- enginePreloadWorldArea
- engineRemoveImage
- engineRemoveShaderFromWorldTexture
- engineReplaceAnimation
- engineReplaceCOL
- engineReplaceModel
- engineRequestModel
- engineRequestTXD
- engineResetModelFlags
- engineResetModelLODDistance
- engineResetModelTXDID
- engineResetSurfaceProperties
- engineRestoreAnimation
- engineRestoreCOL
- engineRestoreDFFImage
- engineRestoreModel
- engineRestoreModelPhysicalPropertiesGroup
- engineRestoreObjectGroupPhysicalProperties
- engineRestoreTXDImage
- engineRestreamWorld
- engineSetAsynchronousLoading
- engineSetModelFlag
- engineSetModelFlags
- engineSetModelLODDistance
- engineSetModelPhysicalPropertiesGroup
- engineSetModelTXDID
- engineSetModelVisibleTime
- engineSetObjectGroupPhysicalProperty
- engineSetPoolCapacity
- engineSetSurfaceProperties
- engineStreamingFreeUpMemory
- engineStreamingGetBufferSize
- engineStreamingGetMemorySize
- engineStreamingGetModelLoadState
- engineStreamingGetUsedMemory
- engineStreamingReleaseModel
- engineStreamingRequestModel
- engineStreamingRestoreBufferSize
- engineStreamingRestoreMemorySize
- engineStreamingSetBufferSize
- engineStreamingSetMemorySize
- engineStreamingSetModelCacheLimits