SRPGギアMV/MZ 交流スレッド

お世話になっております。Ver.117で、いくつかご質問させて頂きたく、お目に留まりましたらまたアドバイスの方宜しくお願い致します。

1.先制攻撃のスキルを作ったのですが、スキルで攻撃をする武器(通常攻撃がスキル攻撃、又は、srpgReactionSkillが記述された武器)を持っている場合、応戦で先制攻撃になると、武器にセットされている攻撃スキルが機能せず、通常の殴りになってしまいます。
おそらく先制攻撃のスキルが優先されているからだと思うのですが、「先制攻撃」で「応戦」する場合も、装備中の武器の「スキル攻撃(MZの特徴欄)」か「srpgReactionSkill(メモ欄)」が機能する良い方法などがあればアドバイスを頂けたらと存じますm(__;)m

2.ドロップアイテムについてですが、敵を応戦で撃破した場合、ドロップアイテムに設定されている品が、表示もなく入手されている場合があることと、更にこの時、レベルアップすると、ドロップアイテムも複数入手(その戦闘でレベルアップした回数分、ドロップチェックが入っているような印象…)できてしまう現象が起きているようです。
こちらからの攻撃で撃破した場合は、正常に動作していると思われます。

3.レベルの上限を例えば30に設定した時、レベル30で経験値ゲージが止まる表示(正常)になりますが、実際は上限以降も経験値が入っているのか、戦闘を続けているとレベル31にレベルアップした!のような表示とファンファーレが鳴ります。
(ステータスで確認をすると、ちゃんと30で止まっているようですが…)

それぞれ私の検証が不十分かもしれませんが、お時間がございます時にご確認の程、宜しくお願い致します。
いつもありがとうございます! お返事が遅くなって申し訳ありません。
1.先制攻撃
先制攻撃は、あくまでスキルの1つとして作られているものなので、武器の攻撃スキルとは別に扱われます。
応戦で武器スキルに先制攻撃の効果を付けたいとなると、そのために新しくスキルを作る必要があると思います。
例:攻撃スキル「ファイア」、応戦「速度補正の値を2000にしたファイア」
もしくは、通常の攻撃も応戦も先制攻撃になるようにするか…
例:攻撃スキル「速度補正の値を2000にしたファイア」、応戦「通常攻撃(武器の攻撃スキル)」
参考になれば幸いです。

2.応戦で敵を撃破するとドロップアイテムの入手がおかしくなる
3.レベル上限でもレベルアップ表示が出る
こちらでも現象を確認しました。
原因を調べて、対策を立てたいと思いますので、少々お待ちください。

よろしくお願いいたします。
 
いつもありがとうございます! お返事が遅くなって申し訳ありません。
1.先制攻撃
先制攻撃は、あくまでスキルの1つとして作られているものなので、武器の攻撃スキルとは別に扱われます。
応戦で武器スキルに先制攻撃の効果を付けたいとなると、そのために新しくスキルを作る必要があると思います。
例:攻撃スキル「ファイア」、応戦「速度補正の値を2000にしたファイア」
もしくは、通常の攻撃も応戦も先制攻撃になるようにするか…
例:攻撃スキル「速度補正の値を2000にしたファイア」、応戦「通常攻撃(武器の攻撃スキル)」
参考になれば幸いです。

2.応戦で敵を撃破するとドロップアイテムの入手がおかしくなる
3.レベル上限でもレベルアップ表示が出る
こちらでも現象を確認しました。
原因を調べて、対策を立てたいと思いますので、少々お待ちください。

よろしくお願いいたします。
お世話になっております!ご教示ありがとうございます!(><;)

1.先制攻撃スキルについてですが、何とか解決いたしました!
思い描いていた形は「先制攻撃能力を身に着けたキャラの攻撃は全て先制攻撃になる」だったので、「先制攻撃スキル」や「srpgReactionSkill」
を使わず、キャラクターや装備品の特徴に速度補正1000を追加するだけで実現できました;
SRPG側の「応戦」や「スキル」という言葉にとらわれ過ぎていて、そもそもの基本的な部分が頭から飛んじゃっていたようです…(汗)

2.3.につきましては更新をお待ちしております!
ありがとうございました!
 
お世話になっております。プラグイン1.18更新お疲れ様でした!早速使わせて頂きました!

