1.15:修订间差异
RustedWiki更新姬(留言 | 贡献) 小无编辑摘要 |
无编辑摘要 |
||
第451行: | 第451行: | ||
*修复了敌对性性中立单位会捕获其它中立单位的问题 |
*修复了敌对性性中立单位会捕获其它中立单位的问题 |
||
*修复了大量崩溃问题 |
*修复了大量崩溃问题 |
||
</td> |
|||
</tr> |
|||
</table> |
|||
==1.15p7== |
|||
<table class="mw-collapsible mw-collapsed wikitable" data-collapsetext="点击隐藏" data-expandtext="点击展开"> |
|||
<tr> |
|||
<th>1.15p7更新日志</th> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
'''Rusted Warfare - Alpha - v1.15p7''' |
|||
<注意:需要选择alpha,请参见上文>> |
|||
* -添加了[resource]displayTextAppendResourceWithGap-默认为false。将不相关的资源放在同一行时,在资源之间添加空间。 |
|||
* -添加了[resource]appendResourceInHUD_(当为零时)-默认为true。False允许附加资源(如最大值)与父资源一起隐藏。 |
|||
* -displayTextAppendResource现在会自动打断屏幕上太宽的行。适用于小型显示器或处于纵向模式的手机。 |
|||
* -增加了对动态数中模的支持 |
|||
* -增加了self.isReversing() |
|||
* -使[resource]displayPos与全球资源协同工作。默认值为0。(它以前什么都没做,也不打算被记录下来) |
|||
* -修复了[resource]displayWhenZero,因此它会显示尚未使用的资源 |
|||
* -android菜单的一些改进 |
|||
* -在沙盒调试模式下显示当前附件 |
|||
* -使沙盒调试模式下的单元标志可读 |
|||
* -在PC上显示重叠键绑定的警告弹出窗口 |
|||
* -修复从保存文件中恢复游戏规则(如无核武器、收入倍增等)时出现的问题(仅在新保存中修复旧保存,在高级冲突中加载它们作为解决方法) |
|||
* -在unitDetect映射触发器中仅添加了一个Fempty |
|||
* -spawnUnits gridAlign现在应用于offsetRandomX/Y之后,而不是之前 |
|||
* -从mac os中跳过mod data中的任何_MACOSX临时文件夹 |
|||
* -将selfRegenRate添加到setUnitStats |
|||
* -在Android 9或更低版本上恢复使用传统的直接访问存储,以避免这些Android版本中的操作系统错误和缺少文件管理器,应该是可能的,因为这些设备上不强制使用作用域存储。 |
|||
* -新的安卓调试选项“saf force off”用于测试直接访问,不推荐使用,因为在较新的安卓版本上,这可能会以奇怪的方式失败,操作系统会对游戏隐藏文件。 |
|||
* -新的android调试选项“saf强制开启”,用于在旧的android版本上测试saf |
|||
* -新的android调试选项“共享日志”-保存游戏日志的快捷方式,然后显示共享弹出窗口 |
|||
* -mod info中的minVersion消息。txt显示版本号和当前版本。 |
|||
* -使用setUnitStats更改shootDelayMultiplier时夹紧炮塔延迟和反冲 |
|||
* -修复首次加载时逻辑布尔类型错误 |
|||
* -用android opengl修复上下文丢失后的空白屏幕 |
|||
* -修复了在PC上呈现单元帮助屏幕的问题 |
|||
* -修复rwmod mods无法删除或共享额外文件夹的问题 |
|||
* -修复显示的图标太小的问题 |
|||
* -修复了在android上重新加载mod数据时线程崩溃的问题 |
|||
* -修复调试语言覆盖不影响某些字符串(如映射触发器) |
|||
* -修复changeCredits映射触发器显示有关添加/设置的错误警告 |
|||
* -修复v1。15p6回归纹理图谱导致渲染瑕疵 |
|||
* -修复v1。15p6使用纹理图集时停止实时重新加载纹理 |
|||
* -修正高速设备走长路径时的中间路径暂停 |
|||
* -修复在电脑GUI中加载无效地图缩略图或图像时的崩溃 |
|||
* -修复android上罕见的简历崩溃 |
|||
* -修复在android上导入文件时无法发送文件数据的崩溃 |
|||
* -修复导入无法写入目标文件时的崩溃 |
|||
* -修复贴图具有无效浮动属性时的崩溃 |
|||
* -修复贴图未定义平铺时的崩溃 |
|||
* -修复UI中的崩溃,包括地面限制和转换/重新加载的单元 |
|||
* -修复音乐无法列出内部文件夹时的崩溃 |
|||
* -修复创建一些位图时内存不足的崩溃 |
|||
* -修复在SAF上创建目录失败时的崩溃 |
|||
* -修复android上实验性opengl渲染器的崩溃 |
|||
* -修复了在iOS上渲染过多圆圈的故障 |
|||
* -修复iOS上的争用条件线程崩溃 |
|||
</td> |
|||
</tr> |
|||
</table> |
|||
== 1.15p8 == |
|||
<table class="mw-collapsible mw-collapsed wikitable" data-collapsetext="点击隐藏" data-expandtext="点击展开"> |
|||
<tr> |
|||
<th>1.15p8更新日志</th> |
|||
</tr> |
|||
<tr> |
|||
<td> |
|||
'''Rusted Warfare - Alpha - v1.15p8''' |
|||
<注意:需要选择alpha,请参见上文>> |
|||
* 希望这次能足够稳定地发布到beta版 |
|||
* 如果玩家没有任何类型的自定义资源,修复displayWhenZero无法工作 |
|||
* 更好的minVersion mod检查-修复消息和边缘情况 |
|||
* 修正setUnitStats自恢复速率被四舍五入 |
|||
* 修复了导入仍在浏览器中下载的文件时崩溃的问题 |
|||
* 修复加载保存文件时的崩溃 |
|||
* 修复从无法读取的保存文件启动游戏时的崩溃 |
|||
* 修复在某些情况下,如果无法创建replay文件(通常来自SAF),游戏开始时的崩溃 |
|||
* 修复模块化spider单元的一些属性 |
|||
* 如果Steam 创意工坊上传中缺少缩略图,则显示更清晰的错误消息 |
|||
* 显示在android上导入MOD的进度弹出窗口,避免界面假死 |
|||
* 导入已更改的rwmod文件现在可以刷新数据,而无需重新启动游戏 |
|||
* 修复导入的已更改.rwmod文件,使用SAF复制,而不是替换现有的mod |
|||
* 修复android在Opengl模式下的屏幕旋转,有时会导致半个屏幕被切断 |
|||
* 一些文件读取速度提高了 |
|||
* 大量小崩溃修复 |
|||
</td> |
</td> |
||
</tr> |
</tr> |
2022年3月17日 (四) 13:38的版本
1.15版本的更新主要以Mod特性为主,新单位添加较少。
测试版更新 | ||
---|---|---|
当前类型 | 测试版 | |
首次更新时间 | 2021-07-15 10:27 | |
最后更新时间 | 2022-02-05 11:51 | |
内部版本代码 | 1.15p6 | 167 |
1.15p5 | 165 | |
1.15p4 | 160 | |
1.15p3 | 159 | |
1.15p2 | 158 | |
已发布平台 | Android、Steam |
1.15p1
1.15p1是Rusted Warfare在1.15版本中的首次公开更新,仅支持PC版本
1.15p1更新日志 |
---|
Rusted Warfare Beta - v1.15p1 • 在单人游戏遭遇战的高级选项和多人游戏中, 可以单独为某个玩家设置游戏选项, 例如: • 现在可以为每个AI玩家设置不同的难度等级。 • 不同的玩家可以有不同的初始单位, 可以用来选择模组中的派系。 • 可以为每个玩家分别覆盖不同的单位颜色。
• 为Android版添加"保存到内部存储"的选项, 让存档/模组/自定义地图功能可以在不授予存储权限的情况下正常运作。请注意, 在卸载时游戏时内部应用存储会被Android系统一并删除。 • 可以从模组设置界面中删除或导出模组。 • 可以从自定义地图界面导入新地图。 • 电脑版:添加实验性的-teamshaders命令开关。开启后将使用着色器为队伍颜色着色, 减少含大图片的模组的内存占用以及第一次应用着色时的卡顿。
• [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在单位类型之间闪烁的问题。 • 修复了沙盒模式中重载单位时临时标签被重置的问题。 • 修复了沙盒模式所有标签栏都会显示触发器调试的问题。
• 可为自定义存储给每个单位创建独一无二的变量。 • 示例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不受官方支持或承认。
1.15p2更新日志 |
---|
- 该版本没有更新日志 - |
1.15p3
1.15p3首次更新于2021-07-18 16:58:45
1.15p3更新日志 |
---|
Rusted Warfare Beta - v1.15p3
|
1.15p4
1.15p4首次更新于2021-07-27 08:11:17
1.15p4更新日志 |
---|
Rusted Warfare - Beta - v1.15p4
|
1.15p5
由于Google对发布在Play商店上的应用作出了API Level上的要求,且Android 11更新了API 30中的存储机制,此次更新大幅度修改了Rusted Warfare关于文件存储的机制。
1.15p5更新日志 |
---|
Rusted Warfare - Alpha - v1.15p5 << 注意,游戏的测试版一旦更新到API 30后将无法降级到API 29,因此此次更新将先作为Alpha进行测试,您需要根据需求选择性地加入Alpha测试 >>
|
1.15p6
1.15p6更新日志 |
---|
Rusted Warfare - Alpha - v1.15p6 << 注意,你要选择参与Alpha测试才能更新到这个版本,详情请参阅上次更新日志 >>
|
1.15p7
1.15p7更新日志 |
---|
Rusted Warfare - Alpha - v1.15p7 <注意:需要选择alpha,请参见上文>>
|
1.15p8
1.15p8更新日志 |
---|
Rusted Warfare - Alpha - v1.15p8 <注意:需要选择alpha,请参见上文>>
|
你知道吗
- 1.15p1版本有两次更新,其中第二次更新于2021-07-16 19:39:05并解决了玩家选项界面的崩溃问题。
- 在Google Play商店曾短暂发布过存在问题的Android版1.15p2,经测试该版本有概率会出现严重问题,主要表现为大部分地图无法加载,甚至主界面的背景也会出现黑屏和拖影。