minecraft吧 关注:1,800,839贴子:29,184,248

【CBL·乾坤】两种不同的自定义指令(gamerule与trigger)详解

只看楼主收藏回复

大家好。这是本人除夕三部曲中的第二部——两种不同的自定义指令(gamerule与trigger)详解。我分别用/gamerule和/trigger做了两个例子,链接如下:
【CBL·乾坤】[Command Magican系列] 猪骑士:http://tieba.baidu.com/p/3592832689
【原版模组系列】自定义指令之——爆炸猪:http://tieba.baidu.com/p/3565082356
各位可以去看看,本教程主要讲的是两种指令的使用方法及对比


回复
1楼2015-02-18 21:49
    2018-11-19 21:05 广告
    2楼自粘


    收起回复
    来自Android客户端2楼2015-02-18 21:49
      3楼存档


      收起回复
      来自Android客户端3楼2015-02-18 21:49
        4楼备用


        收起回复
        来自Android客户端4楼2015-02-18 21:49
          然后楼主就机智的弃了这个坑了啊


          收起回复
          5楼2015-02-18 21:53
            然后我来帮楼主完坑


            回复
            6楼2015-02-18 21:54


              回复
              来自Android客户端7楼2015-02-18 21:55
                顶!


                回复
                来自Android客户端8楼2015-02-18 21:55
                  加油楼主


                  回复
                  来自Android客户端9楼2015-02-18 21:55
                    顶。。。


                    回复
                    来自Android客户端10楼2015-02-18 21:56
                      前排


                      回复
                      来自Android客户端11楼2015-02-18 21:56
                        首先,我们先来看一下两种指令该如何使用,先讲gamerule命令。
                        自定义命令的第一步是/gamerule test 1 ,大家可能会疑惑:gamerule不是只能特定游戏规则才可以么?而且后面跟的都是ture或false,例如/gamerule doDaylightCycle false 。其实,这条命令不同于别的gamerule命令,它是另外一种种类,当你输入这条指令时,其实产生了两个结果:
                        1.创建名为“test”的gamerule,当然这里可以换成别的
                        2.将名为”test“的gamerule的分数设为1


                        收起回复
                        12楼2015-02-18 22:25
                          嗯,接着讲


                          回复
                          来自Android客户端13楼2015-02-18 22:39
                            既然是分数,我们就有办法解决,其实,在stats命令中有一个分支叫QueryResult,这个分支是专门将执行任务所产生的值与计分板建立连接的("建立连接"这个概念来自于空白的stats教程),例如time的值,当然也包括gamerule所产生的值,所以下一步就是先创建一个名为test的计分板,并设立假名,将gamerule的分数与计分板建立连接。
                            先是创建一个名叫test的积分版:scoreboard objectives add test dummy
                            然后创建一个名叫score的在test内的假名:/scoreboard players set score test 0
                            并让他在侧边栏显示:/scoreboard objectives setdisplay sidebar test
                            下面是关键的一步,在地上放下一个命令方块,在命令方块内输入命令/gamerule test
                            这条命令的意思是探测test的分数值,如图:

                            下面就是test的值,然后记住此命令方块的坐标,然后在控制台输入:/stats block 【命令方块的X坐标】【命令方块的Y坐标】【命令方块的Z坐标】 set QueryResult score test
                            结果是这样的


                            然后输入/gamerule test 1且激活刚才的命令方块,会发现侧边栏的score分数变为了1


                            最后使用
                            /scoreboard players test score tests 1 1
                            即可完成一系列探测


                            收起回复
                            14楼2015-02-18 23:07
                              讲完了第一种gamerule的方法,现在我们来说说第二种


                              回复
                              15楼2015-02-18 23:10
                                长知识了,一种以为gamerule后面只能加规则多谢lz


                                回复
                                来自手机贴吧16楼2015-02-18 23:12


                                  回复
                                  来自Android客户端17楼2015-02-18 23:24
                                    trigger命令其实是基于tellraw命令的一种分支命令,其作用与gamerule差不多,且有过之,因为trigger可让玩家使用,且可限制使用次数,下面说一下使用方法:
                                    老样子,创建一个名叫名叫test1的计分板:scoreboard objectives add test1 trigger
                                    大家注意,这条指令的判据是trigger,与以前的什么dummy什么的不同,然后输入
                                    scoreboard players enable @p test1
                                    这条指令就是trigger的核心,意思是给予离命令发出者最近的人使用trigger改变test1的分数的权限
                                    最后就是/trigger test1 set 1
                                    这条指令的意思是将test1的值通过triggerset到1,有两种模式,一种是set,一种是add
                                    最后一样/scoreboard players test score test1 1 1


                                    收起回复
                                    19楼2015-02-18 23:38
                                      下面是两种方法的对比


                                      回复
                                      20楼2015-02-18 23:40
                                        根据我之前发的两种方法,我们可以看出,无论操作还是使用,都是trigger要更胜一筹,但是因为gamerule命令的广大普及性和方便性,似乎更多人愿意使用/gamerule test 1而不是/trigger test set 1 ,这就是原因所在,至于具体如何使用,还要看诸君自己定夺。


                                        回复
                                        22楼2015-02-18 23:47
                                          【完】


                                          回复
                                          23楼2015-02-18 23:48
                                            收起回复
                                            来自Android客户端25楼2015-02-18 23:50


                                              回复
                                              来自Android客户端26楼2015-02-18 23:51
                                                新春快乐


                                                回复
                                                27楼2015-02-18 23:51
                                                  ~


                                                  回复
                                                  来自Android客户端28楼2015-02-18 23:52
                                                    HL(火留)


                                                    回复
                                                    29楼2015-02-18 23:54
                                                      完了,我对CB啥的完全是文盲了


                                                      回复
                                                      来自Android客户端30楼2015-02-18 23:55
                                                        支持楼主~


                                                        收起回复
                                                        来自Android客户端31楼2015-02-18 23:55
                                                          大家新年好!


                                                          收起回复
                                                          来自Android客户端34楼2015-02-19 00:12

                                                            扫二维码下载贴吧客户端

                                                            下载贴吧APP
                                                            看高清直播、视频!