【VX Ace/RGSS3】 重量制2012/03/15 22:41:26

まず、このスクリプトを使用するには、次のスクリプトが必要です。
http://xgtw.uzusionet.com/rgss/moo_rgss3_main.txt
これを、重量制よりも上に置いて下さい。

VX Ace/RGSS3
重量制 Ver 1.21

アイテムに重量を付加し、所持可能な重量を指定できます。

★簡単な仕様★
 ・ゲームに重量を設置します(容量などに変更しても構いません)。
 ・設定した総重量以上の物は持てません。
 ・チェックコマンドにて、イベントで入手可能チェックができます。
 ・戦闘後のドロップアイテムは、持てる分だけ出ます。
   →3個出た場合、最初の2個は持てるけれど残りが持てない場合、
     2個分だけメッセージが出ます。入手も2個だけです。
 ・重量オーバーの場合、店で購入ができません。
 ・イベントでアイテムの増加をおこなう場合にもチェックが入ります。
   →メッセージは出ません。例えば5個入手で持てるだけ入手したい場合、
    5個いぺっんに入手ではなく、1個入手を5回分作って下さい。
    5個いっぺんに入手する場合、5個持てなかったら1個も入手できません。

★チェック機能★
 イベントでアイテムを入手する時、重量オーバーになると取得できません。
 イベントのスクリプトで、以下のように記述すると動作する機能があります。
 ※Ver1.14で数量チェックを加えました。個数オーバーでもチェックを入れます。

 can_gain_item?(アイテム種類, ID, 数量, スイッチ番号, [取得フラグ])

  [アイテム種類]
   アイテム="I"、武器="W"、防具="A"
  [ID]
   上記アイテム種類別のID ("W",3...) なら武器ID3
  [数量]
   取得する数量
  [スイッチ番号]
   入手できる場合はON、できない場合はOFFが入るスイッの番号
  [取得フラグ]
   ついでに取得するか(true/false)

 アイテム種類は必ず""で囲って下さい。I、W、A以外のチェックしていません。
 数量が0の場合のエラーチェックはおこなっていません。
 アイテム種類、ID、数量、スイッチ番号は必須です。
 スイッチを使わない場合は、0にしておいて下さい。
 取得フラグをtrueにしておくと、取得可能時には自動でアイテムを入手します。
 falseまたは何も記述しなかった場合は取得しません。
 またスイッチに入れなくとも、返り値でtrueかfalseが戻ります。

★注意点★
 ・ゲーム開始時に、基本重量を設定して下さい。
 ・初期装備によって、総重量がオーバーしている場合があります。

スクリプト
http://web-friend.net/rgss3/moo_rgss3_weight_main.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_weight_main.zip

また、以下のスクリプトを導入した場合に対応させるプラグインもあります。

tamuraさんは遊び足りない様の「ウィザードリィ風ショップVXAce」
http://web-friend.net/rgss3/moo_rgss3_weight_plugins1.txt

Code Crush様の「アイテム捨てる」
http://web-friend.net/rgss3/moo_rgss3_weight_plugins2.txt

RGSS研究所様の「アイテムスティール」
http://web-friend.net/rgss3/moo_rgss3_weight_plugins3.txt

組み込む順番は
  [むー素材用]
  [重量制本体]
  [各々方のスクリプト]
  [プラグイン]
としてください。
各々方のスクリプト・プラグインの順番は、そのタイプごとの中では自由です。

プラグイン込みのサンプル
...は素材の再配布になりかねませんので、やめておきます。

ヒストリー
2012/03/15 本体 Ver1.00 公開
2012/03/17 プラグイン1~3 各 Ver1.0 公開
2012/03/18 本体 Ver1.13 プラグイン2 Ver1.1
         少々alias化
         アイテム使用時に総重量の変動がなかったバグを修正
2012/04/24 本体 Ver1.14
         取得チェックに数量チェックを追加
2012/04/28 プラグイン1 Ver1.10
         価格が0のものでも販売(預け入れ)出来る機能を追加。
2012/07/15 本体 Ver1.15
         アイテム販売が可能/不可能の判断を追加。
         <重量制販売不可> とメモ欄に入れればOK。
          [既存スクリプトからの変更方法]
           115行目~119行目を追加。
           「★ ここより下は変更しないで下さい。 」の記述より
           下を全て入れ替え(上書きコピペでOK)。
         プラグイン1 Ver1.10
         本体改良に伴いプラグインも改良。
         価格が0のものを預けられるようにするかどうかのスイッチ
         がOFFの場合に、今回の機能が有効になります。
          [既存スクリプトからの変更方法]
           48行目以下を全て入れ替え(上書きコピペでOK)。
