X



WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
2017/08/20(日) 23:40:24.37ID:tptsJ3q3
フリーソフトの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が立てて下さい。
立てられない場合は質問を自重して本スレに報告して下さい。
0142名前は開発中のものです。
垢版 |
2018/01/13(土) 13:19:38.45ID:6kEwGr3g
sage
0149名前は開発中のものです。
垢版 |
2018/01/17(水) 12:56:17.92ID:lbus18Za
四隅の座標を計算して回せばいいやん
計算できないなら数学やり直すことから始めようか
0151名前は開発中のものです。
垢版 |
2018/01/17(水) 16:31:57.59ID:U2CEo7B6
煽り耐性低くてマウント取りたい奴が多いせいか、攻撃的な質問の方が的確に回答されるな(笑)
0152名前は開発中のものです。
垢版 |
2018/01/18(木) 01:59:59.09ID:pI6xlBlH
アクションRPG作れるっ?
他の選択肢はないのかな
0154名前は開発中のものです。
垢版 |
2018/01/18(木) 19:22:18.00ID:YP8FH4Dl
2Dダンジョンを一時的にWIZ風の擬似3Dダンジョンにする演出がやりたくてコモンをつくっています。

元の2Dマップをプレイヤーに移動させて周囲のマップチップの判定から3D画像を描画するところまでは
できたのですが移動方法の部分でつまづいています。

■動作指定:主人公(動作を繰り返す)
■ウェイト:1フレーム
■キー入力:コモンセルフ0/[入力待ち]4方向
(以下4方向ごとの条件分岐・・・)

通常の移動をテンキー462で方向転換、8で前進という操作に変更したくてコモンを並列処理で上記のように組んでいます。
一応、挙動は狙ったとおりになるのですが別のイベント(NPCとの会話やアイテム取得など)がこの方法だと
起動してくれなくて困っています。

改善点があればご教授願います。
0157名前は開発中のものです。
垢版 |
2018/01/19(金) 02:08:22.23ID:ZKQT5X6i
イベントの挿入でいけました。ありがとうございます!

ページ数だけじゃなくてイベント挿入コマンドのイベント名の呼び出しにも特殊文字が
使えないっぽいんでちょっと一手間必要ですけどちゃんと起動させることができました。

回答ありがとうございました。
0160名前は開発中のものです。
垢版 |
2018/01/20(土) 08:46:18.56ID:S9XH63Oa
コモンセルフ変数の呼び出しが上手くいかなくて困ってます
具体的には下記の動画の8:58〜9:54の解説通りにコモンイベントを作り、変数呼び出しで動作指定を行ったのですが
キャラが主人公を追いかけてこずマップの左上の方へと歩いていってしまいます
ヘルプや解説サイトを覗いて自己解決しようとしましたが有用な情報は得られませんでした
初歩的な質問なのかもしれませんが答えて頂けるとありがたいです
https://www.youtube.com/watch?v=KG3uKPXsxIs&;t=582s
0162名前は開発中のものです。
垢版 |
2018/01/20(土) 11:57:31.98ID:E9lEDsWs
1600000番の呼び出し元に依存したコモンEvセルフは使えないけど
1500000番のコモンEvも指定したセルフ変数は使える

マップの左上に行っているということは、単に変数の指定ミスか更新ミスで間違った情報を取得しているだけだと思う。
マップ左上は座標0,0だから、変数指定ミスじゃねえかな
動画だとコモンEv223で作っているから15022300を指定しているけど、自分で作っている環境だと別のコモンEvで作っているとかじゃないの

つか考え方が違うとかじゃなくて、単なるケアレスミスなんだし、作ったスクリプトも見せてくれなきゃ何が原因かなんて分からんわ
0163名前は開発中のものです。
垢版 |
2018/01/20(土) 12:11:12.16ID:VqjPOsJY
動画ではコモンEvをどう使ってるか分からないけど
コモンEvに書いただけじゃ変数は入ってないよ
並列にすれば動くかも
0164名前は開発中のものです。
垢版 |
2018/01/20(土) 12:16:42.74ID:S9XH63Oa
>>162
動画と全く同じ通りに設定してます
コモンEvを223で作っておいた上で変数も0と1を使い、1500000番の変数呼び出しで指定しています
動作指定の欄にもきちんと「X:コモンEv223セルフ0,Y:コモンEv223セルフ1に接近」と表示されているのに何故か主人公の座標を無視するんです
0165名前は開発中のものです。
垢版 |
2018/01/20(土) 13:15:30.88ID:E9lEDsWs
コモンイベントの該当するコマンド文を全て選択する (ドラッグ・もしくはshift + 方向キー)
右クリックして、出て来るメニューで"コマンド文→クリップボードへコピー"  (もしくは右クリックせずにCtrl + Q)

