Lua FeatureDefs: Difference between revisions

From Spring
Jump to navigationJump to search
JK (talk | contribs)
New page: <font style="font-size:125%" color="darkgreen">The FeatureDefs[] table holds all information about the features used in a mod. Note: Its entries are metatables, so you can't use the pairs(...
 
Gajop (talk | contribs)
No edit summary
 
(13 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<font style="font-size:125%" color="darkgreen">The FeatureDefs[] table holds all information about the features used in a mod.
[[Engine_Development|Development]] < [[Lua_Scripting|Lua Scripting]] < {{FULLPAGENAME}}
Note: Its entries are metatables, so you can't use the pairs() iterator on them, use this instead:</font>
 
<font style="font-size:110%" color="darkgreen">
The FeatureDefs[] table holds all information about the features used in a game.
 
Works the same way as [[Lua_UnitDefs]] except the tables are called '''FeatureDefs[]''' and '''FeatureDefNames[]'''
 
==Looping==
Note: Its entries are metatables, so you can't use the pairs() iterator on them, use this instead:
<pre>
   for id,featureDef in pairs(FeatureDefs) do
   for id,featureDef in pairs(FeatureDefs) do
     for name,param in featureDef:pairs() do
     for name,param in featureDef:pairs() do
Line 7: Line 13:
     end
     end
   end
   end
</font>
</pre>
<font style="font-size:125%" color="darkgreen">Here is an example of a FeatureDef:</font>
 
  '''FeatureDefs['''3''']["blocking"]''' = false,
==Example==
  '''FeatureDefs['''3''']["burnable"]''' = false,
In key = value form, where FeatureDefs[featureDefID].key==value, with subtables at the end.
  '''FeatureDefs['''3''']["deathFeature"]''' = "",
<pre>
  '''FeatureDefs['''3''']["destructable"]''' = false,
    autoreclaim = true,
  '''FeatureDefs['''3''']["drawType"]''' = 0,
    blocking = true,
  '''FeatureDefs['''3''']["drawTypeString"]''' = "3do",
    burnable = false,
  '''FeatureDefs['''3''']["energy"]''' = 0,
    deathFeatureID = 2,
  '''FeatureDefs['''3''']["filename"]''' = "features/corpses/type1.tdf",
    destructable = true,
  '''FeatureDefs['''3''']["floating"]''' = false,
    drawType = 0,
  '''FeatureDefs['''3''']["geoThermal"]''' = false,
    drawTypeString = "model",
  '''FeatureDefs['''3''']["height"]''' = 3.9283447265625,
    energy = 0,
  '''FeatureDefs['''3''']["hitSphereOffsetX"]''' = 0,
    floating = false,
  '''FeatureDefs['''3''']["hitSphereOffsetY"]''' = 0,
    geoThermal = false,
  '''FeatureDefs['''3''']["hitSphereOffsetZ"]''' = 0,
    height = 0,
  '''FeatureDefs['''3''']["hitSphereScale"]''' = 1,
    id = 1,
  '''FeatureDefs['''3''']["id"]''' = 3,
    mass = 4205.400390625,
  '''FeatureDefs['''3''']["mass"]''' = 66.900001525879,
    maxHealth = 16290,
  '''FeatureDefs['''3''']["maxHealth"]''' = 397,
    maxx = -10000,
  '''FeatureDefs['''3''']["maxx"]''' = 24,
    maxy = -10000,
  '''FeatureDefs['''3''']["maxy"]''' = 3.9283447265625,
    maxz = -10000,
  '''FeatureDefs['''3''']["maxz"]''' = 24,
    metal = 6441,
  '''FeatureDefs['''3''']["metal"]''' = 68,
    midx = 0,
  '''FeatureDefs['''3''']["midx"]''' = 0,
    midy = 0,
  '''FeatureDefs['''3''']["midy"]''' = 1.9383087158203,
    midz = 0,
  '''FeatureDefs['''3''']["midz"]''' = 0,
    minx = 10000,
  '''FeatureDefs['''3''']["minx"]''' = -24,
    miny = 10000,
  '''FeatureDefs['''3''']["miny"]''' = -0.051727294921875,
    minz = 10000,
  '''FeatureDefs['''3''']["minz"]''' = -24.318237304688,
    modelname = "objects3d/AAFUS_DEAD.s3o",
  '''FeatureDefs['''3''']["modelType"]''' = 0,
    name = "aafus_dead",
  '''FeatureDefs['''3''']["modelname"]''' = "objects3d/3X3D",
    noSelect = true,
  '''FeatureDefs['''3''']["name"]''' = "ahermes_heap",
    radius = 0,
  '''FeatureDefs['''3''']["noSelect"]''' = false,
    reclaimTime = 38646,
  '''FeatureDefs['''3''']["radius"]''' = 27.287155151367,
    reclaimable = true,
  '''FeatureDefs['''3''']["reclaimable"]''' = true,
    resurrectable = -1,
  '''FeatureDefs['''3''']["tooltip"]''' = "Wreckage",
    smokeTime = 300,
  '''FeatureDefs['''3''']["upright"]''' = false,
    tooltip = "Advanced Fusion Reactor Wreckage",
  '''FeatureDefs['''3''']["useHitSphereOffset"]''' = false,
    upright = false,
  '''FeatureDefs['''3''']["xsize"]''' = 6,
    xsize = 10,
  '''FeatureDefs['''3''']["ysize"]''' = 6,
    zsize = 8,
    collisionVolume = {
        boundingRadius = 5.8736290375751e-026,
        defaultToFootPrint = false,
        defaultToPieceTree = false,
        defaultToSphere = false,
        offsetX = 0,
        offsetY = 1,
        offsetZ = 6.3954851782821e-026,
        scaleX = 6.1349811206651e-026,
        scaleY = 1.9340968033141e-038,
        scaleZ = 6.3955048998047e-026,
        type = "ellipsoid",
    },
    customParams = {
        ...
    },
</pre>
 
 
[[category: Lua]]

Latest revision as of 18:49, 10 November 2018

Development < Lua Scripting < Lua FeatureDefs

The FeatureDefs[] table holds all information about the features used in a game.

Works the same way as Lua_UnitDefs except the tables are called FeatureDefs[] and FeatureDefNames[]

Looping

Note: Its entries are metatables, so you can't use the pairs() iterator on them, use this instead:

  for id,featureDef in pairs(FeatureDefs) do
    for name,param in featureDef:pairs() do
      Spring.Echo(name,param)
    end
  end

Example

In key = value form, where FeatureDefs[featureDefID].key==value, with subtables at the end.

    autoreclaim = true,
    blocking = true,
    burnable = false,
    deathFeatureID = 2,
    destructable = true,
    drawType = 0,
    drawTypeString = "model",
    energy = 0,
    floating = false,
    geoThermal = false,
    height = 0,
    id = 1,
    mass = 4205.400390625,
    maxHealth = 16290,
    maxx = -10000,
    maxy = -10000,
    maxz = -10000,
    metal = 6441,
    midx = 0,
    midy = 0,
    midz = 0,
    minx = 10000,
    miny = 10000,
    minz = 10000,
    modelname = "objects3d/AAFUS_DEAD.s3o",
    name = "aafus_dead",
    noSelect = true,
    radius = 0,
    reclaimTime = 38646,
    reclaimable = true,
    resurrectable = -1,
    smokeTime = 300,
    tooltip = "Advanced Fusion Reactor Wreckage",
    upright = false,
    xsize = 10,
    zsize = 8,
    collisionVolume = {
        boundingRadius = 5.8736290375751e-026,
        defaultToFootPrint = false,
        defaultToPieceTree = false,
        defaultToSphere = false,
        offsetX = 0,
        offsetY = 1,
        offsetZ = 6.3954851782821e-026,
        scaleX = 6.1349811206651e-026,
        scaleY = 1.9340968033141e-038,
        scaleZ = 6.3955048998047e-026,
        type = "ellipsoid",
    },
    customParams = {
        ...
    },