EngineGetModelTextures: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Add note that the return value structure is differente than stated (according to the source code))
(Remove obsolete Requirements section)
 
(One intermediate revision by one other user not shown)
Line 12: Line 12:


===Returns===
===Returns===
Returns a table of texture elements [textureName, texture], '''false''' otherwise. </br>
Returns a table of texture elements [textureName, texture], '''false''' otherwise.
'''Note: According to the [https://github.com/multitheftauto/mtasa-blue/blob/bafbae00cdcca392f10ffc9f450ed45e019253c4/Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.cpp#L1192 source code] the actual structure is: t[texture] = textureName'''


==Example==  
==Example==  
Line 36: Line 35:
</section>
</section>


==Requirements==
{{Requirements|n/a|1.5.7-9.20416|}}
==See Also==
==See Also==
{{Engine_functions}}
{{Engine_functions}}

Latest revision as of 17:19, 7 November 2024

This function allows you to get the textures of any model.

Syntax

table engineGetModelTextures( string/int modelName/modelID [, string/table textureNames ] )

Required Arguments

  • model: either the model ID or model name.

Optional Arguments

  • textureNames: Only return textures with specified name(s). You can provide a single string or a table of strings. Wildcard matching e.g. "ro?ds*" can be used.

Returns

Returns a table of texture elements [textureName, texture], false otherwise.

Example

Click to collapse [-]
Client

Get the textures for model ID 3722 and draw them with dxDrawImage.

function init()
	textures = engineGetModelTextures(3722)
	addEventHandler("onClientRender", root, render)
end
addEventHandler("onClientResourceStart", resourceRoot, init)

function render()
	local offset = 0
	for name,texture in pairs(textures) do
		local size = dxGetPixelsSize(dxGetTexturePixels(texture))
		dxDrawImage(0+offset, 0, size, size, texture)
		offset = offset + size
	end
end

See Also