そこでまたご質問なのですが、プラグインを更新後、ニューゲームで始めてユニットを動かし「待機」すると、エラー落ちしてしまう現象が起こるようになってしまいました;

他のプラグインを全てOFFにして、SRPGプラグイン一式のみで試してもエラー落ちしますが、配布されている1.17のサンプルゲームに1.18プラグインを上書きしてプレイしてもエラーは出ませんでした。

何か原因の特定ができるヒントが得られればと思います。もしまたお目に留まりましたら宜しくお願い致します(><;)

prtscr_9.pngprtscr_9_1.png
--------------------------
どうやらスクリプトで取得していたキャラID間の距離を変数に格納する記述が原因っぽいようでした;
今までは正常に動作していたのですが、この処理を省いたところ正常に動作しました。
Ver.1.18で「行動後の処理」が更新されたとの紹介がございましたので、その辺で問題になっていたのかもしれません。

エラーの他に誤動作のような現象も起こり始めているという報告も頂戴しているため、少し調べてみたのですが
下記のようなことになっているようです。
もし仕様で、こちらの作り方が不適切でしたら申し訳ありません;

【例】

this.actorActorDistance(13, 4, 11);

アクターID4と11の距離を変数13に格納して、隣接待機した時にコモンイベントを動かしています。
Ver.1.17までは正常に機能していたようなのですが、Ver.1.18からこれ系の記述が原因でエラーや誤動作をするようになったように思われます。

例えば、アクターID4のキャラを出撃させていない場合、変数13に初期値で0が入っていて、
アクターID4(マップ上に出撃していない)以外のキャラ(アクターID問わず)を移動させ、アクターID11に隣接待機すると
変数13に1が入り、セットしてあるコモンが起動してしまうようです。

対象IDのキャラが出撃しているかどうかで条件分岐をかけられれば、コモンを起動させないようにできると思い試しているのですが
もっと上手いやり方などがございましたらご教示いただければ幸いでございます(><;)
 
最後に編集:
連投になってしまい済みません(><;)
またいくつか気になった点が発生しておりまして、念のためご報告させて頂きます。

1.「SRPG_BattlePrepare_MZ」のパラメータ「lockIconIndex」ですが、以前は「90」と指定して90番のアイコンが表示されましたが、現在は「90」と指定しているのに何故か195番のアイコンが表示されてしまうようです。

2.検証がちょっと不十分なのですが、下記のようなタイミングで原因不明のエラーが出てしまうようになりました。

【発生が確認された状況】
●マップ開始直後に敵ユニットにカーソルを合わせてウィンドウを開こうとするとエラーが発生。
●カーソルを合わせ、ウィンドウを開こうとせず、他のキャラを移動したり、一旦セーブしてロードし直すなどしてから同様の操作をすると、エラーが出なくなるようです。(アクターターン開始後にすぐユニットのウィンドウを開こうとしなければ正常に動作するようです。)
●以前のバージョン(~Ver.1.17)では同じ操作で発生していませんでした。

2の件については色々と試してみたのですが、自力で解決できませんでしたので、念のためご報告させて頂きました。

prtscr_9_2.pngprtscr_9_3.png
 
最後に編集:
連投になってしまい済みません(><;)
またいくつか気になった点が発生しておりまして、念のためご報告させて頂きます。

1.「SRPG_BattlePrepare_MZ」のパラメータ「lockIconIndex」ですが、以前は「90」と指定して90番のアイコンが表示されましたが、現在は「90」と指定しているのに何故か195番のアイコンが表示されてしまうようです。

2.検証がちょっと不十分なのですが、下記のようなタイミングで原因不明のエラーが出てしまうようになりました。

【発生が確認された状況】
●マップ開始直後に敵ユニットにカーソルを合わせてウィンドウを開こうとするとエラーが発生。
●カーソルを合わせ、ウィンドウを開こうとせず、他のキャラを移動したり、一旦セーブしてロードし直すなどしてから同様の操作をすると、エラーが出なくなるようです。(アクターターン開始後にすぐユニットのウィンドウを開こうとしなければ正常に動作するようです。)
●以前のバージョン(~Ver.1.17)では同じ操作で発生していませんでした。

2の件については色々と試してみたのですが、自力で解決できませんでしたので、念のためご報告させて頂きました。

View attachment 18222View attachment 18223
ドッ〇君様、いつもありがとうございます!
ご迷惑をおかけしてしまって、申し訳ありません。

