一括表示

記事No: 21305
タイトル封印以外でコマンド選択不能をさせたい
投稿日: 2021/05/18 22:18
投稿者ブロニー [rOOrpWW858(海外)]

[やりたいこと]
基本システムだと封印で各戦闘コマンドを使用できなくさせれますが
アイテムや防御コマンドを使用不能にさせる場合、封印と同じにしてしまうと
アイテムが使用不能になった時に一緒に他のコマンドも選択不可になってしまうので、個別に選択不能にしたいです
例えば封印1の状態になるとアイテムが選択不能になる
封印2で特殊技能コマンドが選択不能になるなどといった処理をしたいのですが、どのコモンをいじればいいでしょうか、回答よろしくお願いします

[やってみたこと]
特殊技能制限の影響を…の部分とコマンドの
使用不能になる条件に新しく内部値を入れましたがそこから先がよく分かりません


記事No: 21307
タイトルRe: 封印以外でコマンド選択不能をさせたい
投稿日: 2021/05/26 01:38
投稿者 [Wgrdieir706(海外)]

現状、「どこかのデータベースに封印でコマンドを選択不能にするフラグがあって、そこに封印2でコマンド選択不能にする内部値を追加するところまでできた。」ということなので、次はそのデータベースのフラグの値を読み込んでいるコモンを探してください (全てのコモンを対象にして、データベースの名前で検索すると見つかると思います)。コモンが見つかれば、封印1で コマンド選択不能にする処理が記載されていると思いますので、それを真似して封印2用の処理を追加してください。


記事No: 21308
タイトルRe: 封印以外でコマンド選択不能をさせたい
投稿日: 2021/05/27 14:09
投稿者ブロニー [rOOrpWW858(海外)]

結構量が多いので色々見てみます、ありがとうございました。


記事No: 21312
タイトルRe: 封印以外でコマンド選択不能をさせたい
投稿日: 2021/05/30 02:54
投稿者 [Wgrdieir706(海外)]

Re: 封印以外でコマンド選択不能をさせたい (画像サイズ: 697×605 39kB)

PCが復旧したので確認してみましたが
状態異常で封印1と封印2を作成した場合

封印1 → 技能封印
封印2 → アイテム封印
に対応させるのが面倒だと思いました。

1. ユーザーデータベース状態設定の特殊技能制限にも内部値を追加して

2. 封印されているか記録している
   可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : 【特殊技能制限】1=封印 ]
   を 2つに増やして

3. Ev148 X[戦]一時ステ計算<状態補正> で上記の封印されているか記録する処理の封印2用を追加

4. Ev152  X[戦]戦闘コマンド一覧算出 の封印処理の封印2用を追加



別の案ですが 参考になるかもしれないので
以前作成した技能を個別に封印するコモン(抜粋)を載せます。
(このコモンは技能のみ封印するもので戦闘コマンドには対応していません。)

基本システムの封印と別に、戦闘コマンド一覧算出するときに状態異常を確認しています。
新規データベースを用意する必要がありますが
上記の1〜3の改造は不要です。