_人人人人人人人人人人人人_
> そしてスレへ貼り付け <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
0166名前は開発中のものです。
垢版 |
2018/01/20(土) 13:19:34.18ID:S9XH63Oa
>>165
■変数操作+: CSelf0 = 主人公 の X座標(標準)
■変数操作+: CSelf1 = 主人公 の Y座標(標準)

コモンEvは223にしてます
0168名前は開発中のものです。
垢版 |
2018/01/20(土) 13:30:20.96ID:S9XH63Oa
>>167
わかりましたやっと理解できました
そうかコモンの方で実行時の呼び出しを変えてなきゃいけなかったのか…
ありがとうございましたこれで心置きなく作れます
0169名前は開発中のものです。
垢版 |
2018/01/20(土) 13:44:19.36ID:rXklgqy1
どうでも良いけどデバッグ文もっと使おうぜ

今回の場合なら指定した座標をデバッグ文で確認できるようにしておけば
指定した座標に移動していないのか
あるいは座標が指定できていないのか判断できる
0170名前は開発中のものです。
垢版 |
2018/01/20(土) 16:34:19.03ID:sNYrh3Q+
呼出値使うなら(x,y)=(9180000,9180001)のイベント動作指定でええやん

動画見てないけどなんか意図があんの?
0171名前は開発中のものです。
垢版 |
2018/01/21(日) 07:58:03.08ID:buwxRaMu
自分にナニが作れるわからん
0172名前は開発中のものです。
垢版 |
2018/01/23(火) 23:52:54.70ID:fmXLFCPu
質問です。
ARPGで敵からダメージを受けたら自機を透過したり麻痺として色彩変更する処理を実装しています。
そこで、連打で敵の攻撃を受けるとダメージの
自機のモーションと透過処理が上手くいかず、そのままの状態で戦う事があります。
どのような処理をしたらそれが解消出来るかいいかヒントだけでも頂けたら幸いです。
0173名前は開発中のものです。
垢版 |
2018/01/24(水) 00:51:12.06ID:IFixaQ0H
特定のファイル名のピクチャが表示されている時だけ反応するイベントを作りたいのですが
表示しているピクチャのファイル名を文字列変数として取得する方法はありますか?
0174名前は開発中のものです。
垢版 |
2018/01/24(水) 07:23:20.07ID:fVANG6uO
>>172
通常の描画と透過率・色彩変更の処理が被ってるんだろうからディレイ見直すとかかね
まぁ処理内容わからんしデバッグ文使用して自分で探るしかないよ

>>173
特定のピクチャなら表示・消去するときにフラグ管理すればいい
ピクチャ番号指定して一発で取得するようなコマンドはないはず
0175172
垢版 |
2018/01/24(水) 20:49:06.12ID:WnveY5s0
>>174
何とか自己解決しました!どもです
0176名前は開発中のものです。
垢版 |
2018/01/26(金) 01:29:36.56ID:IbWpU2cw
シンボルエンカウトを作ってます

正面、側面、背面で先制攻撃やバックアタックの判定をしたいのですが、
モンスター(マップイベント)や主人公がそれぞれどの方向から接触したかを取得する命令は無いですよね?

無ければイベントの方向とイベントの座標を取得して自作するしかないでしょうか?
こちらだと主人公とモンスターの方向(4×4)と座標の比較(×4)で条件分岐だけで56通りになり大変なので、他に方法がないか悩んでおります
0177名前は開発中のものです。
垢版 |
2018/01/26(金) 03:18:57.90ID:6mk8RX64
・キャラ画像4方向移動方向4方向の場合

マップイベントの方向 + 主人公の方向 が10の場合は正面同士の接触
マップイベントの方向 = 主人公の方向 の場合は正面&背面の接触(バックアタック)
それ以外は正面&側面での接触(サイドアタック)

あとは主人公の座標+向いている方向から、正面1マスの座標を取得。そこに対象のマップイベントがいれば主人公側の↑の処理
いなければマップイベント側の↑の処理


