ERPGヘルプ
[トップページ] [ERPG]

ERPGヘルプ

キーワードで検索したい場合は、ブラウザの検索機能を使用してください。 IE・NNなら Ctrl + F で検索できます。

目次

シナリオ実行方法   
サンプルゲーム起動方法   
シナリオ実行時の操作方法   
ERPGで扱うファイル   
最低限必要なファイル   
最低限のRPGの作成手順   
最低限のRPGの実行   
イベントについて   
イベントの例   
マップ間の移動   
敵を出現させる   
戦闘の法則   
ゲームバランス   
魔法・アイテムについて   
魔法・アイテムの効果   
暗くなる設定について   
BGMについて   
効果音について   
イベントでのグラフィック表示   
変数・戻り値・フラグ・条件分岐について   
選択ウインドウ   
乗り物の作成   
ユーザー登録機能を使用するには   

シナリオ実行方法

本ヘルプでは、イベントやグラフィックなどのシナリオ実行に必要なデータを、シナリオデータと呼ぶことにします。 ERPGで作成したシナリオデータと、rpg.exe (シナリオを実行するためのプログラム) を同一のフォルダ内にコピーして rpg.exe を起動すると、シナリオが実行されます。 なお、rpg.exe は、data.lzh ファイル内にあります。 erpg.exe と rpg.exe を混同しないようにしてください。 erpg.exe はシナリオデータ作成用プログラム、rpg.exe は、シナリオ実行用プログラムです。 自作シナリオデータと共に配布できるのは、rpg.exe です。erpg.exe を配布することはできません。

サンプルゲーム起動方法

ERPGには、動作説明のためのサンプルゲームのデータが付属しています。 サンプルゲームのデータは、data.lzh ファイル内にあります。 サンプルゲームのデータと、rpg.exe を同一のフォルダ内にコピーして rpg.exe を起動すると、サンプルゲームが実行されます。 data.lzh をディレクトリ付きで解凍して、そのまま rpg.exe を実行してもゲームを起動できないので注意してください。 必ず、データと rpg.exe を同一のフォルダ内にコピーしてください。
サンプルゲームのデータは、ERPGで読み込むことができるので、内容を参考にしてください。

シナリオ実行時の操作方法

シナリオ実行時の操作は、キーボードで行います。 以下に使用するキーを示します。 なお、キーの割り当ては変更することができます。

機能キー(デフォルト)説明
移動↑←↓→キャラクタの移動、カーソルの移動
選択Enter項目の決定、会話など
キャンセルCtrlコマンドキャンセル、キャンプメニュー表示
スキップShiftメッセージの表示のスピードアップ

ERPGで扱うファイル

ERPGでは、以下に示すファイルを扱います。

ファイルの種類内容ファイルネーム作成方法
マップファイルマップデータmp??????.map
??????はマップ番号(000001以上)
メインウインドウで作成
マップチップファイルマップの部品mc??????.mcp
??????はマップチップ番号(000001以上)
マップチップエディタで作成
ゲームデータファイルゲーム全般・アイテム・オブジェクトなどのデータgamedata.idtゲームデータエディタで作成
イベントファイルイベントの内容e???????.evt
??????はイベント番号(000001以上)
イベントエディタで作成
グラフィックファイルオブジェクト・敵・タイトルなどのグラフィック*.gdt既存の*.bmpファイルをビットマップコンバータで変換
音楽ファイルBGMのデータ
(ERPG Ver.1.04から、MIDIファイル以外も使用可能になりました。)
bgm?????.*
?????はBGM番号(00001以上)
適当なアプリケーションで作成
WAVEファイル効果音のデータs???????.wav
???????は効果音番号(0000001以上)
適当なアプリケーションで作成
アイコンファイルシナリオのアイコンrpg.ico適当なアプリケーションで作成

グラフィックファイル (*.gdt) の種類には、以下に示すものがあります。

ファイルの種類用途ファイルネーム
汎用グラフィクデータイベントでの表示・顔グラフィックとしての使用・タイトル画面として表示など。g???????.gdt
???????はグラフィック番号(0000001以上)
敵グラフィクデータ敵の表示。
グラフィック左上の色が透過色。
en??????.gdt
??????は敵グラフィック番号(000001以上)
敵フラッシュグラフィクデータ敵が攻撃を受けたときに表示されるフラッシュの表示。
グラフィック左上の色が透過色。
このファイルが存在しなければゲーム実行時に自動的に表示パターンが作成されます。(敵グラフィックを白で塗りつぶして作成。)
en??????.gdtとeh??????.gdtのグラフィックのサイズは同じでなくてはなりません。
eh??????.gdt
??????は敵グラフィック番号(000001以上)
省略可能
戦闘時背景戦闘時に背景として表示。
このファイルが存在しなければ戦闘背景は指定した色で塗りつぶされます。
昼と夜で別々のグラフィックを表示することが可能。
(ゲームデータエディタで夜になると暗くなる設定が有効になっている場合)
btla????.gdt (昼 6〜18時)
btlb????.gdt (夜 18〜6時)
????はマップチップ属性番号(戦闘が発生した位置のマップチップの属性番号を参照してどの背景を表示するか決定されます。)
省略可能(btla????.gdtだけを作成してもよい。)
オブジェクトアニメーション用グラフィックオブジェクトのグラフィックとして表示。
グラフィック左上の色が透過色。
主に歩行時のアニメーションパターンを表示する場合に使用します。
obj0.gdt
省略不可(使用しない場合でも obj0.gdt は存在しなくてはならない。)
オブジェクト静止用グラフィックオブジェクトのグラフィックとして表示。
グラフィック左上の色が透過色。
オブジェクトがアニメーションしない場合に使用します。
obj1.gdt
省略不可(使用しない場合でも obj1.gdt は存在しなくてはならない。)
壁紙rpg.exe 実行時のウインドウの余った部分のグラフィック。wall.gdt
省略可能

最低限必要なファイル

シナリオ実行に最低限必要なファイルを以下に示します。

マップチップデータ 1つ以上 (mc??????.mcp)
マップデータ 1つ以上 (mp??????.map)
オブジェクトアニメーション用グラフィック 1つ (obj0.gdt)
オブジェクト静止用グラフィック 1つ (obj1.gdt)
ゲームデータ 1つ (gamedata.idt)

以上のファイルが存在すればゲームを実行することができます。

最低限のRPG作成手順

最低限必要なファイルを作成すれば、とりあえずゲームを実行することができます。 ゲームを実行できるようになれば、ERPGの様々な設定項目を、実際に実行しながら試すことができるので、理解しやすくなると思います。

以下に、最低限必要なファイルの作成手順を示します。

マップチップデータ mc??????.mcp
マップチップとは、マップを構成する部品です。 最低限必要なマップチップデータは1つです。 作成が面倒な場合は、とりあえず、サンプルデータを使ってください。

