トップページ > 同人ゲーム > 2013年02月06日 > VBsyrl3N

書き込み順位&時間帯一覧

37 位/612 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000002103



使用した名前一覧書き込んだスレッド一覧
名無しさん@お腹いっぱい。
RPGツクール初心者質問スレ7

書き込みレス一覧

RPGツクール初心者質問スレ7
717 :名無しさん@お腹いっぱい。[sage]:2013/02/06(水) 21:34:41.65 ID:VBsyrl3N
index のズレだろう
イベントコマンド「戦闘行動の強制」の対象 index (1〜8) は、
実際の行動設定時には index - 1 の値が使われる

last_target_index は、エディタ表記の index とは異なり、
実際の index (0〜7) が入る

つまり、last_target_index をゲーム変数 ( $game_variables[n] ) に取得し、
それをそのまま「戦闘行動の強制」で使ったら、
ラストターゲットの index よりも 1 若い対象が選ばれることになる

これを避けるには、単純に変数に 1 を足すか、
直接スクリプトでイベントコマンドと同等の処理を書くかだな
RPGツクール初心者質問スレ7
718 :名無しさん@お腹いっぱい。[sage]:2013/02/06(水) 21:46:00.16 ID:VBsyrl3N
すまん、勘違いしたorz
>717は誤り
エディタの表記は関係なかったわ

共有のラストターゲットなら、
Game_Party にでも attr_accessor :last_target_index を追加して
Scene_Battle#invoke_item に
ターゲット取得処理を突っ込むのが手っ取り早いかと
RPGツクール初心者質問スレ7
720 :名無しさん@お腹いっぱい。[sage]:2013/02/06(水) 22:26:50.10 ID:VBsyrl3N
>>719
いや、デフォルトの改変でも
「素材」セクションのほうにコピペしていじるのが普通
こうしたほうが後々変えた箇所を探す手間が省ける


class Game_Party < Game_Unit
attr_accessor :last_target_index
end

class Scene_Battle < Scene_Base
def invoke_item(target, item)
if rand < target.item_cnt(@subject, item)
invoke_counter_attack(target, item)
elsif rand < target.item_mrf(@subject, item)
invoke_magic_reflection(target, item)
else
apply_item_effects(apply_substitute(target, item), item)
end
@subject.last_target_index = target.index
$game_party.last_target_index = target.index # 追加
end# def
end# class


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。