・キャラ画像4方向移動方向8方向の場合

(1) マップイベントに対して主人公がどの方向にいるかを角度で算出する(arctanを使うのが一番簡単)
(2) マップイベントの向いている方向を角度に変換(2の場合は90等。自力で打ち込み作業)

(1)と(2)の角度の差θからマップイベントが主人公に対して前面、背面、側面のどちらを向いているか判断(-45≦θ≦45なら前面など)

前面以外は主人公側からの接触。バックアタックやサイドアタックなど
前面での接触だった場合、主人公側について(1) (2)の作業をして前面、側面、背面のどの方向を向けているか調べる


※ちなみにウディタのマップイベントは起動時に自動的にプレイヤーの方向を向くため、
方向固定解除→1マス移動→方向固定 のルーチンでマップイベントを移動させないと、マップイベントとの接触時の互いの向きによる判定ができない

だけど何故かマップイベントのカスタムルート設定からだとこのルーチンが組めなくて
コモンイベントからのイベント制御だとこのルーチンが組める
そのためマップイベントの移動なんかをコモンイベントで一括で行わないといけない
0178名前は開発中のものです。
垢版 |
2018/01/27(土) 00:45:03.92ID:vvSBp518
>>177
衝突判定はそれでバッチリ行けました!
行数もスッキリして感動です
詳しい説明ありがとうございます

で、次は衝突時にマップイベントが主人公側を向くのを改造するところでつまずきました
解説いただいたように下記の並列処理のコモンを作って動かしたのですが、

---
■動作指定:Ev0 / 向き固定OFF / 主人公に接近 / 向き固定ON
---

今度はマップイベント側の起動条件「イベント接触」が起動しなくなりました
現状では主人公側から接触すると起動するけど、モンスター側からは起動せずずっと主人公の後を付いてくるだけになってます
0179名前は開発中のものです。
垢版 |
2018/01/27(土) 08:21:55.99ID:WaAXN1Lo
【5】イベントに複数のページを設定したんですが、最後のページしか実行されません
マップのイベントは、番号の大きいページを優先して実行しようとします。
そのため、最後のページの起動条件が満たされてしまうと、
小さい番号のページは実行されません。
0181名前は開発中のものです。
垢版 |
2018/01/27(土) 12:24:27.65ID:wBqyuzFu
>>178
あ、ごめん忘れてた
コモンイベントの動作指定の場合、接触範囲拡張+イベント接触以外だとイベント側からの起動ができないんだった

マップイベントのカスタムルートで

移動頻度を設定 => 0 (以降の処理を毎フレーム処理)
向き固定OFF
主人公に接近
向き固定ON
移動頻度を設定 => 3 (任意の移動速度に戻す)

でできるはず
と思ったけど、半歩移動の設定の時に、イベントが上側から接触した場合は起動しないバグって治ってないんだな
0182名前は開発中のものです。
垢版 |
2018/01/27(土) 12:50:18.68ID:wBqyuzFu
軽く作っただけだから想定通りの動作するかわからんけど
テストした感じでは多分問題なく動くので、後は自分で汎用性高めてやってみて。これだと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 フレーム (移動頻度に合わせてウェイトを設定する)
|■
◇分岐終了◇
0183名前は開発中のものです。
垢版 |
2018/01/27(土) 12:52:39.90ID:wBqyuzFu
|■変数操作: CSelf10 = 23 + 0

ああそうだ、この処理は、単に俺がマップイベント23をテストに用いただけ
0185名前は開発中のものです。
垢版 |
2018/01/28(日) 01:31:07.92ID:OKXGhkLN
>>181
行けました!
つまりこれはモンスターに移動命令を出したのに移動してないということは障害物があるんだから接触判定をしろってことですね
汎用性もあるのでこれを元に組んで行こうと思います

マップイベント内での処理だと後々に仕様変更したときにメンテナンスが大変なので、これだとコモン側で処理をコントロールできるのも素晴らしいです

加えてデバッグ文の使い方もこれで分かったので感謝感謝です!
0186名前は開発中のものです。
垢版 |
2018/01/30(火) 18:33:38.72ID:s1bO8JEq
質問です
ウディタのピクチャ番号の割り当てについてです