自作する場合は、以下の手順を参照してください。

  1. 幅640dot、高さ任意のサイズのビットマップファイル内に、32*32dotのマップの部品を描画します。

  2. 作成したビットマップファイルを、マップチップエディタに読み込みます。

  3. マップチップエディタ上で読み込んだグラフィックをクリックすると、その部分が選択されます。
    マウスをドラッグして複数のマップチップを選択することができます。

  4. マップチップを選択して、マウスボタンを右クリックすると、「マップチップ属性番号」と示されたダイアログボックスが表示されます。

  5. マップチップの属性とは、キャラクタなどが通行できるかを指定するためのものです。
    マップチップの属性は、以下の3種類です。

    (普通に歩くことができる場所です。)
    (歩くことができない場所です。船などなら移動できます。)
    (歩くことができない場所です。飛行機などなら移動できます。山と名付けていますが、山以外の移動できない場所全般に、この属性を指定します。)

    陸は0〜99、海は100〜199、山は200〜255の属性番号を指定します。
    同じ陸地で0〜99までの数値を選択できる理由は、このマップチップのマップ上で敵と戦闘が発生した場合、入力した数値にしたがって戦闘用の背景が表示されるからです。
    例えば通行属性を12と指定したマップチップのマップ上で敵と戦闘が発生すると、btla0012.gdt(昼用グラフィック) または btlb0012.gdt(夜用グラフィック) を読み込んで、戦闘の背景として表示します。
    戦闘時に背景を使用しないなら、0〜99のどの数値を入力しても、全く区別されません。(海、山の属性番号についても同様です。)

  6. 最後に、データをファイルに保存します。
    マップチップは番号で識別されています。
    1番のマップチップデータなら mc000001.mcp
    123番のマップチップデータなら mc000123.mcp
    という具合に、ファイルネームを決めてください。
    マップチップ番号は、適当に決めればよいです。

マップデータ mp??????.map
マップを作成する前に、マップチップデータをマップチップエディタに読み込んでおいてください。
読み込んだマップチップデータをマップに描画します。
最低限必要なマップデータは1つです。

まず、マップを新規に作成する手順を示します。

  1. メニューから[ファイル]-[新規作成]を選択して、新規作成ダイアログボックスを表示します。
    新規作成ダイアログボックスで、作成したいマップのサイズを入力してOkをクリックします。

  2. 次に、マップの属性を入力する手順を示します。
    メニューから[編集]-[マップ属性]を選択して、マップ属性ダイアログボックスを表示します。
    いくつかの項目がありますが、とりあえず、マップチップ番号の項目に、現在読み込んでいるマップチップデータの番号を入力し、Okをクリックします。

  3. 次に、マップの描画を行います。
    メニューから[編集]-[マップ描画]を選択します。
    マップチップエディタで、マップに書き込みたいマップチップを選択します。
    マウスをクリックすると、クリックした場所に描画されます。
    マウスをドラッグすると、ドラッグして選択された領域が描画されます。

  4. 最後に、データをファイルに保存します。
    マップは番号で識別されています。
    1番のマップデータなら mp000001.map
    123番のマップデータなら mp000123.map
    という具合に、ファイルネームを決めてください。

オブジェクトアニメーション用グラフィック obj0.gdt
オブジェクト静止用グラフィック obj1.gdt
オブジェクトとは、マップ上に置かれるもの全てです。 例えば、主人公や仲間のキャラクタ、街の人、宝箱、ドア、落とし穴、船、・・・などです。 作成が面倒な場合は、とりあえず、サンプルデータを使ってください。

自作する場合は、以下の手順を参照してください。

  1. 幅640dot、高さ任意のサイズのビットマップファイル内に、32*32dotのオブジェクトのグラフィックを描画します。 オブジェクトアニメーション用グラフィックの場合は、32*32dotのグラフィックが4*3個で一つのブロックになっています。 ブロック内のどれか一つが、連続して切り替わって表示されて、アニメーションします。 ブロック内での並べかたは、サンプルの obj0.gdt を、ビットマップコンバータで読み込んで参考にしてください。

  2. 作成したビットマップファイルを、ビットマップコンバータに読み込みます。

  3. 最後に、データをファイルに保存します。
    オブジェクトアニメーション用グラフィックのファイルネームは obj0.gdt
    オブジェクト静止用グラフィックのファイルネームは obj1.gdt です。

オブジェクトアニメーション用グラフィックのブロック内での並べかた
正面
停止
左向き
停止
背面
停止
右向き
停止
正面
歩行パターン1
左向き
歩行パターン1
背面
歩行パターン1
右向き
歩行パターン1
正面
歩行パターン2
左向き
歩行パターン2
背面
歩行パターン2
右向き
歩行パターン2

歩行時には、歩行パターン1,2が切り替わって表示されてアニメーションします。 ゲームデータエディタの「オブジェクト」ダイアログボックスの「アニメーションする」の項目をチェックしておくと、歩かなくてもアニメーションします。



ゲームデータ gamedata.idt
ゲームデータとは、ゲーム全体の設定、オブジェクトのデータ、敵のデータ、アイテム魔法のデータ、・・・などのデータです。 ゲームデータエディタで作成します。 ゲームデータエディタでは、様々なデータを作成しますが、最低限必要なデータは、操作するキャラクタ(オブジェクト)が1つ、そのオブジェクトが属するパーティーが1つです。

以下にゲームデータエディタでの最低限必要なデータの作成手順を示します。

オブジェクトの作成

オブジェクトとは、マップ上に置かれるもの全てです。
まずは、オブジェクトを、操作するキャラクタ(主人公)として作成する手順を示します。

  1. ゲームデータエディタ上部の「オブジェクト」のタブをクリックします。
    表示されたリストボックスの[end]の項目を選択して、挿入ボタンをクリックします。
    新しく作成された項目をダブルクリックすると、「オブジェクト」ダイアログボックスが表示されます。
    オブジェクトダイアログボックスで、オブジェクトの各種設定を行います。

  2. オブジェクトのグラフィックを指定します。
    オブジェクトをキャラクタとして設定する場合は、通常、アニメーション用グラフィック(obj0.gdt)を使用します。
    オブジェクトダイアログボックスの「グラフィックファイルの種類」の項目に 0 を入力します。
    また、「使用するグラフィック」の項目に、グラフィックファイル中での位置を入力します。
    例えば、一番左上のブロックのグラフィックなら(0,0)です。

  3. オブジェクトのマップ上での位置を入力します。
    オブジェクトを配置したいマップ番号、位置を入力します。
    (オブジェクトの位置を入力する方法は、直接座標を入力する方法と、マップを表示しておいて、オブジェクト配置モードにして、右クリックで表示されるダイアログボックスで設定する方法の2通りがあります。)

  4. オブジェクトの名前を指定します。
    「パラメータ設定」ボタンをクリックして表示されるダイアログボックスの「名称」の項目に、オブジェクトの名前を入力します。

  5. 最後に、「オブジェクト有効」、「表示される」の2つのチェックボックスをチェックします。

    オブジェクトの設定は、とりあえず以上です。

パーティーの作成

オブジェクト(キャラクタ)をゲーム中で操作するには、操作するオブジェクトがパーティーに属していなければなりません。
以下にパーティーの作成手順を示します。

  1. ゲームデータエディタ上部の「パーティー」のタブをクリックします。
    表示されたリストボックスの[end]の項目を選択して、挿入ボタンをクリックします。
    新しく作成された項目をダブルクリックすると、「パーティー」ダイアログボックスが表示されます。
    パーティーダイアログボックスで、パーティーの各種設定を行います。

  2. 「パーティーに属するオブジェクト」の項目で、[なし] と表示されている部分をダブルクリックします。
    「オブジェクト変更」ダイアログボックスが表示されるので、先に作成したオブジェクトを選択し、Okボタンをクリックします。

  3. 作成したパーティーをカレントパーティーに指定します。
    ERPGでは、複数のパーティーを作成でき、ゲーム中では、その中の一つを操作します。
    カレントパーティーとは操作するパーティーのことです。
    カレントパーティーの設定方法は、まず、ゲームデータエディタの「設定」のタブをクリックします。
    表示されているページの「カレントパーティー番号」の項目に、先に作成したパーティーの番号を入力します。
    パーティーの番号は、ゲームデータエディタの「パーティー」のタブをクリックして表示されるパーティーのリストに示されています。

    パーティーの設定は、とりあえず以上です。

ゲームデータでの最低限の設定は以上です。

最低限のRPGの実行

最低限必要なファイルを、すべて一つののフォルダにコピーします。
rpg.exeも、そのフォルダにコピーします。
rpg.exeを実行します。

