sylqiuyifeng
本帖最后由 sylqiuyifeng 于 2014-11-22 15:27 编辑

刚刚弄了个小作品,来和大家分享一下

简介
有没有觉得MC的冲刺系统不科学?只要饥饿够,跑多久都行连气都不用喘
Steve你是机器人吗……连呼吸都不用……
(等等那为啥他会在水里淹死……)
于是这个核心系统就出来了
此系统让你在跑过40格的距离后就会获得缓慢I的效果
你需要停止跑步7秒休息,才能移除掉缓慢效果
如果跑不足40格,你也会得到休息
(之后是讲解原理,下载与说明在最后一页)


这就是系统全貌了,实际运作的是左边的系统,右边供你初始化用,按下按钮之后就可以拆掉了

真正运作的是这部分
在带大家了解原理之前,先说明一下用到的3个scoreboard objective:
run 和 rest ,类型为sprintOneCm,用于检测跑步的距离
tired ,类型为dummy,用于记录疲劳状态

2021.12 数据,可能有更多内容刚刚弄了个小作品,来和大家分享一下

简介
有没有觉得MC的冲刺系统不科学?只要饥饿够,跑多久都行连气都不用喘
Steve你是机器人吗……连呼吸都不用……
(等等那为啥他会在水里淹死……)
于是这个核心系统就出来了
此系统让你在跑过40格的距离后就会获得缓慢I的效果
你需要停止跑步7秒休息,才能移除掉缓慢效果
如果跑不足40格,你也会得到休息
(之后是讲解原理,下载与说明在最后一页)


这就是系统全貌了,实际运作的是左边的系统,右边供你初始化用,按下按钮之后就可以拆掉了

真正运作的是这部分
在带大家了解原理之前,先说明一下用到的3个scoreboard objective:
run 和 rest ,类型为sprintOneCm,用于检测跑步的距离
tired ,类型为dummy,用于记录疲劳状态

时钟系统

本核心使用了两个时钟系统

代码:

  1. /fill ~ ~ ~1 ~2 ~ ~1 minecraft:redstone_block

代码:

  1. /fill ~ ~1 ~ ~2 ~1 ~ minecraft:stone
这是一个最基本的fill clock,利用两个命令方块不断填充石头和红石方块,以每秒20次的速度激活系统



代码:

  1. /blockdata ~-3 ~ ~ {TransferCooldown:20}
这是一个漏斗时钟,利用blockdata修改漏斗的运输冷却时间,使得时钟达到约1秒一次的频率输出信号

功能系统



代码:

  1. /scoreboard players set @a[score_run_min=4000] tired

代码:

  1. /effect @a[score_tired_min=1] minecraft:slowness 1 1
首先,run这个objective是你冲刺过的距离,一个方块就是100,40个方块就是4000,当你跑了40个方块后,系统将设置你的tired分数为7
与此同时,effect将不断给予所有tired目标大于1的玩家1秒的缓慢I效果
于是你就进入了疲劳状态



代码:

  1. /scoreboard players remove @a[score_tired_min=1] tired 1
这一个是连接漏斗时钟的命令方块,以大概1秒一次的速度,减少所有疲劳状态玩家的tired分数,于是休息系统就成功运作了
当7秒之后,你的tired分数降到0,系统将停止给予你缓慢效果



代码:

  1. /scoreboard players set @a[score_run_min=1,score_tired_min=1] run 0
在你休息的过程中,系统将不断重设你的run数值,使你休息完后就可以再次拥有40格的跑步距离

代码:

  1. /scoreboard players set @a[score_run_min=1,score_tired_min=1] tired 7
但是,如果你跑满了40格,你仍然继续奔跑,没理由算你在歇气了吧?于是当你tired分数不为0时,run数值增加了的话
系统将重设你的tired数值到7,就是说得从头倒数,直到你开始停止跑步7秒后,你才能脱离疲劳状态



代码:

  1. /scoreboard players set @a[score_rest_min=1,score_tired=0] rest 0
最后这里呢,就用到了最后一个score:rest
rest和run一样,都是检测你跑步的距离
但不同的是,这个命令方块链接到漏斗时钟,每秒重设rest一次
你可能会问为啥?

代码:

  1. /scoreboard players remove @a[score_rest=0,score_tired=0,score_run_min=1] run 20
就是要配合这条命令,它检测所有不在疲劳状态,run分数大于0,并且rest等于0的玩家
连接到fill时钟上面,当玩家在奔跑时,rest参数不为0,于是这条命令没有作用
当你不在奔跑时,rest分数就会被重置为0,于是系统便开始不断为你减少run的数值
这样的话,就不会出现我跑了39格停下来,走一会,再跑1格就进入疲劳状态的奇葩现象
而是你走路的时候,你也会得到休息
整个系统就到此结束了

下载与使用


先做个广告,这是我之前做的一个核心系统:

本核心将同样采用schematics格式发布,这是一个MCE(地图编辑器)储存地图的格式
本核心将允许你导入任何地图使用,同时支持多人模式
如果你不懂如何导入地图,请参考决战核心发布贴内教程
下载地址:http://pan.baidu.com/s/1dDvkGJf



末影矿工
前排支持猪骑士

雪尼
很精细的说明,与半透明方块配合说明看起来很不错

likeliang
完全看不懂OAO,我似乎和1.8脱节了

q2539171536
高科技~~~

zhjjhz
likeliang 发表于 2014-11-24 13:54
完全看不懂OAO,我似乎和1.8脱节了

我只会基本指令和1.7的setblosk和1.8的fill和title这些指令==其他都不会了

lzs1234
Steve是Notch制造的最新型生化机器人,可以吞咽食物获得发动机工作所需的能量,不需要呼吸……
以上纯属扯淡,请无视
嗯,计分板最近正在恶补,勉强能看懂一点点

3063741597
好无聊{:10_492:}

萤火虫
不会用命令方块的只能在此归服

第一页 上一页 下一页 最后一页