ページ 1 / 1
【解決済】戦闘に関していくつか…。
Posted: 2017年12月01日(金) 03:18
by much
戦闘に関していくつか質問です。
①スキルでのステータス値の増減を自分で設定したいのですが可能ですか?
②エネミーが回復をする際、バラバラでなく、決まって画面右端に対象が集中します。
HPの少ないものに優先するか、対象をランダムにするかしたいのですが可能ですか?
③スリップダメージの際、吸収ダメージの際の共通の効果音(通常ダメージならばデータベースから設定できる)や、画面のシェイクは設定可能でしょうか?
④スキルで〇〇は~を使った。というメッセージウィンドウをデータベースのスキルで設定できますが、つかった対象(〇〇は★★に~を使った)を表示するにはどうすればいいですか?
Re: 戦闘に関していくつか…。
Posted: 2017年12月01日(金) 22:35
by faida
①多分
以前受けた依頼が該当しますね。
②ランダムにするだけだったら。
コード: 全て選択
class Game_Action
#--------------------------------------------------------------------------
# ● 味方に対するターゲット
#--------------------------------------------------------------------------
def targets_for_friends
if item.for_user?
[subject]
elsif item.for_dead_friend?
if item.for_one?
[friends_unit.smooth_dead_target(@target_index)]
else
friends_unit.dead_members
end
elsif item.for_friend?
if item.for_one?
return [friends_unit.random_target] if @target_index < 0 # 追加
[friends_unit.smooth_target(@target_index)]
else
friends_unit.alive_members
end
end
end
end
# 追加 の行を追加するとランダムになるかもしれません。
まぁスクリプトセットと同じところにある月紳士様のスクリプト移植版があればもう少し頭がよくなるんですけど、
アレはパスワードがかかっていてそれが思い出せないのでおすすめができません。
ここのログを探ると多分どこかでパスワードに言及していたと思うので、使うなら探してください。
③
前のヤツの改変ってことですよね。
コード: 全て選択
def play_drain_damage
id = actor? ? self.id : -enemy_id
array = DRAIN_DAMAGE_SE[id] || DRAIN_DAMAGE_SE[0] # 変更
if array
data = array[rand(array.size)]
Audio.se_play("Audio/SE/"+data[0], data[1], data[2]) if data
$game_troop.screen.start_shake(5, 5, 10) # 追加
end
end
# 変更 の行で「ID0の設定」を呼び出し、# 追加 の行でシェイクを発動しています。
この改変をして、設定項目でID0の設定をしてください。
同じことを直下の「def play_slip_damage」に対してもやればいけるはずです。
④
とりあえず私が作ってきたスクリプトセットの中の「extend_skillmessage」をお試しください。
Re: 戦闘に関していくつか…。
Posted: 2017年12月01日(金) 23:25
by much
いつもありがとうございます。
さっそく試してみます!
Re: 戦闘に関していくつか…。
Posted: 2017年12月05日(火) 05:20
by much
①をためさせていただきました。
#--------------------------------------------------------------------------
# ★ 通常能力値の加算値取得
#--------------------------------------------------------------------------
alias fai_ebd_param_plus param_plus
def param_plus(param_id)
@buff_effects[param_id].inject(fai_ebd_param_plus(param_id)){|r, n|r + n}
end
の部分で
undefined method '[ ]' for nil : nilclass
とエラーメッセージが出てしまいました…
どうすればいいですか…?
Re: 戦闘に関していくつか…。
Posted: 2017年12月06日(水) 06:36
by faida
そのセーブデータは諦めて最初からやり直してください。
※エラーが発生したら状況をもう少し詳しく報告してください。検証の手間がある程度省けて回答までの時間が短縮できます。
Re: 戦闘に関していくつか…。
Posted: 2018年2月06日(火) 22:15
by much
返信遅れて申し訳ありません。
セーブデータをやり直すとうまく起動しました。
ありがとうございました。