(解決済み)【RGSS3】能力値はそのままで任意の数だけレベルを下げるアイテム

mao
記事: 8
登録日時: 2016年2月28日(日) 17:30
連絡を取る:

(解決済み)【RGSS3】能力値はそのままで任意の数だけレベルを下げるアイテム

投稿記事by mao » 2016年4月20日(水) 05:00

こちらは初めて利用させていただきます。
表題の件ですが、
能力値はそのまま、若しくは指定の変数に値を一時的に逃し、指定した数の分だけレベルのみ下げる
といった効果を持つアイテムが欲しいと思い投稿させていただきました。

職業の変更で同上の効果を持つスクリプトはありましたが、それぞれのキャラクターに該当した職業で固定させているのとアクターの指定が出来なかった為、そちらの使用は断念しました。

使用ツールは【RPGツクールVX Ace】です。

もし作成して頂ける方がいらっしゃいましたら是非ともよろしくお願い致します。
最後に編集したユーザー mao on 2016年4月20日(水) 10:39 [ 編集 1 回目 ]

ESブログ
RPGツクールVXaceにて【Einherjar Saga(エインヘリヤル サーガ)】というゲームを製作しています。
TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 【RGSS3】能力値はそのままで任意の数だけレベルを下げるアイテム

投稿記事by TOMO » 2016年4月20日(水) 06:35

こんな感じですか?

コード: 全て選択

class Game_Actor
  attr_accessor   :temp_level
  #--------------------------------------------------------------------------
  # ● 一時保存レベルの取得
  #--------------------------------------------------------------------------
  def temp_level
    @temp_level = [] unless @temp_level
    @temp_level[@class_id] = @level unless @temp_level[@class_id]
    @temp_level[@class_id] = @level if @temp_level[@class_id] < @level
    @temp_level[@class_id]
  end
  #--------------------------------------------------------------------------
  # ● 通常能力値の基本値取得
  #--------------------------------------------------------------------------
  alias tomo_temp_level_param_base param_base
  def param_base(param_id)
    if @level < temp_level
      self.class.params[param_id, [@level, temp_level].max]
    else
      tomo_temp_level_param_base(param_id)
    end
  end
end


※アクターの指定について
アイテムの使用効果に「コモンイベント」を追加し、
そのコモンイベントで

コード: 全て選択

$game_variables[1] = $game_party.target_actor.id

とすればアクターIDが変数ID:1に入るので、
あとの処理はイベントコマンドで作って下さい
mao
記事: 8
登録日時: 2016年2月28日(日) 17:30
連絡を取る:

Re: 【RGSS3】能力値はそのままで任意の数だけレベルを下げるアイテム

投稿記事by mao » 2016年4月20日(水) 10:38

>>TOMOさん
ありがとうございます!
思っていた通りのものが出来ました。
是非使わせていただきます。
ESブログ
RPGツクールVXaceにて【Einherjar Saga(エインヘリヤル サーガ)】というゲームを製作しています。

“VX / Ace:スクリプト素材のリクエスト” へ戻る