全く同じ処理をしているはずなのにモンスターが仲間になる場合とならない場合がある

にゃー

ユーザー
まずは閲覧していただいてありがとうございます、モンスターを仲間にするのは以下のブログを参考にやってみたものです

http://inumochi.blog.fc2.com/blog-entry-24.html

これがなかなか自分のゲームに組み込むのに面白く、無事仲間として加入させられた時はテンションが上がったものです。

そして本題に入るのですが、Aのモンスターはちゃんと仲間として加入できるよう組み込みました。それでうまくいってます。
しかしBのモンスターはコピー&ペーストを行って仲間として加入できるよう同じように組み込み、違うところは修正してと試したはずなのですが、Aではちゃんと戦闘後にコモンイベントが発動しますが、Bでは発動しません
発動しないということは、おそらくコモンイベント、スイッチ、敵グループの設定のいずれかがAとBで違いがあるはずなので、少しその違いについて書いてみます

A(仲間にできるパターン)
コモンイベント11 スイッチ13 トリガーは自動実行にしてあります 敵グループは2、5、6は複数の同種モンスターがいて、それぞれに仲間になるためのスイッチがオンになるように設定してます
画像がはれないので手書きになりますがこんな感じです

条件 敵キャラHP(1)<=0%
◆条件分岐:アクターAがスキルAを覚えている
 ◆条件分岐:アクターAがパーティにいる
  ◆スイッチの操作:#0013 モンスターAを仲間に
  ◆
 :分岐終了
 ◆
:分岐終了

これでコモンイベント11がきちんと発動して無事仲間にするかどうかのウィンドウが開きます


B(仲間にできないパターン)
コモンイベント20 スイッチ29 トリガーは自動実行にしてあります 敵グループはイベント戦以外でBと戦闘するときに仲間になるようにしてあり、敵グループ15のみで仲間になるように設定し、スイッチもオンにしてます
同じく画像がはれないので手書きになります

条件 敵キャラHP(1)<=0%
◆条件分岐:アクターAがスキルAを覚えている
 ◆条件分岐:アクターAがパーティにいる
  ◆スイッチの操作:#0029 モンスターBを仲間に
  ◆
 :分岐終了
 ◆
:分岐終了

この場合、コモンイベント20が発生しません


これといってやることに違いはないはずなのですが、もしかしたら怪しいと思う部分をいくつか
・仲間にできるパターンはAのモンスターであればイベント戦だろうが仲間にできる可能性があるが、Bは通常戦闘でしか仲間にならない
・Bを設定する際に試行錯誤して敵キャラの部分をいじりまくったため、敵キャラHP(1)の対象として認識されてない?
・Aは複数匹出現するがBは1匹のみなので何らかの理由で除外される?
・コモンイベントかスイッチの番号のせいでイベントが発生しないなどがありうる?
・何かのプラグインがコモンイベント及びスイッチでBのどれかを使っている?(これは確認しましたが、おそらく大丈夫なはずです)

とにかくどこが違って仲間にできるパターンと出来ないパターンが出来てしまうのか知りたいです。
 
こんにちは。

Bの戦闘後にコモンイベントが実行しないとありますが、状況としては以下のどちらでしょうか。
1.バトルイベントは実行するが、戦闘後にコモンイベントを実行しない。
2.バトルイベントも実行していないため、戦闘後にコモンイベントを実行しない。

参考ページに記載のある、対象の不死身化はABどちらも実行しているのですよね。
 
おそらく1だと思われます!
というのも、ここには書かれておりませんが、実行する際に不死身ステータスをつける処理がありまして、それについてはAの戦闘時もBの戦闘時も不死身ステータスのグラフィックが表示されています

(最初は「あっ、しまった」と思ったけれど、仲間にできる目印になるからいいやと思って残していたのがよかったところですね)

と、しぐれんさんによって使っているプラグイン出力のものがあったのでそれもはってみます

