X



WOLF RPGエディター 質問スレ 其の10 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。
垢版 |
2016/05/21(土) 15:34:31.74ID:Mt5/RJ1D
フリーソフトのRPG製作ソフトWOLF RPGエディターの質問者のためのスレッドです。
教えられる方はできる範囲で教えてあげてください。

・ここは質問スレです。質問者や回答者を煽るようなレスは禁止です。
・もしあなたが憤りを感じたり荒らしだと思っても、放置もしくは>>1とだけレスしてください。
 それ以上のことを書くと、それ自体が『荒らし行為となります』。ご注意ください。
・質問者もマナーを守り、回答がつきやすい質問の仕方をしましょう。

【良い質問の例】
・〜がやりたくて・・・までしたのですが、〇〇がうまくいきません。

【悪い質問の例】
・〜できますか → 大概できます。問題は「どうすればできるか」のはずです。実のない質問はやめましょう。
・〜のようなことがやりたい → 丸投げはやめましょう。1から全部教えてくれる人はまずいません。
 何が分からないか分かるまで努力しましょう。全部分からないのなら、まずは講座サイトで勉強しましょう。
・コモンイベント集から○○のコモンイベントをダウンロードしましたがエラーが出ますor使い方が分かりませんor動きません等
 →まずはそのコモンイベントの作者と連絡を取って下さい。ここにはそのコモンイベントの内容を詳しく理解している人が居ないため、あなたが望むような回答はできません。


◆WOLF RPGエディター公式サイト
http://www.silversecond.com/WolfRPGEditor/

◇本スレ
【ウディタ】WOLF RPGエディター 其の61
http://echo.2ch.net/test/read.cgi/gamedev/1463100951/

◇前スレ
WOLF RPGエディター 質問スレ 其の9
http://echo.2ch.net/test/read.cgi/gamedev/1447399763/

次スレは>>980が立てて下さい。
立てられない場合は質問を自重して本スレに報告して下さい。
0953名前は開発中のものです。
垢版 |
2017/05/29(月) 21:51:42.24ID:MFrQeG/u
チップの位置に関する質問です。
イベントチップの高さが微妙で、テーブルの良い位置にうまく物が乗らない時に
「キャラクターの動作指定」コマンドの右方にある「[入力値]に高さ変更」を使用して
チップの位置調節を行っているのですが、主人公が場所移動をすると元の高さに戻ってしまいます。

じゃあ毎回マップ遷移時にイベントが移動してある状態にしようと
イベントのルートをカスタムにして、毎回高さ変更の動作が入るようにしたのですが
これがうまくいかず、マップ遷移時には元の高さのままで、主人公が場所移動しきってから高さ変更を始めるので
主人公が扉から入ってきた瞬間テーブルの上にあるチップが急に移動するような処理になってしまいました。

主人公が移動してもイベントの高さを維持したい・固定したい場合の処理を教えて頂きたいです
(それともこの手の問題はチップ自体を修正して高さ調整したものを新たに作る方が手っ取り早いのでしょうか……?)
0954名前は開発中のものです。
垢版 |
2017/05/29(月) 22:48:11.20ID:fzkB7QZn
マップイベントのオプション項目にある半歩上に設置にチェック入れるんじゃダメなん?
0955名前は開発中のものです。
垢版 |
2017/05/29(月) 22:55:12.60ID:MFrQeG/u
実は私もその方法を思いついたのですがチップを置きたい場所は実際マス位置よりも下で、
上ではなく下に、つまり「高さ:-15」のようにマイナス値で設定しているので、
「半歩下に設置」があれば一番良かったのですが……
(イベント位置をあえて1マス下に下げてから半歩上設置にしてもそれはそれでテーブルと位置がジャストフィットしない)
0956名前は開発中のものです。
垢版 |
2017/05/29(月) 23:16:47.57ID:MFrQeG/u
>>954さん
すみません間違えました、もしあるなら「1/4歩下」くらいですね……非常にビミョーな位置にテーブルがあるので
ガッツリ半歩下にすると多分テーブルから物が浮きます。
(半歩上でも半歩下でも気に食わない位置になってしまうので、高さ調整で数ピクセル分だけ移動させるとベストな位置にいく)
やっぱりチップ自体をペイントでいじって、少し高さを下げたものを作るのがいちばん賢い気がしてきました……

