
#参考自RT1_JMJS(极悦韵衡)(迷帆A组-RT1制作组)的1.14-地图代码文本版、KEND(迷帆B组-ECM制作组(ECM_MAP_TEAM))的触发参考批注
——————触发代码相关说明(第一部分)——————
●名称
○类型
◆属性名称
◇属性值
→介绍
——————属性附加代码相关说明(第二部分)——————
◆属性名称
◇属性值
■介绍
□特殊说明
——————额外说明——————
Infinity与NaN可以作为folat的值进行填写,其中-Infinity可以看作负无穷,Infinity与-NaN和NaN可以看作正无穷。
*注意大小写。
★★★★第一部分★★★★
————特殊触发(无法使用通用触发代码)————
┏●map_info
┃○
┞┄┄┄┄┄┄┄┄
├◆type
│→地图的类型
│◇survival
│→生存。这将会触发刷新波的机制,并且会在你初始指挥中心被摧毁后判定你为失败,单人模式下将会触发队友视野不共享的机制。当你设置为此类型时必须同时设置winCondition和attack_point。
│◇challenge
│→挑战。单人模式下将会触发队友视野不共享的机制。当你设置为此类型时必须同时设置winCondition。
│◇mission
│→任务。单人模式下将会触发队友视野不共享的机制。当你设置为此类型时必须同时设置winCondition。
│◇skirmish
│→遭遇战。最基础的类型,可以视作最简洁的地图触发启动模式,在为此属性的时候shareFogWithAllies等代码不会生效,同时无需设置winCondition等代码。
│注:你可能注意到了challenge与mission在表现上毫无区别,这是正常的。据LUKE所说,大多数情况下,它只是默认值和标记地图的一种方式,但是以后可能会用它做更多的事情。
├┄┄┄┄┄┄┄┄
├◆fog
│→雾的类型
│◇map
│→基础雾
│◇los
│→重雾
│◇none
│→无雾
│注:此设置会被房间里的游戏设置覆盖
├┄┄┄┄┄┄┄┄
├◆introText
│→在开局弹出的消息,可使用\n换行。
│◇[填写文本]
│注:需要设置在type后,否则会报错,但正常触发
├┄┄┄┄┄┄┄┄
├◆winCondition/loseCondition
│→胜利/失败条件。
│◇mainBuildings
│→所有可以生产的建筑物都被摧毁(可写作mainBuilings,别问为什么,问就是Luke溜大了写的代码)。
│◇allUnitsAndBuildings
│→所有的单位和建筑物都被摧毁。
│◇allBuildings
│→所有的建筑物都被摧毁。
│◇commandCenter
│→所有的指挥中心都被摧毁。
│◇requiredObjectives
│→所有的objective都被触发。
│◇none
│→不会胜利。
│注:loseCondition这条代码在1.15P版本被删除
├┄┄┄┄┄┄┄┄
├◆shareFogWithAllies
│→与队友共享雾,主要用途在当地图的type为mission、challenge、survival时允许队友间共享视野。
│◇[填写布尔值,true或false]
│注:此代码在map_info中优先级最高,但是目前在遭遇战模式和多人游戏中无效
├┄┄┄┄┄┄┄┄
├◆survivalWavesClassic
│→在生存模式下恢复成1.14之前的老式刷兵机制。
│◇[填写布尔值,true或false]
├┄┄┄┄┄┄┄┄
├◆startWithMusic
│→开局播放的音乐。
│◇[填写你的音乐文件名]
│例:
│startWithMusic:My music
│注:我把例子写在⊙startWithMusic Example⊙.rwmod里了,可以自行查看。
├┄┄┄┄┄┄┄┄
├◆survivalWaves
│→自定义生存波。
│◇[填写时间] [填写文本] - [填写整数] [填写单位名]
│例:
│
│+1:00 第一波 - 3 builder
│+1:50 第二波 - 3 builder, 5 fireBee
│
#│※暂时没用的代码。
#│[win]
#│→视为本局结束
#│[paused]
#│→暂停游戏
#│[noTimer]
#│→没有计时器
#│[lockSpawn]
#│→锁定生成器
#│[unlockSpawn]
#│→解锁生成器
#│例:
#│+0:01 [win]
┗┅┅┅┅┅┅┅┅
┏●
┃○team_info
┞┄┄┄┄┄┄┄┄
├◆credits
│◇[填写整数]
│→开始时该队伍所拥有的资金。
│注:此代码会被房间设置覆盖。
├┄┄┄┄┄┄┄┄
├◆team
│◇[填写整数]
│→所指定的队伍。
├┄┄┄┄┄┄┄┄
├◆disabledAI
│◇[填写布尔值,true或false]
│→AI是否无法控制这个队伍的单位。
│注:此代码优先级最高,但是在多人游戏中无效。
├┄┄┄┄┄┄┄┄
├◆lockAiDifficulty
│◇[填写整数]
│→锁定该队的AI难度。
│注:⇂关于数值对应AI难度显示的说明
│-2⇔Very Easy
│-1⇔Easy
│0⇔Medium
│1⇔Hard
│2⇔Very Hard
│3⇔Impossible
│其它整数(诸如4,-3)⇔Unknown
│注:数值大小会影响AI的经济增长,增长最小为经济每次加1。
├┄┄┄┄┄┄┄┄
├◆allyGroup
│◇[填写整数]
│→指定这个队伍所属的阵营。
│注:此代码会被房间设置覆盖。
├┄┄┄┄┄┄┄┄
├◆ai
│◇survival
│→可以让AI更主动地送兵
│注:建造者什么的也会被拿去送,而且对面没有对应的能攻击的单位的话不会移动这个单位。(也就是说当你没有空中单位的时候对方的拦截机并不会过来)
├┄┄┄┄┄┄┄┄
├◆basicAI
│◇
│→让AI不建造建筑物,但是会保持出兵。
│注:此代码在多人游戏中无效。
┗┅┅┅┅┅┅┅┅
┏●
┃○rotate
┞┄┄┄┄┄┄┄┄
├◆dir
│◇[填写浮点数]
│→单位旋转角度。
┗┅┅┅┅┅┅┅┅
┏●
┃○fall
┃→在开局时在该处生成的单位从天上降落。
┃注:对一些dex单位无效。
┗┅┅┅┅┅┅┅┅
┏●[填写文本]
┃○point
┃→结合move中的target使用。
┗┅┅┅┅┅┅┅┅
┏●camera_start
┃○
┃→开局视角所在地。
┞┄┄┄┄┄┄┄┄
├◆zoomTo
│◇[填写大于等于1的整数]
│→zoomTo可以选填,其用来缩放开局的视野。
┗┅┅┅┅┅┅┅┅
┏●
┃○camera_pan
┞┄┄┄┄┄┄┄┄
├◆index
│◇[填写大于等于0的整数]
│注:此代码只在menu_background中有效,也就是你刚进入游戏的背景地图。
┗┅┅┅┅┅┅┅┅
┏●
┃○ai_allow_full_use
┃→让AI更主动地使用这里的单位(类似于ai:survival这种效果)
┃注:此代码在多人游戏中无效。
┗┅┅┅┅┅┅┅┅
#┏●
#┃○disable_unit_ai
#┃→将会禁用AI对这个区域内的控制。
#┃注:目前失效,但是Luke说过会修。
#┗┅┅┅┅┅┅┅┅
┏●attack_point
┃○
┃→生存模式下的出兵点。
┗┅┅┅┅┅┅┅┅
┏●
┃○set_team
┞┄┄┄┄┄┄┄┄
├◆team
│◇[填写整数]
│→设置这个区域里的单位所属队伍。
┗┅┅┅┅┅┅┅┅
————一般触发(可以使用通用触发代码)————
注:下面触发独有的代码将会单独列出,与通用代码分开。
┏●
┃○move
┞┄┄┄┄┄┄┄┄
├◆target
│◇[填写文本]
│→对应目标point的名称。
├┄┄┄┄┄┄┄┄
├◆unload
│◇
│→如果是一个载具的话,当移动到目标点后将会卸载载具中的单位。
┗┅┅┅┅┅┅┅┅
┏●
┃○unitRemove
┃→移除这个区域内的指定队伍的单位。
┞┄┄┄┄┄┄┄┄
├◆onlyIfEmpty
│◇[填写布尔值,true或false]
│→只移除未搭载单位的单位。
│注:可能是bug导致的,又或者是1.16的更新动向。
┗┅┅┅┅┅┅┅┅
┏●
┃○unitDetect
┞┄┄┄┄┄┄┄┄
├◆onlyOnResourcePool
│◇[填写布尔值,true或false]
│→检测在资源坑上的建筑。
│注:例如矿坑上的资源抽取器。
├┄┄┄┄┄┄┄┄
├◆onlyMainBuildings
│◇[填写布尔值,true或false]
│→检测可生产单位的建筑物。
│注:例如陆军工厂。
├┄┄┄┄┄┄┄┄
├◆onlyBuildings
│◇[填写布尔值,true或false]
│→检测建筑物。
│注:例如陆军工厂。
├┄┄┄┄┄┄┄┄
├◆onlyBuilders
│◇[填写布尔值,true或false]
│→检测ini中拥有isBuilder:true的单位。
├┄┄┄┄┄┄┄┄
├◆onlyIdle
│◇[填写布尔值,true或false]
│→检测闲置中的单位。
│注:未被下达指令的的单位。
├┄┄┄┄┄┄┄┄
├◆onlyEmptyQueue
│◇[填写布尔值,true或false]
│→检测排列队列是空的的单位。
│注:例如当前一个单位建设/升级排列是闲置的。
├┄┄┄┄┄┄┄┄
├◆onlyIfEmpty
│◇[填写布尔值,true或false]
│→检测除了搭载了单位的单位之外的单位。
├┄┄┄┄┄┄┄┄
├◆onlyTechLevel
│◇[填写整数]
│→检测科技等级符合的单位。
├┄┄┄┄┄┄┄┄
├◆onlyAttack
│◇[填写布尔值,true或false]
│→检测有攻击性的单位。
│注:例如炮塔。
├┄┄┄┄┄┄┄┄
├◆onlyAttackAir
│◇[填写布尔值,true或false]
│→检测只攻击空中的单位。
│注:例如防空炮塔。
├┄┄┄┄┄┄┄┄
├◆onlyWithTag
│◇[填写单位tags后的文本]
│→检测具有特定标签的单位。
├┄┄┄┄┄┄┄┄
├◆includeIncomplete
│◇[填写布尔值,true或false]
│→检测范围扩大至未被完全建造的单位。
├┄┄┄┄┄┄┄┄
├◆unitType
│◇[填写单位名]
│→检测一个特定名称的单位。
│注:同一个触发内设置多个时只会读取并执行一个。
├┄┄┄┄┄┄┄┄
├◆minUnits
│◇[填写整数]
│→该宾语触发所满足的最小单位,如果达到则触发。
│例:你设置为minUnits:3,则这个区域内的单位≥3时宾语就会被触发。
│注:在逻辑合理的前提下,可以和maxUnits同时使用。
├┄┄┄┄┄┄┄┄
├◆maxUnits
│◇[填写整数]
│→该宾语触发所满足的最大单位,如果达到则触发。
│例:你设置为maxUnits:3,则这个区域内的单位≤3时宾语就会被触发。
│注:在逻辑合理的前提下,可以和minUnits同时使用。
┗┅┅┅┅┅┅┅┅
┏●
┃○unitAdd
┞┄┄┄┄┄┄┄┄
├◆spawnUnits
│◇[填写单位名]
│→生成单位。
│例:
│spawnUnits:tank*2,builder*1
┗┅┅┅┅┅┅┅┅
┏●
┃○teamTagDetect
┞┄┄┄┄┄┄┄┄
├◆teamTag
│◇[填写队伍标签名]
│注:我把例子写在⊙Map Examples⊙.rwmod里了,可以自行查看。
┗┅┅┅┅┅┅┅┅
┏●
┃○teamTags
┞┄┄┄┄┄┄┄┄
├◆addTeamTags
│◇[填写队伍标签名]
│注:我把例子写在⊙Map Examples⊙.rwmod里了,可以自行查看。
├┄┄┄┄┄┄┄┄
├◆removeTeamTags
│◇[填写队伍标签名]
│注:我把例子写在⊙Map Examples⊙.rwmod里了,可以自行查看。
┗┅┅┅┅┅┅┅┅
┏●
┃○basic
┃→自身没有任何功能,但是可以用来做链接激活的占位符。
┗┅┅┅┅┅┅┅┅
┏●
┃○info
┃→自身不会被游戏读取,可以在Triggers层作注释。
┗┅┅┅┅┅┅┅┅
┏●
┃○objective
┃→自身没有作用,可以用来作为winCondition为requiredObjectives时的胜利条件。
┗┅┅┅┅┅┅┅┅
┏●
┃○mapText
┞┄┄┄┄┄┄┄┄
│◆text
│◇[填写文本]
├┄┄┄┄┄┄┄┄
├◆text_[国家语言代码]
│◇[填写文本]
│例:text_zh
│→设置针对不同语言显示的文本。
├┄┄┄┄┄┄┄┄
├◆style
│◇arrow
│→在这个地点做一个向下指的标记,类似text。
├┄┄┄┄┄┄┄┄
├◆textColor
│◇green/red/blue/yellow/cyan/white/black/purple/[#00000000~FFFFFFFF]
│例:textColor:#5CA362CC
│注:前两位是透明度,默认为不透明。
├┄┄┄┄┄┄┄┄
├◆textOffsetX
│◇[填写浮点数]
│→文本横向偏移量。
├┄┄┄┄┄┄┄┄
├◆textOffsetY
│◇[填写浮点数]
│→文本纵向偏移量。
├┄┄┄┄┄┄┄┄
├◆textSize
│◇[填写整数]
│→文本大小,数字越大字符越大,默认为20左右。
┗┅┅┅┅┅┅┅┅
┏●
┃○changeCredits
┞┄┄┄┄┄┄┄┄
├◆add
│◇[填写整数]
│→添加资金,可为负数。
├┄┄┄┄┄┄┄┄
├◆set
│◇[填写整数]
│→将资金在这个时刻设置在一定数量。
┗┅┅┅┅┅┅┅┅
┏●
┃○moveCamera
┃→将视野强制移动到指定位置。
┗┅┅┅┅┅┅┅┅
————通用触发代码————
◆team
◇-2/none/-1/0/1/2/3/4/5/6/7/8/9
→※通常情况下必须填写,否则游戏会闪退。
注:建议用-1代替none,这两个是一个东西,但是none适配性拉垮,可能报错。
◆debugMessage
◇[填写文本]
→当在沙盒模式中开启debug模式后触发,该代码将会显示你所设置的信息。
◆globalMessage
◇[填写文本]
→全局消息。
◆globalMessage_[填写国家语言代码]
◇[填写文本]
例:
globalMessage_zh
→设置针对不同语言显示的全局消息。
◆globalMessage_delayPerChar
◇slow/[填写整数]
→全局消息弹出速度。
◆globalMessage_textColor
◇green/red/blue/yellow/cyan/white/black/purple/[#00000000~FFFFFFFF]
→全局消息的颜色。
例:
globalMessage_textColor:#5CA362CC
注:前两位是透明度,不写就是默认不透明。
◆id
◇[填写文本]
→可被用来检测。
注:不建议名称与id重复,可能会出问题。
◆warmup
◇[填写整数或文本]
→当这个宾语符合被触发的条件时,所呈现的效果将会根据你所设定的时间被延迟,延迟数值耗尽时这条宾语的各项代码才会被激活。如果触发来源在这段时间里失效,将不会触发这个宾语,当触发来源再次生效时将会重新计数。
注:3000为3s,也可以直接写成3s。在没有激活源的情况下,warmup和delay没有太大差别。
◆delay
◇[填写整数或文本]
→开局或重置后触发这个宾语的时间。
注:3000为3s,也可以直接写成3s。
◆activatedBy
◇[填写名称或id]
→将会检测所连接宾语的名称或id,如果连接来源其中一个处于激活状态就会被触发。可以设置多个连接。
例:
activatedBy:1,2
◆allToActivate
◇[填写布尔值,true或false]
→必须这个宾语连接的触发条件全被激活才会被触发。
例:
unitAdd:
activatedBy:1,2
allToActivate:true
team:0
spawnUnits:tank
unitDetect:
unitType:builder
id:1
team:0
basic:
delay:50000
id:2
◆repeatDelay
◇[填写整数]
→重复延迟。当这个宾语被触发之后,再次执行效果的时间。(会被deactivatedBy终止。)
◆deactivatedBy
◇[填写名称或id]
→宾语「0号」本身带有这个代码时,将会检测所连接宾语「1号」的名称或id,如果「1号」是激活状态,「0号」则会被禁止触发。可以设置多个连接。
◆alsoActivate
◇[填写名称或id]
→在这个宾语被触发之后将会触发这个宾语所连接的宾语。
例:
alsoActivate:3,4
◆resetActivationAfter
◇[填写整数]
→重置这个宾语的时间间隔。重置后,所有已经被触发的属性将会被清除并等待下一次触发。
注:若一个宾语同时设置resetActivationAfter和repeatDelay时,游戏只会读取数值最短的一项作重复触发效果。数值一样时,游戏取resetActivationAfter作效果,所以resetActivationAfter相对于repeatDelay优先级更高,当一个宾语无外在激活源时,resetActivationAfter和repeatDelay没有较大差别。
注:resetActivationAfter可以理解为多久时间重新检查这个宾语的触发属性或条件,如果满足则再次触发这个宾语,repeatDelay可以理解为当这个宾语被触发时多久时间再触发一次(两者可以想象为电路)。
◆activateIds
◇[填写名称或id]
→同alsoActivate。
◆whenActivatedIds
◇[填写名称或id]
→同activatedBy。
◆showOnMap
◇[填写布尔值,true或false]
→当宾语被激活后在小地图上产生蓝色的标记提示。
◆comment
◇[填写文本]
→不会被读取,充当注释作用。
★★★★第二部分★★★★
——————属性附加代码相关说明——————
例:
spawnUnits:ladybug(spawnChance=0)
注:此附加属性在customSurvival中对由游戏自动刷新的敌方单位无法使用。
●neutralTeam
○=[填写布尔值,true或false]
■生成中立队伍。
●aggressiveTeam
○=[填写布尔值,true或false]
■生成全局敌对队伍。
●spawnChance
○=[填写0到1之间的浮点数]
■单位生成概率。
●maxSpawnLimit
○=[填写整数]
■与spawnChance搭配使用,作为单位的最大生成数量。
例:builder(spawnChance=0.5,maxSpawnLimit=1),tank(spawnChance=1,maxSpawnLimit=1)
效果为builder有0.5的概率生成,如果builder成功生成:因为tank被maxSpawnLimit=1限制,且此时已经成功生成了一个单位,所以即使tank的生成概率为1也不会进行生成,最终结果为场上只有一个builder。如果builder生成失败:则开始计算tank的生成概率,以此类推。
●techLevel
○=[填写整数]
■单位的科技等级,如果数值超出该单位的最大等级则会生成等级为一的单位。(值得注意的是,此处为该单位的科技等级。举个例子:此代码对mechFactory无效,因为它升级之后的name为mectFactoryT2,是另一个单位。)
□特殊应用:在damagingBorder和zoneMarker中代表的是圈的范围大小。(一个科技等级为五格)
●gridAlign
○=[填写布尔值,true或false]
■网格对齐
注:此处的对齐指的是你不往地图上面正常的x,y上生成单位,比如说x:11.4,y:5.14这样,一般来说这个建筑会歪的鬼畜,但是用了这个代码之后就会对齐碰撞箱了。
●skipIfOverlapping
○=[填写布尔值,true或false]
■如果单位不属于这个地形则跳过生成,比如说seaFactory不能放在陆地或岩浆上。
●falling
○=[填写布尔值,true或false]
■有单位从空中掉下来的效果,对大多数单位都会生效,极少部分dex单位此代码无效。有时候单位/建筑物的arm将错位到地下。
●offsetX
○=[填写浮点数]
■单位生成地点偏移度。(横轴)
●offsetY
○=[填写浮点数]
■单位生成地点偏移度。(纵轴)
●offsetRandomXY
○=[填写浮点数]
■单位生成地点随机偏移度。(横纵轴瞎球偏)
注:目前铁锈战争沙盒模式的随机系统有严重问题,建议在普通模式下测试代码效果。
●offsetRandomX
○=[填写浮点数]
■单位生成地点随机偏移度。(横轴偏移)
注:目前铁锈战争沙盒模式的随机系统有严重问题,建议在普通模式下测试代码效果。
●offsetRandomY
○=[填写浮点数]
■单位生成地点随机偏移度。(纵轴偏移)
注:目前铁锈战争沙盒模式的随机系统有严重问题,建议在普通模式下测试代码效果。
●offsetHeight
○=[填写浮点数]
■单位生成高度,对部分dex单位无效果。
●offsetRandomDir
○=[填写浮点数]
■单位生成方向范围随机度。
●offsetDir
○=[填写浮点数]
■单位生成方向。