フリーソフトの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 が立てて下さい。 立てられない場合は質問を自重して本スレに報告して下さい。 たておつ 前スレ最後にすごそうなのが 見させてもらいます
とりあえず今わかっている限りでの注意点 >>2 のはじめてのWOLF RPG エディターは配布元が404。データは持ってるけど権利は向こう持ちだしどうすっかな >>2 のはじめてのウディタ 挫折して再びの変数・データベースとは?のページの説明で「「コモンイベント」の実行が終了すると、初期化されます。」と書いてあるが、それは誤り。 文章表示でルビを表示させるとその部分が瞬間表示されたり 場合によってはその後の文章も瞬間表示されてしまうことがあるのですが ルビと文字送りは両立できないものなんでしょうか?
ルビを振る漢字の表示→ルビの表示→生成ピクチャの横幅を確認して中心になるよう位置調節 って感じの流れだと思うから \r[大和武尊,ヤマトタケルノミコト]じゃなくて \r[大,ヤマト]\r[和,タケ]\r[武,ルノミ]\r[尊,コト]って入力するとかしか対処法ないんじゃね ただルビ振る場合の文字送り速度の仕様がよくわからんなこれ
>>7 そうなんですよね ルビを設定すると文字送りの速度が変になってどう設定しても防げないんで困ってます 質問です。 1度の攻撃で敵2体を撃破した場合に 同時破壊のような文字を表示させたいのですが、同時破壊かを調べる方法が分かりません。 一定フレーム間隔を調べたら良いのでしょうが、どのようにやると良いのでしょうか。 分かる方教えて頂けたらなと思います。
時間を関係させて作るのはバグが多いのでオススメしない とりあえず倒した敵をカウントするための変数を用意(ex. 敵撃破カウント) 敵の撃破処理等が行われている部分はコモン165なのでそのコモンを開く 863〜902行に敵味方のダメージ処理があり、更にその中に敵が戦闘不能だった場合の分岐(888〜892行)があるので、その分岐の中で上で設定した敵撃破カウントの変数を+1する処理を書き加える。(倒した敵の数をカウントする) 1ターン内での各行動の大元になっている部分がコモン195なのでそのコモンを開く 34行目(CSelf12[戦闘終了フラグ]が 0 以外の分岐)の直前に、敵カウントが複数(つまり2以上)だった場合の分岐を挿入する。あとは分岐の中に好きな演出を書く(ex. 同時破壊というピクチャを表示させて60Fウェイトした後に同ピクチャを消去) ※戦闘終了フラグの分岐直前にこの分岐を挿入しないと、全体攻撃等で敵が全滅した場合に強制的に戦闘終了処理へ移行して演出が行われない このままだと仲間Aが敵を1体倒した後に、仲間Cが敵を1体倒した場合でも演出が行われてしまうため、次のキャラに処理が移る際に敵撃破カウントの変数を0でリセットする 同コモン( コモン195 )内の17行目に敵撃破カウントの変数に0を代入する処理を書き加える 多分これで2体以上撃破した瞬間に演出を挿入することができるはず
敵が出現して戦闘画面に入る、 だけど敵と戦闘に入ることなく敵が逃走して戦闘終了ってコモンが作りたくて、 コモン171敵撃破演出とかを利用してみたのですが、敵逃走後、戦闘画面が終了しても、 コマンドが残ってしまって上手くいきません。 たぶん戦闘ターンが開始されてないから戦闘が完全に終了できないのかなーと思ったりもするのですが、 とにかくこれ以上は自分ではかなり厳しい感じなので知恵を貸してもらえないでしょうか。
逃走不能で戦闘処理コモンを開始して味方を行動不能、敵を逃走させれば良い
>>13 早速やってみました。 コモン188戦闘処理 コモン137状態付与で行動不能を強制付与 コモン171敵撃破処理で逃走処理 とやってみましたが、戦闘画面終了後にコマンドが残ってしまいました。 >>13 ちょっと勘違いしていたところがあって、そこを修正したら上手くいきました。 ありがとうございました。 高機能お店コモン(ウディタ2用) をウディタ2.20の640:480で機能させるにはどうすればいいですか?
質問です DB操作の「タイプ番号、データ番号、項目番号」の取得方法に「変数」と「名前」がありますが、これまで絶対値や変数呼び出し値でしか使ったことがありません そこで「名前」で使う場合なのですが、これはコモンイベントを呼び出す際に「コモン名」で呼び出すを選んだのと同じようなものだと認識しておく程度でいいでしょうか (タイプ番号位置を変えても名前が同じなら大丈夫みたいな)
ええよ ただDBは昇順、コモンは降順に調べていくから 例えばコモンイベント番号、もしくはDBタイプ番号の1番と2番に同じAという名前をつけていた場合 コモンイベントの場合は2番のAが実行されて、DBの場合は1番のAが実行される
>>20 ありがとうでゴンス 今のところDBでもコモンでも同じ名前で使うことはないんで心配なさそうだけど、DBは逆ってのは知らなかったです 聞いてよかった 自作のデバッグシステムを作ってて質問です DBの名前取得のように通常変数やコモンセルフ変数に付けた名前を文字列変数として取得することはできるか? 現在いるコモンイベントの名前を取得することはできるか?(コモンナンバーでも可)
前者は通常変数名のデータベース作って管理すれば疑似的に可能、コモンセルフは無理 後者はイベントコマンド:変数操作+→その他→「このコモンイベントID」あるいはデバッグ文
>>24 やっぱり変数名は無理だったか でもコモンIDが取れるだけでも十分なんで助かりました! 通常変数と予備変数は普通にDB操作で名前取れると思うけど
>>26 ほんとだウッカリ >>27 イベントコマンド:DB操作→システムDB→DBタイプ番号の「名前」にチェック入れてプルダウンから「通常変数名」選ぶ 「データ名取得[文字]」にチェック入れる 質問です キャラでは無くピクチャを用いたオリジナルのアクションゲーのシステムを作ってるのですが 並列処理で一時的に敵のアニメを停止させる為の条件分岐などを実行すると停止はするのですが 後に一時停止した条件を解除して再開させるとアニメが最初からやり直しになってしまいます そう言った場合どうしたら良いのでしょうか? 呼び出し処理だと画像だけ残ると言う状態になる為に並列処理にしてました
アニメーションパターンを保持しておくだけじゃないの
中身が分からんから何とも言えんけど、普通はピクチャ使ってアニメーションを作っているなら、アニメーションのパターンをどっかの変数で管理してるよね? 停止させた時にその変数への代入も止めるか、もしくは停止させた時にその変数の中身を別の変数に代入しておいて、再開した時に引っ張ってくれば良い
ありがとうございます エフェクトのパターン変更使ってやってました 参考に頑張ってやってみます
あー、それ使ってるのか エフェクトの自動変更だと現在のパターンが何か分からんから、それ使わずにピクチャのパターンを切り替えたほうが良いよ 演算で処理重くなるけど、キャラクター100体同時にアニメーションとかしない限りは問題ない
回答ありがとうございます 更に質問なのですが、変数をスイッチのようにして ループが途切れたら並列でアニメの呼び出しコモンを呼んで 再度止まった所からアニメを再生する事には成功したのですが 呼出し後のアニメがガタガタになるのですがこの場合はどうしたらよいのでしょうか? 並列処理だから何度も呼ばれてアニメもガタガタになってしまうと言う事なのだと思うのですが 対処法が分かりません
これだけの情報だとどうしようもないのう 問題をもうちょい整理してほしい 「並列処理だから何度も呼ばれて」がいまいちわかんなかったんだが、「何度も呼ばれない」ような条件分岐を入れるんじゃだめなん? 並列実行コモンを複数動かしてるとかじゃないよね?
説明だと分かり辛いと思ったので画像でこんな感じです 位置によって番号使い分けてるのでループもすっきりしてませんが これで一応目的のアニメは動きます 一時停止フラグがONの時に 一時保持パターンをパターン変数に格納してアニメが動くようにしました 問題は3枚目のもので停止した後に起動するイベントなのですがそれが起動しても アニメが続きからではあるけれどカクカクで見れたものにならないんです そのカクカクの解消の仕方が分かる方が居ましたら教えて欲しいです 情報が足りないと思ったので連投すみません コモンの種類は1枚目が呼び出し、2枚目が並列(一時停止中) 3枚目が並列にしたらいいのか呼び出しにしたらいいのか分からずに居ます
一枚目の呼び出しコモンがアニメーションさせる処理、停止中に二枚目が並列で動いてて 三枚目がアニメーションを再開するコモンと 停止→再開でカクカクするんならウェイトかな 並列でアニメ処理呼び出してるせいで二重にウェイトがかかってるか どっかでV162自体の設定をいじってるかくらいしか思いつかない
ありがとうございます たぶんその二重ウェイトだと思います V162自体は先に設定してそこから一切変化は無いので そのウェイトは具体的にどういった場所に多いんでしょう?
無事解決しました! 親切丁寧にありがとうございました
ピクチャを遠景のようにマップと位置連動させたいです(キャラクターの移動幅は0.5マス) ピクチャをスクロールとリンク、座標を対照モードでXY座標を0にして表示したのですが うまく連動してくれません。もしいい方法があれば教えて頂けないでしょうか
スクロールとリンクにチェック入れて表示させたら、後はピクチャの位置を自分で動かさない限り、マップと位置連動するでしょ 対照モードってのが何のことかは分からんけど、相対モードのことならチェック入れんでええぞ
>>44 対照←誤字でしたすいません。ありがとうございます!うまく動作できました 教えて頂いたようにいかないと試行錯誤していたらそもそもピクチャ表示を 並列実行で表示させ続けていたことに気づけました… >>34 で質問していた者です 無事、1つのアニメ動作は上手く行くようになったのですが、同時に2つ3つとアニメを動かしたいと場面があり そこでまたポーズ画面のような一時停止ON/OFF処理をしたいのですが 複数同時にその各アニメの為にコモンを呼び出して動かす方法が分かりません 並列処理で2枚目以降を呼び出してやってしまうと2枚目以降のパターンが停止してくれません 一括してその最初に作ったアニメコモンのループ内で処理しようとすると 当然2重ループだったりウェイトで1枚目のアニメに影響を及ぼしてしまいます どのようにしたら上手く行くでしょうか? 教えて頂けたら大変助かります! うまくいくかわからんが、と前置きしとくよ! まずアニメパターンを管理してるデータベースに動作中か停止中かの項目を用意 次に「アニメ動かすコモン」の中身 1つのアニメに対して ・動作/停止の情報をデータベースに拾いに行く ・動作中なら次のパターンに更新、停止中なら更新しない ざっくりこの二つの処理を動かすアニメの分だけループで実行 ウェイト挟む んで、この「アニメ動かすコモン」を文字通りアニメを動かしてる間はずっと並列実行させておく これで上手いこといけばコモンは一つで済んで、全アニメ停止、あるアニメは動かし続けてあるアニメは停止、とかもできるんじゃないかな
念のため補足 データベースは、1データにつき1つのアニメの情報を管理してる前提で書いてるよ!
ウディタでアクションゲームを作るならピクチャごとにDB管理しないと無理だよね
回答貰えて助かりました 無事問題だった部分も解決できました! ループ内で変数切り替わりも出来るようにすれば 各アニメ1つにつきコモン1つずつで解決するみたいです ありがとうございました
今の(それかセーブデータの)可変データベースの内容を csvやテキストなどで、あるいは画面やログに、出力させる機能ってありますか? それとも自分でコモン書いて走査させなきゃできませんか?
マウス操作を作り始めたんだけど、マウスポインタ(Windowsのほう)を消すのはどうするんだっけ
現在表示されてるピクチャが何枚あるか調べるデバック用のコモン作ってます +変数操作でそのピクチャ番号にピクチャが表示されていれば「枚数」に+1して99999回(ピクチャ最大数)繰り返す、 というものですが50万回エラーが出てしまいます 繰り返し回数を分割してウェイトを入れるしかないでしょうか?
繰り返し回数を分割しなくても ピクチャ番号一緒にカウントして2〜30000おきに1フレームウェイトすれば大丈夫と思う ぶっちゃけあのエラーでても無限ループさせてなけりゃ動くけどね
2万以上だとエラーはでなくても処理落ちすっから1万で1ウェイトのほうがいいと思う ところでF8じゃあかんの?
助言をいただけたので該当のコモンが作れました 感謝! >>58 一定カウント毎にウェイト入れるので行けました ピクチャ番号と該当ピクチャを一覧に表示して、自分的にわかりやすいように確認できるコモンを作ってたんで、エラーで一度止まるのをどうにかしたかったんです >>59 F8だけだとどれがどれだかわかりにくくて(汗 あと、2万以上だと処理落ちってのはCPUよりもウディタの仕様なんですかね? 今回ので初めて処理落ちを経験したんで普段の自作コモン(まぁまぁアニメーションとか計算とかやったり)作りには影響ないと思うんですが、一応気に留めておきたいと思います 以前ツクールXPで自作システム作ってたときにCPU良くしても重さが変わらなかったんで、それに似てるのかなぁと ウディタの仕様 今のバージョンになってから簡単なコマンド文の処理時間を自分で計測してみたけど、 ウディタ 処理時間 で検索するとでてくるサイトのデータとほぼ同じだったし多分変わらんと思う 実際に計算して処理落ちするように組んだら、しっかり処理落ちするし ちなみにウディタは60Fだから1Fのコマンド処理時間を約16.6ms以内に抑えないと処理落ちする 2万以上だと処理落ちするってのは、条件分岐(最も軽い処理で6.6ms * 2)+書き換え(1.7ms * 2)で既に16.6msに達しているから.これに変数操作+の処理とループ処理の分足したら確実に超える 一応処理落ちしててもスキップ×2とか×3にして30Fとか20Fにすれば大丈夫だけどね
詳しい解説ありがとです! 今まであまり気にしないことにして後回しにしてた問題がいろいろ腑に落ちました これでメインコモン作成が捗りそうです
あっでも俺のPCくっそ古いやつだからそこまで処理速度変わらんの当たり前だわ CPUも i5 3550 3.30GHzの第三世代だし
某袋怪物のように場所を移動した時に特定の画像を表示するということをやりたいのですが上手く出来ないです… トランジションの合間に挿入すればと思って 実行→画像表示→再度トランジション実行して画像削除 とやってみたのですがそもそも2回目のトランジションが発動しないです どのように組めばあれの再現ができるでしょうか?
すいません自決しました 普通に場所移動の前に画像を挿入したらそれっぽいのができました
基本システム2の181X[戦]ダメージ・回復ポップアップのCself3[表示タイプ]の数値はどこから取得されているのでしょうか?
引数だよ コモンイベントを呼び出す際に任意に入力される値 コモンイベント → イベントの挿入 でコモン181を選択すると選べるようになる、【コモンEv入力(数値)】の欄のがそれ コモンイベント全体から、コモン181を呼び出している部分を検索すれば、何が入れられているか分かるよ
質問です ウディタで加速度などは関係無く何かしらの物を投げて ループ内で放物線を描いてターゲットに当てるようにしたいのですが どのようにして作ったら良いか分からなくて詰んでます ヒントなど頂けたら助かります
オイラー法ってのは、ざっくり説明すると xn+1 = xn + dx/dt * dt yn+1 = yn + dy/dt * dt で常微分方程式を求める方法や これを物理演算でわかりやすく解説するなら [次のx座標] = [今のx座標] + [水平方向の速度] × [時間間隔] [次のy座標] = [今のy座標] + [今の鉛直方向の速度] × [時間間隔] ってことになる。 じゃあ[水平方向の速度]と[鉛直方向の速度]はどうなるのっていうと、これは採用する式で異なるんだけど、今回は簡単のために空気抵抗が発生しないことを仮定すると [水平方向の速度] = [初速] × [cosθ] [今の鉛直方向の速度] = [前回の鉛直方向の速度] - [加速度] × [時間間隔] ってことになる。 注意事項だけど、座標系は画面右方向をx軸正、画面上方向をy軸正として考えている。 また、θはx軸からの左回りの角度を表す。 そんで式を整理すると [次のx座標] = [今のx座標] + ([初速]×[cosθ]) × [時間間隔] [次のy座標] = [今のy座標] + ([前回の鉛直方向の速度] - [加速度] × [時間経過]) × [時間経過] ここから簡単のために[時間経過] を 1 として省略することで次式として纏められる [次のx座標] = [今のx座標] + ([初速]×[cosθ]) [次のy座標] = [今のy座標] + ([前回の鉛直方向の速度] - [加速度]) ※(初期の鉛直方向の速度 = [初速] × [sinθ]) んであとは座標系をウディタ用に治すと、y軸方向は反転して、θはx軸から右回りであるため次式で表される [次のx座標] = [今のx座標] + ([初速]×[cos-θ]) = [今のx座標] + ([初速]×[cosθ]) [次のy座標] = [今のy座標] + ([前回の鉛直方向の速度] + [加速度]) ※初期の鉛直方向の速度 = [初速] × [sin-θ] = - [初速] × [sinθ]
今見直したけど[時間経過]のところは[時間間隔]の間違いだわ
それっぽく見せたいだけならyの減算値を1ずつマイナスして頂点で反転とかでもアリ
それもやっていること自体は二つ上の話と同じだな。速度から加速度1を引いている というか加速度使わずに多様な放物線運動を描くのって、かなり面倒じゃない?
皆様ヒントありがとうございます! 参考に作ってみます
自作コモンのみでコマンドRPG作ってて、ふとこんな楽な機能あったんだ!と思うことがあります 例えば、表示中のピクチャー番号を取得するコモン作ってたけど、変数+使ったら簡単に取得できたとか そこで質問ですが、 コモンイベントの予約ってどういう時に使えるんでしょうか (マップイベントは使ってないです) こう使うと便利だよ、とかあれば教えて欲しいです
その1度限りの自動実行は具体的にどういう処理で使えます? ゲームのシステムで例えて貰えるとありがたい
並列実行から自動実行で呼び出したい場合に通常変数使わずに出来る 他の使い方としては、入れ子にしたくない時に使うぐらい。実行イベントを最後まで処理してから呼び出したい状況とか 前者の実例は基本システムのコモン126のような場合 後者の実例は前スレ948のような場合かな
WOLF RPGエディター製のゲームを仮想フルスクリーンで表示出来るようにするツール等って無いでしょうか? Borderless Gaming、FullScreenwin、Sizerのみっつを試してみましたがどれもダメでした・・・orz F4で画面サイズを切り替えると、小中大のみっつしかなく擬似フルスクリーンにならないのです・・・
技能の使用回数を制限するにはどうしたらいいですか?
>>81 ツールは知らん borderlessじゃなければF11でフルスク、2.20以降であればF4なりでborder有り最大化できるけど >>82 前スレ806 全部の技能に制限つけたいなら根本的に改造 >>83 プレイする側なのですが、こちらでバージョンを上げる等の作業って出来るのでしょうか? 無知ですみません、よろしくお願いしますorz エラーが発生する可能性もあるけど ウディタ公式で2.21のエディタをダウンロードして、解凍して中にあるGame.exeを使って、変更したいゲームのフォルダにあるGame.exeを入れ替える ダメだった場合、もとに戻すために、元々あったGame.exeはGame.exe.oldとか適当な名前を付けて残しておくこと
>>83 ありがとうございます。 でもこの方法だとアイテム欄に技能発動アイテムが表示されちゃいますね 青鬼なら一部マップに自分がどこのマスなら起動みたいなフラグ作っておいて 自分を追尾してくるようなコモンを作ったら作れると思うよ システムは1から作るとしてメニュー画面より先にそこを作ってしまって それからはローグライク系ゲームのコモンもしくはプログラムを探して処理を参考にしてみると良いかもね
>>88 アイテム一覧算出のコモンで対象のアイテムの場合だけ表示しないようにすれば 技能が20〜30個程度ならアイテム消費する形のほうがそのまま利用できるから楽だよ 技能が100個近くあるなら戦闘システム改造したほうが楽だと思うけど >>90 技能そのものは30も使わないと思いますが アイテム一覧算出コモンを見ても、どこをどう弄ればアイテムを非表示にできるか 自分にはちょっと難しくてわからないです。 戦闘外の場合はコモン110、戦闘中の場合はコモン153がアイテム一覧算出 とりあえずコモン153に限って説明すると 16行目〜86行目のループの中で、全部のアイテムを調べて、【1個以上存在する場合】に万能ウィンドウにアイテム名と個数を表示するって処理になっている この【1個以上存在する場合】の条件分岐処理が19行目〜84行目に存在するんだけど、 この条件分岐を、【特定のアイテム以外】且つ【1個以上存在する場合】に書き換えればいい 特定のアイテムってのをどうやって設定するかだけど、 例えば1個だけの場合は、(あまり褒められた作りじゃないけど) 【Cself30の値が特定の値以外】で設定すればいい このループ中におけるCself30の値は、UDB2のアイテムのデータ番号に対応するんだけれども、 例えばサンプルゲームにおける薬ビンを表示させたくない場合は、薬ビンがデータ番号14なので、【Cself30の値が14以外】って設定すればいい 【Cself30の値が14以外】の条件分岐を作って、【一個以上存在する場合】の条件分岐を、その作った条件分岐の中に入れればいい 例えば、アイテムのデータ0〜30までが技能発動アイテムだとすれば、【Cself30の値が31以上】の条件分岐を作って、【一個以上存在する場合】の条件分岐を、その条件分岐の中に入れればいい 発動アイテムは連番で作るつもり無いから、ユーザDBでアイテム一覧に表示するかどうか設定したい って場合は UDB2のタイプ内容を書き換えて. 例えば項目21番をアイテム一覧に表示するかどうかの変数(1 = 表示しない)と設定して コモン153の19行目の前でDB操作でユーザDB DBタイプ番号2 データ番号Cself30 項目番号21番の値をCself13とかに代入して 【Cself13の値が1以外の場合】って条件分岐を作って、【一個以上存在する場合】の条件分岐を、その条件分岐の中に入れればいい
同じデータを読み出すとき、可変データベースから読み出すのと 文字列から一行切り出しで読み出すのとではどんな違いがあるでしょうか 基本的なことなのかもしれませんが、検索してもうまく見つからなくて・・・
すまんがなんで可変データベースなんだ? そもそもの役割が違うから、その辺ケアして説明すると長ったらしくなるんで理由聞きたいんだけど
ああ、何となく聞きたいことが分かったわ 可変データベースに入力しているデータと、同様に適当なデータ形式で文字列として羅列したデータ(txtやらdataやらのデータ形式で保存したもの) それぞれを読み取る場合にどんな違いがあるのかってことか ぶっちゃけて言えばやること自体はほとんど変わらない。 どちらも大雑把なプロセスとしては下のような形で使用する 1. HDD(もしくはSSD)に保存されているデータを読み取る 2. 読み取ったデータから、記載されている数値等をラベル付けしてメモリに格納 3. 各々のコマンドでメモリに格納したデータを呼び出して利用 この処理の中で一番時間を食う部分が1〜2の部分で、最近はかなり早くなっているけど、未だにHDDやSSDに対するアクセス速度はメモリに対するアクセス速度と比べてとにかく時間を食う。(環境によるが、HDDだとだいたい速度が100〜1000倍程度違う) サウンドに【メモリに先読みロード】って項目がある理由がこれ。HDDからの読み込みの場合に、時間がかかってズレてしまうことがあるから。 なので可変データベースやユーザデータベースは、ウディタを起動した時点で1〜2の処理を行って、数値をメモリに格納している。 データベースを肥大化させすぎた場合にウディタの起動が遅くなる理由がこれ。 そういったことで、そこまで大きな違いは無いけれども、あえて言えば 可変データベースに入力しているデータは、ウディタを起動した時点でHDD(もしくはSSD)からの読込処理が終わっている txtやらdataやらの外部に保存してあるデータは、ウディタを起動した時点ではHDD(もしくはSSD)からの読込処理が終わっていない って違いがある
96です。理解不足なうえにレスが遅れてすみません 質問の意味は、>>100 のかたが推測してくださった内容で合ってます 似たプロセスので何か違いがあるのか気になっての質問でした こんなに詳しく解説してくださってありがとうございました ちなみに、たとえば1つのアイテムに対して5つの情報があって 可変データベースのタイプ、データ、項目の「項目」に数値や文字列を入れる場合、 ・項目数5(1つずつデータ格納) → 1つずつ(Cselfなどに)読込 ・項目数1(コンマ区切りや改行区切り) → 切り出しして(Cselfなどに)読込 というプロセスがあって結果は同じだと思うのですが、 何か違い(使い分ける場面など)はありますか わかりづらい質問になっていたらすみません > 項目数1(コンマ区切りや改行区切り) aa,bb,cc,dd,ee のようにデータ5つを1つの項目に羅列して格納という意味です
タイプあたりのデータ数を増やしたくないけど 1データに100項目じゃ足りないとなったら 文字列操作前提で複数の情報をひとつの項目に圧縮して書きこめるのは確か でもバグが増えそう 基本システムなら、例えばタイプ1の技能習得lv デフォルト仕様だと項目数の制限で技能を50個までしか習得できないんだよね 例えばこれをもっと増やしたいって時なんかに レベル1で覚える複数の技能を一つの項目にまとめて書き込むみたいな荒技が一応できる できるけどたぶんイチからスキルシステム組むのとそこまで変わらないくらいには面倒くさい
そもそもデータベースの入力用UIが、改行とかコンマ区切りで1項目に複数入力するのに適したものじゃない データ数が多いなら素直にタイプ数を1つ増やして拡張するか、外部にデータを用意したほうがいい コンマ区切りで手打ちするぐらいなら、表計算ソフト使ってcsv形式で保存したほうがマシ。こっちのほうが目視確認しやすいから入力ミスによるバグも発生しにくい 基本的に変数纏めるのは悪手なことが多い ビット積使って纏めて条件分岐に掛けたい時や通信のパケット減らしたい時以外は辞めた方がいい
ありがとうございます データ数次第で選択の余地があるにはあるということですね 片道勇者やワールドフロンティアがアイテムを文字列(=データ番号?)で 管理しているらしいので、 慣れた人が文字列を選択するだけの利点があるのか気になっていました コモンイベントの中で読出・書出するなら便利なんですかね・・・
片道勇者が具体的にどんなアイテム管理をしているか分からんけど、 ワールドフロンティアの方は見た感じ汎用性の高さかな 明確な上限を定めたくないって場合には有用。これなら理論上PCがクラッシュするまでアイテムを持つことが出来る。 ウディタで唯一使える、動的にメモリを確保する変数って使い方
俺は所持品データは書式を決めて1つの文字列変数に格納してる [1]id26,数37,質100 [2]id3,数6,質80 みたいな idがx番のアイテムのデータが知りたい場合は @idx,以降を切り出し A知りたい情報の見出し以降を切り出し B変数に代入(ウディタの仕様で代入時に,以下自動切捨) の手順でできる なにより仕様変更に強くてオススメ
エディターのテストプレイ選んだらそこまでのデータって保存されるの? 電気ポットと電子レンジ同時に使うとブレーカー落ちて怖いんや
>>109 仕様かどうかを聞いている 知らねーならでしゃばんな >>111 ぼく質問スレで答えたい→ぼく答え知らない→ぼく何か煽れる文言を見つけて書き込む→回答者になった気分www 電気ポットと電子レンジ同時に使うとブレーカーが落ちるのは仕様や ドライヤーでもなるぞ
>>113 せめてウディタの回答が出てからにしようねw 荒ぶる承認欲求かよw されるよって言われて信用できるのか?なんの責任もない馬の骨の言葉を? 素直に逐一セーブしたほうがいいんでない? まあされてるっぽいけど
>>115 基本的に動作確認する度に保存はしてるんだけどね 回答ありがとー ウディタは1フレームに50万行読むと動作が止まるようですが この行数に「条件分岐で条件が適合せず実行されなかった」行は含まれますか?
本スレからリンクされてないからか過疎ってるね 転載しとくわ
前回の質問者が酷かったから回答控えているだけじゃね
答える気ないやつと難解な回答して悦に入ってる自称回答者様はいなくていいよ
難解な回答は見たことないが 意図を読み取ることが難解な質問は割りとよく見る
ラバーダッキングみたいなもんで、 相手に伝わりやすいように質問を考えていると、自然と自己解決しちゃうことが多いからな
簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 8MWR63FXB8
質問させていただきます 特定の仲間1人が特定の防具を装備した時だけ顔グラを変えたいのですが何処にどんな一行書き込めばよいのでしょうか?
今ウディタが手元にないから詳しく解説できないけど メッセージウィンドウを表示しているコモンの 顔グラフィック番号を読み取って ピクチャの文字列をsysDBから取り出している部分の直下に 特定の顔グラフィックの場合に 装備している防具の番号を可変DBから読み取って 別途用意したDBなりsysDBなりからピクチャの文字列を取り出す処理を付け加えるだけ 防具の場合にはID番号+30000になっているから注意な
>>127 「顔グラ」がどこの顔グラなのか解りかねるので回答に困るのですが、 ・基本システムのメッセージウィンドウの顔グラを要望の通りに変更したいなら >>128 のように改造すればOK ・移動時メニュー欄の顔グラ(例えば回復アイテム使用時に出てくるアレ)を変更したいなら コモン90番「X[移]キャラクター欄描画」の186行目付近で顔グラがピクチャ表示されるので、 表示されるべきファイル名(CSelf7)を条件に応じて差し替えれば良い。 (移動時ならCDB0番に主人公キャラの装備している品が格納されているはずだから、 それを判定基準として場合分けすれば良い) ・戦闘時の顔グラを変更したいならコモン178番「X[戦]味方欄_単体描画」を改造する。 221行目付近で移動時と同様に書き直す。 (戦闘時ならCDB10番に装備状況が格納されている) ※あとの2つに関しては色々応用が効くと思う。瀕死時や死亡時に顔グラを変えるなど お疲れ様です。 天候の設定コモンを導入したのですが 場所移動でトランジョン+暗転あり(60フレーム)にすると 一時的に雪が固まってしまいます。 暗転していく間でも雪を降らせたいです。 ご教授お願い致します。
130です! ごめんなさい。1読みました。 コモンについて聞くのはだめでしたね……。反省します。 作者様に質問しても、返事がなかったのでここに書き込んでしまいました。 少し変えて質問します。 暗転時、待機アニメーションなどが止まってしまいます。 仕様だと思うのですが、変更したいです。
トランジションは画面の更新を一時停止するものだから、ウディタの仕様上、どうにもならない 単純なフェードイン、フェードアウトだけなら、黒く塗った画像を表示して、透明度を徐々に変更するコモンを作ることで、 並列実行イベントを動かしながらトランジションに似た画面効果を起こすことが出来るはず 画像を表示するピクチャ番号によって、画面を徐々に暗くしながら、雪は降らせたままにしたりもできる
>>132 なるほど、そのような方法があるのですね。 ありがとうございます! メニューから武器や技能を選ぶ処理を、アイテムの時みたいにしたいです。 使用者とかを選ぶ必要がないので省きたいなぁと。
ドラクエみたいに、メッセージが表示される時に音をならしたいです。 文章の表示に合わせてSEを流してみたのですが 文字数と合わなかったりで上手くいきません。 他に簡単な方法はありますか?
そろそろsageを覚えろ >>134 コモン130が装備者選択から装備描写までの流れの部分 55行目より上を全部消して、一番上に ■変数操作: CSelf20[選択キャラ位置(0〜5)] = 0 + 0 ■イベントの挿入[名]: CSelf11[一時TMP2] = ["X[移]選択位置主人公ID取得"] <コモンEv 105> / CSelf20[選択キャラ位置(0〜5)] ■イベントの挿入[名]: ["X[移]装備一覧算出"] <コモンEv 112> / CSelf11[一時TMP2] / 0:装備欄1 ■イベントの挿入[名]: ["X[移]装備画面描画"] <コモンEv 93> / 0:表示A(初期表示用 スライド表示&全表示) / CSelf11[一時TMP2] / 0 を書き加えて、後ろの方の処理にある | |●ラベル「パーティ表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>> って処理を消せばまあ行けるんじゃね。 簡単に説明すると、55行目より上でやっていたキャラ選択の部分を消して、強制的に0番目のパーティを選択する処理に書き換えただけ もっと色々変えたいって言うならコモン130を自分で読み解いて >>135 前スレ>>959 辺り見ればヒントは掴めるんじゃね あとは周期をメッセージ速度に合わせれば、ルビを振る場合や特殊文字による処理、キー入力でメッセージ送りした場合以外は上手くいくはず。 ルビを振る場合は諦めろ。特殊文字による処理は文字数カウントする時に場合分け。キー入力によるメッセージ送りの場合はキー入力を監視する以外の方法がないはず。 ありがとうございます。sageというのがあるのですね。気を付けます。
ピクチャーについて質問です 正方形サイズの画像を読み込み拡大率の別々にチェック入れて横50%縦100%にして表示します この状態で回転させようと角度のところに0以外の数値を入れたら、縦横どちらも50%で固定され正方形の画像が表示されてしまいます これは仕様として諦めるしかないですか?
>>645 しっかり書いてるね(汗)失礼しました 質問を変えます、 上記のような事がしたい場合に他の方法はあるでしょうか(大元のPNG画像はいじらないで) ウディタでテキストドキュメントを呼び出すのは不可能?
わざわざ5日前の回答にレスしてるってことは質問者本人?
四隅の座標を計算して回せばいいやん 計算できないなら数学やり直すことから始めようか
>>149 自由変形無し時の角度変更と違って計算量多いねw 的確な回答ありがとう! 煽り耐性低くてマウント取りたい奴が多いせいか、攻撃的な質問の方が的確に回答されるな(笑)
アクションRPG作れるっ? 他の選択肢はないのかな
余裕で作れるよ 本気で聞きたかったら>>1 読んでからカモン! 2Dダンジョンを一時的にWIZ風の擬似3Dダンジョンにする演出がやりたくてコモンをつくっています。 元の2Dマップをプレイヤーに移動させて周囲のマップチップの判定から3D画像を描画するところまでは できたのですが移動方法の部分でつまづいています。 ■動作指定:主人公(動作を繰り返す) ■ウェイト:1フレーム ■キー入力:コモンセルフ0/[入力待ち]4方向 (以下4方向ごとの条件分岐・・・) 通常の移動をテンキー462で方向転換、8で前進という操作に変更したくてコモンを並列処理で上記のように組んでいます。 一応、挙動は狙ったとおりになるのですが別のイベント(NPCとの会話やアイテム取得など)がこの方法だと 起動してくれなくて困っています。 改善点があればご教授願います。
変数操作+でイベント情報取得してイベントの挿入でもダメなの?
俺が以前作った時はそれだったな ページ数には変数使えないから条件分岐で作る
イベントの挿入でいけました。ありがとうございます! ページ数だけじゃなくてイベント挿入コマンドのイベント名の呼び出しにも特殊文字が 使えないっぽいんでちょっと一手間必要ですけどちゃんと起動させることができました。 回答ありがとうございました。
ススム マエヘ マガル ヒダリヘ の紙芝居でいいじゃん
コモンセルフ変数の呼び出しが上手くいかなくて困ってます 具体的には下記の動画の8:58〜9:54の解説通りにコモンイベントを作り、変数呼び出しで動作指定を行ったのですが キャラが主人公を追いかけてこずマップの左上の方へと歩いていってしまいます ヘルプや解説サイトを覗いて自己解決しようとしましたが有用な情報は得られませんでした 初歩的な質問なのかもしれませんが答えて頂けるとありがたいです VIDEO &t=582s 1600000番の呼び出し元に依存したコモンEvセルフは使えないけど 1500000番のコモンEvも指定したセルフ変数は使える マップの左上に行っているということは、単に変数の指定ミスか更新ミスで間違った情報を取得しているだけだと思う。 マップ左上は座標0,0だから、変数指定ミスじゃねえかな 動画だとコモンEv223で作っているから15022300を指定しているけど、自分で作っている環境だと別のコモンEvで作っているとかじゃないの つか考え方が違うとかじゃなくて、単なるケアレスミスなんだし、作ったスクリプトも見せてくれなきゃ何が原因かなんて分からんわ
動画ではコモンEvをどう使ってるか分からないけど コモンEvに書いただけじゃ変数は入ってないよ 並列にすれば動くかも
>>162 動画と全く同じ通りに設定してます コモンEvを223で作っておいた上で変数も0と1を使い、1500000番の変数呼び出しで指定しています 動作指定の欄にもきちんと「X:コモンEv223セルフ0,Y:コモンEv223セルフ1に接近」と表示されているのに何故か主人公の座標を無視するんです コモンイベントの該当するコマンド文を全て選択する (ドラッグ・もしくはshift + 方向キー) 右クリックして、出て来るメニューで"コマンド文→クリップボードへコピー" (もしくは右クリックせずにCtrl + Q) _人人人人人人人人人人人人_ > そしてスレへ貼り付け <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
>>165 ■変数操作+: CSelf0 = 主人公 の X座標(標準) ■変数操作+: CSelf1 = 主人公 の Y座標(標準) コモンEvは223にしてます >>167 わかりましたやっと理解できました そうかコモンの方で実行時の呼び出しを変えてなきゃいけなかったのか… ありがとうございましたこれで心置きなく作れます どうでも良いけどデバッグ文もっと使おうぜ 今回の場合なら指定した座標をデバッグ文で確認できるようにしておけば 指定した座標に移動していないのか あるいは座標が指定できていないのか判断できる
呼出値使うなら(x,y)=(9180000,9180001)のイベント動作指定でええやん 動画見てないけどなんか意図があんの?
質問です。 ARPGで敵からダメージを受けたら自機を透過したり麻痺として色彩変更する処理を実装しています。 そこで、連打で敵の攻撃を受けるとダメージの 自機のモーションと透過処理が上手くいかず、そのままの状態で戦う事があります。 どのような処理をしたらそれが解消出来るかいいかヒントだけでも頂けたら幸いです。
特定のファイル名のピクチャが表示されている時だけ反応するイベントを作りたいのですが 表示しているピクチャのファイル名を文字列変数として取得する方法はありますか?
>>172 通常の描画と透過率・色彩変更の処理が被ってるんだろうからディレイ見直すとかかね まぁ処理内容わからんしデバッグ文使用して自分で探るしかないよ >>173 特定のピクチャなら表示・消去するときにフラグ管理すればいい ピクチャ番号指定して一発で取得するようなコマンドはないはず シンボルエンカウトを作ってます 正面、側面、背面で先制攻撃やバックアタックの判定をしたいのですが、 モンスター(マップイベント)や主人公がそれぞれどの方向から接触したかを取得する命令は無いですよね? 無ければイベントの方向とイベントの座標を取得して自作するしかないでしょうか? こちらだと主人公とモンスターの方向(4×4)と座標の比較(×4)で条件分岐だけで56通りになり大変なので、他に方法がないか悩んでおります
・キャラ画像4方向移動方向4方向の場合 マップイベントの方向 + 主人公の方向 が10の場合は正面同士の接触 マップイベントの方向 = 主人公の方向 の場合は正面&背面の接触(バックアタック) それ以外は正面&側面での接触(サイドアタック) あとは主人公の座標+向いている方向から、正面1マスの座標を取得。そこに対象のマップイベントがいれば主人公側の↑の処理 いなければマップイベント側の↑の処理 ・キャラ画像4方向移動方向8方向の場合 (1) マップイベントに対して主人公がどの方向にいるかを角度で算出する(arctanを使うのが一番簡単) (2) マップイベントの向いている方向を角度に変換(2の場合は90等。自力で打ち込み作業) (1)と(2)の角度の差θからマップイベントが主人公に対して前面、背面、側面のどちらを向いているか判断(-45≦θ≦45なら前面など) 前面以外は主人公側からの接触。バックアタックやサイドアタックなど 前面での接触だった場合、主人公側について(1) (2)の作業をして前面、側面、背面のどの方向を向けているか調べる ※ちなみにウディタのマップイベントは起動時に自動的にプレイヤーの方向を向くため、 方向固定解除→1マス移動→方向固定 のルーチンでマップイベントを移動させないと、マップイベントとの接触時の互いの向きによる判定ができない だけど何故かマップイベントのカスタムルート設定からだとこのルーチンが組めなくて コモンイベントからのイベント制御だとこのルーチンが組める そのためマップイベントの移動なんかをコモンイベントで一括で行わないといけない
>>177 衝突判定はそれでバッチリ行けました! 行数もスッキリして感動です 詳しい説明ありがとうございます で、次は衝突時にマップイベントが主人公側を向くのを改造するところでつまずきました 解説いただいたように下記の並列処理のコモンを作って動かしたのですが、 --- ■動作指定:Ev0 / 向き固定OFF / 主人公に接近 / 向き固定ON --- 今度はマップイベント側の起動条件「イベント接触」が起動しなくなりました 現状では主人公側から接触すると起動するけど、モンスター側からは起動せずずっと主人公の後を付いてくるだけになってます 【5】イベントに複数のページを設定したんですが、最後のページしか実行されません マップのイベントは、番号の大きいページを優先して実行しようとします。 そのため、最後のページの起動条件が満たされてしまうと、 小さい番号のページは実行されません。
>>178 あ、ごめん忘れてた コモンイベントの動作指定の場合、接触範囲拡張+イベント接触以外だとイベント側からの起動ができないんだった マップイベントのカスタムルートで 移動頻度を設定 => 0 (以降の処理を毎フレーム処理) 向き固定OFF 主人公に接近 向き固定ON 移動頻度を設定 => 3 (任意の移動速度に戻す) でできるはず と思ったけど、半歩移動の設定の時に、イベントが上側から接触した場合は起動しないバグって治ってないんだな 軽く作っただけだから想定通りの動作するかわからんけど テストした感じでは多分問題なく動くので、後は自分で汎用性高めてやってみて。これだと1マップイベントしか動かないし、プレイヤーを発見している状態での動きだけだから 一応このコモンイベントの動作で起動する場合は敵側からの接敵判定、 マップイベントのプレイヤー接触からの起動の場合はプレイヤー側からの接敵判定 って分けられるはず。 コモンイベント(並列実行) ■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ -◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓ |■変数操作: CSelf10 = 23 + 0 |■変数操作+: CSelf11 = キャラ[CSelf10] の 現在の起動ページ 0=ナシ 1〜=起動ページ |■条件分岐(変数): 【1】 CSelf11 が 1 以上 |-◇分岐: 【1】 [ CSelf11 が 1 以上 ]の場合↓ | |■動作指定:キャラ[CSelf10] / 向き固定OFF / 主人公に接近 / 向き固定ON | |■変数操作+: CSelf12 = キャラ[CSelf10] の 移動中?[1=YES 0=NO / ※主人公のみ1フレ以上停止時のみ0] | |■条件分岐(変数): 【1】 CSelf12 が 0 と同じ | |-◇分岐: 【1】 [ CSelf12 が 0 と同じ ]の場合↓ | | |■デバッグ文:停止中(進行方向に障害物有り) | | |▼ 障害物有りで進行不可 = 移動先に主人公が存在する可能性有 | | |▼ 後は移動先に主人公が存在するか調べる | | |▼ 主人公が存在する場合は接敵判定に移行 | | |■ | |◇分岐終了◇ | |■ |◇分岐終了◇ |■ウェイト:20 フレーム (移動頻度に合わせてウェイトを設定する) |■ ◇分岐終了◇
|■変数操作: CSelf10 = 23 + 0 ああそうだ、この処理は、単に俺がマップイベント23をテストに用いただけ
>>179 後々のメンテナンスを考えて1ページしか使ってなかったです エスパーさせてしまってすみません >>181 行けました! つまりこれはモンスターに移動命令を出したのに移動してないということは障害物があるんだから接触判定をしろってことですね 汎用性もあるのでこれを元に組んで行こうと思います マップイベント内での処理だと後々に仕様変更したときにメンテナンスが大変なので、これだとコモン側で処理をコントロールできるのも素晴らしいです 加えてデバッグ文の使い方もこれで分かったので感謝感謝です! 質問です ウディタのピクチャ番号の割り当てについてです 各コモンの処理時にいくつかのピクチャ番号をバラバラに割り当てたいのですが (例:STGの各弾それぞれに加えて同時にレーザーやボムも複数放てるような感じのもの) こういったときはピクチャ表示がされているか判定して そこから通常変数にピクチャ番号割り当てて 各イベント\cself[a番]で取り出して使用、と言う方法を考えついたものの 実際やってみるとどうも上手く行きません 方法としてもう少し分かり易いもの、参考になるやり方などあったら教えて頂けたら幸いです
ぱっと見だと問題ないように見えるけど(通常変数に割り当てているのに、コモンセルフ変数で取り出しているっぽい説明なのはよくわからんが) 何が上手く行かんの 処理が重いの? ピクチャが表示されないの? ピクチャの移動が上手く行かないの? 割り当てた通常変数を初期化した際に挙動がおかしくなるの?
ピクチャの空き番号調べる処理と空いてる番号にピクチャ表示させる処理が別のコモンで 空きピクチャ番号のやり取りに通常変数挟んでるのかな? コモンの返り値でやってみては 返り値ってのはコモンイベントの設定のトコの「結果を返す」で指定する値のことね 見当違いのこと言ってたらごめんね 詳しいやり方はヘルプ見てちょ
質問内容だとワイの頭では回答できないのでワイのピクチャの管理方法 自機や敵やシンボルなどメインで扱うピクチャは、基本値に追加ピクチャ番号を足した絶対値 例)自機基本値(1000)+バリア(100)+ポッド(10)等々 弾やエフェクトなど一定後に消えるものは、弾を追加する際にそのピクチャ番号が使用されてるか判定して若い番号から埋めていく 例)弾基本値(2000)+弾追加値(1)→ピクチャ2001が空いていれば描画、空いていなければ更に+弾追加値(1)を繰り返してサーチ 参考にもならなかったらごめん
回答ありがとうございます >>188 返り値、まだ若干使い方を理解していないのでこの機会に調べてやってみますね >>189 ちゃんと絶対値で設定しておいた方が確実そうで良いですね 公式のコモンでちょくちょくあるテキストファイル読み込みからのスクリプトコモンが起動方法がわかりません。 りどみに書いてるとおりに導入してるつもりなんですけどもどうやってもエラーすら起こらずに無反応。 とりあえず適当なマップイベに起動条件決定キーで目的のコモン挿入して、コモンEv入力(文の項目にパス入力しても無反応。 とにかくのれんに腕押しって感じの手詰まり感で困ってます。 このスクリプト読み込み系のコモンはどうすれば導入できるのでしょうか。 ちなみにウディタのバージョンは1番新しいヤツです。
>>187 見逃してましたすみません! 回答どうもです 連打する事で一定番号に至ったらピクチャ自体が消えたりとかしないかなと でも今の所無事に機能するようになったので大丈夫だと思います >>190 ワイも最初は返り値スルーしてコモン組んでたけどこれ覚えると便利だよ プログミングでもGET関数とかで当たり前に使われるし、通常変数をあまり使わずにcselfで組むようにすれば変数の管理もしやすくなる >>191 他作コモンについては基本>>1 どうしても誰かに検証してもらいたいならエスパーしなくて済むように他作コモンやソースを貼るなりしないと解答は出来ないと思う ちなみに俺は他作コモンの使い方の時点で無理ごめん >>194 スクリプトは諦めることにします ありがとうございました >>194 まぁwwせめて、コモン名ぐらいおしえてほしいよなぁwww > テキストファイル読み込みからのスクリプトコモン これって会話文とかをテキストファイルで作ってウディタで実行するってことだろ? 自分で作った方が使いやすいだろ
マシナリウムみたいなの作るのは厳しいですか? unityでもいいんですが
厳しくはないけどunityでいいならunityにした方が良いんじゃない? 確か画面見ながら仮置きとかできたはずだから、一枚絵の背景でキャラクターを動かす形なら、そっちの方が楽だと思う
>>197 データ系の他人が作ったコモンなんて解読、利用コストが高すぎて実用性ないよな ここで聞きながら作ったほうが早いまである れっつ自作ワールド jrpg作るのってunityとかだと厳しいんですか
全く中身の伴わない質問はするだけ時間の無駄だぞ unityの質問はunityのコミュニティでやれと言いたいが、あっちでも邪険に扱われそう
並んでる箱に1〜9までの数値を番号の重複無しでランダムで入れたいんだけど簡単に入れていく方法ありますかね? 今やってるのだと20行くらいは使ってます
簡単にやる方法ねぇぞ。やっていると思うけど、やるとしたら、こんな感じじゃあない? WoditorEvCOMMAND_START [121][4,0]<0>(1600010,1600020,0,4)() [179][1,0]<0>(9)() [170][0,0]<1>()() [121][4,0]<2>(1600010,1,9,24592)() [121][4,0]<2>(1600016,1600010,0,32)() [121][4,0]<2>(1600011,1600010,1600020,4104)() [121][4,0]<2>(1600012,0,0,0)() [121][4,0]<2>(1600015,0,0,0)() [179][1,0]<2>(1600011)() [121][4,0]<3>(1600013,1600020,1600012,4)() [121][4,0]<3>(1600014,1600013,0,32)() [111][4,0]<3>(1,1600014,1600016,2)() [401][1,0]<3>(1)() [121][4,0]<4>(1600015,1,0,0)() [499][0,0]<3>()() [121][4,0]<3>(1600012,1,0,256)() [498][0,0]<2>()() [111][4,0]<2>(1,1600015,0,2)() [401][1,0]<2>(1)() [171][0,0]<3>()() [499][0,0]<2>()() [498][0,0]<1>()() [121][4,0]<1>(1600010,1,0,256)() [498][0,0]<0>()() [106][0,1]<0>()("\cself[20] \cself[21] \cself[22] \cself[23] \cself[24] \cself[25] \cself[26] \cself[27] \cself[28]") WoditorEvCOMMAND_END
WoditorEvCOMMAND_START [121][4,0]<0>(1600010,1600020,0,4)() [121][4,0]<0>(1600011,1,0,0)() [179][1,0]<0>(9)() [121][4,0]<1>(1600010,1600011,0,16)() [121][5,0]<1>(1600010,1,0,65792,1)() [498][0,0]<0>()() [179][1,0]<0>(50)() [121][5,0]<1>(1600012,1600020,1600028,90124,1)() [121][4,0]<1>(1600014,1600012,0,32)() [121][4,0]<1>(1600012,1600013,0,48)() [121][4,0]<1>(1600013,1600014,0,16)() [0][0,0]<1>()() [498][0,0]<0>()() [106][0,1]<0>()("\cself[20] \cself[21] \cself[22] \cself[23] \cself[24] \cself[25] \cself[26] \cself[27] \cself[28]") WoditorEvCOMMAND_END
▼ 初期設定 ■変数操作: CSelf10[配列数] = 9 + 0 ■変数操作: CSelf11[配列先頭[vPtr]] = 1600050 + 0 ▼ 配列に1〜9の値を順番に入れておく ■変数操作: CSelf20[i] = 0 + 0 ■回数付きループ [ CSelf10[配列数] ]回 |■変数操作: CSelf30[tmp] = CSelf11[配列先頭[vPtr]] + CSelf20[i] |■変数操作: V[CSelf30[tmp]] = CSelf20[i] + 1 |■変数操作: CSelf20[i] += 1 + 0 ◇ループここまで◇◇ ▼ fisher-yatesによるシャッフル ■変数操作: CSelf20[i] -= 1 + 0 ■回数付きループ [ CSelf10[配列数] ]回 |■変数操作: CSelf30[tmp] = 0 〜 CSelf20[i] |■変数操作: CSelf37[配列1[vPtr]] = CSelf11[配列先頭[vPtr]] + CSelf20[i] |■変数操作: CSelf38[配列2[vPtr]] = CSelf11[配列先頭[vPtr]] + CSelf30[tmp] |■変数操作: CSelf39[HOLD] = V[CSelf37[配列1[vPtr]]] + 0 |■変数操作: V[CSelf37[配列1[vPtr]]] = V[CSelf38[配列2[vPtr]]] + 0 |■変数操作: V[CSelf38[配列2[vPtr]]] = CSelf39[HOLD] + 0 |■変数操作: CSelf20[i] -= 1 + 0 ◇ループここまで◇◇ ▼ 確認 ■変数操作: CSelf20[i] = 0 + 0 ■回数付きループ [ CSelf10[配列数] ]回 |■変数操作: CSelf30[tmp] = CSelf11[配列先頭[vPtr]] + CSelf20[i] |■変数操作: CSelf30[tmp] = V[CSelf30[tmp]] + 0 |■デバッグ文:cself[\cself[20]] = [\cself[30]] |■変数操作: CSelf20[i] += 1 + 0 ◇ループここまで◇◇ ■デバッグ文:------------------------
>>207 が簡潔でいいね 11行か 運任せな16行が限界だったわ WoditorEvCOMMAND_START [122][2,1]<0>(1600005,0)("1,2,3,4,5,6,7,8,9") [170][0,0]<0>()() [121][4,0]<1>(1600011,1600020,8000008,4)() [121][4,0]<1>(1600010,1600011,0,32)() [111][4,0]<1>(1,1600010,0,2)() [401][1,0]<1>(1)() [121][4,0]<2>(1600011,1600005,0,16)() [122][2,1]<2>(1600005,2816)(",") [112][2,4]<2>(1,1600005)("<<NotFound>>","","","") [401][1,0]<2>(1)() [171][0,0]<3>()() [0][0,0]<3>()() [499][0,0]<2>()() [0][0,0]<2>()() [499][0,0]<1>()() [0][0,0]<1>()() [498][0,0]<0>()() [106][0,1]<0>()("\cself[20] \cself[21] \cself[22] \cself[23] \cself[24] \cself[25] \cself[26] \cself[27] \cself[28]") WoditorEvCOMMAND_END なんか大喜利みたいになってんな とりあえず簡単に解説しとくと >>206 変数に1~9のランダムな数を入れる 今まで入れた変数と中身が被ったらもう一度ランダムな数を入れ直す 被らなかったら次の変数へ >>207 9つの変数に1~9の数を順番に入れておく 無作為に選出した変数同士の中身を入れ替える。十分な回数シャッフルすればきちんと混ざるだろうという理屈 >>208 基本的な考え方は207と同じ 順番に選ばれた変数と無作為に選ばれた変数を入れ替える。必ず全ての変数がシャッフル対象に選ばれるのが特徴 >>210 変数を基準に数字を無作為に選ぶ207と逆に、数字を基準に変数を無作為に選ぶ。既に選出された変数を選んだ場合はもう一度変数を選び直す ただこれは変数を初期化していないので、初回以外はループを抜け出せない。実際に使う場合は変数を初期化する処理を追加しておくように × 変数を基準に数字を無作為に選ぶ207 ○ 変数を基準に数字を無作為に選ぶ206
まさに206〜の同じ流れで208に辿り着いたとこでしたw どうしてもループ回数を最小限に抑えたい病なのと他の処理も噛ませるので大元のソースは出来るだけシンプルなのが良いので208方式で行こうと思います 210は発想に無かったので参考になりました 解説も助かりました とりあえず自分の考えた処理がそこまでみんなと逸脱してないと確認できただけで収穫ですありがとでした!
文字列変数に値一覧入れて、ランダムで行を引っこ抜くというのも、思いついたけど、 これ、ウディタのデフォだけの文字列操作だけだと、行が長くなるだよなぁ というか、正規表現を使った置換欲しいなぁ・・・
・箱に順番にランダム値を被りなしで入れていく方法 ・箱に1〜から順番に値を入れて行き無作為にシャッフルする方法 ・箱に1〜から順番に値を入れて箱の順番で総当たりして交換先を無作為に選んでシャッフルする方法(ループは箱の数だけで済む) ・文字列変数に値を入れ無作為に箱に入れていく方法 色々な方法があるなぁ
>>115 これ、セーブしてからテストプレイになるってウディタマニュアルのイベントマップのところにはっきり書いてあるわ 質問です。 並列処理にてキー入力の連打を阻止して長押しに対応するコモンを作ったのですが、 キャンセルキーの方は機能するのですが、決定キー(下記参照)の方が機能してくれません。 どのようにしたら機能するでしょうか。 (キャンセルキーの方は長押し対応させてるので別コモンでの処理にしています) 決定キーでは長押しじゃなく連打処理をさせないような形にしたいです。 | | | |▼ キー入力判定 | | | |■キー入力:変数V40[キー入力A] / 決定(10) キャンセル(11) | | | |■条件分岐(変数): 【1】 V40[キー入力A] が 0 と同じ | | | |-◇分岐: 【1】 [ V40[キー入力A] が 0 と同じ ]の場合↓ | | | | |■変数操作: V41[キー入力確認B ] = 0 + 0 | | | |◇分岐終了◇ | | | |▼ Bが0ならばキー入力確認 | | | |■条件分岐(変数): 【1】 V41[キー入力確認B ] が 0 と同じ 【2】 V41[キー入力確認B ] が 1 と同じ 【3】 V41[キー入力確認B ] が 2 と同じ | | | |-◇分岐: 【1】 [ V41[キー入力確認B ] が 0 と同じ ]の場合↓ | | | | | | | | | |■条件分岐(変数): 【1】 V40[キー入力A] が 10 と同じ 【2】 V40[キー入力A] が 11 と同じ | | | | |-◇分岐: 【1】 [ V40[キー入力A] が 10 と同じ ]の場合↓ | | | | | |■変数操作: V41[キー入力確認B ] = 2 + 0 | | | | | |■イベントの挿入: コモン99:[ 攻撃 ] | | | | | |■ウェイト:10 フレーム | | | | |-◇分岐: 【2】 [ V40[キー入力A] が 11 と同じ ]の場合↓ | | | | | |■変数操作: V41[キー入力確認B ] = 1 + 0 | | | | | |■ | | | | |◇分岐終了◇ | | | | |■ | | | |-◇分岐: 【2】 [ V41[キー入力確認B ] が 1 と同じ ]の場合↓ | | | | |■ | | | |-◇分岐: 【3】 [ V41[キー入力確認B ] が 2 と同じ ]の場合↓ | | | | |■ | | | |◇分岐終了◇
パッと見だと特に問題ないけど V41って通常変数だっけ? 別のコモンで書き換えている可能性あるんじゃない?
回答どうもです。 v41は通常変数ですね。 別コモンでも動作させる為にわざと通常変数使用してます。 攻撃のコモンだけ決定キーを押しっぱなしだと 勝手に二段三段と攻撃してしまうのでそこを何とか改善したいのです。 改善出来る箇所があったら教えて頂けたらと思ってます。
いや、だから別のコモンでV41を0に書き換えているんじゃない? 提示された範囲に限って言えば問題ないよ
確認してみましたが0にするような処理も見当たらなかったです 並列処理だからなんでしょうか
同じように作ってもやっぱり問題ないし、別の部分が悪さしてるよ デバッグ文使って、値を見て自分で調べるか 他人にデバッグして欲しいならゲームデータ丸ごとアップロードした方が早い 並列処理だからとかは全く関係ない
すみません、別コモンで操作を受付無いようにしていた事が原因でした。 無事解決です。 親切に回答ありがとうございました。
質問です。 マップチップの通行設定で困っています。 「▲」チップ座標より後ろに行くとキャラがマップチップの裏側に入るについて 階段の手すりを作ろうと チップより手前側に居る時はキャラクターより後ろ、 チップより奥側にいる時はキャラクターより手前に表示されるようにしたのですが ▲でもつねにチップがキャラクターの後ろ側に表示されるようになってしまい 反映がなされていないように見えます。 (MAP遷移して確認したり ゲームを起動しなおして最初から確認しても直りません) 過去このような事象が起きた方、解決法など教えていただけると嬉しいです。
すみません!! チップの前面判定なんていじった覚えもないのに変だと思い 上から全イベント洗っていたらキャラクターの動作指定させた時に誤クリックしたのか 表示が最前面ONになってました……自己解決しました……
基本的な質問で悪いんだけど AIのアクションを判定ってどういうこと? アクション12を判定にしたら12の後に必ずやるってことなの?
アクション12 を判定にしたら、そらその通り、アクション12を判定するんでしょ アクション12の条件(5%の確率で実行とか)を満たしているかどうかの判定を行うってこと んで満たしていた場合はアクション12に設定されている行動を行って、満たしていない場合は、次に設定されているアクションの判定を行う
初心者ですが質問です 現在マップのBGMをコモンセルフに格納しようと試行錯誤したのですがやり方が分かりません… 現在再生中のBGMではなく現在マップのBGMを取得するにはどうしたらいいのでしょうか?
今確認できる状況じゃないからあやふやだけど 確かsysDB0のマップ設定に、使用するBGM番号を格納している所がある 現在いるマップ番号は変数操作+のその他から取得できる
初心者ですが質問です。 ロード後に同じ場所で敵が出るのを回避するために並列のコモンにcself0〜0を入れて乱数を無駄遣いしてみたのですが それでも同じ位置が敵がでます・・・ ロード直後に同じところで敵がでないようにするためにはどこを変更するべきでしょうか
同じ場所? 同じ歩数ってこと? コモン37のことだと仮定して話すと、乱数が介入するのはエンカウントした後に初期化するときだから、エンカウントするまでは乱数進めても意味ないよ 累積値が一定以上溜まった場合にエンカウントする仕組みだから、ロードから復帰した時にこれに乱数代入すれば良いんじゃね。累積値はCDB18のID65
コモン37です。説明が欠けてました、すみません ロード後のエンカウント値に乱数を入れればよかったんですね。 ありがとうございます
たびたびすみません。コモン37の続きです。 ロード直後の処理はコモン131のセーブ欄実行で行われてると思い、 コモン131のデータのロードCself12[対象のセーブデータ]の後にエンカウント値に乱数を入れてみました。 でも反映されてないみたいで・・・ロード処理の場所はここではないのでしょうか
なぜ反映されてないのかを突き止めよう エンカウント値を可視化して 毎回同じ値になるのか ロード直後に乱数入れるまではうまくいってるのか どこかでミスをしてないか、何が悪さしてるのか考えよう
ロード後に見てみると毎回同じ値になってますね・・ マップ内で乱数を取るイベント置いて、値を呼び出してみるとエンカウント累積値が変化してるので、 ロード時に乱数を挟む位置が違うみたいです。 ありがとうございます。もう少し調べてみますね
ロード直後のみに実行されるコモンイベントつくりゃええねん udbはセーブデータに反映されないから、それ専用の項目作って、そのudbの初期値の値の場合に実行されるようにすりゃいい udb書き換える時に必須の変数呼び出し値については公式見て.イベントコード書き換えでもいいけど 例)udb[18: 0: 0]が0の場合に実行 ■変数操作: CSelf10[呼び出し値] = 1018000000 + 0 ■変数操作: CSelf11[判断] = V[CSelf10[呼び出し値]] + 0 ■条件分岐(変数): 【1】 CSelf11[判断] が 0 と同じ -◇分岐: 【1】 [ CSelf11[判断] が 0 と同じ ]の場合↓ |▼ ロード直後実行のなんか |■変数操作: V[CSelf10[呼び出し値]] = 1 + 0 |■ -◇上記以外 |■ウェイト:999999 フレーム |■ ◇分岐終了◇
書き忘れてたけどコモンイベントの設定は並列実行(常時)
ロード直後に呼び出すコモンを作る必要があったんですね。 長時間いじりまわしてできなかったので助かりました。 ここで質問してよかった・・ありがとう
初心者です 基本システム使ってます 顔グラを1倍の大きさにして左下に移すことはできたのですが、画面の一番下から少し上にずらすことができません コモン63の数値をいじったりしてるのですが、全く変化しなかったり顔グラが消えたり上から下に落ちてきたりで上手くいきません
161〜163行目のX座標とY座標が最終的に表示される座標 どんな処理してんの? ってのは前スレ>>56 辺りから見たらわかる。以前のverの説明だから、ちょい行数はズレてるけど ん? 左下に移すことができたなら、そこから更に位置をずらすことぐらい造作もないような気がするけど
左下に移すのはわかりやすいサイトがあったのでその通りやったらできました だから根本はあんまりわかってないです >>244 アドバイスありがとうございました おかげで上手くいきました! ウディタのメッセージ欄の記号の質問なんですが、 ♡のように、白抜きハートってどうやったらだせますか? アイコンはうまく作れず、フォントはいいのが見つからず…
ウディタはunicodeに対応していないから、普通にフォントで出そうとしても無理でしょ 数値参照文字はHTMLだけで使えるものだし 素直にアイコン描くか、絵文字用のフォント入れた方がいいよ
誰かいたら聞きたいんだけど イベントが主人公から逃げるコモンを自分で作ろうとしてたんだけど、 壁に当たって動けなかったら指定した動きをするってシステムにしようとして、 1イベントの座標をCSelfに入れる 2キャラクターの動作指定でイベントを主人公から離れさせる 3もう一度別のCSelfにイベントの座標を入れる 4「1」の座標と「3」の座標が同じなら決めた動きをする っていう風にしたら、なぜか壁に当たった時に主人公から離れて、 動けるときに決めた動きをするようになったんだけど、どうしてかわかる?
2の動作指定の時に動作完了までウェイトにチェックを入れれば普通に動くんだけど、 一つのコモンで大量のイベントを動かすために回数付きループを使ってて、 それでウェイトを入れちゃうとイベントが順番にしか動かないから 何とかしようとしてたら気づいたんだけど、なんでこうなってるのか理解できない。 一応このままでも動きを逆にすれば機能しそうだけど、できれば理解したい。
>>249 了解しました…できるだけ粘ってみます。
>>251 ウディタの仕様からの予想と俺なりの解釈なんで、間違っていたらすまん。と最初に言っておく 間違ってたら誰か修正してくれ ウディタの動作指定の仕様は、【一次予約】と【二次予約】から成り立っているんや。 (A) キャラクターが動いていない(チップの間にいない)状況の場合(移動中?の変数が0の場合) 1. 移動処理が当たるまで処理を実行する 2. 移動処理が入っていた場合は移動先のマスが空いているかの確認 3. 移動先のマスが空いていた場合、Evの座標をそこへ移して、Evの移動処理を【一次予約】に書き込む。変数操作+の、対象Evの移動中?の変数を1にする 4. まだ行が残っていた場合、【二次予約】へ書き込む ※これはコモンEvの場合の処理。マップEvの場合、移動以外の処理にも頻度が影響するため、一番最初の行以外は【二次予約】行き(のハズ) (B) キャラクターが動いている(チップの間にいる)状況の場合(移動中?の変数が1の場合) 1. 既に【二次予約】が存在していた場合は、全て消去 2. 全ての新しい動作指定を【二次予約】へ書き込む んでウディタの処理順番は大雑把に言うと マップ並列実行→自動実行→コモン並列実行→ウディタ側の処理→画面更新 って感じ。んでキャラクターを実際に画面上で移動させたりしているのが、このウディタ側の処理なのよ。 このウディタ側の処理がどんな感じで動いているかと言うと 1. 【一次予約】が残っていた場合は処理を行う 2. 【一次予約】の処理分が、この処理で終わった場合、【二次予約】から(A)の処理を行う 3. 既に何も残っていない場合、対象Evの移動中?の変数を0にする ここで【二次予約】から【一次予約】への移し替えがあるわけ。しかも動作完了と同時に行われる。この処理が、全ての処理が終わった後に行われるっていうのがミソでな。 並列実行や自動実行、呼び出しなんかでは、【一次予約】は書き換えられないんだけど、【二次予約】は書き換えられるので、 キャラクターが動いていない場合は、最初の動作は一次予約に書き込まれるので、「先に実行された処理が優先」されて、キャラクターが動いている場合には「後に実行された処理が優先」される ように見えるんや だから、250の処理を簡単のために (I)逃げる処理、(II)行き止まり処理と割り振って説明すると (A)の状況では、動けるために(I)の処理が【一次予約】に入れられる (B)の状況では、(I)の処理が【二次予約】に入れられるが、(移動中で動けないために)同じ座標に存在するため(II)が【二次予約】に上書きされる って感じで、最初の一歩は(I)の処理が実行されるけど、それ以降は(II)の処理が実行され続ける って感じになる これを回避するために用いるのが変数操作+の移動中?って変数なんよ だから、座標が同じ = 壁際 じゃなくて、 対象のEv移動中?の変数が0 = 壁際 って考えて処理するのが良い もしくは移動中?の変数が0の場合のみ250の処理をするか のどちらか
すぐ答えられなくてごめん 丁寧に説明してくれたおかげでかなり理解できたと思う。 移動中?の変数を使ったらうまく動かせたよ! 親身に対応してくれてありがとう! ゲーム作りがんばるよ!
>>253 こうすればレスを指定できるのか 本当にありがとう! メモに残して似たようなことがあったら見れるようにしておくよ 質問です 基本システムのメニュー画面に新しく文字画像を追加したいのですが、 何故か追加した画像が背景の後ろに表示されてしまいます これはどうやらコモンイベントで呼び出した際に起こる現象のようで、 直接(コモンEv88に)書き込んだ場合はそのような不具合は起こりませんでした ですが、コモンEv88に書き込むと今度はメニューカーソルが正しく表示されなくなってしまいます (キー入力の有無に関わらずずっと追加した画像に焦点を当て続けている) どうにかしていずれかの不具合をなくしたいのですが、正直お手上げ状態です 誰か分かる方いたらお願いします バージョンは2.21です
ピクチャ番号が被ってんだろ 基本システム2 ピクチャ番号 で検索したら基本システムで使用しているピクチャ番号載せているブログとかあるから、そこ見て被らないように番号調整しろ
一応コモン88の最初の方のコメント文で使っている番号が説明されているから、それ見てもいいぞ。メニューのだけだけど カーソルは基本ピクチャ番号+2って書いてあるから、多分10002のピクチャ番号使ってたんだろうな
>>258 >>259 解決しました、ありがとうございます! 蓋を開けてみたらバカみたいに単純なことですね… 物事はえてしてそんなもんだよ 論理だてて推測しよう、という姿勢は凄く良いから頑張れ
質問です 変数の中身によって呼びだす変数を変えたいのですがうまくいきません 例えば変数0が11ならば変数11の値を表示するという処理の場合です 変数0=2000000+変数0としても22にしかならないです 変数0は0〜99の値をとる予定です 変数0によって分岐、呼びだす変数を指定する以外にどういったものがあるでしょうか?
それでええやん V[0] = 2000000 + V[0] V1[0] = V[V[0]] でV1[0]の値書き出せばいい
なんで2000000を加算しているのに22が出てくるのかわからんけど
そもそも変数100個も使うなら可変DB使ったほうがいい 呼び出し値使わなくてもDB操作けで値持ってこれるし あと値取らなくてもよくて表示するだけなら特殊文字でいける \v1[\v[0]]とか、\cdb[0:0:\v[0]]とか
実は表示だけじゃなくて変数によって処理を変えたいんです 262の例とは数字が異なってしまうのですが以下のような処理を試しました V0[]=2+0 V1[]=2000000+V0[] 右辺の2000000の部分で『データを呼ばない』にチェックを入れると2000002が、入れないとV0[]+V0[]となってしまい4が表示されます 実際はV2[]を表示したいのです この後V2[]の値によって処理を変える予定です 可変DBは使ったことがなかったので思いつきませんでした これを機に使い方を勉強してみます
>>267 データを呼ばないで変数呼出値を変数に入れてから、その呼出値の入った変数でX番の変数呼出をする必要がある V0[]=2+0 V1[]=2000000+V0[] データを呼ばないにチェック V1[]=V[V1[]] X番の変数呼出にチェック これで通常変数1番に通常変数2番の中身の値が入る と、まぁこんな感じでややこしいから基本的にDB使ったほうがいい この機能は変数操作とセーブ・ロードでしか使えないから、 条件分岐なんかで用いたい場合は、一度別の変数に値を入れるなどしてワンクッション置く必要がある お二人とも詳しくありがとうございます 私が想定していた処理は>>268 で書いていただいたものでした! また、X番の変数呼出についても勘違いしていたようです >>269 の画像のおかげで少しわかったような気がします 可変DBも含めて色々試してみたいと思います ありがとうございました 質問です。 ピクチャAを用いてピクチャ番号x〜yのいくつかを表示し それぞれを時間差だったりでパターン変更(アニメーション)させながら表示したいのですが、やり方がなかなか思いつきません。 何か上手い方法無いでしょうか? 教えて頂けたら幸いです。
言ってることの意味がよくわからなくて何がしたいのか全く伝わってこないけど、 ピクチャを表示するときに発動ディレイを入れたら表示を遅らせることができるし、 イベントコマンドのエフェクトのとこにピクチャの自動パターン切替っていうのがある
すみません、自己解決しました! 回答して貰ったのに申し訳ないです
この画像のゲージって左に透過していってるけどどうやってるの? 片道勇者か? 動画見たけど、左に透過していってはいないぞ 単に黒-赤のグラデに不透明度170〜200ぐらいのゲージなだけじゃね?
やっぱウディタ側でグラデーション風に透過させていくことは無理だよね
1ドット刻みでピクチャ表示すりゃ無理ではないぞ あとは自前で用意するしかねえな
初歩すぎる質問で恐縮ですが教えて頂けると幸いです はじめてのウディタ2を参考に基本システム入の空dataでマップから作ってみようとしたのですが サンプルゲームの履歴が残っていてマップ選択のツリーの中にサンプルマップA等の名前だけがある状態になっています これらを消したくて「ツリーの変更を許可する」にチェックを入れて更新したり エディタを再起動したりなどもやってみましたが変わりありません どういった操作をすればこのマップツリー内の履歴を消せるかご教示頂ければと思います
>>281 素早いご回答ありがとうございます 思いつく限りのキーワードで検索しても全く解らなかったので大変助かりました ウディタ初心者というものにようやくなれそうです…本当にありがとうございました 質問です ウディタで作ったゲームの更新を考えておりましたが セーブデータを保持したままDBとかを弄っても大丈夫なのでしょうか? もう1つ アップデート特典としてアイテムなどを増やす、という事を 考えていたのですがそれは可能でしょうか? 分かる方、教えて頂けたら幸いです
何も考えず弄って大丈夫なもの:ユーザーデーターベース 弄れるけど注意が必要なもの:カスタムデーターベース・マップイベント アップデート特典 →リリースする度に自分で設定するゲームバージョンのデータ(I)と、セーブ時のゲームバージョンのデータ(II)を保存しておく通常変数かカスタムDBを用意。 →2つを比べて違った場合(アップデートなら>や<で比較演算)はアップデート特典を付与して、(I)で(II)を上書き。一番手っ取り早いのはアップデート特典をくれるNPCを用意するなど 以下補足説明 セーブデータに保存されるデータは下記の通り ・カスタムデータベース ・コモンセルフ ・マップセルフ ・通常変数/予備変数/通常文字列 ・表示中のピクチャ/マップエフェクト/画面エフェクト/色調変更等 ・主人公の位置 まだ細かくあるかもしれないけど、ざっくりこんぐらいのものがセーブデータに保存される そういうわけで、ユーザーデータベースはセーブデータに依存しないため、いくらでも弄って良い。 カスタムデータベースは弄ってもセーブデータの値が優先される。ただ、数を減らしても呼び出さなければエラーは起こらない(データ数であれば確か設定数以上を呼び出してもエラーにならない。項目番号はエラーになる) セーブした時に存在しない項目番号があった場合、初期設定値ではなく初期値(タイプ内容を設定する画面で指定するもの)が用いられる マップセルフはイベントIDに紐付けされている。だからマップIDを入れ替えたりすると、情報も一緒に入れ替わるので注意。 また、マップイベントとキャラチップのヒモ付けはセーブからの復帰時ではなく、マップ読み込み時に行われるため、セーブからの復帰時は想定と違うキャラチップになっていることがある。 増やすだけなら特に問題ない.存在しないマップイベントがあった場合、セーブ復帰時でもキャラチップとのヒモ付けが行われる
>>284 ありがとうございます! 無事解決しました! どうでも良いけど可変データベースなんだからチェンジャブルかコンバーチブルあたりでしょ
すまん、言われて気づいたわ。なんでカスタムだと思っとったんやろな。多分言いやすいからだと思うけど
質問 アイテム表示で縦にスクロールバーを作りたい 最大表示数が10個だとして手持ちが30個ある場合どのようにしたら作りやすいのでしょうか? 初歩的かもしれませんが、分からなかったので分かる人いたらお願いします
作りやすいってのはよくわからんけど maxNumOfRow = 最大表示行数(Y方向)・1以上の定数 maxNumOfCol = 最大表示列数(X方向)・1以上の定数 numOfItem = アイテム所持数 numOfItemRow = アイテムを全て表示するために必要な行数(Y方向) sizeOfAreaY = 縦方向のスクロールバー移動可能エリア・0以上の定数 sizeOfBarY = 縦方向のスクロールバーの大きさ relativePosOfRow = 初期表示(全アイテム行数の一番上端にいる状態)における上端の行の位置を0とした場合の、現在表示している上端の行の位置(基本システムだと万能ウィンドウ縦スクロール位置とかそんな名前) relativePosOfBarY = 移動可能エリア上端を0とした場合のスクロールバーの縦方向の相対画面座標 absPosOfAreaY = 移動可能エリア上端の画面座標(Y)・定数 barY = スクロールバーの上端の画面座標(Y) として計算すると、 ---------------------------------------- numOfItemRow = numOfItem / maxNumOfCol + (numOfItem % maxNumOfCol) numOfItemRowはmaxNumOfRow未満の場合、maxNumOfRowまで引き上げる sizeOfBarY = sizeOfAreaY * maxNumOfRow / numOfItemRow relativePosOfBarY = relativePosOfRow * (sizeOfAreaY - sizeOfBarY) / (numOfItemRow - maxNumOfRow) ウディタでは0除算は1除算として計算されるため、0除算の回避はしない barY = relativePosOfBar + absPosOfAreaY ---------------------------------------- だいたいこんな感じで計算できる
日本語を変数名に使用できるウディタで他の言語仕様に従った変数の命名する人ってもはや癖なのそれ? それともなにかメリットがあるの?
数式なら英数字のほうがいいかなー からの 書いてみたら日本語名とあんまり変わらないけど、日本語名に直すの面倒だしこのまま書き込もう ウディタで使うのは日本語と英語半々。よくある使用目的の変数とかは共通の名前つけるよ。日本語とか英語とかじゃなくて、そういう名前として認識している。むしろ使用するツール毎に頻繁に名前を変えると混乱する
初歩的かも知れないけど分からなかったので。 今、自作アイテムメニューを作ってて 縦スクロールで一覧を参照出来るように作っているんだが、 カーソルが1番下、1番上に来た時に 事前にピクチャ画面外に表示して隠れているピクチャを表示させたいのに上手くいかない。 相対座標で-yや+yとやっても何故か1行間が空いたりする。 そして1番上に項目が来てカーソルを動かすとそいつが隠れる、というのも上手くいかない。 一応、ピクチャ番号は可変DBに取得している。 良いやり方あったら教えて下さい。
何がしたいのかよくわからないし、中身でどんな処理して上手くいっていないのかもわからん 詳細な説明か仕様の説明、もしくは作っている中身の公開がないと答えられないわ 今の状況だと、どっか処理を間違えているだけとしか言えん
全部自作したいなら全部自作すればいいし、全部フリー素材でいいなら全部フリー素材でいいし、必要に応じて自作するなら必要に応じて自作すればいい
落ちている間に自己解決しました。 透過させたまままとめて画面外のピクチャを先に動かして その後に対象のピクチャだけ透過の値を255にするだけで何とかなったよ。 スレ汚し失礼しました。
ピクチャをフェードさせる方法に変えたのか 解決したんなら良かった ちなみに、中身の処理が分からんかったから言わなかったが ズレるのは恐らくウディタの基本システムでよくある慣性移動をさせようとしていたからだと思う 相対座標でディレイかけた場合の座標計算は、指示が出た瞬間じゃなくてディレイが終了した瞬間だから、それ理由でズレる
すみません 通常変数なんですが、セーブしたときは数値が維持されているのに、ゲーム終了してタイトルに戻ると0になってしまうんですが原因が分かりません 例えばhpに応じてキャラの立ち絵が変わるとかがやりたいです DBとか使ったほうがいいんでしょうか‥
ロードしてないから 基本的にゲーム起動時は全てエディター側で設定した値を格納した状態で起動される セーブをした場合、外部のフォルダにセーブした時の変数の状態を保存するだけで、エディターの次回起動時の変数を操作するわけではない ロードの処理を挟むことで、セーブした時の変数の状態に変更することができる ロードの処理を挟む前に(例えばタイトル画面なんかで)セーブデータの中身によって表示を変えたい場合なんかは、別の処理が必要だけど(例:1度でもゲームをクリアしたらタイトル画面を変える) 話を聞く限りだと、特にそんな要望もないみたいだし、単にロード処理を挟めば良いだけ
>>302 ありがとうございます ロードしてみたらちゃんとなってました 続けてで申し訳ないのですが302さんが言うようにタイトルを変える場合はどうすればいいんでしょうか? 質問ばかりですみません システム用のセーブデータを作ってそこに保存しておくだけ んで毎回起動時にそのセーブデータから読み込んで、分岐なりなんなり 基本システム2だと コモン131の71〜72行目で最後にセーブした番号をsystem.savに保存して コモン78(起動時に自動で実行されるコモン)の208〜210行目で最後にセーブした番号を取得している こんな感じで物語用とは別個に、システム用のセーブデータを作って利用する。つっても複数のセーブデータに渡って利用したい場合とかだけね
>>305 詳しくありがとうございます なんとかやりたい事ができました! 助かりました 質問失礼します エフェクトの色調変更で画面を真っ暗にしてもすぐに元の明るさに戻ってしまいます 他に干渉してるマップイベントもなく、フラッシュにもしていないのですが何故なんでしょうか
個人で完成まで持っていくには、やはり2dのほうが3dよりもいいでしょうか 個人レベルの3dゲーは見ないですよね
>>307 確実にどこかで干渉しているものがある マップイベントに本当にないのなら、コモンイベントを 色調変更 で 【コマンド文】から検索 & 全てのイベント の指定で探してみろ >>308 3Dモデルも1から作るのであればかなり辛い ただ、steamのクソゲーを検索したらわかるけど、unityで3Dモデルのアセットがあって、それを用いて個人制作しているものはかなりある アセットコピーしただけのクソゲーとか、○○のアセットを使っているゲームは危険信号って言われることもあるぐらいにはよく見る ↑とりあえず2dで完成させようかな 3dだとローポリ路線か
VIDEO &t=1040s このゲームってドット絵というより、3dモデルですか? 3Dモデルを2Dに落とし込んで使っているだけかな。当たり判定とかは3Dじゃないから2Dゲームと言って良い ツクール2000の海賊高校生がこんな感じだった
自作でアイテム欄、装備欄の処理を作ってるんだけど 処理が難しくて出来なくて困ってます 簡単な例にあげると木の剣というものが重複してたら個数が2で 装備欄にその木の剣を装備したら個数が1に減って装備にもきちんとなる そして木の剣から鉄の剣ってのに装備を変更したら個数が2になって 鉄の剣が一覧から消える、とかそういう処理です 現状は装備欄同士の上下移動は出来るのですが 装備-装備欄間の処理(主に個数の変動と装備して装備が無くなって空白になる場合の処理)が出来ません 上手いやり方あれば教えてください、お願いします。
素材の編集について質問です ツクール用オートタイルをtkool2WOLF+で変形して使おうと思って、同じサイトから落としたのをいくつか変形させたのですが一つだけうまく変形ができませんでした 柵のオートタイルなんですが、柵の高さが32×32(640×480の規格です)の1マスより大きくて柵の下部が違う場所に表示されてしまいます pictbearの編集で上部は綺麗になったのですが下はどう編集すれば表示できるのでしょうか?
>>315 実行後にマップチップとしてはちゃんと使えてる? 使えるなら問題無いと思う、けど質問するって事はそうじゃないんだよね 単純に32x32グリッドで表示してみて はみ出てるところをカットするか、少しずらして対応させる他ないと思う >>314 装備品のデータ処理の仕様がわからんから何とも言えんけど やることは単純に所持数変更して装備品欄を再描写するだけ 装備の付け替えなんかは、所持用のDBと各キャラクター装備用のDBがあって、それぞれで装備を出し入れするって感覚が近いかな 基本システム2のコモンイベント109が一連の動作だから、その辺りを覗いて参考にしてみたら良いと思う 装備の装着は168〜296行目のループの中の202行目以降の処理 再描写なんかは297〜301行目の処理 >>315 ツクールのオートタイルの仕様で横が32なのに縦が33以上なんてあるの? マップチップだったりキャラチップで表示させるタイプのものは見たことがあるけど 元々の素材を見ないとなんとも言えない >>317 ウディタのオートタイルって横のマスと縦のマスにそれぞれ2つ(上下or左右)で1セットだと思うんですが、その柵のオートタイルは横1セットの1マスに片側分しか入ってないんです 片側分が32×32を占領してるというか…… もう片方分があるべきところに柵の下部があって、いざマップに描いてみると横に伸ばしたときに下側の柵の手すりが上側の柵の下部になってしまってます >>316 そうですよね…… もう分解して手動で繋げることにします >>318 一応見てみるから、素材屋のurlとどの素材なのか書いて >>320 すまんこれ手動でしか繋げられないやつだわ >>321 そうだったんですね わざわざ見てもらってありがとうございました ピクチャ番号からピクチャ文字列を直接取れる変数ってないですか? 自分で管理するしかないですか?
常に画面上に時計と日時をピクチャ表示したいんですが一発目のDB読み込みと表示はできるのに、ゲーム内でDB書き換え後の表示変更ができません 読み込み直せてないのか表示が変わらないだけなのかもわかりません アドバイスよろしくお願いします
@も何も入れてないただの文章表示に何故かその前に話してたキャラの顔グラが表示されてしまいます 自動イベントの最後の3行のみです 理由がわかりません 改善法あれば教えてください
3Fだったか4Fの間に次の文章が表示された場合は、その前の状態を引き継ぐから
予定表のようなものを作りたいのですがうまくできません 「◯日×時 誰とどこで」を会話イベント後に予定表に追加し、メニューからいつでも見られるようにしたいです アイテムと同じ要領でudbにデータを作ってピクチャ表示(文字列) \udb[0:0:0]日\udb[0:0:1]時 \udb[0:1:0]日\udb[0:1:1]時 …… みたいにしようと思うのですが、\udb[0:★:0]の★にそれぞれのマップイベントのセルフ変数の値を自動で入力するにはどうすればいいのでしょうか? マップイベント内で\self[0]=5→コモン呼び出しで自動的に予定表に記入させたいです
質問の答えだけなら、 変数操作+で呼び出し元のマップEv番号を取り出せるから、それ使って変数呼び出し値を計算→マップセルフの値をコモンセルフに保存→文字列なんかに加算して保存 で良いんじゃね。 俺だったら、もうちょい改造しやすいように作るけど
>>334 その変数+もやってみたんですけど cself[0]=マップイベントID cself[1]=cself[0]×10 …とかごちゃごちゃやってわけわからなくなりました そのもっと良い方法できれば教えてもらっていいですか? 変数呼び出し値の使い方が分からないなら>>262-270 でも見ればいい というかコモンイベントの引数を使う方法を取らない理由は何 単純に使い方がわかりません…… 引数は予定表の日時内容を表す方法に使うってことですか? マップイベントIDについて使う? 呼び出し値参考にします
聞いている限りだと 1. マップセルフにUDBのデータ番号を入れる(UDB の項目0に日、1に時間が格納されている) 2. コモンイベントでマップセルフに入れた値を読み込む(呼び出し値を計算する) 3. 値をもとにUDBを参照して日時を書き込む って感じなんだよね コモンイベントの引数っていうのは、呼び出す際にコモンイベントセルフの0〜3(変数)、5〜8(文字列変数)に値を入力できるってものなのよ その引数を使って、例えばコモンイベントセルフの0にUDBのデータ番号を入れて呼び出すって形でも良いのでは? ということ そうすれば 1. コモンイベントにUDBのデータ番号を引数として渡して呼び出す 2. 値をもとにUDBを参照して日時を書き込む って形で1つ手間が省ける。呼び出し値を計算する手間もかからない。 一応、それを基に俺ならこう作るって感じで作ったのはこんな感じ。UDBの項目は上げたコモンだと2までしか使っていない https://ux.getuploader.com/wrpg_commonup/download/7 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) すごい!前に詰める行程も入れてくれたんですね 高度ですぐには理解できない、というか表示すらまだできてないんですがw先にお礼だけ ありがとうございます!
表示できました! >>339 のおかげで新しい技術を学べました! 本当にありがとうございました またよろしくお願いします 何度やっても分からないので質問させてください。 下記のように処理をしています。 〜〜〜〜〜〜(例)下キー処理 | | |■DB読込(可変): CSelf13[ピクチャ先頭] = 可変DB[ 39 : 0 : 0 ] (所持確認用 : : 対象ピクチャ番号) | | |■イベントの挿入: CSelf21[最大数] = コモン49:[ ┃┃┗○最大数変化 ] | | |■DB読込(可変): CSelf14[ピクチャ後尾] = 可変DB[ 39 : CSelf21 : 0 ] (所持確認用 : - : 対象ピクチャ番号) | | |■変数操作: CSelf14[ピクチャ後尾] = CSelf14[ピクチャ後尾] + 5 | | |■ピクチャ移動:CSelf13[ピクチャ先頭] 〜 CSelf14[ピクチャ後尾] 相対X:0 Y:-26 / 0(0)フレーム / パターン 1 / 透 0 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー R[100] G[100] B[100] | | |▼ | | |■変数操作: CSelf16[n番上の行] = CSelf11[表示最上行] + 1 | | |■変数操作: CSelf17[n番下の行] = CSelf11[表示最上行] + 15 | | |▼ ここで移動するピクチャ番号取得 | | |■DB読込(可変): CSelf22[先頭] = 可変DB[ 39 : CSelf16[n番上の行] : 0 ] (所持チップ確認用 : - : 対象ピクチャ番号) | | |■DB読込(可変): CSelf23[後尾] = 可変DB[ 39 : CSelf17[n番下の行] : 0 ] (所持チップ確認用 : - : 対象ピクチャ番号) | | |■変数操作: CSelf23[後尾] = CSelf23[後尾] + 5 | | |▼ここで透過255にして可視化させる | | |■ピクチャ移動:CSelf22[先頭] 〜 CSelf23[後尾] 相対X:0 Y:0 / 0(0)フレーム / パターン 1 / 透 255 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー R[100] G[100] B[100] こうしてリスト一覧を不可視の状態で動かし、 一定の位置に来たら可視化する処理をしてスクロールさせるようにしていたのですが 最大所持数が構造上増える事があってその際に一覧の一番下に来るようにしてました。 が、2つ以上新規に下に追加すると全く機能しなくなります。 ピクチャの先頭・後尾のナンバーを取得しても 後尾だけ一定以上からピクチャを取得してくれない時があり、一覧の一番下が空欄になったりします。 ・行自体はキチンと動いている ・ピクチャは不可視の状態でちゃんとある どのようにしたら空白が出ずにスクロール出来るでしょうか?もしくはバグなのでしょうか
ピクチャは存在していて、ピクチャはキチンと動いている(空白があるわけではない)けど可視化がされないってのが本当なら、 表示最上行ってやつがミスってんじゃないの? もしもピクチャの移動すら行われていないと言うのであれば、対象ピクチャ番号ってのが間違ってんじゃね? あとは可変DB39の前と後で名前が違うのが気になるぐらい これだけの情報だと推理できるのはそんぐらい。あとデバッグ文挿入して値見るぐらいしたら?ってアドバイスする程度
ありがとうございます。 名称はコピペするときに分かりやすくする為に変えたのですが後の方を消すのを忘れてました。 一番下の行が上がってくる、なので 例えば最大数が22→23になった時は普通に動くし表示もされますが、24とか25になるとどうも崩れます。 最大数増やすのがマズかったりするんでしょうか・・・ 推移自体は通常時は問題なく出来てます。
ピクチャ番号の登録でミスってるに1票 と言うか連番にしてるなら登録する必要なくね?
連番なんだけど、追加したときの事を考えて1行の先頭の番号だけ登録してました。 一応デバッグ働かせてるんですが、そこではきちんと登録されて反映される。 処理もう少し見直してみます。
後尾ピクチャを数値で指定して取得する事で何となくはどうにかなりました。 そしてピクチャ登録の所で不具合があったみたいです。 応えてくださった方々どうもありがとうございました。
そのキャラが現在どの状態異常になっているかを参照することはできないんですかね 可変データベースにもそれっぽい項目がないし 特定の以上に掛かると変数がプラスされて表示グラフィックが変化する、というコモンを作りたいのですが
できます あります デフォでそういうシステムです 最後のは意図してる仕様と違うんだろうけど
初カキコ失礼します 死ぬ度に所持金を減らすコモンを組んでみてるのですが全然上手く行きません… ゲームオーバー処理の時に可変データベースをどうたらこうたらすれば良いのは分かるんですが… ゲームオーバーイベが終わり、再度ロードしてみても所持金は全くへっておらず…
全く同じ質問が公式の質問スレにあるから見てくれば?
>>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のメニュー描画がうまくいってないんですかね? >>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でとりあえず凌げました ありがとうございました 最近までver2.10を使っていてver2.24にアップグレードしてみたのですが、ゲームデータの起動が遅くなってしまいました。 (3〜4秒で起動していたのが30秒弱かかるようになった) そういうものだと思って諦めるしかないでしょうか?
2.1にダウングレードしてゲーム完成した後にアプグレしたらいいんじゃない?
一度使ったら再使用まで数ターン必要な技能を作りたいと考えています UDB0番の技能のところに再度必要な時間の項目を設定(ここは変数) そしてコモンイベントの159番技能選択実行の部分に上記で設定した時間のの分だけ使えなくなる といった組み方でよろしいのでしょうか? 何度かやっているのですが、全く機能していません
俺だったらこう作るって体で答える UDB0の項目に○○の状態異常の場合は使用不可という項目を作る(特殊設定でUDB8のデータ番号を選択。-3〜-1はナシ。初期値-1) コモン154の58行目(■■■条件設定、ここからのコメント文)辺りに以下の処理を挿入 UDB0のデータ番号cself34から上記の設定を読み込み(適当な変瑞尿に代入) 変数Aが0以上の場合、CDB14のデータ番号cself0の項目番号変数Aを取得 その値が0以外の場合はループ開始へ戻る んで技設定で発動時にその状態異常を付与する 何でこうするかというと、質問者の設定では技の数だけ「技を使用してから現在何ターン経過したか」という情報を記録しておく膨大な数の変数が必要となるため 実際には試していないからこの改造だけでできるか分からん
>>456 ありがとうございます。 参考になります、確かに自分のやり方では変数が大変なことになりますね…… 状態異常扱いであればCTの時間の表示も簡単になりそうな気がしますね すまん。1回見直したけど、弄っていないと使用者自身に状態異常を付与する処理が存在しないから、その処理も作らないと駄目だわ UDB0に使用者に確定で状態異常付与という項目を追加(UDB8から選ぶ。-3〜-1はナシ。初期値-1) コモン197の最後の行に次の処理を挿入 Cself17が0以上かつ9999以下の場合、 UDB0のデータ番号Cself17の使用者に確定で状態異常付与の値を取得(変数Bに代入)し 値が0以上だった場合、コモンイベント137を戦闘スロット:Cself16、 付与する状態:変数B、付与?消去?: 付与、メッセージ有無: メッセージ有り で呼び出し、 更にCself16が10未満の場合と10以上の場合の分岐を作り、 10未満の場合はコモン174を表示位置: Cself16で呼び出し、コモン178をモード: 5、表示位置: Cself16、戦闘スロット: Cself16で呼び出す。 10以上の場合はコモン175を表示位置: Cself16で呼び出し、コモン179をモード:2、対象戦闘スロット:Cself16 で呼び出す
>>458 ありがとうございます。 ちょっと一度これで試行錯誤してみて、まただめなようであればここにご質問させていただこうと思います ご丁寧にありがとうございました。 最近触り始めた初心者です 非常に初歩的な質問な気がしますが、生成したマップのIDを変更はどうやってするのでしょうか… 適当に作っていたら散らかってしまって
初心者ですが何かしょうもない質問でしたらすみません。 RPGで戦闘時にキャラを待機・攻撃・ダメージ時などでピクチャを変えて動かしたいのですが、この場合 @一枚の絵に全てのモーションを書き込んで分割し、動かす時に元のピクチャを消去→そのキャラのピクチャIDを初期化→同じ絵のパターンのみを変更して再度表示 A戦闘開始時にシステムDBの文字列変数10個ぐらいに全部の絵を読み込んで都度その変数を参照して表示 のどちらが適切な方法なのでしょうか。 または他に一般的な方法があれば、教えていただければ幸いです。
>>461 IDが何を指しているのかわからんから全部答えるけど システムデータベースの0番がマップの登録部分で、ID(マップツリーなんかで表示される名前)はここで変えられる 番号はデータ番号がそのまま表されるから、もしも番号を変えたいなら手動で入れ替えるしかない。ただしマップ移動はデータ番号を参照しているから、データ番号を変更すると元々作っていた場所移動コマンドがおかしくなるため注意。 後述するマップツリーの順番変更をした方が無難。 マップファイル名を変えたい場合は、デフォだと (ウディタのアドレス)/Data/MapData/ に入っているファイル名のリネーム。その後データベース0の該当データ番号(リネームしたファイルのアドレスが書かれているデータ)の項目番号0を選びなおし。 マップツリーに表示される順番を変更したいのであれば、マップツリーが表示されているウィンドウの、ツリーの変更を許可する にチェックを入れる。 あとはマウスでドラッグするなり、右クリックメニューを使うなり、shift + 矢印キーを使うなりして上下移動や親子設定が出来る。 >>462 所々怪しい部分があるから整理するけれども 1, 絵をすべて統合し、分割した状態でメモリに展開しておき、パターン変更で表示を切り替える 2. バラバラの絵を全てメモリに展開しておいて、ファイル指定して表示を切り替える の2つの場合、処理的に簡単で軽くなるのは前者の方。ピクチャ番号の消費も1つで収まる ただしそこまで凝った作りじゃない限り、2つの間に大きな違いは発生しないため、ぶっちゃけどちらでも良い ※所々怪しい部分 >動かすときに元のピクチャを消去 ピクチャを消去した時、他に同じファイル名のピクチャを表示していない場合、ウディタは自動的にメモリ展開していたデータを消去してしまう この操作を挟んでから再度表示した場合、ピクチャを再度メモリに展開する処理を挟むため、余計に重くなることに注意 >文字列変数10個ぐらいに全部の絵を読み込んで この場合、表示する度にメモリに展開する処理を挟むため、場合によっては重くなることがある 予めピクチャコマンドを使ってバラバラのピクチャ番号で表示(不透明度0、もしくは画面外)させておくこと >>464 >>462 の者です。 ご回答ありがとうございます。 丁寧に教えてくださり非常に助かります。 すでにとても参考になっているのですが、もしよければ追加でお聞きしたいです。 一度ピクチャを消去せずに自由にパターンを変更する方法があるのでしょうか。 パターン変更はエフェクトでアニメーション的に1番号ずつズラすことしか出来ないと思っておりましたが、「パターン1からいきなり6に変更する」といったことが出来るのなら是非やりたいです。 >>465 ピクチャを移動にして 座標を相対で0,0、不透明度なんかを同値にしてパターンだけ変更 >>466 !!!!そんな方法が... それを知らなかったために5時間以上コモンとにらめっこしてました ありがとうございますめちゃくちゃ助かりました! 素材サイトさんからお借りした素材のファイル名が日本語なのですがそのまま使っても大丈夫でしょうか? 英数字に直した方が無難?
無難 基本的に2バイト文字は使わない方が良いよ システムがunicodeに対応していないせいか、2バイト文字がない文化圏だとエラーが出るっぽい
>>470 ありがとうございます!!! 早速変換しようと思います ちなみに外国の方がプレイする事があった場合にエラーになるかもしれないという事なんでしょうか? その場合日本語のテキストはどうなりますか >>470 そういうの全然わかんないから助かる センキューな スマンがあんまり詳しくは分からない。俺も元々その事例があったことを記憶しているだけだから。 でも、ウディタはwindowsに設定されているフォントを読み込む形だから、フォントを同封している場合以外は文字化けするんじゃないかなぁ ウディタ 海外 文字化け とかで検索したら、それっぽい呟きとか出てくるし
>>473 勉強になりました 初心者の些細な質問に付き合って下さりありがとうございます >>467 です。おかげさまで制作も順調に進んでおります。 再度質問なのですが、コモンの呼び出しで5つの数値を入力する方法はありませんか? 現在、多パターンに分割したキャラチップをマップ上に読み込み、パターン変更でアニメさせる単純なコモンを作ろうとしています。 その際に「どのキャラチップか」「マップのX座標」「Y座標」「どのパターンか」「表示するフレーム数」の5つの数値を入力したいです。 2つのコモンを使う、このどれかを文字列変数にするなどの方法で可能なのでしょうか? 解決法を教えていただければ幸いです。 WoditorEvCOMMAND_START [210][7,0]<0>(A,5,a,b,c,d,e)() WoditorEvCOMMAND_END A = 呼び出し先。コモンなら500000+コモン番号、Cselfによる呼び出しなら1600000+セルフ番号 a〜e = 引数の値。Cselfなら1600000+セルフ番号。 の改造コードを貼り付ければいけるはず。よくわからないなら検索すれば詳しいのが出てくるかと それか、単純に変数呼び出し値(1500000+100*Y+X)とX番の変数呼出を使って代入でもいい
>>476 ありがとうございます。 下の方法で解決できました。 上の方法は解説していただいたのに申し訳ないですが私にはちょっと敷居が高かったです。 助かりました。 タイルセットを32x32にしたときだけ選択肢カーソルがズレるんですが ズレないようにするにはどうしたらいいですか? タイルサイズ32*32で320*240(倍)にしているからじゃないかと 選択肢関係はあんまり弄ったことないから詳しい仕様は分からんけど 多分選択肢の最小サイズに比べてフォントが小さすぎるんじゃないかと。フォントサイズには(倍)が適用されなかったハズだから、それ関係かな
初心者に毛が生えた程度なので、もし変な事言っていても見逃してください。 今、ウディタで自作メニュー画面を作っています。 それで、メニューを表示した時に出るメインウィンドウの下に顔グラを表示したいのですが、どこをどういじればいいんでしょうか? (顔の絵の上にメインウィンドウが被さる感じの位置関係でイメージしてください。) やり方を探しても、どうしてもわからなくて。 コモン90にあるシステムのどこかをいじればいいっぽいというのは分かったんですが、その先がどうにも……。 番号を上げ下げすると不具合が起きるし、お手上げです。 それと、できたらメニュー欄にあるキャラクターのHPゲージの上に画像を表示する方法も知りたいです。 これもピクチャ番号をいじると不具合が起こるので、自力では無理でした。 もしやりかたがあるのなら、できるだけ優しめに教えていただけると嬉しいです。 もし難しくても、頑張って理解してみたいと思います。
480に書き忘れていたので書き足しです。 HPゲージの上に表示する画像は、メインウィンドウ達と同じように左右にスライドして出入りさせたいです。 自分でも引き続き方法を探してみますが、ご教授頂けると嬉しいです。
>>479 タイルサイズ32x32だとどの解像度でもフォントを大きくしてもズレました 気になるのでもう選択肢自作しようと思います 回答ありがとうございました 特定のオートタイルを使用すると動作が重くなってしまうのですが、何が原因なんでしょうか アニメーションさせているわけでもなくファイルサイズも形式も他と同じなのに、 特定のオートタイル(自作)を使用した時だけ画面がもっさりと…… もっさりオートタイルは2、3種類あり、普通に表示できるオートタイルも自作なので自作なのが原因ではないと思います 理由が全くわからず困っているので、お力を貸していただけると助かります
実際に見てみないとわからんけど、全く同じように作っているならファイル名が長すぎるぐらいしか思いつかない
ファイル名はmizu1.pngとかそんな感じなので長くはないと思います 同梱素材も使用して色々と試してみたところ画像の問題ではなく、 レイヤー2以降にオートタイルを使用した時に重くなっているっぽい事が発覚しました レイヤー2以降にオートタイルを使用した時でも ・同じオートタイルを同じマップのレイヤー1に広範囲使用している ・そのオートタイルが常にキャラの上に表示設定 のどちらかの条件を満たしている時は重くならないです レイヤー2、3にオートタイルを使用すると重くなってしまうのはウディタの仕様なのでしょうか? オートタイルを重ねて表現したい事があって悩んでます(´;ω;`)
俺はそういったケースを聞いたことがないから分からないかなあ PCの問題とかもあるかもしれないから、実際に重いバージョンと重くないバージョンの2つを上げて貰ってテストしてみた方が手っ取り早そう
確かにPCのスペック等は大いに関わってきそうですね テストしてもらえる人を探してみます…… それから、新しいゲームを立ち上げて試してみたところ全く重くならなかったので、 自作したシステムが何らかの影響を及ぼしてこんなことになってしまった可能性が高くなりました ウディタは関係ない自分の問題だったにも関わらずお騒がせしてしまい申し訳ありませんでした 相談に乗って下さってありがとうございました!!
セーブ画面の顔グラを変更したいです コモン94の30行目 CSelf84[主人公顔グラフィック項目位置]=60+0 に変えたのですがcdb[0:-:60]に設定した顔グラが表示されず真っ黒のままになってしまいます コモン94の338行目辺りを変更するのかな?と思うのですがよくわかりません アドバイス頂きたいです
試してないから知らないけどそれで問題ない ちゃんと設定した後にセーブしたデータじゃないと、文字列変数の中身は空のままだぞ
仲間が全員揃ったのを契機にフィールドでの曲を変えたい場合 どういった処理をすればいいでしょうか? フィールドに自動実行のイベントを置いて変数(仲間揃った)を 条件に曲を変えてみたけどそれまでのフィールドの曲の イントロが少し入ってから新たに設定した曲がかかる 不自然な感じになってしまいました しかも出入りするたびに毎回そうなります だれか助けてください
490ですが自己解決できました 元の曲もマップとの紐付けをやめてイベントで 設定するようにしたらいけました
>>489 それで問題ないというのはこれ以上いじらなくてもいいってことでしょうか? 顔グラ登録してセーブ、コモン変えてセーブしましたが変化ありません…… 30行目を =2+0 、 =3+0 に変えるとちゃんとそこに登録されてる顔グラが表示されます >>492 今テストプレイしたら急にファイル読み込みエラーが出ました 画像が見つからないらしいんですがどういうことなんでしょうか…… 可変の該当箇所に画像があってセーブしたところまで確認しました ダメだということだから実際にやってみたけど、やっぱりちゃんと変更できてたよ。 ・コモン94の30行目をCself84 = 59に ・CDB0の項目番号59にファイル設定 ・ゲームをプレイしてセーブ
>>494 セーブってエディタ上じゃなくてゲーム起動中のことだったんですね恥ずかし…… 解決できてました アドバイスありがとうございました! 装備欄を1つにしたのですが武器でなく防具装備用にしたいです コモン106、107で装備中の武器と防具の行を入れ替えてもうまく行きませんでした 具体的には装備欄にcdbに入れた装備が表示されず、右の装備選択画面は武器のままです どこをいじったらいいでしょうか
少し長いです。 無知ゆえにおかしなことを言っていたらごめんなさい。 敵に負けてゲームオーバーになった後、ロードしたらある文章メッセージが表示されるようにしたいと思っています。 ロードしたらメッセージが表示されるところまでは自分でできたのですが、そこからあとが詰まりました。 ゲームオーバーイベントの最後に ■セーブデータに読み込み:セーブデータ[99]のV7[メッセ用]=1 を挿入し、 ロードしたらメッセージを表示するイベントの所に手を加えて ■セーブデータの内容読み込み:Cself0=セーブデータ[99]のV7[メッセ] ■条件分岐(変数):【1】Cself0 が 1と同じ -◇分岐:【1】[Cself0 が 1と同じ ]の場合↓ |■ウェイト:7フレーム |■文章:あいうえお -◇上記以外 |■ ◇分岐終了◇ としました。 すると、メニューからセーブをするとなんというか、ロード画面を残してほかのメニュー画面が消えてしまっておかしなことになったり(どうも消去するシステムが勝手に働いているようです。 因みにセーブロードの操作を入れる前は消えることはありませんでした)、タイトル画面からロードするとまだフラグをロードしていないのに文章が表示されたり、 ■セーブデータに読み込み:セーブデータ[99]のV7[メッセ用]=1 を読み込んだら読み込んだで 「【可変DB】エラー:存在しないタイプ番号6を読みに行っています 処理地点:【コモンEv94行365】 ※もし並列処理のエラーなら地点不明です」 と出ます。 ちなみにコモン94の365行目は私の場合少し手を加えているので(この変更部分はこのシステムとは関係ないです)、▼主人公IDを取得の下の ■セーブデータの内容読込み:Cself11[一時変数B]=セーブデータ[Cself5[注目セーブ番号]]の V[Cself62[DB読み込み先一時変数]] という行になります。 この場合、どのような対策をすればこのエラーが出なくなるでしょうか? 変数をセーブするデータ番号を変えてもダメでした。 最後のエラーメッセージが出るエラーだけでも解決策を知りたいです。 お知恵をお借りできると嬉しいです。
>>496 個人的には専用装備として外せない武器を装備させておいたほうが楽で良いと思う。下手に改造すると戦闘のステータス計算とかでエラー吐きそう どうして装備欄を1つだけにしたいなら、武器と防具を装備可能にして、武器は選択できない&表示しないようにするぐらいかな その場合はコモン93と109を改造する感じかな。106と107は戻したほうが良いよ。 >>497 ロード関係がダメ ロードした時に実行される処理は>>234-240 の流れで説明されているから、これ見て作って あとマルチポストでの質問は嫌われるから止めたほうが良いよ
>>498 色々やってみたんですができなかったので装備は使わない方向で行きます と思って装備画面いじろうと思ったら右の装備選択が消せなくて困ってます コモン93では消せないんでしょうか? ステータス表示と連動している……? 装備を使わないのであれば、そもそもメニュー欄から装備のコマンドを外せば良いのでは? >>498 で説明している「武器と防具を装備可能にして、武器は選択出来ない&表示しないようにする」って改造なら、 質問回答なんかでちょいちょい改造しているから行が間違っているかもしれんが下記の通り ・一番上の項目(武器)を選択出来ないようにする 109の13行目を変更 ■変数操作: CSelf10[選択カーソル位置] = 0 + 0 ↓ ■変数操作: CSelf10[選択カーソル位置] = 1 + 0 109の315行目(Cself20[キー入力1]が2と同じ場合、の分岐の中) | |■変数操作: CSelf10[選択カーソル位置] %= CSelf11[選択可能最大値] + 0 の真下に次のイベントコマンドを挿入 | |■変数操作: CSelf10[選択カーソル位置] 下限= 1 + 0 109の326行目(Cself20[キー入力1]が8と同じ場合、の分岐の中。上記改造後は327行目) | | |■変数操作: CSelf10[選択カーソル位置] %= CSelf11[選択可能最大値] + 0 の真下に次のイベントコマンドを挿入 | | |■変数操作: CSelf10[選択カーソル位置] 下限= 1 + 0 つづく なんかNGかかるから小分けに投稿する。スマン ・上記を行った上で、一番上の項目(武器)を表示しないようにする コモン093の39行目 ■DB読込(ユーザ): CSelf27[装備欄 縦項目数] = ユーザDB[ システム設定 : 0 : 装備可能欄数 ] (17 : システム基本設定 : 22) の真下に次のイベントコマンドを挿入 ■変数操作: CSelf27[装備欄 縦項目数] -= 1 + 0 コモン093の414行目(上記改造後は415行目)を書き換え | | |■変数操作: CSelf43[処理中個数] = -1 + 0 ↓ | | |■変数操作: CSelf43[処理中個数] = 0 + 0 424行目(上記改造後は425行目) | | | | |■変数操作: CSelf42[一時項目表示Y] += CSelf39[[保持]カーソル移動縦幅] / 2 の真下に次のイベントコマンドを挿入 | | | | |■変数操作: CSelf42[一時項目表示Y] -= CSelf39[[保持]カーソル移動縦幅] + 0 494行目(上記改造後は496行目) | | | | |■変数操作: CSelf42[一時項目表示Y] += CSelf39[[保持]カーソル移動縦幅] * CSelf43[処理中個数] の真下に次のイベントコマンドを挿入 | | | | |■変数操作: CSelf42[一時項目表示Y] -= CSelf39[[保持]カーソル移動縦幅] + 0
742行目(上記改造後は745行目) |■変数操作: CSelf42[一時項目表示Y] += CSelf39[[保持]カーソル移動縦幅] * CSelf2[[2]カーソル位置] の真下に次のイベントコマンドを挿入 | | | | |■変数操作: CSelf42[一時項目表示Y] -= CSelf39[[保持]カーソル移動縦幅] + 0
499さん、回答ありがとうございます。 あと、なんにも知らず失礼なことをしてしまっていたのも、ご指摘くださりありがとうございます。 軽い気持ちで「しりたいなあ」と思って馬鹿なことをしてしまい、恥ずかしいです。 今更ですが、とりあえずあちらの投稿は消しておきました。 教えていただいたことを参考にして、開発に取り組み、質問の仕方を改善していきたいと思います。 本当にありがとうございました。
>>504 詳細にありがとうございます できました! 処理中個数の意味が少しわかりました またよろしくお願いします 特定キーを押すとデバッグメニューが表示されるコモン(並列実行(常時))を 作ったのですが そのメニューを操作してる時にキャンセルキーを押すと 通常メニューが呼び出されてしまって操作がわちゃわちゃになってしまいます そこでそのデバッグコモンを呼び出している時はキャンセルキーを押しても 通常メニュー画面が呼び出されないというような処理をデバッグコモン側に 入れたいのですが可能でしょうか? 通常メニューを呼び出したりは基本システムのままです 可能であればヒントだけでもいいのでお願いします。
基本システムのメニューはキャンセルキーの入力を感知しているから、デバッグメニューを呼び出している間はキャンセルキーの入力を禁止にする[移動時×キー入力×] デバッグメニューのキー入力コマンドを、キャンセルキーではなく、キャンセルキーに該当する特定のキー(xなど)にする
>>508 ご返答ありがとうございます この処理はデバッグメニューを抜けてしまう全ての処理にキャンセルキー 入力禁止解除[移動時○キー入力○]をしないといけないって事で合ってますか? ウディタいじり始めて半月ぐらいだけどやる度にググって試行錯誤の連続です だがそれがいい ごめん途中送信した。 一応そうなるけれども、普通ならメインとなるコモンイベントを介して呼び出すように作るはずだから、その最後に解除を入力するだけで十分だと思うよ
>>511 デバッグメニューの呼び出しは特定キーを3回連続で 押したときに呼び出されるようにしてあるので メインとなるコモンイベントを介してっていうのは多分無いです いろいろやってみた結果デバッグメニュー呼び出し中は完全に キャンセルキー禁止 それぞれの項目の選択肢に戻るを追加して デバッグメニュー開始地点に戻れるようにしてキャンセルキーの役割 をしてもらうことにし デバッグメニューを抜ける全ての処理の終わりに(例えば全回復などは 選んだ時点でデバッグメニューを抜けてしまう) [移動時○キー入力○]の処理を入れました なんとか納得のいく挙動になり たいへん助かりました キャラクター欄の1人目を選択不可にするにはどうすればいいでしょうか? メニューの右側に出るキャラクター一覧のことです カーソルで選べないようにするのが理想ですが、エンターを押しても反応しなければそれで大丈夫です
はじめてのウディタ挫折してを参考にしながら乗り物の船の処理を作って どうにか船から上陸できるとこまでこぎつけたので喜びのあまり 船を乗りまわしてたらまったく想定してなかった問題が出てきました 海しかない広い場所で方向キーを入れるのは全く問題ないのですが 陸に囲まれてて海の幅が1マスしかないようなところで方向キーを入れて 曲がったりすると思わぬところで上陸したりコントロールできないレベルの 挙動になります 試しに断続的に方向キーを入れ進んでみたところ暴走して上陸したりなんて ことにはなりません おそらく直前に入れた方向キーより前に入れた方向キーの判定か動作が遅れて やってきて暴走させるような感じです 説明わかりにくくて申し訳ないです 決定キーで船を乗り降りするようにすればおそらく解決はできるのですが 某国民的RPGを再現したくてウディタをつつきはじめたのでできるならば 方向キーで船の乗り降りをしたいです 解決方法があれば教えてください 長文すいません
>>513 コモン108を弄る。選べないようにするならやることは>>501 とほぼ同じ。上下左右の移動がある分違う感じ 20行目、■変数操作: CSelf10[選択箇所] 下限= 0 + 0 を ■変数操作: CSelf10[選択箇所] 下限= 1 + 0 に書き換え あとはそれぞれの方向キー分岐の最後(55行目、68行目、89行目、110行目辺り)に■変数操作: CSelf10[選択箇所] 下限= 1 + 0 突っ込めば最低限の動作はする。 ただパーティが1人のみだと挙動がおかしくなるため、18行目辺りに下記の処理を挿入しておいたほうが良い。常に2人以上なら気にしないでいいけど。 ■条件分岐(変数): 【1】 CSelf11[選択可能最大値] が 1 と同じ -◇分岐: 【1】 [ CSelf11[選択可能最大値] が 1 と同じ ]の場合↓ |▼ エラー処理.ついでに文章表示なんかをして1人だから選択できない等の情報をプレイヤー側に提示すると良い |■変数操作: CSelf1[オプション] = 0 + 0 |■変数操作: CSelf10[選択箇所] = -1 + 0 |■可変DB書込:DB[ 基本システム用変数 : 2 : 0 ] (18 : 選択されたコード : 数値) = CSelf10[選択箇所] |■イベント処理中断 |■ ◇分岐終了◇ >>514 はじウディあんまり読んでないけど、聞いた感じでは色々改造してそうだから何とも 多分降船の判断を行う並列実行を作っていると思うから、それで主人公の移動も管理するのが良いかと。 例えば、 キー入力で右入力 ↓ 主人公の右側の座標を調べる ↓ 陸だった場合は降船処理 陸じゃない場合は ■動作指定:主人公 / 右 って感じのものを8方向(もしくは4方向)作る >>515 514です ご返答ありがとうございます 降船処理自体は515さんの考えられてるように 進行方向の一つ先のタグを取得して陸なら 降りる(降りれなかったので無理やり場所移動で降ろした) ってのを四方向にしてました 陸じゃない場合 ■動作指定:主人公/方向 ってのは盲点でした たぶんこれを行っても降りられないけど動作はしておくよみたいな 感じなのかな これを参考にまた格闘してみます 今日はちょっと無理かもだけど 進展があれば報告させていただきます >>516 スマン、出先なんで取り急ぎだけれども、多分回答した内容だと上手く動作しないわ もうちょい条件付け足す必要があるはず >>515 ありがとうございます、できました でもコモンイベントの名前を変更すると読み込み直しても作動しなくなるのですが仕様でしょうか? あるメニューコマンドのキャラ選択だけ1人目を選択不可にしたかったのでコピーを改変して使おうと思ったのですが上手く行きません >>516 多分大体問題なく動作する処理になったと思う ざっくり言えばウディタのデフォにある移動処理を禁止して自分で動かす仕組みにしただけ。 それと主人公移動中?の条件分岐を使わないと多分バグると思う。 精密だとタイルの情報取得がおかしくなったから標準に計算し直している。精密移動を使っていないなら要らない処理。 簡易って書いてあるのは、本当は色々肉付けする必要があるけど面倒だったから手を抜いた部分。 それと、これだけじゃどういう仕様で作っているか分からんと思うから、一応処理一式載せとく。 ちなみに、面倒だったから乗る時は決定キーを押して、降りる時は方向キーで降りるようにしている。 >>519 仕様です。 コモンイベントの呼び出しには名前呼び出し(別の所へコピペしても名前が同じなら呼び出せるもの)と、番号呼び出し(名前が変わっても番号が同じなら呼び出せるもの)の2つがある。 前者の方がコモンイベントの場所を整理するのに便利だからって理由で、ウディタの基本システムでは名前呼び出しを使っている。 >>520 コモン108を呼び出したときの表示にはオプションの0が表示されないのにコピーしたものの名前を変えると0が表示されるようになるのもそういう仕様だからということなんですかね 内容をコピーして直接貼り付けてもできないですし これは私のやり方がおかしいんだと思うんですけど 別の方法も考えてみます >>522 >>20 に書いてあるけど、顧問イベントの名前指定は番号の大きいものが優先順位が高い 基本的に同じ名前のコモンイベントは作らない方が良いよ。バグの温床 >>520 船の上陸処理で困ってたものです 処理まで考えて載せてもらえるなんてありがとうございます あれからうまくいかなくて自分も片っ端から閃いたことを試しては 消してを繰り返してて今見に来てみたら こんなご丁寧に処理を書いていただいて また時間あるときに書いてみて結果を報告させていただきます まじ 感謝 >>520 ,524 すまん。船に乗りながら戦闘とかイベントを起こしたりするなら、イベント実行中?が0の場合の条件もつけないとダメだわ 524です あれからDBの処理を組み込みつつフラグを整備しながら 処理を書いてみたのですがどうもうまくいかず・・・ 船に乗った瞬間に違う場所に移動したり乗船しているとき船自体が 陸に乗り上げたりするようになりました これは自分が追加したフラグ関係でおかしくなったのだと思います 520さんの処理でどうしてもわからないところがあって Cself50を出して二乗して辺りから全く何をしてるのか 読みとれなくなりました それと質問が一つありまして自分が作っているのは4方向・キャラクター移動1マス という設定なのですがそのような場合でも座標を読み取るときに精密座標を使わないと まずいでしょうか? はじめてのウディタの説明でも精密座標を使っていたのですが私自身が勝手に 上記の設定で作っているから精密使わなくていいやと思い込んで標準の座標の方 を使っていました そしたら520さんも精密座標を使われていたのでそもそもこれが過ちの始まりだった ような気がして・・・
1マス移動なら標準座標で良いよ。ソッチのほうが楽だし
>Cself50を出して二乗して辺りから全く何をしてるのか >読みとれなくなりました 単純な処理内容は、 ・前にあるマスが陸か? ・前にあるマスにイベント(上陸できないものとして考える)はあるか? というのを調べているだけ それぞれ陸だった場合、イベントがなかった場合は0になるように計算して、 それぞれの結果を判断用の変数(Cself40)に足していって、もしも0のままであればそこは上陸可能だと判断している。 ただし、0であれば〜 という条件のためには、足し合わせる数は符号を正負どちらかに統一しなければいけない。(正負が混同していた場合、Cself40 = -4 + 4 などの計算をして0になってしまう可能性亜がある) けれども、タイルのタグ番号と陸のタグ番号の計算ではマイナスを使用しているため、場合によっては計算結果が負となってしまう。 そのため、2乗してマイナスをプラスにすることで符号を正で統一している。 ってだけ。 とりあえず4方向標準で分かりやすいの作るわ
529さん本当にありがとうございます 何の知識もない自分がウディタをDLして触ってみて ド○クエ作りてーって思ってしまった勢いで作業を続けてるので ずっと回答していただいてるのが申し訳なくて・・・ 正直ツクール(?)も触ったことがなくこういったことが初めてなので 船の処理については思いっきり背伸びしたことをやってるんだなあと この何日間か考えています なかなか結果出せなくてすいません
色々改造した結果、改造前のコメントとか残っているけど気にしないで
>>531 ありがとうございます まだ中は見れてないけどDLしました 533です 今回はシンプルにコモン自体を読み込ませてもらって 動くかどうか試してみました 乗り込む所まで完璧にうまくいったのですがそこから動くことが できませんでした DLさせていただいたサンプルゲームの方では動いていたのに なぜなんだと見比べてみたのですが たぶんチップの切り替え関係が違うのかなと思います 自分は最初船の処理を作ったときに陸は陸用のマップチップ 船は船用のマップチップの二つ(通行設定が違うもの)を作って 船の乗り降りの時にチップ入れ替えをするという形をとっていました タグ設定はは船用のチップに1は上陸できる2は上陸できないといった 分け方でした サンプルゲームを見たところそういった二つに分けられてる形跡が無いので 一つのチップだけてやりくりできるといった事でしょうか?
あー。マップチップの設定をするのが面倒だったため、チップの通行可不可の設定を書き換えただけです。 乗船処理[4方向標準] の94行目以降がそれですね。そこは(簡略)と書かれているように、色々肉付けしたりする必要がある部分です。 サンプルでは陸と海しかないため、陸を通行不可能にして、海を通行可能にする処理を行っています。 もしもチップ切り替えを行うのであれば、94行目以降を消してチップ切り替えの処理に書き換えてください。 上陸する時は、船舶移動[4方向標準] の113行目に書かれている |■マップチップ通行設定:設定初期化 で初期設定に戻しています。 これも同様に、チップ切り替えの処理に書き換えてください。 それで多分動くんじゃないかなぁ。 ※一応捕捉。船舶移動[4方向標準] の17行目に陸として認識するためのタグ番号を格納しているので、自分の設定に合わせて書き換えてください。
>>535 ご丁寧にありがとうございます ここまで教えていただいたので次は復元処理 なども完全にうまくいったら報告に来ます あまり質問してるとここの住民の皆様に迷惑かかると 思いますし なにより535さんに多大な迷惑をかけているので ここまでいろいろ教えていただきありがとうございました >>535 復元処理ができてから報告するとは言ったものの 途中経過ですが報告します チップ処理のところを書き換えたらばっちり動きました あまりにも嬉しくて20分ぐらいフィールドマップを 乗り回してました 陸に挟まれた所なども自分が書いた暴走船に比べて はるかに安定感が違って感激です 何日にも渡っていろいろとご助言などをいただき ありがとうございました 537です おかげさまでどうにか復元するところまでいき 船に乗りまくってたらまたそこで別の問題が出たのですが それは無事解決することができました 上陸する場所に洞窟などがあったら船グラのまま 洞窟などの中に入るようになってしまって これはチップ自体は陸用に変わってたのでグラだけが 主人公グラに戻ってない状態です あれこれ処理を見ながらCself50を二乗した後の二つの処理を 四方向とも消したらなぜかグラも戻るようになりました 元々の処理の意図はCself40にマップイベント番号+1が 加算されてそもそも上陸すらできないのかなと解釈していたのですが まぁ最終的にはしたかった挙動になってくれたのでよかったです 本当にいろいろとありがとうございました
イベントがあったら上陸(マップチップの切り替え、キャラチップの変更)をしない処理ですね。 ただし陸(洞窟なども)を通行不可にしておかないとめり込んでしまうため、めり込んでEv接触でマップ移動したという形だと思います。 マップチップが陸用に戻るのは、マップ移動が行われたためです。 マップチップの切り替えは保存されないため、マップ移動を行ってから戻ると初期設定に戻ります。 もしも船に乗りながら別マップへ移動する仕組みを作る場合は、その点に注意してください。
8方向視界コモンという公式ページにあるコモンを導入したのですが、わからないことがあったので質問させていただきます。 各イベントの視界の表示非表示を各イベントの状況ごとに管理したいのですが、その方法がわかりません。 浅知恵で考えたところ、UDBの有効フラグをそれぞれいじればいいと思ったのですがUDBをいじる方法などはあるのでしょうか? 変数操作の可変DB代入を用いてどうにかUDBに値を代入する方法なども試してみたのですがうまくいきません。 有効フラグをいじる方法を教えていただくか、それに代わる方法があるなら教えていただきたいです。 何卒よろしくお願いします。
UDBをいじるなら、イベントコードを書き換えるか、変数呼び出し値を使うか。>>240 がUDBを書き換えている例 コモンについては>>1 >>542 ご返答ありがとうございます。 良くない質問をしてしまい、申し訳ありませんでした。 コモン製作者と連絡取ったほうが的確な回答を貰えるだろうし、レスポンスも早いと思うからね。そうした方が良いよ
画像の大きさ(px)は小さい方がいいですか? 画面の固定した位置に表示したい画像が複数あって、 表示するたびに各々座標を指定するのが面倒なので、余白をつけてx0y0座標で表示すれば楽なのでは?と考えています こういうやり方はあまり良くないでしょうか?
良くはないけど、実際にやってみて重くならないようだったら採用しても良いんじゃないかな
>>546 やっぱり良くはないですか〜… とりあえず試してみることにします! ありがとうございました! 船の処理をずっと尋ねていた者です 実はあれからHPが0になったらグラを棺桶に変える処理を 作っててようやく完成したのですが その処理(並列(常時))を入れてると船に乗り込む時に船グラが (自分が作ってるのはMAX3人パーティです)3人目と同じグラに 変わってしまって4人パーティで海の上を歩いている描写になってしまいました グラを棺桶に変える処理はまずパーティ人数で分岐させそこからさらに 複数人パーティの場合1人目のHPが0の場合、1以上の場合に分岐させ そこから先も2人目、3人目と全パターングラの書き換え処理をしました おそらく並列(常時)でグラの書き換えをしているのが悪さをしてて乗船処理に 影響を及ぼしていると思います グラを棺桶に変える処理も半信半疑で書いたものがようやく形になったものなので 思いっきり大きな間違いをしているかもしれません 乗船処理の方に影響を及ぼさないいいアイデアがありましたら教えてください
普通に戦闘終了時と戦闘不能からの復帰時にパーティ画像を書き換えれば良いだけでは?
>>549 ありがとうございます 並列(常時)がやはりまずいみたいですね 質問です! ウディタでフォントをフリーのフォントに変更したのですが 文字が変になって機能しません テキストエディタでそのフォントを試す分には何にも問題無く使えてるのですが、 こういうのってウディタ側の問題なのでしょうか?
ただ変と言われても誰も判断できないと思うよ 表示がおかしくなるフォント名、ファイル名、ウディタのバージョン、具体的にどんな表示になって変だと思ったのか、あたりを書けば答えやすいんじゃないか
回答どうもです 再配布可能とある851ゴチカクットを 現状の最新ver.のウディタで試していました 新しいものみたいなので対応していないだけなんでしょうか? サイズ変更とかも試したのですが 文字がひと昔前のゲームでバグった時の感じになってダメでした
やってみたけど普通にできるで ・Game.exeと同じ場所(もしくはDataの中)にない ・フォント名を 851ゴチカクット にしていない ・フォントが非対応の文字を使っている ・\font[XX]の番号が間違っている ぐらいしか思いつかん
どうもです フォントタイトルの入力違いだったみたいです 無事機能するようになりました 回答ありがとうございました!
ファイル名間違ってもMSゴシックだかの標準フォントで表示される認識だったけど、表示バグるんだな 知らなかったわ
質問です 文章の表示で \cself[5]は\n\udb[3:\cself[1]:0]を 手に入れた! と入力していて だれだれは 武器を 手に入れた! と表示されてほしいのに だれだれは 武器 を 手に入れた! と勝手に変な改行が入ることがあります。 参照先によって表示がまちまちなのでこうなってしまう原因が特定できません。 詳しい方いたら情報ください。
自分はDBに文字列を入力する時の改行が分かりづらくて、意図せず改行を入れてしまってる時があるなあ それとは違う?
>>558 返事遅れてすみません あぁそういうケースもあるのですね DB・コモンともしっかり確認してみます 回答していただきありがとうございます ハゲ頭の主人公画像の上に髪型画像を重ねる、髪型チェンジ機能を作成しました この主人公を半透明で表示しようとすると画像一枚一枚が半透明になり、下のハゲが丸見えで大変な事になります 複数の画像を合成してから表示するような機能、 もしくは他の解決策があれば教えていただけたら助かります
合成してから表示するような機能はない やるとしたら頭ごとすげ替えるか、矩形で切り取れる範囲で髪型を変えるエリアを作るか ざっくり言えば重ねて表示するような部分を作らないようにする感じ
合成機能はないんですね 頭ごとすげ替えるというのは目から鱗でした!!! 髪型と輪郭を同じ画像にして、その上に顔の中身(表情)画像を重ねる方法を試してみます(これでも少し重なる部分が出てしまいますが) 自分では気がつけなかったので相談してよかったです ありがとうございました!
質問です! 動作基準の3つの変数A,B,Cがあって Aに0を代入すると動き/攻撃、動作を終えたらそのAは1に Bに0が代入されると動き/攻撃、動作を終えたらA同様に1になり Cも同様の処理がされ、その後にAを0にして実質ループしていく形のものを作りたいんですが 処理がこんがらがってしまいました 簡単で分かりやすい組み方は無いでしょうか? 教えて貰えると助かります!
何がしたいのか、何が分からないのか その辺がよく分からんからもう少し具体的にどうぞ
書いてる情報が正しいなら次の3つのイベントがあって @A=0のとき、処理して、A=1 AB=0のとき、処理して、B=1 BC=0のとき、処理して、C=1,A=0 初期値は大抵0だからBの後に@が処理された場合 A=B=C=1になってループが止まっちゃうって話かな? 情報がないとわからんな
すみません、自己解決していました! 回答して下さってありがとうございます
質問です 文字列操作のキーボード入力を使おうとしたんですが 表示しているピクチャの上に文字入力のピクチャ(?)が表示されませんでした キーボードでの文字入力の際に 文字に使われているピクチャ番号等は分かりませんでしょうか? もしくは入力のピクチャのようなものが表示されない条件など あったら教えて下さると助かります
自己解決しました コモンから直に呼び出すのではなく 並列コモンにして起動したら上手くいきました
質問お願いします 基本システムを改造してRPGを作成中です 戦闘で 1ターン目に力を溜める 2ターン目の最初に技をはなつ という特技を作りたいです 状態異常や特技の設定だけで実装する方法が思いつきません 専用のイベントを作らないといけないでしょうか?
専用のイベントというか 戦闘システム改造しないと無理だと思う
回答ありがとうございます 専用イベントはおろか、戦闘システムの改造は私の手に余るので今回は諦めたいと思います
祖先のコテだったか分からんが あれアーチャー、メイジタイマンだと回復ポイントになるのすこ
質問失礼します 練習でアイテム欄を自作していて、アイテムを画像でピクチャ表示しています アイテムを新しく取得したり、アイテム使用して(使い切って)消失するというのはできたのですが、 消失したときにできる空欄を前につめて表示するというのがどういう処理をしたら分かりません 既出だったらすみませんがどなたか教えてください
どの仕様、どの時点での処理の話かで異なる ・使い切った後にアイテム欄を開いたら(アイテム欄を描写したら)空欄がある →DB側を整理できていない。前から1つずつ調べて、空欄があったら以降のデータを1つずつ前にコピーする処理を作る ・アイテム欄を開いた状態(1度アイテム欄を描写した状態)で使い切ったらアイテム欄に空欄ができる →最初にアイテム欄を描写する時にちゃんと詰められているのであれば、アイテム欄の再描写を行えば良い。当たり前の話だが、使い切った部分だけを消すと空欄ができる
>>574 ありがとうございます その二つだと上に該当すると思います 完全に書き忘れてたのですが今はピクチャをベタ表示しているだけでBD側はほとんど手を付けてないです まだ理解が追いついていないところもありそうなのでもう少し勉強します 牧場物語のような感じでゲーム内時間に沿って住人が ベッドから起きる→店に歩いていく→店番開始→帰る→ベッドに入る というような感じにマップを移動するゲームが作りたいです 時間の概念や日が上ったり暮れたりする処理を作るのには成功したのですが、 時間によってキャラクターの行動を変化させるのはどうやったらいいのか糸口が掴めず途方にくれています 移動させるマップやさせたい動作ごとにイベントを用意する必要があるのでしょうか? 主人公につまって足止めを食らった場合のタイムロスなどにはどう対処すれば? など疑問だらけです 皆さんならどのような感じで実装しますか? 初心者がウディタのみで作るのは無理があるでしょうか? まとまりがない質問で申し訳ありませんが、ご意見いただけると幸いです
・住人の行動なんかは全部コモンイベントで設定 ・住人用に空のマップイベントを設定 ・マップイベントに経路用のノード(経由点)を設定 ・主人公がマップ移動した時、もしくは住人がそのマップに移動した時、空のマップイベントと住人のコモンイベントを紐づけするコモンを作成 大体この辺りまでやって、 時間から、主人公と同じマップに存在する住人がその時にいるであろう場所(移動中も含めて)を計算し、描写する。 タイムロスなんかは気にしない。マップ移動なんかで新規描写を行った場合は、タイムロスなど関係なく本来いる位置に移動する。 って感じで作るかな。実際にやったことがないから、これで出来るかは知らない。 ウディタのみとか関係なく、初心者が作るには結構大変だと思うよ。
>>578 なるほどー!! 自分では気がつけない事ばかりですごく勉強になりました とくに空のマップイベントを設定しておくのとそれを紐付けするコモンというのが凄いです!!! まだ完全には理解できていないのですが、光明が見えた気がします うまく出来るかは分かりませんが初心者なりに頑張ってみようと思います 希望が持てました!本当にありがとうございました!!! また行き詰まった時には相談に乗って頂けると助かります プレイ時間についてです ・セーブした時、総プレイ時間が表示されるようにしたい システム変数29番で計算して表示するのはできましたが、 ・一つなら問題ないが、複数のデータにセーブしたときにすべて連動して同じ時間になってしまう ・ロード画面で時間が0になる(ロードすれば記録した時間にはなります) この二つが調べても解決できませんでした セーブ・ロードコモンは自作です 初心者ゆえ説明下手ですみませんがどうかご教授お願いします
たぶん同じデータのプレイ時間を参照しているからそうなっている。 それぞれのセーブデータのプレイ時間を参照する必要がある。 ウディタの基本システムだと、コモン094の276行目でセーブデータからプレイ時間を読み込む処理を行っているから、それを参考にすればいい。 それぞれのセーブデータの情報表示自体は178行目〜516行目かな。
×コモン094の276行目 ○コモン094の276行目〜313行目
>>581 580です ご指摘通り同じデータを参照してしまっていたようです 基本システムなどを見ながら作り直したところ、無事改善できました ご丁寧に教えて下さりありがとうございます! 探すとHPなどを数字やゲージで表示するコモンは結構あるんですけど、 ゼルダみたいなライフ表示ができるようにするにはどうしたらよいのでしょう?
やり方自体はゲージの亜種みたいなもんでしょ 1つのハートでHP何個分の情報を含有するのか知らんけど 例えばハート1つでHP2(完全なハートの状態と半分に欠けたハートの状態)を表すのであれば 最大HPを2の倍数で増える形にして、 ・ハートの最大数 最大HP/2 ・現在体力 現在HP/2が完全な状態のハートの数 現在HP%2が1の場合は上記に加えて欠けたハートがある って感じで表現する
ハートの表示はできましたが、まだHPの増減に上手く連動しませんでした (想定通りに減らなかったり、回復しても増えなかったり) なんとなく見えてはきたのでもうちょっと試行錯誤してみます ありがとうございます
質問です。 【やりたいこと】 NPCの動作が【常に主人公に接近するが、Zキーを押した瞬間のみジャンプ】となるように 【やったこと】 以下のコモンイベントを作成したのですが上手くいきません。 ▪キー入力:CSelf 10 決定(10) ▪条件分岐(変数):【1】CSelf10が10と同じ -◇分岐:【1】[CSelf10が10と同じ]の場合↓ |▪動作指定:Ev1 /ジャンプ-右0下0 |▪ -◇上記以外 |▪動作指定:Ev1/主人公に接近 |▪ ◇分岐終了◇ ▪ また、NPCのマップイベントでの設定は、動作ルートの項目を【動かない】としています。 【問題点】 これでテストプレイした所、キーを押すタイミングによってジャンプしてくれない時があります。 また、【動作指定:Ev1/主人公に接近】に動作完了までウェイトの項目にチェックを入れて再度検証すると、 一応必ずジャンプしてくれるようにはなったのですが、今度は押してからジャンプするまでラグが発生します。 改善点やアドバイス等、お待ちしております。
仕様上、マス間(マップチップ間)移動時に別の動きは不可能 ラグがあるのもマス間移動中にキーを押下しているから 動作完了までウェイトにチェックを入れない場合も、それが原因でジャンプが機能しない(厳密にはそれに加えてウディタの仕様が原因。>>250 辺りの回答で分かりづらいけど解説している) 解決策は大きく2種類あって ・マス間移動の時間を十分に短くする ・マップEvの移動等をコモンイベントで制御し、キャラチップをピクチャで表示する のどちらか ・マス間移動の時間を十分に短くする マス間移動の時間が2F程度であればラグはあまり体感できないはず 例えば32pxのマップチップを使っている場合、全歩設定なら16px/F、半歩設定なら8px/Fで動かせば良い ・マップEvの移動等をコモンイベントで制御し、キャラチップをピクチャで表示する 自分でマップEvを移動させて、マス間移動中でも他の動作を割り込ませられるようにする方法 マップEv自体は当たり判定に用いるだけで、キャラチップはピクチャを使って表示・動作させる ただしマス間移動中にジャンプ等の別の動作を割り込ませた場合、見た目の位置と当たり判定にズレが生じるため注意が必要 >>588 上手くいかなかった原因についてよく分かりました。 キャラの速度は変更したくないので、2つ目の解決策を試してみようと思います。 ありがとうございました。 質問です。 メッセージ表示コモンを制作しているのですが 両側に顔グラを表示させて 新しいキャラの顔グラが表示されたら もう一方の顔グラは暗くするという仕様にしています。 例:最初基本システムの様に右側に顔グラを表示して、新しいキャラの顔グラを表示する時に右側の顔グラを残したまま暗くして、左側に新しいキャラの顔グラを表示。右側に新しいキャラを表示する時に右側の顔グラを消して、左側を暗くする。それを繰り返す。 表示して暗くして両側の顔グラの表示を繰り返すとこまではできたんですが、 元々左向きの顔グラの画像なので、 右側に表示させる時に拡大率-100%で反転させているんですがその後に拡大率を画面サイズに合わせて調整させると反転が戻ってしまいます。そのバグだけ直せれば完成なのですが、 どうやって反転しつつ拡大率を調整できますか?
>>591 返信遅くなりすみません。 *-1を試しましたが反転はするのですが 拡大率は100分の1になってしまいました。 拡大率は変数を使っているのですが素材を変更するしか方法はないのでしょうか。 >>591 すみません ピクチャの拡大率に直接*-1をしていました。 変数に*-1をするんですね。解決しました。 ありがとうございます。 質問です。 カードの山札(CDBの値)をシャッフルするコモンというものを作ったのですが 連続したバトル、というかコモンを連続しているとその後の処理をしなくなります。 こういった場合の解決法って何かありますか? コモンの問題と言うよりはウディタ側の問題なのでしょうか…
そもそもどこで止まってんのか分からんから何とも言えん 普通に考えたら、CDBの値をシャッフルするコモンを2連したぐらいで止まることはない 初期化がミスって無限ループしているだけだと思う
コモンイベントを作りすぎるとゲームが重くなる(扱う変数が増えるため)と聞いたことがあります これはマップイベントでも同様なのでしょうか? 町や部屋のオブジェに片っ端からマップイベントをセットしているので心配になってきました
質問です 椅子を調べるとその椅子に操作キャラが座る、というイベントを作っているのですが 座る→立ち上がったときに椅子のチップが一瞬消えて点滅したみたいになってしまいます 座っているときにまばたきさせたくて、今は椅子をキャラチップ表示で待機時アニメにしているのですがそれが原因でしょうか? マップチップに直接描き込んで切り替えたほうが楽ですか?
現代素材を使いたいんだけど16×16で使えそうなのあるかな みつかったのが16企画じゃないのしかなくて…
というかこうだった 二つ以上のマップチップをまぜて使ってるマップがあるけどどうやるかわからない 公式のマニュアルに乗ってなかったし
>>599 すみません 自己解決いたしました 普通にキャラと椅子とを分ければいい話でした ほんとに初心者ですみません ウディタ本体のアプデは、プラグラムのみをDLしてConfigを差し替えればいいですか?
プログラムのみのzipをダウンロードして解凍 中身(Game.exeとかEditor.exeとか全部)を更新したいフォルダに全部上書き 一応上書きする前に元々のデータをバックアップしとけ
>>604 無事にできました ありがとうございます! 質問です。 画面サイズを360×240にしていたのですが、 途中でピクチャの解像度をあげたくなったので、 サイズを最大の1280×960に変えたのですが、 タイルサイズが16×16なのでマップが小さくなりました。 サンプルゲームでズームを活用すれば1280×960でも以前の360×240のマップの大きさに出来ると思ったのですが、 ズーム座標を画面の中心にして試したり、主人公の画面座標のズームで試してみたところ、真っ暗になったり、 主人公が真ん中に表示されず移動してもずっと端に表示されたりと自分の思い通りの中心に表示されません。 どうしたら1280×960でも320×240のタイルサイズ16×16のような画面で遊べるように出来ますか?
画面座標を使ってズームの中心を指定。1280*960ならX640とY480が画面座標の中心 ただズームしっぱなしだとマップ端が映らない。 ゲーム画面サイズ[pixel] * ( 1 - 100 / 拡大率[%] ) / 2 が見えなくなるマップ端のピクセル数。この値を更にタイルサイズで割れば見えなくなるタイル数が計算できるから、その分の余白を取ってマップを作る必要がある。 ちなみに320*240のゲーム画面サイズでピクチャを2倍表示にしないってだけなら、ピクチャ表示で拡大率50%を指定すればいい
コモンを作っている最中に再読み込みしたらFPSが10くらいに下がってカックカクになってしまいました 並列処理を作っていた訳でもないのに常に重くて訳がわからないし、 作成中だったコモンを一時的に削除してみても直らなくて困っています バックアップをとっていた少し前のデータでは軽いままなので、PCがおかしくなったとかではないと思います 処理が重くなる原因を突き止める方法はないでしょうか?
ウディタはもう使用してないけど中の人のツイートはたまにチェックしてる 時折生活が苦しいつぶやきはあったんだけど最近連発してるようなので ウディコンやってる場合じゃないくらい死にそうに感じる ドネーション(寄付)も本格的に受け付けるようになったし寄付したれよお前ら 質問スレはヘビーユーザーだろ? マジで死ぬ感じする、ちゃんと伝えたからな
テストプレイしてる時に上のウィンドウタイトルに色々文字が出てくるだろ skipx3とか書いてないか? configで指定できるフレームスキップの項目の設定で、描画が重い時なんかにfpsを減らすことが出来る機能なんだよ configで指定しなくてもゲームプレイ中にF5で指定できるから、たまに指があたってフレームスキップされることがある
>>610 こんな便利な機能があったんですね! しかしおかしな動きをしている処理は無さそうでしたし、 動いている並列コモンを全停止したりしてみましたが改善には至りませんでした >>612 実は意図せずF5を押してしまって驚くというのを何度もやらかしていますが、 今回の原因はそれではないみたいです 正常な旧データに新しく作ったコモンやDBや画像を移したところ、重くならずに動作してくれました! 何が原因かは謎のままですが、とりあえず直ってよかったです 皆さんありがとうございました!!! パラメータがうまく作れないけどどういう風につくればいいとかありますか?
質問です! 画面の色調変更を60フレーム掛けて行うイベントを作ったのですが、色が変わったと思ったらその後にすぐ元に戻ってしまいます 同一マップ内に自動実行や並列実行イベントはありません また、「フラッシュにする」にチェックも入れておらず、RGB全ての数値は0~200の範囲に収まっています この他に原因があるとしたらどのような事が考えられますか?
どっかでリセットしてんじゃないかと思うけど 今確認できる環境にないから答えられない
>>618 返事遅れました回答ありがとうございます! うーん探してみても難しいですねこれ…… エフェクトのあとに60フレームウェイト入れて想定通りに動くなら 自分自身で上書きしてるんじゃね 想定通りに動かなきゃ並列イベントの確認不足かと
質問失礼します 配置キャラの感知範囲に入ると主人公から逃げ続け、それを捕まえるというイベントを作りたいのですが、 3×3の感知範囲を設定して、逃げ出すまでは設定できたのですが そこからプレイヤー接触もしくは隣接した状態で決定キーで捕まえた扱いにするには どういった設定をすればいいのでしょうか
>>621 まずどういう設定にしてる? 配置キャラのイベント設定 ページ1 接触範囲3×3 起動条件「プレイヤー接触」「セルフ変数x=0」 イベント内容 「セルフ変数x=1」 「メッセージの表示(必要ならば)」 ページ2 接触範囲x0、y0 起動条件「決定キーで実行orプレイヤー接触」「セルフ変数x=1」 移動ルート「カスタム(プレイヤーから離れる)」 イベント内容 「捕まえた時の処理(メッセージ表示など)」 こうすれば接触範囲に入った時点で逃げ出すように切り替わって、接触もしくは隣接状態で決定キーで捕まったイベントになるはず 質問させていただきます。 イベントコマンド入力のキー入力、キー入力受け付けで特定のキーのみ判定をコマンドとして入力したとき、 エディタに(Aキー)や(右Shiftキー)といったようにそのキーコードに対応したキー名が日本語で表示されますよね。 あれのように、入力されたキーのキーコードに応じたキー名を文字列として読み込んで表示したいのですが、どのようにすれば可能でしょうか。 文字列操作、キーボード入力でどうにかできないかと考えましたが(○○キー)といったような表示はできませんでした。 何卒よろしくお願いします。
キーコードとキー名の対応リストを用意して参照させれば可能です
キー設定してデータ抜き出してくるだけ 例えばsys52にキーコードを入れると、それに対応したキーの名前がsysS1に代入されるから sysS1の中身をコピーすれば良いだけ 間に1F挟んだりする必要もないから、キーの元々の設定を取得しておいて、キーの名前を調べた後すぐに戻せば問題ない
すみません、質問させてください。 「画面作成コモン」を試しているのですが、作った画像が表示されません。 イベントの直後に文字表示を置いたところ文字は表示されるので、イベントそのものがスキップされていると思われます。 ◆基準Pic番号 ◆処理区分 ◆キャンセルキー ◆サブキー のいずれかの指定が間違っている疑いが強いです。 できればサンプルになる画像など見せていただければ助かります。お願いします。
はじめて質問させていただきます。 下記のような処理をするには、どのようにしたら良いのでしょうか? 主人公に対して『強制レベル変更・強制ステータス変更・強制装備品変更・強制スキル変更』 使用する場面→『イベント終了後に、上記の処理を行って主人公を強化ないし弱体化する』 外部コモンの導入が必要の場合、もしその外部コモンをご存じならば教えて頂けると幸いです。 (自分の探し方が悪いのか、基本コモンや外部コモンから見つけ出せなかったので…) 初歩的な質問かもしれませんが、どうぞよろしくお願いいたします。
>>628 実際にウルフエディターを触り始めたらば、自己解決いたしました。 コモンイベントエディタのデフォルト機能にあるのですね。 お目汚しすみませんでした。申し訳ありません。 >>624 >>625 返事遅れて申し訳ないです。 回答ありがとうございます。 教えていただいた方法でやってみます。 ウディタで好きなフォントを使う場合ってフォントファイルをそのままフォルダに突っ込むんですよね これって再配布に該当するのでしょうか? 使いたいフォントの規約にゲームへの使用(埋め込み)はOKと書いてあったのですが ファイル自体の再配布はNGとの事 埋め込みとはどういう状態の事をさすのでしょうか? ウディタでも埋め込みは可能ですか?
ウディタだと埋め込みできないから無理なんだよな フォントはそれが面倒くさい
>>632 やっぱり無理でしたか となるとウディタでは使用できないフォントの方が多そうですね ありがとうございました ループ処理を行う際の処理についての質問です。 例えばゲーム中で動く弾を1000個動作させる等する際に、私は下記のようにするのですが 条件分岐の処理が重いので、それよりも処理速度が速いやり方があれば教えていただきたいです。 ■変数操作: CSelf11[ID] = 1 + 0 ■回数付きループ [ 1000 ]回 |■DB読込(可変): CSelf10[処理フラグ] = 可変DB[ 0 : CSelf11[ID] : 0 ] ( : - : ) |■条件分岐(変数): 【1】 CSelf10[処理フラグ] が 1 と同じ |-◇分岐: 【1】 [ CSelf10[処理フラグ] が 1 と同じ ]の場合↓ | |▼ 処理 | |■ |◇分岐終了◇ |■変数操作: CSelf11[ID] += 1 + 0 |■ ◇ループここまで◇◇ 質問するにあたって思いつく範囲で試した所、0回ループやラベルジャンプによるスキップは条件分岐を使うよりも重いか同程度のようです。 また、▼ 処理の内容が長い場合は▼ 処理を別のコモンイベントで行うとスルー時の処理が若干軽減されるようです。 (0回ループやラベルによるスルー時の重さは行数依存だと聞いたことがありますが、条件分岐も?)
ウディタでRuinaみたいなゲーム作ってみたいのですが、ああいうのってプログラミングとか他の専門知識ないと難しいですか? ウディタでまさに似たようなもの作ってる人いますがオープンソースじゃない
>>635 何を言いたいのかわからないが まずウディタで一回でもゲーム作りきってから言おうか 基本的に算数と国語ができればウディタ使えるはずだけど とりあえず作れるんなら作ってみたらいいのでは 実装方法がさっぱりわからんというなら無理だろうけど
魔法じゃなくてタネも仕掛けもあるんやで 大体のところは素材を集めて並べたり組み合わせたりするだけやで
プラットホームがツクールのものをウディタで再現するなら 結局自分の手持ちの技術で何か似てるゲーム作るだけになるからな どこを似せたいのかでどんな技術を使うかなんか他人が推し測れるわけもない
>>634 漏れは、WOLF RPGエディターは知らないけど、 Software Design 8月号のMySQL の特集に書いてあるけど、 DB アクセス時間のほとんどが、NoSQL の場合は、ネット回線の通信時間。 SQLの場合は、上に加えて、統計分析・コンパイル時間もある ループ内で、ループ回数分、SQLを発行するのは「ぐるぐる系」というアンチパターン。 これを1回のSQLに変えることを「一発系」という 千回のアクセスを、1〜10回ぐらいに集約する 他には、ストアドプロシージャもある まあ、DBアクセスの前後で、時間を測って、 DBアクセスがどれぐらいの割合を占めているのか、プロファイルしてみれば? ゲーム中のキャラ絵や敵をアニメーションさせたい場合はウディタとツクールどちらのほうが楽ですか? NAnimEditorの成果物のサンプルが少なすぎてどこまでできるのかも正直わかりません。 ゲームでアニメーション組み込みたいならlive2d等のgifに対応しているツクールのほうがいいですか?
>>641 せめて ツクールの versionを 書け 基本システムの話なんだけど、戦闘コマンドに8文字くらい使いたい。 でも横幅に制限があるから文字が潰れて縮んでしまう。 なにか良い解決法はないかしら。ガッツリ改造するしかない?
力技ならピクチャ化して¥img[]で入れるとか? 一文字ずつ座標調整とか
コマンド名のフォント小さくするか枠を広げるかじゃない? フォントサイズならUDBのコマンド名のところで\f[XX]と\my[XX]でサイズと表示の高さを変更する ウィンドウサイズならコモン192の「X┃┣◆味方コマンド選択」の 75行目(横幅)と86行目(幅に合わせて左に移動)の数値を変えればいい
幅やサイズ調整は試したことあるけど、それをやると文字が見えないくらいちっちゃくなったり、端のキャラのコマンドが画面からはみ出すとかが起きる。 枠を広げつつコマンド位置を中央とかに固定してしまう。ただし誰のコマンドを選んでいるか分からなくなるので、光らせるとか別途表示するかしないといけなくなる。 つまり「ガッツリ改造する」しか思い浮かばねぇ。
つうか具体的に何文字にしたいの? あの幅は最大横100ピクセルだから 8*8の極小日本語フォントなら全角12文字 半角なら25文字は潰れなしで表示できると思うぞ
補足だがもし8文字丁度ならコマンドの名称に ¥f[12]をつけるだけでだいぶ綺麗になると思うぞ
ウディタにマップチップの色(RGB)を算出する機能ってありますか?
cdbのデータを読み込むときの質問です 初期値は 0~2のうちの 0 なんですが、それに何も手を加えず読み込んだら 2 になってしまってます ゲーム開始時に最大値に勝手に切り替わってしまう仕様なんでしょうか? どうすれば 0 スタートにできるのでしょうか
初心者です マップ上でキャラを驚く、笑うなどアニメさせるコモンを作ったのですが不具合が多いです アニメーション中に文章の表示を行うと文章ウインドウが表示されなかったり、特定のキャラNoだとアニメが表示されなかったりします(毎回ではない) 2つのコモンを使い、コモンaでは使用するピクチャ番号、キャラNo、動かすマップイベントNoの三変数を入力 ここではマップイベント1-20のxy座標を取得し、キャラNoに応じてUDBから使用するアニメを読込み指定したイベントの位置に表示します 次のコモンbには直前動作と今回の動作それぞれのフレーム数、動作No、動作終了後終アニメを消去するか、の4変数を入力 直前動作のフレーム数だけウェイトした後に、画面サイズによる拡大率修正し、コモンaで指定したイベントを動作指定で不透明度0にし、1フレームウェイトを挟んで動作Noに応じてアニメのピクチャパターンを変更(0フレーム)します 動作後消去する場合は動作フレーム数だけ発動ディレイしてからアニメのピクチャを不透明度0にします この2つのコモンの後に指定したマップイベントを不透明度255にして戻す、という処理をしています お答えいただきたいのは不具合の原因となる箇所がどこか、またはもっとやりやすい方法のどちらかです。 分かりづらいところがあれば質問を書き直しますので解決策を教えていただければ大変嬉しいです。
>>654 使用するピクチャ番号が被ってないって保証ある? ないなら被ってないと保証できる番号を割り当てるか 未使用ピクチャ番号探して割り当てる処理はさむか、かな メッセージウィンドウを改造して名前表示有り顔グラ無しにしたいのですがうまくいきません cdbに話している相手キャラのIDを入力する欄を作って、会話するときに(マップイベントから)IDをcdbに書き込み、メッセージウィンドウコモンで読み込み表示 というやり方を試しましたがうまくいきません ¥cdb[]を使って確認したところマップイベント内では書き込んだ数値が反映されていてコモンイベント内では反映されていませんでした
>>655 ありがとうございます。 ピクチャ番号は被っていませんでしたが、今後も気をつけようと思います。 >>656 その方法の是非は置いといて \cdbって可変dbの中身を読み込むだけだから、マップイベント→コモンイベントの順番で中身を表示して反映されていないって言うなら、その間にどっかで可変dbの中身を初期化しているだけじゃねーの >>658 初期化してる部分が無いように見えますが私の未知の処理で初期化されてるのかもしれません…… もっといい方法があれば取っ掛りだけでも教えていただけると嬉しいです 顔グラのように何らかの記号の後にキャラIDを書き込めばcdbに置いた名前が表示されてくれるとベストです 不思議な力で書き換えられてることを察したら一度すべてのイベントからの検索をすることをお奨めするよ 全自作ですべての処理を把握しているのでない限り、何かしら悪さしてる行があるはず
普通に@2とかで良いんじゃないの 顔グラ表示/消去のところから顔グラ表示部分を消去して、名前表示/消去用に改造するだけでしょ システム側で顔グラ表示しているわけじゃなくて、コモン側でsys0に格納されている@1とかの数字を読み取ってsysDB24から読み込んで表示しているだけだよ あとは名前だけ表示するコモンを作って文章表示のコマンドの直前に呼び出す方法とか、文章表示のシステム自体を自作する方法とかもある。 こっちだとdbを介する必要もなくて、直接名前を入力するだけで良い。後者はかなり大変だと思うけど。
>>660 コモンイベントコマンドの検索の検索範囲に全てのイベントがあることをはじめて知りました 勉強になります >>661 sysの仕組みがまだよくわかっておらず、顔グラの辺りを改造しようとしましたが上手くいきませんでした でも名前表示コモン作る方は上手くできたのでこれを使っていこうと思います 例を複数出していただいてありがとうございました とても助かりました 変数操作+の主人公の向き(テンキー対応)てのは ↑ 789 ←456→ 123 ↓ で正しいの? あるイベントの1マス下から主人公を上に向かせるという設定をしたのに効果が出ないんだけど ■変数操作+: CSelf1[主向き] = 主人公 の 向き(1〜9) ■条件分岐(変数): 【1】 CSelf1[主向き] が 8 と同じ この条件だけ削ったら発動したからここに不具合があるのは間違いないんだが
その分岐って"主人公が上を向いているとき"って分岐のさせ方だよ その分岐の中に主人公を上に向かせる処理があるなら、そりゃ発動しないよ。上を向いているときに上を向かせる処理なんだもん
言葉が削れてた 「上を向かせるとイベントが発動する」という設定にした ね
パッと見だと問題ないから実装のさせ方が悪い その部分だけだと分からんけど、単に主人公が上を向くまで方向を取得し続けていないとか、もしくは並列実行で行っていないとか、並列実行以外で実装したいならループ内に主人公を操作するシステムを組み込んでいないとか
イベント動作指定で主人公が動かない事があります OPイベントを作ろうと、ゲーム開始位置のマップに通常変数a=0で自動実行するイベントを作成しました その冒頭で主人公を動作指定で指定座標まで歩かせようとしたのですがキャラが動きません その後主人公の座標を読み込んだら本来たどり着いてるはずだった座標が読み込まれました しかし表示されるキャラチップは半歩だけ歩いた状態で静止しています 初心者丸出しの質問ですいません そこそこボロくて遅いPCを使っていますがその処理落ちなどの可能性もあるのでしょうか?
>>668 その処理はしていませんでした。 もう一度確認したところ主人公の座標は画面に映っている通りでした(到着しているはずだった座標、というのは間違いでした。) 間違った情報で質問するという失礼をして申し訳ないのですが、改めて解決策を教えていただければ嬉しいです。 正直なとこさっぱりわからんけど適当に書くわ ・ウインドウ枠に表示されてる情報が停止後も更新されるか ・スキップする設定とかしてないか ・同時に動き始める並列処理がないか ・キャラ動かすときに動作完了までウェイト入れて変わるか ・config.exe開いて設定変えても同じか 試してみてもらったところで的確な回答はできないけど いろいろやってみると発見があるかもね
動いていないなら並列実行で主人公の動作指定しているのが原因定期 ダッシュコモンとか入れてるんでしょ
>>671 おっしゃる通りでした コモンの作り方にも注意書きとして載ってたのに作って走って満足して忘れていたクソマヌケでした >>670 も非常に参考になりました 今後の自分用不具合時チェックリストに書いとこうと思います 皆さん本当にありがとうございました ウディタで以下のようなイベントを作りたいのですがどうやったらできますか? 物を調べたら「○○だ」と表示される ↓ あるイベントを行う ↓ 同じものを調べた時「よくみたら○○とかいている」と表示が変わる という風にあるイベントを行ってからでないと表示されるメッセージウィンドウが変わらない、というのを作りたいです。 アイテムの所持による条件分岐みたいなのは使わない方法あったら教えてくださいンゴ
>>673 内容が基礎の基礎すぎてこの段階で聞いてたらまともに物が作れるとは思えないな ヒント:変数 ゲーム公開時に関する質問です あるゲームのファン作品を作っておりまして、自作のものにもそのゲームのサントラを利用したいです 当然私のサントラのデータをまとめて公開するわけにはいきませんので、ダウンロードする側が当該サントラを持っていればそれを使用したいのです データのうちBGMフォルダのみ暗号化せずにゲーム化し、相手側にそこにサントラデータを入れてもらえばそれを再生出来るのでしょうか?
WAV、MP3、OGG、MIDIならできるんじゃないかな ない場合の処理を書く必要はあると思うけど
ありがとうございます 持ってない人向けにフリー音源だけに変えたverと、サントラ音源に設定したままbgmファイルを空にしたverの二種類を公開しようと思います
壁にくっついている電気をつけるスイッチのチップを探しています。 どなたか心当たりある方いらっしゃいますか?
ランダムに敵キャラやオブジェクトのイベントを生成して配置するコモンを作りたいのですが、 イベントの複製が出来ないっぽいのでどのような処理をしたらいいのか分かりません。 それぞれに攻撃や移動などといったコモンを持たせたいです。初歩的な質問で申し訳ありません。
空のイベントを用意するのが一番手っ取り早い 用意したイベント以上のものは同時に設置できないけど、30とか40とか設置するわけじゃないならこっちの方が楽 一番上のページに空ページを用意して、起動トリガーを通常変数にしてコモン側で操作するってのが一番直感的に分かりやすい
ありがとうございます! まだ高度なコモン制御できる自信がないので管理しやすい方法を教えてくださり助かります とりあえず20個ぐらい空イベント作ってきます
質問失礼します 文章スキップのコモンを作っています 文章表示中に特定のキーを押すと文章が瞬間表示される、というのはできたのですが、 文章が表示される前からそのキーを押している必要があり、表示中、途中から押しても機能しません 途中からでも機能させるにはどうしたらいいでしょうか? 分かりにくくてすみませんがよろしくお願いします
ウディタの文章表示機能では文章中に差し込んだ\sp[]以外で文字速度を途中変更する手段がない だから自前で文章表示機能を作るしかない 特殊文字とかも全部自分で作る必要があるし、どうしても欲しいなら既存のものを取ってきた方が早いと思う 取ってきたものの中身は解説できんけど
>>685 そうなんですね… どうしてもという訳ではないのでこのままでいこうと思います ありがとうございました 初めまして、ウディタ初心者です。皆様のお知恵をお借りしたく書き込みさせていただきます。 イベントに通りかかるとイベントから吹き出しがポップアップするシステムを作りたいのですが、接触範囲拡張を使用すると主人公が接触範囲内にいる限り新たに延々と語りかけてきます。(例:「こん(主人公歩く)「こんにち(歩く)「こんにちは!」以下ループ) ですので、接触範囲内にいるうちは一度しかポップアップイベントが発生しないイベントの組み方を、ご教唆いただければさいわいです。読みにくいところがあればすみません。よろしくお願いいたします。
ポップアップが起動している場合に立てるフラグ(変数)を作る ポップアップの起動の際、そのフラグを参照して、フラグが立っている場合は起動せず終了、フラグが立っていない場合はフラグを立てて起動する。 あとは終了時にフラグを折っとけばいい
>>689 ご回答ありがとうございます! 教えていただいた方法も含め、いろいろやってみたのですが、今度は全くポップアップしなくなったりとうまくいきませんでした… もう少し頑張ってみます。ありがとうございました! あーそれだとフラグ折るので詰まってそうだな。ポップアップはディレイかなんか使って消してるのかな じゃあポップアップで使用しているピクチャ番号が使用されているかどうか調べて、使用されていない場合のみポップアップ処理を行うようにすればいい
つかウディタなら前に答えた方法よりこっちの方が多分楽だな
>>691-692 あ、あ、あ、できましたー! 教えていただいた通りに組み直してみたところ、思い通りの処理をしてくれるようになりました!何日も悩んでいたので、とっても嬉しいです!ありがとうございました!! 武器及び防具の装備時・専有箇所の項目の選択肢をを増やしたいのですがどうすればいいのでしょうか? 防具が装備出来なくなる武器や両肩装備として防具5と6のみ、両脚装備として7と8のみを専有するようにしたいのですが… 大人しく肩装備、脚装備でひとまとめにしてしまった方が良いですかね?
実際出来るか試してないけど、選択肢的に多分ビット積を調べていると思うから、それに準じて項目を増やせばいい 武器、防具1〜7の装備箇所が存在するとして、 防具5と6のみ占有なら 2^5 + 2^6 = 96 防具7と防具8(防具8はデフォだと存在しないから自分で追加するか妥協して)なら 2^7 + 2^8 = 384
諸事情でポケモン風のゲームを作っているのですが、鳴き声(其々のモンスターに付随した音源)の再生って出来ないでしょうか。。。 個別にやろうと思えば100体近く設定しなきゃいけないのでudbのモンスターリストから参照したいのです。。
普通に戦闘で出てくる敵キャラの情報を取得して、それに合わせて鳴き声出すだけじゃないの
udbを参照したいのです…って言われても 参照すればいいじゃんとしか思わんけどな 何に詰まってんの?
他の質問があるところ遮ってすみません 行うべき動作がすっ飛ばされる不具合?と言って心当たりある方いますか? マップ上でパーティ画像を消去し、あらかじめ透明で置いていたEv5-8に各キャラの画像を上書きして動作させる単純なコモンを使用しています。 その際特定のパーティメンバーを指定した時のみ上記の動作が起きないことがあります (毎回ではないし、同じイベント同じ動作でも指定キャラの変更だけで直ったり発生したりする) 消去の動作の合間に文章の表示などを挟んでもすべてスルーされます 一応場当たり的に直ってはいるのですが、他のPCでのプレイ時に再発したりしないか不安なので解決法などあれば嬉しいです
>>700 本当に単純なものなので画像であげるほどでもないのですが一応 @に3を指定したときのみ、Aの範囲がすべてスルーされます。 @のCself0は別のコモンに代入するためだけのものでこのコモン内では操作していません。 不具合は聞かないな 直前の「暗転」で何してるか知らんけど 「暗転」消しても上手くいかないのか?
コモン376ってどっかからコピペして改造したのかもしれんが自分で作ったコモンだろ その画像から見られる範囲でCself0が代入されてるのそこだけだし、悪さしているとしたらその中身としか思えないぞ
>>702 >>703 すみません、言われてもう一度調べなおしたところ原因が見つかりました Cself2が想定とは別の数値になっており、その理由はマップイベントを作った後から本コモンのCself2を追加で設定したため Cself2を指定せずに呼び出す状態になっていたためでした 親切に対応していただいたのに自分の凡ミスが原因で申し訳ないです・・・ 本当にありがとうございました ゆーいち動画落としてみたけど 初心者だからかこれの使い方すらわからん... コモン弄ればいいっぽいけどピクチャ番号だの何だのからもうさっぱりや 向いてないのかな 使い方わかる人教えてくれ...
ゆーいち動画は使い方のサンプルがあったはず それ見ても分からないなら多分向いてない