一括表示

記事No: 21271
タイトル技能を特定のタイミングまで使用不可にしたい
投稿日: 2021/04/04 19:01
投稿者フカ [rOOrpWW858(海外)]

[やりたいこと]
特定のターン数まで戦闘を進めないと使用できない
というイベント起動の技能を作ったのですが、その技能が指定ターンまで進めなくても
選択できてしまうので選択できないようにしたいです
[やってみたこと]
上記の通りなのですかターン数が必要な技能は一つだけなので
コモンは作らずそのイベント内容に取り敢えずの形で指定ターン
に満たしてないなら処理中断するようにしているのですがそれだと
色々違和感があるので満たさないと選択不能にして
満たしている場合は選択可能…という風にしたいです

どうすれば適切な処理が出来るでしょうか。


記事No: 21272
タイトルRe: 技能を特定のタイミングまで使用不可にしたい
投稿日: 2021/04/04 21:00
投稿者YADO [LerLWW459(海外)]

> [やりたいこと]
> 特定のターン数まで戦闘を進めないと使用できない
> というイベント起動の技能を作ったのですが、その技能が指定ターンまで進めなくても
> 選択できてしまうので選択できないようにしたいです
> [やってみたこと]
> 上記の通りなのですかターン数が必要な技能は一つだけなので
> コモンは作らずそのイベント内容に取り敢えずの形で指定ターン
> に満たしてないなら処理中断するようにしているのですがそれだと
> 色々違和感があるので満たさないと選択不能にして
> 満たしている場合は選択可能…という風にしたいです
>
> どうすれば適切な処理が出来るでしょうか。

戦闘中にユーザーDB[0:技能]の項目[6:使用可能シーン]の設定値を変えれば、指定したタイミングで技能の選択が可能になるでしょう。

設定としては、まずユーザーDB[0:技能]の項目[6:使用可能シーン]を「[-1]使用不能」か「[0]マップ時のみ」にしておきます。

コモンイベント[205:○[変更可]1ターン終了時処理]に、指定したターンになったら項目[6:使用可能シーン]の設定値を「加算2」にして、「[1]マップ&戦闘中」か「[2]戦闘中のみ」に変えます。

コモンイベント[206:○[変更可]戦闘終了後処理]に、項目[6:使用可能シーン]の設定値が1以上の時には「減算2」にして、「[-1]使用不能」か「[0]マップ時のみ」の設定に戻します。

なおユーザーDBの設定値は、イベントコマンド「DB操作」では変更する事ができないので、「変数呼び出し値」を使って項目[6:使用可能シーン]の設定値を変更します。


設定例では技能[16:サイレンス]の使用可能シーンを変更します。
動作テストする場合は、予めユーザーDB[0:技能]の項目[6:使用可能シーン]の設定を「[-1]使用不能」か「[0]マップ時のみ」にしてください。

★コモンイベント[205:○[変更可]1ターン終了時処理]
■DB読込(可変): CSelf10[終了ターン数] = 可変DB[ 18 : 75 : 0 ] (基本システム用変数 : [戦闘]現在ターン数 : 数値)
■条件分岐(変数): 【1】 CSelf10[終了ターン数] が 3 以上
-◇分岐: 【1】 [ CSelf10[終了ターン数] が 3 以上 ]の場合↓
|■DB読込(ユーザ): CSelf11[項目設定値] = ユーザDB[ 0 : 16 : 6 ] (技能 : サイレンス : 使用可能シーン)
|■条件分岐(変数): 【1】 CSelf11[項目設定値] が 0 以下
|-◇分岐: 【1】 [ CSelf11[項目設定値] が 0 以下 ]の場合↓
| |■変数操作: CSelf12[変数呼び出し値] = 1000001606 + 0
| |■変数操作: V[CSelf12[変数呼び出し値]] += 2 + 0
| |■
|◇分岐終了◇
|■
◇分岐終了◇

「3以上」は「3ターン目が終わった時」なので、この場合は4ターン目から使用可能になります。
「1000001606」の設定では「データを呼ばない」にチェックを入れます。
「V[CSelf12[変数呼び出し値]]」の設定では「X番の変数呼出」にチェックを入れます。

WoditorEvCOMMAND_START
[250][5,4]<0>(18,75,0,4096,1600010)("","","","")
[111][4,0]<0>(1,1600010,3,1)()
[401][1,0]<0>(1)()
[250][5,4]<1>(0,16,6,4608,1600011)("","","","")
[111][4,0]<1>(1,1600011,0,3)()
[401][1,0]<1>(1)()
[121][4,0]<2>(1600012,1000001606,0,4)()
[121][4,0]<2>(1600012,2,0,272)()
[0][0,0]<2>()()
[499][0,0]<1>()()
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END


★コモンイベント[206:○[変更可]戦闘終了後処理]
■DB読込(ユーザ): CSelf11[項目設定値] = ユーザDB[ 0 : 16 : 6 ] (技能 : サイレンス : 使用可能シーン)
■条件分岐(変数): 【1】 CSelf11[項目設定値] が 1 以上
-◇分岐: 【1】 [ CSelf11[項目設定値] が 1 以上 ]の場合↓
|■変数操作: CSelf12[変数呼び出し値] = 1000001606 + 0
|■変数操作: V[CSelf12[変数呼び出し値]] -= 2 + 0
|■
◇分岐終了◇

WoditorEvCOMMAND_START
[250][5,4]<0>(0,16,6,4608,1600011)("","","","")
[111][4,0]<0>(1,1600011,1,1)()
[401][1,0]<0>(1)()
[121][4,0]<1>(1600012,1000001606,0,4)()
[121][4,0]<1>(1600012,2,0,528)()
[0][0,0]<1>()()
[499][0,0]<0>()()
WoditorEvCOMMAND_END


記事No: 21273
タイトルRe: 技能を特定のタイミングまで使用不可にしたい
投稿日: 2021/04/05 00:35
投稿者フカ [rOOrpWW858(海外)]

出来ました、おかげさまで本当に助かりました