各コモンの処理時にいくつかのピクチャ番号をバラバラに割り当てたいのですが
(例:STGの各弾それぞれに加えて同時にレーザーやボムも複数放てるような感じのもの)
こういったときはピクチャ表示がされているか判定して
そこから通常変数にピクチャ番号割り当てて
各イベント\cself[a番]で取り出して使用、と言う方法を考えついたものの
実際やってみるとどうも上手く行きません

方法としてもう少し分かり易いもの、参考になるやり方などあったら教えて頂けたら幸いです
0187名前は開発中のものです。
垢版 |
2018/01/30(火) 20:39:00.60ID:mtiabDIk
ぱっと見だと問題ないように見えるけど(通常変数に割り当てているのに、コモンセルフ変数で取り出しているっぽい説明なのはよくわからんが)

何が上手く行かんの
処理が重いの? ピクチャが表示されないの? ピクチャの移動が上手く行かないの? 割り当てた通常変数を初期化した際に挙動がおかしくなるの?
0188名前は開発中のものです。
垢版 |
2018/01/30(火) 21:24:45.42ID:vxcnSMas
ピクチャの空き番号調べる処理と空いてる番号にピクチャ表示させる処理が別のコモンで
空きピクチャ番号のやり取りに通常変数挟んでるのかな?
コモンの返り値でやってみては

返り値ってのはコモンイベントの設定のトコの「結果を返す」で指定する値のことね
見当違いのこと言ってたらごめんね
詳しいやり方はヘルプ見てちょ
0189名前は開発中のものです。
垢版 |
2018/01/31(水) 02:08:51.44ID:IllwidwC
質問内容だとワイの頭では回答できないのでワイのピクチャの管理方法

自機や敵やシンボルなどメインで扱うピクチャは、基本値に追加ピクチャ番号を足した絶対値
例)自機基本値(1000)+バリア(100)+ポッド(10)等々

弾やエフェクトなど一定後に消えるものは、弾を追加する際にそのピクチャ番号が使用されてるか判定して若い番号から埋めていく
例)弾基本値(2000)+弾追加値(1)→ピクチャ2001が空いていれば描画、空いていなければ更に+弾追加値(1)を繰り返してサーチ