以上でゲームが起動するはずです。
起動しない場合は、主に以下に示す原因が考えられます。

  • rpg.exe起動後、すぐに終了する場合
    オブジェクトアニメーション用グラフィック (obj0.gdt) またはオブジェクト静止用グラフィック (obj1.gdt) が存在しない可能性があります。
    obj0.gdt または obj1.gdt を使用していなくても、これら両方のファイルが存在している必要があります。

  • rpg.exe起動後、エラーメッセージのダイアログボックスが表示される場合
    表示されるメッセージにしたがって、ゲームデータの設定を見直してください。

  • タイトル画面は表示されるが、初期メニューの「最初から始める」を選択したとき終了してしまう場合
    必要なマップデータまたはマップチップデータが存在しない可能性があります。
    マップ属性の「マップチップ番号」が不正である可能性があります。
    オブジェクトのマップ上の位置が不正である可能性があります。
    オブジェクトのマップ番号が存在しないマップを示している可能性があります。

  • ゲームは始まるが、オブジェクト(キャラクタ)が表示されない場合
    ゲームデータエディタの「オブジェクト」ダイアログボックスで、「オブジェクト有効」の項目がチェックされていない可能性があります。
    ゲームデータエディタの「オブジェクト」ダイアログボックスで、「表示される」の項目がチェックされていない可能性があります。
    ゲームデータエディタの「オブジェクト」ダイアログボックスで、「使用するグラフィックの位置」の項目の内容が不正である可能性があります。

最低限のRPG作成手順で作成の説明をしたファイルは、以下からもダウンロードできます。
自作のデータが、どうしても起動しないときは、内容を参考にしてください。

最低限必要なファイルのダウンロード (2KB)

イベントについて

ERPGでは、イベントを発生させることによって、シナリオを進行させます。
イベントを発生させるには、3種類の方法があります。

  1. イベントを関連付けたオブジェクトの前で選択ボタンを押す
    このように発生するイベントは調査イベントと呼びます。
    発生するイベントは、ゲームデータエディタの「オブジェクト」のページで表示される「オブジェクト」ダイアログボックスで指定します。

  2. イベントを関連付けたオブジェクトの上にのる
    このように発生するイベントは接触イベントと呼びます。
    発生するイベントは、ゲームデータエディタの「オブジェクト」のページで表示される「オブジェクト」ダイアログボックスで指定します。

  3. ゲーム開始時、敵との戦闘で敗北時などに、事前に指定したイベントが発生
    発生するイベントは、ゲームデータエディタの「イベント」のページで指定します。

イベントの例

基本的なイベントの例として、キャラクタの会話を表示するイベントの作成手順を示します。

  • 会話を行うキャラクタの作成
    会話を行うキャラクタ(オブジェクト)の作成手順は、主人公(オブジェクト)の作成手順とほぼ同じです。 ただし、会話を行うキャラクタをパーティーに属させる必要はありません。 主人公の作成手順は、最低限のRPGの作成手順のゲームデータエディタの項目で説明しています。

  • 会話イベントの作成
    イベントはイベントエディタで作成します。 ERPGでは、非常に複雑なイベントも作成できますが、単に会話するだけなどのイベントは、簡単に作成することができます。 会話イベントの作成手順を以下に示します。
    イベントエディタのメニューで挿入を選択し、リストに空の項目を追加します。
    追加した項目をダブルクリックすると、「コマンド」ダイアログボックスが表示されます。
    コマンドは多数ありますが、テキストを表示するには、[画面表示]->[テキストを表示]を用います。
    [テキストを表示]のコマンドを選択して、Okボタンをクリックします。
    次に、イベントエディタの右半分のコマンドのパラメータにデータを入力します。
    [テキストを表示]のコマンドの場合、パラメータは、表示するテキストと、テキスト表示後に入力待ちを行うか否かの設定です。

    イベントエディタの表示 (「ここは〜の町です。」と表示されるイベント)
    0:テキストを表示       ここは〜の町です。      [1]   
    [END]

    以上での会話イベントの作成は完了です。
    最後に、作成したイベントのセーブを行います。
    イベントは番号で識別されています。
    1番のイベントなら e0000001.evt
    123番のイベントなら e0000123.evt
    という具合に、ファイルネームを決めてください。
    イベント番号は、適当に決めればよいです。


  • イベントの関連付け
    作成したイベントをキャラクタに関連付ける手順を示します。
    ゲームデータエディタのオブジェクトのページで、会話を行うキャラクタ(オブジェクト)の「オブジェクト」ダイアログボックスを表示します。
    「関連付けるイベント番号(調査イベント、接触イベント)」の項目の左のエディットボックスに、 作成したイベントの番号を入力します。(作成したイベントを調査イベントとして関連付けます。)
    以上でイベントの関連付けは完了です。


  • ゲームを実行してみる
    イベントを調査イベントとして関連付けたので、キャラクタの前で選択ボタンを押すと、「ここは〜の町です。」と表示されるイベントが発生します。

イベントの例のデータのダウンロード (3KB)

マップ間の移動

複数のマップで構成されたRPGの場合、他のマップへ移動するための設定が必要です。
他のマップへ移動するには、次の2種類の方法があります。

  1. マップの端から他のマップへ移動
    画面端まで来ると、マップ属性に指定したマップへ移動します。
    指定方法は、メインウインドウのメニューの「編集」->「マップ属性」で表示される ダイアログボックスの「移動先のマップ番号」に移動先マップ番号を入力します。

  2. マップの端以外以外から他のマップへ移動
    入り口から建物の中に入る、落とし穴に落ちる、などを表現するため、マップの端以外以外から他のマップに移動するには、移動するためのイベントを発生させなくてはなりません。
    イベントを発生させるには、イベントをオブジェクトに関連付けます。
    イベントを接触イベントとして関連付けた場合は、オブジェクトと重なるとイベントが発生します。
    イベントを調査イベントとして関連付けた場合は、オブジェクトの前で選択ボタンを押すとイベントが発生します。

    以下にマップの端以外以外から他のマップへ移動させるイベントの例を示します。
    なお、イベントは接触イベントとして関連付けます。

    まずは、イベントエディタで、移動のためのイベントを作成します。
    [パーティー]->[パーティーを指定した位置へ移動させる]のコマンドを用います。

    イベントエディタの表示 (マップ番号2 座標(10,20)へ移動)
    0:パーティーを指定した位置に移動させる       [2] [10] [20] [1]   
    [END]

    作成したイベントは、適当に番号をきめてファイルに保存します。
    ファイルネームは e???????.evt です。

    次に、イベントを発生させるためのオブジェクトを作成します。
    接触イベントを発生させるには、イベントを関連付けたオブジェクトを素通りできる必要があります。
    そこで、「オブジェクト」ダイアログボックスの「他のオブジェクトが無条件で通り抜けることができる」のチェックボックスをチェックしておきます。
    オブジェクトのグラフィクは適当に決めてください。
    オブジェクトを透明にするには、「表示される」のチェックボックスのチェックを解除しておきます。
    オブジェクトを透明にする場合でも「オブジェクト有効」のチェックボックスはチェックしておかなくてはなりません。

    最後に、作成した移動のイベントをオブジェクトに関連付けます。
    「関連付けるイベント番号 (調査イベント、接触イベント)」の項目の右のエディットボックスに、作成したイベントの番号を入力します。

    以上で移動のイベントの作成は完了です。
    ゲームを実行すると、移動のイベントを関連付けたオブジェクトと重なると、指定した位置へ移動します。

マップ間の移動の例のデータのダウンロード (3KB)


