WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
フリーソフトのRPG製作ソフトWOLF RPGエディターの質問者のためのスレッドです。
教えられる方はできる範囲で教えてあげてください。
・ここは質問スレです。質問者や回答者を煽るようなレスは禁止です。
・もしあなたが憤りを感じたり荒らしだと思っても、放置もしくは>>1とだけレスしてください。
それ以上のことを書くと、それ自体が『荒らし行為となります』。ご注意ください。
・質問者もマナーを守り、回答がつきやすい質問の仕方をしましょう。
【良い質問の例】
・〜がやりたくて・・・までしたのですが、〇〇がうまくいきません。
【悪い質問の例】
・〜できますか → 大概できます。問題は「どうすればできるか」のはずです。実のない質問はやめましょう。
・〜のようなことがやりたい → 丸投げはやめましょう。1から全部教えてくれる人はまずいません。
何が分からないか分かるまで努力しましょう。全部分からないのなら、まずは講座サイトで勉強しましょう。
・コモンイベント集から○○のコモンイベントをダウンロードしましたがエラーが出ますor使い方が分かりませんor動きません等
→まずはそのコモンイベントの作者と連絡を取って下さい。ここにはそのコモンイベントの内容を詳しく理解している人が居ないため、あなたが望むような回答はできません。
◆WOLF RPGエディター公式サイト
http://www.silversecond.com/WolfRPGEditor/
◇本スレ
【ウディタ】WOLF RPGエディター 其の65 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/gamedev/1502397455/
◇前スレ
WOLF RPGエディター 質問スレ 其の10 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/gamedev/1463812471/
次スレは>>980が立てて下さい。
立てられない場合は質問を自重して本スレに報告して下さい。 「見本マップ見学ゲーム」のワールドマップの00番のイベントが参考になると思う
自動実行で起動、対象イベントを精密座標で移動させたらイベントの一時消去で消える 文字の影を非表示にする方法がわからない
■変数操作: Sys21:文字影付ける?(0=OFF,1以上=ON) = 0 + 0
を挿入というのは見つけたんだが、これをどうするかという以前の問題で困ってる SDBのタイプ6、データ21に文字の影が〜があるのは分かってて、項目加えて変数の値0にしてるんだが、何も変わらない コモンイベント一覧を開いて、右上にある検索ボタンを押す
検索語「文字影」、検索する範囲「全てのイベント」
引っかかった1行を変更したらいけた 質問です
メニュー開いた時に出るコマンド(初期設定だと相談やアイテム等が開ける場所)の数を増やしたいのですが、
どうすれば良いでしょう?
初期設定では8個まで設定できるようになっているのですが、9個目のコマンドを設定したいのです。
コモンイベント89のメニューコマンド算出をいじってるのですがうまくいきません・・・・・・ とりあえず項目数を10にするという仕様で説明する
-----------------------------------------
UDB17 システム設定 の項目番号35,36にそれぞれ、メニュー欄コマンド9、 メニュー欄コマンド10を追加
設定内容は項目番号3〜10と同じだからコピペして項目名だけ変更で良い
CDB18 基本システム用変数 のデータ番号100、101にメニュー9コード&名前とメニュー10コード&名前を追加
データ番号23〜30と同じような感じ。特に設定する必要はなし
-----------------------------------------
コモン088の155行目
| |■変数操作: CSelf10[一時変数A] = 23 + CSelf43[処理中個数]
を
| |■条件分岐(変数): 【1】 CSelf43[処理中個数] が 8 未満
| |-◇分岐: 【1】 [ CSelf43[処理中個数] が 8 未満 ]の場合↓
| | |■変数操作: CSelf10[一時変数A] = 23 + CSelf43[処理中個数]
| | |■
| |-◇上記以外
| | |■変数操作: CSelf10[一時変数A] = 100 + CSelf43[処理中個数]
| | |■
| |◇分岐終了◇
に変更 -----------------------------------------
コモン089の22行目に
■DB読込(ユーザ): CSelf28[コマンド9内容] = ユーザDB[ システム設定 : 0 : メニュー欄コマンド9 ] (17 : システム基本設定 : 35)
■DB読込(ユーザ): CSelf29[コマンド10内容] = ユーザDB[ システム設定 : 0 : メニュー欄コマンド10 ] (17 : システム基本設定 : 36)
こんな感じでコマンド内容を読み込む処理、
33行目(上記コマンドを追加したら35行目)辺りに
■可変DB書込:DB[ 基本システム用変数 : 100 : 0 ] (18 : メニュー9コード&名前 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 101 : 0 ] (18 : メニュー10コード&名前 : 数値) = 0
のように初期化する処理を追加。基本的には直上にあるコマンドと同じように作ればいい。
37行目(上記2つのコマンドを追加したら39行目)の回数付きループを、
仕様上実装可能な上限(今回は10)にする
114行目(コマンドを追加していた場合118行目)辺りの
| |■変数操作: CSelf14[コマンド数] += 1 + 0
の行のすぐ下に
| |■条件分岐(変数): 【1】 CSelf14[コマンド数] が 8 と同じ
| |-◇分岐: 【1】 [ CSelf14[コマンド数] が 8 と同じ ]の場合↓
| | |■変数操作: CSelf13[格納先番号(可変DB)] = 100 + 0
| | |■
| |◇分岐終了◇
を追加 これでいけると思うけど確認しとらんから分からん
UDBやCDBの設定を項目番号3〜12とかデータ番号23〜32とかの連番にしないのは、
基本システム側で全てのDB操作を名称指定にしているか分からんから(現にコモン089の25〜32行目は数値で直接指定している) >>426
×とりあえず項目数を10にするという仕様で説明する
○メニューコマンドの数を10個にするという仕様で説明する >>426
丁寧な解説ありがとうございました。
おかげでメニューコマンドの数は増やせましたが、何故か文字が表示されません。
(メニュー欄が空欄になっていて、選択するとそのコマンドは実行される)
いろいろ試してみましたがコモンイベント88のメニュー描画がうまくいってないんですかね? 【漫画家うげっぱ(44)心不全、また連載中】 阿藤快、大瀧詠一、鶴ひろみ、前田健、木村拓也、松野莉奈
http://rosie.5ch.net/test/read.cgi/liveplus/1541124659/l50
無関心層がバカみたいに死んでいくね >>430
すまん一部間違ってた。あと所持金がピクチャ番号被ってるから、そこも修正しないといけなかった
下記の通りに書き換えることで上手く行った
コモン088の
90行目
|■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 12
を
|■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 14
160行目(ここが間違っていた部分)
| | |■変数操作: CSelf10[一時変数A] = 100 + CSelf43[処理中個数]
を
| | |■変数操作: CSelf10[一時変数A] = 92 + CSelf43[処理中個数]
224行目
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 11
を
| |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 13
240行目
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 12
を
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 14
264〜265行目
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 11
| | |■変数操作: CSelf10[一時変数A] = CSelf20[基本ピクチャ番号] + 12
を
| | |■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 13
| | |■変数操作: CSelf10[一時変数A] = CSelf20[基本ピクチャ番号] + 14 いやこれだけじゃダメだわ
下記の通りの書き換えも要る
コモン127の
96行目
| | |■変数操作: CSelf22[選択コード位置] = CSelf21[現カーソル位置] + 23
を
| | |■条件分岐(変数): 【1】 CSelf21[現カーソル位置] が 8 未満
| | |-◇分岐: 【1】 [ CSelf21[現カーソル位置] が 8 未満 ]の場合↓
| | | |■変数操作: CSelf22[選択コード位置] = CSelf21[現カーソル位置] + 23
| | | |■
| | |-◇上記以外
| | | |■変数操作: CSelf22[選択コード位置] = CSelf21[現カーソル位置] + 92
| | | |■
| | |◇分岐終了◇
に書き換え >>432
指摘のあった箇所を修正したら無事表示できました!
ありがとうございます! ご無沙汰してます。
質問です。
パネル式の戦闘なのですが、当たり判定が
ピクチャを使用したものだったのでこの際見返すことにしました。
自分、敵の位置は数値化しておき、縦3列×6マスの18マスでやっています。
数値化した変数をコモンセルフに移して一列ごと%=を使って0-1-2としています。
縦はそれで良かったのですが、横が上手くいきません。
計算式とか間違えてしまっているのでしょうか。
cself[10]=自分の位置%6としていたのですが、どうもおかしかったので
分かる方いらしたら教えて頂けたら幸いです。 横6縦3
00,01,02,03,04,05,
06,07,08,09,10,11,
12,13,14,15,16,17
(位置%横,位置/横)
位置9の場合x=9%6,y=9/6で(3,1)
位置16の場合x=16%6,16/6で(4,2) ありがとうございます
ちんぷんかんぷんだった所見事に理解出来ました! 質問です。
ゲーム内の現時点の画像(スクリーンショット)を保存するコマンドを作りたいです。
ウディタではデフォルトの機能でPriScキーを押すと画像保存できるので
「自動キー入力 コード283」というのもありますが、
これでは決まったフォルダに決まったファイル名でしか保存できません。
そうではなく変数等を利用し
ゲーム内の状況で保存フォルダやファイル名を生成して保存するコマンドを作りたいのですが
そういった動作は可能でしょうか?
例
Snapshot\v[100]/photo\s[0].png
このように保存したいのです。
このような処理が可能であるならば、やりかたを教えて頂けると嬉しく思います。
よろしくお願い申し上げます。 すみません、間違いました。
生成するのはファイル名だけで大丈夫です。
フォルダは先に複数作っておき、その中から文字列変数で選ぶだけで希望は叶います。
改めてよろしくお願いします。 昔のFFのような通常攻撃を、配布されてるサンプルのコモンに投入するなら
どのあたりですか?あらかじめ作成したFFもどきコモンを195番に
組み込んだんですけど、195番の戦闘スロットといまいちかみ合うことができません。
可変DBの主人公ステータスに新しく文字列で画像を読み込んでFFらしい通常攻撃を
見せようとしたのですが、敵の攻撃扱いになったりして訳が分かりません。
可変DBから画像読み取りしてまさにFFらしい攻撃はできていますw
これで5日ほどとられているのでお助けねがいます。 昔のFFのような通常攻撃を、配布されてるサンプルのコモンに投入するなら
どのあたりですか?あらかじめ作成したFFもどきコモンを195番に
組み込んだんですけど、195番の戦闘スロットといまいちかみ合うことができません。
可変DBの主人公ステータスに新しく文字列で画像を読み込んでFFらしい通常攻撃を
見せようとしたのですが、敵の攻撃扱いになったりして訳が分かりません。
可変DBから画像読み取りしてまさにFFらしい攻撃はできていますw
これで5日ほどとられているのでお助けねがいます。 中身で何やってんのか分からんから165で敵味方の区別をつけることに関してだけ答えるけど
コモンセルフ0が実行者、コモンセルフ2がその攻撃(回復)の対象を表している
んでそれぞれ9未満だと味方、10以上だと敵なんで、それを基に分岐にでもかければ良い
補足として165の引数の説明だけ簡単にすると
コモンセルフ0: 実行者。CDB10のデータ番号をそのまま表している
コモンセルフ1: 実行される技。0〜9999はUDB0のデータ番号、10000〜19999はUDB2のデータ番号、20000〜29999はUDB3のデータ番号、30000〜39999はUDB4のデータ番号を表す。下4桁がそれぞれのデータ番号。
コモンセルフ2: 対象者。CDB10のデータ番号をそのまま表している
コモンセルフ3: カウンター可能な攻撃か否か
ちなみにCDB10は味方の場合CDB6の項目番号1〜6の順番、敵の場合UDB13の項目番号0〜6の順番を使って写しているはず FFの件ありがとうございます。あの後もう一度再開してCselfを辿り、消してみたりして
結果、自力で解決してしまいました。お手間をとらせて申し訳ありません。あともう一つ
素朴な疑問なんですが、165コモンの一番下を眺めていたら、
キーで高速処理する60コモンを発見して、
(もし敵が反動で死んだ場合はここで撃破演出のコメント部分)どんな感じで処理してるのか
60コモンを覗いてみたのですが、60コモンのCself0に”6”を格納してるぐらいで、
変数処理を行っているだけなのに、どのようにして動作をしているのか具体的教えていただけませんか?
キー入力にある値が-になればなるほど処理が高速化するということですか? 大体その理解で間違ってない
ループ内に1Fウェイトが入っているのがミソ
ループの基本的な処理内容は、Cself40(Cself0の値を代入したもの) が 1回のループ毎に-1されていって、値が0以下になったらループが終了するというもの。
例えばCself0に6が代入された場合、キーを押さない場合はループが6回繰り返される。ループの中には1Fウェイトが入っておりそれも同様に6回繰り返されるため、1F * 6 = 6Fとなり、結果的に6Fウェイトされることとなる。
キー入力があった場合、Cself40からマイナスされる値が増加するため、ループ回数が少なくなる。
例えばCself0に6が代入されていても決定キーが押されていた場合、Cself40の値は1ループ毎に-2されるため、ループが3回繰り返されたら終了する。1Fウェイトも3回繰り返されるため、1F * 3 = 3F。結果的に3Fウェイトとなり何も押さない場合の1/2のウェイト(2倍の速度)となる。
サブキーの場合はループ毎に-3されるため計2Fウェイト、決定キーとサブキーが同時に押されていた場合はループ毎に-4されて(処理の内容的に)計1Fウェイトとなる。
なんでこんなシステムを使っているのかというと、頻発する戦闘は楽で高速な方がいいよね! という基本システムを作った狼煙の趣味 メッセージウィンドウとメニューウィンドウを自作したのですが、会話してキャンセルキーを押すとメッセージウィンドウが消えるのと同時にメニューウィンドウが開いてしまいます
メッセージ表示中ならメッセージ、非表示ならメニューが出るように条件付けしたのですが結果変わらず
メニュー開くキーを全く別のに変えてもメッセージ消えないままメニューが開くだけです
改善策教えてください サンプルのコモン126を参考にすると良い
簡単に言えばsys13のフラグを見てイベント実行中でない場合のみメニューウィンドウ表示を行うようにすれば良い
ただそれだけだとウィンドウ消去した後にキー入力が勝手に行われてメニューが呼び出されるから、イベント処理が終わっても10Fはメニュー呼び出しせずにキー入力だけ取得&記憶させて、キャンセルキー押しっぱなしでも勝手にメニューが呼び出されないようにしている 画像表示で画像Aと画像Bがあったとして、画像Aを画像Bの手前にだしたいのに、
画像Bが重なって表示されてしまいます。何故そうなってしまうのか
わかりますか? ピクチャ番号の大きい方が手前になる
表示処理の順番とかは関係ない >>448
まだまだ理解できない領域でしたが10Fでとりあえず凌げました
ありがとうございました 最近まで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
ありがとうございます。
下の方法で解決できました。
上の方法は解説していただいたのに申し訳ないですが私にはちょっと敷居が高かったです。
助かりました。 https://i.imgur.com/bKeAAb7.png
タイルセットを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 所々打ちミスしているけど
>>501は全てコモン109の改造
>>502と>>503は全てコモン093の改造
なんでよろしく 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人目を選択不可にしたかったのでコピーを改変して使おうと思ったのですが上手く行きません ■ このスレッドは過去ログ倉庫に格納されています