参考にもならなかったらごめん
0190名前は開発中のものです。
垢版 |
2018/01/31(水) 18:28:11.99ID:74y0KjuV
回答ありがとうございます
>>188
返り値、まだ若干使い方を理解していないのでこの機会に調べてやってみますね
>>189
ちゃんと絶対値で設定しておいた方が確実そうで良いですね
0191名前は開発中のものです。
垢版 |
2018/01/31(水) 19:15:43.69ID:E/nXFeLY
公式のコモンでちょくちょくあるテキストファイル読み込みからのスクリプトコモンが起動方法がわかりません。
りどみに書いてるとおりに導入してるつもりなんですけどもどうやってもエラーすら起こらずに無反応。
とりあえず適当なマップイベに起動条件決定キーで目的のコモン挿入して、コモンEv入力(文の項目にパス入力しても無反応。
とにかくのれんに腕押しって感じの手詰まり感で困ってます。
このスクリプト読み込み系のコモンはどうすれば導入できるのでしょうか。
ちなみにウディタのバージョンは1番新しいヤツです。
0192名前は開発中のものです。
垢版 |
2018/01/31(水) 20:52:39.05ID:74y0KjuV
>>187
見逃してましたすみません!
回答どうもです
連打する事で一定番号に至ったらピクチャ自体が消えたりとかしないかなと
でも今の所無事に機能するようになったので大丈夫だと思います
0193名前は開発中のものです。
垢版 |
2018/02/01(木) 04:42:12.02ID:EeNLrLI5
>>190
ワイも最初は返り値スルーしてコモン組んでたけどこれ覚えると便利だよ
プログミングでもGET関数とかで当たり前に使われるし、通常変数をあまり使わずにcselfで組むようにすれば変数の管理もしやすくなる
0194名前は開発中のものです。
垢版 |
2018/02/01(木) 04:52:55.10ID:EeNLrLI5
>>191
他作コモンについては基本>>1

どうしても誰かに検証してもらいたいならエスパーしなくて済むように他作コモンやソースを貼るなりしないと解答は出来ないと思う
ちなみに俺は他作コモンの使い方の時点で無理ごめん
0195191
垢版 |
2018/02/01(木) 17:47:15.68ID:X3mnig/B
>>194
スクリプトは諦めることにします
ありがとうございました
0197名前は開発中のものです。
垢版 |
2018/02/03(土) 23:56:28.26ID:AgOem77x
> テキストファイル読み込みからのスクリプトコモン
これって会話文とかをテキストファイルで作ってウディタで実行するってことだろ?
自分で作った方が使いやすいだろ
0198名前は開発中のものです。
垢版 |
2018/02/04(日) 14:01:06.09ID:cd+0DwEP
マシナリウムみたいなの作るのは厳しいですか?
unityでもいいんですが
0199名前は開発中のものです。
垢版 |
2018/02/04(日) 15:17:42.90ID:6+6amcou
厳しくはないけどunityでいいならunityにした方が良いんじゃない?
確か画面見ながら仮置きとかできたはずだから、一枚絵の背景でキャラクターを動かす形なら、そっちの方が楽だと思う
0200名前は開発中のものです。
垢版 |
2018/02/04(日) 23:31:01.16ID:TUf5GF1V
>>197
データ系の他人が作ったコモンなんて解読、利用コストが高すぎて実用性ないよな
ここで聞きながら作ったほうが早いまである

れっつ自作ワールド
0203名前は開発中のものです。
垢版 |
2018/02/11(日) 06:22:36.85ID:USXLuTCU
jrpg作るのってunityとかだと厳しいんですか
0204名前は開発中のものです。
垢版 |
2018/02/11(日) 12:56:58.06ID:MFzV6o15
全く中身の伴わない質問はするだけ時間の無駄だぞ
unityの質問はunityのコミュニティでやれと言いたいが、あっちでも邪険に扱われそう
0205名前は開発中のものです。
垢版 |
2018/02/12(月) 14:08:08.70ID:Bc5EV0SO
並んでる箱に1〜9までの数値を番号の重複無しでランダムで入れたいんだけど簡単に入れていく方法ありますかね?
今やってるのだと20行くらいは使ってます
0206名前は開発中のものです。
垢版 |
2018/02/12(月) 15:55:39.18ID:L+vp/Ay0
簡単にやる方法ねぇぞ。やっていると思うけど、やるとしたら、こんな感じじゃあない?
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
0207名前は開発中のものです。
垢版 |
2018/02/12(月) 16:14:10.17ID:YFoiOVmL
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
0208名前は開発中のものです。
垢版 |
2018/02/12(月) 16:43:53.35ID:YlGMwymp
▼ 初期設定
■変数操作: 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
◇ループここまで◇◇
■デバッグ文:------------------------
0210名前は開発中のものです。
垢版 |
2018/02/12(月) 17:14:53.60ID:y6I7WH6v
>>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
0211名前は開発中のものです。
垢版 |
2018/02/12(月) 17:51:23.28ID:C3neVWcI
なんか大喜利みたいになってんな
とりあえず簡単に解説しとくと

>>206
変数に1~9のランダムな数を入れる
今まで入れた変数と中身が被ったらもう一度ランダムな数を入れ直す
被らなかったら次の変数へ

>>207
9つの変数に1~9の数を順番に入れておく
無作為に選出した変数同士の中身を入れ替える。十分な回数シャッフルすればきちんと混ざるだろうという理屈

>>208
基本的な考え方は207と同じ
順番に選ばれた変数と無作為に選ばれた変数を入れ替える。必ず全ての変数がシャッフル対象に選ばれるのが特徴

>>210
変数を基準に数字を無作為に選ぶ207と逆に、数字を基準に変数を無作為に選ぶ。既に選出された変数を選んだ場合はもう一度変数を選び直す
ただこれは変数を初期化していないので、初回以外はループを抜け出せない。実際に使う場合は変数を初期化する処理を追加しておくように
0215名前は開発中のものです。
垢版 |
2018/02/12(月) 23:26:45.42ID:Bc5EV0SO
まさに206〜の同じ流れで208に辿り着いたとこでしたw
どうしてもループ回数を最小限に抑えたい病なのと他の処理も噛ませるので大元のソースは出来るだけシンプルなのが良いので208方式で行こうと思います

210は発想に無かったので参考になりました
解説も助かりました

とりあえず自分の考えた処理がそこまでみんなと逸脱してないと確認できただけで収穫ですありがとでした!
0216名前は開発中のものです。
垢版 |
2018/02/13(火) 02:08:09.53ID:y+ijb5eg
文字列変数に値一覧入れて、ランダムで行を引っこ抜くというのも、思いついたけど、
これ、ウディタのデフォだけの文字列操作だけだと、行が長くなるだよなぁ

というか、正規表現を使った置換欲しいなぁ・・・
0217名前は開発中のものです。
垢版 |
2018/02/13(火) 18:28:59.08ID:6Dr4S9EC
・箱に順番にランダム値を被りなしで入れていく方法
・箱に1〜から順番に値を入れて行き無作為にシャッフルする方法
・箱に1〜から順番に値を入れて箱の順番で総当たりして交換先を無作為に選んでシャッフルする方法(ループは箱の数だけで済む)
・文字列変数に値を入れ無作為に箱に入れていく方法

色々な方法があるなぁ
0218名前は開発中のものです。
垢版 |
2018/02/16(金) 23:57:40.43ID:5J/5kY23
>>115
これ、セーブしてからテストプレイになるってウディタマニュアルのイベントマップのところにはっきり書いてあるわ
0219名前は開発中のものです。
垢版 |
2018/02/27(火) 07:58:39.12ID:AkU2Og6b
3dモデルって使えないんですよね?
0221名前は開発中のものです。
垢版 |
2018/02/27(火) 23:22:35.23ID:wb3FzUIW
質問です。
並列処理にてキー入力の連打を阻止して長押しに対応するコモンを作ったのですが、
キャンセルキーの方は機能するのですが、決定キー(下記参照)の方が機能してくれません。
どのようにしたら機能するでしょうか。
(キャンセルキーの方は長押し対応させてるので別コモンでの処理にしています)
決定キーでは長押しじゃなく連打処理をさせないような形にしたいです。
| | | |▼ キー入力判定
| | | |■キー入力:変数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 と同じ ]の場合↓
| | | | |■
| | | |◇分岐終了◇
0222名前は開発中のものです。
垢版 |
2018/02/27(火) 23:34:40.65ID:DkFBB0WI
パッと見だと特に問題ないけど
V41って通常変数だっけ? 別のコモンで書き換えている可能性あるんじゃない?
0223221
垢版 |
2018/02/27(火) 23:46:34.71ID:wb3FzUIW
回答どうもです。
v41は通常変数ですね。
別コモンでも動作させる為にわざと通常変数使用してます。
攻撃のコモンだけ決定キーを押しっぱなしだと
勝手に二段三段と攻撃してしまうのでそこを何とか改善したいのです。
改善出来る箇所があったら教えて頂けたらと思ってます。
0224名前は開発中のものです。
垢版 |
2018/02/28(水) 00:00:42.41ID:Y/h7+CwL
いや、だから別のコモンでV41を0に書き換えているんじゃない?
提示された範囲に限って言えば問題ないよ
0225221
垢版 |
2018/02/28(水) 00:39:10.49ID:YWMwfcSU
確認してみましたが0にするような処理も見当たらなかったです
並列処理だからなんでしょうか
0226名前は開発中のものです。
垢版 |
2018/02/28(水) 01:30:42.10ID:Y/h7+CwL
同じように作ってもやっぱり問題ないし、別の部分が悪さしてるよ

