Module Game Menus(メニュー)

(訳注: ここでの「メニュー」とは会話以外での選択肢、例えば街や村に行くと右側や左側に表示される選択肢や、ワールド・マップの下欄の「レポート」を選ぶと表示される選択肢のことです。モジュール名やこのページの説明では game menus のように game が付いていますが、「ゲーム・メニュー」と訳すとゲーム起動時や Esc キーによる画面と混同しやすいし、ゲーム中メニューとしても不正確なので、いっそのこと ということで 単に「メニュー」と訳します。)
module_game_menus.py 冒頭に書かれた指定方法
ゲームのメニューのレコードには下記の項目がある。
(1) メニュー ID (string)。他のファイルから このレコードを特定するために使われる。
    ID の手前に接頭子 menu_ が自動的に付加される。
(2) フラグ群 (int)。指定可能なフラグは header_game_menus.py を参照のこと。
    menu_text_color() を論理和することで文字の色を指定できる。
(3) テキスト (string)。
(4) メッシュ名 (string)。現在は不使用。文字列 "none" を指定すること。
(5) 命令ブロック (list)。一連の命令。詳しくは header_operations.py を参照のこと。
    このメニューが有効化された時に実行される。
(6) 選択肢群 (List)。
    各選択肢のレコードはタプルで、中に次のような項目がある。
  (6.1) 選択肢 ID (string)。他のファイルから特定するために使われる。
         ID の手前に接頭子 mno_ が自動的に付加される。
  (6.2) 条件ブロック (list)。一連の命令。詳しくは header_operations.py を参照のこと。
         選択肢ごとに条件の成否が判定され、その選択肢がプレイヤーに見えるように表示されるかどうかが決まる。
  (6.3) 選択肢テキスト (string)。
  (6.4) 結果ブロック (list)。一連の命令。詳しくは header_operations.py を参照のこと。
         プレイヤーが この選択肢を選んだ時に実行される。
注: メニューのリストのうち、先頭のレコードは、最初に人物を作成するためのもの。
一般的な構造: (メニュー ID, フラグ群, テキスト, "none", [<命令群>], [<選択肢群>]),

module_game_menus.py 未記入。

訳注:

メニューを扱う手始めとして、「モジュール開発システムを導入しよう」のページに注記した「Hello, world! を表示する例」が参考になるかも。

Menu Flags

フラグ群には次のようなものを指定できる。

mnf_auto_enter プレイヤーが最初の選択肢を選ぶと、自動的に街(など?)に入いるようにする。
mnf_disable_all_keys P、I、C の各キーを抑止。
mnf_enable_hot_keys P、I、C の各キーを許可。
mnf_join_battle プレイヤーが戦闘に加わる時に、ゲーム・エンジンがこのメニューを考慮するようにする。
mnf_scale_picture メニューで表示する画像を、画面のアスペクト比に合うよう伸縮する。

その他の注意点

メニューの文字色。 Caba`drin, Modding Q&A

シーン内の「通路」とメニューの選択肢。 Somebody, Modding Q&A

メニューの条件ブロックと結果ブロックの間で実行できることは 2 つだけだろう。絵の表示する関する既存スクリプトと、メニュー選択後の背景リフレッシュ。絵のスクリプトだけでなく、module_tableau_materials も調べるといい。 cmpxchg8b, Modding Q&A

シーン内の「通路」はメニュー選択肢に関連付けることができる。街が良い例。だから、全ての選択肢を抑止、という設計も あり得る。 Somebody, Modding Q&A

ホット・キーの許可。 Somebody, Modding Q&A

[メモ]-[人物](訳によっては「キャラクタ」)で表示される人名一覧がアルファベット順になるのは、ハード・コーディングされている。「それとて所詮モジュール・システムだから何とか迂回できるだろう」というのは甘い。どうしても迂回したければ、WSE のような「エレガントでないもの」を使うしかなさそう。 The_dragon, Modding Q&A

メニューは、ハード・コーディングされた「表示」(presentations)。何でも自由にしたければ、「表示」を作って手動で可能。 kalarhan, Modding Q&A

メニューに関して、役に立ちそうだが恐らく古い情報。 Khalid ibn Walid (credit), 0.89x game_menus - index