EngineImportTXD: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
m (prefer normal note)
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Client function}}
{{Client function}}
__NOTOC__
__NOTOC__{{Note|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}}
{{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}}


This function imports (adds) a loaded RenderWare Texture Dictionary into a specific model. This is necessary in order for the DFF loader to find any new textures. Please '''call this function before loading the DFF model file''', in order to allow the DFF loading process to find the new textures. This function can also replace default GTA textures, so that it becomes possible to e.g. put custom images on existing billboards. Ped and weapon textures are also supported.
This function imports (adds) a loaded RenderWare Texture Dictionary into a specific model. This is necessary in order for the DFF loader to find any new textures. Please '''call this function before loading the DFF model file''', in order to allow the DFF loading process to find the new textures. This function can also replace default GTA textures, so that it becomes possible to e.g. put custom images on existing billboards. Ped and weapon textures are also supported.


See here for [https://wiki.multitheftauto.com/wiki/Optimize_Custom_TXD tips on reducing the size of TXD files].
See here for [[Optimize_Custom_TXD|tips on reducing the size of TXD files]].
 
{{New feature/item|3.0132|1.3.1|5254|
{{New feature/item|3.0132|1.3.1|5254|
* CJ clothing component textures can be replaced by using the ids listed on [[Clothing Component IDs|this page]]
* CJ clothing component textures can be replaced by using the ids listed on [[Clothing Component IDs|this page]]
Line 15: Line 13:
bool engineImportTXD ( txd texture, int model_id )  
bool engineImportTXD ( txd texture, int model_id )  
</syntaxhighlight>  
</syntaxhighlight>  
 
{{OOP||[[TXD|txd]]:import}}
===Required Arguments===  
===Required Arguments===  
*'''texture:''' The [[TXD]] that was loaded with [[engineLoadTXD]]
*'''texture:''' The [[TXD]] that was loaded with [[engineLoadTXD]]
Line 24: Line 22:


==Example==  
==Example==  
<section name="Client" class="client" show="true">
'''Example 1:''' This example loads a combination of a custom TXD and DFF file to replace the Euros vehicle in-game. The collisions are embedded inside the DFF file.
'''Example 1:''' This example loads a combination of a custom DFF and TXD file to replace the Euros vehicle in-game. The collisions are embedded inside the DFF file.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
outputChatBox ( "> replacing the euros vehicle" )
outputChatBox ( "> replacing the euros vehicle" )
Line 31: Line 28:
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" )
engineReplaceModel ( dff, 587 )
engineReplaceModel ( dff, 587 )
</syntaxhighlight>
</syntaxhighlight>
</section>




<section name="Client" class="client" show="true">
'''Example 2:''' This example loads a combination of custom COL, TXD and DFF files to replace an in-game model of a set of floors.
'''Example 2:''' This example loads a combination of custom DFF, TXD and COL files to replace an in-game model of a set of floors.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
outputChatBox ( "> loading floor objects" )
outputChatBox ( "> loading floor objects" )
col_floors = engineLoadCOL ( "models/office_floors.col" )
engineReplaceCOL ( col_floors, 3781 )
txd_floors = engineLoadTXD ( "models/office_floors.txd" )
txd_floors = engineLoadTXD ( "models/office_floors.txd" )
engineImportTXD ( txd_floors, 3781 )
engineImportTXD ( txd_floors, 3781 )
col_floors = engineLoadCOL ( "models/office_floors.col" )
dff_floors = engineLoadDFF ( "models/office_floors.dff")
dff_floors = engineLoadDFF ( "models/office_floors.dff", 3781 )
engineReplaceCOL ( col_floors, 3781 )
engineReplaceModel ( dff_floors, 3781 )
engineReplaceModel ( dff_floors, 3781 )
</syntaxhighlight>
</syntaxhighlight>
</section>




{{New feature|3|1.0|
'''Example 3:''' This example replaces the victim billboards in last venturas (when replacing default models you do not need to replace a COL or DFF)
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
'''Example 3:''' This example replaces the victim billboards in last venturas (when replacing default models you do not need to replace a dff or col)
outputChatBox ( "> replacing billboards" )
txd_billboards = engineLoadTXD ( "models/vgsn_billboard.txd" )
engineImportTXD ( txd_billboards, 7300 )
</syntaxhighlight>
 
 
'''Example 4:''' This example shows that you only need to load a TXD once, even if you want to replace several different textures
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
outputChatBox ( "> replacing billboards" )
outputChatBox ( "> replacing billboards" )
txd_floors = engineLoadTXD ( "models/vgsn_billboard.txd" )
txd_billboards = engineLoadTXD ( "models/vgsn_billboard.txd" )
engineImportTXD ( txd_floors, 7300 )
engineImportTXD ( txd_billboards, 7300 )
engineImportTXD ( txd_billboards, 7301 )
engineImportTXD ( txd_billboards, 7302 )
engineImportTXD ( txd_billboards, 7303 )
</syntaxhighlight>
 
'''Example 5:''' This example loads a custom skin mod and replaces SA skin of the defined ID (in this example being '190')
<syntaxhighlight lang="lua">
addEventHandler ( "onClientResourceStart", getResourceRootElement ( getThisResource() ),
function ()
txd = engineLoadTXD ( "skinmodel.txd" ); -- change 'skinmodel' to your mod's file name
engineImportTXD ( txd, 190 ); -- change the ID 190 into the GTA skin ID you with to replace with mod
dff = engineLoadDFF ( "skinmodel.dff", 190 ); -- change 'skinmodel' to your mod's file name
engineReplaceModel ( dff, 190 ); -- change the ID 190 into the GTA skin ID you with to replace with mod
end
);
</syntaxhighlight>
 
'''Example 6:''' This example replaces a default weapon with a custom weapon mod (TXD & DFF)
<syntaxhighlight lang="lua">
function replaceWeapon()
txd = engineLoadTXD ( "m4.txd" )
engineImportTXD ( txd, 356)
dff = engineLoadDFF ( "m4.dff", 356) -- use weapon model ID, not GTA 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)
</syntaxhighlight>
 
'''Example 7:''' This example replaces multiple models at the same time using this function just once. (in this example the Grove street)
<syntaxhighlight lang="lua">
txd = engineLoadTXD ("Los Santos/lae2roadshub.txd")
engineImportTXD (txd, 17595, 17597, 17610, 17611, 17612, 17613)
</syntaxhighlight>
</syntaxhighlight>
</section>
}}


==See Also==
==See Also==
{{Engine_functions}}
{{Engine_functions}}

Revision as of 08:36, 7 September 2019

[[{{{image}}}|link=|]] Note: 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 imports (adds) a loaded RenderWare Texture Dictionary into a specific model. This is necessary in order for the DFF loader to find any new textures. Please call this function before loading the DFF model file, in order to allow the DFF loading process to find the new textures. This function can also replace default GTA textures, so that it becomes possible to e.g. put custom images on existing billboards. Ped and weapon textures are also supported.

See here for tips on reducing the size of TXD files.

  • CJ clothing component textures can be replaced by using the ids listed on this page

Syntax

bool engineImportTXD ( txd texture, int model_id ) 

OOP Syntax Help! I don't understand this!

Method: txd:import(...)


Required Arguments

  • texture: The TXD that was loaded with engineLoadTXD
  • model_id: The model id to import the TXD into

Returns

Returns true if the function executed succesfully, false otherwise.

Example

Example 1: This example loads a combination of a custom TXD and DFF file to replace the Euros vehicle in-game. The collisions are embedded inside the DFF file.

outputChatBox ( "> replacing the euros vehicle" )

txd = engineLoadTXD ( "data/euros.txd" )
engineImportTXD ( txd, 587 )
dff = engineLoadDFF ( "data/euros.dff" )
engineReplaceModel ( dff, 587 )


Example 2: This example loads a combination of custom COL, TXD and DFF files to replace an in-game model of a set of floors.

outputChatBox ( "> loading floor objects" )
col_floors = engineLoadCOL ( "models/office_floors.col" )
engineReplaceCOL ( col_floors, 3781 )
txd_floors = engineLoadTXD ( "models/office_floors.txd" )
engineImportTXD ( txd_floors, 3781 )
dff_floors = engineLoadDFF ( "models/office_floors.dff")
engineReplaceModel ( dff_floors, 3781 )


Example 3: This example replaces the victim billboards in last venturas (when replacing default models you do not need to replace a COL or DFF)

outputChatBox ( "> replacing billboards" )
txd_billboards = engineLoadTXD ( "models/vgsn_billboard.txd" )
engineImportTXD ( txd_billboards, 7300 )


Example 4: This example shows that you only need to load a TXD once, even if you want to replace several different textures

outputChatBox ( "> replacing billboards" )
txd_billboards = engineLoadTXD ( "models/vgsn_billboard.txd" )
engineImportTXD ( txd_billboards, 7300 )
engineImportTXD ( txd_billboards, 7301 )
engineImportTXD ( txd_billboards, 7302 )
engineImportTXD ( txd_billboards, 7303 )

Example 5: This example loads a custom skin mod and replaces SA skin of the defined ID (in this example being '190')

addEventHandler ( "onClientResourceStart", getResourceRootElement ( getThisResource() ),
	function ()
		txd = engineLoadTXD ( "skinmodel.txd" ); -- change 'skinmodel' to your mod's file name
		engineImportTXD ( txd, 190 ); -- change the ID 190 into the GTA skin ID you with to replace with mod
		dff = engineLoadDFF ( "skinmodel.dff", 190 ); -- change 'skinmodel' to your mod's file name
		engineReplaceModel ( dff, 190 ); -- change the ID 190 into the GTA skin ID you with to replace with mod
	end
);

Example 6: This example replaces a default weapon with a custom weapon mod (TXD & DFF)

function replaceWeapon() 
txd = engineLoadTXD ( "m4.txd" )
engineImportTXD ( txd, 356)
dff = engineLoadDFF ( "m4.dff", 356) -- use weapon model ID, not GTA 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 7: This example replaces multiple models at the same time using this function just once. (in this example the Grove street)

txd = engineLoadTXD ("Los Santos/lae2roadshub.txd")
engineImportTXD (txd, 17595, 17597, 17610, 17611, 17612, 17613)

See Also