指令教程[第八期]高级箱子商店
本期教程将教学箱子商店,使玩家在一个箱子里可以购买许多物品(如图1-1所示)。(指令很长)
本教程以木棍和钻石作为例。



准备部分:
在对话框中输入以下三条指令。
第一条:
创建一个计分板,用来分辨玩家买的是什么商品。指令如下:
第二、三条
给自己带有特殊值的物品,即将售卖的物品。其中第一个参数为数量,第二个参数为特殊值的值。指令如下:
然后将特殊物品用铁砧重命名为"物品-价格"放入箱子内,再将箱子克隆到需要售卖的地方。详见clone指令。

主体部分:
1.循环|无条件
将玩家shop积分项设置为0,指令如下:
2.连锁|有条件的
开始设置购买第一个物品,shop计为1,指令如下:
3.连锁|有条件的
可以通过清除玩家0个特殊值为2的木棍,用来判定是否持有目标物品,指令如下:
4.连锁|有条件的
检测玩家的金币是否在5~2147483647范围内,即金币是否足够,指令如下:
注:本教程金币的计分项为a。
5.连锁|有条件的
给与玩家物品,指令如下:
6.连锁|有条件的
扣除玩家5个金币,指令如下:
7.连锁|有条件的
清楚玩家身上的特殊值物品,指令如下:
8.连锁|有条件的
用title告知玩家购买成功,指令如下:
注:用tellraw告知也不错。
9.连锁|有条件的
将玩家的shop项重置为0,指令如下:
到这里,购买成功的部分就结束了。但是如果玩家金钱不够,则需要清除物品。
10.连锁|无条件的
和上面第二条指令相同,检测玩家是否持有特殊物品,指令如下:
11.连锁|有条件的
检测玩家的金币是否不足,即是否小于5指令如下:
12.清除玩家从箱子中拿走的物品,指令如下:
13.告知玩家余额不足,指令如下:
14.重置玩家shop计分项的值为0,指令如下:
到这里,第一个物品就结束了。这里同时写了售卖钻石的指令,可以对比不同,方便理解。
第二个物品将简写,指令如下:

如果嫌麻烦,还是老老实实搞大型商店吧。有问题请留言私信或加群探讨。