【解決済み】MV:変数の番号の変数について

Casmai
記事: 3
登録日時: 2016年9月02日(金) 06:33

【解決済み】MV:変数の番号の変数について

投稿記事by Casmai » 2016年9月02日(金) 07:18

初投稿です。よろしくお願いします。ほぼ素人です。

アクションRPGを作ろうと思いまして、YADOT様のサイトを参考にしていたのですが、
変数の番号の変数(2000にはあるがMVには無い)のところでつまずいております。

MVでは変数に変数の番号の変数を入れるにはどうすればいいでしょうか。


変数の操作:#0023 敵HP変数番号=イベントID←(イベントIDには事前に3が代入されてます)
変数の操作:#0023 敵HP変数番号+=100←(これで変数23の値は103になっているはずです)
そして次に、変数#0024に変数#0023の変数の番号の変数を入れたいのです。
そこで、調べて出てきた以下のスクリプトを入れてみました。

val1=$gameVariables.value(24);

val2=$gameVariables.value(23);

$gameVariables.setValue(val1,val2);

変数#0103には事前に10の値を代入しているので、
変数#0024の値も10になってくれるはずなのですが代入されません。0のままです。
指示の出し方が間違っているのでしょうか?何かわかる方がいらっしゃいましたら、お教えいただけると幸いです。
最後に編集したユーザー Casmai on 2016年9月05日(月) 06:20 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: MV:変数の番号の変数について

投稿記事by 奏ねこま » 2016年9月02日(金) 08:20

変数24に入れたいのであれば、最後の行は
$gameVariables.setValue(24,val2)
じゃないですか?
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: MV:変数の番号の変数について

投稿記事by まっつUP » 2016年9月02日(金) 18:18

Casmai様
お世話になります。
val1=$gameVariables.value(24);
val2=$gameVariables.value(23);
$gameVariables.setValue(val1,val2);
と、スクリプトで命令を出しているようですが
これだとゲーム変数24番にその時入っている数字と大きさが等しいIDの変数が操作されます。
ゲーム変数24番に1が入っていればゲーム変数1番が操作されると思います。
したがって変数val1に24を入れてIDを指定してあげるのがいいんじゃないかと思います。
あと、余談ですが変数の前にはvar を入れた方がいいと思いました。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
Casmai
記事: 3
登録日時: 2016年9月02日(金) 06:33

Re: MV:変数の番号の変数について

投稿記事by Casmai » 2016年9月04日(日) 05:44

@こま様 まっつUP様 ご返信ありがとうございます。
知識がほとんどないもので、いろいろ間違っている部分があると思いますがご容赦ください。

まず、お二方のご指摘のおかげで上記のスクリプトの解釈を間違っていた事に気がつけました。ありがとうございます。
この数日いろいろ調べて試してみたのですが、やはり思うように動かすことができませんでした。
そこで、もう一度質問し直させてください。

以下、実行内容

①変数#0103=10             スクリプトで書くと⇒ $gameVariables.setValue(103,10)

②変数#0023=3            スクリプトで書くと⇒ $gameVariables.setValue(23,3)
③変数#0023+=100          スクリプトで書くと⇒ $gameVariables.setValue(23,$gameVariables.value(23)+100)

この次がスクリプトでの書き方が解らない部分です。
④変数#0024=(変数#0023に現在入ってる数値番の変数((つまり変数#0103))、に入ってる数値((つまり10))

以上、実行内容

結果的に、変数#0024に変数#0103を代入されるようにしたいのです。
ちなみに、上記の①~④のイベントはフィールド上の敵のHPを指定、取得、するためのものです。
やはり、最初から直接代入するしかないのでしょうか。

何度も質問して申し訳ございません。どうかよろしくお願いします。
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: MV:変数の番号の変数について

投稿記事by まっつUP » 2016年9月04日(日) 09:13

Casmai様

④変数ID24=変数ID23の値と等しいIDの変数の値
(スクリプトコマンド)
var i = 24;
var j = $gameVariables.value(23);
var k = $gameVariables.value(j);
$gameVariables.setValue(i,k);

事前に変数ID103と変数ID23の値が正しいことを確認してから実行してください。
これで④の処理ができると思います。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
Casmai
記事: 3
登録日時: 2016年9月02日(金) 06:33

Re: MV:変数の番号の変数について

投稿記事by Casmai » 2016年9月05日(月) 06:18

まっつUP様、ご返信ありがうございます。
おかげ様で正常に動かすことができました...。本当に、本当にありがとうございます。

$gameVariables.value()←この中には整数しか入れることができないと思い込んでおりました。
もっと勉強しないといけませんね...。引き続き頑張っていきたいと思います。

またいずれ、知識をお借りする事があるかもしれませんので、その時はどうかよろしくお願いします。

“MV:質問” へ戻る