動作指定・場所移動で動かしたイベントって主人公が場所移動するとイベント移動後の位置ではなく
イベントを作った最初の位置へ戻ってしまうんですね。勉強になりました……。
動作指定で動かした位置にそのままイベントを固定できたら一番スマートだったんですが
固定方法が私の頭では思いつかない……!
0957名前は開発中のものです。
垢版 |
2017/05/29(月) 23:29:00.56ID:fzkB7QZn
■トランジション準備  ←ここで画面停止
■場所移動:主人公 ▲マップID1[サンプルマップA] X:15 Y:1 [トランジションなし] ← マップチェンジ
■変数操作: このEvのセルフ変数0 = 9100284 + 0
■変数操作: V[このEvのセルフ変数0] = 6 + 0  ←ここで高さ変更処理が入る
■トランジション実行 ←ここで画面が切り替わる

例えばこんな風にすれば高さの変更処理は見えない。変更したいチップがあるマップではなく、別のマップからそのマップへ移動する時の処理に工夫しないといけないのが面倒だけど

そういう微調整をしたいイベントチップが沢山あるなら、高さ変更処理を一括で変更する処理をコモンイベントで作って移動の度に逐一呼び出すのが良い。
例えば影グラフィック11番〜42番は高さを+1〜+32するって処理なら下みたいな感じ.イベントは100個までしか置かないって仮定で作ったもの.

■変数操作: CSelf10 = 0 + 0
■回数付きループ [ 100 ]回
|■変数操作+: CSelf11 = キャラ[CSelf10] の 影グラフィック番号
|■条件分岐(変数): 【1】CSelf11 が 10以下 【2】CSelf11 が 42以下
|-◇分岐: 【1】 [ CSelf11 が 10以下 ]の場合↓
| |■
|-◇分岐: 【2】 [ CSelf11 が 42以下 ]の場合↓
| |▼ 10超かつ42以下の分岐
| |■変数操作: CSelf12 = 9100000 + 4
| |■変数操作: CSelf12 += CSelf10 * 10
| |■変数操作: V[CSelf12] = CSelf11 - 10
| |■
|◇分岐終了◇
|■変数操作: CSelf10 += 1 + 0
|■
◇ループここまで◇◇
0958名前は開発中のものです。
垢版 |
2017/05/29(月) 23:41:36.97ID:MFrQeG/u
>>957
ああああああああああああ!!なるほど!!
トランジションしている内で高さの変更処理を行ってしまえば
高さの変更処理が見えなくなるから自然に移動したように見えますね……!
完全に盲点でした、ありがとうございます!ドアの処理に一斉チップ高さ変更コモンを作って仕込んでみます。
本当にありがとうございました!!
0959名前は開発中のものです。
垢版 |
2017/05/30(火) 19:34:50.02ID:bjUL4VHz
文字数を取得して、数だけ音を鳴らすコモンを使用しているのですが、
これを改造して特殊文字(\.)は文字数としてカウントせず、その代わりにウェイトを適用させたいです。
どのような処理をすればいいのかどうか教授ください。