<stealSkillVer5>
モンスターからアイテムを盗めるようにするプラグインです
<MessageSelectPicture>
選択肢のピクチャ表示プラグイン
<SupportFaceChat>
フェイスチャット機能を実装します。
<TMGoldLevelUp>
経験値ではなくお金を消費して任意のタイミングで
アクターをレベルアップさせることができます。
<ChangeActorImageSystem>
アクターの画像を変えます
<SceneFormation>
ver1.09/並び替えシーンを追加します。
<AutoBattle>
ver1.03/戦闘中にキー入力でオートバトルを開始できるようにします。また、オートバトル中は高速化します。
<FTKR_CustomSimpleActorStatus>
v1.5.3 アクターのステータス表示を変更するプラグイン
<FTKR_CSS_BattleStatus>
v1.2.0 バトル画面のステータス表示を変更するプラグイン
<plugin_list>
入れてあるプラグインの一覧を出力します。

Yana様のプラグインがスイッチを使うものが多くて意図しない挙動が多かったので、その分は個別に管理しましたが、もしかしたら他の人のプラグインでスイッチ29かコモン20を使うプラグインがあったのでは…?
と気になってはいるところです
 
>しぐれん様
試してみました、こちらになります

<stealSkillVer5>
モンスターからアイテムを盗めるようにするプラグインです
stealCountVariableId:0
<MessageSelectPicture>
選択肢のピクチャ表示プラグイン
<SupportFaceChat>
フェイスチャット機能を実装します。
x:0
y:550
width:410
type:1
IconNumber:4
[C]color:2
MsgWindowHeight:
ChangeTone:true
<TMGoldLevelUp>
経験値ではなくお金を消費して任意のタイミングで
アクターをレベルアップさせることができます。
levelUpCommand:レベルアップ
currentGold:所持金
learnSkill:覚えるスキル
levelUpSe:Up4
levelUpSeParam:{"volume":90, "pitch":100, "pan":0}
useButton:1
<ChangeActorImageSystem>
アクターの画像を変えます
読み込むファイル名:美容院
説明ウィンドウの文字:の画像を選択してください。
ページウィンドウの表記:ページ
文字色の指定:0
ウィンドウスキンの指定:Window
ウィンドウの透明度の指定:180
背景のファイル名:
背景の色:
1ページに表示する画像数:8
<SceneFormation>
ver1.09/並び替えシーンを追加します。
Stand Members Size:30
Max Battle Members Size:6
Use Menu Formation Scene:true
Formation Scene Battle Name:戦闘メンバー
Formation Scene Stand Name:待機メンバー
Use Battle Formation Switch ID:21
Battle Command Formation:
Status Window Font Size:12
Status Block Width:372
<AutoBattle>
ver1.03/戦闘中にキー入力でオートバトルを開始できるようにします。また、オートバトル中は高速化します。
Invalidate Auto Battle Switch:18
Show X:496
Show Y:395
Auto Battle Speed:4
Show Window:true
Auto Battle Use Skill:false
Window Hide Switch:19
Auto Battle Key:shift
Auto Battle Usable Message:現在オートバトル中 _keyで解除
Auto Battle Message:_keyでオートバトル開始
<FTKR_CustomSimpleActorStatus>
v1.5.3 アクターのステータス表示を変更するプラグイン
--簡易ステータス表示--:
Enabled Simple Status:1
Actor Status Text1:,face
Actor Status Text2:name,,,state
Actor Status Text3:level,class,hp,mp
Actor Status Space:5,0,20,5
Actor Status Space In Text:5
Actor Status Width Rate:0,1,1
--ステータスウィンドウ設定--:
Enabled Custom Window:1
Number Visible Rows:16
Number Max Cols:2
Cursol Line Number:4
Cursol Height Space:3
Font Size:28
Window Padding:18
Window Line Height:48
Window Opacity:192
Hide Window Frame:0
--スキル画面の設定--:
Enabled Skill Status:1
--顔画像の設定--:
Face Position X:0
--歩行キャラの設定--:
Chara Image Width:48
Chara Image Height:48
Chara Position X:1
--SVキャラの設定--:
Sv Image Width:64
Sv Image Height:64
Sv Position X:1
Sv Image Motion:wait
Sv Motion Loop:1
Enabled State Motion:1
--ステートの設定--:
Animation Wait:40
Enable Overlap:0
Overlap Rate:0.5
Enable Auto Scale:1
--装備パラメータの設定--:
Equip Right Arrow:\c[16]→
--カスタムパラメータの設定--:
--Custom Param 0--:
Custom 0 Display Name:\c[16]現在の経験値
Custom 0 References:
--Custom Param 1--:
Custom 1 Display Name:
Custom 1 References:a.currentExp()
--Custom Param 2--:
Custom 2 Display Name:\c[16]次のレベルまで
Custom 2 References:
--Custom Param 3--:
Custom 3 Display Name:
Custom 3 References:a.nextRequiredExp()
--Custom Param 4--:
Custom 4 Display Name:
Custom 4 References:
--Custom Param 5--:
Custom 5 Display Name:
Custom 5 References:
--Custom Param 6--:
Custom 6 Display Name:
Custom 6 References:
--Custom Param 7--:
Custom 7 Display Name:
Custom 7 References:
--Custom Param 8--:
Custom 8 Display Name:
Custom 8 References:
--Custom Param 9--:
Custom 9 Display Name:
Custom 9 References:
--Custom Param 10--:
Custom 10 Display Name:
Custom 10 References:
--Custom Param 11--:
Custom 11 Display Name:
Custom 11 References:
--Custom Param 12--:
Custom 12 Display Name:
Custom 12 References:
--Custom Param 13--:
Custom 13 Display Name:
Custom 13 References:
--Custom Param 14--:
Custom 14 Display Name:
Custom 14 References:
--Custom Param 15--:
Custom 15 Display Name:
Custom 15 References:
--Custom Param 16--:
Custom 16 Display Name:
Custom 16 References:
--Custom Param 17--:
Custom 17 Display Name:
Custom 17 References:
--Custom Param 18--:
Custom 18 Display Name:
Custom 18 References:
--Custom Param 19--:
Custom 19 Display Name:
Custom 19 References:
--カスタムゲージの設定--:
--Gauge Param 0--:
Gauge 0 Display Name:EXP
Gauge 0 Current:a.currentExp()
Gauge 0 Max:a.nextLevelExp()
Gauge 0 Color1:17
Gauge 0 Color2:6
--Gauge Param 1--:
Gauge 1 Display Name:
Gauge 1 Current:
Gauge 1 Max:
Gauge 1 Color1:
Gauge 1 Color2:
--Gauge Param 2--:
Gauge 2 Display Name:
Gauge 2 Current:
Gauge 2 Max:
Gauge 2 Color1:
Gauge 2 Color2:
--Gauge Param 3--:
Gauge 3 Display Name:
Gauge 3 Current:
Gauge 3 Max:
Gauge 3 Color1:
Gauge 3 Color2:
--Gauge Param 4--:
Gauge 4 Display Name:
Gauge 4 Current:
Gauge 4 Max:
Gauge 4 Color1:
Gauge 4 Color2:
--Gauge Param 5--:
Gauge 5 Display Name:
Gauge 5 Current:
Gauge 5 Max:
Gauge 5 Color1:
Gauge 5 Color2:
--Gauge Param 6--:
Gauge 6 Display Name:
Gauge 6 Current:
Gauge 6 Max:
Gauge 6 Color1:
Gauge 6 Color2:
--Gauge Param 7--:
Gauge 7 Display Name:
Gauge 7 Current:
Gauge 7 Max:
Gauge 7 Color1:
Gauge 7 Color2:
--Gauge Param 8--:
Gauge 8 Display Name:
Gauge 8 Current:
Gauge 8 Max:
Gauge 8 Color1:
Gauge 8 Color2:
--Gauge Param 9--:
Gauge 9 Display Name:
Gauge 9 Current:
Gauge 9 Max:
Gauge 9 Color1:
Gauge 9 Color2:
<FTKR_CSS_BattleStatus>
v1.2.0 バトル画面のステータス表示を変更するプラグイン
--レイアウト設定--:
Actor Status Text1:,,state
Actor Status Text2:name,chara,hp,mp,tp
Actor Status Text3:
Actor Status Space:0,0,0,0
Actor Status Space In Text:8
Actor Status Width Rate:0,85,0
--ウィンドウ設定--:
Enabled Custom Window:1
Number Visible Rows:6
Number Max Cols:6
Cursol Line Number:4
Cursol Height Space:0
Font Size:14
Window Padding:18
Window Line Height:24
Window Opacity:192
Hide Window Frame:0
--アクターの位置設定--:
Enable Custom Position:1
Max Number of Vertical:3
Center Position X:600
Center Position Y:380
Diff Position X:32
Diff Position Y:48
Diff Column:96
<plugin_list>
入れてあるプラグインの一覧を出力します。
writeParamFlag:1
ON_only:0
<MPI_ValueMonitor>
変数とスイッチを監視するウインドウを表示します。
一行の高さ:26
フォントサイズ:20
余白:9
未選択項目の不透明度:100
編集モード時の文字色:yellow
更新通知:true