ERPGでは、通常、フィールド画面はスクロールタイプの移動方式ですが、固定画面の切り替え方式のマップも作成できます。 固定画面の切り替え方式とは、画面はスクロールせずに、画面の端へ行くと別のマップの端へ移動する方式です。 作成方法は、

  1. まず、個々のマップを作成します。その際、すべてのマップサイズを 18×13 とします。このマップサイズは、ゲームの画面のサイズと同じです。

  2. 次に、各マップの「マップ属性」に、画面端からの移動先のマップ番号を指定します。 例えば、1番のマップの右端から2番のマップへ移動するには、1番のマップの「マップ属性」の「移動先のマップ番号」の「右」の項目に2と入力します。 また、2番のマップの「マップ属性」の「移動先のマップ番号」の「左」の項目に1と入力すると、1、2番のマップを相互に行来できます。

敵を出現させる

敵関連のデータはゲームデータエディタで作成します。 また、敵のグラフィックは、適当なグラフィックエディタで描画したデータを、ビットマップコンバータで en??????.gdt ファイルに変換したものを使用します。 敵グラフィックのファイルについては、ERPGで扱うファイルを参照してください。

敵を出現させる手順

個々の敵データの作成
ゲームデータエディタの「敵」のページで作成します。
敵のグラフィック、名称、HP、攻撃力、習得している魔法、装備している武器、などを指定します。
敵を倒したときに入手できる経験値は、「パラメータ」ダイアログボックスの「経験値」の項目に入力します。


敵パーティーの作成
ゲームデータエディタの「敵パーティー」のページで作成します。
事前に作成しておいた個々の敵をパーティーに属させます。
戦闘勝利時に入手できる資金、アイテムも指定できます。


敵配置データの作成
ゲームデータエディタの「敵配置」のページで作成します。
事前に作成しておいた敵パーティーを敵配置データに属させます。
作成した敵配置データの番号をマップに入力することによって、マップ上で指定した敵パーティーが出現するようになります。

一つの敵配置データに属している敵パーティーが複数存在するときは、複数の中からランダムに出現する敵パーティーが選択されます。

一つの敵配置データに属している敵パーティーが複数存在するときで、ゲームデータエディタの「設定」のページの「夜になると暗くなる」の 設定が有効な場合、敵配置データ内の敵パーティーの前半分は昼に出現し、後ろ半分は夜に出現します。
敵パーティー数が奇数の場合は、昼に出現するパーティー数の方が多くなります。


敵配置データの番号をマップへ入力
メインウインドウに、敵配置データの番号を入力するマップを表示しておきます。
メニューから、[編集]-[敵配置]を選択します。
マップ上で、敵配置データの番号を入力する範囲を選択します。
右クリックすると、「敵配置番号」ダイアログボックスが表示されます。
このダイアログボックスに、敵配置番号を入力します。

敵配置データの番号は、マップ上の一マス毎に入力することができます。
つまり、地域によって出現する適パーティーを変化させることができます。
例えば、一つのマップ上で、陸には陸に適した敵、海には海に適した敵を出現させ たり、マップの北と南で異なる系統の敵を出現させることができます。
マップの一部で敵が出現しない部分を指定することもできます。(敵配置番号に、0 を指定。)


敵を出現させる例のデータのダウンロード (6KB)

戦闘の法則

ERPGでの敵との戦闘の法則を示します。

  • 行動の順番
    戦闘時の行動は、敵味方含めて、敏捷性の高い順に行います。

  • ダメージ計算
    ダメージの計算は次式によって行います。

    ダメージ = 攻撃力 - 防御力/2

    なお、攻撃力・防御力は、味方または敵の基本の能力に装備の能力を追加したものです。
    魔法攻撃の場合は、攻撃力は「知能」、防御力は「魔法防御力」が参照されます。
    通常攻撃では、ダメージは必ず 1 以上、魔法攻撃では 0 以上になります。
    通常攻撃では、希にクリティカルヒットになります。
    敏捷性が高いほど、クリティカルヒットになる確率も高くなります。

  • 攻撃・防御の属性
    味方キャラクタ(オブジェクト)、敵、道具(アイテム・装備)、魔法には、属性を指定できます。
    火の属性の剣、寒さに弱い敵などを作成できます。
    ゲームデータエディタの「テキスト」のページで、各属性に任意の名称を指定できます。

    属性には、攻撃属性および防御属性が存在します。
    攻撃属性には属性の種類を、防御属性には、各属性の攻撃を受けたときの防御力の補正値を指定します。
    例えば、キャラクタに属性を指定する場合、攻撃・防御の属性は各個に指定します。
    「火の属性」の攻撃属性を指定したキャラクタが自動的に「火の属性」の攻撃の防御力が高くなるわけではありません。
    キャラクタに「火の属性」を指定すると、キャラクタが素手で攻撃すれば、攻撃は「火の属性」になります。
    (剣で攻撃すれば、剣に指定された属性が使用されます。)
    キャラクタの防御属性には、各属性の攻撃を受けたときの防御力の補正値を指定します。
    「火の属性」の防御属性を 0.5 にしておくと、「火の属性」の攻撃を受けたときは、防御力が 0.5 倍で評価されます。
    鎧・盾などを装備しているときは、鎧・盾に指定された防御属性の補正値によって、鎧・盾の防御力が評価されます。

    つまり、キャラクタの戦闘時の防御力は、次式で求められます。

    キャラクタの防御力 = (キャラクタの基本防御力 * キャラクタの防御属性) + (装備1の防御力 * 装備1の防御属性) + (装備2の防御力 * 装備2の防御属性) + ・・・
    (攻撃の属性の種類によって、どの種類の防御属性が使用されるか決定されます。)

    「火の属性」の攻撃に弱いキャラクタでも、「火の属性」の攻撃に強い盾や鎧を装備すれば、「火の属性」に強くなります。

  • 戦闘時の敵の行動
    敵の行動は、敵のパラメータを参照して、ERPGが自動的に決定します。
    敵が魔法を覚えており十分なMPがあれば、その魔法を使用する可能性があります。
    敵の攻撃力よりも知能の方が高いと、魔法を使用する可能性が高くなります。
    敵パーティー内にダメージを受けている敵がいると、回復の魔法を使用する可能性があります。
    敵パーティー内に死んでいる敵がいると、蘇生の魔法を使用する可能性があります。

ゲームバランス

ERPGには、ゲームバランス調整の支援機能として、キャラクタの任意のレベルでのパラメータを計算する機能があります。
ゲームデータエディタの「オブジェクト」のページの「オブジェクト」ダイアログボックスの「パラメータ設定」ボタンを押して表示される「パラメータ」ダイアログボックスの「レベルアップ参照」ボタンをクリックすると、「レベルアップ参照」ダイアログボックスが表示されます。
「レベルアップ参照」ダイアログボックスの「レベル」の項目に任意のレベルを入力して更新ボタンをクリックすると、そのレベルでのパラメータが表示されます。
このパラメータの値を参考にすると、敵の強さや入手できる経験値を決めやすいと思います。

レベルアップ時のパラメータの伸びは、キャラクタのクラス(職業)によって異なります。
ゲームデータエディタの「クラス」のページで表示される「クラス」ダイアログボックスで、各クラスのパラメータの伸びを指定できます。

魔法・アイテムについて

魔法とアイテムのデータは、ゲームデータエディタで作成します。
魔法とアイテムでは、作成できる効果は共通ですが、以下に示す違いもあります。

  • 魔法はオブジェクトまたは敵が所有し、アイテムはパーティーが所有します。

  • 魔法を使用するオブジェクトまたは敵の知能が、魔法の効果量に影響する場合があります。
    アイテムは誰が使っても効果は同じです。

  • 魔法は使用時にMPを消費します。

  • アイテムは、回復薬や鍵などの通常のアイテムとして作成する以外に、剣や盾など装備として作成することができます。
    アイテムはパーティーが所有しますが、身につけている装備はオブジェクトまたは敵が所有します。
    (身につけていない装備はパーティーが所有します。)

