イベントスクリプト

「イベントスクリプト」の編集履歴(バックアップ)一覧はこちら

イベントスクリプト」(2012/05/06 (日) 19:44:47) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*eventの{}に記述する処理手順です。 #contents **ゲームフラグを設定する ・フラグ(変数)について イベントスクリプトではフラグ(変数)を扱うことができる フラグ(変数)は文字列を設定することができ、if文などの制御構文で使用することができる フラグ(変数)が未設定の場合初期値は0として扱われる フラグ(変数)に数字が設定されている場合、if文では大小比較を行うことができる フラグ(変数)にはシステムで予約されている予約語がいくつか存在しているので被らないように注意 ・フラグ(変数)の設定方法 以下のコマンドでフラグに文字列を設定することができる ※ フラグ名には ${} を付けないように注意! set_flag フラグ名 文字列 set_flag flg_korositedemo_ubaitoru 1 # flg_korositedemo_ubaitoruに1を設定する。 set_flag flg_my_lover あほあほ # flg_my_loverに「あほあほ」を設定する。 ・フラグ(変数)の参照方法 参照する場合は ${フラグ名} という風に書くと、 コマンド実行時に${フラグ名}が、設定されている文字列に置換されて実行される ・システム変数一覧 ${player_last} 末尾のパーティメンバの ID ${player1} 1番目のパーティメンバの ID ${player2} 2番目のパーティメンバの ID ${player3} 3番目のパーティメンバの ID ${player4} 4番目のパーティメンバの ID ${party_num} パーティの人数 ${hero} 主人公の ID ${hit_point} 主人公のヒットポイント ${gold} 所持金 ${direction} プレイヤーの向き(up, down, left, right) **条件分岐 if~elif~else~endif 条件式には !=<> が使用可能 &&と||で条件式をつなげることも出来ます if ${opening_flag} == 1 && hero == グラント 不要ならelse節は省略可能。 if の直後に変数を指定する ・ゲームフラグを使用する場合の例 if flg_korositedemo_ubaitoru == 1 msg 20, な なにをする きさまらー!; sync playse sound\\効果音\\アイテムゲット.mp3 msg -1, アイスソードを\nてにいれた!; sync else msg -1, そう かんけいないね; sync endif ・主人公が誰かという条件文の例 if ${hero} != グラント msg -1, 俺はグラントじゃねーよ; sync elif ${hero} == マリー msg -1, 私はマリー endif ・所持金を使用した条件文の例 if ${gold} <= 100 msg 10, お前貧乏だな; sync endif ・アイテムを所持しているか if item == ポーション || item != ハイポーション msg 20, あなたポーション大好きあるね endif ・アイテムを所持しているか if ${direction} == right msg 20, あなた右に向いてるね elif ${direction} == down msg 20, もっと上を向いて歩こうよ! endif ・パーティに誰々がいる場合の例 if in_party == マリー && in_party == シエラ && in_party != グラント msg -1, 女大好き endif **キャラにセリフを喋らせる。 横方向の表示限界は全角16文字程度と思われるので、見やすい長さで改行を入れる事が好ましい。 ウィンドウの高さはセリフの行数になっているが ウィンドウの高さは最大4行でセリフが4行を超えた場合4行単位でスクロールしていく ・通常のふきだし msg -1, 次にお前は\n「なぜわかった!?」と言う #操作キャラセリフ msg 20, なぜわかった!?\nハッ!? #ID20のイベントのセリフ。 ・心の中で考えていることのふきだし msg2 -1, こいつバカだ… msg2 20, もしかして、\nこの人アホかしら… ・時間経過でウィンドウが消えるふきだし msg_auto 37, 私は3…,15 #表示時間は15フレーム sync #15フレームで消えるのを待つ msg_auto 37, いや、20歳。, 20 **コマンドの動作完了を待つ 同時実行する命令を締め切り、動作完了を待つ。 move up, up, 0.25, 5, -1 move up, up, 0,25, 5, 20 msg -1, 操作キャラは喋りながら移動 sync msg 20, ID20のキャラは移動後に喋る sync **指定したフレーム数だけ待機する。 msg -1, ちょっとまて・・・\nこれは・・・ sync wait 60 sync msg -1, 人の首・・・!? **キャラの向きを設定する。 direction up, -1 #操作キャラを上向きに設定。 direction left, 20 #ID20のイベントを左向きに設定。 **キャラを移動させる。 一番目と二番目の引数にはdirectionで説明されている方向を指定する。 move up, down, 0.25, 5, 20 #ID20のイベントを、5マス、速度0.25、下向き表示で、上方向に移動させる。 move left, left, 1, 3, -1 #操作キャラを左へ3マス移動させる。 **キャラを指定した座標まで移動させる 経路探索アルゴリズム(A*アルゴリズム)で途中に障害物や階段があっても最短距離で 指定した座標まで移動する move_point 20, 30, 1, -1 # 操作キャラを(20, 30)まで速度1で移動する **キャラの位置を変える。 他のイベントの位置に重ならないよう注意。 set_pos -1, down, 10, 20, 0 #操作キャラをレイヤー0の座標10,20へ転送し下向きに設定する。 set_pos 20, up, 10, 30, 2 #ID20のイベントをレイヤー2の10,30へ転送し上向きに設定する。 **キャラが停止している時の表示チップを変更する キャラチップ画像には以下のようにチップにIDが振られています 0, 1, 2... 5, 6, 7... 第一引数にオブジェクトID、第二引数にはチップIDを指定します 第三引数は反転フラグ(trueまたはfalse)が指定出来、省略した場合は反転しません 指定するチップIDは-2が特殊で倒れている画像になり、-1で元に戻ります # プレイヤーキャラをチップID4を反転して表示 set_stop_image -1, 4, true # 元に戻す set_stop_image -1, -1 # プレイヤーキャラが一回転 set_stop_image -1, 1; wait 4;sync; set_stop_image -1, 6; wait 4;sync; set_stop_image -1, 11; wait 4;sync; set_stop_image -1, 16; wait 4;sync; set_stop_image -1, -1; wait 4;sync; **強制的にキャラの表示チップを変える set_stop_image ではキャラが止まっている時の表示を変更するのに対し set_force_image ではキャラが移動する時も指定したチップが常に表示される # プレイヤーキャラをチップID4を反転して表示 set_force_image -1, 4, true # 元に戻す set_force_image -1, -1 **アイテムを取得する if flag test_item == 1 msg -1, からっぽ・・・; sync else set_anim 47, 4 1 # 宝箱を開けた画像に変える item_get 長剣 # ふきだしも表示される set_flag test_item 1 # フラグを使用しないと何度でも取ることができてしまう endif **HPやMPを回復する recovery 1 0 0 # HPだけ完全に回復 recovery 0 1 0 # MPだけ完全に回復 recovery 0 0 1 # WPだけ完全に回復 recovery 1 1 1 # 完全に回復 **マップを切り替える。 シーンとマップの関連づけはdatas\マップ情報.txtに記述しておく。 chscene だけではマップ切り替わり時のエフェクトがかからないため、 chscene の前後にエフェクトをかけるコマンドを記述する # datas/マップ情報.txtで定義されているシーンへ切り替え、 # 操作キャラを座標6, 8, 1に配置する。 feed_bgm -1, 30 effect feed_out, 30; sync # 30フレームかけてフェードアウト chscene もけけぴろぴろ, 6, 8, 1 # 真っ暗闇でマップを切り替える effect feed_in, 30; sync # 30フレームかけてフェードイン **BGMを変更する BGM曲を実行ファイルからの相対パスで指定して再生する。ループ先位置の指定が必要。 playbgm sound\\BGM1\\適当なファイル名(8101).ogg 8101 playbgm sound\\BGM\\適当なファイル名(44831).ogg 44831 playbgm default #シーン初期設定曲に戻す。 **効果音を鳴らす。 playse [ファイルパス] **BGMをフェードイン/アウトする。 feed_bgm -4 #音量が0になるまで1フレームおきに音量が-4づつ減算 feed_bgm 8 #音量が100になるまで1フレームおきに音量が8づつ増加 **マップ画像を揺らして、地震の効果! earthquake 3, 60 #60フレームかけて震度3へ earthquake 0, 1 #すぐに揺れを止める **画面効果を付ける 輝度を RGB で指定する bright 255, 255, 255, 1 #一瞬で通常に bright 127, 127, 127, 60 #60フレームかけて50%の暗さに。 bright 63, 63, 63, 60 #60フレームかけてさらに倍率、ドン! bright 100, 100, 200 1 # 一瞬で青暗くして夜を表現 **画像を表示/非表示に変更する。 hidden true, -1 #操作キャラを非表示に hidden false, 20 #ID20のイベント画像を表示する設定に **通過出来るかどうか後付けで設定する set_passage 20, true #ID20のイベントを通過可能にする。 set_passage 10, false #ID10のイベントを通過不可にする。 **画面全体に効果をかける。 effect feed_in 60 #60フレームかけて画面を黒->通常に変化させる。 effect feed_out 120 #120フレームかけて画面を通常->黒に変化させる。 effect feed_in 20 255 0 0 # 20フレームかけて画面を赤(255, 0, 0)→通常に変化させる effect feed_out 20 255 0 0 # 20フレームかけて画面を通常→赤(255, 0, 0)に変化させる effect mozaiku_out 30 # 30フレームかけて画面をモザイク→通常に変化させる effect mozaiku_in 30 # 30フレームかけて画面をモザイク→通常に変化させる **お店 shop の後に売り出すアイテム名を記述する shop アイスソード, ポーション, エリクシャー **戦闘を開始する battle [敵種別] [モンスターグループNo.] 敵種別=骸骨, 悪魔, 獣, 魚, 獣人, 植物, 水棲, 精霊, ゾンビ, 両棲, 蛇, 無機, 昆虫, 鳥, 亡霊, 妖精 モンスターグループNo.=0~14 **ナレーションを表示する 映画風ににナレーションを表示する。 narration3 ハハハハ         \n天知る 地知る ロビン知る **選択肢を表示して処理を分岐する msg_select~case n~end_case~end_msg_select 選択肢を表示して処理を分岐する。nは選択肢番号で1~選択肢数まで。 選択肢は行単位で設定されるので第二引数に\nで区切って設定する。 キャンセルボタンによる中断はしないので、キャンセルが必要な場合は 選択肢に用意しておく。 表示枠は最も長い行が基準となり、それより短い行はセンタリングされる。 表示をそろえたい場合は、全角スペースなどでパディングして文字数を合わせる。 例文では見やすくするために選択肢を改行しているが、実際は改行や 半角スペース等を含まず、一行で書かなければならない。 set_flag flg_loop 1 #while flg_loop msg_select アグニSSP   140\n アグニCP1   230\n ブラックイーグル 980\n アグニMBX  1550\n 買わない        #左寄せしたいので字数合わせ(ここまで一行) case 1 #itemget アグニSSP #add_money -140 end_case case 2 #itemget アグニCP1 #add_money -230 end_case case 3 #itemget ブラックイーグル #add_money -980 end_case case 4 #itemget アグニMBX #add_money -1550 end_case case 5 set_flag flg_loop, 0 end_case end_msg_select sync #end_while **全体マップにマップシンボルを追加・除去する。 指定するマップIDはdatas\マップ情報.txtであらかじめ定義しておく。 #追加 appearance_on_map アクバー峠 appearance_on_map 沼地の廃墟 #除去 del_on_map アクバー峠
*eventの{}に記述する処理手順です。 #contents **ゲームフラグを設定する ・フラグ(変数)について イベントスクリプトではフラグ(変数)を扱うことができる フラグ(変数)は文字列を設定することができ、if文などの制御構文で使用することができる フラグ(変数)が未設定の場合初期値は0として扱われる フラグ(変数)に数字が設定されている場合、if文では大小比較を行うことができる フラグ(変数)にはシステムで予約されている予約語がいくつか存在しているので被らないように注意 ・フラグ(変数)の設定方法 以下のコマンドでフラグに文字列を設定することができる ※ フラグ名には ${} を付けないように注意! set_flag フラグ名 文字列 set_flag flg_korositedemo_ubaitoru 1 # flg_korositedemo_ubaitoruに1を設定する。 set_flag flg_my_lover あほあほ # flg_my_loverに「あほあほ」を設定する。 ・フラグ(変数)の参照方法 参照する場合は ${フラグ名} という風に書くと、 コマンド実行時に${フラグ名}が、設定されている文字列に置換されて実行される ・システム変数一覧 ${player_last} 末尾のパーティメンバの ID ${player1} 1番目のパーティメンバの ID ${player2} 2番目のパーティメンバの ID ${player3} 3番目のパーティメンバの ID ${player4} 4番目のパーティメンバの ID ${party_num} パーティの人数 ${hero} 主人公の ID ${hit_point} 主人公のヒットポイント ${gold} 所持金 ${direction} プレイヤーの向き(up, down, left, right) **条件分岐 if~elif~else~endif 条件式には !=<> が使用可能 &&と||で条件式をつなげることも出来ます if ${opening_flag} == 1 && hero == グラント 不要ならelse節は省略可能。 if の直後に変数を指定する ・ゲームフラグを使用する場合の例 if flg_korositedemo_ubaitoru == 1 msg 20, な なにをする きさまらー!; sync playse sound\\効果音\\アイテムゲット.mp3 msg -1, アイスソードを\nてにいれた!; sync else msg -1, そう かんけいないね; sync endif ・主人公が誰かという条件文の例 if ${hero} != グラント msg -1, 俺はグラントじゃねーよ; sync elif ${hero} == マリー msg -1, 私はマリー endif ・所持金を使用した条件文の例 if ${gold} <= 100 msg 10, お前貧乏だな; sync endif ・アイテムを所持しているか if item == ポーション || item != ハイポーション msg 20, あなたポーション大好きあるね endif ・アイテムを所持しているか if ${direction} == right msg 20, あなた右に向いてるね elif ${direction} == down msg 20, もっと上を向いて歩こうよ! endif ・パーティに誰々がいる場合の例 if in_party == マリー && in_party == シエラ && in_party != グラント msg -1, 女大好き endif **キャラにセリフを喋らせる。 横方向の表示限界は全角16文字程度と思われるので、見やすい長さで改行を入れる事が好ましい。 ウィンドウの高さはセリフの行数になっているが ウィンドウの高さは最大4行でセリフが4行を超えた場合4行単位でスクロールしていく ・通常のふきだし msg -1, 次にお前は\n「なぜわかった!?」と言う #操作キャラセリフ msg 20, なぜわかった!?\nハッ!? #ID20のイベントのセリフ。 ・心の中で考えていることのふきだし msg2 -1, こいつバカだ… msg2 20, もしかして、\nこの人アホかしら… ・時間経過でウィンドウが消えるふきだし msg_auto 37, 私は3…,15 #表示時間は15フレーム sync #15フレームで消えるのを待つ msg_auto 37, いや、20歳。, 20 **コマンドの動作完了を待つ 同時実行する命令を締め切り、動作完了を待つ。 move up, up, 0.25, 5, -1 move up, up, 0,25, 5, 20 msg -1, 操作キャラは喋りながら移動 sync msg 20, ID20のキャラは移動後に喋る sync **指定したフレーム数だけ待機する。 msg -1, ちょっとまて・・・\nこれは・・・ sync wait 60 sync msg -1, 人の首・・・!? **キャラの向きを設定する。 direction up, -1 #操作キャラを上向きに設定。 direction left, 20 #ID20のイベントを左向きに設定。 **キャラを移動させる。 一番目と二番目の引数にはdirectionで説明されている方向を指定する。 move2にすると障害物を無視して直進する。 move up, down, 0.25, 5, 20 #ID20のイベントを、5マス、速度0.25、下向き表示で、上方向に移動させる。 move left, left, 1, 3, -1 #操作キャラを左へ3マス移動させる。 **キャラを指定した座標まで移動させる 経路探索アルゴリズム(A*アルゴリズム)で途中に障害物や階段があっても最短距離で 指定した座標まで移動する move_point 20, 30, 1, -1 # 操作キャラを(20, 30)まで速度1で移動する **キャラの位置を変える。 他のイベントの位置に重ならないよう注意。 set_pos -1, down, 10, 20, 0 #操作キャラをレイヤー0の座標10,20へ転送し下向きに設定する。 set_pos 20, up, 10, 30, 2 #ID20のイベントをレイヤー2の10,30へ転送し上向きに設定する。 **キャラが停止している時の表示チップを変更する キャラチップ画像には以下のようにチップにIDが振られています 0, 1, 2... 5, 6, 7... 第一引数にオブジェクトID、第二引数にはチップIDを指定します 第三引数は反転フラグ(trueまたはfalse)が指定出来、省略した場合は反転しません 指定するチップIDは-2が特殊で倒れている画像になり、-1で元に戻ります # プレイヤーキャラをチップID4を反転して表示 set_stop_image -1, 4, true # 元に戻す set_stop_image -1, -1 # プレイヤーキャラが一回転 set_stop_image -1, 1; wait 4;sync; set_stop_image -1, 6; wait 4;sync; set_stop_image -1, 11; wait 4;sync; set_stop_image -1, 16; wait 4;sync; set_stop_image -1, -1; wait 4;sync; **強制的にキャラの表示チップを変える set_stop_image ではキャラが止まっている時の表示を変更するのに対し set_force_image ではキャラが移動する時も指定したチップが常に表示される # プレイヤーキャラをチップID4を反転して表示 set_force_image -1, 4, true # 元に戻す set_force_image -1, -1 **アイテムを取得する if flag test_item == 1 msg -1, からっぽ・・・; sync else set_anim 47, 4 1 # 宝箱を開けた画像に変える item_get 長剣 # ふきだしも表示される set_flag test_item 1 # フラグを使用しないと何度でも取ることができてしまう endif **HPやMPを回復する recovery 1 0 0 # HPだけ完全に回復 recovery 0 1 0 # MPだけ完全に回復 recovery 0 0 1 # WPだけ完全に回復 recovery 1 1 1 # 完全に回復 **マップを切り替える。 シーンとマップの関連づけはdatas\マップ情報.txtに記述しておく。 chscene だけではマップ切り替わり時のエフェクトがかからないため、 chscene の前後にエフェクトをかけるコマンドを記述する # datas/マップ情報.txtで定義されているシーンへ切り替え、 # 操作キャラを座標6, 8, 1に配置する。 feed_bgm -1, 30 effect feed_out, 30; sync # 30フレームかけてフェードアウト chscene もけけぴろぴろ, 6, 8, 1 # 真っ暗闇でマップを切り替える effect feed_in, 30; sync # 30フレームかけてフェードイン **BGMを変更する BGM曲を実行ファイルからの相対パスで指定して再生する。ループ先位置の指定が必要。 playbgm sound\\BGM1\\適当なファイル名(8101).ogg 8101 playbgm sound\\BGM\\適当なファイル名(44831).ogg 44831 playbgm default #シーン初期設定曲に戻す。 **効果音を鳴らす。 playse [ファイルパス] **BGMをフェードイン/アウトする。 feed_bgm -4 #音量が0になるまで1フレームおきに音量が-4づつ減算 feed_bgm 8 #音量が100になるまで1フレームおきに音量が8づつ増加 **マップ画像を揺らして、地震の効果! earthquake 3, 60 #60フレームかけて震度3へ earthquake 0, 1 #すぐに揺れを止める **画面効果を付ける 輝度を RGB で指定する bright 255, 255, 255, 1 #一瞬で通常に bright 127, 127, 127, 60 #60フレームかけて50%の暗さに。 bright 63, 63, 63, 60 #60フレームかけてさらに倍率、ドン! bright 100, 100, 200 1 # 一瞬で青暗くして夜を表現 **画像を表示/非表示に変更する。 hidden true, -1 #操作キャラを非表示に hidden false, 20 #ID20のイベント画像を表示する設定に **通過出来るかどうか後付けで設定する set_passage 20, true #ID20のイベントを通過可能にする。 set_passage 10, false #ID10のイベントを通過不可にする。 **画面全体に効果をかける。 effect feed_in 60 #60フレームかけて画面を黒->通常に変化させる。 effect feed_out 120 #120フレームかけて画面を通常->黒に変化させる。 effect feed_in 20 255 0 0 # 20フレームかけて画面を赤(255, 0, 0)→通常に変化させる effect feed_out 20 255 0 0 # 20フレームかけて画面を通常→赤(255, 0, 0)に変化させる effect mozaiku_out 30 # 30フレームかけて画面をモザイク→通常に変化させる effect mozaiku_in 30 # 30フレームかけて画面をモザイク→通常に変化させる **お店 shop の後に売り出すアイテム名を記述する shop アイスソード, ポーション, エリクシャー **戦闘を開始する battle [敵種別] [モンスターグループNo.] 敵種別=骸骨, 悪魔, 獣, 魚, 獣人, 植物, 水棲, 精霊, ゾンビ, 両棲, 蛇, 無機, 昆虫, 鳥, 亡霊, 妖精 モンスターグループNo.=0~14 **ナレーションを表示する 映画風ににナレーションを表示する。 narration3 ハハハハ         \n天知る 地知る ロビン知る **選択肢を表示して処理を分岐する msg_select~case n~end_case~end_msg_select 選択肢を表示して処理を分岐する。nは選択肢番号で1~選択肢数まで。 選択肢は行単位で設定されるので第二引数に\nで区切って設定する。 キャンセルボタンによる中断はしないので、キャンセルが必要な場合は 選択肢に用意しておく。 表示枠は最も長い行が基準となり、それより短い行はセンタリングされる。 表示をそろえたい場合は、全角スペースなどでパディングして文字数を合わせる。 例文では見やすくするために選択肢を改行しているが、実際は改行や 半角スペース等を含まず、一行で書かなければならない。 set_flag flg_loop 1 #while flg_loop msg_select アグニSSP   140\n アグニCP1   230\n ブラックイーグル 980\n アグニMBX  1550\n 買わない        #左寄せしたいので字数合わせ(ここまで一行) case 1 #itemget アグニSSP #add_money -140 end_case case 2 #itemget アグニCP1 #add_money -230 end_case case 3 #itemget ブラックイーグル #add_money -980 end_case case 4 #itemget アグニMBX #add_money -1550 end_case case 5 set_flag flg_loop, 0 end_case end_msg_select sync #end_while **全体マップにマップシンボルを追加・除去する。 指定するマップIDはdatas\マップ情報.txtであらかじめ定義しておく。 #追加 appearance_on_map アクバー峠 appearance_on_map 沼地の廃墟 #除去 del_on_map アクバー峠

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。