WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
フリーソフトのRPG製作ソフトWOLF RPGエディターの質問者のためのスレッドです。
教えられる方はできる範囲で教えてあげてください。
・ここは質問スレです。質問者や回答者を煽るようなレスは禁止です。
・もしあなたが憤りを感じたり荒らしだと思っても、放置もしくは>>1とだけレスしてください。
それ以上のことを書くと、それ自体が『荒らし行為となります』。ご注意ください。
・質問者もマナーを守り、回答がつきやすい質問の仕方をしましょう。
【良い質問の例】
・〜がやりたくて・・・までしたのですが、〇〇がうまくいきません。
【悪い質問の例】
・〜できますか → 大概できます。問題は「どうすればできるか」のはずです。実のない質問はやめましょう。
・〜のようなことがやりたい → 丸投げはやめましょう。1から全部教えてくれる人はまずいません。
何が分からないか分かるまで努力しましょう。全部分からないのなら、まずは講座サイトで勉強しましょう。
・コモンイベント集から○○のコモンイベントをダウンロードしましたがエラーが出ますor使い方が分かりませんor動きません等
→まずはそのコモンイベントの作者と連絡を取って下さい。ここにはそのコモンイベントの内容を詳しく理解している人が居ないため、あなたが望むような回答はできません。
◆WOLF RPGエディター公式サイト
http://www.silversecond.com/WolfRPGEditor/
◇本スレ
【ウディタ】WOLF RPGエディター 其の65 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/gamedev/1502397455/
◇前スレ
WOLF RPGエディター 質問スレ 其の10 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/gamedev/1463812471/
次スレは>>980が立てて下さい。
立てられない場合は質問を自重して本スレに報告して下さい。 初カキコ失礼します
死ぬ度に所持金を減らすコモンを組んでみてるのですが全然上手く行きません…
ゲームオーバー処理の時に可変データベースをどうたらこうたらすれば良いのは分かるんですが…
ゲームオーバーイベが終わり、再度ロードしてみても所持金は全くへっておらず… 全く同じ質問が公式の質問スレにあるから見てくれば? >>354
ほんとだあった…
教えていただきありがとうございます… コモンイベントでイベント処理中断入れてもイベントが終わってからすぐに再度イベントが始まり、10回ほどループします
イベントの中にループを入れていて、ループ中断の後にイベント処理中断を入れてます
ループしない方法を教えてください… コモンイベントの処理中断は、そのコモンイベントの処理のみを中断するだけであって、呼び出しもとの処理を中断したりはしない
コモンイベントの処理結果で呼び出しもとの処理を変えたいのであれば、処理結果に応じて違う返り値を渡して、呼び出しもとのイベントで条件分岐にかけるのが普通 ×コモンイベントの処理中断 → ○イベント処理中断 自作メニューを作りたいのですが、特殊メニューDまで全部使ってしまって追加する方法がわかりません
戦闘システムは使わないので特殊メニューDの次の枠を特殊メニューEにして、コモンのメニューコマンド算出を変更したらメニュー一覧に名称は表示できました
でも登録したコモンイベントが実行されません
すでに実行できているコモンイベントに置き換えても実行されないので登録したコモンの内容のせいではないです コモン127の91行目〜181行目が選択位置における実行処理
96行目〜97行目でCDB18に登録した番号を参照して処理内容を決定している
特殊メニューA〜Dの処理は140行目〜171行目。この処理を参照して特殊メニューEの時の処理を追加すればいい >>362
すみません
書き忘れていたんですが【条件分岐】選択コード番号が14と同じ場合を付け足して、DB読み込みの部分だけ変えてほかの特殊メニューのコピペしてます
96~7行目がよくわかりません
cdb[18:(23~30):0]を読み込んでるんでしょうか?
udbのコマンドの1つ目に特殊メニューEを差し込んでるんですが何を変えれば良いのかわかりません… じゃあ1から説明するわ。ちなみにまっさらな状態からの改造
メニュー描写で今回改造する場合に関連するものはコモンイベントの088, 089, 127
・089
UDB17の項目番号3〜10(メニュー欄コマンド1〜8)の設定を読み込んで、その値を基にCDB18のデータ番号23〜30に書き込む。
CDB18には、各データ番号の項目番号0にコマンドコード番号(アイテムだと1、特殊メニューAだと11とかの値)、項目番号1にメニューの名称(UDB15やUDB17で設定する「アイテム」とかの名称)が代入される。
・088
089で決定されたコマンド内容をもとに描写する。項目番号1のデータを用いる。
・127
089で決定されたコマンド内容をもとに、メニューの選択実行を行う。項目番号0のデータを用いる。
ざっくり説明するとこんな役割。
んで、まあとりあえず「コマンドコード番号が14の場合は特殊メニューE」となるように改造するとする。
その場合、改造が必要なのはUDB17、コモンイベント089, 127かな。 -----------------------------------
UDB17の改造
「タイプ内容設定」のボタンを押してUDB17のタイプ設定を行う画面に入る。
まず最初にメニュー欄コマンド1〜8(項目名3〜10)の改造。
「▼特」ボタンを押して出てきたデータ内容の特殊設定ウィンドウで、内部値14、表示文字列「特殊メニューE」の選択肢を挿入する。これをメニュー欄コマンド1〜8で同じようにやる。
次に、特殊メニューEの名称と特殊メニューEを押した場合に呼び出すコモンの設定を行う。
項目名35以降が空いているはずなので、35に名称、36に呼び出しコモン番号を入力するという体で設定する。この設定は項目名11〜18の設定を参考にすれば良い。項目名36を特殊にしてコモンから選択できるようにするのを忘れないように。
-----------------------------------
コモン089の改造
77行目〜93行目の処理を参考に、94行目にコマンドコード番号が14の場合に上で設定した特殊メニューEの名称(項目名35)をCself9に代入する処理を挿入する
-----------------------------------
コモン127の改造
141行目〜172行目の処理を参考に、173行目に選択コード番号が14の場合に上で設定した特殊メニューEの場合のコモンイベント(項目名36)の番号を取得して、0以上だった場合に500000を加算して呼び出す処理を挿入する。
500000を加算するのはコモンイベントの呼び出しだから。
多分これで出来るはず 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b) 多分UDB17とコモン089の改造までは質問した時点でやっていると思うんで、やるとしたらコモン127の改造かな。
上で書いた手順を見れば、どんな風に改造するのか理解できると思いたい >>366は無視してくれ。
よく読んだら127の改造もしているんだな。多分どこかが抜けているはず。 udbの特殊メニューEの名称、呼び出しコモンの位置以外のことはやっていたので位置を項目35,36に変えたんですがやっぱりできません
コモンイベントの戦闘関係その他を色々削ったりしてるのでなんかまずいの消してしまったのかもしれません
ゲーム実行してメニュー画面開いて特殊メニューEに値するコマンドをクリックすると決定音はするので条件分岐以後がおかしいのかも…
cself24にudb17:0:36読み込んで変数操作+500000してイベント挿入cself24でいいんですよね? できました!
選択コード番号の条件分岐の位置を分岐終了前に突っ込んじゃってました
凡ミスです
お手数おかけしました…! ゲーム基本設定で画面サイズ320×240を選ぶと2倍で表示されるのですが、「画面サイズ240×320の場合に画面表示を2倍にする」処理はどのコモンで処理しているのでしょうか。 >>366
やっぱりそうなんですね。ありがとうございます。 UDBとCDBを使い分ける理由ってなんですか?
違いは中身が変更できるかどうかという認識ですが間違ってますか?
全部CDBを使うこととの違いはなんでしょうか?
おねがいします 厳密に言うとUDB、CDB共にゲーム起動中における中身の変更は可能
ただしUDBはセーブデータとして保存されないので、ロードなどを挟む度にリセットされる。そんだけ
CDBはセーブデータとして保存されるから、リリース後のアップデートに対応しづらい。付け加えるのは簡単だけど、書き換える場合はそれ専用のコモンなどを別途作る必要がある
そのため、武器データや敵データなどの、後でバランス調整なんかで弄る可能性があるものはUDBの方が良い UDBで「盾の強さ5」、CDBで「剣の強さ3」にした状態でセーブする、そこで続きから遊ぶと「盾5」「剣3」
後から「盾の強さ50」「剣の強さ30」に変更してバージョンアップする
新規のセーブデータではどちらも10倍になっているが、続きから遊ぶと「盾50」「剣3」になってしまう
という感じですか?
もしCDBを変更したいなら、起動時などにセーブデータを直接書き込んで変更する必要があるみたいなことですかね
ゲーム中に変動するかしないかっていうのと、プロジェクト全体で変更があるかどうかっていうのを混同してたっぽいです
長年の謎がやっと分かりました、ありがとうございます その設定画面はどこからどう開くんですか?見当たりませんでした それは新規作成の場合でしょう
既に作ったマップの大きさ設定を変更できるのかと聞いてるんです
読もうよ > 最低限、赤枠の部分だけ入力して「OK」を押せば、
>マップの新規作成およびシステムデータベースへの
>登録は完了します。ここできっちり設定しなくとも、
>後でマップの設定を変更したいときは、メインウィンドウの
>「マップの基本設定」で再設定が可能です。
読もうや 読もうよさえなければただ見落としてる人で済んだのに >>386
何故見つからなかったかわかったよ
サイトの書き方がわかり辛い上にアイコンがマップ設定を表す形になってない
あんなスパナじゃ直感的にわからなくて当然だ
・アイコンのデザインや並び方を工夫する
・マップ選択ウインドウを右クリック
・SDBに項目を設ける
作者が此処を見てたらきちんと考えて欲しい
みんなが使うツールを作るということは大きな責任が伴うということ、行き届いた細やかな感性が必要とされるということ
その事を忘れないでね タイルマップって、複数の画像を1枚にまとめてスライスしたりしますが、1枚にまとめる意味ってなんですか?
独立した画像を1枚ずつ用意すればいいだけのような気もしますが あと、マップチップのサイズってセオリーはあるんでしょうか
unityで作ってるんですが、少しだけリッチな見た目にしたいす 🤔
unityスレで聞けば良いのでは? マップイベント(敵キャラ)を起動条件:並列実行で動かして
主人公が近づくと攻撃コモンを呼び出す形にしたのですが
複数の敵キャラを同時に処理させると攻撃コモンの挙動がおかしくなります。
具体的には
マップイベント(並列)1→攻撃コモン
マップイベント(並列)2→攻撃コモン
と同時に処理させた場合に攻撃コモンの変数を1と2で共有してる感じでした。
並列実行だと呼び出したコモンの変数は共有されないかと
勝手に思っていたのですが、攻撃コモンも1、2と分けないと駄目なのでしょうか? 分けないと駄目な作り方をしていれば分けないと駄目です ウディタは静的な変数を使っているので、どのようなケースでも変数は共有される
同じコモンで複数の情報を同時に処理する場合、 情報を格納するCDBを作って、逐一
CDBから情報を呼び出し→ 処理 → CDBに情報を格納 → 次の対象の情報をCDBから呼び出し → 処理 → ......
という手順を踏む必要がある つってもウェイトを挟まずに出力するならそんなことしなくて良いけど >>400
ありがとうございます
>>401
書いていただいた流れを見ながら問題点に気づきました
敵キャラが攻撃中は他のキャラが攻撃できないようにウェイトを入れようかと思います
ありがとうございました マップイベントなら各イベント変数に保存しちゃってもいいと思う
イベントごとに必要なデータって多分そんなに多くないでしょ
位置やステータスはその都度呼び出すだろうし 2000みたいにオートタイルの1チップを個別に通行設定できると地味にうれしいんだが 移動中に表示されるピクチャがマップチップに被るのを避けるため、
┌───┬─┐
|まっぷ |暗|
├───┘闇|
└─────┘
こんな感じで表示したいのですが、大きなマップでは主人公が画面全体の中心にきてしまいます。
そのためコモンを調整しようと思いましたが、どうも画面スクロールに関するコモンが見当たりません。
システムの設定なども一通り見ましたが、主人公の位置を画面中心からずらすような
設定部分もなさそうです。
処理軽減のため、可能なら既存のシステムに介入する形で実現したいのですが、
何かいい方法はないでしょうか。 試してないけど、スクロール位置ずらせばいけそうだけどどうだろ
最初に位置合わせてロックして移動に合わせて手動でスクロール的な >>408
スクロールを手動で行うとなると、スクロール停止した後に並列コモン処理で
主人公位置が中心にしたい座標からずれている分だけスクロールする感じでしょうか
"サブキーで移動速度変更"などを後から加えたくなった時とか、スクロール速度の設定が
大変そうですけど仕方ないですよね…^^;; 一度試作してみたら?
俺はなんか理由があって最終的に手動にしたはずだけど、
>>407みたいなことなら最初に位置ずらすだけで良かった気もするけど詳しく覚えてない あと別に移動速度変わっても設定大変でもないでしょ
スクロール速度変えりゃいいだけじゃね
取り敢えずスクロール処理回り弄ってみたら?
以前作ってみたことあるし出来るのは間違い >>412
アドバイスありがとうございました^^
まずは作ってみる事にします 質問です。
ウディタの基本システムみたいなキー設定部分を作りたいのですが、
重複したキーが選択された時に自動的にピクチャが切り替わるようにするには
どのような処理をしたら良いのでしょうか?
Z・X・CでZを連打した場合は自動的にピクチャがX・Z・Cとなる箇所で
3キー以上でやろうとしているのですがやり方のヒントを貰えたら助かります。 キー選択した後に、操作キーを表す文字列ピクチャを全部更新するだけじゃないの?
重複キーを選択した場合は入れ替えるって処理なら、キーが選択された後に、他の操作キーを全て調べて、一致した場合は対象の操作キーと入れ替えるってだけ 我儘な質問ですが、ピクチャ更新のやり方で良い方法ありませんかね?
文字列変数1つで表示するのをやっていたのですが
キーの数分あったほうが良いんでしょうか。
重複チェックについてはやはり総当たりで確認しなきゃダメですか…
何とか工夫して短縮できないか頑張ってみます。ありがとうございます。 別に文字列変数1つでもいいんじゃない? その辺は好みだし
不具合があったり利便性が悪いと感じたりしない限り、そのままで良いよ
重複チェックは短縮が必要なほど長くなるとは思えないけど、頑張って 基本システムでマップイベントを半歩右に設置することはできますか?
具体的には横2マス分の接触範囲のイベントをマップに置きたいのですが、基準のマスを中心にして左右半マス分ずつ範囲が広がるのでうまく2マスに収まってくれません 「見本マップ見学ゲーム」のワールドマップの00番のイベントが参考になると思う
自動実行で起動、対象イベントを精密座標で移動させたらイベントの一時消去で消える 文字の影を非表示にする方法がわからない
■変数操作: Sys21:文字影付ける?(0=OFF,1以上=ON) = 0 + 0
を挿入というのは見つけたんだが、これをどうするかという以前の問題で困ってる SDBのタイプ6、データ21に文字の影が〜があるのは分かってて、項目加えて変数の値0にしてるんだが、何も変わらない コモンイベント一覧を開いて、右上にある検索ボタンを押す
検索語「文字影」、検索する範囲「全てのイベント」
引っかかった1行を変更したらいけた 質問です
メニュー開いた時に出るコマンド(初期設定だと相談やアイテム等が開ける場所)の数を増やしたいのですが、
どうすれば良いでしょう?
初期設定では8個まで設定できるようになっているのですが、9個目のコマンドを設定したいのです。
コモンイベント89のメニューコマンド算出をいじってるのですがうまくいきません・・・・・・ とりあえず項目数を10にするという仕様で説明する
-----------------------------------------
UDB17 システム設定 の項目番号35,36にそれぞれ、メニュー欄コマンド9、 メニュー欄コマンド10を追加
設定内容は項目番号3〜10と同じだからコピペして項目名だけ変更で良い
CDB18 基本システム用変数 のデータ番号100、101にメニュー9コード&名前とメニュー10コード&名前を追加
データ番号23〜30と同じような感じ。特に設定する必要はなし
-----------------------------------------
コモン088の155行目
| |■変数操作: CSelf10[一時変数A] = 23 + CSelf43[処理中個数]
を
| |■条件分岐(変数): 【1】 CSelf43[処理中個数] が 8 未満
| |-◇分岐: 【1】 [ CSelf43[処理中個数] が 8 未満 ]の場合↓
| | |■変数操作: CSelf10[一時変数A] = 23 + CSelf43[処理中個数]
| | |■
| |-◇上記以外
| | |■変数操作: CSelf10[一時変数A] = 100 + CSelf43[処理中個数]
| | |■
| |◇分岐終了◇
に変更 -----------------------------------------
コモン089の22行目に
■DB読込(ユーザ): CSelf28[コマンド9内容] = ユーザDB[ システム設定 : 0 : メニュー欄コマンド9 ] (17 : システム基本設定 : 35)
■DB読込(ユーザ): CSelf29[コマンド10内容] = ユーザDB[ システム設定 : 0 : メニュー欄コマンド10 ] (17 : システム基本設定 : 36)
こんな感じでコマンド内容を読み込む処理、
33行目(上記コマンドを追加したら35行目)辺りに
■可変DB書込:DB[ 基本システム用変数 : 100 : 0 ] (18 : メニュー9コード&名前 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 101 : 0 ] (18 : メニュー10コード&名前 : 数値) = 0
のように初期化する処理を追加。基本的には直上にあるコマンドと同じように作ればいい。
37行目(上記2つのコマンドを追加したら39行目)の回数付きループを、
仕様上実装可能な上限(今回は10)にする
114行目(コマンドを追加していた場合118行目)辺りの
| |■変数操作: CSelf14[コマンド数] += 1 + 0
の行のすぐ下に
| |■条件分岐(変数): 【1】 CSelf14[コマンド数] が 8 と同じ
| |-◇分岐: 【1】 [ CSelf14[コマンド数] が 8 と同じ ]の場合↓
| | |■変数操作: CSelf13[格納先番号(可変DB)] = 100 + 0
| | |■
| |◇分岐終了◇
を追加 これでいけると思うけど確認しとらんから分からん
UDBやCDBの設定を項目番号3〜12とかデータ番号23〜32とかの連番にしないのは、
基本システム側で全てのDB操作を名称指定にしているか分からんから(現にコモン089の25〜32行目は数値で直接指定している) >>426
×とりあえず項目数を10にするという仕様で説明する
○メニューコマンドの数を10個にするという仕様で説明する >>426
丁寧な解説ありがとうございました。
おかげでメニューコマンドの数は増やせましたが、何故か文字が表示されません。
(メニュー欄が空欄になっていて、選択するとそのコマンドは実行される)
いろいろ試してみましたがコモンイベント88のメニュー描画がうまくいってないんですかね? 【漫画家うげっぱ(44)心不全、また連載中】 阿藤快、大瀧詠一、鶴ひろみ、前田健、木村拓也、松野莉奈
http://rosie.5ch.net/test/read.cgi/liveplus/1541124659/l50
無関心層がバカみたいに死んでいくね >>430
すまん一部間違ってた。あと所持金がピクチャ番号被ってるから、そこも修正しないといけなかった
下記の通りに書き換えることで上手く行った
コモン088の
90行目
|■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 12
を
|■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 14
160行目(ここが間違っていた部分)
| | |■変数操作: CSelf10[一時変数A] = 100 + CSelf43[処理中個数]
を
| | |■変数操作: CSelf10[一時変数A] = 92 + CSelf43[処理中個数]
224行目
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 11
を
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 13
240行目
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 12
を
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 14
264〜265行目
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 11
| | |■変数操作: CSelf10[一時変数A] = CSelf20[基本ピクチャ番号] + 12
を
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 13
| | |■変数操作: CSelf10[一時変数A] = CSelf20[基本ピクチャ番号] + 14 いやこれだけじゃダメだわ
下記の通りの書き換えも要る
コモン127の
96行目
| | |■変数操作: CSelf22[選択コード位置] = CSelf21[現カーソル位置] + 23
を
| | |■条件分岐(変数): 【1】 CSelf21[現カーソル位置] が 8 未満
| | |-◇分岐: 【1】 [ CSelf21[現カーソル位置] が 8 未満 ]の場合↓
| | | |■変数操作: CSelf22[選択コード位置] = CSelf21[現カーソル位置] + 23
| | | |■
| | |-◇上記以外
| | | |■変数操作: CSelf22[選択コード位置] = CSelf21[現カーソル位置] + 92
| | | |■
| | |◇分岐終了◇
に書き換え >>432
指摘のあった箇所を修正したら無事表示できました!
ありがとうございます! ご無沙汰してます。
質問です。
パネル式の戦闘なのですが、当たり判定が
ピクチャを使用したものだったのでこの際見返すことにしました。
自分、敵の位置は数値化しておき、縦3列×6マスの18マスでやっています。
数値化した変数をコモンセルフに移して一列ごと%=を使って0-1-2としています。
縦はそれで良かったのですが、横が上手くいきません。
計算式とか間違えてしまっているのでしょうか。
cself[10]=自分の位置%6としていたのですが、どうもおかしかったので
分かる方いらしたら教えて頂けたら幸いです。 横6縦3
00,01,02,03,04,05,
06,07,08,09,10,11,
12,13,14,15,16,17
(位置%横,位置/横)
位置9の場合x=9%6,y=9/6で(3,1)
位置16の場合x=16%6,16/6で(4,2) ありがとうございます
ちんぷんかんぷんだった所見事に理解出来ました! 質問です。
ゲーム内の現時点の画像(スクリーンショット)を保存するコマンドを作りたいです。
ウディタではデフォルトの機能でPriScキーを押すと画像保存できるので
「自動キー入力 コード283」というのもありますが、
これでは決まったフォルダに決まったファイル名でしか保存できません。
そうではなく変数等を利用し
ゲーム内の状況で保存フォルダやファイル名を生成して保存するコマンドを作りたいのですが
そういった動作は可能でしょうか?
例
Snapshot\v[100]/photo\s[0].png
このように保存したいのです。
このような処理が可能であるならば、やりかたを教えて頂けると嬉しく思います。
よろしくお願い申し上げます。 すみません、間違いました。
生成するのはファイル名だけで大丈夫です。
フォルダは先に複数作っておき、その中から文字列変数で選ぶだけで希望は叶います。
改めてよろしくお願いします。 昔のFFのような通常攻撃を、配布されてるサンプルのコモンに投入するなら
どのあたりですか?あらかじめ作成したFFもどきコモンを195番に
組み込んだんですけど、195番の戦闘スロットといまいちかみ合うことができません。
可変DBの主人公ステータスに新しく文字列で画像を読み込んでFFらしい通常攻撃を
見せようとしたのですが、敵の攻撃扱いになったりして訳が分かりません。
可変DBから画像読み取りしてまさにFFらしい攻撃はできていますw
これで5日ほどとられているのでお助けねがいます。 昔のFFのような通常攻撃を、配布されてるサンプルのコモンに投入するなら
どのあたりですか?あらかじめ作成したFFもどきコモンを195番に
組み込んだんですけど、195番の戦闘スロットといまいちかみ合うことができません。
可変DBの主人公ステータスに新しく文字列で画像を読み込んでFFらしい通常攻撃を
見せようとしたのですが、敵の攻撃扱いになったりして訳が分かりません。
可変DBから画像読み取りしてまさにFFらしい攻撃はできていますw
これで5日ほどとられているのでお助けねがいます。 中身で何やってんのか分からんから165で敵味方の区別をつけることに関してだけ答えるけど
コモンセルフ0が実行者、コモンセルフ2がその攻撃(回復)の対象を表している
んでそれぞれ9未満だと味方、10以上だと敵なんで、それを基に分岐にでもかければ良い
補足として165の引数の説明だけ簡単にすると
コモンセルフ0: 実行者。CDB10のデータ番号をそのまま表している
コモンセルフ1: 実行される技。0〜9999はUDB0のデータ番号、10000〜19999はUDB2のデータ番号、20000〜29999はUDB3のデータ番号、30000〜39999はUDB4のデータ番号を表す。下4桁がそれぞれのデータ番号。
コモンセルフ2: 対象者。CDB10のデータ番号をそのまま表している
コモンセルフ3: カウンター可能な攻撃か否か
ちなみにCDB10は味方の場合CDB6の項目番号1〜6の順番、敵の場合UDB13の項目番号0〜6の順番を使って写しているはず FFの件ありがとうございます。あの後もう一度再開してCselfを辿り、消してみたりして
結果、自力で解決してしまいました。お手間をとらせて申し訳ありません。あともう一つ
素朴な疑問なんですが、165コモンの一番下を眺めていたら、
キーで高速処理する60コモンを発見して、
(もし敵が反動で死んだ場合はここで撃破演出のコメント部分)どんな感じで処理してるのか
60コモンを覗いてみたのですが、60コモンのCself0に”6”を格納してるぐらいで、
変数処理を行っているだけなのに、どのようにして動作をしているのか具体的教えていただけませんか?
キー入力にある値が-になればなるほど処理が高速化するということですか? 大体その理解で間違ってない
ループ内に1Fウェイトが入っているのがミソ
ループの基本的な処理内容は、Cself40(Cself0の値を代入したもの) が 1回のループ毎に-1されていって、値が0以下になったらループが終了するというもの。
例えばCself0に6が代入された場合、キーを押さない場合はループが6回繰り返される。ループの中には1Fウェイトが入っておりそれも同様に6回繰り返されるため、1F * 6 = 6Fとなり、結果的に6Fウェイトされることとなる。
キー入力があった場合、Cself40からマイナスされる値が増加するため、ループ回数が少なくなる。
例えばCself0に6が代入されていても決定キーが押されていた場合、Cself40の値は1ループ毎に-2されるため、ループが3回繰り返されたら終了する。1Fウェイトも3回繰り返されるため、1F * 3 = 3F。結果的に3Fウェイトとなり何も押さない場合の1/2のウェイト(2倍の速度)となる。
サブキーの場合はループ毎に-3されるため計2Fウェイト、決定キーとサブキーが同時に押されていた場合はループ毎に-4されて(処理の内容的に)計1Fウェイトとなる。
なんでこんなシステムを使っているのかというと、頻発する戦闘は楽で高速な方がいいよね! という基本システムを作った狼煙の趣味 メッセージウィンドウとメニューウィンドウを自作したのですが、会話してキャンセルキーを押すとメッセージウィンドウが消えるのと同時にメニューウィンドウが開いてしまいます
メッセージ表示中ならメッセージ、非表示ならメニューが出るように条件付けしたのですが結果変わらず
メニュー開くキーを全く別のに変えてもメッセージ消えないままメニューが開くだけです
改善策教えてください サンプルのコモン126を参考にすると良い
簡単に言えばsys13のフラグを見てイベント実行中でない場合のみメニューウィンドウ表示を行うようにすれば良い
ただそれだけだとウィンドウ消去した後にキー入力が勝手に行われてメニューが呼び出されるから、イベント処理が終わっても10Fはメニュー呼び出しせずにキー入力だけ取得&記憶させて、キャンセルキー押しっぱなしでも勝手にメニューが呼び出されないようにしている 画像表示で画像Aと画像Bがあったとして、画像Aを画像Bの手前にだしたいのに、
画像Bが重なって表示されてしまいます。何故そうなってしまうのか
わかりますか? ピクチャ番号の大きい方が手前になる
表示処理の順番とかは関係ない >>448
まだまだ理解できない領域でしたが10Fでとりあえず凌げました
ありがとうございました ■ このスレッドは過去ログ倉庫に格納されています