engineReplaceModel | Multi Theft Auto: Wiki Skip to content

engineReplaceModel

Client-side
Server-side
Shared

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.

Note

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

client

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
end
end
addEventHandler("onClientResourceStart", resourceRoot, onClientResourceStartReplaceModels)

See Also

Engine Functions
Engine Elements