跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
帮助
RustedWarfare Wiki
搜索
搜索
创建账号
登录
个人工具
创建账号
登录
查看“1.15”的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
链接
RustedWiki QQ群
←
1.15
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
1.15版本的更新主要以Mod特性为主,暂时没有添加新单位。 {| class="wikitable" |+1.15 ! colspan="2" |版本更新 |- |首次更新时间 |2021-07-15 10:27:34 |- |当前类型 |测试版 |- |预发行版本 |1.15p3 |} == 1.15p1 == 1.15p1是Rusted Warfare在1.15版本中的首次公开更新,仅支持PC版本 {{折叠|1.15p1更新日志|2=Rusted Warfare Beta - v1.15p1 • 在单人游戏遭遇战的高级选项和多人游戏中, 可以单独为某个玩家设置游戏选项, 例如: • 现在可以为每个AI玩家设置不同的难度等级。 • 不同的玩家可以有不同的初始单位, 可以用来选择模组中的派系。 • 可以为每个玩家分别覆盖不同的单位颜色。 • 为Android版添加"保存到内部存储"的选项, 让存档/模组/自定义地图功能可以在不授予存储权限的情况下正常运作。请注意, 在卸载时游戏时内部应用存储会被Android系统一并删除。 • 可以从模组设置界面中删除或导出模组。 • 可以从自定义地图界面导入新地图。 • 电脑版:添加实验性的-teamshaders命令开关。开启后将使用着色器为队伍颜色着色, 减少含大图片的模组的内存占用以及第一次应用着色时的卡顿。 • 添加类似于TA(横扫千军)、C&C(命令与征服)中的可编写模组的流式资源系统。 • [core]streamingCost • 类似于价格, 但该单位在建造队列中或正在建造时需要消耗资金。若在建造该单位时资源耗尽, 则建造过程或建造队列将暂停。 • [action]streamingCost • 类似于价格, 但该动作在队列中时需要消耗资金, 若在该动作在队列时资源耗尽, 排队将暂停。Flags可以用于暂停或解除触发器的暂停。类似于价格, 但在这个单位在建造队列或建造时支付费用。 如果在建造过程中资源耗尽, 建造或排队将暂停。标志可以用来暂停和解除触发器的暂停。 • [core]switchPriceWithStreamingCost:boolean/[action]switchPriceWithStreamingCost:boolean • 快捷方式, 将streamingCost设置为price的值并清除价格。 • 在all-units.template中增加[core]switchPriceWithStreamingCost, 以快速将mod切换到流式资源。 • 大幅修改动态逻辑布尔值, 新增动态数字、单位、字符串类型 • 与其使用"autoTrigger: if self.energy(greaterThan=100)", 不如用"autoTrigger: if self.energy > 100" • 逻辑布尔值与数字的数学运算: - + * / • 示例:"autoTrigger: if 2*self.energy + parent.energy-10 > 50" • 动态文本, 例如: [action]text: 队伍:%{ self.teamName } 还剩 %{ parent.resource('gold') } 颗黄金。 • 动态文本支持已经被添加到[action]text, [action]description, [action]setUnitMemory, [action]showMessageToPlayer, [action]showMessageToAllPlayers, [action]showMessageToAllEnemyPlayers, [action]showQuickWarLogToPlayer, [action]showQuickWarLogToAllPlayers, [action]debugMessagee中。 • 增加了对多行的支持, 可以在ini的任何key上使用3个引号来开始和结束。示例: copyFrom:""" ROOT:a.ini。 ROOT:b.ini, ROOT:c.ini """ • 添加 [attack]shootDelayMultiplier, 默认为1 • 添加 [action]setUnitStats, 允许动态地改变一些选定的字段而无需转换。 支持=/+=/-=,支持动态数字或逻辑. 可修改的字段有:maxHp, hp, maxShield, shield, shieldRegen, maxEnergy, energy, armour, mass, shootDelayMultiplier, moveSpeed, maxAttackRange.。示例: setUnitStats: maxHp+=self.energy+100, hp+=50, shieldRegen=0.5 • 添加 [action]resetUnitStats (布尔值) • 添加 [action]convertTo_keepCurrentFields - 转换时不要更改这些字段, 配合setUnitStats食用更佳 (允许的字段: maxHp, maxShield, shieldRegen, maxEnergy, armour, mass, shootDelayMultiplier, moveSpeed, maxAttackRange.) • 添加 [action]whenBuilding_temporarilyConvertTo_keepFields - 使用whenBuilding_temporarilyConvertTo或whenBuilding_temporarilyConvertFrom时请勿更改这些字段,配合setUnitStats食用更佳。 • 修复了whenBuilding_temporarilyConvertTo在单位类型之间闪烁的问题。 • 修复了沙盒模式中重载单位时临时标签被重置的问题。 • 修复了沙盒模式所有标签栏都会显示触发器调试的问题。 • 添加了[core]defineUnitMemory • 可为自定义存储给每个单位创建独一无二的变量。 • 示例1: [core]defineUnitMemory: boolean nukeActive, boolean laserReady, float experience, unit nextTarget, unit homeBase, string customText • 示例2: [action]setUnitMemory: """ customText=memory.customText+'hello', nukeActive=true。 experience=experience+attacking.hp, nextTarget=self.attacking.nearestUnit(withinRange=300, withTag='x', relation='enemy') """ • 新的逻辑布尔函数:readUnitMemory(name:string, type:string{boolean,unit,float,string}, [default]) • 示例:parent.readUnitMemory('nukeCountdown', type='float') .如果该单位的存储不存在该数据或保存的数据类型是错误的, 则使用默认值。 • 新增逻辑布尔函数:memory(name), 它是读取当前defineUnitMemory类型的单位的快捷方式。 • 修复同一张图片使用不同模式时teamColoringMode的问题。 • 新的资源快捷方式。示例:self.resource.credits和self.resource('credits') • 新增逻辑布尔/数字/单位/字符串函数 • self.maxHp() • self.teamId() - 返回当前单位的队伍id。在单位和一些标记物上可用。 //译者注:原文疑似有误,此处已纠正 • self.x() - 返回地图上的x坐标值。在单位和标记物上可用。 • self.y() - 返回地图上的y坐标值。在单位和标记物上可用。 • self.z() - 返回地图上的z坐标值。在单位和标记物上可用。 • self.dir() - 返回该单位的朝向。在单位和标记上可用。 • self.priceCredits() - 返回该单位的费用。 • distance(x1,y1,x2,y2) - 计算两点之间的距离。比distanceSquared慢。 • distanceSquared(x1,y1,x2,y2) - 更快地计算两点之间的距离, 但结果是平方。 //译者注:更适用于比较两点距离 • distanceBetween(unit1, unit2) - 示例: distanceBetween(self, activeWaypointTarget) < 100 • distanceBetweenSquared(unit1, unit2) - 比distanceBetween用起来快一点点... • int(x) - 移除一个数字的小数部分. 示例:int(4.2) == 4 • select(bool, textA, textB) - 若为true则返回文本A, 否则返回文本B。 • debug(logicBoolean) - 返回一个文本字符串, 帮助解释这个结果是怎么来的。可以看到嵌套逻辑、比较和运算符。 • str(x) - 将数字、单位或布尔值转换成字符串. 示例:str(self.energy)+'x'=='100x' • substring(text,start,end) - 示例:substring('hello',0,2) == 'he' • length(string) - 以数字形式返回文本长度。 • squareRoot(num) - 求一个数字的平方根。 • min(num, min2) - 返回最小数, 示例: damage = min(self.hp, self.energy) • max(num, min2) - 返回最大值, 示例: max(5, 10) == 10 • createMarker(x,y,[height],[teamId],[dir]) - 返回一个临时的单位标记。可以保存在自定义存储中或作为移动命令的参考, 等等。不影响游戏状态。如果不再被引用, 则自动删除。 • globalSearchForFirstUnit(withTag=x, relation) - 返回找到的第一个与筛选器匹配的单位。 • null/nullUnit - 一个空的/缺失的单位。在需要比较时很有用, 示例:self.customTarget2 != null • 新的逻辑布尔/单位参照体系 • 支持函数之间的链接, 示例: self.attachment(withTag='x').lastDamagedBy.getAsMarker() • self - 这是当前单位的现有参照(在以前的版本中是唯一选项)。示例:autoTrigger: if self.energy > 100 • attachment([slot], [withTag]) • attacking - 单位正在攻击的当前目标,不一定是当前的路径点目标。 • lastDamagedBy - 攻击此单位的最后一个单位 • parent - 父级 - 运输单位或附带单位的父级。 示例:autoTrigger: if parent.energy > 100 • activeWaypointTarget 当前动作的路径点目标。包括攻击、运输、修复等动作。 • customTarget1 - 自定义存储, 默认为建造此单位的单位。 • customTarget2 - 自定义存储, 默认为空。 • nearestUnit(withinRange=500, withTag='x', relation='any') - 按条件查找一个单位,该代码运行较慢,不建议在autoTrigger中使用 • getAsMarker() - 立即在单位的当前位置创建临时标记。标记创建速度快并在不被引用时自动移除. 它不会链接到任何单位,并且在单位死亡时仍然存在,在创建源移动时仍然保持不变。 • getOffsetAbsolute([x],[y],[height]) - 返回带有绝对偏移量的标记。 • getOffsetRelative([x],[y],[height],[dirOffset]) - 返回带有相对偏移量的标记。 • thisActionTarget - 在[action_NAME] / [hiddenAction_NAME]中使用,以获得动作的目标、位置、自动触发事件源等等。会根据动作触发源设置为单位、标记或空值。注意:当用于界面文本之类的字段时它将始终为空,因为该值只在动作事件上有效。如果你想让它显示在界面上,请将该值保存到自定义存储中。 • thisActionTarget - 示例:fireTurretXAtGround: mainGun (thisActionTarget==带地面位置的标记) • autoTriggerOnEvent: tookDamage (thisActionTarget==造成伤害的单位) • autoTriggerOnEvent: killedAnyUnit (thisActionTarget==被摧毁的单位) • autoTriggerOnEvent: transportingNewUnit (thisActionTarget==被运输的单位) • autoTriggerOnEvent: transportUnloadedOrRemovedUnit (thisActionTarget==被卸载的单位) • autoTriggerOnEvent: queuedUnitFinished (thisActionTarget==被建造的新单位) • autoTriggerOnEvent: touchTargetSuccess (thisActionTarget==碰到的目标) • alsoTriggerAction: x (thisActionTarget==与原动作相同) • [turret]onShoot_triggerActions: x (thisActionTarget==被击中的目标) • takeResources_triggerActionIfAnyCollected: x (thisActionTarget==带有资源的目标) • addWaypoint_triggerActionIfMatched: x (thisActionTarget == 移动动作的标记/攻击的目标等。注:如果只是想搜索,请使用addWaypoint_maxTime: 0) • 向所有单位添加了customTarget1/customTarget2。可用于存储对另一个单元的引用。CustomTarget1默认为建造该单位的可移动单位或建筑物。适用于航空母舰、步兵小队、传送器链接等([core]defineUnitMemory还可用于添加更多内容) • 添加了 [action]takeResources_excludeUnitsWithoutCustomTarget1EqualTo • 添加了 [action]takeResources_saveFirstUnitToCustomTarget1 • 添加了 [action]takeResources_saveFirstUnitToCustomTarget2 • 添加了 [action]setCustomTarget1 - 单位参照 • 添加了 [action]setCustomTarget2 - 单位参照 • 添加了 [action]swapCustomTarget1And2 - 布尔值 • 在动态逻辑中添加了self.customTarget1 • 在动态逻辑中添加了self.customTarget2 • 添加了[action]setResourcesWithLogic/[action]addResourcesWithLogic • 示例: setResourcesWithLogic: hp=self.parent.hp - 10, energy = self.energy / 2 • 示例: addResourcesWithLogic: hp = select( self.parent.energy>5, 10, 20 ) • 添加了[core]autoTriggerCheckRate 和 [core]autoTriggerCheckRate • 可用选项: everyFrame (默认值), every4Frames, every8Frames • 注: 所有的触发器,无论检查速率如何,都会在首次创建时和自动触发器冷却时间后进行检查。每4帧/每8帧的检查率是随机分布在各单位之间的,这样它们就不会全部出现在同一帧上,使其更流畅。对于具有复杂自动触发器的mods来说,在all-units.template中添加[core]autoTriggerCheckRate:every8Frames后会有很大的性能提升。通常自动触发器的性能会提高8倍。在极少数情况下,一些触发器可能仍然需要逐帧检查,所以这不是一个默认值。 • 新的单位生产/生成参数: • 添加了spawnSource(unitRef) - 影响位置和队伍。 • 示例: [action]spawnUnits: tank(spawnSource=memory.lastLocation) • 添加了copyWaypointsFrom(unitRef) - 将目标上的所有路点复制到创建的单位上。 • 示例: spawnUnits: tank(copyWaypointsFrom=self) • 向${}模板板块添加了系数操作符(%) • [turret]unloadUpToXUnitsAndGiveAttackOrder - 在炮塔位置卸载单位(需要测试) • 添加了 [core]borrowResourcesWhileBuilt • 类似于[core]borrowResourcesWhileAlive但在单位建成后才会生效。主要对房屋之类的建筑有用,这些建筑有负的资源,可以加到单位上限等。 • 添加了 [action]takeResources_includeReference • 示例: [action]takeResources_includeReference: self.lastDamagedBy • 添加了 [action]addWaypoint_target_fromReference - 单位参照 • 修复Android版自定义抛射体的imageShadow不显示的问题。 • 以及此处未列出的其它大量修复。}} ==1.15p2== 根据Luke在Discrod上的发言,1.15p2本在更新计划之中,但该版本却并没有正常发布。1.15p2不受官方支持或承认。 {| class="wikitable" !1.15p2更新日志 |- |<nowiki>- 该版本没有更新日志 -</nowiki> |} ==1.15p3== 1.15p3首次更新于2021-07-18 16:58:45 {| class="wikitable" |+ !1.15p3更新日志 |- |'''Rusted Warfare Beta - v1.15p3''' * 添加[attack]shootDamageMultiplier *添加[projectile]ignoreParentShootDamageMultiplier *setUnitStats现在可用于动态地修改shootDamageMultiplier *setUnitStats现在可用于动态地修改maxTurnSpeed *添加[action]switchToTeam: {logicNumber} (起先没有加入到1.15p1) *修复了"引用:正在攻击的目标单位"在1.15p1中丢失的bug *修复了在地图加载生成大量建筑物单位时会有延迟的问题 |} ==1.15p4== 1.15p4首次更新于2021-07-27 08:11:17 {| class="wikitable" |+ !1.15p4更新日志 |- |'''Rusted Warfare - Beta - v1.15p4''' *添加了与"autoTriggerOnEvent"一同使用的"eventsource" (在1.15p1更新日志中thisActionTarget和并用autoTriggerOnEvent的示例是错的。改用eventSource即可达到目的) *在[core]部分向defineUnitMemory添加了一个@memory快捷方式,用于快速创建单个内存变量。配合单位模板与copyFrom逻辑作为defineUnitMemory来覆盖也可以正常使用。 示例: @memory customText:string *新增[action]fireTurretXAtGround_withTarget (采用单位或标记作为引用) *新增[effect]pivotOffset —— 类似于dirOffset但也旋转所有相对的键,并产生子效果 *新增[effect]pivotOffsetRandom *Android版更新: 修复1.15beta版本中存档文件无法删除的bug *Android版更新: 修复1.15beta版本中存档文件无法重命名的bug *Android版更新: 修复多人游戏/遭遇战高级选项中用于选择地图的下拉列表无法准确选取地图的bug *Android版更新: 尝试修复在某些设备上播放大量音效时会出现音频故障的问题(如果成功修复,请告知luke) *修复: DamagingBorder会对被运输的单位造成伤害的问题 *修复: 在水下由运输单位卸载的舰船不会浮起来的问题 *新增会影响heightSpeed的[projectile]trueGravity逻辑,[projectile]gravity只会直接更改高度而不会影响加速度 *修复模组中有空颜色字段时显示的错误提示过于迷惑的问题 *修复了convertToNeutralIfNotTransporting会导致游戏不同步的问题 |} ==你知道吗== *1.15p1版本有两次更新,其中第二次更新于2021-07-16 19:39:05并解决了玩家选项界面的崩溃问题。 [[File:glitch in rw1-15.png|缩略图|393x393像素|在32位Oracle JRE中运行的Rusted Warfare 1.15p1的bug,若是在游戏自带的OpenJDK中运行则会立即崩溃。第二次更新修复了此问题。]] *在Google Play商店曾短暂发布过存在问题的Android版1.15p2,经测试该版本有概率会出现严重问题,主要表现为大部分地图无法加载,甚至主界面的背景也会出现黑屏和拖影。[[File:Screenshot 20210728-163352 Rusted Warfare.png|缩略图|正常情况与出错情况下的1.15p2]]
本页使用的模板:
模板:折叠
(
查看源代码
)
返回
1.15
。
开关有限宽度模式