atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
erayasai @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
erayasai @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
erayasai @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • erayasai @ ウィキ
  • eraの実行の流れ

eraの実行の流れ

最終更新:2012年01月19日 18:32

匿名ユーザー

- view
だれでも歓迎! 編集
eraの実行の流れ
 eramakerおよびEmueraにおけるスクリプト実行の流れを簡単に記述してみる。eramaker2は対象外とする。
 以下で、★マークがついている項目はEmuera専用であり、eramakerでは行われない。
 なお図で見たい人は、別Wikiだが、EmueraWikiのフロー図を参考にしてほしい。


  • 基本的に
  • 起動直後
  • タイトル表示
    • 最初からはじめる場合
    • データをロードする場合
  • ロードデータ処理
  • EVENTFIRST関数
  • EVENTSHOP関数
    • アイテム購入処理
    • USERSHOP処理
  • EVENTTRAIN関数
    • 調教コマンド処理
      • @COM{選ばれたコマンドのTrain.csvの数値}関数が0を返した場合
      • @COM{選ばれたコマンドのTrain.csvの数値}関数が0以外を返した場合
  • ABLUP関数
    • 入力が0~99の範囲内である場合
      • 定義されていない場合
      • 定義されている場合
    • 入力が0~99の範囲外である場合
  • AFTERTRAIN関数
  • EVENTTURNEND関数
  • SAVEGAME命令
  • LOADGAME命令
  • ★Autosave処理

基本的に

 eramakerもしくはEmueraの中には、明示的にコーディングしなくても、勝手に実行されたりフラグが初期化されたりするケースがあり初心者にとっては難解である。
 そのうちフラグの初期化については、変数関連の解説ページなどに記述があるが、実行関連についてまとめたものはこのWikiではなかったようなので作成した。

起動直後

 eramaker.exeもしくはEmueraXXX.exeを実行した直後である。
  1. ★configファイルの読み込みと反映。 
  2. CSVの読み込みとエラーチェックを行う。CSVフォルダの直下のみ。★なお、EmueraのChara**.csvについてはEmueraの設定において「サブディレクトリを検索する:YES」の設定がconfigによりなされておれば、CSVフォルダの下のサブフォルダのも読む。
  3. ERBの読み込みとエラーチェックを行う。ERBフォルダの直下のみ。★なお、EmueraについてはEmueraの設定において「サブディレクトリを検索する:YES」の設定がconfigによりなされておれば、ERBフォルダの下のサブフォルダのも読む。

タイトル表示

 ★Emueraにおいては、BEGIN TITLE実行時にもここに飛んでくる。eramakerには該当するBEGIN命令は存在しない。
  1. ★@SYSTEM_TITLEが定義されておれば、その中を実行する。これは、独自のタイトル処理をしたい場合に設置する。なおここでBEGIN命令もしくはLOADDATA命令の記述がなくRETURNされると実行する命令がなくなりEmueraは実行を終了する。また、@SYSTEM_TITLEを実行する場合、これ以降の処理はそういうコーディングをしなければ行われない。
  2. タイトル画面の表示をおこなう。何を表示するか?は、Gamebase.csvで設定する。
  3. キー入力の要求をおこなう。[0]最初からはじめるか[1]データをロードするかをプレイヤーに選択させる処理を行う。

最初からはじめる場合

 このセクションの内容は明示的にERBに記述せずとも自動実行される。
  1. データの初期化を実施する。
  2. ADDCHARA 0を実行する。ただし、キャラ番号0のキャラが定義されていないならこの処理は行われない。
  3. Gamebase.csvに最初からいるキャラの有効な記述があり、その項目に併記されているキャラ番号のキャラが定義されているのなら、そのキャラを一人だけADDCHARAする。
  4. BEGIN FIRSTが実行され、@EVENTFIRST関数に処理が移行する。

データをロードする場合

 このセクションの内容は明示的にERBに記述せずとも自動実行される。
  1. ★@TITLE_LOADGAME関数が定義されておれば、@TITLE_LOADGAME関数を実行する。これは、独自のロード処理をしたいばあいに定義する。
  2. セーブデータを表示し、どのデータをロードするかを選択させる。
  3. ロードしない場合は、キー入力の項目まで戻る。
  4. ロードする場合は、ロードデータ処理に移行する。

