About

位置 (-1920,12,-189)

呼び出し元 毎tick実行するコマンド群3

交易島にいるエージェントとの会話処理を行い、その会話内容やプレイヤーの手持ちのエメラルド等により職業島までのワープフラグを与える。

コマンド群

No. コマンド 状態
1 /execute 0-0-1-0-2 ~ ~ ~ /execute @e[r=24,type=Villager,tag=Agent,c=1] ~ ~ ~ /scoreboard players tag @a[r=5,score_AgentFlag_min=1] add AgentYes  
2 /scoreboard players enable @a[score_AgentFlag_min=1,tag=!AgentYes] AgentFlag  
3 /scoreboard players set @a[score_AgentFlag_min=1] AgentFlag 0  
4 /scoreboard players set @a[tag=AgentYes] ItemCount -1  
5 /clear @a[tag=AgentYes] minecraft:emerald 0 0 条件付き
6 /execute @a[tag=AgentYes] ~ ~ ~ /scoreboard players operation @a[c=1] ItemCount -= @a[c=1] AgentWarpCost  
7 /tellraw @a[tag=AgentYes,score_ItemCount=-1] {“text”:”[エージェント] エメラルドが足りないナ。”} 条件付き
8 /scoreboard players reset @a[tag=AgentYes,score_ItemCount=-1] AgentFlag 条件付き
10 /tellraw @a[tag=AgentYes,score_ItemCount_min=0] {“text”:”[エージェント] 代金は頂いタ。もう1度アイテムを持たずに話しかけてくレ。”}  
11 /execute @a[tag=AgentYes,score_ItemCount_min=0] ~ ~ ~ /scoreboard players operation @a[c=1] Payment += @a[c=1] AgentWarpCost 条件付き
12 /scoreboard players tag @a[tag=AgentYes,score_ItemCount_min=0] add AgentOK 条件付き
13 /scoreboard players tag @a[tag=AgentYes] remove AgentYes  

詳細

  1. ShopGMから半径24m以内のAgentを持つ村人(エージェント)を一人選択し、その村人から半径5m以内のAgentFlagが1以上であるすべてのプレイヤーにAgentYesを付与
  2. AgentFlagが1以上であり、AgentYesを持っていないすべてのプレイヤーにAgentFlagへの書き込みを許可
  3. AgentFlagが1以上であるすべてのプレイヤーのAgentFlagを0に設定
  4. AgentYesを持つすべてのプレイヤーのItemCountを-1に設定
  5. AgentYesを持つプレイヤーを一人選択し、ItemCountからAgentWarpCostを引き、以下の事柄を実行
    • AgentYesを持ち、ItemCountが-1以上であるすべてのプレイヤーに「[エージェント] エメラルドが足りないナ。」とのメッセージを送信し、AgentFlagを0に設定
  6. AgentYesを持ち、ItemCountが0以上であるすべてのプレイヤーに「[エージェント] 代金は頂いタ。もう1度アイテムを持たずに話しかけてくレ。」とのメッセージを表示し、以下の事柄を実行
    • PaymentAgentWarpCostを足してAgentOKを付与
  7. AgentYesを持つすべてのプレイヤーからAgentYesを削除