ページ 11

沢山のキャラクターを一度に移動させるスクリプトのかきかた

Posted: 2020年4月13日(月) 02:37
by sousei0303
こんにちは、今EV01からEV045までを一度に
左へ5歩移動させるイベントを作りたくて色々調べています。
(数が多すぎるのでボタンではなくスクリプトでやりたいです)
スクリプトで動かせるようなのでかいてみたのですがうまくいきません。
スクリプトのかきかたがまちがっていると思うのですがよくわかりません。
これはどうすればいいでしょうか。
this.character(EV001,EV002,~EV045).forceMoveRoute({
"list":[{"code":2;2;2;2;2;"parameters":パラメータ}

Re: 沢山のキャラクターを一度に移動させるスクリプトのかきかた

Posted: 2020年4月13日(月) 04:29
by Plasma Dark
スクリプトのかきかたがまちがっていると思うのですがよくわかりません。
this.character(EV001,EV002,~EV045).forceMoveRoute({
"list":[{"code":2;2;2;2;2;"parameters":パラメータ}
Game_Interpreter.prototype.character が受け取る引数は数値型を想定されています。
listは移動コマンドリストであり、移動コマンドのcodeは数値型、parametersは(今回は使用しませんが)配列型です。

以上を踏まえ、同一マップ内のイベントID1~45を一斉に左へ5歩移動するスクリプトは以下のようになります。

コード: 全て選択

[...Array(45).keys()].map(i => ++i)
  .map(eventId => this.character(eventId))
  .forEach(event => event.forceMoveRoute({
    list: [
      {code: 2, parameters: []},
      {code: 2, parameters: []},
      {code: 2, parameters: []},
      {code: 2, parameters: []},
      {code: 2, parameters: []}
    ]
  }));

Re: 沢山のキャラクターを一度に移動させるスクリプトのかきかた

Posted: 2020年4月13日(月) 15:01
by sousei0303
具体的にありがとうございます!
こうやってスクリプトをかくのですね。勉強になります!!
さっそくこれで動かしてみます。 :D