ロードデータ処理

  1. ロードデータする。それ以前のフラグや状態などはすべて破棄される。
  2. ★@EVENTLOAD関数が定義されていれば@EVENTLOAD関数を実行する。この中でBEGIN命令があれば、それを実行する。
  3. BEGIN SHOPが実行されるが、@EVENTSHOP関数へいくのではなく@SHOW_SHOP関数に移行する。なお、★Emueraにおいては、これより前の@EVENTLOAD関数でBEGINが実行されておれば、そちらが優先される。

EVENTFIRST関数

 ほとんどの場合、ここからERBの記述どおりに実行されると考えてよい。それ以前の処理は特にeramakerの場合はハードコーディングされた処理を行っている。なお、★Emueraにおいては、BEGIN FIRST実行後もここに飛んでくるが、eramakerには該当するBEGIN命令は存在しない。
  1. @EVENTFIRST関数を実行する。
 @EVENTFIRST内でBEGIN命令が行われなかった場合、次に実行する処理がなくなりエラー終了する。

EVENTSHOP関数

 BEGIN SHOP実行後もここに飛んでくる。通常、最初からはじめる場合には、@EVENTFIRST内からBEGIN SHOPされてくることが多いはず。
  1. @EVENTSHOP関数を実行する。
  2. ★Emueraの.Configで設定されておれば、ここでAutosaveの処理を行う。詳しくは別項で。
  3. LOADDATAされた直後に、SHOPに来た場合にはここから後の処理を実行する。つまり、@EVENTSHOP関数と★Autosaveの処理は実行されないことになる。
  4. @SHOW_SHOP関数を実行する。
 ここで、SHOP画面を表示させてプレイヤーにSHOPコマンドを入力させる。この入力において0~99(★Emueraはこの範囲を変更可能)が入力されるとアイテム購入処理、それ以外の数値を入力されると@USERSHOPの処理に移行する。

アイテム購入処理

  1. 入力されたアイテムに対応するITEMSALESが0以外であるかそして、MONEY:0がITEMPRICEより大きいかどうかを判定する。eramakerの場合、この判定に失敗したら@SHOW_SHOPに処理を戻す。★Emueraの場合、この判定に失敗したら再入力を要求する。
  2. 購入判定に成功したら、BOUGHT:0変数にITEM番号を代入し、ITEM:BOUGHTを1増やし、MONEY:0をITEMPRICE:BOUGHTだけ減らす。そして、@EVENTBUY関数を実行したあとに@SHOW_SHOP関数へ処理を戻す。

USERSHOP処理

  1. @USERSHOP関数を実行する。
  2. @SHOW_SHOP関数へ処理を戻す。
注:以上のEVENTSHOP処理のどこかでBEGIN命令を実行するまではEVENTSHOP処理から抜け出せないことに注意すること。

EVENTTRAIN関数

 BEGIN TRAIN実行でここに飛んでくる。調教シーンを想定しているが、もちろん「調教」でなくてもこの仕組みを使っているケースもあれば、この仕組みを一切使わない「調教」というのも存在する。
  1. 一部の変数を初期化する。
  2. @EVENTTRAIN関数があれば、それを実行する。なお、★Emueraにおいては、この関数内で直接BEGINすることは許されない。
  3. NEXTCOM:0変数が0以上の場合には、Train.csvの対応するコマンドの実行を試みる。これに関してはこれ以降記述しないので興味があるなら各自試行してみてほしい。
  4. @SHOW_STATUS関数を実行する。
  5. Train.csvの0から定義されている部分について、@COM_ABLE{選ばれたコマンドのTrain.csvの数値}関数を実行しようとする。@COM_ABLE{選ばれたコマンドのTrain.csvの数値}関数が未定義もしくは実行の結果0以外を返した場合は実行できるものと判断し、そのTrain.csvの名前(★EmueraならばTRAINNAME)をPRINTする。そうでなければ実行できないと判断する。この判断はここで記憶しておいている。
  6. @SHOW_USERCOM関数を実行する。
  7. UP,DOWN,LOSEBASE,★CUP,CDOWN,DOWNBASEを初期化する。
  8. 実行すべき調教コマンドをプレイヤーに入力させる。
  9. その調教コマンドが実行不可能であるならば、@USERCOM関数を呼び出し、その後@SHOW_STATUS関数の処理に戻る。
  10. その調教コマンドが実行可能ならコマンド処理を行う。