>フトコロ様
便利なプラグインをありがとうございます!
もしかしてですが、一度デブロイメントをしたゲームでなければ、右側にデバック画面でなかったりしますか…?
(テストプレイではまったく画面が出ませんでした…)
 
ちなみにデバック画面によるフラグ管理の結果はこうなりました
Aの方→敵を倒した後ちゃんとスイッチがONになりコモンイベントが発生
Bの方→敵を倒した後スイッチがOFFのまま

となるとスイッチかなと思い、入力しなおしてみたけれどならず……?
 
ちなみにデバック画面によるフラグ管理の結果はこうなりました
Aの方→敵を倒した後ちゃんとスイッチがONになりコモンイベントが発生
Bの方→敵を倒した後スイッチがOFFのまま
そうなりますと、Bのバトルイベントが動作しているか、もう一度確認したほうがいいと思います。

文章の表示コマンドか、スクリプトでconsole.log($gameSwitches.value(29))を加えて確認してみてはどうでしょうか。
 
ありがとうございます、確認しなおしてみました!
文章の表示コマンドを試しに適当なものを入れた結果、なぜか表示されず、改めて書き直してみても表示されないといった事から、敵グループ15のバトルイベント2が何らかの理由で動作していないということになりますね……
削除→書き直しでもうまくいかなかったので、試しに敵グループを別のにするなど試してみます
 
