Mod语法:修订间差异

无编辑摘要
→‎属性(property):​ 先更了[core]的部分,小白知道键的功能容易,但具体怎么填值容易搞乱,该表提供了对应值类型,和不填键时的缺省值
无编辑摘要
第29行:
</pre>
=== 属性(property) ===
Rusted Warfare 中,属性包含一组键值对。键(key)的名称与其对应的值(value)用半角冒号隔开,单独占一行。用于规定单位的具体属性。名称不同的键视为不同类型的键,名称相同的键从属于不同类型的节视为不同类型的键。值的类型不同填写的内容和格式会有不同
 
键的类型(<b>施工中</b>):
<table class="wikitable sortable" border="1" style="word-break:break-all;">
<tr><th>Section</th><th>Code</th><th>Value</th><th>Default</th><th>Notes</th></tr>
<tr><td>[core]</td><td>name</td><td>"string"</td><td></td><td></td></tr>
<tr><td>[core]</td><td>altNames</td><td>"string"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>class</td><td>CustomUnitMetadata</td><td>CustomUnitMetadata</td><td></td></tr>
<tr><td>[core]</td><td>strictLevel</td><td>0/1</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>price</td><td>"int"/"customResourceX"="float"(s)</td><td></td><td>"int" = credits="int";[global_resource_"customResourceX"]/[resource_"customResourceX"]</td></tr>
<tr><td>[core]</td><td>mass</td><td>"int"(>=0)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>techLevel</td><td>1/2/3</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>buildSpeed</td><td>"float"/"float"s</td><td>1</td><td>"float"=1/("float"s*60)</td></tr>
<tr><td>[core]</td><td>radius</td><td>"int"(>=0)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>isBio</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>isBug</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>isBuilder</td><td>bool</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>streamingCost</td><td>"int"/"customResourceX"="float"(s)</td><td></td><td>"int" = credits="int";[global_resource_"customResourceX"]/[resource_"customResourceX"];[core]resourceRate:0;[core]switchPriceWithStreamingCost:false</td></tr>
<tr><td>[core]</td><td>switchPriceWithStreamingCost</td><td>"bool"</td><td>false</td><td>[core]resourceRate:0;[core]<del>StreamingCost:</del></td></tr>
<tr><td>[core]</td><td>maxHp</td><td>"int"(>=0, if ${core.disableDeathOnZeroHp} != true)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>selfRegenRate</td><td>"float"</td><td>0</td><td>hp/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>maxShield</td><td>"int"(>=0)</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>startShieldAtZero</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>shieldRegen</td><td>"float"</td><td>0.25</td><td>shield/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>energyMax</td><td>"float"(>=0)</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>energyRegen</td><td>"float"</td><td>0</td><td>energy/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>energyStartingPercentage</td><td>"float"(0-1)</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>energyNeedsToRechargeToFull</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>energyRegenWhenRecharging</td><td>"float"</td><td>${core.energyRegen}</td><td>energy/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>armour</td><td>"int"</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>armourMinDamageToKeep</td><td>"int"</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>borrowResourcesWhileAlive</td><td>"int"/"customResourceX"="float"(s)</td><td></td><td>"int" = credits="int";[global_resource_"customResourceX"]/[resource_"customResourceX"]</td></tr>
<tr><td>[core]</td><td>borrowResourcesWhileBuilt</td><td>"int"/"customResourceX"="float"(s)</td><td></td><td>"int" = credits="int";[global_resource_"customResourceX"]/[resource_"customResourceX"]</td></tr>
<tr><td>[core]</td><td>generation_resources</td><td>"int"/"customResourceX"="float"(s)</td><td></td><td>"int" = credits="int";[global_resource_"customResourceX"]/[resource_"customResourceX"]</td></tr>
<tr><td>[core]</td><td>generation_active</td><td>"logicBoolean"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>generation_credits</td><td>"int"</td><td></td><td></td></tr>
<tr><td>[core]</td><td>generation_delay</td><td>"int"(>=0)</td><td>40</td><td></td></tr>
<tr><td>[core]</td><td>showInEditor</td><td>"bool"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>displayText</td><td>"string"/i:"localeKey"</td><td></td><td>/assets/translations/Strings.properties-->"localeKey"=xxx;if displayText:i:"localeKey", displayText_"LANG":"string"</td></tr>
<tr><td>[core]</td><td>displayText_"LANG"</td><td>"string"/i:"localeKey"</td><td></td><td>"LANG" = ISO 639-1 Code(zh,ru,ja...);/assets/translations/Strings.properties-->"localeKey"=xxx;displayText:"string"(/i:"localeKey");if displayText_"LANG":i:"localeKey", displayText:"string"</td></tr>
<tr><td>[core]</td><td>displayDescription</td><td>"string"/i:"localeKey"</td><td></td><td>/assets/translations/Strings.properties-->"localeKey"=xxx;if displayDescription:i:"localeKey", displayDescription_"LANG":"string"</td></tr>
<tr><td>[core]</td><td>displayDescription_"LANG"</td><td>"string"/i:"localeKey"</td><td></td><td>"LANG" = ISO 639-1 Code(zh,ru,ja...);/assets/translations/Strings.properties-->"localeKey"=xxx;displayDescription:"string"(/i:"localeKey");if displayDescription_"LANG":i:"localeKey", displayDescription:"string"</td></tr>
<tr><td>[core]</td><td>displayLocaleKey</td><td>"unitLocaleKey"</td><td></td><td>/assets/translations/Strings.properties-->units."unitLocaleKey".name</td></tr>
<tr><td>[core]</td><td>displayRadius</td><td>"int"(>=0)</td><td>${core.radius}</td><td></td></tr>
<tr><td>[core]</td><td>uiTargetRadius</td><td>"int"(>=0;==6, if ${core.radius} < 6)</td><td>${core.radius}</td><td></td></tr>
<tr><td>[core]</td><td>shieldRenderRadius</td><td>"int"(>=0)</td><td>${core.radius}</td><td></td></tr>
<tr><td>[core]</td><td>shieldDisplayOnlyDeflection</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>shieldDeflectionDisplayRate</td><td>"float"</td><td>4</td><td>Unfiled</td></tr>
<tr><td>[core]</td><td>showOnMinimap</td><td>"bool"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>showActionsWithMixedSelectionIfOtherUnitsHaveTag</td><td>"tag"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>showOnMinimapToEnemies</td><td>"bool"</td><td>${graphics.isVisibleToEnemies}</td><td></td></tr>
<tr><td>[core]</td><td>isBuilding</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>footprint</td><td>-"int",-"int","int","int"(>=0)</td><td>-0,-0,0,0</td><td>"int"="int"*tile="int"*(20px*20px)</td></tr>
<tr><td>[core]</td><td>constructionFootprint</td><td>-"int",-"int","int","int"<(>=0)/td><td>-0,-0,0,0</td><td>"int"="int"*tile="int"*(20px*20px)</td></tr>
<tr><td>[core]</td><td>displayFootprint</td><td>-"int",-"int","int","int"(>=0)</td><td>${core.footprint}</td><td>"int"="int"*tile="int"*(20px*20px)</td></tr>
<tr><td>[core]</td><td>buildingSelectionOffset</td><td>"int"</td><td>0</td><td>"int"="int"px*"int"px</td></tr>
<tr><td>[core]</td><td>buildingToFootprintOffsetX</td><td>"float"</td><td>10</td><td>"float"="float"px</td></tr>
<tr><td>[core]</td><td>buildingToFootprintOffsetY</td><td>"float"</td><td>10</td><td>"float"="float"px</td></tr>
<tr><td>[core]</td><td>placeOnlyOnResPool</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>selfBuildRate</td><td>"float"/"float"s</td><td>0</td><td>"float"=1/("float"s*60)</td></tr>
<tr><td>[core]</td><td>ignoreInUnitCapCalculation</td><td>"bool"</td><td>${core.isBuilding}</td><td></td></tr>
<tr><td>[core]</td><td>copyFrom</td><td>"filePath"(.ini)(s)</td><td></td><td>"filePath" = ./../xxx/xx/xxxx.ini</td></tr>
<tr><td>[core]</td><td>dont_load</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>overrideAndReplace</td><td>"unitName"(s)</td><td></td><td>"unitName" = ${core.name}</td></tr>
<tr><td>[core]</td><td>onNewMapSpawn</td><td>emptyResourcePools_asNeutral/emptyOrOccupiedResourcePools_asNeutral/mapCenter_asNeutral/mapCenter_eachActiveTeam/spawnPoint_eachActiveTeam</td><td></td><td></td></tr>
<tr><td>[core]</td><td>isLocked</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>isLockedIfGameModeNoNuke</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>experimental</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>stayNeutral</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>createNeutral</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>createOnAggressiveTeam</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>tags</td><td>"tag"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>defineUnitMemory</td><td>boolean/float/number/unit/string "string"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>fogOfWarSightRange</td><td>"int"(>=0)</td><td>15</td><td>"int"="int"px</td></tr>
<tr><td>[core]</td><td>fogOfWarSightRangeWhileNotBuilt</td><td>"int"(>=0)</td><td>${core.fogOfWarSightRange}</td><td>"int"="int"px</td></tr>
<tr><td>[core]</td><td>softCollisionOnAll</td><td>"int"(>=0)</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>disableAllUnitCollisions</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>isUnrepairableUnit</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>isUnselectable</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>isUnselectableAsTarget</td><td>"bool"</td><td>${core.isUnselectable}</td><td></td></tr>
<tr><td>[core]</td><td>isPickableStartingUnit</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>startFallingWhenStartingUnit</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>soundOnAttackOrder</td><td>"filePath"(.ogg/.wav)(s)</td><td></td><td>"filePath" = ./../xxx/xx/xxxx.ogg(/.wav)</td></tr>
<tr><td>[core]</td><td>soundOnMoveOrder</td><td>"filePath"(.ogg/.wav)(s)</td><td></td><td>"filePath" = ./../xxx/xx/xxxx.ogg(/.wav)</td></tr>
<tr><td>[core]</td><td>soundOnNewSelection</td><td>"filePath"(.ogg/.wav)(s)</td><td></td><td>"filePath" = ./../xxx/xx/xxxx.ogg(/.wav)</td></tr>
<tr><td>[core]</td><td>canNotBeDirectlyAttacked</td><td>"bool"</td><td>false</td><td>[core]<del>canOnlyBeAttackedByUnitsWithTags:</del></td></tr>
<tr><td>[core]</td><td>canNotBeDamaged</td><td>"bool"</td><td>${core.canNotBeDirectlyAttacked}</td><td></td></tr>
<tr><td>[core]</td><td>canNotBeGivenOrdersByPlayer</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>canOnlyBeAttackedByUnitsWithTags</td><td>"tag"(s)</td><td></td><td>[core]<del>canNotBeDirectlyAttacked:</del></td></tr>
<tr><td>[core]</td><td>disableDeathOnZeroHp</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>transportSlotsNeeded</td><td>"int"(>=0)</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>maxTransportingUnits</td><td>"int"(>=0)</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsRequireTag</td><td>"tag"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsRequireMovementType</td><td>NONE/LAND/BUILDING/HOVER/OVER_CLIFF/OVER_CLIFF_WATER/AIR/WATER(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsBlockAirAndWaterUnits</td><td>"bool"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsKeepBuiltUnits</td><td>"logicBoolean"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsCanUnloadUnits</td><td>"logicBoolean"</td><td>if not (self.isOverLiquid or self.isMoving)</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsAddUnloadOption</td><td>"bool"</td><td>true/false(if ${core.transportUnitsCanUnloadUnits} == false)</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsUnloadDelayBetweenEachUnit</td><td>"float"/"float"s</td><td>30</td><td>"float"s="float"*60</td></tr>
<tr><td>[core]</td><td>transportUnitsKillOnDeath</td><td>"logicBoolean"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsHealBy</td><td>"float"</td><td>0</td><td>hp/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>transportUnitsBlockOtherTransports</td><td>"bool"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>whileNeutralTransportAnyTeam</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>whileNeutralConvertToTransportedTeam</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>convertToNeutralIfNotTransporting</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>transportUnitsOnTeamChangeKeepCurrentTeam</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>resourceRate</td><td>"float"(>0)</td><td>0</td><td>[core]switchPriceWithStreamingCost:false;[core]<del>StreamingCost:</del></td></tr>
<tr><td>[core]</td><td>similarResourcesHaveTag</td><td>"tag"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>resourceMaxConcurrentReclaimingThis</td><td>"int"(>=0)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>reclaimPrice</td><td>"int"/"customResourceX"="float"(s)</td><td></td><td>"int" = credits="int";[global_resource_"customResourceX"]/[resource_"customResourceX"]</td></tr>
<tr><td>[core]</td><td>canReclaimResources</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>canReclaimResourcesNextSearchRange</td><td>"int"(>=0)</td><td>500</td><td></td></tr>
<tr><td>[core]</td><td>canReclaimResourcesOnlyWithTags</td><td>"tag"(s)</td><td></td><td></td></tr>
<tr><td>[core]</td><td>canReclaimUnitsOnlyWithTags</td><td>"tag"(s)</td><td></td><td>[core]canRepairBuildings:true/[core]canRepairUnits:true</td></tr>
<tr><td>[core]</td><td>resourceReclaimMultiplier</td><td>"float"</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>canRepairUnitsOnlyWithTags</td><td>"tag"(s)</td><td></td><td>[core]canRepairBuildings:true/[core]canRepairUnits:true</td></tr>
<tr><td>[core]</td><td>canRepairBuildings</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>canRepairUnits</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>autoRepair</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>nanoRange</td><td>"int"(>=0)</td><td>85</td><td></td></tr>
<tr><td>[core]</td><td>nanoRepairSpeed</td><td>"float"</td><td>0.2</td><td>hp/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>nanoBuildSpeed</td><td>"float"(>=0)</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>nanoUnbuildSpeed</td><td>"float"(>=0)</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>nanoReclaimSpeed</td><td>"float"(>=0)</td><td>${core.nanoRepairSpeed}*5.1</td><td>hp/s=("float"*60)/s</td></tr>
<tr><td>[core]</td><td>nanoRangeForRepairIsMelee</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>nanoRangeForReclaimIsMelee</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>nanoRangeForRepair</td><td>"int"(>=0)</td><td>${core.nanoRange}</td><td></td></tr>
<tr><td>[core]</td><td>nanoRangeForReclaim</td><td>"int"(>=0)</td><td>${core.nanoRange}</td><td></td></tr>
<tr><td>[core]</td><td>nanoFactorySpeed</td><td>"float"(>=0)</td><td>1</td><td></td></tr>
<tr><td>[core]</td><td>extraBuildRangeWhenBuildingThis</td><td>"int"</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>builtFrom_"#"_name</td><td>"unitName"(s)</td><td></td><td>"#" = "int"(>=0);"unitName" = ${core.name}</td></tr>
<tr><td>[core]</td><td>builtFrom_"#"_pos</td><td>"float"</td><td></td><td>"#" = "int"(>=0)</td></tr>
<tr><td>[core]</td><td>builtFrom_"#"_forceNano</td><td>"bool"</td><td>false</td><td>"#" = "int"(>=0)</td></tr>
<tr><td>[core]</td><td>builtFrom_"#"_isLocked</td><td>"logicBoolean"</td><td>false</td><td>"#" = "int"(>=0)</td></tr>
<tr><td>[core]</td><td>builtFrom_"#"_isLockedMessage</td><td>"string"/i:"localeKey"</td><td></td><td>"#" = "int"(>=0);/assets/translations/Strings.properties-->"localeKey"=xxx</td></tr>
<tr><td>[core]</td><td>exit_x</td><td>"float"</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>exit_y</td><td>"float"</td><td>9</td><td></td></tr>
<tr><td>[core]</td><td>exit_dirOffset</td><td>"float"</td><td>180(units)/0(buildings)</td><td></td></tr>
<tr><td>[core]</td><td>exit_heightOffset</td><td>"float"</td><td>0</td><td></td></tr>
<tr><td>[core]</td><td>exit_moveAwayAmount</td><td>"float"</td><td>70</td><td></td></tr>
<tr><td>[core]</td><td>exitHeightIgnoreParent</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>dieOnConstruct</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>dieOnZeroEnergy</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>numBitsOnDeath</td><td>"int"(>=0)</td><td>4(if ${core.mass} <= 30000)/8(if ${core.mass} > 30000)/7(buildings)</td><td></td></tr>
<tr><td>[core]</td><td>nukeOnDeath</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>nukeOnDeathRange</td><td>"float"(>=0)</td><td>250</td><td></td></tr>
<tr><td>[core]</td><td>nukeOnDeathDamage</td><td>"float"</td><td>5400</td><td></td></tr>
<tr><td>[core]</td><td>nukeOnDeathDisableWhenNoNuke</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>fireTurretXAtSelfOnDeath</td><td>"turretX"</td><td></td><td>[turret_"turretX"]</td></tr>
<tr><td>[core]</td><td>explodeOnDeath</td><td>"bool"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>explodeOnDeathGroundCollision</td><td>"bool"</td><td>true</td><td></td></tr>
<tr><td>[core]</td><td>explodeTypeOnDeath</td><td>verysmall/small/normal/large/largeUnit/building/buildingNoShockwaveOrSmoke/verylargeBuilding(s)</td><td>normal</td><td></td></tr>
<tr><td>[core]</td><td>effectOnDeath</td><td>smoke/shockwave/small/medium/large/CUSTOM:"customEffectX"*"int"(>=0)(s)</td><td></td><td>[effect_"customEffectX"]</td></tr>
<tr><td>[core]</td><td>effectOnDeathGroundCollision</td><td>smoke/shockwave/small/medium/large/CUSTOM:"customEffectX"*"int"(>=0)(s)</td><td></td><td>[effect_"customEffectX"]</td></tr>
<tr><td>[core]</td><td>unitsSpawnedOnDeath</td><td>"unitName"*"int"(>=0)(s)</td><td></td><td>"unitName" = ${core.name}</td></tr>
<tr><td>[core]</td><td>unitsSpawnedOnDeath_setToTeamOfLastAttacker</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>hideScorchMark</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>soundOnDeath</td><td>"built-inSound"/"filePath"(.ogg/.wav)(s)</td><td></td><td>\res\raw\"built-inSound".ogg(/.wav)</td></tr>
<tr><td>[core]</td><td>effectOnDeathIfUnbuilt</td><td>smoke/shockwave/small/medium/large/CUSTOM:"customEffectX"*"int"(>=0)(s)</td><td></td><td>[effect_"customEffectX"]</td></tr>
<tr><td>[core]</td><td>autoTriggerCooldownTime</td><td>"float"(>=5;<120;>=0,if ${core.autoTriggerCooldownTime_allowDangerousHighCPU} == true)/"float"s(>=${5/60}s;<2s;>=0s,if ${core.autoTriggerCooldownTime_allowDangerousHighCPU} == true)</td><td>60</td><td></td></tr>
<tr><td>[core]</td><td>autoTriggerCooldownTime_allowDangerousHighCPU</td><td>"bool"</td><td>false</td><td></td></tr>
<tr><td>[core]</td><td>autoTriggerCheckRate</td><td>everyFrame/every4Frames/every8Frames</td><td>everyFrame</td><td></td></tr>
</table>
 
=== 注释 ===
573

个编辑