本帖最后由 sylqiuyifeng 于 2015-8-1 12:51 编辑
声明:本系统并非本人发明,一切原理来自于外国友人SQRTdude的视频Sonar Hearing in Minecraft 15w31! [Last of Us]

一切的起源都在这个视频,SQRTdude发表了一个视频,展示了一个复刻The Last of Us(美国末日)中的聆听系统的视频
(图片截自原视频)只要潜行就能高亮显示附近的僵尸
系统使用了1.9快照中的glowing效果,这并没有什么出乎意料的
然而在视频之后的系统讲解中,出现了潜行侦测系统的讲解
众所周知(好吧可能不是),MC的Scoreboard系统中有很多的判据,其中stat.crouchOneCm就是玩家潜行距离的判据
你可能会说,这不就简单了么,Scoreboard监测这个判据就好,潜行系统不就这么简单了?
然而这个判据最大的问题是,如果玩家潜行了然而没有移动,这个判据不会上升,这是这个判据的缺陷
然而SQRTdude提出了一个解决方案,能探测到原地潜行的玩家

(图片截自原视频)视频中指出,当生物堆积在同一个位置的时候,他们的hitbox(碰撞箱)会令他们不断推挤其他生物,造成移动
于是潜行探测系统就出现了
其核心思想是,不停传送生物到玩家的位置“推挤”玩家,虽然玩家感受不到运动,但是系统会被欺骗,认为你移动了("no idea why but it work"-作者原话)
于是判据就会上升
经过对SQRTdude的聆听模式系统的研究之后,我单独制造了一个潜行探测系统的原型

整个系统就这样,我开启了系统,右边的stest是一个stat.crouchOneCm(潜行距离)的判据计分版


当我原地按下潜行键(你可以比对一下两张图片,位置一样但这张视角稍微下降了),判据开始上升
可见系统被欺骗,认为我有移动

我再加了一个stat.walkOneCm(行走距离)的判据,就算我原地不动,判据分数还是在上升,可见系统确实被欺骗了
(系统结构在下一页)
(再次鸣谢外国友人SQRTdude的发明)

一切的起源都在这个视频,SQRTdude发表了一个视频,展示了一个复刻The Last of Us(美国末日)中的聆听系统的视频
(图片截自原视频)只要潜行就能高亮显示附近的僵尸
系统使用了1.9快照中的glowing效果,这并没有什么出乎意料的
然而在视频之后的系统讲解中,出现了潜行侦测系统的讲解
众所周知(好吧可能不是),MC的Scoreboard系统中有很多的判据,其中stat.crouchOneCm就是玩家潜行距离的判据
你可能会说,这不就简单了么,Scoreboard监测这个判据就好,潜行系统不就这么简单了?
然而这个判据最大的问题是,如果玩家潜行了然而没有移动,这个判据不会上升,这是这个判据的缺陷
然而SQRTdude提出了一个解决方案,能探测到原地潜行的玩家

(图片截自原视频)视频中指出,当生物堆积在同一个位置的时候,他们的hitbox(碰撞箱)会令他们不断推挤其他生物,造成移动
于是潜行探测系统就出现了
其核心思想是,不停传送生物到玩家的位置“推挤”玩家,虽然玩家感受不到运动,但是系统会被欺骗,认为你移动了("no idea why but it work"-作者原话)
于是判据就会上升
经过对SQRTdude的聆听模式系统的研究之后,我单独制造了一个潜行探测系统的原型

整个系统就这样,我开启了系统,右边的stest是一个stat.crouchOneCm(潜行距离)的判据计分版


当我原地按下潜行键(你可以比对一下两张图片,位置一样但这张视角稍微下降了),判据开始上升
可见系统被欺骗,认为我有移动

我再加了一个stat.walkOneCm(行走距离)的判据,就算我原地不动,判据分数还是在上升,可见系统确实被欺骗了
(系统结构在下一页)
(再次鸣谢外国友人SQRTdude的发明)

整个系统的结构如图
这只是一个简单的fill clock,没什么好奇怪的
最先执行的这两个CB是“灭杀”系统,把名为sneak的村民(欺骗系统用的那个实体)传送到虚空再杀掉
这样可以避免生物死亡时候的粒子影响玩家体验
这里就是召唤村民的命令,召唤一个名为sneak,不会移动(NoAI),不会发出声音(Silent),无敌(Invulnerable),并且隐身(ActiveEffects)的小村民(Age:-1000000)
然后在我身上execute,把村民传送过来(我偷懒了233,目标写了自己的名字,实际应用请按需要更改)
整个系统大致完成了
然而就这样停下的话面临了一个bug:第一次启动系统的时候如果玩家并没有做任何移动,探测系统失效
虽然这个bug发生的可能性微乎其微,但是为了修复他
我们在最后加入
让村民做一个轻微位移,解决了这个bug
系统到此完结
声明:本系统并非本人发明,一切原理来自于外国友人SQRTdude的视频Sonar Hearing in Minecraft 15w31! [Last of Us]

一切的起源都在这个视频,SQRTdude发表了一个视频,展示了一个复刻The Last of Us(美国末日)中的聆听系统的视频

(图片截自原视频)只要潜行就能高亮显示附近的僵尸
系统使用了1.9快照中的glowing效果,这并没有什么出乎意料的
然而在视频之后的系统讲解中,出现了潜行侦测系统的讲解
众所周知(好吧可能不是),MC的Scoreboard系统中有很多的判据,其中stat.crouchOneCm就是玩家潜行距离的判据
你可能会说,这不就简单了么,Scoreboard监测这个判据就好,潜行系统不就这么简单了?
然而这个判据最大的问题是,如果玩家潜行了然而没有移动,这个判据不会上升,这是这个判据的缺陷
然而SQRTdude提出了一个解决方案,能探测到原地潜行的玩家

