GOREとにゃんこの桃源郷

主観的にCDのレビューやら、日記やら、色々と。
ゴアとかメタルとかロックとか

ツクールVXA?RGSS3?

2012-01-27 | RPGツクールMZ,VXace,VX,2000,95,1~5
発売日、念願の「RPGツクールVX Ace」を買った。WEB上では、日毎に素材が公開され、更新され続けている。スクリプトに手を加えることは、現状、素材無しには考えられない。今のところ、改変したのは数箇所程度。

まずドラクエに倣い、狙われ率を隊列依存に変更した。
#--------------------------------------------------------------------------
# ● 特殊能力値の取得
#--------------------------------------------------------------------------
def sparam(sparam_id)
if sparam_id != 0
features_pi(FEATURE_SPARAM, sparam_id)
elsif sparam_id == 0###
case index
when 0 ; $game_party.battle_members[index].members_tgr = 1.0
when 1 ; $game_party.battle_members[index].members_tgr = 1.0
when 2 ; $game_party.battle_members[index].members_tgr = 0.8
when 3 ; $game_party.battle_members[index].members_tgr = 0.5
when 4 ; $game_party.battle_members[index].members_tgr = 0.5
when 5 ; $game_party.battle_members[index].members_tgr = 0.3
end
$game_party.battle_members[index].members_tgr *= features_pi(FEATURE_SPARAM, 0)
end
end

上記は、members_tgrのアクセサを作成しておく必要がある。

また、VX時代に在った、特定のステートが付加された時、別のステートを解除する設定。以前はデータベースから気軽に設定できたため、毒にレベルを設けたりしていた。現在のところ、以下の設定で問題無く動いてはいるが・・・。
#--------------------------------------------------------------------------
# ● ステートの付加可能判定
#--------------------------------------------------------------------------
def state_addable?(state_id)
case state_id ## 下位レベルの同タイプステートに罹らないように
when 5 ; return false if state?(6)
when 7 ; return false if state?(8) or state?(9)
when 8 ; return false if state?(9)
end
alive? && $data_states[state_id] && !state_resist?(state_id) &&
!state_removed?(state_id) && !state_restrict?(state_id)
end
#--------------------------------------------------------------------------
# ☆ ステート付加によるステート解除判定
#--------------------------------------------------------------------------
def add_remove_state(state_id)
case state_id ## 上位レベル且つ同タイプステートに罹ると下位ステート消去
when 5 ; add_to_removed(6)
when 6 ; add_to_removed(5)
end
end
#--------------------------------------------------------------------------
# ☆ ステートの付加によるステート解除
#--------------------------------------------------------------------------
def add_to_removed(state_id)
if state?(state_id)
revive if state_id == death_state_id
erase_state(state_id)
refresh
end
end

上記二つ目の処理は、解除メッセージを表示させないためもの。

あと、主人公が足踏みするために、Game_CharacterBaseのinitから@walk_anime = trueに変更。ダッシュ中と歩行中で足踏みスピードも変更。

んで、やっぱり今回も雑魚戦の戦闘BGMをランダム化。(44種類から抽選)これはGame_System内のBGM処理を改変。

   

上の画像にあるように、今回は6人パーティ。前回VXで作りかけていたWizardryっぽいRPGに倣うも、宝箱のランダム取得や罠解除などは、もはや作る気力が無い。とにかく何でもいいから完成させることが目標。


最新の画像もっと見る

コメントを投稿