【質問フォーム】
【重要!】 質問する前に必ず、過去に同じ質問がないか検索してください!
もし以下のケースで困った場合は、まずリンク先の文書内に答えがないか探してください。
・まずはこの中からお探し下さい → パーフェクトガイド
・バグかな?と思ったときは → よくある質問
・基本システムの設定方法が分からない場合 → 基本システム講座(by 藤田るいふ氏)
・イベントコマンドなどの仕様が分からない場合 → 公式マニュアル
※書き込む前に少なくとも1日2日は、自分で探したり挑戦する努力をしてみてください。
上記のことを全部やってもどうしても分からなかった場合だけ、以下のフォームから質問してください。
ご回答ありがとうございました。
確認までしていただき重ねて有難うございました。
今、再DLして利用条件も確認しました。
別途、今月のどこかで、データ集に登録⇒SNSでアピール…をしてみようと思います。
> 過去ログなどを漁っても不明瞭だったので、スモーキングウルフ氏に確認を取ったところ
> キタカライさん素材(顔A〜顔H)を含めた、グラフィック合成機(と含まれる素材)の利用条件を追記していただきました。
>
> 基本的には質問されたことについてOKのようで。
> 利用条件の文章は、グラ合成機を再DLして確認してください。
>
>
> また、どちら側に投稿するべきかについては
> ルールに沿っていれば用途に応じて自己判断
> ……とはなりますが、下記とかが最近の傾向でしょうか。
>
> データ集に登録
> ⇒SNSで登録したことをアピール
>
> 素材スレは最終更新日的にやや過疎気味かなとは思います。
>
> 以上、よろしくお願いします。
>
> > [やりたいこと]
> > グラフィック合成器内にある顔グラフィックパーツ素材について質問です(顔A〜顔H)。
> > このパーツ素材を改変して、素材掲示板に投稿しても良いものでしょうか?
> > また、「画像・音声素材データ集」と「素材投稿スレッド その7」で、どちら側に投稿すべきとかありますでしょうか?
> >
> > [やってみたこと]
> > -
> > [やってみた結果、どううまくいかないか]
> > -
過去ログなどを漁っても不明瞭だったので、スモーキングウルフ氏に確認を取ったところ
キタカライさん素材(顔A〜顔H)を含めた、グラフィック合成機(と含まれる素材)の利用条件を追記していただきました。
基本的には質問されたことについてOKのようで。
利用条件の文章は、グラ合成機を再DLして確認してください。
また、どちら側に投稿するべきかについては
ルールに沿っていれば用途に応じて自己判断
……とはなりますが、下記とかが最近の傾向でしょうか。
データ集に登録
⇒SNSで登録したことをアピール
素材スレは最終更新日的にやや過疎気味かなとは思います。
以上、よろしくお願いします。
> [やりたいこと]
> グラフィック合成器内にある顔グラフィックパーツ素材について質問です(顔A〜顔H)。
> このパーツ素材を改変して、素材掲示板に投稿しても良いものでしょうか?
> また、「画像・音声素材データ集」と「素材投稿スレッド その7」で、どちら側に投稿すべきとかありますでしょうか?
>
> [やってみたこと]
> -
> [やってみた結果、どううまくいかないか]
> -
[やりたいこと]
グラフィック合成器内にある顔グラフィックパーツ素材について質問です(顔A〜顔H)。
このパーツ素材を改変して、素材掲示板に投稿しても良いものでしょうか?
また、「画像・音声素材データ集」と「素材投稿スレッド その7」で、どちら側に投稿すべきとかありますでしょうか?
[やってみたこと]
-
[やってみた結果、どううまくいかないか]
-
ご理解のとおり、22 34 53 121行の変更でキーコード変更できると思います。
コモンイベントをコピーして編集していませんか?
43 78行の「次イベントの予約」が[このコモンから+1]と設定されているため、
コモン127の『X[移]メニュー起動』もセットでコピーするか
「■次イベントの予約: コモン127:[ X[移]メニュー起動 ]」に変更しないとうまく動かなくなってしまいます。
[やりたいこと]
メニュー画面を開く起動キーをXキーから別のキーにしたい
[やってみたこと]
コモン126の『X[移]歩行時_並列キー処理』のそれらしい箇所(22行、34行、53行等……)を任意のキーコードに変更した。
[やってみた結果、どううまくいかないか]
メニュー画面自体が開かなくなってしまった。
過去ログは検索をしましたが、それらしい質問が見つけられなかった為投稿します。
コモン126内の具体的にどの辺りを変更すれば任意のキーに変更出来るのかを教えて頂ければ幸いです。
追記
返信を書きこもうとした所、URLエラーと表示されて返信が出来ないので追記という形で失礼いたします。
へんぷく様へ
返信ありがとうございます。
ご指摘の通り、126番のコモンをコピーしてコピー元コモンを読み込みできないようにリネーム、コピーした方のコモンを編集していました。
念の為バックアップを取り、126番のコモンを直接編集した所意図した動作になりました。
多分凄く初歩的な所で躓いていたんだと思いますが、引き続き制作頑張ります。
ありがとうございました!
YADO様
再度の回答ありがとうございます。おかげさまで問題は解決しました。
> ダメージ計算が行われない原因は分かりませんが、
> 例えばユーザーDB[0:技能]の項目[8: 何に影響する?]が「[-1]<なし>」になっていると、ダメージ計算は行われません。
→お考えの通り、こちらの項目の設定が「[-1]<なし>」のままになっておりました。(私の設定ミスが原因でお恥ずかしい。)設定を「[0]<HPダメージ/回復>」に直してテストプレイしたところ、ちゃんとダメージ計算が行われました。
コモン216の修正後、使用者を変更しても、ちゃんとステータスがダメージに反映されていましたので大丈夫そうです。
> 発動のターン数などを処理する通常変数は、1個の変数だけでも処理できそうですが、まあ現状の設定でも問題はないです。
> (使う変数の数が少ない方がイベント設定が見やすくなりそう)
→そうですね。変数が少ないほうが処理がごちゃごちゃせずわかりやすくなっていい感じです。こちらも修正に反映させて頂きました。それと、ターンカウントの途中で戦闘が終了した場合を考慮し、変数をリセットする処理が必要でしたね。
コモンの内容はほぼYADO様のご提案のとおり修正しましたが、コモン216の最後の方のみ発動時にメッセージを表示する処理を追加しています。(「ウルファールはヒールを唱えた!」のようなメッセージ文の作成を担当しているコモンイベント[196:X┃┣◆行動可能判定](271-273行目)をコモン164:[ X[戦]行動実行結果算出 ] では呼び出していないので、必要なら直接追加する必要があるのかと。)↓
|▼ 発動者に技能を発動させる
|■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動者番号 ] (14 : : 0) = CSelf13[発動者]
|■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動技能 ] (14 : : 3) = 38
|■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 受け側番号 ] (14 : : 2) = -21
|■イベントの挿入: コモン164:[ X[戦]行動実行結果算出 ] / 1 / -1:通常処理 / 0:通常(カウンター有り)
|■DB読込(可変): CSelf5[発動者名] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf13[発動者] : キャラ名 ] (10 : - : 0)
|■DB読込(ユーザ): CSelf6[メッセージ] = ユーザDB[ 魔法・技能 : みらいよち(発動) : 使用時文章[戦闘](人名~ ] (0 : 38 : 14)
|■文字列操作:CSelf6[メッセージ] = "\cself[5]\cself[6]"
|■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf6[メッセージ]
> もしも不特定多数が使うコモン素材として作る場合は、通常変数が使えない上、戦闘中にパーティの入れ替えを行うケースもあるため、
> 色々とあの手この手奥の手を使わないと、正常に動かすのは難しいです。
→コモンイベント集で詠唱時間の設定を追加するコモンがあり、それを参考にすればどうかとも考えましたが、各データベースや基本システムのコモンの大規模な改変が必要そうだったので断念しました。今回はここまででいいこととしようと思います。
今回製作したものはあまり複雑な設定はできませんが、ほとんど基本システムを改変せずに追加できるのが利点だと思います。
分からないことが多くいろいろとご迷惑をおかけしましたが、YADO様のおかげで無事問題が解決しました。本当にありがとうございます。
引き続きゲーム制作を頑張っていきたいと思います。
発動のターン数などを処理する通常変数は、1個の変数だけでも処理できそうですが、まあ現状の設定でも問題はないです。
(使う変数の数が少ない方がイベント設定が見やすくなりそう)
コモン216の処理は修正が必要です。
以下はコモン216の修正内容を含めた、通常変数を1個だけ使用した時の設定例です。
戦闘開始時の初期化
■変数操作: V96[発動までの残りターン] = 0 + 0
コモンイベント215[みらいよち処理(開始)]
■条件分岐(変数): 【1】 V96[発動までの残りターン] が 1 以上
-◇分岐: 【1】 [ V96[発動までの残りターン] が 1 以上 ]の場合↓
|■デバッグ文:すでに発動済の場合はメッセージを表示し中断、技能を不発にする
|■イベントの挿入: コモン30:[ ◆[戦闘用]メッセージ表示 ] / 0:流れるメッセージで表示 / 今は使用できない
|■ウェイト:60 フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 発動フラグが立てられる場合は、処理開始
▼ エフェクト等処理
■イベントの挿入: コモン183:[ X[戦]技能エフェクト描画 ] / 14 / 320 / 200 / 0
▼ ターンカウント開始準備
■変数操作: V96[発動までの残りターン] = 3 〜 4
■
「ウェイト:60フレーム」は上記のままでも良いですが、
■イベントの挿入[名]: ["X[共]ウェイト2(キー押しで加速)"] <コモンEv 60> / 60
に変えると、キーを押している時には、ウェイトを短くする事ができます。
コモンイベント216[みらいよち処理(ターンカウント・発動)] ※【 】で修正内容を記載
■変数操作: V96[発動までの残りターン] -= 1 + 0【「-=」に変更】
■条件分岐(変数): 【1】 V96[発動までの残りターン] が 0 と同じ【条件分岐をこれだけに変更】
-◇分岐: 【1】 [ V96[発動までの残りターン] が 0 と同じ ]の場合↓
|▼ 技能発動処理自体は数ターン前に終わっている。発動予定者の情報=技能習得者の情報を再習得する?
|■変数操作: CSelf10[主人公ID] = 0 + 0【このままでも良いですが、削除しても問題ないです】
|■変数操作: CSelf11[○番目?] = 0 + 0【「0 + 0」に変更】
|■回数付きループ [ 可変DB(18,4,0)[現在パーティー人数 数値 ] ]回
||■変数操作: CSelf11[○番目?] += 1 + 0【設定位置を移動】
||■DB読込(可変): CSelf10[主人公ID] = 可変DB[ パーティー情報 : メイン設定 : CSelf11[○番目?] ] (6 : 0 : -)
||■デバッグ文:主人公ID\cself[10]
||■イベントの挿入: CSelf12[習得している?] = コモン25:[ ▲特殊技能の有無取得 ] / CSelf10[主人公ID] / 37:みらいよち(開始)
||■条件分岐(変数): 【1】 CSelf12[習得している?] が 1 と同じ
||-◇分岐: 【1】 [ CSelf12[習得している?] が 1 と同じ ]の場合↓
|||■変数操作: CSelf13[発動者] = CSelf11[○番目?] - 1【「セルフ変数[11] - 1」に変更(発動者設定はパーティの並び順(0〜5)で設定する必要があるため)】
|||■ループ中断【追加】
|||■
||◇分岐終了◇
||■
|◇ループここまで◇◇
|▼ 発動者を、可変DB[×┣ コマンド処理リスト:1:発動者番号]の1に登録する処理が必要がある?
|▼ 発動者に技能を発動させる
|■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動者番号 ] (14 : : 0) = CSelf13[発動者]
|■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動技能 ] (14 : : 3) = 38
|■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 受け側番号 ] (14 : : 2) = -21
|■イベントの挿入: コモン164:[ X[戦]行動実行結果算出 ] / 1 / -1:通常処理 / 0:通常(カウンター有り)
|■【通常変数の初期化設定を削除】
◇分岐終了◇
複数の主人公が技能「みらいよち」を使える場合、
同じ名前の技能「みらいよち」で呼び出すコモンIDを変えたものを主人公ごとに設定するアイデアは良いと思います。
残りターン数のカウントする変数番号も、呼び出すコモンごとに変数番号を変えれば、
複数の主人公が同時に使用しても、それぞれで技能の発動が有効になるでしょう。
技能「みらいよち」が使える主人公がパーティに複数いる場合で、パーティメンバーが固定ではない場合は、例えば
通常変数[100]=パーティの1人目
通常変数[101]=パーティの2人目
通常変数[102]=パーティの3人目
通常変数[103]=パーティの4人目
通常変数[104]=パーティの5人目
通常変数[105]=パーティの6人目
のようにパーティの並び順ごとに、残りターン数をカウントする変数を準備し、
コモンイベント[215]からコモンイベント[197:X┃┗◆1行動ループ]のセルフ変数[16]の値を取得して、
パーティの何番目の主人公が技能「みらいよち」を使ったのかを調べて、
その並び順から通常変数[100〜105]のどれを使うのかを決定するような処理を作れば良さそう。
この場合は、主人公が習得する技能「みらいよち」は1つだけ(全員がコモンID[215]を呼び出す設定)で良さそうですが、処理構造はちょっと複雑になりそう。
もしも不特定多数が使うコモン素材として作る場合は、通常変数が使えない上、戦闘中にパーティの入れ替えを行うケースもあるため、
色々とあの手この手奥の手を使わないと、正常に動かすのは難しいです。
技能の発動に関しては、現状のコモン216の設定でうまくいかなかった場合は、上記のようにコモン216を修正した上で動作テストを行ってみてください。
こちらの動作テストでは
■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動者番号 ] (14 : : 0) = 0
■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 受け側番号 ] (14 : : 2) = -21
■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動技能 ] (14 : : 3) = 5(サンプルゲームでは「ファイアーボール」)
を設定して、問題無くランダムに敵一体に攻撃を行っています。
ダメージ計算が行われない原因は分かりませんが、
例えばユーザーDB[0:技能]の項目[8: 何に影響する?]が「[-1]<なし>」になっていると、ダメージ計算は行われません。
試しに技能「みらいよち(発動)」を主人公の可変DB[1:┣ 技能習得Lv]に設定して、
戦闘中に「特殊技能」から通常の技能として使用し、ちゃんと実行できるかどうかを確認してみると良いでしょう。
技能が使えない場合はユーザーDB[0:技能]の設定の問題、
技能が使える場合はコモンイベントの設定の問題と分かるでしょう。
YADO様
親切なご回答ありがとうございます。
まだ、問題は解決していませんが、おかげさまでいくらか進捗しましたので一旦ご報告いたします。
> 技能「みらいよち(開始)」をユーザーDB[0:技能]でどのように設定しているのかが分かりませんが、例えば…
> 項目[2]効果対象=イベント呼出(バトル)
> 項目[3](あれば)┗イベント番号指定=500215
> などと設定し、コモンイベント[215]に
> ■変数操作: V97[開始ターン] = 1 + 0
> ■変数操作: V98[経過ターン] = 1 〜 3
> ■変数操作: V99[発動ターン] = V98[経過ターン] + 1
> を設定すれば、可変DB[14]で技能を発動したかどうかを調べなくても、技能を使ったかどうかが分かります。
こちらのアドバイスをもとに、技能「みらいよち(開始)」からイベント呼出バトルで設定するコモンイベント215 [みらいよち処理(開始)]を作成しました↓
コモンイベント215[みらいよち処理(開始)]
■条件分岐(変数): 【1】 V96[みらいよちフラグ] が 1 と同じ
-◇分岐: 【1】 [ V96[みらいよちフラグ] が 1 と同じ ]の場合↓
|■デバッグ文:すでに発動済の場合はメッセージを表示し中断、技能を不発にする
|■イベントの挿入: コモン30:[ ◆[戦闘用]メッセージ表示 ] / 0:流れるメッセージで表示 / 今は使用できない
|■ウェイト:60 フレーム
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 V96[みらいよちフラグ] が 0 と同じ
-◇分岐: 【1】 [ V96[みらいよちフラグ] が 0 と同じ ]の場合↓
|▼ 発動フラグが立てられる場合は、処理開始
|▼ エフェクト等処理
|■イベントの挿入: コモン183:[ X[戦]技能エフェクト描画 ] / 14 / 320 / 200 / 0
|▼ ターンカウント開始準備
|■変数操作: V97[開始ターン] = 1 + 0
|■変数操作: V98[経過ターン] = 3 〜 4
|■変数操作: V99[発動ターン] = V98[経過ターン] + 1
|■変数操作: V96[みらいよちフラグ] = 1 + 0
|■
◇分岐終了◇
新たに変数V96[みらいよちフラグ]を作成し、V96 =1になった場合に、もう一つの【コモンイベント[216みらいよち処理(ターンカウント・発動)]をコモンイベント[205:○[変更可]1ターン終了時処理]で発動するようにします。
[216みらいよち処理(ターンカウント・発動)]
■V96 =1でカウント開始
■条件分岐(変数): 【1】 V96[みらいよちフラグ] が 1 以上
-◇分岐: 【1】 [ V96[みらいよちフラグ] が 1 以上 ]の場合↓
|■変数操作: V97[開始ターン] += 1 + 0
|■条件分岐(変数): 【1】 V97[開始ターン] が V99[発動ターン] と同じ
|-◇分岐: 【1】 [ V97[開始ターン] が V99[発動ターン] と同じ ]の場合↓
| |▼ 技能発動処理自体は数ターン前に終わっている。発動予定者の情報=技能習得者の情報を再習得する?
| |■変数操作: CSelf10[主人公ID] = 0 + 0
| |■変数操作: CSelf11[○番目?] = 1 + 0
| |■回数付きループ [ 可変DB(18,4,0)[現在パーティー人数 数値 ] ]回
| | |■DB読込(可変): CSelf10[主人公ID] = 可変DB[ パーティー情報 : メイン設定 : CSelf11[○番目?] ] (6 : 0 : -)
| | |■デバッグ文:主人公ID\cself[10]
| | |■イベントの挿入: CSelf12[習得している?] = コモン25:[ ▲特殊技能の有無取得 ] / CSelf10[主人公ID] / 37:みらいよち(開始)
| | |■条件分岐(変数): 【1】 CSelf12[習得している?] が 1 と同じ
| | |-◇分岐: 【1】 [ CSelf12[習得している?] が 1 と同じ ]の場合↓
| | | |■変数操作: CSelf13[発動者] = CSelf10[主人公ID] + 0
| | | |■変数操作: CSelf11[○番目?] += 1 + 0
| | | |■
| | |◇分岐終了◇
| | |■
| |◇ループここまで◇◇
| |▼ 発動者を、可変DB8[×┣ コマンド処理リスト:1:発動者番号]の1に登録する処理が必要がある?
| |▼ 発動者に技能を発動させる
| |■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動者番号 ] (14 : : 0) = CSelf13[発動者]
| |■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動技能 ] (14 : : 3) = 38
| |■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 受け側番号 ] (14 : : 2) = -21
| |■イベントの挿入: コモン164:[ X[戦]行動実行結果算出 ] / 1 / -1:通常処理 / 0:通常(カウンター有り)
| |▼ 変数リセット
| |■変数操作: V96[みらいよちフラグ] = 0 + 0
| |■変数操作: V97[開始ターン] = 0 + 0
| |■変数操作: V98[経過ターン] = 0 + 0
| |■
|◇分岐終了◇
|■
◇分岐終了◇
YADO様の回答の中で、技能の連続使用や、複数使用者がいる場合の処理について疑問があったのでその辺も改善しました。まず新たな変数を導入して技能「みらいよち(発動)」が発動するまで、技能「みらいよち(開始)」を使用できない(「今は使用できない」などメッセージを表示しイベント中断、技能が不発になる)処理をしました。
今製作しているゲームでは、この技能の使用者が一人なので「同パーティーの複数の主人公が連続使用する」際の処理については考えていませんでしたが、技能習得者の数が少ないのであれば、力技ですが同じ名前の「みらいよち」技能を複数設定し別々に習得させ、違うコモンと変数で同じ動きをするという方法が考えられるかなと思います。(「みらいよち(2)」はコモン217・218、V100~103を使用して同じ処理を作るなど。)ウディタ基本システムのパーティー人数6人くらいまでだったらいけそうですが、パーティー入れ替え可能で操作できる主人公の数がかなり多い場合の処理はちょっと思いつかないです…。
おかげさまで、ターンカウント周りの処理はほぼ解決しました。
しかし、技能の技能の発動処理についてはまだうまくできていません。
教えていただいた下記の処理↓
> 技能の発動は、以下の設定を行えば可能です。
> ■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動者番号 ] (14 : : 0) = 0(発動する主人公のデータID[0〜5]を設定)
> ■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 受け側番号 ] (14 : : 2) = -21(ランダムで敵キャラ一体を攻撃)
> ■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動技能 ] (14 : : 3) = 38
> ■イベントの挿入[名]: ["X[戦]行動実行結果算出"] <コモンEv 164> / 1 / -1:通常処理 / 0:通常(カウンター有り
をコモン216に入れてテストプレイすると、技能のエフェクトだけが発生しダメージ計算などが行われない状態でした。
「> ■可変DB書込:DB[ ×┣ コマンド処理リスト : 1 : 発動者番号 ] (14 : : 0) = 0(発動する主人公のデータID[0〜5]を設定)」あたりがうまくできていないと思います。最初の「みらいよち(開始)」からターンが経つので、「みらいよち(開始)」習得者を発動者として登録する処理をすればよいかと思い試してみましたがうまくいきませんでした。(そもそも主人公IDではなくデータIDが必要なので、そこの橋渡しをしないといけない。)
もう少し色々調べて、うまい処理ができないか考えてみたいと思います。
回答ありがとうございました。また時間がありましたら、ご助力いただけるとありがたいです。
記事No | : 21674 [関連記事] |
タイトル | : 解決しました! |
投稿日 | : 2024/10/13 01:55 |
投稿者 | : ウディタ初心者
[rridO149] |
教えていただきありがとうございます!
本当に基本的なところでお恥ずかしいですが、
設定し直したところ、思い通りのアクションになりました。
引き続き、ゲーム制作頑張ります!!
あ様、返答ありがとうございます!
色々と挑戦したり、妥協案を探してみようと思います。
本当にありがとうございました。