投稿
イーブン rein-2000
ずいぶん前にRPG作っちゃるで~! という投稿をした者です。 えーとですね。 ストーリーの進行度ごとに、 会話を変える方法についてですが、 やっぱりIF辞書用意するしか 無いんですかね~……… なぁんかそれだとリストが 見づらくなりそうで、嫌だなぁ~… って…………… この飛行……コミュニティに 誰か医し…知ってる方はいませんか! 教えて頂けたらとても嬉しいです。
3そうだね
プレイ済み
返信[1]
親投稿
こうやま kouyama1967
 会話データ(またはそれをコンバートしたグラフィックデータ)の中に、会話文字以外の制御コードを埋め込んでおいて、会話データを最初から順に読み込んで行き、IF文のような機能で動かすという事になると思います。例えば金の鍵(アイテム番号16番)を持っているかで会話を変えるなら ?IN16なんだ、まだきんのカギをもっていないのか/とうとう、きんのカギを、てにいれたんだな。おめでとう!/  とかになります。ただしリストから手打ちは結構難しいので、スマイルツールのような、会話データ編集ツールを自作する所から始めた方がいいでしょう。
0そうだね
プレイ済み
返信[2]
親投稿
基本的にはどういう風にデータ化するかでしょうねぇ。答えがあるわけではないのでケースバイケースで実装する事になると思います。 例えばフラグのための変数配列を用意して、その内容によって会話を切り替える、みたいな処理の場合は以下のようにも出来ます。 コメントアウトしている部分を有効にするとフラグが変わってメッセージが変わるのが分かると思います。この関数でメッセージを切り替える場合は、DATAの1つが1つのセリフになっていて、その先頭が、"F:"で始まっている場合はフラグをチェックして、そのフラグが立っているときのみそのセリフを返す。ような処理になっています。
0そうだね
プレイ済み
返信[3]
親投稿
プログラムサンプルです。 結構手抜きですが…
0そうだね
プレイ済み
返信[4]
親投稿
ASA fusuian
いろんな方法が考えられますよね。 プチコンなら、キャラに話しかけたときの処理を全部関数にして、例えばキャラその1(王様)に話しかけたら、CALL キャラ$[1]でTALKKINGに飛ばし、あとはフラグに応じてIFの山、というプログラムも書けると思います。 で、街ごとにキャラ番号に対応した関数リストをDATA文の形で用意して、RESTORE 街$で切り替える、とか。 僕はRPGを作ったことはないですが、大事なことは「間違えにくく、修正しやすい」ように心がけてプログラムを組むことかな? なんだってそうですけどね^^;
0そうだね
プレイ済み
返信[5]
親投稿
確かに方法がありすぎますね〜。 柔軟に色々やりたければASAさん方式がいいですね。その場合、会話関係の処理でよく出てくるものを汎用関数化しておくといいと思います。 簡易スクリプトを作るという方法もありますがBASICがそもそもスクリプトみたいなものなので関数処理にするのとあまり変わらないような気がしますね。
0そうだね
プレイ済み
返信[6]
親投稿
けい kei0baisoku
あまり経験のない状態ですとどういった方法がベストか想像しづらいと思いますので、試しに、取り返しのつく範囲で工夫なしにベタで組んでみて、それから考えたほうが分かりやすいかもしれませんね。 少人数×2つの町×ストーリーの段階少し、のパターンを仮で組んで、そこから「もっと楽に組めないかな?」というのをここでアドバイス頂いたことも踏まえて考えてみたり。 どういった方法が良いかは、作るものによってかなり変わってきます。経験のある方たちは、経験からたくさん引き出しを持っているので、やりたい事に合わせてベストな方法を選んだり、組み合わせて新しい方法を作ったりということをしているのだと思います。
1そうだね
プレイ済み
返信[7]
親投稿
れい rei-nntnd
規模や利用方法によってよい方法はかわるけど、最初はifでいいんじゃないかなー ドラクエ1程度の会話量ならifで充分。 管理が大変になったらその時考えればいいし。 とにかくひとつ完成させることが重要。
2そうだね
プレイ済み
返信[8]
親投稿
イーブン rein-2000
けいさんが言ってたように 取り返しのつく範囲でいろいろ 試してみることにします! ありがとうございました!
1そうだね
プレイ済み
返信[9]
親投稿
イーブン rein-2000
皆さん本当に ありがとうございました! RPGの必需品の会話とかを表示する、 四角形表示命令を技術向上目的で、 作ってみました! もしアドバイスとかあったら お願いします。 引数説明 PRINT_BOX X座標、Y座標、X方向のサイズ、Y方向のサイズ、カラー番号
0そうだね
プレイ済み
返信[10]
親投稿
3行目のインデントがないのが気になりますが、それ以外はとくに問題ないんじゃないかなーって思いますよ。 僕も似たような命令を作りましたが、その時は位置や色は現在のを継続するようにしたのでただ枠を描画するだけの命令にしちゃいましたね。
0そうだね
プレイ済み
返信[11]
親投稿
イーブン rein-2000
3行目のインデントが無いのは、後からつけたしたからですね。それよりも3DS壊れたかも………DEF命令いじってたら、画面にひびが入ったような、感じになって、エラーが発?したのでソフトを強制終了しましたって出た。 それに今もおかしくて、実際、発生の生や金が?になってます。それに、をとあとさとなとまの上に謎の点があります。プチコンで作ったデータが壊れても、我慢はできるが、3DSが壊れたら、貯金箱が我慢してくれない………
0そうだね
プレイ済み
返信[12]
親投稿
イーブン rein-2000
電源落としてきました。 ちなみに、άとかέが電源落とす前まで 表示すらされていませんでした。 で、それを入力しようとすると、 フリーズし電源を落とし今に至ります 機械の壊れかたでおおまかに3つに わけて嫌な物から順番に挙げると、 1 メインCPUやメモリの破損。 2 基礎データの破損。 3 部品が壊れた。 なんだよね。貴重な症例だったから、 改善の為にもいろいろやって、 検証したかったなぁ。 というか本当に壊れたかと思った(汗 こういうバグは嫌いです…………… 今から再現を試みます。
0そうだね
プレイ済み