・ユニット間の距離を取得するスクリプトコマンド
this.EventDistance()の不具合は、原因が分かりましたので次回修正します。

this.actorActorDistance()で距離を取得する場合ですが、指定したアクターがいない場合、変数には 999 が入っていませんか?(プラグインの仕様としては、ユニットが取得できない場合、999を返すようになっています)
もっとも、これは分かりにくい仕様かと思いますので、 -1 を返す形に修正しようとは思っています。
ご確認いただけると幸いです。

・lockIconIndexが反映されない不具合は原因が分かりましたので、次回修正します。

・マップ開始直後にウィンドウを開くとエラーが生じる
 これは、こちらで再現が出来ず、原因が分かりません。
 アクターの情報が上手く読み込めずに起きているエラーなのは分かるので、いったんエラー回避の処理は入れておこうと思います。

近日中にVer.1.19Qの形でアップデートする予定ですので、お手数をおかけしますが、お試しいただければ幸いです。
よろしくお願いいたします。
 
ドッ〇君様、いつもありがとうございます!
ご迷惑をおかけしてしまって、申し訳ありません。

・ユニット間の距離を取得するスクリプトコマンド
this.EventDistance()の不具合は、原因が分かりましたので次回修正します。

this.actorActorDistance()で距離を取得する場合ですが、指定したアクターがいない場合、変数には 999 が入っていませんか?(プラグインの仕様としては、ユニットが取得できない場合、999を返すようになっています)
もっとも、これは分かりにくい仕様かと思いますので、 -1 を返す形に修正しようとは思っています。
ご確認いただけると幸いです。

・lockIconIndexが反映されない不具合は原因が分かりましたので、次回修正します。

・マップ開始直後にウィンドウを開くとエラーが生じる
 これは、こちらで再現が出来ず、原因が分かりません。
 アクターの情報が上手く読み込めずに起きているエラーなのは分かるので、いったんエラー回避の処理は入れておこうと思います。

近日中にVer.1.19Qの形でアップデートする予定ですので、お手数をおかけしますが、お試しいただければ幸いです。
よろしくお願いいたします。
お世話になっております!こちらこそ素晴らしいプラグインを楽しませていただいて感謝しかありません(><;)

this.actorActorDistance()の方は、現在、対象のキャラが出撃したかどうかで分岐をかけて、SRPGマップ上に対象がいない場合はコモンが動かないようにすることができたので回避できています。(はずです…^^;)

マップ開始直後に敵などを見ると発生するエラーですが、こちらも発生する時の条件がわからずにおります;
1箇所だけ味方の増援がターン開始に出た時に、その増援を見ようとしたら同じエラーが出たことがありました。
リセットして再びそのシーンまで進め、同じように味方増援を見ようとすると確定で発生していたのと、以前までは同じ手順で発生していなかったので、何かその辺に原因があるのかな?程度に薄っすらと感じています…お役に立てず済みません;

更新されましたら、また試させて頂きます!ありがとうございます!
 
お世話になっております!何だか投稿が集中してしまい申し訳ありません(><;)
Ver.1.19Q更新お疲れ様でした!早速使わせて頂きました!

1つだけ、やはりthis.actorActorDistance()の方だけがこちらはまだ発生してしまうようです;
もしかして、私の使い方に問題があるのかもしれないので、また状況だけご報告させて頂きます。
もし、この使い方が不適切でしたら申し訳ございません;

■こちらで使っているやり方
*対象のアクター(又は敵ユニット)に対し、自軍の特定のアクターを隣接させるとイベント(コモン)を起動させる。
*対象アクターに対し、イベントが発生する自軍アクターを出撃させるかどうかは遊んでいるプレイヤーの任意なので
 イベントIDを拾うのではなく、アクターIDでチェックをしている→this.actorActorDistance()

◆起きている現象(変数の状況は添付ファイルにて)
*Ver.1.19でも上記のイベント関係者の変数の初期値は1のようです。
*途中出現する敵増援の変数は-1ではなく999になっています。(こちらは以前からずっと正常に動作しています)

*4枚目の画像で「1対象に対し、3アクターが距離を拾っているから?」みたいなコメントを書きましたが
 1対1でも同様の状況になっています。

これだけでは分からないかもしれませんが、もしお気付きの点がございましたらご指摘下さいますと幸いです(><;)