デバッグ文使って、値を見て自分で調べるか
他人にデバッグして欲しいならゲームデータ丸ごとアップロードした方が早い

並列処理だからとかは全く関係ない
0227221
垢版 |
2018/02/28(水) 02:15:53.46ID:YWMwfcSU
すみません、別コモンで操作を受付無いようにしていた事が原因でした。
無事解決です。
親切に回答ありがとうございました。
0228名前は開発中のものです。
垢版 |
2018/03/12(月) 23:48:19.01ID:9jG5nPgF
質問です。
マップチップの通行設定で困っています。
「▲」チップ座標より後ろに行くとキャラがマップチップの裏側に入るについて

階段の手すりを作ろうと
チップより手前側に居る時はキャラクターより後ろ、
チップより奥側にいる時はキャラクターより手前に表示されるようにしたのですが
▲でもつねにチップがキャラクターの後ろ側に表示されるようになってしまい
反映がなされていないように見えます。
(MAP遷移して確認したり
ゲームを起動しなおして最初から確認しても直りません)
過去このような事象が起きた方、解決法など教えていただけると嬉しいです。
0229名前は開発中のものです。
垢版 |
2018/03/13(火) 00:43:43.70ID:E1jv6+/a
すみません!!
チップの前面判定なんていじった覚えもないのに変だと思い
上から全イベント洗っていたらキャラクターの動作指定させた時に誤クリックしたのか
表示が最前面ONになってました……自己解決しました……
0230名前は開発中のものです。
垢版 |
2018/03/17(土) 16:42:43.06ID:zVfXXTmt
基本的な質問で悪いんだけど
AIのアクションを判定ってどういうこと?

