Minecraft(我的世界)中文论坛
标题: 【1.9快照】[Woody_Mo] 原版悬浮装置!百合子欧米茄!!!
作者: 末影矿工 时间: 2015-7-30 15:51
标题: 【1.9快照】[Woody_Mo] 原版悬浮装置!百合子欧米茄!!!
本帖最后由 末影矿工 于 2015-7-31 09:09 编辑
我回归了,看着昨天1.9快照发布我就做了一发悬浮装置,原理是1.9的新的药水效果---Levitation失重。
被赋予失重效果的玩家会缓慢上升,可以向四周浮动。药水效果等级越高,升的就越快,结束后pia ji一下掉下来。
但是像其他药水一样,它也有一些特别的等级:
当玩家Levitation等级为1-127时,玩家的上升速度会随着等级增高,127为最快的速度(火箭)。
当玩家Levitation等级为128-254时,玩家从255开始往下的重力会增加(就是说上升速度变成了下降速度),128为重力最高,下落的最低速度与最高速度分别小于大于普通玩家下坠速度。
当玩家Levitation等级为255时,玩家不受重力,升力影响,卡住不动。
还有就是当玩家的Levitation等级为128-255时受到掉落伤害,会鬼畜的蹭的一下冲上云霄
我们将使用到其中3个等级,2、255、253。所谓悬浮,就是玩家与地面保持一定的距离,在空中漂浮。这个装置的原理就是当玩家靠近地面时,让玩家上升;玩家太高时,让玩家下降;在正确的高度时,让玩家稳定的漂浮。
------------------------------------------------------<分界线>------------------------------------------------------
讲解视频:
http://player.youku.com/player.php/sid/XMTI5NzE0MzIzNg==/v.swf
------------------------------------------------------<分界线>------------------------------------------------------
首先需要4个变量
普通探测位置的Dummy变量
- scoreboard objectives add Flow dummy
复制代码
位置1计时器
- scoreboard objectives add FlowTimer dummy
复制代码
位置2计时器
- scoreboard objectives add Flow2Timer dummy
复制代码
位置3计时器
- scoreboard objectives add Flow3Timer dummy
复制代码
之后要准备一个高频,然后连上一下三个指令。
- execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:air 0 scoreboard players set @p Flow 1
复制代码- execute @a ~ ~ ~ detect ~ ~-2 ~ minecraft:air 0 scoreboard players set @p[score_Flow_min=0,score_Flow=0] Flow 1
复制代码- scoreboard players remove @a[score_Flow_min=0] Flow 1
复制代码 从第一个开始讲吧,当玩家脚下的方块没有方块时,把玩家的Flow值设为1。第二个是当玩家脚下没有方块且Flow值为0的时候,设置玩家的Flow值为1,第三个值是只要玩家的Flow大于等于0,就将他的Flow值-1。
处理结果:
当玩家贴近地面时,Flow值为-1
当玩家与地面的距离合适(距离为1)时,Flow值为0
当玩家高于合适距离时,Flow值为0
这样我们就算是判断出玩家与地面的距离关系了,接下来由于药水等级在某些情况下不能直接用effect改变,需要清除效果再进行effect。所以添加以下指令连接到高频。
- scoreboard players add @a[score_Flow_min=-1,score_Flow=-1,score_FlowTimer=30] FlowTimer 1
复制代码- scoreboard players add @a[score_Flow_min=0,score_Flow=0,score_Flow2Timer=30] Flow2Timer 1
复制代码- scoreboard players add @a[score_Flow_min=1,score_Flow=1,score_Flow3Timer=30] Flow3Timer 1
复制代码 处理结果:
当玩家Flow值为-1的时候,开启计时器FlowTimer,一直加到31。
当玩家Flow值为0的时候,开启计时器Flow2Timer,一直加到31。
当玩家Flow值为1的时候,开启计时器Flow3Timer,一直加到31。
之后我们还需要6个指令来配合上面的3个指令。
- scoreboard players set @a[score_Flow_min=-1,score_Flow=-1] Flow3Timer 0
复制代码- scoreboard players set @a[score_Flow_min=-1,score_Flow=-1] Flow2Timer 0
复制代码- scoreboard players set @a[score_Flow_min=0,score_Flow=0] Flow3Timer 0
复制代码- scoreboard players set @a[score_Flow_min=0,score_Flow=0] FlowTimer 0
复制代码- scoreboard players set @a[score_Flow_min=1,score_Flow=1] Flow2Timer 0
复制代码- scoreboard players set @a[score_Flow_min=1,score_Flow=1] FlowTimer 0
复制代码
将所有的汇总起来,差不多是这个样子的:
处理结果:
当玩家接近地面时,开启玩家的FlowTimer计时器并清空其他计时器,数到31
当玩家与地面距离合适时,开启玩家的Flow2Timer计时器并清空其他计时器,数到31
当玩家过度高于地面时,开启玩家的Flow3Timer计时器并清空其他计时器,数到31
之后我们就开始弄玩家的药水效果了
- effect @a[score_Flow3Timer_min=1,score_Flow3Timer=1] minecraft:levitation 0
复制代码- effect @a[score_Flow2Timer_min=1,score_Flow2Timer=1] minecraft:levitation 1 0 true
复制代码- effect @a[score_FlowTimer_min=1,score_FlowTimer=1] minecraft:levitation 0
复制代码- effect @a[score_Flow3Timer_min=2] minecraft:levitation 1 253 true
复制代码- effect @a[score_Flow2Timer_min=2] minecraft:levitation 1 255 true
复制代码- effect @a[score_FlowTimer_min=2] minecraft:levitation 1 2 true
复制代码
处理结果:
当玩家接近地面并开启FlowTimer计时器时,计时器数到1时将目前的药水效果清除,然后计时器大于2时并持续给予2级的Levitation药水效果,相当于上升。
当玩家上升/下降到适合的与地面的距离并开启Flow2Timer计时器时,计时器数到1时给予玩家1秒的2级Levitation,然后计时器大于2时并持续给予255级的Levitation药水效果,相当于悬浮。
当玩家高于地面并开启Flow3Timer计时器时,计时器数到1时将目前的药水效果清除,然后计时器大于2时并持续给予253级的Levitation药水效果,相当于上升。
这样就可以完成了,每次遇到障碍时,玩家就会向上上升,然后上升到一定程度停止上升。当玩家因为某些情况与地面的距离高于限定高度时(例如跳悬崖),就会缓慢下降知道回到正确的与地面的距离。
PS:
还有标题说了“百合子欧米茄”,这是实现的她的悬浮行走的移动方式。在视频中也演示了一下她的攻击方式,都是按原RA3来制作的,攻击方式下次将会讲到。还有视频可能解释的不清楚,如果只是想知道原理的话还是看文字教程为好。
------------------------------------------------------<分界线>------------------------------------------------------
Command Block Logic是2014-2-23刚成立不久的国内主攻研究命令方块的小组。现成员涵盖了现在在MCBBS内研究指令方块的高端玩家和爱好者。
组员作品:
PotatoMaster101:PM的指令方块索引贴
贰逼:贰逼的技巧教程索引贴
songfeitong:Soft的滤器与指令索引贴(其他都是精都不好意思见人了=A=)
ghyzhi10086:87的粘液块作品索引贴
末影矿工:woody的猪飞
sylqiuyifeng:syl的猪爆
卅个屮:Ray5d的超级掘一死战
953301477:⑨的建筑索引贴
Command Block Logic,欢迎各位的加入!
http://www.mcbbs.net/thread-302146-1-1.html
本人优酷:http://i.youku.com/WoodyMo
本人微博:http://weibo.com/WoodyMo
CBL官方微博:http://weibo.com/u/5624468659
>>本人索引贴链接<
[groupid=546]Command Block Logic[/groupid]
作者: 乾.坤 时间: 2015-7-30 15:55
yooo,CBL双杀
作者: 1104565360hzh 时间: 2015-7-30 16:01
然而红石和指令什么的我真是*** 不过LZ还是很好的 赞一个(有了飞行还要悬浮真是丧病)
作者: [email protected] 时间: 2015-7-30 16:14
大触,我们做朋友吧
作者: Sao_N 时间: 2015-7-30 16:22
快照才出来,就开始研究这些了。。。。话说双持的左手边的武器怎么用啊
作者: Sao_N 时间: 2015-7-30 16:24
我只听到按键声 @pca006132
作者: G王者Z巨蟹Y 时间: 2015-7-30 16:51
本帖最后由 G王者Z巨蟹Y 于 2015-7-30 16:53 编辑
原理说的浅显易懂…… 只可惜我没玩过命令方块
其实我是被百合子的名字吸引进来的,不过作为RA2党,我想说尤里大叔比百合子更早掌握悬浮技术吧
不知道百合子和尤里对决的场面会是怎样的
作者: 9447600 时间: 2015-7-30 17:52
太感谢lz了,你的概念有了制作JS的灵感。
作者: owiemaness 时间: 2015-7-30 20:02
厉害还没出就做好了准备(就怕出些意外问题无用了)
作者: chyx 时间: 2015-7-30 21:01
百合子欧米茄是什么鬼
不过你做的确实好快
作者: Оil 时间: 2015-7-30 21:03
空中悬浮……呃……
作者: zt2286358700 时间: 2015-7-31 12:20
又学到一些知识了
作者: lzs1234 时间: 2015-8-15 18:31
然而你潜水的这段时间论坛全在抢1.9饭碗23333
教程写得很好,简单易懂。加分去了
作者: 岩浆害人2x 时间: 2015-8-15 23:09
1.9继续命令高能
技术也高能