調教コマンド処理

  1. 全てのキャラのNOWEXの全ての要素を0にする。
  2. @EVENTCOM関数を実行する。
  3. 入力された調教コマンドに対応する@COM{選ばれたコマンドのTrain.csvの数値}関数を呼び出す。
 ここで@COM{選ばれたコマンドのTrain.csvの数値}関数が返す値により分岐する。

@COM{選ばれたコマンドのTrain.csvの数値}関数が0を返した場合

  1. @SHOW_STATUS関数に処理を戻す。

@COM{選ばれたコマンドのTrain.csvの数値}関数が0以外を返した場合

  1. @SOURCE_CHECK関数を実行する。
  2. 全てのキャラのSOURCEの全ての要素を0にする。
  3. @EVENTCOMEND関数を呼び出す。
  4. @SHOW_STATUS関数に処理を戻す。
注:以上のEVENTTRAIN処理のどこかでBEGIN命令を実行するまではEVENTTRAIN処理から抜け出せないことに注意すること。

ABLUP関数

 BEGIN ABLUPでここに飛んでくる。
調教後に宝珠を消費させて能力を上昇させるということを想定している。
  1. @SHOW_JUEL関数を実行する。
  2. @SHOW_ABLUP_SELECT関数を実行する。
  3. プレイヤーに入力を要求する。

入力が0~99の範囲内である場合

  1. 入力された数値に対応する@ABLUP関数を探す。

定義されていない場合

  1. eramakerの場合は、@SHOW_JUEL関数に処理を戻す。
  2. ★Emueraの場合は再度入力を要求する。

定義されている場合

  1. @ABLUP関数を実行する。
  2. @SHOW_JUEL関数に処理を戻す。

入力が0~99の範囲外である場合

  1. @USERABLUP関数を実行する。
  2. @SHOW_JUEL関数に処理を戻す。
注:以上のABLUP処理のどこかでBEGIN命令を実行するまではABLUP処理から抜け出せないことに注意すること。

AFTERTRAIN関数

 BEGIN AFTERTRAINでここに飛んでくる。なお、AFTERTRAIN処理中にBEGIN命令が行われなかった場合は、次に実行する処理がなくなってしまうためエラー終了してしまう。
 調教後の後始末やイベントなどを処理することを想定している。
  1. @EVENTEND関数を実行する。

EVENTTURNEND関数

 BEGIN TURNENDでここに飛んでくる。なお、EVENTTURNEND処理中にBEGIN命令が行われなかった場合は、次に実行する処理がなくなってしまうためエラー終了してしまう。
 そのターンの終了処理を行うことを想定している。
  1. @EVENTTURNEND関数を実行する。

SAVEGAME命令

 SAVEGAME命令が実行されたとき。
  1. セーブデータを表示する。
  2. どのスロットにデータセーブするかをプレイヤーに入力させる。ここでセーブの実行を取りやめた場合は元の処理に戻る。
  3. 入力した番号のスロットにデータがあれば上書きしていいかどうかをプレイヤーに聞く。ここで、それを行わない場合は再度どのスロットにデータセーブするかの入力に戻る。
  4. セーブ実行する場合、@SAVEINFO関数があればそれを実行する。
  5. セーブを行う。
  6. RETURNする。

LOADGAME命令

 LOADGAME命令が実行されたとき。
  1. セーブデータを表示する。
  2. どのスロットのセーブデータをロードするかをプレイヤーに入力させる。
  3. ロードの実行を取りやめる場合は元の処理に戻る。そうでない場合のみ、以下の処理を実行する。
  4. ロードを行うのであれば、今までの状態などを初期化してデータロードを行う。
  5. ロードデータ処理に移行する。

★Autosave処理

 EmueraにおいてのAutosave処理についてである。この項目は全て★である。
  1. ★Emueraの.configにおいてAutosave処理をしない場合は何もしないで、元の処理に戻る。そうでない場合のみ、以下の処理を実行する。
  2. ★@SYSTEM_AUTOSAVE関数がある場合はその処理を行ったあと、@SHOW_SHOP関数に処理が移行する。
  3. ★@SAVEINFO関数がある場合は、実行する。
  4. ★セーブスロット99番にデータをセーブする。
  5. ★@SHOW_SHOP関数に処理が移行する。









タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「eraの実行の流れ」をウィキ内検索
LINE
シェア
Tweet
erayasai @ ウィキ
記事メニュー

メニュー

pass:eratohoIRC
  • トップページ
  • Q&A
  • Q&Q
  • eratoho雑談掲示板 ひっそりと
  • eratoho速報 一時休止中

■ まとめ
├ erayasai推測ページ
├ IRCが元ネタのキャラ
├ IRC外からの輸入キャラ
├ キャラ解説
├ 開発者辞典1
├ 開発者辞典2
├ IRCまとめ
├ IRC用語集
├ 殿堂入り
├ 後生に残すべき名言たち
├ IRCネタSSまとめ
├ erayasai変数一覧
└ 短縮URLについて

■ あそび
├ eraSWR
├ お人形遊び
├ 世紀末野菜麻雀
├ 野菜クロニクル
├ 大いなる混沌の間
├ 戦乙女野菜
├ DJ YASAI
├ 決闘の野菜室
├ 汝は野菜狼なりや?
├ 世界樹産の新鮮な野菜
├ 聖野菜伝説
├ 一人称視点野菜STG
├ 王冠乃野菜
├ お手軽野菜育成あそび
└ 野菜サンド場

■ べんきょう
├ YMキャラ追加について
├ キャラ攻略
├ J用TFLAG一覧メモ
├ J用CFLAG一覧メモ
├ J用FLAG一覧メモ
├ RR用TFLAG一覧メモ
├ ERB開発Tips
├ 衣装について
├ おっぱいについて
└ じゆうけんきゅう

■ 口上
├ eratoho開発・口上相談ch
├ 秘密の企画ページ
├ 秘密の口上テスト
└ 秘密の口上作成力講習会

リンク

  • eratohoまとめ
  • eraシリーズまとめ
  • eraSQWiki
  • eraMegatenWiki
  • erapokeまとめWiki
  • eraheta @ ウィキ
  • eratennis @ ウィキ
  • 野菜Wiki@ECO
era姫騎士は、
プロジェクトを終了しました。

編集履歴

取得中です。



ここを編集
記事メニュー2
人気記事ランキング
  1. 開発者辞典その2
  2. eraSWRのページ
  3. 黒谷的な罰ゲーム2
  4. IRCまとめ
  5. プラグイン/ニュース
もっと見る
最近更新されたページ
  • 200日前

    IRCまとめ
  • 812日前

    !erasteamのはなし
  • 1322日前

    後生に残すべき名言たち
  • 1372日前

    メニュー
  • 2489日前

    lunatic
  • 2570日前

    ひみちゅのページ
  • 3047日前

    野菜サンド場
  • 3047日前

    トップページ
  • 3103日前

    開発者辞典
  • 3395日前

    育てられている野菜たちの一覧ページ
もっと見る
人気記事ランキング
  1. 開発者辞典その2
  2. eraSWRのページ
  3. 黒谷的な罰ゲーム2
  4. IRCまとめ
  5. プラグイン/ニュース
もっと見る
最近更新されたページ
  • 200日前

    IRCまとめ
  • 812日前

    !erasteamのはなし
  • 1322日前

    後生に残すべき名言たち
  • 1372日前

    メニュー
  • 2489日前

    lunatic
  • 2570日前

    ひみちゅのページ
  • 3047日前

    野菜サンド場
  • 3047日前

    トップページ
  • 3103日前

    開発者辞典
  • 3395日前

    育てられている野菜たちの一覧ページ
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. ソードランページ @ 非公式wiki
  6. ヒカマーWiki
  7. AviUtl2のWiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. Dark War Survival攻略
  10. 星飼いの詩@ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 検索してはいけない言葉 @ ウィキ
  5. 初音ミク Wiki
  6. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. 発車メロディーwiki
  9. オレカバトル アプリ版 @ ウィキ
  10. 英傑大戦wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. べりはぴ - ストグラ まとめ @ウィキ
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. クロスボーン・ガンダムX1改 - 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  5. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  6. ヴォイドカンパニー - アニヲタWiki(仮)
  7. 機体一覧 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  8. ガンダム・エアリアル(改修型) - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. コメント/雑談・質問 - マージマンション@wiki
  10. 危険度7 - 検索してはいけない言葉 @ ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.