EngineReplaceModel: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
{{Note box|Please note the loading order that is used in the examples as other orders can cause textures, collisions or the DFF not to load due to technical limitations}}
{{Note box|Please note the loading order that is used in the examples as other orders can cause collisions, textures or the DFF not to load due to technical limitations}}


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.
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.
Line 34: Line 34:
txd = engineLoadTXD ( "data/euros.txd" )
txd = engineLoadTXD ( "data/euros.txd" )
engineImportTXD ( txd, 587 )
engineImportTXD ( txd, 587 )
dff = engineLoadDFF ( "data/euros.dff", 587 )
dff = engineLoadDFF ( "data/euros.dff", 0 )
engineReplaceModel ( dff, 587 )
engineReplaceModel ( dff, 587 )
end
end
Line 58: Line 58:
function ReplaceObject ( )
function ReplaceObject ( )


col = engineLoadCOL( "MyModel.col" )
txd = engineLoadTXD( "MyModel.txd" )
txd = engineLoadTXD( "MyModel.txd" )
col = engineLoadCOL( "MyModel.col" )
dff = engineLoadDFF( "MyModel.dff", 0 )
dff = engineLoadDFF( "MyModel.dff", 0 ) --modelid is everytime 0, when you replace no vehicle


engineReplaceCOL( col, 1234 )
engineImportTXD( txd, 1234 )
engineImportTXD( txd, 1234 )
engineReplaceCOL( col, 1234 )
engineReplaceModel( dff, 1234 )-- replace the model at least
engineReplaceModel( dff, 1234 )-- replace the model at least



Revision as of 22:44, 13 March 2014

This template is no longer in use as it results in poor readability.

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.

As of 1.1.1 This supports Ped and Weapon models. For replace weapon models you can't use weapon ID's, you should use object ID's. All weapon model ID's here: Weapons.

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 [, bool alphaTransparency = false ] )

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 to enable special thing

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:

Click to collapse [-]
Client

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", 0 )
engineReplaceModel ( dff, 587 )
end

addEvent ( "replaceVeh", true )
addEventHandler ( "replaceVeh", getRootElement(), ReplaceVehicle )
Click to collapse [-]
Server

Server-side example function for triggering the replace.

function ReplaceCommand ( )
triggerClientEvent( "replaceVeh", getRootElement(), replaceVeh )
end
addCommandHandler( "replace", ReplaceCommand )

Example 2:

Click to collapse [-]
Client

Client-Side example for replacing object model, collision and texture with custom ones.

function ReplaceObject ( )

col = engineLoadCOL( "MyModel.col" )
txd = engineLoadTXD( "MyModel.txd" )
dff = engineLoadDFF( "MyModel.dff", 0 )

engineReplaceCOL( col, 1234 )
engineImportTXD( txd, 1234 )
engineReplaceModel( dff, 1234 )-- replace the model at least

end

addEvent ( "replaceObj", true )
addEventHandler ( "replaceObj", getRootElement(), ReplaceObject )
Click to collapse [-]
Server

Server-side example function for triggering the replace.

function ReplaceCommand ( )
triggerClientEvent( "replaceObj", getRootElement(), replaceObj )
end
addCommandHandler( "replace", ReplaceCommand )

See Also