选择器有什么用呢?就是选择实体 比如你在做小游戏,要使用命令对某个玩家/实体加上特效 那么你应该怎么做呢?难道你把玩家的名称穷举出来?这个是没有可能的 所以在这个时候选择器就派上用场了 以下是老夫小弟对选择器的一些心得,希望帮助到大家 选择器有四个,分别是 @a:选择所有玩家(这个选择器不能有type) @p:选择最近的玩家(这个选择器不能有type) @r :选择随机的一个玩家(如果有type,就是选择那种实体) @e:选择所有的实体(包括玩家) 当然,选择器还有一部分叫选择器参数
参数名称 | 用途 | x, y, z
| 以该坐标作为判定的起始点,如果不填,就使用执行命令的坐标
| r, rm
| 离判定的起始点的距离
比如@p[r=10,rm=3]就是离判定的起始点的距离小于/等于10米,大于/等于3米的最近玩家
| m
| 游戏模式,0为生存、1为创造、2为冒险、3为观察者
| c
| 数量
比如@e[c=5]就是最近的5个实体,@e[c=-5]就是最远的5个实体
(当那些实体的距离一样时,它就会选择存在最久的,而负数的话就是最年轻的) | l, lm
| 经验等级,l是小于等于,lm是大于等于
| score_目标名称
| 该目标的分数范围(小于等于)
| score_目标名称_min
| 该目标的分数范围(大于等于)
| team
| 队伍名称
| name
| 实体的名称
| dx, dy, dz
| 长方体的范围
由起始点延伸出去(dx就是x轴延伸的格数,如此类推)的范围内的实体
| rx, rxm
| 0:水平;-90:向上;90:向下
rx:最大的角度;rxm:最小的角度
| ry, rym
| 0:+Z方向;90:-X方向;180(-180):-Z方向;-90:+X方向
ry:最大的角度;rym:最小的角度 | type
| 实体种类 |
参数名称用途x, y, z以该坐标作为判定的起始点,如果不填,就使用执行命令的坐标r, rm离判定的起始点的距离比如@p[r=10,rm=3]就是离判定的起始点的距离小于/等于10米,大于/等于3米的最近玩家m游戏模式,0为生存、1为创造、2为冒险、3为观察者c数量比如@e[c=5]就是最近的5个实体,@e[c=-5]就是最远的5个实体(当那些实体的距离一样时,它就会选择存在最久的,而负数的话就是最年轻的)l, lm经验等级,l是小于等于,lm是大于等于score_目标名称该目标的分数范围(小于等于)score_目标名称_min该目标的分数范围(大于等于)team队伍名称name实体的名称dx, dy, dz长方体的范围由起始点延伸出去(dx就是x轴延伸的格数,如此类推)的范围内的实体rx, rxm0:水平;-90:向上;90:向下rx:最大的角度;rxm:最小的角度ry, rym0:+Z方向;90:-X方向;180(-180):-Z方向;-90:+X方向ry:最大的角度;rym:最小的角度type实体种类 而选择器参数是这样的选择器[参数名称=数值(,参数名称=数值)] 比如 @e[type=ArmorStand,name=!abcd,c=5] 就是一个选择器 而@e 也是一个选择器 如果在文字的数值(比如type和name)前面加上!,就代表除了那个数值以外的 比如@a[name=!pca006132] 就是名字不是pca006132的所有玩家 【注意!以下部分的内容只是作者的测试得出的结果。不肯定是否有例外/还没有包括的例子】 接受的字符: 选择器参数接受的字符:,0-9a-z A-Z = ! _ - (没有空白)如果选择器参数里出现了不接受的字符,游戏会把它视为玩家名称数值里接受的符号:0-9 a-z A-Z_ -如果数值里出现别的符号,整个参数(参数名称=数值)以及后方的所有参数都会被无视参数名称里能够接受的符号:0-9 a-z A-Z _如果参数名称里出现别的符号,整个参数(参数名称=数值)以及后方的所有参数都会被无视如果那个数值是填数字的(比如x/y/z等等)而你填了非数字的东西进去,他会把这个参数无视比如@e[dx=abc] 和 @e 基本上是没有分别的 关于坐标/c的问题: 如果选择器里有任何关于坐标的参数(比如x/y/z/r),那个参数的作用范围就是执行的世界比如我在主世界执行的命令里,那个参数是@e[x=0,y=64,z=0],那么这个指令就只会影响主世界的实体如果那个选择器里同时有dx/dy/dz和r/rm,那么r/rm会被忽略如果那个选择器里有dx/dy/dz任何一个/两个,那么剩余的会默认为0比如@a[dy=5] 和 @a[dx=0,dy=5,dz=0]是一样的c会优先选择在执行的世界的实体/玩家,然后就是别的世界距离你现在坐标最近的实体 其他:(我想不到怎么分类) 选择器选择实体的次序:和正数的c类似,都是从最近到最远由于一个参数是参数名称=数值如果你的参数里缺少了其中一个东西,他会把这个参数和后方的所有参数忽略比如@e[name,type=ArmorStand],他就会当成是@e每个参数只可以出现一次,如果多于一次,他会被后方的数值覆盖比如@e[type=Player,type=ArmorStand,type=Snowball] ,他就会当成是@e[type=Snowball]在type这个参数里,如果你输入的数值不正确,他会提示你(出错)。
一哥手游平台是重庆一哥手游科技公司旗下手机游戏玩家平台,以精品运营为理念,以贴心服务为宗旨,致力于为各种不同渠道与玩家打造好玩的手机游戏服务平台,同时免费提供丰富的手机游戏下载,立志成为国内一流的综合性手机游戏娱乐平台,不断追求更加卓越的品质!一哥手游!
|