現在使用している一文字ごとに音が鳴るコモン→(https://1drv.ms/u/s!AmVWE09T1yEahUZLnvH3TJg0Klig
文章表示は高機能吹き出しコモンを使用しています→(http://www.silversecond.com/WolfRPGEditor/CommonList/html/files/14384428148701/!ReadME.html)
0961名前は開発中のものです。
垢版 |
2017/05/30(火) 21:03:10.39ID:bjUL4VHz
>>960
今使っているコモンは作ったり改造したりしたので丸投げしているつもりはなかったのですが…。すみません。
0962名前は開発中のものです。
垢版 |
2017/05/30(火) 23:04:04.00ID:tiztH7Mp
普通に1文字ずつ条件分岐にかけりゃええんちゃう
\の文字があったら文字カウントせずにフラグ立てる→フラグ立った状態で次の文字を調べて . なら特殊処理、 . 以外なら前の\の分含めて文字カウント2つ とか

特殊文字が読めるかどうかは忘れた.\nとか\.とかは1文字としてカウントされるんだったっけ? ちょっと調べてみるわ
0963名前は開発中のものです。
垢版 |
2017/05/30(火) 23:28:03.56ID:tiztH7Mp
\.とか\!とかのウディタの仕様書に書かれている特殊文字は1文字扱いだったわ
\.で分岐条件にすれば判定できる。\nの改行コードだけは実際に改行した文字列で比較するしかない

つか今コモン見てみたけどその辺は分かってるっぽいじゃん
全部読み取ってから音処理してるからわかんなくなってるだけやぞ
1文字読み取り→音だす→1文字読み取り→音出す って処理にすりゃええやろ
0964名前は開発中のものです。
垢版 |
2017/05/31(水) 00:31:10.77ID:OsRZhZDj
>>963
お答えくださり、ありがとうございます!頭が固くて申し訳ないのですが、「一文字読み取り」とは

■文字列操作:Cself7[文章]=SysS25[[読]文章表示の内容]
■変数操作:Cself21[文字数]=0+0


で処理しているのでしょうか?私はネットに公開されていた他の方のコモンをそれっぽく組み合わせただけなので
よく理解ができていないのです・・・お手数かけてすみません。
\.の条件分岐は文字列操作で1文字切出を選び、コモンセルフに代入するような形でしょうか?

自分で書いていて更によく分からなくなってきたので、処理が重くならなければ文字の数だけ回数付きループで設定しようと思っています;;
0965名前は開発中のものです。
垢版 |
2017/05/31(水) 00:47:25.35ID:edsmGlks
>>964
自分で作ったんじゃなかったんかい
何を試したかも、どこで詰まったかも書かずにに処理教えろってのは丸投げだと思わない?
>>1読もうよ

まぁ小言はこの辺にして
音鳴らすコモンみたけど962-963と同じ感想だった

高機能なんちゃらがどんな動きするかわからんけど
空データからならコレで動くよ
0966名前は開発中のものです。
垢版 |
2017/05/31(水) 00:49:48.15ID:edsmGlks
※行数の都合でちょっと加工

起動:並列常時

■ループ開始
|■条件分岐(変数): 【1】 Sys12:メッセージ表示中?(1=ON) が 0 と同じ
|-◇分岐: 【1】 [ Sys12:メッセージ表示中?(1=ON) が 0 と同じ ]の場合↓
| |■変数操作: CSelf11[前フレーム表示] = 0 + 0
| |■変数操作: CSelf10[ウェイト設定] = 1 + 0
|-◇上記以外
| |■条件分岐(変数): 【1】 CSelf11[前フレーム表示] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf11[前フレーム表示] が 0 と同じ ]の場合↓
| | |■文字列操作:CSelf7[文章] = SysS25[[読]文章表示の内容]
| | |■変数操作: CSelf10[ウェイト設定] = 12 + 0
| |-◇上記以外
| |◇分岐終了◇
| |■条件分岐(文字): 【1】 CSelf7[文章]が "" 以外
| |-◇分岐: 【1】 [ CSelf7[文章] "" 以外 ]の場合↓
| | |■文字列操作:CSelf8[ダミー] =<1文字切出> CSelf7[文章]
| | |■条件分岐(文字): 【1】 CSelf8[ダミー]が "\." と同じ
| | |-◇分岐: 【1】 [ CSelf8[ダミー] "\." と同じ ]の場合↓
| | |-◇上記以外
| | | |▼ ここでSE鳴らす
| | |◇分岐終了◇
| |◇分岐終了◇
| |■変数操作: CSelf11[前フレーム表示] = 1 + 0
|◇分岐終了◇
|■ウェイト:CSelf10[ウェイト設定] フレーム
◇ループここまで◇◇
0967名前は開発中のものです。
垢版 |
2017/05/31(水) 01:01:36.89ID:OsRZhZDj
>>966
コメントで呆れられていたので、答えてもらえないのかな…と思って大口叩いてしまいました。>>1もちゃんと読んでおらずすみませんでした。

やり方を書いてくださって本当にありがとうございます!今から仕事なので、後で確認させていただきます!
0968名前は開発中のものです。
垢版 |
2017/05/31(水) 01:23:31.43ID:g+Tb/hWT
回答に費やす時間の5〜7割ぐらいは、質問者の意図を推理する時間だったりする
質問する側は、何がしたいのか、何が聞きたいのか、何故その発送に至ったのか等をある程度明細且つ簡潔に書いてくれると結構助かる
0969名前は開発中のものです。
垢版 |
2017/05/31(水) 14:22:44.65ID:OsRZhZDj
お陰様でセリフに音がつくようになりました!ありがとうございます!
書いてくださった処理を元に、どうしてこれができるようになったのか理解する努力をしようと思います。

>>968
そうなんですね。
またどうしてもできない場面に出くわしたら、言葉で簡潔に伝えられるように考えて質問します。
0973名前は開発中のものです。
垢版 |
2017/06/14(水) 06:06:50.88ID:OC6Eu6MX
当たり判定用の条件分岐で質問なのですが
敵陣、主に3×3の9マス内に敵が3体居る時の条件分岐で
基準を自分のXY,敵1のXY,敵2のXY,敵3のXYで行おうとしているのですが、なかなか上手く行きません
敵123其々のYが自分と同じになったらXが自分Xより大きいなら攻撃が当たる
並んだ場合はXが一番前方に来ている敵に攻撃が当たるという形式にしたいのですが
処理を書いてる間に訳が分からなくなってしまいました(画像参照)
http://www.dotup.org/uploda/www.dotup.org1281564.png
こういった場合、1つ目は『3体並んだ場合』→『「1と3」、「1と2」が並んだ場合』→『1のみ』
(以後、2体目3体目も同様の処理)
という処理をした方が良いと思いやってみたのですが
ウディタの条件分岐で複雑に処理する場合どうやればいいか分かりません

いきなりこんな訳の分からない質問をしてしまって申し訳ありませんが
分かる方居たら教えて頂けたら幸いです
どうぞよろしくお願いいたします
0974名前は開発中のものです。
垢版 |
2017/06/14(水) 07:00:35.41ID:tbUA3YSy
「並んだ場合はXが一番前方に来ている敵に攻撃が当たるという形式にしたい」ならそういう処理しろよ
0975名前は開発中のものです。
垢版 |
2017/06/14(水) 14:10:08.02ID:rlQyf26k
俺だったら座標計算メインでやるけど、イベントメインでやるなら敵にID振っておいて

最初にID_HOLD変数に-1を代入、X_HOLD変数に999999を代入

敵ID1のY座標が自分Y座標と同じ場合、かつ (敵X-自分X)^2 < X_HOLDの場合 → ID_HOLDに敵IDを代入、X_HOLDに(敵X-自分X)^2を代入
上の処理を敵の数だけ繰り返す

ID_HOLDが-1の場合攻撃は誰にも当たらない、-1以外の場合ID_HOLDに代入された敵IDに当たる

って感じで良いんじゃね
0976名前は開発中のものです。
垢版 |
2017/06/14(水) 14:17:47.95ID:OC6Eu6MX
>>974
途中でこんがらがってましたすみません
>>975
ありがとうございます
そういった手法もあるのですね、ダメだった場合に試してみます
0977名前は開発中のものです。
垢版 |
2017/06/14(水) 14:20:50.02ID:rlQyf26k
ええ……
このやり方なら敵が1体でも100体でも同じ処理だから汎用的に使えて良いと思うんだけど
0979名前は開発中のものです。
垢版 |
2017/06/15(木) 02:29:23.46ID:SU0BUgdT
3x3マスとは言った
言った……が、Z座標の指定まではしていない!
つまり我々がその気になれば3x3マスに1000体でも100000体でも詰め込むことは可能だろう……ということ……!
0980名前は開発中のものです。
垢版 |
2017/06/15(木) 12:51:11.10ID:O6UrCrgD
自分の前方に敵がいるか調べていけばいいんじゃないの
3×3の範囲とか敵が3体とか関係ないでしょ
0982名前は開発中のものです。
垢版 |
2017/06/26(月) 22:27:30.02ID:9l1EBK/u
test
0983名前は開発中のものです。
垢版 |
2017/07/02(日) 00:51:44.09ID:/2S0A8Wr
メッセージウィンドウではなく、メッセージ自体を非表示(透明)にする方法はあるのでしょうか。
エロゲのメッセージ非表示のようなものを作りたかったのですが・・・
0985名前は開発中のものです。
垢版 |
2017/07/02(日) 09:32:25.06ID:/2S0A8Wr
>>984申し訳ありません。やりたいことの説明が足りてなかったです。
通常時に文章を読んでる時にキー入力したら、文章が見えなくなる、みたいな感じにしたかったんです。

メッセージウィンドウ画像を透明にしても文字が残るし、
出ている画像を100000↑のピクチャにもってきても隙間から文字が見えたりしてしまったので・・・。
画像に隙間があるので、100000↑のピクチュアに真っ黒のを置いても、後ろのマップがみえなくなってしまって・・・
0986名前は開発中のものです。
垢版 |
2017/07/02(日) 10:20:33.64ID:7V1WmdX+
文章表示コマンドで表示される文章をピクチャで表示するコモンを作るのが一番楽だと思うで
0987名前は開発中のものです。
垢版 |
2017/07/02(日) 10:55:37.66ID:NGHi6+Xq
文章表示の位置はシステム変数1,2で画面外に移動させることは可能だけど、文章表示中に切り替えるのは無理かな?
0988名前は開発中のものです。
垢版 |
2017/07/02(日) 17:43:58.97ID:7V1WmdX+
文章表示を行った後のものは弄れないからね
あとは文章表示コマンドの特性を利用した割り込み処理を行うぐらい?

例えば

■文章:こんにちわ1
■ウェイト:1 フレーム ←文章表示と文章表示の間にウェイトを1F入れるのが重要
■文章:こんにちわ2

こんな感じのマップイベントか何かがあって、

それとは別に並列実行イベントで

■キー入力:このコモンEvセルフ変数10 / 4方向 サブキー(12)
■条件分岐(変数): 【1】CSelf10 が 12と同じ
-◇分岐: 【1】 [ CSelf10 が 12と同じ ]の場合↓
|■デバッグ文:sub
|■文字列操作:CSelf5 = SysS25[[読]文章表示の内容]
|■条件分岐(文字): 【1】このコモンEvセルフ変数5 が"" 以外
|-◇分岐: 【1】 [ このコモンEvセルフ変数5 が"" 以外 ]の場合↓
| |■文章の強制中断
| |■文章:
| |■
|◇分岐終了◇
|■
◇分岐終了◇

みたいなプログラムを作った場合

文章表示コマンドは並列実行処理でも自動実行処理でも同じ処理を用いるために割り込みが発生するので
一時的に文章を表示していない文章表示処理を行うことが可能
0989名前は開発中のものです。
垢版 |
2017/07/02(日) 17:45:13.86ID:7V1WmdX+
これを利用すれば、あとはメッセージウィンドウ処理関係のピクチャさえ消せばメッセージの非表示はできる。

ただし消してしまった文章は次に送られてしまうため、エロゲのメッセージ非表示みたいなものを作るのであれば
これとは別に並列処理で消した文章をピクチャで表示するコモンと、キーの入力禁止等を組み合わせないといけない

それと、基本的に文章表示と文章表示の間でないと割り込みんだとしても勝手に次の処理が進んで行ってしまうので

■文章:こんにちわ
■ウェイト:1 フレーム
■動作指定:このイベント / 下 / 下

例えばこんな場合だと、こんにちわの文章表示コマンド部分で並列実行による割り込み処理を行っても
動作指定処理が入ってしまう


なので、最後にダミーの文章を作って

■文章:こんにちわ
■ウェイト:1 フレーム
■文章:\>\<\^
■動作指定:このイベント / 下 / 下

こんな感じにしないといけない
0990名前は開発中のものです。
垢版 |
2017/07/02(日) 17:48:51.91ID:7V1WmdX+
そしてここまで言っておいてなんだけど、1Fウェイトを逐一挟まないといけなかったり、ダミーの文章を入れないといけなかったりと
コモンを作った後でも面倒くさい。しかも手作業なのでバグが発生しやすそう

なので、ピクチャで文章表示を行うコモンを自分で作ったほうが後々楽
0991名前は開発中のものです。
垢版 |
2017/07/03(月) 00:15:24.45ID:CyCkOl8n
>>986,987,988,989,990

すいません、いろいろありがとうざいます!
自分でも一日試してみましたがうまくいかず…………。
今つくってるのは結構途中までつくってしまったので、
ピクチャは次ので試してみたいと思います!
0992名前は開発中のものです。
垢版 |
2017/08/13(日) 17:54:27.89ID:JvPLaVtY
行動AIの2〜10ターンに一回行動みたいなのって10ターン設定してもループはしないの?
予備動作のある攻撃をさせたいんだけどやっぱコモンをいじるしかない?
0993名前は開発中のものです。
垢版 |
2017/08/13(日) 21:17:54.98ID:wpnPFcbR
ループするはずだけど「Xの倍数マイナス1ターンで行動」とかは出来ないから予備動作は無理じゃないかと思う
0994名前は開発中のものです。
垢版 |
2017/08/19(土) 22:21:43.67ID:4ts6F31U
ウディタで20億以上の数値を扱える方法はないでしょうか
仕様上の限界が32bit限界の20億なので、桁ごとにわけて計算できないかな?と思い、
4桁毎に数値を万、億、兆、という具合に分けて計算できないかと弄っていたものの、なかなかうまくいきませんでした
20億(できれば100万)未満の桁数でうまくやりくりできる方法や、コモンをご存知の方はいませんか?
0995名前は開発中のものです。
垢版 |
2017/08/20(日) 02:12:26.87ID:tptsJ3q3
普通にその方法でできない?

変数0 (0〜10^4-1を扱う)、変数1((10^4〜10^8-1を扱う)、変数2 (10^8〜10^12-1を扱う)……変数n(10^(4n)〜10^(4n+4)-1)……て感じに用意すると仮定すると

加算減算の場合は各要素毎に足し引きして繰り上げと繰り下げをすればいい。4桁で考えた場合、変数nが10000以上だった場合は変数nから-10000して変数n+1に1を加算(繰り上げ)。変数nが0未満だった場合は変数n+1から-1して変数nに10000を加算(繰り下げ)
扱う値が負の場合はこの逆

乗算の場合は各要素毎に乗算して足し合わせればいい。ある数字の変数nとある数字の変数mを乗算して別に用意した変数m+n番目に加算して溢れた分を変数m+n+1番目に加算するってのを繰り返すだけ
乗算する変数の数が多すぎた場合はToom-Cook法とか使ったほうがいいけど

除算の場合は符号と桁を合わせて引いていけばいい
0996名前は開発中のものです。
垢版 |
2017/08/20(日) 12:02:04.22ID:zwc+ugAo
考え方自体はあってたみたいでした
そのまま打ち込もうとするとソースが長くなってしまいますが、とりあえず作り続けてみます
ありがとう
0997名前は開発中のものです。
垢版 |
2017/08/20(日) 23:33:47.94ID:tptsJ3q3
http://light.dotup.org/uploda/light.dotup.org473560.png
http://light.dotup.org/uploda/light.dotup.org473561.png
http://light.dotup.org/uploda/light.dotup.org473562.png
http://light.dotup.org/uploda/light.dotup.org473563.png
http://light.dotup.org/uploda/light.dotup.org473565.png

こんなもんだからそこまで長くならんと思うけど。ちゃっちゃと作っただけだから所々怪しいけど参考程度に
疲れたからdivideは作ってない。addは多分もうちょっと短く出来るかな
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 456日 8時間 9分 40秒
10021002
垢版 |
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況