Ev152  X[戦]戦闘コマンド一覧算出 の49行目ぐらいから改造


 | |-◇分岐: 【2】  [ CSelf10[一時変数A]  が  -1 以下  ]の場合↓
 | | |■DB読込(ユーザ): CSelf11[一時変数B] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : 使用不能になる条件 ]  (6 : - : 3) 
 | | |■DB読込(可変): CSelf11[一時変数B] *= 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : 【特殊技能制限】1=封印 ]  (10 : - : 60) 
 | | |■条件分岐(変数):  【1】 CSelf11[一時変数B]  が   1 と同じ 
 | | |-◇分岐: 【1】  [ CSelf11[一時変数B]  が  1 と同じ  ]の場合↓
 | | | |▼ もし  封印フラグ×封印で選択不能  =  1  なら使用できない
 | | | |■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ]  (19 : - : 2) =  0
 | | | |■
 | | |◇分岐終了◇
 | | |■ループ開始へ戻る
 | | |■
 | |-◇分岐: 【3】  [ CSelf10[一時変数A]  が  0 以上  ]の場合↓
 | | |▼ 特殊効果発動の場合
 | | |▼  
 | | |▼ まず封印状態でこのコマンドがグレーになっているかチェック
 | | |■DB読込(ユーザ): CSelf11[一時変数B] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : 使用不能になる条件 ]  (6 : - : 3) 
 | | |■DB読込(可変): CSelf11[一時変数B] *= 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : 【特殊技能制限】1=封印 ]  (10 : - : 60) 
 | | |■条件分岐(変数):  【1】 CSelf11[一時変数B]  が   1 と同じ 
 | | |-◇分岐: 【1】  [ CSelf11[一時変数B]  が  1 と同じ  ]の場合↓
 | | | |▼ もし  封印フラグ×封印で選択不能  =  1  なら使用できない
 | | | |■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ]  (19 : - : 2) =  0
 | | | |■ループ開始へ戻る
 | | | |■
 | | |◇分岐終了◇
 | | |▼  
 | | |■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
 | | |▼ ■■■■■■■■■■■■■■■■■■追加ここから■■■■■■■■■■■■■■■■■■
 | | |▼ 個別に状態異常で封印されないかチェック
 | | |▼  
 | | |■変数操作: CSelf53[封印フラグ(1=封印)] = 0 + 0 
 | | |■変数操作: CSelf50[DB項目] = -1 + 0 
 | | |▼ 2回ループでDBに登録された状態(2個)を調べる
 | | |■回数付きループ [ 2 ]回
 | | | |■変数操作: CSelf50[DB項目] += 1 + 0 
 | | | |▼ 注目状態IDを読み込み
 | | | |■DB読込(ユーザ): CSelf51[状態ID] = ユーザDB[ 技能追加設定 : CSelf10[一時変数A] : CSelf50[DB項目] ]  (19 : - : -) 
 | | | |■条件分岐(変数):  【1】 CSelf51[状態ID]  が   -1 以下 
 | | | |-◇分岐: 【1】  [ CSelf51[状態ID]  が  -1 以下  ]の場合↓
 | | | | |▼ 封印される状態="指定なし" であれば  残りターンチェック不要
 | | | | |■ループ開始へ戻る
 | | | | |■
 | | | |◇分岐終了◇
 | | | |▼ この技能が封印される状態の残りターン数をチェック
 | | | |■DB読込(可変): CSelf52[状態残りターン数] = 可変DB[ ×┣ 状態リスト : CSelf0[対象戦闘スロット] : CSelf51[状態ID] ]  (13 : - : -) 
 | | | |■条件分岐(変数):  【1】 CSelf52[状態残りターン数]  が   0 以外 
 | | | |-◇分岐: 【1】  [ CSelf52[状態残りターン数]  が  0 以外  ]の場合↓
 | | | | |▼ この状態になっていれば フラグに1を加算
 | | | | |■変数操作: CSelf53[封印フラグ(1=封印)] += 1 + 0 
 | | | | |■
 | | | |◇分岐終了◇
 | | | |■
 | | |◇ループここまで◇◇
 | | |▼  
 | | |▼ 封印フラグをチェック
 | | |■条件分岐(変数):  【1】 CSelf53[封印フラグ(1=封印)]  が   1 以上 
 | | |-◇分岐: 【1】  [ CSelf53[封印フラグ(1=封印)]  が  1 以上  ]の場合↓
 | | | |▼ この技能を封印
 | | | |■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ]  (19 : - : 2) =  0
 | | | |■ループ開始へ戻る
 | | | |■
 | | |◇分岐終了◇
 | | |▼ ■■■■■■■■■■■■■■■■■■追加ここまで■■■■■■■■■■■■■■■■■■
 | | |▼  
 | | |■DB読込(ユーザ): CSelf16[消費するものは?] = ユーザDB[ 技能 : CSelf10[一時変数A] : ┏ 消費するものは? ]  (0 : - : 4) 
 | | |■DB読込(ユーザ): CSelf17[消費ポイント] = ユーザDB[ 技能 : CSelf10[一時変数A] : ┗ 消費ポイント      ]  (0 : - : 5) 
 | | |■DB読込(ユーザ): CSelf13[使用可能シーン] = ユーザDB[ 技能 : CSelf10[一時変数A] : 使用可能シーン ]  (0 : - : 6) 
 | | |■DB読込(ユーザ): CSelf14[発動アイテム番号] = ユーザDB[ 技能 : CSelf10[一時変数A] : 発動アイテム要する?[消費] ]  (0 : - : 20) 
 | | |▼ 使用可能シーンが移動中のみなら使用不能
 | | |■条件分岐(変数):  【1】 CSelf13[使用可能シーン]  が   0 と同じ 
 | | |-◇分岐: 【1】  [ CSelf13[使用可能シーン]  が  0 と同じ  ]の場合↓
 | | | |■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ]  (19 : - : 2) =  0
 | | | |■ループ開始へ戻る
 | | | |■
 | | |◇分岐終了◇
 | | |▼ ポイントが足りなければ使用不能


記事No: 21315
タイトルRe: 封印以外でコマンド選択不能をさせたい
投稿日: 2021/05/31 11:47
投稿者ブロニー [rOOrpWW858(海外)]

私の作成中の奴は戦闘コマンドにしておかないと
違和感出て万が一ツッコまれると嫌なので
どちらかに統合するか考えてみます