一応、アップしてあるゲームには回避策(ステートとスイッチを使って出撃アクターを割り出し条件分岐で回避するベタなやり方;)
を施したので、動作に問題は出ていないと思われ?ます…。
今度、こちらのVer.1.19版で再アップしてみます。
 

Attachments

  • d_prtscr_1.png
    d_prtscr_1.png
    104.8 KB · 閲覧: 36
  • d_prtscr_2.png
    d_prtscr_2.png
    241.9 KB · 閲覧: 38
  • d_prtscr_3.png
    d_prtscr_3.png
    205 KB · 閲覧: 33
  • d_prtscr_4.png
    d_prtscr_4.png
    182.7 KB · 閲覧: 35
SRPGギアMV/MZをアップデートいたしました!
Ver.1.19Q
MV https://ohisamacraft.nyanta.jp/srpg_gear_mv.html
MZ https://ohisamacraft.nyanta.jp/srpg_gear_mz.html

更新内容は以下の通りです。
2024/9/18 Ver.1.19Q :
・キャンセルキーによるメニュー画面呼び出しの処理を競合しにくいように改良
・スクリプトコマンド『this.EventDistance()』が正常に動作しない不具合を修正
・アクター間/イベント間の距離を取得するスクリプトコマンドにおいて、存在しないアクター/イベントが指定された場合、指定した変数に -1 を返すように修正
・(MZ)『SRPG_BattleUI_MZ』を使用した際、『SRPG_BattlePrepare_MZ』で設定したロックアイコンのIDが反映されない不具合を修正

2024/9/7 Ver.1.18Q :
【仕様変更】
・AoEの仕様を一部変更
 制作方法の詳細はSRPG_AoE.jsのヘルプに追記しています。
 ・周囲攻撃
  ・<srpgAreaType:allActor><srpgAreaType:allEnemy>で射程範囲を直接AoE範囲にする機能を削除
  ・自分の周囲を対象とするスキルを作成する場合は、射程 0 のAoEスキルとして作成するように変更
  ・エネミー、自動行動アクターが周囲攻撃を正確に使用するためにはSRPG_AIControl.jsが必要になります。
 ・全体攻撃
  ・全体攻撃のタグに味方陣営、対立陣営を指定する<srpgAreaType:allFriend><srpgAreaType:allOpponent>を追加
  ・<srpgAreaRange:X>を1以上に設定して、<srpgAreaType:allFriend><srpgAreaType:allOpponent><srpgAreaType:allActor>
<srpgAreaType:allEnemy>を組み合わせると全体を対象とするスキルになるように変更(<specialRange:X>が不要になります)
【機能追加】
・『ゲストアクター』機能を追加(同一IDのアクターをコピーして戦闘に参加させる機能)
 イベントのメモに<type:guest><id:X>と記述するとゲストアクターになります。
・『SRPG_BattleUI』にメニュー画面の表示人数と表示グラフィックを変更できる機能を追加(プラグインパラメータで設定)
・エネミーのタグに、アクターのパラメータをコピーする<srpgUseActorParamId:X>を追加。指定したIDのアクターのステータス、装備、特徴が同一になるエネミーを作成できます。
・SRPG_UX_WindowsにHP,MP,TPの表示を'???'にできるタグ<hideHpMp:true>を追加。合わせて、<hideHpMp:true>を無効化するステートのタグ<showHpMp:true>も追加
【改良】
・リワード(経験値、お金、アイテム)を得ないタグ<noRewards:true>をアクターと職業でも使用できるように改良
・マップバトルを設定するタグ<mapBattle:true><mapBattle:false>をアクター、エネミーでも使用できるように改良
・特徴:HP再生率によるダメージ・回復がマップ上で表示されるよう改良
・イベント『ユニット行動後の処理(<type:afterAction>)』と『ユニットイベント(<type:unitEvent>)』でも『行動中のイベントID(デフォルトで変数4番の数値)』と『対象のイベントID(変数5番の数値)』が保持されるように改良
・イベントIDで指定するスクリプト/プラグインコマンドで行動中のイベントIDと対象のイベントIDを入力できるように改良(イベントID 0 で行動中のイベントID、-1で対象のイベントIDを参照する)
・AoEの範囲表示スプライトの描画を軽量化
【修正】
・Ver.1.16Q以前のセーブデータでSRPG戦闘を再開した場合、戦闘終了時に停止する不具合を修正
・応戦スキルで『ID 1 のスキル(デフォルトは『攻撃』)』を指定すると通常攻撃で応戦するように修正(通常攻撃が特徴やタグでID 1 以外のスキルになっている場合、そのスキルで応戦)
・スクリプトコマンド『this.unitAddState()』で戦闘不能を付与する処理が正常に動作しない不具合を修正
・SRPG_UX_Cursorでプラグインコマンド『Start On Next Actor』をtrueにした場合、『ユニット行動後の処理(<type:afterAction>)』や『ユニットイベント(<type:unitEvent>)』中にカーソルが移動してしまう不具合を修正
・リワード画面で、レベル上限に達したユニットでもレベルアップ表示がされてしまうことがある不具合を修正
・シーンバトルの応戦で敵を倒すと戦闘勝利時の処理が複数回行われてしまう不具合を修正

