タグ | 意味 |
---|---|
%txt_ucnpc_ev_b | 開始タグ |
%txtevstart,JP | 最初の会話テキスト |
%txt***,JP | 分岐先のテキスト。***は半角英字で記述。 |
%bye,JP | 分岐先にこれを指定すると会話を終了できる。会話本文を記述する必要は無し。 |
%txt_ucnpc_ev_e | 終了タグ |
%txtevif,JP | 意味は%txtevstart,JPと同様でevstartより優先的に表示される。 ※筆者はこれを使う必要性が分かっていません。 |
omake同梱の「解説ロミアス」より
%txt_ucnpc_ev_b %txtevstart,JP CNPCの選択肢会話機能についての説明を聞きたいのか?{c}聞きたい%yes{ev},,,,,{c}余計な世話だ%no{ev},,,,, %txtyes,JP 具体的に何について聞きたいんだ?{c}作り方%hensyu1{ev},,,,,{c}可能なこと%kano{ev},,,,,{c}注意%chui{ev},,,,, %txtno,JP …本当に聞かないつもりか?{c}聞く%yes{ev},,,,,{c}聞かない%joudan{ev},,,,, %txtjoudan,JP おいおい、冗談だろう?{c}聞く%yes{ev},,,,,{c}聞かない%no{ev},,,,, %txthensyu1,JP 通常のCNPCのテキストに追加して記述することで可能になる。{n}bitOn.の下あたりから記述するとよいだろう。{n}ちなみにfixLv.を6にしないとこの機能は使えないぞ。{c}(続く)%hensyu2{ev},,,,, %txthensyu2,JP 記述の順番は「会話の内容、選択肢、イベントアクション」だ。{n}ここで説明するには長すぎるから割愛させてもらおう。{n}「会話の内容」では"you"や"me"や"n"などが使えるが、{n}選択肢では使用できないから気を付けるといい。{c}(続く)%hensyu3{ev},,,,, %txthensyu3,JP なにはともあれ、説明のテキストを読んで{n}実際に作ってみるのが一番理解しやすいだろう。{n}陰ながら応援しているよ(ニヤリ){c}他にも聞きたい%yes{ev},,,,,{c}さようなら%bye{ev},,,,, %txtkano,JP このような選択肢による会話分岐のほかに{n}会話後にキャラを敵対させたり消滅させたりすることが可能だ。{n}他にもエモーションアイコンや効果音を出したり{n}流れている音楽を変えることもできる。{n}ただ、アイテムやキャラクターの生成は{n}ゲームバランスを考えて不可能にしている。{n}何か試してみるか?{c}敵対%tekitai{ev},,,,,{c}消滅%evstart{ev}vanq,,,,,{c}エモーションアイコン%emo{ev}emolove,,,,,{c}効果音%koukaon{ev}curse3.wav,,,,,{c}(次へ)%kano2{ev},,,,, %txttekitai,JP …本当に試してしまったのか?{c}えー%bye{ev}gohos,,,,, %txtemo,JP エモーションアイコンを出したぞ。{c}見えない%emo2{ev},,,,, %txtemo2,JP おいおい、会話ウィンドウに隠れて見えないのは{n}少し考えれば分かることだろう。{n}これでエモーションアイコンを出すときは{n}会話を終了するときにするべきだというのが理解できたな。{n}(ロミアスはにやりと笑った){c}さようなら%bye{ev},,,,, %txtkoukaon,JP あなたのエーテル抗体のポーションは黒く輝いた。{c}(続く)%koukaon2{ev},,,,, %txtkoukaon2,JP …おっと、驚かせてしまったかな。{n}もちろん、本当に呪われたわけではないから安心するといい。{n}{n}さて、他に何か聞きたいことはあるか?{c}ある%yes{ev},,,,,{c}ない%bye{ev},,,,, %txtongaku,JP どうだ、少しは緊張感のある音楽になっただろう。{n}もっとも、他人と自分が同じBGMを使っているとは限らないから、{n}場合によっては大変間抜けなことになる可能性もあるがな。{n}{n}さて、他に何か聞きたいことはあるか?{c}ある%yes{ev},,,,,{c}ない%bye{ev},,,,, %txtchui,JP そうだな、まずテキストは間違いのないように記述することだ。{n}上手く動作しないという場合は必ずテキストを見なおすべきだ。{n}それと抜けられない無限ループを作るのはやめておいた方がいい。{n}Shiftで会話から抜けられるとはいえ、やはり印象は悪い。{n}あとは…そうだな。{n}無限ループを避けるために{n}選択肢は300回までしか使えないようになっている。{n}もっとも、そんなに大量の文章を書く変態はいないだろうがね。{n}(ロミアスはにやりと笑った){c}(続く)%chui2{ev},,,,, %txtchui2,JP さて、他に何か聞きたいことはあるか?{c}ある%yes{ev},,,,,{c}ない%bye{ev},,,,, %txtbye,JP %txtkano2,JP このような選択肢による会話分岐のほかに{n}会話後にキャラを敵対させたり消滅させたりすることが可能だ。{n}他にもエモーションアイコンや効果音を出したり{n}流れている音楽を変えることもできる。{n}ただ、アイテムやキャラクターの生成は{n}ゲームバランスを考えて不可能にしている。{n}何か試してみるか?{c}BGM変更%ongaku{ev}mcLastBoss,,,,,{c}気持ちいいことしない?%kimoti{ev},,,,,{c}(戻る)%kano{ev},,,,, %txtkimoti,JP おいおい、照れるじゃないか。{c}いやん♪%bye{ev}iikoto,,,,, %txt_ucnpc_ev_eまず、最初に話しかけた場合は%txtevstart,JPが発言されるので「CNPCの〜」が発言される。
MMA/TT同梱の「解説ロミアス_MMA」より
%txt_ucnpc_ev_b %txt[MMA]evstart,JP,mgdata82eqv1 エレアを殺して平気なのか?(ニヤリ){n}{n}このメッセージはショウルームかカスタムマップに保存しなければ見れないはずだ。{cgdata0add1}{mgdata82set0}{c}さようなら%bye{ev},,,,, %txt[MMA]evstart,JP,cgdata0eqv19 これで20回だ。飽きないか?{cgdata0add1}{c}さようなら%bye{ev},,,,, %txt[MMA]evstart,JP,cgdata0eqv14,kill3upv10 ところで君は今までに殺したプチの数を覚えているか?{cgdata0add1}{cgdata1rnd1000}{c}{cgdata1}匹%putitrnd{ev},,,,,{c}{kill3}匹%putit{ev},,,,, %txt[MMA]evstart,JP,cgdata0eqv9 これで10回目だな。{cgdata0add1}{c}さようなら%bye{ev},,,,, %txt[MMA]evstart,JP,cgdata0eqv4,cdata38euv30 君のレベルは{cdata38}か。なかなか頑張っているようじゃないか。{n}これも私の指導が良かったおかげだな(ニヤリ){cgdata0add1}{c}さようなら%bye{ev},,,,, %txt[MMA]evstart,JP,cgdata0eqv4 君のレベルは{cdata38}か。まだまだ修行中といったところか。{cgdata0add1}{c}さようなら%bye{ev},,,,, %txt[MMA]evstart,JP,cgdata0eqv1 私に話しかけたのは2回目だな?{cgdata0add1}{c}さようなら%bye{ev},,,,, %txt[MMA]evstart,JP 今日は{gdata10}/{gdata11}/{gdata12}、ここはX:{tcdata1} Y:{tcdata2}だな。{n}君のHPは{cdata50}/{cdata51}、速度は{sdata18}。{n}私のHPは{tcdata50}/{tcdata51}、速度は{tsdata18}だ。{n}今までに私に話しかけたのは{cgdata0add1}{cgdata0}回目か。{n}{n}ざっくりなサンプルだが雰囲気を把握してくれ。{c}フラグを初期化する%flagclear{ev},,,,,{c}さようなら%bye{ev},,,,, %txtevstart,JP このヴァリアントはMMAの条件付きメッセージ処理に{n}対応していないようだな。{n}{n}そのような環境でも会話がおかしくならないように、{n}MMA用の%txt[MMA]evstartメッセージと{n}他のヴァリアント用の%txtevstartメッセージを{n}別々に設定しておくといいだろう。{c}さようなら%bye{ev},,,,, %txtputit,JP 他に覚えるべきことがあるだろう。{c}さようなら%bye{ev},,,,, %txtputitrnd,JP 適当に言ってるな?(ニヤリ){c}さようなら%bye{ev},,,,, %txtflagclear,JP これで君とは赤の他人だ。寂しいだろう?{cgdata0set0}{c}さようなら%bye{ev},,,,, %txt_ucnpc_ev_e一見複雑だが、一つ一つ見れば単純な作り。
タグ | 意味 |
---|---|
行動 | |
gohos | 敵対化。イベント指定後も会話自体は継続する。 |
turnAlly | 味方化。ペット化ではなく、そのCNPCがPCに随行するようになる。一度マップを離れると元の状態に戻る。 |
iikoto | 気持ちいいことを始める。イベントを指定した場合、会話を終了させる。 |
vanq | 消滅する。以降、消滅したCNPCは基本的に表れない。イベントを指定した場合、会話を終了させる。 |
エモーションアイコン | |
emofire | 火 |
emonote | ♪(音符) |
emolead | …(三点リーダー) |
emopoison | 毒 |
emobleed | 出血 |
emoblind | 盲目 |
emoconfuse | 混乱 |
emodim | 朦朧 |
emofear | 恐怖 |
emosleep | 睡眠 |
emoparalyze | 麻痺 |
emoeat | 食事 |
emolove | ハート |
emoanger | 怒り |
emobag | 袋 |
emoexclamation | !(びっくり) |
emoquestion | ?(はてな) |
emoperson | 人 |
emomemo | メモ |
emomad | 狂気 |
emostar | 星 |
音楽関連 | |
BGM | 該当するBGMをmc***の形式で指定。 |
効果音 | 該当する効果音を***.wavの形式で指定。 |
(ロミアス用CNPC) %txt[MMA]NewGame,JP {mgdata1set1}{talkdialog} %txt[MMA]evstart,JP,mgdata1eqv1 …意識が…もう戻ったのか? 驚いたな。君の回復を待つために、我々の急を要する旅がいつまで中断されるのか、気を揉んでいたのだが。(中略){mgdata1set2}{talkcnpc:Larnneire} %txt[MMA]evstart,JP,mgdata1eqv3 …そうだな。私の悪い癖だ、わかってはいる。…さて、{player}といったな、 (ラーネイレ用CNPC) %txt[MMA]evstart,JP,mgdata1eqv2 ロミアス、喋りすぎよ。たとえ意識の朦朧とした怪我人が相手だとしても。{mgdata1set3}{talkcnpc:Lomias}基本的に{talkdialog}と{talkcnpc:*}を使用。
ここで説明する置換文はカスタムマップに初期生成されたCNPCでのみ有効です。通常のテキスト差し替えでは機能しません。
原則としてCNPCなどのカスタム系の名前を指定する場合、ファイル名(英語名)で指定してください。
タグ | 意味 | 補足 |
---|---|---|
{unpccounts:*} | マップ上にいる*という名前のCNPCの数 | |
{unpccountp:*} | マップ上にいる*という名前のCNPCの数をバッファ変数の0に代入する | |
{uitemcounts:*} | PCが所持している*という名前のカスタムアイテムの個数 | |
{cuitemcounts:*} | 発言者が所持している*という名前のカスタムアイテムの個数 | |
{tuitemcounts:*} | 会話相手が所持している*という名前のカスタムアイテムの個数 | |
{fuitemcounts:*} | フロアに存在する*という名前のカスタムアイテムの個数 | |
{uitemcountp:*} | PCが所持している*という名前のカスタムアイテムの個数をバッファ変数の0に代入 | |
{cuitemcountp:*} | 発言者が所持している*という名前のカスタムアイテムの個数をバッファ変数の0に代入 | |
{tuitemcountp:*} | 会話相手が所持している*という名前のカスタムアイテムの個数をバッファ変数の0に代入 | |
{fuitemcountp:*} | フロアに存在する*という名前のカスタムアイテムの個数をバッファ変数の0に代入 | |
{createuitem:*} | PCの足元に*というカスタムアイテムを出現させる | |
{removeuitem:*} | 発言者が所持する*というカスタムアイテムを消去する(所持アイテムの欄から消す) | |
{createchar*} | 発言者の周辺に識別子*番のキャラを出現させる | |
{ecreatechar*} | 発言者の周辺に識別子*番のキャラを一時敵対状態で出現させる(マップを移動すると通常の敵対関係に戻る) | |
{createunpc:*} | 発言者の周辺に*という名前のCNPCを出現させる | |
{createtunpc:*} | 発言者の周辺に*という名前のCNPCを出現させる(マップを移動すると消滅する) | |
{ecreateunpc:*} | 発言者の周辺に*という名前のCNPCを一時敵対状態で出現させる(マップを移動すると通常の敵対関係に戻る) | |
{ecreatetunpc:*} | 発言者の周辺に*という名前のCNPCを一時敵対状態で出現させる(マップを移動すると消滅する) | |
{vanqtnpc} | {createtunpc:*}{ecreatetunpc:*}で生成したマップ内の一時NPCを全て消去する | |
{vanquish} | 発言者を消滅させる(自然に復活はしない) | 死亡する訳ではないので会話は継続可能(ただし、CNPCとしての権限は失う) |
{completequest} | 「クエストを達成した!」のログを表示 | ログが表示されるだけで変数の操作とは無関係 |
{throwitem} | 「何かが足下に転がってきた。」のログを表示 | ログが表示されるだけで変数の操作とは無関係 |
{moretogo} | 「[殲滅依頼]残り*体」のログを表示 | ログが表示されるだけで変数の操作とは無関係 *はバッファ番号の0番の値(事前に設定する必要があります) |
{updatejournal} | 「ジャーナルが更新された。」のログを表示 | ログが表示されるだけで変数の操作とは無関係 |
{sceneplay} | シーン再生判定 | 条件が満たされている場合、次のターンでシーンが再生される 条件が満たされていない場合は何も起きない |
{setupstairs} | マップ内に昇り階段が存在しない場合、PCの足元に出現させる | |
{setdownstairs} | マップ内に降り階段が存在しない場合、PCの足元に出現させる | {tsetupstairs} | マップ内に昇り階段が存在しない場合、発言者の足元に出現させる |
{tsetdownstairs} | マップ内に降り階段が存在しない場合、発言者の足元に出現させる | |
{lockdownstairs} | マップ上にある降り階段を封印状態にする | |
{unlockdownstairs} | マップ上にある封印状態の降り階段の封印を解除する | 同マップ内に降り階段が複数ある場合、一つだけ解除される |
{umapgdatap:*} | 全てのマップ変数の値をバッファ変数に一括コピーする | *はマップ名(もしくはワールド名) |
{unpcgdatap:*} | 全てのCNPC変数の値をバッファ変数に一括コピーする | *はCNPC名 |
{levelmove*} | 会話終了後、同マップの*階に移動する | *は移動先の階層 |
{mapmove*} | 会話終了後、指定マップの1階(1階が存在しない場合は最上階)に移動する | *は移動先のマップ識別子 カスタムマップではなく通常(ノースティリスなど)のマップに移動する場合です |
{umapmove:*} | 会話終了後、指定カスタムマップの1階(1階が存在しない場合は最上階)に移動する | *は移動先のマップ名 |
{cmapface*} | ダイアログメッセージ内のポートレートを一時的に変更する | *はuser/cmapフォルダの「(マップ名)_cmapface*.bmp」に対応 |
{talkdialog} | 発言者のトークダイアログを表示 | 対象が死亡していても%txtDead,JP内にこのタグがあれば会話可能 |
{talknpc*} | 識別子*番のキャラのトークダイアログを表示 | 対象はマップ上にいるPC、ペット、冒険者、自宅警備員以外の生存中または死亡中のNPC |
{talkcnpc:*} | *という名前のCNPCのトークダイアログを表示 | 対象はマップ上にいるPC、ペット、冒険者、自宅警備員以外の生存中または死亡中のNPC |