如题,版本1.12.2
我想要玩家第一次进入游戏领取物品,然后不能领取第二次,怎么做?
我想要玩家第一次进入游戏领取物品,然后不能领取第二次,怎么做?
本帖最后由 Peanutz_OwO 于 2020-8-13 20:00 编辑
使用函数。
创建 kit 命名空间,再在游戏中创建名为 ifNotNewer 的 dummy 记分项。在函数 tick 中写这条命令,用于判断是否是新玩家:
复制代码然后在函数 newer 中写这些命令:
复制代码最后在游戏中输入 /gamerule gameLoopFunction kit:tick 。
使用函数。
创建 kit 命名空间,再在游戏中创建名为 ifNotNewer 的 dummy 记分项。在函数 tick 中写这条命令,用于判断是否是新玩家:
- execute @a[score_ifNotNewer=0] ~ ~ ~ function kit:newer
- give @s ...
- ... // 一系列 /give 物品
- scoreboard players set @s ifNotNewer 1
Peanutz_OwO 发表于 2020-8-13 18:50
使用函数。
创建命名空间为 kit 的数据包,再创建名为 new 的记分项。在标签函数 tick 中写这条命令,用于 ...
有没有更简单的?
Peanutz_OwO 发表于 2020-8-13 19:20
原版的话……没想到更简单的方式。(等会儿这是 1.13+ 的命令格式,我改一下) ...
我想尝试玩家第一次进入给分数或者tag,但是不知道怎么搞
老鼠吃奶酪 发表于 2020-8-13 19:25
我想尝试玩家第一次进入给分数或者tag,但是不知道怎么搞
用 /tag 差不多,关键是如何判断第一次进入,我能想到的就记分板和标签:以所有 ifNewer 分数不高于 0 或不带有 notNewer 标签的玩家为执行者执行 /give @s 命令并设定 ifNewer 分数为 1 或添加 notNewer 标签。
Peanutz_OwO 发表于 2020-8-13 19:32
用 /tag 差不多,关键是如何判断第一次进入,我能想到的就记分板和标签:以所有 ifNewer 分数不高于 0 或 ...
听不懂,列一下详细的指令
本帖最后由 Peanutz_OwO 于 2020-8-13 20:00 编辑
就像这样:
创建 kit 命名空间。在函数 tick 中写这条命令,用于判断是否是新玩家:
复制代码然后在函数 newer 中写这些命令:
复制代码最后在游戏中输入 /gamerule gameLoopFunction kit:tick 。
老鼠吃奶酪 发表于 2020-8-13 19:46
听不懂,列一下详细的指令
就像这样:
创建 kit 命名空间。在函数 tick 中写这条命令,用于判断是否是新玩家:
- execute @a[tag=!notNewer] ~ ~ ~ function kit:newer
- give @s ...
- ... // 一系列 /give 物品
- scoreboard players tag @s add notNewer