今後とも、SRPGギアをよろしくお願いいたします…!
 
お世話になっております!何だか投稿が集中してしまい申し訳ありません(><;)
Ver.1.19Q更新お疲れ様でした!早速使わせて頂きました!

1つだけ、やはりthis.actorActorDistance()の方だけがこちらはまだ発生してしまうようです;
もしかして、私の使い方に問題があるのかもしれないので、また状況だけご報告させて頂きます。
もし、この使い方が不適切でしたら申し訳ございません;

■こちらで使っているやり方
*対象のアクター(又は敵ユニット)に対し、自軍の特定のアクターを隣接させるとイベント(コモン)を起動させる。
*対象アクターに対し、イベントが発生する自軍アクターを出撃させるかどうかは遊んでいるプレイヤーの任意なので
 イベントIDを拾うのではなく、アクターIDでチェックをしている→this.actorActorDistance()

◆起きている現象(変数の状況は添付ファイルにて)
*Ver.1.19でも上記のイベント関係者の変数の初期値は1のようです。
*途中出現する敵増援の変数は-1ではなく999になっています。(こちらは以前からずっと正常に動作しています)

*4枚目の画像で「1対象に対し、3アクターが距離を拾っているから?」みたいなコメントを書きましたが
 1対1でも同様の状況になっています。

これだけでは分からないかもしれませんが、もしお気付きの点がございましたらご指摘下さいますと幸いです(><;)

一応、アップしてあるゲームには回避策(ステートとスイッチを使って出撃アクターを割り出し条件分岐で回避するベタなやり方;)
を施したので、動作に問題は出ていないと思われ?ます…。
今度、こちらのVer.1.19版で再アップしてみます。
ドッ〇君様、こんにちは!
アクター間の距離を取得するスクリプトについて、私の方でも再度試してみたのですが、戦闘に参加していないアクターを指定した場合、きちんと -1 が変数に代入されており、ご指摘の現象を再現することが出来ません…

『this.actorActorDistance()を利用してユニット間の距離を取得し、距離が 1 の場合にイベントを実行する』という処理を組んでおられるのだと思います。
書いていただいた内容で気になるのは、敵ユニットとの距離、という部分です。
this.actorActorDistance()は、アクターIDを元に距離を取得する処理です。
このアクターIDとは、データベース→アクターの欄で出てくるアクターのIDです(たとえばサンプルゲームですと、アクターID 1 はシドニーになります)。
敵ユニットとの距離は、このスクリプトコマンドでは取得することが出来ません。

アクター(アクターID)同士の距離を取得する場合はthis.actorActorDistance(variableId, actorId1, actorId2);
アクター(アクターID)と敵ユニット(イベントID)の距離を取得する場合はthis.actorEventDistance(variableId, actorId, eventId);
アクター、エネミー関係なしにイベント(イベントID)同士の距離を取得する場合はthis.eventEventDistance(variableId, eventId1, eventId2);
を、それぞれ使用します。

ご自身の組まれている処理が目的に沿ったものであるか、ご確認いただけますでしょうか?
また、実際に組まれている処理について、もう少し具体的にお教えいただけると、より正確なお返事ができるかもしれません。

お手数をおかけしますが、よろしくお願いいたします。
 
ドッ〇君様、こんにちは!
アクター間の距離を取得するスクリプトについて、私の方でも再度試してみたのですが、戦闘に参加していないアクターを指定した場合、きちんと -1 が変数に代入されており、ご指摘の現象を再現することが出来ません…