魔法・アイテムの効果

ERPGでは、様々な効果の魔法やアイテムを作成することができます。
ゲームデータエディタの「アイテム」または「魔法」ダイアログボックスの「使用効果」の項目に、効果を指定できます。
以下に各効果の説明を示します。

効果無し
使用しても何の効果も無い魔法・アイテムを作成します。
所有の有無がフラグになるアイテムなどを作成します。

蘇生
オブジェクトまたは敵を生き返らせる魔法・アイテムを作成します。
蘇生後のHPの回復量と、使用したときの蘇生の成功率を指定できます。

指定した番号のイベント発生
調査イベント発生
接触イベント発生
イベントを発生させる魔法・アイテムを作成します。
戦闘中はイベントが発生しません。
イベントは自由に作成できるので、様々な効果の魔法・アイテムを作成できます。

「指定した番号のイベント発生」は、どの場所にいても指定したイベントが発生します。

「調査イベント発生」は、操作しているキャラクタの前に、調査イベントが関連付けられているオブジェクトが存在する場合に発生します。
通常は、オブジェクトに関連付けられている調査イベントの番号によらず、発生します。
パラメータにイベント番号を指定しておくと、その番号の調査イベントが関連付けられたオブジェクトの前でのみ、発生します。

「接触イベント発生」は、操作しているキャラクタと同じ位置に、接触イベントが関連付けられているオブジェクトが存在する場合に発生します。
通常は、オブジェクトに関連付けられている接触イベントの番号によらず、発生します。
パラメータにイベント番号を指定しておくと、その番号の接触イベントが関連付けられたオブジェクトの前でのみ、発生します。

発生したイベントでは、どの魔法・アイテムが発生させたかをコマンドによって知ることができます。


例.1 (鍵を使うとドアが開く)

アイテムを「鍵」として作成します。
「鍵」の効果は「調査イベント発生」にします。
オブジェクトを「ドア」として作成し、調査イベントを関連付けておきます。
関連付けたイベントでは、「ドア」の前で「鍵」が使用されたときに、「ドア」が開くようにしておきます。

ゲーム中に複数の種類の「鍵」を存在させるときは、イベントで「鍵」のアイテム番号を調べて、特定の「鍵」のみで「ドア」が開くようにします。
それ以外の「鍵」が使用された場合は、「鍵が合わない。」などのメッセージを表示するとよいと思います。


例.2 (行ったことのある町へのワープの魔法)

「ワープ」の魔法を作成し、その効果を「指定した番号のイベント発生」にします。
発生させるイベントで、行ったことのある町を選択ウインドウに表示して、ゲームのプレーヤが指定した町へワープできるようにします。

「指定した番号のイベント発生」は、どの場所にいても発生するので、どこからでもワープできます。
ダンジョンの中などでワープを禁止したいときは、イベントの中で、現在の位置がダンジョンの中であるか調べて、ダンジョン内の場合はワープしないようにします。

状態が毒になる魔法・アイテムを作成します。

効果の続くターン数は、戦闘画面では戦闘のターン数、フィールド画面では移動の歩数です。
毒の状態では、一度に最大HPの10%程度のダメージを受けます。
戦闘画面では、毒で死ぬ場合があります。
フィールド画面では、毒で死ぬことはありません。(HPは1以下には下がりません。)

この効果の魔法・アイテムの使用時の成功率も指定できます。

毒回復
毒の状態を回復させる魔法・アイテムを作成します。

この効果の魔法・アイテムの使用時の成功率も指定できます。

睡眠
状態が睡眠になる魔法・アイテムを作成します。

効果の続くターン数は、戦闘画面では戦闘のターン数、フィールド画面では移動の歩数です。
睡眠の状態では、戦闘画面で行動ができません。
戦闘画面終了時に、睡眠の状態は必ず回復します。

この効果の魔法・アイテムの使用時の成功率も指定できます。

睡眠回復
睡眠の状態を回復させる魔法・アイテムを作成します。

この効果の魔法・アイテムの使用時の成功率も指定できます。

魔法使用不能
状態が魔法使用不能になる魔法・アイテムを作成します。

効果の続くターン数は、戦闘画面では戦闘のターン数、フィールド画面では移動の歩数です。
魔法使用不能の状態では、戦闘・フィールド画面で、魔法が使用できません。

この効果の魔法・アイテムの使用時の成功率も指定できます。

魔法使用不能回復
魔法使用不能の状態を回復させる魔法・アイテムを作成します。

この効果の魔法・アイテムの使用時の成功率も指定できます。

ダンジョン脱出
町へ戻る
ダンジョン脱出または街へ戻るための魔法・アイテムを作成します。
移動する場所は、ダンジョンに入る前のマップまたは、町から出るときのマップです。
マップは、マップ属性で「平原」「ダンジョン」「町」のいずれかに指定しておきます。

明るくなる
パーティーの先頭のオブジェクトのまわりが明るくなる魔法・アイテムを作成します。

持続時間には、明るくなっている状態が続く時間を指定します。
光の強さには、0〜9の範囲で明るさを指定します。(9 が最も明るい。)
光の広がりには、明るくなるマップ上の広さを指定します。

ゲームデータエディタの「設定」のページの「夜になると暗くなる」の項目が有効にでないと、この効果の魔法・アイテムの使用効果は無効です。

パラメータ増減
オブジェクトや敵のパラメータの値を増減させる魔法・アイテムを作成します。
HP・MPの回復薬や、攻撃・回復魔法などを作成できます。


効果の大きさに指定された値が正の値の場合は、パラメータが回復・増加します。(回復薬など。)
効果の大きさに指定された値が負の値の場合は、パラメータがダメージを受けます。(攻撃魔法など。)


種類には、増減させるパラメータの値の種類を指定します。
増減させることができるのは、HP・MP・攻撃力・知能・防御力・魔法防御力・敏捷性です。
このうち、攻撃力・知能・防御力・魔法防御力・敏捷性の増減させた値は、戦闘時のみ有効で、戦闘時以外では元の値が復元します。


「0:AB 1:A 2:B 考慮 (A 使用者知能 B 非使用者魔防)」と表示されている項目には、この効果の魔法・アイテム使用時に、使用したオブジェクトまたは敵の知能と、使用されたオブジェクトまたは敵の魔法防御力を考慮するかを指定します。
0を入力すると、使用者の知能と非使用者の魔法防御力を考慮します。
1を入力すると、使用者の知能を考慮します。
2を入力すると、非使用者の魔法防御力を考慮します。
それ以外を入力すると、どちらも考慮しません。
ただし、アイテムの場合は、使用者の知能が考慮されることはありません。

例をあげて説明すると、

攻撃魔法なら、使用者の知能が高いほどダメージが大きく、非使用者(敵)の魔法防御力が大きいほどダメージが小さくなるのが普通だと思います。
つまり、使用者の知能と、非使用者の魔法防御力を両方考慮します。

HP回復の魔法なら、非使用者の魔法防御力に関係なく、HPを回復できるのが普通だと思います。
つまり、使用者の知能のみを考慮、またはどちらも考慮しません。


この効果の魔法・アイテムの使用時の成功率も指定できます。

時刻を知る
現在の時刻が表示されます。

ERPG付属のサンプルゲームに、魔法・アイテムの例があるので、参考にしてください。

暗くなる設定について

ゲームデータエディタの「設定」のページの「夜になると暗くなる」の項目を有効にしておくと、夜(18〜6時)になると暗くなります。
ERPGでは、1日は24時間です。
ゲームデータエディタの「設定」のページの「1時間経過させるために歩かなくてはならない歩数」の項目に大きい数値を入力するほど1日が長くなります。(ゲーム中で24時間経過させるための、実際の時間が長くなります。)

