【至急】ScriptAPIについて質問

スポンサーリンク

マイクラの配布サイト フォーラム 技術相談(統合版) 【至急】ScriptAPIについて質問

  • このトピックには3件の返信、2人の参加者があり、最後に餅わらびすとにより4ヶ月前に更新されました。
2件の返信スレッドを表示中
  • 投稿者
    投稿
    • #85851返信
      バナナ
      参加者

      以下のコードにおいて、ランダムなX,ランダムなZの部分にscripteventで代入したXrandom,Zrandomの値をそれぞれ入れられるようにしたいです。

      このコードはプレイヤーと定期的に設定できるランダム座標との距離を測れるようにするもので詰まったときのものです。

      import { world, system } from ‘@minecraft/server’;
      system.afterEvents.scriptEventReceive.subscribe(ev => {
      if(ev.id === “MG:random”) {
      const Xrandom = Math.floor(Math.random() * 200000) – 100000
      const Zrandom = Math.floor(Math.random() * 200000) – 100000
      }
      });

      system.runInterval(() => {
      let players = world.getAllPlayers();

      for (let player of players) {
               
      const ScoreName = “MGDistance”
      const SelectPos = [ランダムなX, 100 ,ランダムなZ]
      const PlayerPos = player.location

      const score = getScore(player, ScoreName)
      if(score == undefined){
      player.runCommandAsync(scoreboard players set @s ${ScoreName} 0)
      }

      const Distance = Math.round(Math.sqrt((SelectPos[0]-PlayerPos.x+0.5)**2+(SelectPos[1]-PlayerPos.y)**2+(SelectPos[2]-PlayerPos.z+0.5)**2))
      setScore(player, ScoreName, Distance)

      }
      });

      function getScore(target, objective){
      try {
      return world.scoreboard.getObjective(objective).getScore(target.scoreboardIdentity);
      } catch {
      return null;
      }
      }

      function setScore(target, objective, value){
      try {
      world.scoreboard.getObjective(objective).setScore(target.scoreboardIdentity, value);
      } catch {
      return target.runCommandAsync(scoreboard players set @s ${objective} ${value});
      }
      }

    • #85951返信

      Xrandom、ZrandomをそれぞれDynamicPropertyに保存し、使いたいところで保存したものを取得すればできます

      //XrandomというキーでXrandomを保存する
      world.setDynqmicProperty(‘Xrandom’, Xrandom);

      //Xrandomというキーで保存した値が返ってくる
      world.getDynamicProperty(‘Xrandom’);

    • #85953返信
      バナナ
      参加者

      本当にありがとうございます!
      助かりました!

2件の返信スレッドを表示中
返信先: 【至急】ScriptAPIについて質問
あなたの情報: