EngineGetSurfaceProperties

From Multi Theft Auto: Wiki
Revision as of 20:15, 12 December 2023 by 1Lorenzo (talk | contribs) (→‎Example)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This function retrieves the value of a surface property.

Syntax

mixed engineGetSurfaceProperties ( int surfaceID, string property )

Required Arguments

  • surfaceID: Material ID from 0 to 178
  • property: Property name

Returns

Returns the current property value. See the table below for possible values.

Properties

Materials, surfaces properties

Property Accepted values Effect Picture
glass true, false Unknown -
stairs true, false Unknown -
stepwatersplash true, false Water effect on step -
softlanding true, false Probably makes landing cause less damage -
steepslope true, false Makes climbing up impossible -
footeffect true, false Create footprints on the surface -
seethrough true, false Connected with processLineOfSight function -
shootthrough true, false Same as seethrough, but toggles ability to shoot through surfaces, objects.
Some fences have this ability.
-
audio "concrete", "grass", "sand", "gravel", "wood",
"water", "metal"
Noise when walking -
bulleteffect "metal", "concrete", "sand", "wood", "disabled" Effect when hit by a bullet -
tyregrip 0–255 Change tyre grip -
wetgrip 0–255 Change tyre grip when raining -
canclimb true, false Whether can be grabbed/climbed over -
adhesiongroup "rubber", "hard", "road", "loose", "sand", "wet" Change tyre grip between various surfaces.
If both surfaces (vehicle tyre and ground) are set to rubber,
makes vehicle rarely create skid marks and vehicle won't slip.
-
roughness 0–3 Unknown -
fractioneffect 0–7 Unknown, probably makes wheels vibrate on rail track -
wheeleffect "grass", "gravel", "mud", "sand", "dust",
"disabled"
Particle effect while driving -
skidmarktype "asphalt", "dirt", "dust", "disabled" Skid mark type -

Example

In this example, we retrieve the surface property value for a material with ID 5 and the property name “audio.” If successful, it displays the value; otherwise, it indicates an invalid input

local surfaceID = 5 -- the material ID
local property = "audio" -- the property name
local propertyValue = engineGetSurfaceProperties(surfaceID, property)
if propertyValue then
    outputChatBox("Surface property '" .. property .. "' value: " .. tostring(propertyValue))
	-- returns : Surface property 'audio' value: concrete
else
    outputChatBox("Invalid surface ID or property name.")
end

See Also