- RPGツクールXP/VX初心者質問スレ 5
533 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 02:04:37 ID:bmtX8o3e - >532
実行してみると、1行目のところでTypeErrorがでました…。
|
- RPGツクールXP/VX初心者質問スレ 5
544 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 15:02:43 ID:bmtX8o3e - >536
ありがとう、それで出来た。 で。それから色々と試行錯誤してみたんだけど、 ・武器1の内容を武器100にコピー (スクリプトで $data_weapons[100] = $data_weapons[1]) ・武器100の数を1つ増やす (イベントコマンドで) ・なぜか武器100の数は増えず、武器1の数が1個増える。 なんでこうなるんだか。 どうやら武器1→武器100にコピーした時に、同期を勝手に取ってくれるみたいなんだ、その結果武器100の数を増やすと VXの側が気を利かせてくれて武器100じゃなく武器1の方を増やしてくれる。 誰がこういうシステムを考えたのか知らんが、勝手に同期を取らないで欲しい。凄くやりずらい。
|
- RPGツクールXP/VX初心者質問スレ 5
548 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 18:01:15 ID:bmtX8o3e - じゃあ、武器100は武器1じゃなく、同じ性能だけど別の武器ですと定義するにはどうすればいいのだ。
武器1の内容を武器100のところにコピーしたいだけなんだ、で、そのあと武器1の内容は変化させずに、武器100の方だけ値を変化させたいんだよ。
|
- RPGツクールXP/VX初心者質問スレ 5
552 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 21:52:27 ID:bmtX8o3e - >550
早速試してみたんですが、やはり、そのあと武器100を1個増やそうとすると、武器1の方が1個増えてしまいます。 >551 .copyの時点でノーメソッドエラーになりますがな。 コピーというか代入するときにさあ、 a = 100 b = 0 a = b b = b + 1 とやれば、a = 0 b = 1 じゃん普通。 なぜか そうはならないんだよ、$data_weaponsの場合は。
|
- RPGツクールXP/VX初心者質問スレ 5
554 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 22:25:51 ID:bmtX8o3e - a = $data_weapons[1]
$data_weapons[100] = a $data_weapons[100].name = "錆びたロングソード" ってやると、$data_weapons[100].name も $data_weapons[1].name も「錆びたロングソード」になってしまうんだよ。 で、そのあとイベントコマンドで「武器の追加、武器100を1個増やす」を実行すると、武器100じゃなく武器1が追加されてしまう。 この現象を回避したいわけ。
|
- RPGツクールXP/VX初心者質問スレ 5
557 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 22:57:44 ID:bmtX8o3e - >555
a = $data_weapons[1] $data_weapons[100] = a $data_weapons[100].id = 100 とやると、$data_weapons[100].idと$data_weapons[1].id の両方が100になりました。 p $data_weapons[100].id p $data_weapons[1].id で、確認したから間違いないです。 うーん、難しい・・・。
|
- RPGツクールXP/VX初心者質問スレ 5
559 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 23:20:58 ID:bmtX8o3e - それしかないのかな…
ためしにまとめて代入せず、1個1個やってみました。 def buki_copy i = $game_variables[1] #copy moto t = $game_variables[2] #copy saki $data_weapons[t].id = t $data_weapons[t].name = $data_weapons[i].name 〜省略〜 $data_weapons[t].state_set = $data_weapons[i].state_set end を、作っておいて。 変数1に1を代入、変数2に100を代入 buki_copy $data_weapons[100].name = "さびたロングソード" p $data_weapons[100].name p $data_weapons[1].name ・・・!!! これだと武器100の名前を変更しても同時に武器1の名前が変更されたりしてません! 散々スレッドを騒がしてしまい。すいませんでした。 答えてくれた皆様、どうもありがとうございました。
|