| 私のシナリオで使用している主人公選択イベントを少し修正したものを 載せておきます。どうぞ参考になさってください。 ちなみに、名前・主人公機の設定方法も掲載しておきます。
############################################################
#ウィンドウを表示 Show
PaintString - 30 "誰を主人公に選びますか?"
#主人公画像の表示を指示する #顔アイコンのサイズが32×32なら"64 64"の部分を"32 32"へ変更。 #x1〜x3、y1〜y3はアイコンを表示したい位置を指定。 PaintPicture 主人公1のアイコン x1 y1 64 64 PaintPicture 主人公2のアイコン x2 y2 64 64 PaintPicture 主人公3のアイコン x3 y3 64 64
#表示したアイコンをクリック可能なボタンへ変更 HotPoint 主人公1の名称 x1 y1 64 64 主人公1の名称 HotPoint 主人公2の名称 x2 y2 64 64 主人公2の名称 HotPoint 主人公3の名称 x3 y3 64 64 主人公3の名称
#画像を表示する Refresh
#クリック待ち Do Wait Click
#選んだアイコン(主人公の名称)を主人公仮名称に設定 主人公仮名称 = 選択
#選択の再確認 Confirm "これでよろしいですか?" Loop While (選択 = 0)
#画像の消去 Redraw
#主人公の名前設定イベントへ移行 #主人公仮名称は変数なので変更せずにそのまま使い、 #その他の引数は自由に設定可 Call 主人公名前入力 主人公仮名称 主人公のファーストネーム 主人公の名字 主人公の愛称 主人公機仮名称
#主人公フルネームをグローバル変数化 Global 主人公フルネーム
#主人公のファーストネームをグローバル変数化 Global 主人公名前
#主人公の名字をグローバル変数化 Global 主人公名字
#主人公の愛称をグローバル変数化 Global 主人公愛称
#主人公機の愛称をグローバル変数化 Global 主人公専用機愛称
#入力イベント突入 Do #主人公フルネームのプレイヤー入力 PaintString - 220 "主人公のフルネームを入力してください" Input 主人公フルネーム 主人公のフルネームを入力してください 主人公仮名称 FadeOut #主人公のファーストネームのプレイヤー入力 PaintString - 220 "主人公の名前を入力してください" Input 主人公名前 主人公の名前を入力してください 主人公のファーストネーム(自由に設定可) FadeOut #主人公の名字のプレイヤー入力 PaintString - 220 "主人公の名字を入力してください" Input 主人公名字 主人公の名字を入力してください 主人公の名字(自由に設定可) FadeOut #主人公愛称のプレイヤー入力 PaintString - 220 "主人公の愛称を入力してください" Input 主人公愛称 主人公の愛称を入力してください 主人公の愛称(自由に設定可) FadeOut #主人公機愛称のプレイヤー入力 PaintString - 220 "主人公の機体愛称を入力して下さい" Input 主人公専用機愛称 主人公機の愛称を入力して下さい 主人公の仮の機体愛称(自由に設定可) FadeOut PaintString - 120 "主人公のフルネームは$(主人公フルネーム)" PaintString - 150 "名前は$(主人公名前)" PaintString - 180 "名字は$(主人公名字)" PaintString - 210 "愛称は$(主人公愛称)" PaintString - 240 "機体愛称は$(主人公専用機愛称)でよろしいですか?" #決定の再確認 Confirm "これでよろしいですか?" FadeOut Loop While (選択 = 0)
######## プログラムはここまでです ################
さて、プレイヤーが入力した結果を反映させるためには、 pilot.txtの主人公のデータにおいて、愛称が「主人公」にし、 robot.txtの主人公機のデータにおいて、機体愛称を「主人公専用機」 としたデータを作成しておく必要があります。例を載せておきます。
(例) アイザック=カルマ 主人公, 男性, MS, AABA, 180 特殊能力 切り払いLv1, 8, Lv2, 17, Lv3, 33, Lv4, 55 S防御Lv1, 13, Lv2, 27, Lv3, 41, Lv4, 58 NTLv1, 14, Lv2, 37 136, 148, 144, 146, 150, 158, 強気 精神, 55, 集中, 1, ひらめき, 6, 熱血, 14, 幸運, 18, てかげん, 22, 魂, 39 HERO_AizacCaruma.bmp, Hero.mid
ベアトリス 主人公専用機, MS, 1, 2 陸, 5, M, 4500, 145 特殊能力 シールド 3400, 160, 1100, 95 バルカン, 800, 1, 1, -20, 10, -, -, AA-A, -15, B ビームサーベル, 1400, 1, 1, +15, -, -, -, AAAA, +0, 武 ビームライフル, 1400, 1, 3, +0, 6, -, -, AA-A, +10, B
Talk文で主人公の愛称を設定して喋らせたいときは、
Talk 主人公愛称 会話内容 End
とします。会話文で主人公の愛称を入れたいときは、
Talk リック おい、$(主人公愛称)! 遅かったぞ!! End
とすればいいのです。長くなりましたが、これでいかがでしょうか? プログラムの上達のコツはヘルプをよく見ることと人の真似をする ことだと思います。参考になるなと思うシナリオはeveファイルを 確認して、プログラムの内容がどういう働きをしているのかヘルプを 確認しながら考えてみると上達は早いです。では、頑張ってください。
|