『this.actorActorDistance()を利用してユニット間の距離を取得し、距離が 1 の場合にイベントを実行する』という処理を組んでおられるのだと思います。
書いていただいた内容で気になるのは、敵ユニットとの距離、という部分です。
this.actorActorDistance()は、アクターIDを元に距離を取得する処理です。
このアクターIDとは、データベース→アクターの欄で出てくるアクターのIDです(たとえばサンプルゲームですと、アクターID 1 はシドニーになります)。
敵ユニットとの距離は、このスクリプトコマンドでは取得することが出来ません。

アクター(アクターID)同士の距離を取得する場合はthis.actorActorDistance(variableId, actorId1, actorId2);
アクター(アクターID)と敵ユニット(イベントID)の距離を取得する場合はthis.actorEventDistance(variableId, actorId, eventId);
アクター、エネミー関係なしにイベント(イベントID)同士の距離を取得する場合はthis.eventEventDistance(variableId, eventId1, eventId2);
を、それぞれ使用します。

ご自身の組まれている処理が目的に沿ったものであるか、ご確認いただけますでしょうか?
また、実際に組まれている処理について、もう少し具体的にお教えいただけると、より正確なお返事ができるかもしれません。

お手数をおかけしますが、よろしくお願いいたします。
お世話になっております。お手数をお掛けして申し訳ありません(><;)

ご指摘いただきました敵についてですが、おっしゃる通り、こちらはイベント間の処理を使っておりました。
ずっと正常に動作しております。

アクター間の距離についてですが、たぶん、私の作り方に問題があるのだと思います(理解が足りていないのかもしれません;)
試に、実際に使用しているコモンを、サンプルゲーム1.17に1.19のプラグインを上書きしたものに組み込んでテストをしてみたのですが、やはり発生してしまいました。

コモンの内容は添付画像の通りです。(コモンのネームが変数13とか書いていますが実際は15です;)
*サンプルゲームのレイチェルとパトリックが隣接すると会話が発生するようになっています(…はずです汗)
これを「ユニット行動後の処理」に入れています(ユニット待機後に起動したいため)

テストでは、この状態でパトリックを出撃させずにエレンを出撃させました。
パトリックがマップ上にいないため、レイチェルのコモンは起動しない…はずなのですが、無関係のシドニーを隣接させたら起動してしまいました。

こちらでやろうとしていることは、ご想像通り「マップ上にいる特定のアクター同士が隣接した時にイベントが起動する」です。
もし「このようにすれば上手く動作する」的なご指摘など頂戴できれば幸いでございます(><;)
 

Attachments

  • d_prtscr_5.png
    d_prtscr_5.png
    92.9 KB · 閲覧: 35
最後に編集:
こんにちは。僭越ですが…

当方でも、MZ版の1.19にアップデートされたサンプルシナリオにてactorActorDistanceを用いてみましたが、
ドッ〇君様が記載されているように、アクターが出撃していない
(出撃するアクター選択で当該アクターを選ばなかった)場合でも、距離の値が更新される挙動になっております。

<type:afterAction>のタイミングで変数を更新するようにして試した限りでは、
距離を取得するアクターのうち片方のみが出撃している場合は、(アクターであれエネミーであれ)イベントが行動したときに、そのイベントとの距離が取得され、
両方とも出撃していない場合は、常に0が代入される。
といった挙動でした。

actorActorDistance()のソースコードを見てみますと、ActorToEvent()でアクターIDからイベントIDを取得していますが、
ここでマップ上に当該アクターが存在しない場合、戻り値として0を返しているはずです。
その結果を用いて eventEventDistance()を呼び出していますが、
そこで用いているgetEventId()で、イベントIDが 0, -1 の時に行動中・対象のイベントIDを返す
ということなので、結局のところ、
「出撃していないアクターIDを指定した場合、"行動中のイベント"の位置が代わりに用いられる」(アクターがいないので-1や999といった不在を意味する値が入る、というわけではない)
という事象が発生していると思われます。


さて、ここまで書いておいて、これといった処置内容がなく恐縮ですが、、、
現状では、対象のアクターが強制出撃でない場合は、指定したアクターが出撃しているか否かの判定が必要ということになるでしょう。
一応、$gameSystem.ActorToEvent(アクターID) で、0が帰ってきた場合はそのアクターはマップ上に存在していない、
というような判定には使えるでしょうか。

