EngineRequestModel: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Added an example) |
||
Line 16: | Line 16: | ||
==Example== | ==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. | ||
<syntaxhighlight lang="lua"> | |||
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) | |||
</syntaxhighlight> | |||
==See Also== | ==See Also== | ||
{{Engine functions}} | {{Engine functions}} |
Revision as of 03:07, 10 September 2019
This function is used to assign the next available model ID to a certain element type. Currently only "ped" is supported.
Syntax
bool engineRequestModel ( str elementType )
Required Arguments
- elementType: this must be "ped".
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.
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)
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