解決しました!
試しにBのモンスターを二匹にしたところ1匹目を倒した後にスイッチがONになりました

おそらくなのですが、敵単体だとHP0になった時、スイッチをONにする前に戦闘終了が優先されてしまって発動しなかったものと思われます

つまり
・Aは複数匹出現するがBは1匹のみなので何らかの理由で除外される?
が見事に当たっていたんですねこれ……

そして1匹の場合でも仲間にするパターンはあるんじゃないかと試しに試行錯誤した結果無事仲間にすることができましたので追記させていただきます

1匹だけ出現するモンスターを仲間にする場合の設定

・バトルイベント1
条件:ターン0
◆敵キャラのステート変更:#1 モンスターB,+不死身(特に目印が欲しくないなら不要です)
◆条件分岐:アクターAがスキルAを覚えている
 ◆条件分岐:アクターAがパーティにいる
  ◆スイッチの操作:#モンスターB仲間フラグ
  ◆
 :分岐終了
 ◆
:分岐終了
◆

・バトルイベント2(目印として不死身をつけてないならこれ自体いりません!)
条件:敵キャラHP(1)<=0%
敵キャラのステート変更:#1 モンスターB,-不死身


そもそも1匹だけであればこれでいけて、あくまでも2匹以上の時の処理なのだと知って目から鱗でしたね
フトコロさんの紹介してくれたプラグインがなければここまで到達できませんでした、ありがとうございます!
しぐれんさんも協力していただいてありがとうございました!
 
Back
トップ