至らない点あると思いますが、以上、よろしくお願いします。
 
最後に編集:
ドッ〇君様、れねれす様、お返事ありがとうございます!
いただいたお話で、原因が分かりました。

私がテストした際は、<type:unitEvent>でテストしたため、再現しなかったようです。
<type:afterAction>で試したところ、現象を再現することが出来ました。

こちらのプラグインのミスです。ご迷惑をおかけして、申し訳ありませんでした。
次回更新時に修正させていただきます。

取り急ぎですが、もしよろしければSRPG_coreMZ.jsを開いていただいて、
Game_System.prototype.ActorToEvent内、4341行目を
var eventId = undefined;
と書き換えていただければ、actorActorDistanceで指定したアクターがいない場合、変数に -1 を返すようになります。

もしまだ問題がありましたら、遠慮なくご連絡ください。
よろしくお願いいたします。
 

Attachments

  • SRPG_core_MZ.js - Visual Studio Code 2024_09_26 19_05_41.png
    SRPG_core_MZ.js - Visual Studio Code 2024_09_26 19_05_41.png
    21.7 KB · 閲覧: 29
お世話になっております。別の質問となります。

敵キャラのウィンドウを参照した際に、属性をアイコン表示したいです。
たとえば<srpgClass:>に\I[n]にてアイコンを表示させる方法はありますでしょうか?

以前、別のゲームでSRPGコンバータにてそのように表示しているものを見たことがありました。
やり方を教えていただけると幸いです、何卒よろしくお願います。
 
こんにちは。

メモ欄のsrpgClassに制御文字を追加して、アイコンを表示する、という形でしょうか。
その場合、SRPGギアのコードを直接変更するということであれば、SRPG_core_MZ.jsに、エネミーの職業を描画する drawEnemyClass 関数が存在するので、
そこを改変すると良いかと思います。
コード:
    // エネミーの職業(クラス)を描画する
    Window_StatusBase.prototype.drawEnemyClass = function(enemy, x, y, width) {
        width = width || 168;
        var className = enemy.enemy().meta.srpgClass;
        if (!className) {
            className = _enemyDefaultClass;
        }
        this.resetTextColor();
        this.drawTextEx(className, x, y, width); //元々drawTextだったものをdrawTextExに差し替える
    };
上記で呼び出している、drawTextを(制御文字対応の)drawTextExに差し替えています。
これで、おそらく問題なく表示される…はずです。

以上となります、よろしくお願いいたします。
 
こんにちは。

メモ欄のsrpgClassに制御文字を追加して、アイコンを表示する、という形でしょうか。
その場合、SRPGギアのコードを直接変更するということであれば、SRPG_core_MZ.jsに、エネミーの職業を描画する drawEnemyClass 関数が存在するので、
そこを改変すると良いかと思います。
コード:
    // エネミーの職業(クラス)を描画する
    Window_StatusBase.prototype.drawEnemyClass = function(enemy, x, y, width) {
        width = width || 168;
        var className = enemy.enemy().meta.srpgClass;
        if (!className) {
            className = _enemyDefaultClass;
        }
        this.resetTextColor();
        this.drawTextEx(className, x, y, width); //元々drawTextだったものをdrawTextExに差し替える
    };
上記で呼び出している、drawTextを(制御文字対応の)drawTextExに差し替えています。
これで、おそらく問題なく表示される…はずです。

以上となります、よろしくお願いいたします。
ありがとうございます。つい最近似たような質問をしたばかりでした。。
後で試してみます、わざわざソースコードの指定までいただきありがとうございます。
 
いつもお世話になっております。

同作者様の過去作、SRPGコンバータNEXTで実装されていたCTB形式
(自ターン敵ターンの区別をつけず、デフォルト戦闘のように敏捷順に行動、行動順は画面に表示される)
が個人的なSRPGの理想形で、MZでも使用したいと思い至ったのですが
現時点のSRPGギアMZはSRPGコンバータNEXTでいうフルターン形式固定となっており、実現できないように見受けられました。

現時点で似たようなシステムを実現する方法はございますでしょうか。
また、将来的にCTB形式を実装される予定はございますでしょうか。
 
いつもお世話になっております。

