RPG探検隊様のRGSS3素材(サイドビュースクリプト)を用いてゲーム作成してる初心者です。
PT内の誰かが行動不能になることで、他キャラの挙動がおかしくなる不具合で困っております。
本来はアクターのコマンド入力が終わって次アクターに移る時、前アクターが「一歩下がる」行動をするのですが、
上記の条件を満たすと「一歩下がる」行動をしなくなってしまいます。
(さらに前々アクターのコマンド入力に戻すと、「一歩進む」行動をしなくなります)
スクリプト【Sideview】の3905行目以降のコードで、
【次のコマンド入力へ】と【前のコマンド入力へ】があります。
次アクターに移れない状況に陥ったとき、この箇所で不具合が起きてしまうのでしょうか?
どうすれば回避できるでしょうか。
調べるに調べたのですが分かりませんでした・・・回答お願いします。
↓以下画像です
【解決済み】RPG探検隊様 サイドビュー スクリプトの不具合
【解決済み】RPG探検隊様 サイドビュー スクリプトの不具合
最後に編集したユーザー fromXII [ 2019年12月02日(月) 19:49 ], 累計 1 回
-
- 記事: 715
- 登録日時: 2018年12月23日(日) 13:55
Re: 【質問】RPG探検隊様 サイドビュー スクリプトの不具合
こんばんは。
質問内容にも書かれている3905行目以降の該当部分を以下のコードに書き換えてみてください。
(一応チェックはしているつもりですが、予期せぬ不具合を起こす可能性がありますので、書き換えの前に、スクリプトのバックアップをしておいてください。)
コマンド入力を別のアクターに移動した際に、前に入力していたアクターに対して、元の座標に戻るアクションを実行する命令を出すはずが、アクターを指定する際に、『今コマンド入力をしているアクターのひとつ前(ひとつ後ろ)のインデックスのアクター』を指定しており、アクターが戦闘不能等でコマンド入力できずにスキップされた状態が考慮されていないため、正しくアクションが行われない状態になっているようです。fromXII さんが書きました:RPG探検隊様のRGSS3素材(サイドビュースクリプト)を用いてゲーム作成してる初心者です。
PT内の誰かが行動不能になることで、他キャラの挙動がおかしくなる不具合で困っております。
本来はアクターのコマンド入力が終わって次アクターに移る時、前アクターが「一歩下がる」行動をするのですが、
上記の条件を満たすと「一歩下がる」行動をしなくなってしまいます。
(さらに前々アクターのコマンド入力に戻すと、「一歩進む」行動をしなくなります)
スクリプト【Sideview】の3905行目以降のコードで、
【次のコマンド入力へ】と【前のコマンド入力へ】があります。
次アクターに移れない状況に陥ったとき、この箇所で不具合が起きてしまうのでしょうか?
どうすれば回避できるでしょうか。
調べるに調べたのですが分かりませんでした・・・回答お願いします。
質問内容にも書かれている3905行目以降の該当部分を以下のコードに書き換えてみてください。
(一応チェックはしているつもりですが、予期せぬ不具合を起こす可能性がありますので、書き換えの前に、スクリプトのバックアップをしておいてください。)
コード: 全て選択
#--------------------------------------------------------------------------
# ● 次のコマンド入力へ ★再定義
#--------------------------------------------------------------------------
def self.next_command
begin
if !actor || !actor.next_command
$game_party.battle_members[@actor_index].sv.command_action = true
@actor_index += 1
if @actor_index >= $game_party.members.size
for member in $game_party.battle_members.reverse
break member.sv.start_action(member.sv.command_a) if member.inputable?
end
return false
end
end
end until actor.inputable?
actor.sv.start_action(actor.sv.command_b) if actor != nil && actor.inputable?
if pre_actor
(@actor_index - 1).downto(0){ |n|
if $game_party.battle_members[n].inputable?
pre_actor_inputable = $game_party.battle_members[n]
break pre_actor_inputable.sv.start_action(pre_actor_inputable.sv.command_a)
end
}
#~ pre_actor.sv.start_action(pre_actor.sv.command_a) if pre_actor != nil && pre_actor.inputable?
end
return true
end
#--------------------------------------------------------------------------
# ● 前のコマンド入力へ ★再定義
#--------------------------------------------------------------------------
def self.prior_command
begin
if !actor || !actor.prior_command
$game_party.battle_members[@actor_index].sv.command_action = false
@actor_index -= 1
if @actor_index < 0
for member in $game_party.battle_members
break member.sv.start_action(member.sv.command_a) if member.inputable?
end
return false
end
end
end until actor.inputable?
actor.make_actions if actor.inputable?
actor.sv.start_action(actor.sv.command_b) if actor.inputable?
(@actor_index + 1).upto($game_party.battle_members.size - 1){ |n|
if $game_party.battle_members[n].inputable?
after_actor_inputable = $game_party.battle_members[n]
break after_actor_inputable.sv.start_action(after_actor_inputable.sv.command_a)
end
}
#~ after_actor.sv.start_action(after_actor.sv.command_a) if after_actor != nil && after_actor.inputable?
return true
end
Re: 【質問】RPG探検隊様 サイドビュー スクリプトの不具合
ecf5DTTzl6h6lJj02 様
実行して確認してみましたが、無事動作ができました。
ここまで対応してくださり本当にありがとうございます。助かりました m(_ _)m
実行して確認してみましたが、無事動作ができました。
ここまで対応してくださり本当にありがとうございます。助かりました m(_ _)m