生存战争玩家社区 · 资源大厅

[API1.9.1.2]战斗之王·T4.scmod

作者:泰坦_超大型哥布林 · 更新于

战斗之王: (这是无限制战斗第三个在社区上发布的版本,从始至终,最难搞的莫过于关于动画的播放控制了。) 将玩家在任何时间、任何地点、任何模式、任何情况下的任何攻击、放置、挖掘、交互、投掷以及生物受击、生物受击动画播放、玩家攻击动画播放、玩家放置动画播放、玩家挖掘动画播放、玩家交互动画播放、玩家投掷动画播放的间隔,全部调整为负秒数(调整成负数是比单纯的零点零几更彻底的选择,这样子玩家在游戏内无论任何时间段,进行的任何操作都会瞬间通过,彻底无任何间隔。当然,时间戳还是保持在 0.0。)。唯独玩家的受击间隔调整为2.0秒。 将玩家在任何时间、任何地点、任何模式、任何情况下的攻击、挖掘、放置、交互的距离调整为无限大。(实际受到视距限制,会和视距的值对比,两者之间取较小的那个真正执行和运算,实际表现跟随视距的大小调整。玩家所有行为的机制距离调整为无限大,也就是准星能识别到的任何方块的最远距离为无限大,即使实际能加载出来的方块距离受到视距限制。) 空挥机制:拓展玩家的攻击条件。玩家可以在任何条件、任何地点、任何时间下对着任何东西发动攻击。如果未检测到生物实体,则不进行扣血计算,准星处或者准星对准的方块处会显示“无效攻击”。每次虚无攻击仍然会像正常攻击一样触发攻击动画,执行完整的攻击流程,只是不存在被攻击的生物实体和实际的生物实体扣血过程。 游戏内所有操作和机制等动画的产生、执行、重置的速度无上限。在游戏内所有操作和机制等动画播放期间,再次遭受或触发动画播放条件时,便瞬间重置动画,重置速度和频率无上限。玩家在任何时间、任何地点、任何模式、任何情况下的攻击速度无上限,一秒内可以无限连击,一秒内可以造成无限次攻击次数。 玩家在任何时间、任何地点、任何模式、任何情况下的手持任何物品或空手时,所发动的任何攻击都会使被攻击目标所处的中心点坐标方块区域的外四格内的所有生物实体受到同等伤害,不包括玩家本身。 范围伤害以被攻击目标所处的空间坐标为中心点,向所有方向的两边拓展4格,也就是半径4格,中间一格,形成一个9×9的立方体,中间一格,两边四格,攻击范围总共81格。采用模拟计算,只要生物的碰撞箱,无论是全部还是部分,处在攻击范围的立方体内,直接执行范围伤害。 攻击辅助系统会记录玩家的每一次攻击的次数,也就是准星射线或者触摸屏射线对准非交互方块时进行的任何点击,以及持续攻击也就是按住屏幕的时间,然后将受限于设备性能没有成功执行的攻击一次性全部补全。补全的攻击次数,每次攻击造成的伤害,应该和玩家每次攻击造成的伤害一样。例如玩家在200毫秒前输入了13次攻击,由于玩家攻击时基础攻击力为1,属性力量乘数为1.5,手持铁刀伤害为6点,那么1×1.5×6就等于9点伤害,所以补全攻击的时候每次的伤害应该是9点,一次性补全所有攻击。 持续攻击机制:持续攻击是指当你持续按住屏幕时触发的自动循环攻击,以0.0005 秒为默认间隔。多轮攻击和持续攻击是嵌合在一起的完整攻击系统。当触碰屏幕的时间小于设定的持续攻击间隔时,战斗辅助补刀系统则至少执行一次攻击。当按住屏幕的时间大于设定的持续攻击间隔时,则执行持续攻击。 持续攻击间隔不能归零,否则会变成一秒内真正执行无穷大次数的攻击,这在物理上不可能实现。设定的持续攻击间隔理论上的最小值受限于时间切片机制的精度,这个最小值非常小,理论上设定的持续攻击间隔最小值对应的攻击频率是 4000 多万下每秒,当然了,实际游戏引擎支持的不到几万下每秒。设定的极低的持续攻击间隔配合时间切片和点击兜底,实现无限连击。战斗辅助补刀系统会记录所有的攻击,无论是多轮攻击还是持续攻击,系统会根据时间差除以设定的持续攻击间隔,自动计算出这段时间内本应执行多少次攻击,然后将受限于设备性能没有成功执行的攻击一次性全部补全。我还额外拓展了一个持续空挥机制,将准星对准天空,然后长按屏幕,射线啥也没识别到时,则执行持续空挥,设定的持续攻击间隔时和持续空挥显示的“无效攻击”字段出现频率是一样的,你们无聊的时候可以对着天空长按着玩。 当玩家触碰屏幕时,系统区分攻击、交互、挖掘的逻辑如下:对准任何非可交互物品的生物目标或者方块空气天空点击时,就是攻击或者空挥。射线对准和识别到任何可交互物品就执行交互。射线识别到方块时,如果是快速点击,则触发单次空挥,如果是持续按住屏幕,则不触发空挥,交给挖掘逻辑处理。 我优化了快速攻击时的攻击动画,“战斗之王”版本简化了攻击动画播放的逻辑,玩家每次无论任何的攻击,攻击动画播放进度都会瞬间锁定在66%,然后不攻击时恢复成原来的待机动画,持续攻击将会持续锁定攻击动画播放进度(这个锁定机制非常难搞,有时候起效果,有时候不起效果,这倒也是奇葩得很。) https://file.suancaixianyu.cn/2026/05/23/[API1.9.1.2]战斗之王.scmod https://file.suancaixianyu.cn/2026/05/23/[API1.9.1.2]战斗之王·T2.scmod https://file.suancaixianyu.cn/2026/05/24/[API1.9.1.2]战斗之王·T4.scmod T4 版本完全修复了之前存在的重大错误和漏洞,在之前的版本中,我一直忽略了一个非常重要的限制,攻击列队中存入的命令受限于你当前设备的帧率,这就导致假设你设备帧率是 60,那么实际上你持续攻击时,一秒能打出来的攻击频率也就是 60 下,根本就无法执行你设定好的极低持续攻击间隔,难怪,我就说我之前实测的时候怎么那么恐怖的攻击频率,我的设备仍然根本就不卡呢。然后,我后面一直把设定的攻击频率调低,发现设备还是不卡,我才发现了问题。(之前由于列队命令受到帧率限制只会导致最大攻击频率被锁死,而不会限制小攻击频率,因此我之前旧版本的实测中把攻击频率调低,并没有测出这个限制。实际攻击频率受限于帧率的限制在T4 版本中被修复了,现在唯一的限制就是你设备的性能限制与物理极限了,就看你设备能承受住多恐怖的攻击频率,那么你就能玩到多恐怖的攻击频率。在模组文件中内置的JS脚本文件设定的持续攻击间隔对应的攻击频率最好不要大于你设备帧率正常游玩时的 1.2 倍。) T4现在就是无可争议的最强版本。 模组文件内内置了一个文件名称为“atr settings.js”的JS脚本文件,你可以在里面修改其中提供的唯一一个字段的等号后面的数值,也就是可以自定义调整持续攻击间隔,默认为 0.0005秒(T2 的默认值为0.00025秒,T4由于修复了设定的持续攻击间隔过低对应的攻击频率过高大于帧率无法执行的错误,现在T4 版本的设定的持续攻击间隔是真正的执行了,因此T4 版本默认持续攻击间隔调整为 0.0125,也就是每秒打出 80 下,兼顾了手感与设备流畅度的考虑。),也就是每秒打出 2000 下攻击。看着唬人,其实现代的手机芯片CPU完全可以处理。毕竟持续攻击时,攻击动画是锁定的,然后其它的就比如伤害条显示是重复的。 我也有样学样,搞了一个QQ模组交流群。兄弟们感兴趣的话就加一下吧:362324475 每次进入游戏加载初始化时,模组DLL文件都会读取JS脚本文件里的这个数值,然后默认永久生效,除非重新退出游戏,进去重新加载。(读取失败时,则默认为 0.0005秒。)

在社区中打开完整帖子