ページ 11

【解決済み】VXAce イベントスクリプトでアクターのステータス画面を呼び出す

Posted: 2016年12月29日(木) 04:29
by レトルト
現在、イベントスクリプトからまだPTに加入していないアクターのステータス画面を直接表示させる方法がないかを模索中です。
ご存知の方がいれば、方法についてご教授いただければ幸いです。

Re: 【VXAce】イベントスクリプトでアクターのステータス画面を呼び出す

Posted: 2016年12月29日(木) 06:06
by 奈々(なな)
呼び出し自体は「SceneManager.call(Scene_Status)」で出来ますが
そもそもステータス画面がメニュー画面から呼び出すように作られていて
アクターの指定が外から出来ない仕様なので無理ですね。

というわけで、出来るスクリプトを作りました。
規約に沿ってご利用ください。

コード: 全て選択

#==============================================================================
#                      「直接起動型ステータス」(ACE) Ver.1.0
#   製作者:奈々(なな)
#   へぷたなすくろーる http://heptanas.mamagoto.com/
#
#   ◇使用規約
#   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
#   スクリプトの改変は自由に行って頂いて構いませんが
#   その場合も元のスクリプトの作成者として名前を載せて下さい。
#   また配布前に必ず、ブログにある利用規約を確認して下さい。
#
#------------------------------------------------------------------------------
#   
#   イベントコマンドから直接起動できるステータス画面を追加します。
#   自作イベントや、パーティメンバー以外のステータス表示などにどうぞ。
#   
#   使い方は、まず指定した変数にアクターIDを代入します。
#   そしてイベントコマンドのスクリプトで
#   SceneManager.call(Scene_Direct_Status)
#   と入力すれば、ステータス画面が起動します。
#   
#==============================================================================
#初期設定
module Nana
 
  #ステータスを表示するアクターIDを指定する変数番号
  DIRECT_STATUS_VA = 1
 
end

#==============================================================================
# ■ Scene_Direct_Status
#------------------------------------------------------------------------------
#  直接起動型ステータス画面の処理を行うクラスです。
#==============================================================================

class Scene_Direct_Status < Scene_Status
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias direct_start start
  def start
    direct_start
   
    if !$game_variables || $game_variables[Nana::DIRECT_STATUS_VA] <= 0 ||
      !$game_actors[$game_variables[Nana::DIRECT_STATUS_VA]]
      actor = $game_actors[1]
    else
      actor = $game_actors[$game_variables[Nana::DIRECT_STATUS_VA]]
    end
   
    @status_window = Window_Status.new(actor)
    @status_window.set_handler(:cancel,   method(:return_scene))
    @status_window.set_handler(:pagedown, method(:next_actor))
    @status_window.set_handler(:pageup,   method(:prev_actor))
  end
end

Re: 【VXAce】イベントスクリプトでアクターのステータス画面を呼び出す

Posted: 2016年12月29日(木) 08:09
by レトルト
まさかこんなにも早く対応していただけるとは……助かりました!
さらに短時間でスクリプトまで作成していただき仕事の速さに驚いています。

スクリプトを導入したところ問題なく動作致しました!
まさに自分の理想としていたものです。ありがとうございました。
作品が完成した際は奈々様のブログでも報告させていただきます!