「1時間経過させるために歩かなくてはならない歩数」に0を指定すると、歩いても時間が経過しません。
この場合でも、イベントで時刻を指定することができます。
イベントエディタで、「基本コマンド」->「現在の時刻を設定する」のコマンドで時刻を設定できます。
町に出入りしたときのみに時間を経過させたい場合などに用います。

暗くなったときは、魔法・アイテムでパーティーのまわりを明るくすることができます。
また、オブジェクトを光らせることもできるので、オブジェクトを「街灯」や「たき火」などの光る物体として作成することができます。

デフォルトでは、暗くなったときは、マップが全く見えない状態になります。
暗くなってもマップが見えた方がよい場合は、マップに明るさの最低値を指定します。
マップに明るさの最低値を指定すると、その明るさより暗くなることはありません。
また、マップの明るさを、時間によらず常に一定にすることもできます。(ダンジョン内を常に暗くする場合や、建物の中を常に明るくする場合などに指定。)
これらの設定は、設定を行うマップを表示しておいて、メインウインドウのメニューの「編集」->「マップ属性」を選択すると指定することができます。


夜になると暗くなる例のデータのダウンロード (2KB)

BGMについて

ERPGでBGMとは、bgm?????.* ファイルで演奏するものを指します。
BGMのファイル名については、ERPGで扱うファイルを参照してください。
以下に各場面でのBGMの指定方法を示します。

場面 指定方法
フィールド画面 メインウインドウのメニューの「編集」->「マップ属性」で指定。
マップ毎に指定する。
戦闘画面 ゲームデータエディタの「敵パーティー」ダイアログボックスで指定。
敵パーティー毎に指定する。
タイトル画面 ゲームデータエディタの「サウンド」のページで指定。
乗り物に乗っている場面 ゲームデータエディタの「サウンド」のページで指定。
マップに指定されているBGMを使用するときは -1 を入力する。
イベント発生時 イベントエディタで「BGM・SE」->「BGM演奏」のコマンドを使用する。

ERPG付属のサンプルゲームのBGMの指定も参考にしてください。

効果音について

ERPGで効果音とは、s???????.wav ファイルで演奏するものを指します。
効果音のファイル名については、ERPGで扱うファイルを参照してください。
以下に各場面での効果音の指定方法を示します。

場面 指定方法
イベント発生時 イベントエディタで「BGM・SE」->「効果音演奏」のコマンドを使用する。
魔法・アイテム使用時 ゲームデータエディタの「アイテム」または「魔法」ダイアログボックスの「使用時の効果音番号」の項目で指定。
素手で攻撃(剣を装備せずに攻撃) ゲームデータエディタの「オブジェクト」または「敵」の「パラメータ」ダイアログボックスの「素手攻撃効果音番号」の項目で指定。
攻撃(剣を装備して攻撃) ゲームデータエディタの「アイテム」ダイアログボックスの「使用時の効果音番号」の項目で指定。
指定するアイテムは「剣」として作成。
攻撃を受けたときや回復するとき ゲームデータエディタの「サウンド」のページで指定。
その他 ゲームデータエディタの「サウンド」のページで指定。

ERPG付属のサンプルゲームの効果音の指定も参考にしてください。

イベントでのグラフィック表示

ERPGでは、イベントやタイトル画面で、任意のグラフィックを表示できます。
イベントやタイトル画面で使用するグラフィックは、適当なグラフィックエディタで作成したビットマップファイル(*.bmp)をERPGのビットマップコンバータに読み込んで g???????.gdt というファイルネームでセーブしてください。
(??????? はグラフィック番号。g0000001.gdt g0000123.gdt のようなファイル名になります。)
ビットマップコンバータで変換できるビットマップファイルの色数・サイズは任意です。
グラフィックのファイル名については、ERPGで扱うファイルを参照してください。

イベントでグラフィックを表示するには、グラフィック表示のためのコマンドを使用します。
例えば、画面の任意の位置にグラフィックを表示するには、「イベントエディタ」で、「画面表示」->「グラフィック表示」のコマンドを使用します。
グラフィックを表示するためのコマンドを以下に示します。

コマンド 説明 パラメータ
グラフィック表示 画面上の任意の位置にグラフィックを表示。
グラフィックの一部分だけを表示することもできます。
1:グラフィック番号
2,3:画面上のグラフィックを表示する位置(x,y)
4,5:グラフィック上の表示位置(x,y)
6,7:表示範囲のサイズ(x,y)
8:表示時のエフェクト番号
グラフィック表示
(グラフィック左上の色が透過色)
グラフィック左上の色が透過色になる以外は上記のコマンドと同じ。 上記のコマンドと同じ。
テキスト表示領域に表示するグラフィックを設定 テキスト表示領域に表示するグラフィックを設定します。
実際にグラフィックが表示されるのは、テキスト表示領域のテキストが更新されたときです。
表示サイズは80*80ドットです。
1:グラフィック番号
オブジェクトに割り当てられた顔グラフィックをテキスト表示領域に表示するグラフィックに設定 オブジェクト番号を指定することによって、オブジェクトが保持している顔グラフィックの番号のグラフィックを表示します。 1:オブジェクト番号
マップを更新 現在の条件でマップ(フィールド画面)を描画します。
表示したグラフィックを消去したり、オブジェクトのマップ上の座標を変更した後に変更を表示に反映させたりするために使用します。
なし


イベントでのグラフィックの表示の例のデータのダウンロード (10KB)

変数・戻り値・フラグ・条件分岐について

ERPGのイベントでの変数・戻り値・フラグ・条件分岐について説明します。
これらを理解すると、複雑なイベントを作成することができます。

戻り値
戻り値とは、イベントでコマンドを実行したとき、コマンドの実行結果が代入されたものです。
コマンドから返された戻り値は、その値を評価してイベントの処理を分岐させたり、変数に代入して計算を行ったりするために使用します。

例えば、「パーティー」->「パーティーの人数返す」のコマンドなら、このコマンド実行時に、戻り値にパーティーの人数が代入されます。
その後に、パーティーの人数が3人以下なら新たな仲間が加わるなどの処理を行います。

全てのコマンドが戻り値を返すわけではありません。
戻り値を返すコマンドは、イベントエディタの右半分の「説明」の欄に戻り値として返される値の種類が表示されます。
(「〜を返す」という名前のコマンドは戻り値を返します。)
計算のコマンドを使用したときの答えも、戻り値として返されます。

変数
変数とは、任意の数値を記憶するための領域です。
ERPGでは、この領域が1000個あります。
変数は番号で識別され、0〜999番の変数が使用できます。
変数を使用すると、様々な情報を記憶したり、変数の値を元にイベントの実行内容を変化させることができます。
変数に入力できる値の範囲は、-2,147,483,648 〜 2,147,483,647 です。(32bit 整数)


コマンドのパラメータでは数値を入力するものがありますが、数値のかわりに変数を入力することもできます。
例えば、「基本コマンド」->「店表示」のコマンドでは、パラメータに指定した数値の番号の店が表示されます。
パラメータに 123 と指定すれば、123番の店が表示されます。
パラメータに #123 と指定すれば、123番の変数に記憶された番号の店が表示されます。


イベントの例
例.店を表示

123番の店を表示。
0 : テキストを表示     いらっしゃいませ。 [1]
1 : 店表示     [123]
[END]