2012/07/20 本体 Ver1.16・プラグイン1 Ver1.21
         販売可能の表示方法でバグがあったので修正。
         アイテム、武器、防具の判断が抜けていました。

2012/07/31 プラグイン1 Ver1.3
         アイテムの価格に所持金が満たない場合、
         預かり所化させた時に引き出せないバグを修正。

2012/12/21 本体 Ver1.20
         CONT_WT = false (装備品を重量に含めない設定) かつ、
         「総重量 + 外す装備の重量」が総重量を超えていた時、
         交換できなかった不具合を修正しました。
         つまり「これから装備する物の重量」が未考慮でした...。

2012/12/30 本体 Ver1.21
         ショップで購入を選択した時、商品一覧へ
         カーソルが移らなかった不具合を修正しました。

2013/02/26 プラグイン1 Ver1.31
         何も預けていないときに引き出そうとすると
         エラーが出る現象を修正しました。

コメント

_ ゆき ― 2012/05/08 20:59:48

初めましてゆきです。
今、アイテム持ち込みなしのダンジョンを作ろうと思って
このスクリプトを使わせてもらってます。
一つ質問なんですが、ダンジョンに入る前に本当にアイテムを
持っていないかチェックしたいんですけど
「総重量 XX/YY」のXXの部分って
どこを参照したらよろしいですか?

XXの部分が0ならダンジョンに入場できて
それ以外なら入場できないみたいな感じにするつもりです。

_ むー ― 2012/05/08 23:06:54

ゆきさん、初めまして。
お使いいただきありがとうございます。

ご質問の回答ですが、例えば変数1に現在の重量を
代入したい場合、イベントのスクリプトで

$game_variables[1]=$game_party.weight_sum

のように書くと、変数1に現在の重量が入って来ます。
=の前の[ ]の中が変数番号になります。
このあと「変数1が0の場合」などのようにイベントで分岐させれば、
ご希望の事ができると思います。

確かに現重量の取得ができた方がいいですね。
考えていませんでした...。
サンプルプログラムに、その動作例を追加しておきました。

_ ゆき ― 2012/05/09 07:35:18

迅速な回答ありがとうございました
これで私の作りたかったゲームができそうです!

_ 10けた ― 2012/05/14 23:37:56

