[解決済み]重量制スクリプトのバグについて

ぽるんが
記事: 26
登録日時: 2016年8月13日(土) 17:27

[解決済み]重量制スクリプトのバグについて

投稿記事by ぽるんが » 2017年1月21日(土) 16:46

みなさんこんにちは。

今回は「ネストの多い素材集」さんの「重量制」スクリプトと「tamuraさんは遊び足りない」さんの「ウィザードリィ風ショップVXAce」による預り所システムに関する質問です。
こちらの素材屋さんに連絡してみたのですがどうも更新が止まっており回答が得られそうになかった為こちらで相談させて頂きました。

まず「ネストの多い素材集」さんの「重量制」のブログの説明欄にある通り
  [むー素材用] むー素材用モジュール Ver1.0
  [重量制本体] 重量制 Ver 1.21
  [各々方のスクリプト] ウィザードリィ風ショップVXAce(2014年5月27日)
  [プラグイン] アイテム重量制プラグイン(1) Ver1.31
の順番でスクリプトを入れてます。(他のスクリプトは一切入れてません)

預り所システムとして使用したいのでアイテム重量制プラグイン(1) Ver1.31の
# ウィザードリィ風ショップを預かり所にするか
WIZ_LEAVE = true
にしています。

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

にて更新時に直ったはずのバグが修正されておらずその直し方を教えて頂けたいのです。
例で言うと引き出し時に1G持っている場合、一度に引き出せるのは1個まで。3G持ってれば3個までしか一度に引き出せないようです。

恐らくプラグイン1 Ver1.31のどこかを直せば良いと思うのですが、教えて頂けないでしょうか?
よろしくお願いいたします。
最後に編集したユーザー ぽるんが on 2017年1月21日(土) 23:43 [ 編集 1 回目 ]

faida
記事: 250
登録日時: 2015年12月17日(木) 16:44

Re: 重量制スクリプトのバグについて

投稿記事by faida » 2017年1月21日(土) 20:08

まず、事前に「tamuraさんは遊び足りない」様が閉鎖されていることをお知らせください。
「ウィザードリィ風ショップVXAce」が入手できない時点で依頼が半分詰みです。まぁこれは事無きを得たのでいいんですが。

で、本題ですが、本プラグインの問題点は「最大購入数を取得する際、元のショップの処理のままである」という点です。
つまり、お金が減る処理を切っただけで、ショップでいくつ買えるかの処理を変更するのを忘れているんですね。
本来こういう場合はScene_Shop内の「max_buy」という処理を変更するんですが、
面倒なので「預り所の時は購入金額が0」という処理にしました。

コード: 全て選択

class Scene_WizShop < Scene_Shop
  alias moo_buying_price buying_price
  def buying_price
    MOO_HAVE_ITEM_WEIGHT_PLUGIN1::WIZ_LEAVE ? 0 : moo_buying_price
  end
end
これを導入するだけで動くはずです。
……まあ、むー様がどういった処理で直すか分からないのでただの応急処置にすぎませんが。
---------------------------------------------
自作の(改造でない)スクリプト素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
ぽるんが
記事: 26
登録日時: 2016年8月13日(土) 17:27

Re: 重量制スクリプトのバグについて

投稿記事by ぽるんが » 2017年1月21日(土) 22:00

返信ありがとうございます。

それと、スクリプト初心者であることとtamuraさんは遊び足りないさんが閉鎖されていることを伝え忘れておりました。前回もそうでしたがどうも自分の中でしっかりと説明したつもりでも抜けてしまっているようです…申し訳ありません。

アイテム重量制プラグイン(1) Ver1.31の真下に以下の書いていただいたスクリプトを入れてみましたがスクリプト2行目でSyntax Errorが発生しましたと出てしまいました。

class Scene_WizShop < Scene_Shop
  alias moo_buying_price buying_price
  def buying_price
    MOO_HAVE_ITEM_WEIGHT_PLUGIN1::WIZ_LEAVE ? 0 : moo_buying_price
  end
end

最初endが抜けてるのかと思いましたがどうも違うようで何がダメなのか教えて頂いてもよろしいでしょうか?
ぽるんが
記事: 26
登録日時: 2016年8月13日(土) 17:27

Re: 重量制スクリプトのバグについて

投稿記事by ぽるんが » 2017年1月21日(土) 23:43

faidaさんの助言を元にいろいろといじってみたところ
ウィザードリィ風ショップVXAceのスクリプトにある
buying_price == 0 ? max : [max, money / buying_price].min
をコメントアウトしてみたところどうやらうまく機能したみたいです。

いろいろとお手数お掛けしましたがとりあえず解決済みとさせて頂きます。
ありがとうございました。

“VX / Ace:質問” へ戻る