(图片截自原视频)视频中指出,当生物堆积在同一个位置的时候,他们的hitbox(碰撞箱)会令他们不断推挤其他生物,造成移动
于是潜行探测系统就出现了
其核心思想是,不停传送生物到玩家的位置“推挤”玩家,虽然玩家感受不到运动,但是系统会被欺骗,认为你移动了("no idea why but it work"-作者原话)
于是判据就会上升
经过对SQRTdude的聆听模式系统的研究之后,我单独制造了一个潜行探测系统的原型

整个系统就这样,我开启了系统,右边的stest是一个stat.crouchOneCm(潜行距离)的判据计分版


当我原地按下潜行键(你可以比对一下两张图片,位置一样但这张视角稍微下降了),判据开始上升
可见系统被欺骗,认为我有移动

我再加了一个stat.walkOneCm(行走距离)的判据,就算我原地不动,判据分数还是在上升,可见系统确实被欺骗了
(系统结构在下一页)
(再次鸣谢外国友人SQRTdude的发明)
2021.12 数据,可能有更多内容
声明:本系统并非本人发明,一切原理来自于外国友人SQRTdude的视频Sonar Hearing in Minecraft 15w31! [Last of Us]
一切的起源都在这个视频,SQRTdude发表了一个视频,展示了一个复刻The Last of Us(美国末日)中的聆听系统的视频

(图片截自原视频)只要潜行就能高亮显示附近的僵尸
系统使用了1.9快照中的glowing效果,这并没有什么出乎意料的
然而在视频之后的系统讲解中,出现了潜行侦测系统的讲解
众所周知(好吧可能不是),MC的Scoreboard系统中有很多的判据,其中stat.crouchOneCm就是玩家潜行距离的判据
你可能会说,这不就简单了么,Scoreboard监测这个判据就好,潜行系统不就这么简单了?
然而这个判据最大的问题是,如果玩家潜行了然而没有移动,这个判据不会上升,这是这个判据的缺陷
然而SQRTdude提出了一个解决方案,能探测到原地潜行的玩家

(图片截自原视频)视频中指出,当生物堆积在同一个位置的时候,他们的hitbox(碰撞箱)会令他们不断推挤其他生物,造成移动
于是潜行探测系统就出现了
其核心思想是,不停传送生物到玩家的位置“推挤”玩家,虽然玩家感受不到运动,但是系统会被欺骗,认为你移动了("no idea why but it work"-作者原话)
于是判据就会上升
经过对SQRTdude的聆听模式系统的研究之后,我单独制造了一个潜行探测系统的原型

整个系统就这样,我开启了系统,右边的stest是一个stat.crouchOneCm(潜行距离)的判据计分版


当我原地按下潜行键(你可以比对一下两张图片,位置一样但这张视角稍微下降了),判据开始上升
可见系统被欺骗,认为我有移动

我再加了一个stat.walkOneCm(行走距离)的判据,就算我原地不动,判据分数还是在上升,可见系统确实被欺骗了
(系统结构在下一页)
(再次鸣谢外国友人SQRTdude的发明)

整个系统的结构如图
代码:
- /fill ~ ~-1 ~ ~3 ~-1 ~ minecraft:redstone_block
- /fill ~ ~1 ~ ~3 ~1 ~ minecraft:stone
代码:
- /tp @e[name=sneak] ~ ~-300 ~
- /kill @e[name=sneak]
这样可以避免生物死亡时候的粒子影响玩家体验
代码:
- /summon Villager ~ ~ ~ {NoAI:true,Silent:true,Invulnerable:true,ActiveEffects:[{Id:14,Duration:111110,ShowParticles:false}],Age:-1000000,CustomName:sneak}
代码:
- /execute SYL_qiuyifeng ~ ~ ~ /tp @e[name=sneak] SYL_qiuyifeng
整个系统大致完成了
然而就这样停下的话面临了一个bug:第一次启动系统的时候如果玩家并没有做任何移动,探测系统失效
虽然这个bug发生的可能性微乎其微,但是为了修复他
我们在最后加入
代码:
- /tp @e[name=sneak] ~0.01 ~ ~
系统到此完结
THE LAST OF US
国外大触的黑科技
最后的“让村民做一个轻微位移解决了这个bug”不太懂{:10_527:}
求解释
求解释
Digital 发表于 2015-8-1 12:44
最后的“让村民做一个轻微位移解决了这个bug”不太懂
求解释
这个bug的发生似乎是因为碰撞箱完全重叠就令系统失效
所以我们只要稍微tp一下村民让他不会重叠就能解决这个bug了
sylqiuyifeng 发表于 2015-8-1 12:45
这个bug的发生似乎是因为碰撞箱完全重叠就令系统失效
所以我们只要稍微tp一下村民让他不会重叠就能解决这 ...
额 差不多了解[diamond_gem]多谢
里程碑意义式的黑科技
很厉害{:10_524:}!
黑科技好评
只要不停给玩家附近生成不足以让玩家移动的生物让判据改变就可以了……
真是个好点子………………
真是个好点子………………
黑科技,好评如潮
原版躲猫猫终于有办法了
谢谢LZ
谢谢LZ
不明觉厉