[VX] アイテムの価格を変動させる

VX標準システムでは、アイテム(武器・防具含む)の価格は
途中で変更できないようになっています。今回のスクリプトは
アイテムに相場を付加して価格を自由に操作できるように
するものです。
画像

スクリプト素材のダウンロードは↓
http://www.lm-t.com/blog/price_rate.zip

-----機能説明ここから-----
■基本情報■
1.機能概要
 アイテム相場スクリプトは、アイテム・武器・防具(以下、アイテム)に
 相場を設定することで、ゲームの進行に合わせてアイテムの価格を
 変動させることができるようにするものです。

 例えば、ゲームが進行するに連れて回復アイテムの価格が上がるように
 設定し、ゲームのバランスを調整する。

 その他にも、ある一定の条件を満たすことで実施される全品半額セール
 など、アイテムの価格に関するシステムの自由度が上がります。


2.相場の概念
 アイテム相場スクリプトで扱う相場の単位は、アイテムの標準価格の
 何%かを指定するようになっています。
 相場には「個別相場」と「グローバル相場」の2種類が存在します。

 (1) 個別相場
  個別相場は、個々のアイテムに単独で指定する相場で、初期状態では
  何も設定されていません。

 (2) グローバル相場
  グローバル相場は、アイテム全体に適用される相場で、初期状態では
  100%(アイテム標準価格と等価)が設定されています。

 アイテムに適用する相場は個別相場が設定されている場合は個別相場を
 適用し、個別相場が未設定の場合はグローバル相場を適用するように
 なっています。


3.アイテムの相場取得
 相場取得を行うには、以下の関数をスクリプトから実行します。

 ・グローバルの相場取得
  Ex.get_global_price_rate

 ・アイテムの相場取得
  Ex.get_item_price_rate( id )

 ・武器の相場取得
  Ex.get_weapon_price_rate( id )

 ・防具の相場取得
  Ex.get_armor_price_rate( id )

 (1) id
  アイテム・武器・防具のIDを指定します。
  IDはデータベースのエディタ左側のリストに「ID:名称」の形式で
  表示されています。


4.アイテムの相場設定
 相場設定を行うには、以下の関数をスクリプトから実行します。

 ・グローバルの相場設定
  Ex.set_global_price_rate( rate )

 ・アイテムの相場設定
  Ex.set_item_price_rate( id, rate )

 ・アイテムの相場一括設定
  Ex.set_item_price_rate_range( id_from, id_to, rate )

 ・武器の相場設定
  Ex.set_weapon_price_rate( id, rate )

 ・武器の相場一括設定
  Ex.set_weapon_price_rate_range( id_from, id_to, rate )

 ・防具の相場設定
  Ex.set_armor_price_rate( id, rate )

 ・防具の相場一括設定
  Ex.set_armor_price_rate_range( id_from, id_to, rate )

 (1) id
  アイテム・武器・防具のIDを指定します。

 (2) id_from
  アイテム・武器・防具のID(始点)を指定します。

 (3) id_to
  アイテム・武器・防具のID(終点)を指定します。
  id_from以上のIDを指定しなければなりません。

 (4) rate
  相場を指定します。単位は標準価格の%(整数値)で指定します。
  アイテム・武器・防具の相場設定でこの値にマイナス値を指定すると
  個別相場を削除します。削除後は、グローバル相場が適用される
  ようになります。


■使用例■
1.アイテムID:1の相場を取得して変数:20に格納する
 スクリプト:
$game_variables[20] = Ex.get_item_price_rate(1)


2.アイテム全体の相場を10%アップする
 スクリプト:
    Ex.set_global_price_rate(
      Ex.get_global_price_rate + 10
    )



3.半額セールのショップ
 スクリプト:
    Ex.set_global_price_rate(50) #相場を半分に設定
 ショップの処理:
  [任意のアイテム1]
  [任意のアイテム2]
  [任意のアイテム3]
  ...

 スクリプト:
    Ex.set_global_price_rate(100) #相場を元に戻す


4.武器ID:11~30に変数:1に格納された値の相場を一括で設定する
 スクリプト:
    Ex.set_weapon_price_rate_range(
      11, 30, $game_variables[1]
    )



5.アイテムID:100に設定した個別相場を削除する
 スクリプト:
    Ex.set_item_price_rate(100, -1)


■導入手順■
1.スクリプトの追加と置換
 (1) 追加
  以下のスクリプトは標準のスクリプトには存在しないものなので、
  手動で追加する必要があります。スクリプトの名前は各ファイル名
  から「.txt」を除いたものにしてください。

  Ex.txt

  ただし、過去に公開された拙作のスクリプト素材を導入済みで、
  すでに同じ名前のスクリプトが存在する場合は、以下のコメントで
  囲まれている部分を手動で追加してください。

  #T14-039 NEW--->
  #<--------------

 (2) 置換
  以下のスクリプトの内容を書き換える作業を行います。

  Game_System.txt  → Game_System

  上記で示したスクリプトに、以下のコメントで囲まれている部分を
  手動で追加してください。

  #T14-039 ADD--->
  #<--------------

  変更する箇所を間違えないように注意してください。

 ●注意
 置換作業を行う前に必ずバックアップを取っておくようにしてください。
 元のスクリプトの状況によっては、置換を行うことでスクリプトが
 正常に動作しなくなることがあります。
-----機能説明ここまで-----

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 3

面白い
ナイス ナイス

この記事へのコメント

この記事へのトラックバック