奖励分配(每级不同物品与数量奖励) - woshiermuqwq/mythic-chinese GitHub Wiki

情景(最低版本要求: MM免费版 4.8.0 Spigot/Paper 1.12.2)

若MM版本低于4.9, 请将"give"替换为"dropitem"或"command"

现有一个实体,死亡后将令:
输出最高的玩家获得 1颗钻石
输出第二的玩家获得 2块金锭
输出第三的玩家获得 3块铁锭

原理 (无载体)

通过 Summon 修改项: copythreattable 以复制施法者的威胁表
复制后进行奖励分配.
选取目标后将其威胁度设为0以让输出第二的玩家成为输出第一, 以此类推.

涉及技能 / 条件

完整的 实体配置

SomeOne:
 Type: zombie
 Modules:
  ThreatTable: true
 Skills:
 - summon{t=死亡分配奖励;copyThreatTable=true} @self ~onDeath

死亡后 于自身位置 生成 死亡分配奖励 并复制自己的威胁度给该实体.
任何实体只需要加上该行 - summon{t=死亡分配奖励;copyThreatTable=true} @self ~onDeath,
即可启用 奖励分配机制

死亡分配奖励:
 Type: marker
 Modules:
  ThreatTable: true
 Skills:
 - setvar{var=target.rewarded;v="0"} @pir{r=50} ~onSpawn
 - skill:死亡分配奖励A @pir{r=50;limit=1;sort=HIGHEST_THREAT} ~onSpawn

1.17以下请用实体类型: Armor_Stand
生成后将位于50格方块半径 球体范围内的所有玩家身上的变量: rewarded 值设为 0.
生成后对 位于50格方块半径 球体范围内 威胁度最高的玩家 激活技能组: 死亡分配奖励A.
变量相当于一个奖励次数判定噢.

技能配置

死亡分配奖励A:
 TargetConditions:
 - varrange{var=target.rewarded;v=<1}
 Skills:
 - give{i=DIAMOND}
 - threat{amount=0;m=SET}
 - setvar{var=target.rewarded;v="1";save=true}
 - skill:死亡分配奖励B @pir{r=50;limit=1;sort=HIGHEST_THREAT}

该技能组对所选取玩家的条件为: 位于其身上的变量: rewarded 的值 不为 0.
给予技能目标一颗钻石, 并设其威胁度为 0, 设位于其身上的变量: rewarded 的值 为 1
且变量不会在重载/玩家退出服务器时消失.
并重新选取 位于50格方块半径 球体范围内 威胁度最高的玩家 激活技能组: 死亡分配奖励B.

死亡分配奖励B:
 TargetConditions:
 - varrange{var=target.rewarded;v=<1}
 Skills:
 - give{i=GOLD_INGOT;repeat=1;repeatInterval=1}
 - threat{amount=0;m=SET}
 - setvar{var=target.rewarded;v="1";save=true}
 - skill:死亡分配奖励C @pir{r=50;limit=1;sort=HIGHEST_THREAT}

该技能组对所选取玩家的条件为: 位于其身上的变量: rewarded 的值 不为 0.
给予技能目标俩块金锭, 并设其威胁度为 0, 设位于其身上的变量: rewarded 的值 为 1
且变量不会在重载/玩家退出服务器时消失.
并重新选取 位于50格方块半径 球体范围内 威胁度最高的玩家 激活技能组: 死亡分配奖励C.

死亡分配奖励C:
 TargetConditions:
 - varrange{var=target.rewarded;v=<1}
 Skills:
 - give{i=IRON_INGOT;repeat=2;repeatInterval=}
 - threat{amount=0;m=SET}
 - setvar{var=target.rewarded;v="1";save=true}
 - remove @self

该技能组对所选取玩家的条件为: 位于其身上的变量: rewarded 的值 不为 0.
给予技能目标三块贴锭, 并设其威胁度为 0, 设位于其身上的变量: rewarded 的值 为 1
且变量不会在重载/玩家退出服务器时消失.
最后移除自身.

⚠️ **GitHub.com Fallback** ⚠️