同作者様の過去作、SRPGコンバータNEXTで実装されていたCTB形式
(自ターン敵ターンの区別をつけず、デフォルト戦闘のように敏捷順に行動、行動順は画面に表示される)
が個人的なSRPGの理想形で、MZでも使用したいと思い至ったのですが
現時点のSRPGギアMZはSRPGコンバータNEXTでいうフルターン形式固定となっており、実現できないように見受けられました。

現時点で似たようなシステムを実現する方法はございますでしょうか。
また、将来的にCTB形式を実装される予定はございますでしょうか。
こんばんは! ご質問ありがとうございます。

ご指摘いただいたように、今はまだ、SRPGギアではCTB形式の戦闘は実装されておりません。
SRPGコンバータ用のプラグインとして、Shoukang氏が開発してくれたSRPG_ActionOrder.jsというプラグインがあり、これがCTB方式の戦闘を実現するプラグインになってはいます。
GitHub(Shoukang氏)
ただ、SRPGギアでの動作確認は十分にできておりませんので、上手く動くかは保証できません。

今後、このプラグインをベースに、SRPGギアでもCTB方式の戦闘を実現できるようにしたいと考えています。
少々お時間はいただくかもしれませんが、楽しみにお待ちいただければ幸いです。

よろしくお願いいたします…!
 
こんばんは! ご質問ありがとうございます。

ご指摘いただいたように、今はまだ、SRPGギアではCTB形式の戦闘は実装されておりません。
SRPGコンバータ用のプラグインとして、Shoukang氏が開発してくれたSRPG_ActionOrder.jsというプラグインがあり、これがCTB方式の戦闘を実現するプラグインになってはいます。
GitHub(Shoukang氏)
ただ、SRPGギアでの動作確認は十分にできておりませんので、上手く動くかは保証できません。

今後、このプラグインをベースに、SRPGギアでもCTB方式の戦闘を実現できるようにしたいと考えています。
少々お時間はいただくかもしれませんが、楽しみにお待ちいただければ幸いです。

よろしくお願いいたします…!
ご返信ありがとうございます。

ご教示いただいたSRPG_ActionOrder.jsをサンプルプロジェクトに導入してみましたが、SRPGギアMZには対応していないようでした。

今後CTB方式を実現していただけるとのご回答、非常に嬉しく思います。
作業の詰まっているであろう中、リクエストのような形になってしまい申し訳ございません。
すでにSRPGギアは素晴らしいプラグインですので、ご負担にならない範囲でご検討いただければ幸いです。

有明タクミ様、今後とも宜しくお願い致します。
 
初めまして、現在SRPGギアを利用させて頂きながら手探りでゲーム作りしております。
スクリプトもよくわかっていない初心者ですが、おかげさまでそれらしいものが作れてありがたい限りです!

質問のような要望のような感じなのですが、
・ターンXに攻撃範囲を予告(マップ上の一部分に攻撃範囲が表示されるが、そのターンは何も起こらない)
・ターンX+1にその範囲にいるアクターが攻撃を受ける。その範囲から出ていればダメージは受けない。
というような仕組みを作ることは可能でしょうか?
(作品的には長距離砲撃の着弾予測地点から逃げる、みたいなイメージです)

なんとなくオーラの仕組みを応用すればできる…?というような気もふんわりとしつつ、まるで良い具体案が
浮かばない状況で…。
何卒お知恵お借りできましたら幸いです、よろしくお願い申し上げます。
 
私からもまた質問をさせていただきます。。
現在、スキルで指定したマスに罠を仕掛け、そのマスに止まった相手にデバフをかけるような地雷スキルを作成しています。
このスキルを敵にも使わせたいのですが、うまくいっておりません。

スキル設定上の「範囲:なし」が災いして、敵行動時はスキルを使わず接近するだけになります。
他の範囲設定にすると一応動作はするのですが、敵や味方に向かってスキルを使用する形となります。本来の罠を埋め込むようなイメージ感にならずヤキモキしております。

本スキルのような、敵味方を対象とせずに自分の周りのマスを任意選択しスキルを使用する、といった敵のモーションはSRPG上で可能なものでしょうか?ご教示いただけると幸いです。
 

Attachments

  • 241019-1.png
    241019-1.png
    320 KB · 閲覧: 30
  • 241019-3.JPG
    241019-3.JPG
    175.3 KB · 閲覧: 29
  • 241019-4.JPG
    241019-4.JPG
    99.6 KB · 閲覧: 33
Back
トップ