EngineRequestModel: Difference between revisions
(→Syntax) |
No edit summary |
||
Line 2: | Line 2: | ||
{{Client function}} | {{Client function}} | ||
{{New feature/item|3.0158|1.5.7|20147|This function is used to assign the next available model ID to a certain element type. Before release 1.5.8-20716 only "ped" is supported, after release 1.5.8-20716 this function supports "vehicle" and "object" too.}} | {{New feature/item|3.0158|1.5.7|20147|This function is used to assign the next available model ID to a certain element type. Before release 1.5.8-20716 only "ped" is supported, after release 1.5.8-20716 this function supports "vehicle" and "object" too.}} | ||
{{note|IMPORTANT: | |||
*before release 1.5.8-20716 this must be "ped". | |||
}} | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 13: | Line 15: | ||
*'''elementType''': "ped", "vehicle" and "object". | *'''elementType''': "ped", "vehicle" and "object". | ||
*'''parentID''': ID of the car model to be highlighted. | *'''parentID''': ID of the car model to be highlighted. | ||
===Returns=== | ===Returns=== |
Revision as of 10:17, 17 November 2020
This function is used to assign the next available model ID to a certain element type. Before release 1.5.8-20716 only "ped" is supported, after release 1.5.8-20716 this function supports "vehicle" and "object" too.
Syntax
int engineRequestModel ( str elementType )
int engineRequestModel( "vehicle", int parentID )
Required Arguments
- elementType: "ped", "vehicle" and "object".
- parentID: ID of the car model to be highlighted.
Returns
Returns an integer of the model ID that was available to be assigned to the element type, false if no free model ID available or invalid element type.
Do not rely on the model numbers returned being consistent across multiple clients or multiple runs of resources. There is no guarantee for the order of the numbers or that the same numbers will always correspond to the same element type. Any patterns are coincidental.
Example
This example creates a ped and then gives you the opportunity to change its model. If the resource stops, then the IDs allocated will be deallocated. Use /cap for creating the ped and /sap to skin the ped. You will need some skins added to a folder and to the meta.xml for /sap to work.
local peds = {} function createAllocatedPed() local x, y, z = getElementPosition(localPlayer) local id = engineRequestModel("ped") peds[id] = createPed(id, x+0.5, y, z+0.5) outputChatBox("New ped with ID "..id.." created.") end addCommandHandler("cap", createAllocatedPed, false, false) function skinAllocatedPeds() local txd, dff; for id,ped in pairs(peds) do if fileExists("skins/" .. id .. ".txd") and fileExists("skins/" .. id .. ".dff") then txd = engineLoadTXD("skins/" .. id .. ".txd") engineImportTXD(txd, id) dff = engineLoadDFF("skins/" .. id .. ".dff") engineReplaceModel(dff, id) outputChatBox("Model ID "..id.." changed correctly.") else outputChatBox("Model ID "..id.." couldn't change. REASON: skins/" .. id .. ".txd or skins/" .. id .. ".dff does not exist.") end end end addCommandHandler("sap", skinAllocatedPeds, false, false) function onStop() for id,ped in pairs(peds) do engineFreeModel(id) end end addEventHandler("onClientResourceStop", resourceRoot, onStop)
Requirements
This template will be deleted.
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