倒した敵の数をカウントするシステム(特定の敵を1体倒すごとに特定の変数に1加算する)を
作りたいのですが中々上手くいきません。
例えば、スライムが3体出現したとします。その際、それぞれのスライム1体につき
バトルイベント 条件:敵キャラ[スライムのHP0%以下]
◆変数の操作:[0001:スライム討伐数]+=1
(特定のスライムの体力が0になった時、変数「スライム討伐数」(スライムを倒した数を格納する変数)に
1加算する)
といったイベントを作成します。
1体目と2体目を倒した際は、上記のイベントが実行され変数が1ずつ加算されるのですが
最後の1体(3体目)を倒した際は、イベントを組み込んでもどういうわけか変数が加算されず
(本来ならば、スライムを3体倒したので変数の値は3になるはずなのですが実際にF9ボタンで確認しても
変数は2になっていました)
なお、敵キャラにステート「不死身」を入れて変数が加算されたときにステート「不死身」を解除すれば
最後に倒した1体の変数も加算されるのですが、体力ゲージが一旦ギリギリまで残ってから
その後倒したことになるのでテンポが悪いです。
よろしければ、ステート「不死身」を使用せずに倒した敵キャラ数分の変数を加算するスクリプトの作成を
お願いします。
(的確な討伐数を敵キャラ別にカウントできるようになればOKです)
使用ソフトは『RPGツクールVX ace』 です。どうぞよろしくお願いします。
[解決しました]倒した敵の数をカウントするシステム
[解決しました]倒した敵の数をカウントするシステム
最後に編集したユーザー KAP [ 2019年2月13日(水) 21:27 ], 累計 1 回
Re: 倒した敵の数をカウントするシステム
申し訳ございません。利用規約に引っ掛かるため、使用できそうにありません。
Re: 倒した敵の数をカウントするシステム
とりあえず作ってみました
で取得できるので、それを変数に代入して下さい
(idは敵キャラID)
コード: 全て選択
class << BattleManager
#--------------------------------------------------------------------------
# ● 勝利の処理
#--------------------------------------------------------------------------
alias tomo_enemy_defeat_count_process_victory process_victory
def process_victory
$game_troop.dead_members.each do |member|
$game_system.enemy_defeat_count ||= {}
$game_system.enemy_defeat_count[member.enemy_id] ||= 0
$game_system.enemy_defeat_count[member.enemy_id] += 1
end
tomo_enemy_defeat_count_process_victory
end
#--------------------------------------------------------------------------
# ● 中断の処理
#--------------------------------------------------------------------------
alias tomo_enemy_defeat_count_process_abort process_abort
def process_abort
$game_troop.dead_members.each do |member|
$game_system.enemy_defeat_count ||= {}
$game_system.enemy_defeat_count[member.enemy_id] ||= 0
$game_system.enemy_defeat_count[member.enemy_id] += 1
end
tomo_enemy_defeat_count_process_abort
end
#--------------------------------------------------------------------------
# ● 敗北の処理
#--------------------------------------------------------------------------
alias tomo_enemy_defeat_count_process_defeat process_defeat
def process_defeat
$game_troop.dead_members.each do |member|
$game_system.enemy_defeat_count ||= {}
$game_system.enemy_defeat_count[member.enemy_id] ||= 0
$game_system.enemy_defeat_count[member.enemy_id] += 1
end
tomo_enemy_defeat_count_process_defeat
end
end
class Game_System
attr_accessor :enemy_defeat_count
end
class Game_Interpreter
def defeat_count(enemy_id)
$game_system.enemy_defeat_count ||= {}
$game_system.enemy_defeat_count[enemy_id] || 0
end
end
コード: 全て選択
defeat_count(id)
(idは敵キャラID)
現在サポート終了中
Re: 倒した敵の数をカウントするシステム
スプリクトどうもありがとうございます。
早速、説明通り変数に代入してみたのですが使い方が違うのか上手く作動しませんでした。
お手数をお掛けしますが、もう少し具体的な使用方法をご教授願えますでしょうか?
早速、説明通り変数に代入してみたのですが使い方が違うのか上手く作動しませんでした。
お手数をお掛けしますが、もう少し具体的な使用方法をご教授願えますでしょうか?
Re: 倒した敵の数をカウントするシステム
TOMO様
先程上手くいかないと返信しましたが、その後やり方を変えたところ上手く作動しました。
どうもありがとうございました。
先程上手くいかないと返信しましたが、その後やり方を変えたところ上手く作動しました。
どうもありがとうございました。