こんにちは。
不思議ダンジョンもどきを作ろうと思い、
さば缶さんのダンジョン自動生成スクリプト(http://petitrare.com/blog/?p=4552)
こちらのスクリプトを使用させてもらっているのですが、競合が発生してしまいます。

ダンジョン自動生成のスクリプトは
ダンジョンのランダム生成と敵のターン移動制システムを加えるものなのですが、
なぜか不具合が発生して、アイテムを入手してもアイテム欄に追加されません。
もし不具合の修正ができるのなら、お願いしたいです。

_ むー ― 2012/05/16 22:48:47

10けたさん初めまして。

試しにランダムダンジョンの下に、重量制に必要なスクリプトと
重量制本体を置いて実行してみましたが、正常にアイテムの入手が可能でした。

おそらく総重量変数に値を入れておらず、
重量が 0/0 になっているのではないでしょうか?
重量制スクリプトの設定箇所の最上部にある指定変数に、
ゲーム開始のタイミングで適当な数値を入れて見てください。

_ 10けた ― 2012/05/17 02:02:52

確認したところ、おっしゃる通り変数の入れ忘れでした。
こちらの不注意でお時間を取らせてしまって申し訳ないです;
また困ったことがあったら、よろしくお願いします。

_ 10けた ― 2012/05/17 02:03:37

連レスすみません。
アドバイスありがとうございました!

_ 10けた ― 2012/06/26 12:23:31

こんにちは。
バグを見つけたので報告します。

アイテム重量制プラグイン(1)を導入して、
tamuraさんは遊び足りないさんの「ウィザードリィ風ショップVXAce」で、
synthesizeメソッドを使った合成をやってみたのですが、
各当アイテムを売却しても、購入リストに合成アイテムが追加されません。

ちなみに、アイテム重量制プラグイン(1)のWIZ_LEAVEは、falseにしています。

_ むー ― 2012/06/26 19:57:38

> 10けたさん

私がこのスクリプトを作ったのが3/15であり、
その時のウィザードリィ風ショップは1/28版で、
ご指摘のsynthesize(合成機能)は、
どうやらそれ以後4/20までに追加された機能のようですので、
今回の件はバグではありません。
プログラム的なバグとは不具合であり、
非対応の事ではありません。

4/24以降に本スクリプトで修正を入れていますが、
ウィザードリィ風ショップについては触れておりませんでした。

とりあえず、時間のある時に見てみます。
どのような結果になるかは分かりませんが、しばらくお待ち下さい。

_ むー ― 2012/06/26 22:20:00

> 10けたさん

どうやら4/20付けの本体を見ると、Scene_WizShopのdo_sellで
メソッドを呼んでいるようですので(コメントアウトで印が付けられています)、
プラグインの同じ場所に、同じように記述してみてください。
具体的には229行目のmake_goodsの上に、
synthesizeの1文を書きます(make_goodsが230行目になる)。
預かり所にしてもしなくても、合成されるようになります。

_ 10けた ― 2012/06/28 20:58:14

そうだったんですね……勘違いしてすみません。

それと、素早い対応ありがとうございます。
困っていたので、助かりました。

_ あず ― 2012/12/19 23:49:42

初めまして。
自分にとって理想の素材だったので使用させていただいてます。

質問なのですが、例えば総重量MAX(10/10)の状態で
装備している武器(重量1)と、リスト内の武器(重量1)とで
装備の変更を実行した際、総重量は変わらないにもかかわらず
装備変更をすることができない。
これは仕様なのでしょうか?

もし仕様でなければ、
『総重量がMAXの時でも同じ重量同士ならば、装備変更を可能』
に対応していただけませんでしょうか?
ぶしつけで申し訳ありませんがよろしくおねがいします。

_ むー ― 2012/12/21 10:19:44

> あずさん

それは仕様ではなく、まぎれもないバグです。
修正しました。本体 Ver1.20 になります。
あまり時間が取れないため、テストは簡素ですが、
まだ何かありましたらご報告ください。
ユーザーを半デバッガーにしてしまう事、申し訳ありません。
ご指摘ありがとうございました。

_ あず ― 2012/12/22 00:35:22

修正の方確認しました。
お忙しい中のご対応ありがとうございます。

あと、前回の時に気がついていればよかったのですが
ショップ画面で購入を選択したあと購入リストにカーソルが表示されなく、
そのまま決定ボタンを押すと一番下のアイテム(サンプルプロジェクトで例えるとハードレザー)
が選択されてしまうようです。

こちらもスクリプトをお借りしてる身ですので、こういった事でしか
お返しはできませんが、これからもサイトの運営がんばってください。

_ むー ― 2012/12/30 03:31:03

> あずさん

お返事が遅くなり、申し訳ありません。
確かに。ショップの部分、ちょっと見てみます。

_ むー ― 2013/01/06 14:31:26

> あずさん

書き込んだと思っていましたが、書き込まれていませんでした。
お返事が遅くなってしまい、申し訳ございません。
ショップの部分、修正しました。
開いた時、最初の項目を選択しています。
2度目以降は記憶していません、ゴメンナサイ...。

_ aki ― 2013/02/24 04:03:18

素晴らしいので使わせて頂きます!

一つ助けて下さい、Wiz風プラグインを入れて
預かり所化した所、何も預けていない状態で引き出そうとすると
TypeError nil can't be coerced into Fixnum 
と、表示されて終了してしまいます。
Wiz風ショップ本体の方の277行目がどうとか書いてるのですが
さっぱり手におえないものでして・・・
お忙しいとは思いますが、何卒っ

_ むー ― 2013/02/24 21:21:03

akiさんこんばんは。

当方では現象が起きませんでした。ちょっと確認です。

277行目というと、
buying_price == 0 ? max : [max, money / buying_price].min
の部分でしょうか?
他に何かスクリプトは入っていますか?特にショップ系。
スクリプトの順番は正しいですか?
質問ばかりですみません。

_ aki ― 2013/02/25 04:20:59

早速のお返事有難うございます。
スクリプトはあれこれ入れてますが、ショップ系はwizショップのみです。

競合原因かと思いまして
新規プロジェクトに
素材用モジュ>重量本体>Wiz風>Wiz用プラグイン
それ以外のスクリプトは一切入れずにニューゲーム起動

適当にイベント用意してトリガー起動
預かり化スイッチON > SceneManager.call(Scene_WizShop)

引き出すで決定ボタン>下ウィンドウの空白にカーソル>決定ボタン 277行目TypeError

と、同じ状態になってしまいます。

エラーが発生した直後にスクリプト画面を開きましたら
上記に書かれている文の所にカーソルがいっておりました。

預かり化スイッチをオフにしたら
購入選択>j空白で決定ボタン>ブブーとブザー音
という風に動いております。

とりあえず現状、Wiz風ショップの説明にある無限在庫を一個用意して、アイテム上限数1のアイテム作って、預けてあるアイテムの在庫数量が-1表示されてて、なんか引き出してる風の動きはしてるけど、実際は増えてないよ状態で、無理やり押し切ってオリマス。

ご面倒&お手間を取らせているのは此方なので
なんなりと聞いてくださいまし

_ むー ― 2013/02/25 08:16:33

> akiさん

お手数ですが、可能であれば以下のメールアドレス宛に、
新規で作成したデータをフォルダごと圧縮してお送りいただけますでしょうか。

dummy@web-friend.net

今回だけ有効なアドレスです。

_ aki ― 2013/02/25 21:45:37

メール送信いたしました。

_ むー ― 2013/02/25 23:47:13

> akiさん

ごめんなさい。当方のメールボックスの容量の指定が間違っており、
送られてきていません。容量指定がKBとMBとで間違っていました(>_<)
こちらのミスで大変申し訳ございません。
お手数ですが、再度お願いできますでしょうか。

_ aki ― 2013/02/26 00:34:35

コレくらい何度でもっ!
送りましたー!

_ むー ― 2013/02/26 01:02:39

> akiさん

送っていただき、ありがとうございます。
現象が出ました!
たぶんバグです...。見てみます。今夜中は無理ですが、お待ちを。

_ むー ― 2013/02/26 07:28:14

> akiさん

バグを修正しました!
預かり所かつ数量表示スイッチがオンの場合、
ダミー的なアイテムを選択できてしまい、価格計算が出来なくエラーが出ていました。
プラグインのVer1.31をアップしました。お試し下さい。

ご迷惑をおかけしました。これからもどうか、よろしくおねがいします。

_ aki ― 2013/02/26 21:37:44

対応有難うございましたー!さっそくDLさせていただきますっ

_ aki ― 2013/02/26 22:10:52

ご、ごめんなさいっ
何処にアップされておりますでしょうかっ

_ むー ― 2013/02/26 22:56:00

> akiさん

すみません、分かりづらかったですね。
コメントではなく、元の記事の中からリンクで行けます。
今までVer1.3だった内容が1.31になっています。
http://xgtw.uzusionet.com/rgss/moo_rgss3_weight_plugins1.txt
ここになります。簡単にはテストしましたが、
まだ何かあるかも知れません。おかしい所があったら、またご報告下さい。

_ aki ― 2013/02/26 23:15:59

えーっと、そちらのリンクをクリックしたのですが
どうやら1.3のようでございます。

コピペしなおしましても同じっぽいです。

_ むー ― 2013/02/26 23:24:52

> akiさん

ブラウザのキャッシュが残っているかも知れません。
Ver1.3の画面でF5キーを押してみて下さい。

_ aki ― 2013/02/26 23:30:42

うわっ、なんか素人ですっごいゴメンなさい!
こんなしょーもない事で無駄にコメント使って本当に申し訳ありません。
確認いたしましてちゃんと動作しております。
ありがとうございました。

_ むー ― 2013/02/26 23:53:42

> akiさん

うまく動いたようで、よかったです。
また何か発見しましたら(無い事を祈りますが)、何でも言って下さい。

_ バグ? ― 2017/01/15 13:00:55

重量制とウィザードリィ風ショップVXAceを導入させて頂いていて設定を預り所にしています。その際アイテムを引き出すときに所持金に応じてしか引き出せないのですがバグでしょうか?

例で言うと1G持っていれば1個までしかアイテムを引き出せず3G持ってれば3個までしか引き出せないようです。

ちなみに併用スクリプトもちゃんと入れてますがウィザードリー風ショップは2014年5月27日更新分のスクリプトを入れてます。

たまゆらさんのサイトが閉鎖してる為確認できませんがバージョンが新しくなっていて仕様が変更しているのかも?
よろしければご確認お願いします。

_ バグ? ― 2017/01/15 14:15:17

2012/07/31 プラグイン1 Ver1.3
         アイテムの価格に所持金が満たない場合、
         預かり所化させた時に引き出せないバグを修正。

重量制のプラグインの更新履歴を見てみるとここで修正されてるようですがもしかしたらVer1.31に更新したときにまたバグ発生してるのかも…?

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
○に入る文字は何でしょう?
「RPG○○○○ VX ACE」

コメント:

トラックバック