本帖最后由 乙烯_中国 于 2015-7-24 12:28 编辑
复制代码
复制代码
复制代码
,这样每当有一次地图生成就可以map计分板+1复制代码
复制代码
复制代码
复制代码
复制代码
复制代码
http://pan.baidu.com/s/1c0lngyO
这里是版主,这附件似乎上传不了,我就暂时用我的百度盘来代替了
大家好,我是等于号,最近cbl发布了足球,大家都在说不明觉厉,但是外行看热闹,内行看门道,真正懂行的能看出,足球的游戏系统并不算是特别复杂,复杂不一定是王道,能把简单的指令做到好玩才是正道,那么今天我就借这个机会将我之前所攒下来的一些对左键和右键的判定方法进行简单的归纳,有的过于简单的会用很概括性的语句概括过去。
此外对于左键和右键系统,个人认为版主的这件作品处理的较为极致,采用了展示框这种极其凑巧的方式,是就事论事的典型之作,而且其方法异于我的思考架构,故在此进行推荐。
第一大点,左键
首先我们来说左键,左键的功能较少,主要的功能为攻击和挖掘,那我们可以看出他能做到哪些事,比如减少别的生物的血量,杀死实体,还有将某些方块变为空气,总的来说挖掘进行探测的话略微有一点极限,但是技术上只需要testforblock或者计分板探测挖掘就可以轻松实现,所以暂不赘述,左键我打算重点讲攻击这一块。
攻击可以分为两点,一点是血量探测,一点是对杀的探测。
第一点,血量探测,这点可以采用summon一个隐形实体的办法,在需要进行探测的地方summon任何一个血量上限超过1的生物,然后给予其回血的buff,再接下来我们只需要探测其血量就好。或者也可以考虑探测玩家受到的伤害。
第二点,杀死实体的探测。这个可以summon一个一点血的生物让玩家造成一击必杀的效果,但是每次需要summon复位,可以使用计分板的杀死的判据来制作。
第二大点,右键。
那么接下来是右键的系统,右键主要的功能就是互动功能,功能多而杂,主要就是对其操作造成的改变进行探测。
一,村民。
首先就是我们喜闻乐见的右键隐形村民大法。这里主要应用了计分板的判据。
- /summon Villager ~ ~1 ~
- {NoAI:1b,Silent:1b,Offers:{Recipes:[]}}
这是生成村民的命令,注意其交易指令记得填空。这里为了视觉效果并未隐形
- /scoreboard objectives add villager
- stat.talkedToVillager score
这是建立相应计分板的指令,建立这个指令你再右键一次村民分数便会+1,这样配合选择器的位置,便可以做出很多的互动,参考可以看CBL的足球的等待大厅。
二,地图。
其次也有很多其他的办法,比如旧日的地图大法。
地图有两种办法,一种是旧日的clear方法,现在可以配合stats的
- /stats entity @a set AffectedItems @p map
,这样每当有一次地图生成就可以map计分板+1
当然也有更简单的办法。
- /scoreboard objectives add map
- stat.useItem.minecraft.map
(注意这里不是filled_map)
建立了这个计分板后就能直接做到玩家的计分板和map挂钩,一旦绘制了地图,就会有map+1。
三,投掷类物品。
当然,还有别的右键探测办法,比如对于投掷类道具的使用可以是右键的一个比较方便的做法。比如药水。
但是实际上操作方法和地图很类似,因为都是使用,我们可以用这样的指令来进行探测
- /scoreboard objectives add potion
- stat.useItem.minecraft.potion
这样一旦我们使用的了药水,这个计分板就会+1,其余道具同理。
四,盔甲架。
那么我们在冒险地图中也经常见到一些小场景,比如美丽沙世界里面有拾取卡片的细节,就是利用右键的技巧,那么我们也能通过给AS拿下或者放上什么东西来触发机关。
- testfor @e[type=ArmorStand]
- {Equipment:[0:{},1:{},2:{},3:{},4:{id:"minecraft:diamond_helmet",Count:1b,Damage:0s}]}
高频对其进行探测,这里探测的是帽子为钻石甲时就会输出,当然,用计分板也是可以的。
五,装备。
右键还有别的作用,例如穿上盔甲,我们可以高频探测以下指令。
- /testfor @p
- {Inventory:[{Slot:102b,id:minecraft:diamond_chestplate,Damage:0s,Count:1b}]}
然后作用起效后可以这样
- /replaceitem entity @a slot.armor.chest
- minecraft:air
清楚盔甲,这样就可以重复激活指令。
六,其他。
也有给隐形的羊染色来探测的这种损办法。染色也是右键。
- /testfor @e[type=Sheep] {Color:4b}
当然,例如陷阱箱这种自带右键探测的东西我就不细说了。
一会儿放个存档来看看吧。(上传不了存档和图片,求版主大大帮忙qwq)@乙烯_中国
那么今天就这样吧,我是等于号,大家再见。
http://pan.baidu.com/s/1c0lngyO
这里是版主,这附件似乎上传不了,我就暂时用我的百度盘来代替了
大神好!【跪
火钳留名,我只知道cbl发布了足球...那个很不错
火钳留名,我只知道cbl发布了足球...那个很不错
为楼主默哀……他们正在写左右键检测教程啊……正好撞枪口上……
好吊,表示什么都看不懂{:10_495:}
本帖最后由 乙烯_中国 于 2015-7-24 11:52 编辑
恩,看了一下,的确是把各种主流的方法给总结起来了,给羊染色的那点更是有着创意,你把存档用邮件发给我吧,我来帮你完成剩下内容。是值得推广的内容,作为近日多数新人帖子中非常好的一种,先给个高亮。
恩,看了一下,的确是把各种主流的方法给总结起来了,给羊染色的那点更是有着创意,你把存档用邮件发给我吧,我来帮你完成剩下内容。是值得推广的内容,作为近日多数新人帖子中非常好的一种,先给个高亮。
呵呵,语言真熟练,这种探测的方法,我一般都讲不了那么多呢
讲得很详细也很实用,好评~
不明觉厉-=-

涨姿势了,谢谢LZ
左键探测还可以用{HurtTime}探测,在玩家面前生成一个隐形静音无AI的村民或者什么,探测其HurtTime,然后杀掉。
不过好像还是刷{HealF:1.0F}更方便XD
不过好像还是刷{HealF:1.0F}更方便XD
本帖最后由 ouqianwei 于 2015-7-24 23:43 编辑
L Z是新人吗?,教程忽略了很多会导致bug的细节←_←
不过是新人的话,顶一个~
L Z是新人吗?,教程忽略了很多会导致bug的细节←_←
不过是新人的话,顶一个~
直接召唤一个傻子村民不就可以了吗?
本帖最后由 海绵c2 于 2020-1-5 23:29 编辑
可以通过鱼竿,右键后抛出鱼竿,检测是否有鱼竿抛出
可以通过鱼竿,右键后抛出鱼竿,检测是否有鱼竿抛出
可是如果要弄一个特殊的物品,该怎么检测然后传送村民呢?
学习一下
额有点看不懂这个