EngineReplaceModel notes: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(replace info with template ObjectLODInfo)
 
(One intermediate revision by one other user not shown)
Line 23: Line 23:
</section>
</section>


{{ObjectLODInfo}}


==Method 2: Create custom object and hide original==
==Method 2: Create custom object and hide original==
Line 42: Line 43:
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
====Additonal code if model has LOD:====
''(To determine the LOD model ID, use the editor resource, or refer to this [https://github.com/multitheftauto/mtasa-resources/blob/master/%5Beditor%5D/editor_main/server/mapEditorScriptingExtension_s.lua#L50 this table])''<br/>
If the model has a LOD version, that will need to be hidden:
<syntaxhighlight lang="lua">
    local modelIdLOD = 13245
    removeWorldModel ( modelIdLOD, 100, x,y,z ) -- Hide LOD
</syntaxhighlight>
Optionally create a MTA LOD replacement so there is no hole in the map from a distance:
<syntaxhighlight lang="lua">
    -- This step is optional
    objLOD = createObject( modelIdLOD, x,y,z, 0, 0, 0, true )
    setLowLODElement(obj, objLOD)
</syntaxhighlight>
And for extra points, add a custom dff for the MTA LOD replacement:
<syntaxhighlight lang="lua">
    -- This step is optional
    txdLOD = engineLoadTXD( "garageLOD.txd" )
    dffLOD = engineLoadDFF( "garageLOD.dff", 0 )
    engineImportTXD( txdLOD, modelIdLOD )
    engineReplaceModel( dffLOD, modelIdLOD )
</syntaxhighlight>


=Additonal Note=
=Additonal Note=
'''Sometimes you need to replace the model far away from where the model/texture change is being made'''
'''Sometimes you need to replace the model far away from where the model/texture change is being made'''
so if you are in the game and you are trying to replace a model then get away from the model till it is gone from your draw distance for making sure that this problem won't happen
so if you are in the game and you are trying to replace a model then get away from the model till it is gone from your draw distance for making sure that this problem won't happen

Latest revision as of 12:40, 4 November 2024

Replacing models in the original GTA map

There are two ways to replace models in the original GTA map:

Method 1: Move camera away during replace process

Click to collapse [-]
Client
    local modelId = 12853

    setCameraMatrix( 10000, 0, 0 ) -- Move camera far away

    col = engineLoadCOL( "garage.col" )
    txd = engineLoadTXD( "garage.txd" )
    dff = engineLoadDFF( "garage.dff", 0 )
     
    engineReplaceCOL( col, modelId )
    engineImportTXD( txd, modelId )
    engineReplaceModel( dff, modelId )

    setTimer( function()
        setCameraTarget( localPlayer ) -- Move camera back after a delay
    end, 50, 1 )


Edit-delete.png This page is marked for deletion.

Reason: Template not needed
Actions: Delete (Administrators) - Discuss - What links here - Category


Method 2: Create custom object and hide original

Click to collapse [-]
Client
    local modelId = 12853
    local x,y,z = 661, -561, 17

    obj = createObject( modelId, x,y,z )
    removeWorldModel( modelId, 100, x,y,z ) -- Hide original

    col = engineLoadCOL( "garage.col" )
    txd = engineLoadTXD( "garage.txd" )
    dff = engineLoadDFF( "garage.dff", 0 )
     
    engineReplaceCOL( col, modelId )
    engineImportTXD( txd, modelId )
    engineReplaceModel( dff, modelId )

Additonal Note

Sometimes you need to replace the model far away from where the model/texture change is being made so if you are in the game and you are trying to replace a model then get away from the model till it is gone from your draw distance for making sure that this problem won't happen