123番の変数に記憶された番号の店を表示。
0 : テキストを表示     いらっしゃいませ。 [1]
1 : 店表示     [#123]
[END]


例.足し算

123 + 124
0 : 加算 (d1+d2)     [123][124]
[END]

123番の変数に記憶された値 + 124
0 : 加算 (d1+d2)     [#123][124]
[END]

123番の変数に記憶された値 + 124番の変数に記憶された値
0 : 加算 (d1+d2)     [#123][#124]
[END]


例.代入

代入先の変数の指定方法に注意してください。

123番の変数に、値124を代入
0 : 変数に値を代入 (変数 <- 値)     [123][124]
[END]

123番の変数に記憶された番号の変数に、値124を代入
0 : 変数に値を代入 (変数 <- 値)     [#123][124]
[END]

123番の変数に、124番の変数に記憶された値を代入
0 : 変数に値を代入 (変数 <- 値)     [123][#124]
[END]

フラグ・条件分岐
ここで説明するフラグとは、イベントの処理を分岐させるための条件となるものです。

以下に示す2種類のフラグが存在します。

  • zero flag
    計算のコマンドを使用したとき、計算の答えが0になったときに on、それ以外では off にセットされます。

  • minus flag
    計算のコマンドを使用したとき、計算の答えがマイナスの値になったときに on、それ以外では off にセットされます。


イベントの処理を分岐させるには、条件分岐のコマンドを使用します。
条件分岐のコマンドを以下に示します。
  • ◆ 条件ジャンプ (zero flag)
    ◆ ラベルへ条件ジャンプ (zero flag)
    zero flag が on にセットされているとき、指定した位置へジャンプします。

  • ◆ 条件ジャンプ (not zero flag)
    ◆ ラベルへ条件ジャンプ (not zero flag)
    zero flag が off にセットされているとき、指定した位置へジャンプします。

  • ◆ 条件ジャンプ (minus flag)
    ◆ ラベルへ条件ジャンプ (minus flag)
    minus flag が on にセットされているとき、指定した位置へジャンプします。

  • ◆ 条件ジャンプ (not minus flag)
    ◆ ラベルへ条件ジャンプ (not minus flag)
    minus flag が off にセットされているとき、指定した位置へジャンプします。

ジャンプ先の行番号を直接指定するコマンドと、ラベルを指定するコマンドがあります。
ラベルとは、ジャンプ先を示すものです。
ラベルには、パラメータで番号を指定します。
同じイベント内に複数のラベルが存在するときも、番号によってラベルを識別できます。


条件分岐の手順
計算のコマンドを使用
(この時フラグがセットされる)
条件分岐のコマンド使用
(セットされているフラグの状態によって後の処理を分岐)

イベントの例
例.はじめての場合と2度目以降で会話の内容を変化させる

イベントエディタでの表示
0 : 減算(d1-d2)     [#123][0]
1 : ◆ ラベルへ条件ジャンプ (zero flag)     1
2 : テキストを表示     こんにちは。 [1]
3 : ▼ イベント終了 ▼
4 :
5 : ■ ラベル ■     [1]
6 : テキストを表示     はじめまして。 [1]
7 : 変数に値を代入 (変数 <- 値)     [123][1]

123番の変数には、会話がはじめての場合は0、それ以外では1が入力されていることにします。

0行目
123番の変数の値から0を引き算します。
このとき、123番の変数の値が0だった場合は答えが0になり zero flag が on にセットされます。
123番の変数の値が0以外だった場合は答えが0以外になり zero flag が off にセットされます。

1行目
セットされている zero flag が on の場合に、1番のラベルの位置へジャンプします。

2行目
2度目以降の会話を表示します。

3行目
2度目以降の会話を表示する場合のイベントが終了します。

5行目
ラベルです。
ジャンプ先を示すものです。

6行目
はじめての会話を表示します。

7行目
一度でも会話を行ったことがあることを記憶しておくために、123番の変数に1を入力します。
再びこのイベントが実行されたときに、123番の変数の値が参照されます。

ちなみに、上記のイベントは、次のイベントと実行結果が全く同じです。
0 : 減算(d1-d2)     [#123][0]
1 : ◆ ラベルへ条件ジャンプ (not zero flag)     1
2 : テキストを表示     はじめまして。 [1]
3 : 変数に値を代入 (変数 <- 値)     [123][1]
4 : ▼ イベント終了 ▼
5 :
6 : ■ ラベル ■     [1]
7 : テキストを表示     こんにちは。 [1]

選択ウインドウ

選択ウインドウとは、複数の項目から一つを選ぶために表示されるウインドウです。
イベントで選択ウインドウを表示することができます。
選択ウインドウを表示するコマンドを実行し、ゲームのプレーヤーが項目を選択すると、コマンドからの戻り値によって、どの項目が選択されたか知ることができます。

イベントの例
例.選択ウインドウの表示と処理の分岐 (1)

選択ウインドウを表示し、ゲームのプレーヤがいずれかの項目を選択すると、それに応じた処理を実行します。

イベントエディタでの表示
0 : テキストを表示     どうしますか? [1]
1 :
2 : 選択ウインドウの項目のデータを用意する     見る [0][0]
3 : 選択ウインドウの項目のデータを用意する     調べる [1][0]
4 : 選択ウインドウの項目のデータを用意する     話す [2][0]
5 :
6 : 用意した選択ウインドウを表示する
7 :
8 : 戻り値を比較(r-d1)     [0]
9 : ◆ ラベルへ条件ジャンプ (not zero flag)     [1]
10 :
11 : // 「見る」を選んだ場合の処理
12 :
13 : ▼ イベント終了 ▼
14 :
15 : ■ ラベル ■     [1]
16 :
17 : 戻り値を比較(r-d1)     [1]
18 : ◆ ラベルへ条件ジャンプ (not zero flag)     [2]
19 :
20 : // 「調べる」を選んだ場合の処理
21 :
22 : ▼ イベント終了 ▼
23 :
24 : ■ ラベル ■     [2]
25 :
26 : // 「話す」を選んだ場合の処理
27 :
[END]

2〜4行目
選択ウインドウに表示する項目を用意します。
項目に表示されるテキストと、項目のIDを指定します。
項目のIDは、項目が選択されたときに戻り値に入力されます。
選択ウインドウ表示後に、戻り値を調べれば、どの項目が選択されたか知ることができます。

6行目
選択ウインドウを表示します。
ゲームのプレーヤーが、いずれかの項目を選択すると、項目のIDが戻り値に入力されます。
この例の場合は、戻り値に入力されるのは、0、1、2のいずれかの値です。

8行目
戻り値から指定した数値を引き算したと仮定して、フラグを変化させるコマンドです。
通常の計算のコマンドは、計算の結果が戻り値に入力されますが、このコマンドでは入力されません。
コマンド実行後には、フラグのみがセットされます。
(戻り値の値を変化させたくない場合に使用。)
この例の場合は、0を引き算して、戻り値に入力されている値が0か0以外かを調べます。

9行目
8行目で、戻り値から0を引き算した結果が0以外なら、1番のラベルへジャンプします。

10〜13行目
8行目で、戻り値から0を引き算した結果が0なら、この場所のコマンドを実行します。
つまり、選択ウインドウ表示後に戻り値に入力された値が0の場合の処理です。
(「見る」を選択したときの処理。)

15行目
1番のラベルです。
9行目のジャンプコマンドからのジャンプ先です。
この時点では、戻り値に入力されているのは、1、2のいずれかの値です。

17行目
戻り値から1を引き算したと仮定してフラグをセットします。
戻り値の値が1か1以外か調べるためです。

18行目
17行目で、戻り値から1を引き算した結果が0以外なら、2番のラベルへジャンプします。

19〜22行目
17行目で、戻り値から1を引き算した結果が0なら、この場所のコマンドを実行します。
つまり、選択ウインドウ表示後に戻り値に入力された値が1の場合の処理です。
(「調べる」を選択したときの処理。)

24行目
2番のラベルです。
18行目のジャンプコマンドからのジャンプ先です。
この時点では、戻り値に入力されているのは、2のみです。

25〜27行目
選択ウインドウ表示後に戻り値に入力された値が2の場合の処理です。
(「話す」を選択したときの処理。)


例.選択ウインドウの表示と処理の分岐 (2)

次の例は、前記のイベントの例と実行内容は同じですが、分岐の方法が異なります。
選択ウインドウの項目のIDに、処理の分岐先のラベル番号を入力しています。
選択ウインドウの項目数が増えた場合は、こちらの例の方がわかりやすいと思います。
8〜9行目の変数の使い方に注意してください。

イベントエディタでの表示
0 : テキストを表示     どうしますか? [1]
1 :
2 : 選択ウインドウの項目のデータを用意する     見る [100][0]
3 : 選択ウインドウの項目のデータを用意する     調べる [200][0]
4 : 選択ウインドウの項目のデータを用意する     話す [300][0]
5 :
6 : 用意した選択ウインドウを表示する
7 :
8 : 変数に戻り値を代入     [123]
9 : ◆ ラベルへジャンプ     [#123]
10 :
11 :
12 : ■ ラベル ■     [100]
13 :
14 : // 「見る」を選んだ場合の処理
15 :
16 : ▼ イベント終了 ▼
17 :
18 :
19 : ■ ラベル ■     [200]
20 :
21 : // 「調べる」を選んだ場合の処理
22 :
23 : ▼ イベント終了 ▼
24 :
25 :
26 : ■ ラベル ■     [300]
27 :
28 : // 「話す」を選んだ場合の処理
29 :
30 : ▼ イベント終了 ▼
[END]


例.選択ウインドウの表示と処理の分岐 (3)

次の例も、前記のイベントの例と実行内容は同じですが、分岐の方法が異なります。
選択ウインドウの項目のIDに、イベント終了後に続けて発生するイベント番号を指定しています。
どの項目が選ばれたかによって、続けて実行されるイベントが変化します。

イベントエディタでの表示
0 : テキストを表示     どうしますか? [1]
1 :
2 : 選択ウインドウの項目のデータを用意する     見る [500][0]
3 : 選択ウインドウの項目のデータを用意する     調べる [501][0]
4 : 選択ウインドウの項目のデータを用意する     話す [502][0]
5 :
6 : 用意した選択ウインドウを表示する
7 :
8 : 変数に戻り値を代入 (変数 <- r)     [123]
9 : このイベント終了後に実行するイベント番号設定     [#123]
[END]

イベント番号500 (ファイルネーム e0000500.evt) のイベント
0 :
1 : // 「見る」を選んだ場合の処理    
2 :
[END]

イベント番号501 (ファイルネーム e0000501.evt) のイベント
0 :
1 : // 「調べる」を選んだ場合の処理    
2 :
[END]

イベント番号502 (ファイルネーム e0000502.evt) のイベント
0 :
1 : // 「話す」を選んだ場合の処理    
2 :
[END]


選択ウインドウの例のデータのダウンロード (4KB)

乗り物の作成

乗り物 (船や飛行船) の作成手順を示します。

  1. オブジェクトの作成
    乗り物も通常のキャラクタと同様にオブジェクトとして作成します。
    その際、オブジェクトの移動できる範囲を、船なら海、飛行船なら空、に設定します。
    ゲームデータエディタの「オブジェクト」ダイアログボックスの「このオブジェクトが移動できる範囲」の項目で設定してください。

  2. イベントの関連付け
    乗り物として作成したオブジェクトに、乗り物に乗るためのイベントを関連付けます。
    イベントでは、「パーティー」->「乗り物に乗る」のコマンドを使用します。

    乗り物に乗るためのイベント
    0 : 乗り物に乗る        
    [END]

    作成したイベントを、乗り物として作成したオブジェクトに関連付けるときは、「調査イベント」として関連付けます。

  3. 乗り物のパーティー
    新たにパーティーを作成して、乗り物として作成したオブジェクトをそこに属させます。
    通常は、乗り物が一つだけ存在するパーティーを作成します。

以上で、乗り物の作成は完了です。
乗り物の前で、選択ボタンを押すと、乗り物に乗ります。
乗り物から降りるときにも、選択ボタンを押します。


注意点
  • 乗り物に乗っているときの戦闘について
    乗り物に乗っているときに、戦闘が発生するか否かを指定することができます。
    ゲームデータエディタの「設定」のページの「乗り物に乗っているときはキャンプメニュー表示しない」の項目で指定します。
    この項目をチェックすると、乗り物に乗っているときは、戦闘が発生しません。
    この項目のチェックをはずすと、戦闘が発生します。
    乗り物に乗っているときは、乗り物が戦闘を行います
    戦闘を行う場合は、乗り物を適切な強さにしてください。

  • 乗り物に乗っているときのBGMについて
    乗り物に乗っているときのBGMを指定することができます。
    ゲームデータエディタの「サウンド」のページの「乗り物に乗っているときのBGM」の項目で、BGM番号を入力します。
    BGM番号に -1 を入力すると、乗り物に乗っているときも、各マップに指定されているBGMが演奏されます。


ERPG付属のサンプルゲームに、船に乗る例があるので、参考にしてください。

ユーザー登録機能を使用するには

ゲームデータエディタの「著作権情報」のページの「ユーザー登録機能使用」の項目をチェックすると、ユーザー登録機能が使用できます。 ユーザー登録機能を使用すると、ゲームを開始したときの初期メニューに「ユーザー登録」の項目が表示されます。 ゲームのプレーヤは、この項目を選択してパスワードを入力します。 この項目は、ユーザー登録完了後や、ユーザー登録機能を使用しない場合は表示されません。

通常、ユーザー登録が必要なゲームでは、ユーザー登録が完了していない場合、ゲームに何らかの制限を設定します。 例えば、ゲーム内で移動できる範囲が制限される、ゲームのセーブ・ロードができない、ゲームを開始できない、などです。 このような制限はイベントを使用して設定し、ユーザー登録が完了したら制限を解除するようにします。 ユーザー登録の完了の確認するには、イベントで「基本コマンド」->「ユーザー登録完了しているか調べる」のコマンドを使用します。

ユーザー登録機能使用時には、不正な方法でゲームの制限が解除されないように、データにプロテクトを付加してください。 プロテクトの設定は、ERPGのメインウインドウのメニューの「ファイル」->「プロテクト」の項目を選択して行います。

ユーザー登録の確認のイベントの例
0 : ユーザー登録完了しているか調べる  
1 : 戻り値を比較 (r-d)   [0]
2 : ◆ 指定した条件のとき以下のブロック実行   [0]

戻り値の値が0(ユーザー登録未完了)の場合の処理。

9 : ▼ イベント終了 ▼  
10 : ■ブロックの終わり ■  

戻り値の値が1(ユーザー登録完了)の場合の処理。

19 : ▼ イベント終了 ▼  
[END]


ユーザー登録機能の例のデータのダウンロード (4KB)


以上の例で示した方法以外でも、ユーザー登録の機能を表現することができます。
以下に例を示します。

  • オブジェクトの名前を入力する機能を使用
    ゲームのプレーヤが入力したオブジェクトの名前と、別のオブジェクトに入力しておいた文字列を比較します。
    これらが一致した場合は、正しいパスワードが入力されたと判断します。

  • 選択ウインドウを使用
    選択ウインドウを表示し、正しい選択が行われると、正しいパスワードが入力されたと判断します。
    選択ウインドウでの選択を数回繰り返すとよいでしょう。

  • 正しい順番でイベントを発生させる
    複数の中から正しい道を通る、正しい順番でスイッチを押す、などのように、イベントを正しい順番で発生させると、正しいパスワードが入力されたと判断します。


Copyright (C) 1999-2004  Taiaosoft