変数やスイッチを操作してこうしてるはずなのにうまくいかない・・・など
あるあるですよね(多分)
そんなテストプレーのモヤモヤを解消するスクリプトを作りました
・何ができるの?
コモンイベントが呼び出されたらコンソールに表示されます
ゲームスイッチを操作したらコンソールに表示されます
変数を操作したらコンソールに表示されます
セルフスイッチを操作したらコンソールに表示されます
キーボードのAキーを押すと目の前のイベントのセルフスイッチの状態を表示してくれます。使うキーは変えられます
・2016/05/15 更新
変更を表示しないスイッチと変数を設定できるようになりました。
EXCLUSE_VARとEXCLUSE_SWに書いた番号は変更があってもログに表示されませんn
・使い方
1:下のスクリプトをぶっこんでください
2:VX Aceのメニューのゲーム->コンソールを表示 をONにしてください
3:おわり
コード: 全て選択
#==============================================================================
#
# テストプレー補助スクリプト for VX Ace Ver1.10
# 初リリース:2016/05/08
# 現バージョンリリース:2016/05/15
#
# 以下のイベントコマンドの発生時にログを出します
# ・コモンイベントの呼び出し
# ・変数の操作
# ・スイッチの操作
# ・セルフスイッチの操作
#
#==============================================================================
module RS_Helper
# テストモード時以外でもログを出すかON/OFF
ENABLE_LOG = false
# セルフスイッチの確認に使うキーの設定
# 次のキーが使えます。これ以外はゲーム内で標準で使用されているので非推奨
# :X = Aキー
# :Y = Sキー
# :Z = Dキー
SELF_KEY = :Y
#--------------------------------------------------------------------------
# Ver1.10より追加
# 変更を監視しない変数番号
# EXCLUSE_VAR = [1,2,3,4] のように記入
EXCLUSE_VAR = []
# 変更を監視しないスイッチ番号
# [1,2,3,4] のように記入
EXCLUSE_SW = []
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# 以下は変更しないでください!
#--------------------------------------------------------------------------
if ENABLE_LOG || $TEST
puts ("ReStart テストプレー補助スクリプト\nVer1.10 Release at 20160515")
end
def self.log(val)
if ENABLE_LOG || $TEST
prefix = "----------------------------------------\n"
puts prefix + val
end
end
def self.log_noprefix(val)
if ENABLE_LOG || $TEST
puts val
end
end
# 変数の監視除外判定
def self.excluse_var(num)
EXCLUSE_VAR.each{|var|
if var == num
return true
end
}
return false
end
# スイッチの監視除外判定
def self.excluse_sw(num)
EXCLUSE_SW.each{|var|
if var == num
return true
end
}
return false
end
end
class Game_Interpreter
#--------------------------------------------------------------------------
# ● コモンイベント
#--------------------------------------------------------------------------
alias log_117 command_117
def command_117
RS_Helper::log("● コモンイベントを実行\nID:" + @params[0].to_s + " / 名前:" + $data_common_events[@params[0]].name)
log_117
end
#--------------------------------------------------------------------------
# ● スイッチの操作
#--------------------------------------------------------------------------
def command_121
(@params[0]..@params[1]).each do |i|
$game_switches[i] = (@params[2] == 0)
txt = ""
case @params[2]
when 0 then
txt = "\n=>[ON]に変更"
when 1 then
txt = "\n=>[OFF]に変更"
end
if !RS_Helper::excluse_sw(i)
RS_Helper::log("● スイッチの操作\nID:" + i.to_s + " / 名前:" + $data_system.switches[i] + txt)
end
end
end
#--------------------------------------------------------------------------
# ● 変数の操作を実行
#--------------------------------------------------------------------------
alias log_variable operate_variable
def operate_variable(variable_id, operation_type, value)
log_variable(variable_id, operation_type, value)
operation = ""
case operation_type
when 0 then # 代入
operation = "\n[代入] :" + value.to_s
when 1 then # 加算
operation = "\n[加算] :" + value.to_s
when 2 then # 減算
operation = "\n[減算] :" + value.to_s
when 3 then # 乗算
operation = "\n[乗算] :" + value.to_s
when 4 then # 除算
operation = "\n[除算] :" + value.to_s
when 5 then # 剰余
operation = "\n[剰余] :" + value.to_s
end
if !RS_Helper::excluse_var(variable_id)
RS_Helper::log("● 変数の操作\nID:" + variable_id.to_s + " / 名前:" + $data_system.variables[variable_id] + operation + "\n=>現在値:" + $game_variables[variable_id].to_s)
end
end
#--------------------------------------------------------------------------
# ● セルフスイッチの操作
#--------------------------------------------------------------------------
alias log_123 command_123
def command_123
log_123
operation = ""
case @params[1]
when 0 then
operation = "ON"
when 1 then
operation = "OFF"
end
event_name = $game_map.events[@event_id].instance_variable_get(:@event).name
RS_Helper::log("● セルフスイッチの操作\nID:" + @event_id.to_s + " / 名前:" + event_name + "\nセルフスイッチ:" + @params[0].to_s + " => " + operation.to_s)
end
end
class Scene_Map < Scene_Base
alias self_sw update
def update
self_sw
if Input.trigger?(RS_Helper::SELF_KEY)
# 目の前のイベントのIDを取得
case $game_player.direction
when 2 then # 下
ev_id = $game_map.event_id_xy($game_player.x,$game_player.y+1)
when 4 then # 左
ev_id = $game_map.event_id_xy($game_player.x-1,$game_player.y)
when 6 then # 右
ev_id = $game_map.event_id_xy($game_player.x+1,$game_player.y)
when 8 then # 上
ev_id = $game_map.event_id_xy($game_player.x,$game_player.y-1)
end
# 目の前にイベントがあるなら処理続行
if ev_id != 0
check_self_sw(ev_id)
end
end
end
#--------------------------------------------------------------------------
# ● セルフスイッチの確認
#--------------------------------------------------------------------------
def check_self_sw(id)
map_id = $game_map.map_id
event_name = $game_map.events[id].instance_variable_get(:@event).name
sw_a = "A = " + $game_self_switches[[map_id,id,"A"]].to_s
sw_b = "\nB = " + $game_self_switches[[map_id,id,"B"]].to_s
sw_c = "\nC = " + $game_self_switches[[map_id,id,"C"]].to_s
sw_d = "\nD = " + $game_self_switches[[map_id,id,"D"]].to_s
RS_Helper::log("●セルフスイッチの確認\nID:" + id.to_s + " / 名前:" + event_name + "\n" + sw_a + sw_b + sw_c + sw_d)
end
end
表に見える(プレイヤーに見える)ものではないのでライセンス表記はご自由に。
一応改変NGにしていますが、配布時に削除さえすれば焼くなり煮るなり改変はOKです。





