[core]组
第一类-通用代码组
TIP
以下的代码为通用代码
,多半是必要的代码,如果不包括这些,可能在绝大多数情况下导致错误
。
name
name-代码简介
代码:name 中文释义:名字 类型:字符型 隶属于:通用代码组
name-要点指示
定义单位原始名称,可以是中文。
游戏使用它区分其它单位。
如果没有在[displayText或者语言文件设置显示名称],
那么它也将作为单位的显示名称。
具体描述文件位置(内部):
1.assets/translationsStrings_zh.properties
格式:units.单位名称.name=写单位显示的名称
units.单位名称.description= [[填单位显示的描述]]
ini文件的单独定义(外部-推荐):
2.displayText: -单位的标题
displayDescription: -单位的描述
特别提醒:displayText支持本地化
,例如如果要写一个多语言的单位描述
,可以通过以下例子:
name-演示例子
[core]
name: Ling
displayText: English Title Text
displayText_zh:中文标题
displayDescription: -English Description
displayDescription_zh:-中文描述
price
price-代码简介
代码:price 中文释义:价格 类型:整数 隶属于:通用代码组
price-要点指示
定义单位的价格,显示在单位信息中,建造时也以此价格为准。
默认情况下,price只需要填写一个整数,此时使用的是游戏内自带的资金credit;
想要更改资源类型,可以使用:
`price:资源1=数值1,资源2=数值2,资源3=数值3,……` 的格式
(前提是此资源要在使用的单位进行定义)。
price-演示例子
[core]
price:120,石油=80,铁=60
radius
radius-代码简介
代码:radius 中文释义:半径 类型:整数 隶属于:通用代码组
radius-要点指示
半径定义单位的实际碰撞体积和显示范围
,在未设置选择框大小
时,半径决定是单位选择框的大小。 半径的单位是像素(px)。
radius-演示例子
[core]
radius:20
mass
mass-代码简介
代码:mass 中文释义:质量 类型:整数 隶属于:通用代码组
mass-要点指示
质量决定单位在各种碰撞时的效果。质量越大,其他单位越难推动
。
mass-演示例子
[core]
mass:2000
maxHp
maxHp-代码简介
代码:maxHp 中文释义:最大生命值 类型:整数 隶属于:通用代码组
maxHp-要点指示
最大生命值定义单位在不修改它时最多能够有多少血量,
单位默认生成时即是这个血量。
maxHp可以通过单位参考.maxHp()来获取,
也可以通过[action]进行修改。
maxHp-演示例子
[core]
maxHp:600
altNames
altNames-代码简介
代码:altNames 中文释义:别名/曾用名 类型:字符型 隶属于:通用代码组
altNames-要点指示
altNames代码要点指示:
JDSALing的小提示
主要在进行优先级定义
以逗号分隔的名称列表。像,对于有用。
altNames-演示例子
[core]
altNames:ling,tobby3600,coldmint
class
class-代码简介
代码:class 中文释义:类 类型:字符型 隶属于:通用代码组
无实际用处,可以删除。
Luke:保留供将来使用,默认情况下必须为CustomUnitMetadata
。由于该代码无实际用途,可以忽略该代码
该代码后面什么都可以输,但没有实际用途。或许在未来会有用。
class-演示例子
[core]
class:CustomUnitMetadata
strictLevel
strictLevel-代码简介
代码:strictLevel 中文释义:严格级别 类型:数字固定型 隶属于:通用代码组
TIP
建议添加到"all-units.template"以应用于所有单位,进行统一查错。
默认值为0,忽略代码重复。设为1时如果当前单位内有重复代码,则报错。
strictLevel-演示例子
[core]
strictLevel:1
techLevel
techLevel-代码简介
代码:techLevel 中文释义:科技等级 类型:数字固定型 隶属于:通用代码组
TIP
早期是用于在的代码,并结合科技等级使用。如果工厂的等级低于单位的目标科技等级,则会在工厂里面隐藏该单位。
自铁锈1.09后出现后,该方法则不建议使用。有关于新策略,请参考代码文档指南。
设置单位的科技等级,共有3个级别,1级GUI显示为绿色,2、3级显示为黄色。超过3报错。
techLevel-演示例子
[core]
techLevel:2
buildSpeed
buildSpeed-代码简介
代码:buildSpeed 中文释义:建造速度 类型:浮点/秒型 隶属于:通用代码组
TIP
建造此单位需要的时间,填秒。
以前的计算方式为:此处所填时间=1÷(60x你需要的秒)如果定义了工厂速率则需要乘以建造乘数。
buildSpeed-演示例子
[core]
buildSpeed:30s
#或者:
## 下方可能有误差
buildSpeed:0.0006
isBio
isBio-代码简介
代码:isBio 中文释义:是生物 类型:布尔型 隶属于:通用代码组
TIP
若设置成true,则会在单位死亡时产生血迹,
图像在时可以隐藏非生物则为黑色爆炸效果。
isBio-演示例子
[core]
isBio:true
isBug
isBug-代码简介
代码:isBug 中文释义:是虫子 类型:布尔型 隶属于:通用代码组
TIP
若设置成true,则会认定为虫子,用于沙盒中的单独分类。
isBug-演示例子
[core]
isBug:true
isBuilder
isBuilder-代码简介
代码:isBuilder 中文释义:是建造者 类型:布尔型 隶属于:通用代码组
TIP
若设置成true,则会需要此单位建造建筑物,则通常需要此代码。 并且默认设为[ai] useAsBuilder。
isBuilder-演示例子
[core]
isBuilder:true
streamingCost
streamingCost-代码简介
代码:streamingCost 中文释义:流式资金 类型:整数型 隶属于:通用代码组
TIP
和价格一样,但在建造时逐渐消耗资金,如果在构建过程中资源耗尽,
建造或生产队列将暂停。就像是红警中那样。铁锈默认是预先扣除资金。
若使用该代码,则玩家的每秒资金将会根据流式资金的算法进行扣减。
streamingCost-演示例子
[core]
streamingCost:1145
switchPriceWithStreamingCost
switchPriceWithStreamingCost-代码简介
代码:switchPriceWithStreamingCost(S.P.S.C.)
中文释义:流式资金模式全局切换 类型:布尔型 隶属于:通用代码组
TIP
快捷设置为默认资金消耗方式或为流式建造方式。 建议使用模板快速将一个模组为所有单位切换流资源。 例如all-units.template.
switchPriceWithStreamingCost-演示例子
[core]
switchPriceWithStreamingCost:true
第二类-单位统计代码组
TIP
非必须存在的代码,请根据情况自行使用
selfRegenRate
selfRegenRate-代码简介
代码:selfRegenRate 中文释义:生命恢复速度 类型:浮点型 隶属于:单位统计代码组
TIP
此数值决定每帧增加血量。游戏内默认速度下,一秒为60逻辑帧,而你看到的FPS帧数为渲染帧,所以电脑上几百帧和手机上60帧和省电模式下30帧并不影响计算。所以不要写太大。可以写负值用于自毁。
selfRegenRate-演示例子
[core]
maxHp:500
selfRegenRate:0.5
maxShield
maxShield-代码简介
代码:maxShield 中文释义:护盾值 类型:整型 隶属于:单位统计代码组
TIP
单位最大护盾值,默认生成时即为此值。如果设置了startShieldAtZero:true,则初始为0.
maxShield-演示例子
[core]
maxShield:3000
startShieldAtZero
startShieldAtZero-代码简介
代码:startShieldAtZero 中文释义:护盾初始值为0 类型:布尔型 隶属于:单位统计代码组
TIP
如果为true,则单位护盾值从0开始增加。
startShieldAtZero-演示例子
[core]
maxShield:3000
startShieldAtZero:true
shieldRegen
shieldRegen-代码简介
代码:shieldRegen 中文释义:护盾恢复速度 类型:浮点型 隶属于:单位统计代码组
TIP
此数值决定每帧增加护盾值,游戏内一秒为60帧,所以不要写太大。可以写负值。
shieldRegen-演示例子
[core]
maxShield:3000
shieldRegen:0.5
energyMax
energyMax-代码简介
代码:energyMax 中文释义:能量值 类型:浮点型 隶属于:单位统计代码组
TIP
默认值为0。可以用作炮塔,激光防御和行动的弹药的能量。
energyMax-演示例子
[core]
energyMax:5
energyRegen
energyRegen-代码简介
代码:energyRegen 中文释义:能量恢复速度 类型:浮点型 隶属于:单位统计代码组
TIP
能量每帧恢复速度,游戏内一秒为60帧,所以不要写太大。可以写负值。
energyRegen-演示例子
[core]
energyRegen:0.4
energyRegenWhenRecharging
energyRegenWhenRecharging-代码简介
代码:energyRegenWhenRecharging 中文释义:充能时能量恢复速度 类型:浮点型 隶属于:单位统计代码组
TIP
能量恢复是持续的,如果你设置了, 那么攻击时按energyRegen恢复,耗尽时的灰条按此处设定值恢复。
energyRegenWhenRecharging-演示例子
[core]
energyMax:1
energyRegenWhenRecharging:0.4
energyNeedsToRechargeToFull
energyNeedsToRechargeToFull-代码简介
代码:energyNeedsToRechargeToFull 中文释义:能量需要充满 类型:布尔型 隶属于:单位统计代码组
TIP
如果能量耗尽,则需要完全充能才能进行攻击。
energyNeedsToRechargeToFull-演示例子
[core]
energyMax:4
energyNeedsToRechargeToFull:true
armour
armour-代码简介
代码:armour 中文释义:装甲 类型:整型 隶属于:单位统计代码组
TIP
抵消敌方攻击所造成的伤害。
armour-演示例子
[core]
armour:40
#如果受到40以上的常规攻击,则进行抵消,反之返回1伤害点。
#例如45伤害,40护甲,那么将获得5点伤害。
armourMinDamageToKeep
armourMinDamageToKeep-代码简介
代码:armourMinDamageToKeep 中文释义:装甲最低伤害 类型:整型 隶属于:单位统计代码组
TIP
至少造成多少点伤害,默认为1.防止护甲太高完全打不动。
armourMinDamageToKeep-演示例子
[core]
armour:40
armourMinDamageToKeep:2
#如果受到40以下的常规攻击,则进行最低伤害判定
borrowResourcesWhileAlive
borrowResourcesWhileAlive-代码简介
代码:armour 中文释义:资源活着时借用 类型:Price型 隶属于:单位统计代码组
TIP
创建时获取这些资源,删除或销毁时将其返回。 例如用于电力逻辑,负数供电和正数耗电。
borrowResourcesWhileAlive-演示例子
[core]
borrowResourcesWhileAlive:5000
#单位活着的时候给予5000金币,死亡扣除5000金币
#一个小型贷款系统,
如果这里要通过这个代码做一个小的贷款系统,
并经过一段时间让单位死亡。
只需要4行代码即可实现,试试看。
提示:dieOnZeroEnergy:true
(无能量时死亡|如果能量值为零,该单位死亡)
#参考答案为:
[core]
borrowResourcesWhileAlive:5000
energyMax:1
energyRegen:-0.4
dieOnZeroEnergy:true
#原理是通过能量为0单位死亡并通过这个代码还钱,
是很简陋的贷款思路,当然,在后续会有更加高级的思路。
generation_resources
generation_resources-代码简介
代码:generation_resources 中文释义:资源获取 类型:Price型 隶属于:单位统计代码组
TIP
单位定时获得的资源,可自定义资源。
generation_resources-演示例子
[core]
generation_resources:10
#or
generation_resources:credits=10
#常规产出10credits/1s游戏资金
-----------我是分界线----------
#自定义资源写法
[core]
generation_resources:金属=5
generation_active
generation_active-代码简介
代码:generation_active 中文释义:资源获取条件 类型:逻辑布尔型 隶属于:单位统计代码组
TIP
获取资源条件。可用于受损时无法产出。
generation_active-演示例子
[core]
#1.14写法
generation_resources:金属=5
generation_active: if not self.hp(lessThan=100)
#1.15写法
[core]
generation_resources:金属=5
generation_active: if not self.hp<100
#效果:单位低于1000血量可以产出资源
generation_credits
generation_credits-代码简介
代码:generation_credits 中文释义:资金获取 类型:整型 隶属于:单位统计代码组
TIP
生成资源,仅用于默认的资金,也就是铁锈默认的金钱。
generation_credits-演示例子
[core]
generation_credits=5
generation_delay
DANGER
此代码为老旧代码,作者Luke不推荐使用。
WARNING
警告:请勿使用40以外的数值,否则会有视觉Bug。 例如使用30,资金生成3,实际就为6,但是一旦这类单位多了,游戏的资金显示会出问题。
generation_delay-代码简介
代码:generation_delay 中文释义:资金获取时间 类型:整型 隶属于:单位统计代码组
TIP
多久帧添加添加一次资源(generation_credits指定数值)。 默认值为40,一秒为60帧。
generation_delay-演示例子
[core]
generation_delay=40
第三类-UI和图形代码
showInEditor
showInEditor-代码简介
代码:showInEditor 中文释义:沙盒中可见 类型:布尔型 隶属于:UI和图形代码组
TIP
设置为false可在沙盒编辑器中隐藏单位。(默认为true)
showInEditor-演示例子
[core]
showInEditor:false
displayText_LANG
displayText_{LANG}-代码简介
代码:displayText_{LANG} 中文释义:界面显示文本多语言 类型:字符型 隶属于:UI和图形代码组
TIP
为单位名称添加多语言支持。此方法并不方便,不如设置游戏内部语言文件,建议催Luke改。有关常见语言代码,请参考下表
语言代码 | 所属国家/地区 | 语言代码 | 所属国家/地区 |
---|---|---|---|
zh | (中文通用) | en(可忽略) | (英语通用) |
zh-cn | (简体) | ru | (俄语) |
zh-tw | (台湾) | ja | (日语) |
zh-hk | 中文(香港) | es-ES | (西班牙) |
de | (德语) | fr-FR | 法语(法国) |
WARNING
其它自查(此列表并不全),不过你应该不会闲着支持这么多语言。另外英文的语言代码en
可以忽略,因为英文在软件里为默认语言,故而无需加en
,当然加了也没事。
如果你不想进行多语言化,你应该直接displayText:坦克
,而不是displayText_zh:坦克
,如果你写了displayText_zh:坦克
,
你必须再声明一个displayText:Tank
,否则,游戏会找不到默认语言缺省值
,将会导致mod报错而无法运行
。所有可以使用多语言的都有这个检查,还请各位Modder留意。(若有特别的代码,将会在它里面特别提示)
displayText_{LANG}-演示例子
[core]
#English
displayText:Tank
#Chinese
displayText_zh:坦克
displayDescription_LANG
displayDescription-代码简介
代码:displayDescription_{LANG} 中文释义:界面显示描述 类型:字符型 隶属于:UI和图形代码组
TIP
单位显示给玩家的单位描述,可以使用多语言,具体使用方法参考在displayText
的演示说明,这里不再过多讨论。
displayDescription-演示例子
[core]
displayText:坦克
displayDescription:只能对地,弱输出,只能在地上行走。
displayLocaleKey
displayLocaleKey-代码简介
代码:displayLocaleKey 中文释义:界面显示内部调用 类型:字符型 隶属于:UI和图形代码组
TIP
调用内部语言文件的单位名称和说明的翻译文件。用处不大,通常是在替换原版单位的同时直接调用它的原始描述
。该代码例子需要会拆包,如果你是初学者,该代码了解即可。
displayLocaleKey-演示例子
[core]
displayLocaleKey: units.mechArtillery
displayRadius
displayRadius-代码简介
代码:displayRadius 中文释义:单位选择时显示圆圈 类型:整形 隶属于:UI和图形代码组
TIP
修改选择单位时显示的绿色圆圈,不更改实际碰撞(radius)和可选择范围。
displayRadius-演示例子
[core]
displayRadius:25
uiTargetRadius
uiTargetRadius-代码简介
代码:uiTargetRadius 中文释义:为目标时半径 类型:整形 隶属于:UI和图形代码组
TIP
默认为显示半径值。攻击/回收/等单位时使用的半径
uiTargetRadius-演示例子
[core]
uiTargetRadius:25
shieldRenderRadius
shieldRenderRadius-代码简介
代码:shieldRenderRadius 中文释义:单位护盾显示半径 类型:整形 隶属于:UI和图形代码组
TIP
护盾绘制半径,默认值比半径大一点。 可以设置在单位上显示更大或更小的护盾圈。
shieldRenderRadius-演示例子
[core]
shieldRenderRadius:20
shieldDisplayOnlyDeflection
shieldDisplayOnlyDeflection-代码简介
代码:shieldDisplayOnlyDeflection 中文释义:护盾只在受攻击时显示 类型:布尔型 隶属于:UI和图形代码组
TIP
隐藏护盾,只在受到攻击时显示。
shieldDisplayOnlyDeflection-演示例子
[core]
shieldDisplayOnlyDeflection:true
shieldDeflectionDisplayRate
shieldDeflectionDisplayRate-代码简介
代码:shieldDeflectionDisplayRate 中文释义:护盾消失速度 类型:浮点型 隶属于:UI和图形代码组
TIP
默认值为4。数值越大消失越快。
shieldDeflectionDisplayRate-演示例子
[core]
shieldDeflectionDisplayRate:3
showOnMinimap
showOnMinimap-代码简介
代码:showOnMinimap 中文释义:显示在小地图上 类型:布尔型 隶属于:UI和图形代码组
TIP
默认为true。如果为false,则在小地图上不显示此单位。
showOnMinimap-演示例子
[core]
showOnMinimap:true
showOnMinimapToEnemies
showOnMinimapToEnemies-代码简介
代码:showOnMinimapToEnemies 中文释义:显示于敌人小地图 类型:布尔型 隶属于:UI和图形代码组
TIP
是否在敌人小地图上显示。
showOnMinimapToEnemies-演示例子
[core]
showOnMinimapToEnemies:true
showActionsWithMixedSelectionIfOtherUnitsHaveTag
showActionsWithMixedSelectionIfOtherUnitsHaveTag-代码简介
代码:showActionsWithMixedSelectionIfOtherUnitsHaveTag 中文释义:混合所选单位所显示的行为 类型:标签型 隶属于:UI和图形代码组
TIP
如果选择的单位都包含此处使用的标签,则合并“行为(action)”。比如你的步兵通过部署转化成另一个单位,在混合时可以当作同一个单位处理,不再是默认的谁都无法执行操作。例子如红警的盟军大兵在混合选中后依旧可执行部署或解除。
showActionsWithMixedSelectionIfOtherUnitsHaveTag-演示例子
[core]
showActionsWithMixedSelectionIfOtherUnitsHaveTag:tag_联系
第四类-构建代码
isBuilding
isBuilding-代码简介
代码:isBuilding 中文释义:是建筑 类型:布尔型 隶属于:构建代码组
TIP
定义单位是否为建筑物。为true时无论移动方式是什么都会强制为建筑。
isBuilding-演示例子
[core]
isBuilding:true
footprint
footprint-代码简介
代码:footprint 中文释义:建筑碰撞范围 类型:多整型 隶属于:构建代码组
TIP
填四个数值(左,上,右,下),单位是格子,建筑默认占一格,向左和向上需要填负数,填整数在选择时有偏移。 四个数值可以完全颠倒,这样不会阻碍单位移动。决定建筑单位碰撞体积,此区域内单位不能通过,如果在单位运动途中单位则会绕过。单位实际可选择面积使用的是radius。
footprint-演示例子
[core]
##(1x1)
footprint: 0,0,0,0
##(2X2)
footprint: 0,0,1,1
##(3X3)
footprint: -1,-1,1,1
constructionFootprint
constructionFootprint-代码简介
代码:constructionFootprint 中文释义:建筑覆盖范围 类型:多整型 隶属于:构建代码组
TIP
基础规则同上,这个区域内不能建造建筑,但是单位可以通过。
一般需要设定比上一个面积大。
好处是即使建造的密密麻麻,单位也有路可走。
constructionFootprint-演示例子
[core]
constructionFootprint: -1,-1,1,3
displayFootprint
displayFootprint-代码简介
代码:displayFootprint 中文释义:建筑选择UI 类型:多整型 隶属于:构建代码组
TIP
基础规则同上,用于选择单位时UI显示。不设定则默认为建筑覆盖区域。
displayFootprint-演示例子
[core]
displayFootprint: 0,0,1,1
buildingSelectionOffset
buildingSelectionOffset-代码简介
代码:buildingSelectionOffset 中文释义:建筑UI调整 类型:整型 隶属于:构建代码组
TIP
基础规则同上,用于选择单位时UI显示。不设定则默认为建筑覆盖区域。
buildingSelectionOffset-演示例子
[core]
buildingSelectionOffset: 4