EngineReplaceModel: Difference between revisions
m (→Example: Indentation) |
|||
Line 31: | Line 31: | ||
Client-side example for replacing vehicle model and texture with custom ones. | Client-side example for replacing vehicle model and texture with custom ones. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function ReplaceVehicle ( ) | function ReplaceVehicle() | ||
outputChatBox ( "> replacing the euros vehicle" ) | outputChatBox ("> replacing the euros vehicle") | ||
txd = engineLoadTXD ( "data/euros.txd" ) | txd = engineLoadTXD ("data/euros.txd") | ||
engineImportTXD ( txd, 587 ) | engineImportTXD (txd, 587) | ||
dff = engineLoadDFF ( "data/euros.dff" ) | dff = engineLoadDFF ("data/euros.dff") | ||
engineReplaceModel ( dff, 587 ) | engineReplaceModel (dff, 587) | ||
end | end | ||
addEvent ( "replaceVeh", true ) | addEvent ("replaceVeh", true) | ||
addEventHandler ( "replaceVeh", root, ReplaceVehicle ) | addEventHandler ("replaceVeh", root, ReplaceVehicle) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Line 47: | Line 47: | ||
Server-side example function for triggering the replace. | Server-side example function for triggering the replace. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function ReplaceCommand ( ) | function ReplaceCommand() | ||
triggerClientEvent( "replaceVeh", root, replaceVeh ) | triggerClientEvent ("replaceVeh", root, replaceVeh) | ||
end | end | ||
addCommandHandler( "replace", ReplaceCommand ) | addCommandHandler ("replace", ReplaceCommand) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Line 58: | Line 58: | ||
Client-side example for replacing weapons with custom mods. | Client-side example for replacing weapons with custom mods. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function | function ReplaceWeapon() | ||
txd = engineLoadTXD ( "m4.txd" ) | txd = engineLoadTXD ("m4.txd") | ||
engineImportTXD ( txd, 356) | engineImportTXD (txd, 356) | ||
dff = engineLoadDFF ( "m4.dff", 356) -- use weapon model ID, not weapon ID (model ID from https://wiki.multitheftauto.com/wiki/Weapons) | dff = engineLoadDFF ("m4.dff", 356) -- use weapon model ID, not weapon ID (model ID from https://wiki.multitheftauto.com/wiki/Weapons) | ||
engineReplaceModel ( dff, 356) -- Likewise, model ID, for M4 as example it's 356 | engineReplaceModel (dff, 356) -- Likewise, model ID, for M4 as example it's 356 | ||
end | end | ||
addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), replaceWeapon) | addEventHandler ("onClientResourceStart", getResourceRootElement(getThisResource()), replaceWeapon) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Line 73: | Line 72: | ||
Client-Side example for replacing object collision, texture and model with custom ones. | Client-Side example for replacing object collision, texture and model with custom ones. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function ReplaceObject ( ) | function ReplaceObject() | ||
col = engineLoadCOL ("MyModel.col") | |||
col = engineLoadCOL( "MyModel.col" ) | txd = engineLoadTXD ("MyModel.txd") | ||
txd = engineLoadTXD( "MyModel.txd" ) | dff = engineLoadDFF ("MyModel.dff") | ||
dff = engineLoadDFF( "MyModel.dff" ) | |||
engineReplaceCOL (col, 1234) | |||
engineImportTXD (txd, 1234) | |||
engineReplaceModel (dff, 1234) -- replace the model at least | |||
end | end | ||
addEvent ("replaceObj", true) | |||
addEvent ( "replaceObj", true ) | addEventHandler ("replaceObj", root, ReplaceObject) | ||
addEventHandler ( "replaceObj", root, ReplaceObject ) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
Line 92: | Line 88: | ||
Server-side example function for triggering the replace. | Server-side example function for triggering the replace. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function ReplaceCommand ( ) | function ReplaceCommand() | ||
triggerClientEvent( "replaceObj", root, replaceObj ) | triggerClientEvent ("replaceObj", root, replaceObj) | ||
end | end | ||
addCommandHandler( "replace", ReplaceCommand ) | addCommandHandler ("replace", ReplaceCommand) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> |
Revision as of 20:51, 19 September 2021
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 but not CJ clothing and body parts.
To replace weapon models you must use their object IDs, not weapon IDs. There is a weapon model list available at weapons.
Syntax
bool engineReplaceModel ( dff theModel, int modelID [, bool alphaTransparency = false ] )
OOP Syntax Help! I don't understand this!
- Method: dff:replace(...)
Required Arguments
- theModel: The model to replace the given model ID with
- modelID: The model it to replace the model of
Optional Arguments
- alphaTransparency: Set to true if model uses semi-transparent textures, e.g. windows. This will ensure other objects behind the semi-transparent textures are rendered correctly. (Can slightly impact performance, so only set when required)
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 model and texture with custom ones.
function ReplaceVehicle() outputChatBox ("> replacing the euros vehicle") txd = engineLoadTXD ("data/euros.txd") engineImportTXD (txd, 587) dff = engineLoadDFF ("data/euros.dff") engineReplaceModel (dff, 587) end addEvent ("replaceVeh", true) addEventHandler ("replaceVeh", root, ReplaceVehicle)
Server-side example function for triggering the replace.
function ReplaceCommand() triggerClientEvent ("replaceVeh", root, replaceVeh) end addCommandHandler ("replace", ReplaceCommand)
Example 2:
Client-side example for replacing weapons with custom mods.
function ReplaceWeapon() txd = engineLoadTXD ("m4.txd") engineImportTXD (txd, 356) dff = engineLoadDFF ("m4.dff", 356) -- use weapon model ID, not weapon ID (model ID from https://wiki.multitheftauto.com/wiki/Weapons) engineReplaceModel (dff, 356) -- Likewise, model ID, for M4 as example it's 356 end addEventHandler ("onClientResourceStart", getResourceRootElement(getThisResource()), replaceWeapon)
Example 3:
Client-Side example for replacing object collision, texture and model with custom ones.
function ReplaceObject() col = engineLoadCOL ("MyModel.col") txd = engineLoadTXD ("MyModel.txd") dff = engineLoadDFF ("MyModel.dff") engineReplaceCOL (col, 1234) engineImportTXD (txd, 1234) engineReplaceModel (dff, 1234) -- replace the model at least end addEvent ("replaceObj", true) addEventHandler ("replaceObj", root, ReplaceObject)
Server-side example function for triggering the replace.
function ReplaceCommand() triggerClientEvent ("replaceObj", root, 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