イベントコマンド | 説明 |
? flagx x x | 条件分岐 x は左から フラグ番号 符号 条件となる数値 フラグは、flag0 〜 flag4095 まであり、ユーザは、flag コマンドを使って各フラグに -20億 〜 20億までの数値を設定できる。符号には == (イコール) != (等しくない) < (未満) > (超) <= (以上) >= (以下) が使える。 条件式を満たす場合は、それ以下のイベントコマンドが実行される。満たさない場合は、! コマンドより下のイベントコマンドだけが実行される。条件分岐は入れ子にできない |
! | 条件分岐(? コマンド)の終了 |
end | イベントコマンドの終了(以降のイベントコマンドは実行されない) |
flagx x x | フラグに数値を設定する x は左から フラグ番号(0 〜 4095) 代入符号 整数値 代入符号には = (代入) + (加算) - (減算) がある。 ゲーム開始時にフラグは総て 0 で初期化される。フラグに設定された値は、他の場面にPCが移動しても保持されるため、フラグの使い回しはしないようにする。(1フラグ1用途) |
============= talk_list.txt の例 ============= <talk_number> 13 </talk_number> <talk_data> HP回復剤を1個入手した トーマス#「こんばんわ」 リチャード#「こんにちわ」 「いらっしゃいませ」 「宿屋です#一泊60Gですが、泊まりますか?」 所持金が足りません この先、町 平穏だった村に突如怪物軍団が現れた ボス#「よくここまで来れたな。ほめてやろう。しかし、その運もここまでだ」 ボス#「ば、ばかな。この私がやられるとは」 かくして、勇者の戦いは終わった 完 リチャード#「トーマスは人間ではなくエルフだ」 トーマス#「エルフは耳が長いんだ」 </talk_data> ============= scene0.txt の例 ============= <scene_kind> 2 </scene_kind> <scene_name> 町 </scene_name> <filename_map_data> map0.bin </filename_map_data> <filename_bg_map_chip> map0_bk.bmp </filename_bg_map_chip> <lyer_map_chip> map0_ly.bmp 2 0 0 0 0 </lyer_map_chip> <midi_index> 3 </midi_index> <scene_change_number> 4 </scene_change_number> <scene_change_data> 0 1 1 4 10 17 3 5 16 17 3 6 27 1 3 7 </scene_change_data> <treasure_index_number> 1 </treasure_index_number> <treasure_index_data> 0 </treasure_index_data> <npc_index_number> 2 </npc_index_number> <npc_index_data> 0 1 </npc_index_data> <flag_number> 12 </flag_number> ------------------------- 0 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> nar 0 </flag_cmd_data> </flag_data> ------------------------- 1 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> </flag_cmd_data> </flag_data> ------------------------- 2 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> load </flag_cmd_data> </flag_data> ------------------------- 3 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> exit </flag_cmd_data> </flag_data> ------------------------- 4 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> scene 1 29 1 </flag_cmd_data> </flag_data> ------------------------- 5 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> scene 2 5 7 </flag_cmd_data> </flag_data> ------------------------- 6 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> scene 4 5 7 </flag_cmd_data> </flag_data> ------------------------- 7 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> scene 5 5 7 </flag_cmd_data> </flag_data> ------------------------- 8 ------------------------- <flag_data> <flag_cmd_number> 1 </flag_cmd_number> <flag_cmd_data> message 9 </flag_cmd_data> </flag_data> ------------------------- 9 ------------------------- <flag_data> <flag_cmd_number> 3 </flag_cmd_number> <flag_cmd_data> talk 0 item0 1 0 wave 1 1 </flag_cmd_data> </flag_data> ------------------------- 10 ------------------------- <flag_data> <flag_cmd_number> 7 </flag_cmd_number> <flag_cmd_data> face 0 ? flag0 == 1 flag0 = 2 talk 12 end ! talk 1 </flag_cmd_data> </flag_data> ------------------------- 11 ------------------------- <flag_data> <flag_cmd_number> 7 </flag_cmd_number> <flag_cmd_data> face 1 ? flag0 == 0 flag0 = 1 talk 11 end ! talk 2 </flag_cmd_data> </flag_data>