アクション12を判定にしたら12の後に必ずやるってことなの?
0231名前は開発中のものです。
垢版 |
2018/03/17(土) 17:37:08.31ID:Up2en/Vt
アクション12 を判定にしたら、そらその通り、アクション12を判定するんでしょ
アクション12の条件(5%の確率で実行とか)を満たしているかどうかの判定を行うってこと
んで満たしていた場合はアクション12に設定されている行動を行って、満たしていない場合は、次に設定されているアクションの判定を行う
0232名前は開発中のものです。
垢版 |
2018/03/29(木) 08:01:54.43ID:zfd7iL0I
初心者ですが質問です
現在マップのBGMをコモンセルフに格納しようと試行錯誤したのですがやり方が分かりません…
現在再生中のBGMではなく現在マップのBGMを取得するにはどうしたらいいのでしょうか?
0233名前は開発中のものです。
垢版 |
2018/03/29(木) 11:09:10.53ID:14Cfn6ho
今確認できる状況じゃないからあやふやだけど

確かsysDB0のマップ設定に、使用するBGM番号を格納している所がある
現在いるマップ番号は変数操作+のその他から取得できる
0234名前は開発中のものです。
垢版 |
2018/03/29(木) 22:13:50.75ID:kODKb9nI
初心者ですが質問です。
ロード後に同じ場所で敵が出るのを回避するために並列のコモンにcself0〜0を入れて乱数を無駄遣いしてみたのですが
それでも同じ位置が敵がでます・・・
ロード直後に同じところで敵がでないようにするためにはどこを変更するべきでしょうか
0235名前は開発中のものです。
垢版 |
2018/03/29(木) 23:44:14.42ID:14Cfn6ho
同じ場所? 同じ歩数ってこと?
コモン37のことだと仮定して話すと、乱数が介入するのはエンカウントした後に初期化するときだから、エンカウントするまでは乱数進めても意味ないよ
累積値が一定以上溜まった場合にエンカウントする仕組みだから、ロードから復帰した時にこれに乱数代入すれば良いんじゃね。累積値はCDB18のID65
0236名前は開発中のものです。
垢版 |
2018/03/29(木) 23:53:19.12ID:kODKb9nI
コモン37です。説明が欠けてました、すみません
ロード後のエンカウント値に乱数を入れればよかったんですね。
ありがとうございます
0237名前は開発中のものです。
垢版 |
2018/03/30(金) 16:14:06.22ID:x6pt+5f0
たびたびすみません。コモン37の続きです。
ロード直後の処理はコモン131のセーブ欄実行で行われてると思い、
コモン131のデータのロードCself12[対象のセーブデータ]の後にエンカウント値に乱数を入れてみました。
でも反映されてないみたいで・・・ロード処理の場所はここではないのでしょうか
0238名前は開発中のものです。
垢版 |
2018/03/30(金) 16:46:58.96ID:USYaeVUj
なぜ反映されてないのかを突き止めよう
エンカウント値を可視化して
毎回同じ値になるのか
ロード直後に乱数入れるまではうまくいってるのか
どこかでミスをしてないか、何が悪さしてるのか考えよう
0239名前は開発中のものです。
垢版 |
2018/03/30(金) 17:28:08.32ID:x6pt+5f0
ロード後に見てみると毎回同じ値になってますね・・
マップ内で乱数を取るイベント置いて、値を呼び出してみるとエンカウント累積値が変化してるので、
ロード時に乱数を挟む位置が違うみたいです。
ありがとうございます。もう少し調べてみますね
0240名前は開発中のものです。
垢版 |
2018/03/30(金) 19:53:32.51ID:ehZLemNf
ロード直後のみに実行されるコモンイベントつくりゃええねん
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 フレーム
|■
◇分岐終了◇
■ このスレッドは過去ログ倉庫に格納されています

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