Top > STEP18 コモンイベントの作成
HTML convert time to 0.024 sec.


STEP18 コモンイベントの作成

Last-modified: 2013-04-20 (土) 17:25:43

一通りウディタ上でのゲーム制作は完了しましたが、ここではゲームの味付けがてらに簡単な「コモンイベント」を作っていこうと思います。

 

「コモンイベント」というと、ウディタの公式HPにある「WOLF RPGエディター コモンイベント集」に登録されているような様々な機能をゲームに追加することができるものというイメージがあると思いますが、ウディタのマニュアルにもあるとおり、「コモンイベント」とはゲーム中のどこからでも呼び出して使用できるイベントになります。

 

つまりは機能追加といった部分だけではなく、汎用性が高いという点がポイントになります。
例えば、城を守っている数人の「兵士」がいた場合にみんな同じ台詞を話し、プレイヤーキャラを突き飛ばすイベントがあったとします。

兵士「ここは○○城だ。許可のない者の立ち入りは禁止だ!」
プレイヤーキャラを突き飛ばす。

このくらいの規模のイベントなら、一人一人の「兵士」に設定していくのはそれほど面倒ではありませんが、こういった同じ処理内容となる汎用的なイベントを「コモンイベント」として作成すれば、「兵士」側のイベントではこの「コモンイベント」を呼び出すだけで済みます。
また台詞の変更などが発生した場合も「コモンイベント」側だけ修正すれば、すべての「兵士」のイベントに修正した台詞が反映されますので、メンテナンスが楽です。

 

同じイベント処理を毎回作成している場合には、汎用性と高いメンテナンス性がある「コモンイベント」として作成した方が効率よく制作を進めていけるわけです。

 

すでに「コモンイベント」の呼び出しについては、「お店の処理」や「仲間の増減」「戦闘の発生」などで何度か経験して来ましたが、「コモンイベント」については「ゲームーオーバー処理」を1度作っただけでした。
これから、汎用性の高いいくつかのイベント処理を「コモンイベント」として作成していきます。

 

【INDEX】


 

全回復イベントを作ろう

よくあるRPGですと、宿屋であったり、魔法陣?であったり、HPとSPが全回復するような「回復ポイント」がいくつも用意されています。
こういったイベントは毎回同じ処理を行なっていますので、まさに「コモンイベント」にするのにピッタリなものです。

 

今回のゲームですと、「回復ポイント」は「村の自宅のベッド」と「森にある池?泉?」の2ヶ所にします。
規模が小さいので、「コモンイベント」の効果の実感は少ないですが、練習にはちょうどいい題材です。

 

「自宅のベット」と「森にある泉」での回復イベントの進行としては、

  • 「自宅のベット」
    ベッドで眠る旨のメッセージ表示→画面が暗くなる→画面が明るくなる→画面フラッシュ→全回復→回復メッセージ表示
  • 「森にある泉」
    泉の水を飲む旨のメッセージ表示→画面フラッシュ→全回復→回復メッセージ表示

となり、若干違いがあります。
共通する部分は「画面フラッシュ→全回復→回復メッセージ表示」になりますので、この部分を「コモンイベント」として作成していきます。

「コモンイベントエディタ」

さっそく「コモンイベント」を作成していきましょう。
「コモンイベントエディタ」を開きます。
「コモンイベントエディタ」を表示するには、「ツールバーのアイコン」をクリックするか、「上部メニューの「表示」」から「コモンイベント」を選択することで、表示されます。
step18-001.jpg
step18-002.jpg

 

「コモンイベントエディタ」を開くと、左に「コモンイベント」のリスト、右に「イベントコマンド入力エリア」などがあります。
step18-003.jpg

「全回復 コモンイベント」の作成

自作の「コモンイベント」は分かりやすいように今回は「100番」から作っていきますが、何番でも自分の好きなところで構いません。
上の名前「コモンイベント」の名称になります。
まずは名前を「全回復」とします。
step18-004.jpg

 

続けて、「画面フラッシュ→全回復→回復メッセージ表示」という処理を入れていきます。

 

「画面フラッシュ」「画面処理」タブを選択し、「真っ白に」ボタンを押して、フラッシュするにチェック、処理時間のフレーム数を設定して完了です。

[tip]ウディタ2では?
 イベントコマンド「エフェクト」

step18-005.jpg

 

「全回復」STEP14で作成した「ゲームオーバーイベント」でも使用しましたが、「コモンイベント4:回復・ダメージ処理」を呼び出して使用します。
「ゲームオーバーイベント」でもそうでしたが、「コモンイベント」内で「コモンイベント」を呼び出すことも問題なく出来ます。
イベントの挿入「コモンイベント4:回復・ダメージ処理」処理内容は「完全回復」、誰に?は「パーティー全員」とします。
step18-006.jpg

 

こちらが今回の「全回復イベント」の全処理です。
起動条件が「呼び出しのみ」になっているのを確認して、下の「OK」「更新」ボタンを押します。
これで、「画面フラッシュ→全回復→回復メッセージ表示」という処理を行う「コモンイベント」が完成しました。
step18-007.jpg

「自宅のベッドで回復する」イベント作成

今度は「自宅のベッドで回復する」イベントを作成し、上の「コモンイベント」を組み込んでいきます。

 

村マップに切り替えて、「自宅のベッド」にイベントを配置します。
「ベッド」にむかって「決定キー」が押されたら(話しかけたら)、イベントが実行され、「ベッドで休む」かどうするかの「選択肢」が出て、「休む」を選んだ場合に全回復する「コモンイベント」を呼び出します。
step18-008.jpg

 

「選択肢」「選択肢ウィンドウ」を表示する前に注意しなければいけないのは、STEP17のタイトル画面の「スタートメニュー」を作成した際に「選択肢ウィンドウ」の表示位置を変更していることです。この表示位置の設定は新たに変更されるまで変わらないため、このままですとタイトル画面の「スタートメニュー」の表示位置だった下の方に今回の「選択肢ウィンドウ」も表示されてしまいます。
「変数操作」タブにて真ん中より少し上ぐらいに変更してみましょう。
step18-009.jpg

 

「選択肢」タブを選択し、「休む」と「休まない」の2つの選択肢を入力します。「キャンセルボタン」の処理を「分岐2」の選択肢にするため、左側の「分岐2」ボタンを押します。
step18-010.jpg

 

「休む」を選んだ場合に全回復する「コモンイベント」を呼び出します。
「その他2」タブを選択し、イベントの挿入全回復する「コモンイベント」を設定します。

[tip]ウディタ2では?
 イベントコマンド「コモンイベント」

step18-011.jpg

 

こちらが、「自宅のベッドで回復する」イベントの全処理になります。
step18-012.jpg

「森にある泉で回復する」イベント作成

今度は「森にある泉で回復する」イベントを作成し、全回復する「コモンイベント」を組み込んでいきます。

 

森マップに切り替えて、「森にある泉っぽい場所に」にイベントを配置します。
ここは「選択肢」は出さずに、「泉」にむかって「決定キー」が押されたら(話しかけたら)、イベントが実行され、全回復する「コモンイベント」を呼び出します。
step18-013.jpg

 

こちらが、「森にある泉で回復する」イベントの全処理になります。
step18-014.jpg

 

「泉」に話しかけられる場所全てから、イベントが実行されるように、イベントの接触範囲拡張を使ったり、イベントの右クリックメニューにある「イベントコピー」「イベント貼り付け」でイベントを複製していきます。
ちなみに「イベントコピー」「イベント貼り付け」は、イベントを選択して「C」(コピー)、「V」(貼り付け)のキーボード入力でも可能です。
step18-016.jpg

 

いびつですが、このような形で「森にある泉で回復する」イベントが配置できました。
step18-015.jpg

 

 
 

これで簡単な「コモンイベント」の作り方と使い方が分かってきたと思いますので、次の段階では少し違った「コモンイベント」を作っていきます。

お宝イベントを作ろう

※本サイトの趣旨からすると、少し難易度が高めの内容になっております。多少熟練してきてからご覧になっていただくのが、良いかもしれません。あらかじめご了承ください。
あまり複雑にならない「アイテム入手イベント」の作成を用意させていただきました。

 

ツボを調べると・宝箱を開けると、アイテムを発見入手! これも色々なところでよく使うイベントになりますので、「コモンイベント」にするのに最適です。

 

「ツボを調べる」と「宝箱を開ける」でのアイテム入手イベントの進行としては、

  • 「ツボを調べる」
    所持アイテム数を確認→
     ・アイテムが持てる場合→アイテム入手メッセージ表示→アイテム入手→その場所でアイテム入手済みのフラグを立てる
     ・アイテムが持てない場合→アイテム入手不可メッセージ表示
  • 「宝箱を開ける」
    宝箱が開く動作→所持アイテム数を確認→
     アイテムが持てる場合→アイテム入手メッセージ表示→アイテム入手→その場所でアイテム入手済みのフラグを立てる
     アイテムが持てない場合→アイテム入手不可メッセージ表示→宝箱が閉じる動作

となり、若干違いがあります。宝箱が開閉する部分以外は同じになりますので、
「所持アイテム数を確認→
 ・アイテムが持てる場合
   →アイテム入手メッセージ表示→アイテム入手→その場所でアイテム入手済みのフラグを立てる
 ・アイテムが持てない場合
   →アイテム入手不可メッセージ表示」
「コモンイベント」として作成していきます。

 

※ツボや宝箱からはアイテムだけでなくお金を入手できることもあると思いますが、ボリュームが大きくなってしまいますので、今回は割愛させていただきます。いずれ、追記するかもしれません。

「お宝ゲット コモンイベント」の設計

今回の「コモンイベント」は割と複雑な処理が予想され、難易度が高くなりそうですので、あらかじめ処理の内容をきちんと考えてから、挑んでいきたいと思います。
「プログラマー」がプログラムを作成する前に「フローチャート」を作るように少し慎重に進めていきます。

 

まずは処理内容の確認をしていきます

 
「お宝ゲット コモンイベント」の流れ
所持アイテム数の確認
↓分岐
アイテムが持てる場合アイテムが持てない場合
アイテム入手メッセージ表示アイテム入手不可メッセージ表示
アイテム入手
フラグを立てる
 

▼「所持アイテム数の確認」
「入手させるアイテム」が、パーティーに所持させることができる所持数の上限になっているかいないか確認します。

 

ウディタの「基本システム」では、所持できる「アイテムの種類」の数に制限はないようです。
ただし、「アイテムの種類」ごとには「ユーザーデータベース ベースシステム設定」「アイテムの最大所持数」で設定された上限が適用されます。

 

具体的には、「下級キズ薬」「中級キズ薬」「上級キズ薬」・・・と「アイテムの種類」に関してはいくつでも所持することが出来ますが、その「アイテムの種類」一つ一つに関しては「下級キズ薬」99コまで、「中級キズ薬」99コまで・・・という制限があります。
「アイテムの種類」ごとに所持数の上限は設定できません。

 

デフォルトの「アイテムの最大所持数」は「20」と設定されていますので、今回はこのままで進めていきます。
step18-019.jpg

 

というわけで、「所持アイテム数の確認」の処理は「入手させるアイテム」の所持数が「20未満(0〜19)」かどうかチェックする内容にしていけばいいわけです。

 

「入手させるアイテム」の情報が必要になります。

 
 

次は「アイテムが持てる場合」「アイテムが持てない場合」で処理が分岐します。
「アイテムが持てる場合」の処理から見ていきます。

 

▼「アイテム入手メッセージ表示」→「アイテム入手」(「アイテムが持てる場合」)
「入手させるアイテム」をパーティーの所持品に加え、メッセージを表示します。
これは、「基本システム」で用意されている「コモンイベント0:アイテム増減」「コモンイベント1:武器増減」「コモンイベント2:防具増減」を使用して行ないます。
step18-029.jpg

 

「入手させるアイテム」の情報が必要になります。

 

▼「フラグを立てる」(「アイテムが持てる場合」)
ツボや宝箱からアイテムを何度も入手できないように、「そこからアイテムを入手済み」とわかるフラグを立てます。

 

「立てるフラグ」の情報が必要になります。

 

「アイテムが持てない場合」の処理を見ていきます。

 

▼「アイテム入手不可メッセージ表示」(「アイテムが持てない場合」)
単純に「文章表示」で「○○はこれ以上持てない」というかんじのメッセージを表示します。

 

「入手させるアイテム」の情報が必要になります。

 

 

これで大体処理の内容と流れがつかめました。
「お宝ゲット コモンイベント」に対して、「入手させるアイテム」「立てるフラグ」の情報を与えることで、各処理が実行されていきます。

「お宝ゲット済み」フラグの作成

ツボや宝箱からアイテムを何度も入手できないように、「そこからアイテムを入手済み」とわかるフラグを作っていきます。
STEP15で作ったストーリーイベント用のフラグ設定と同じように、「システムデータベースエディタ」「14:通常変数名」「お宝ゲット済み」フラグをいくつか作っていきます。
今回は5箇所にアイテムが入手できるツボや宝箱を設置していこうと思いますので、「お宝ゲット01」〜「お宝ゲット05」というフラグを作りました。
※入手させるイベントにある「セルフ変数」をフラグとすることも可能ですが、今回は分かりやすいように「通常変数」で一元管理しています。
step18-017.jpg

「お宝ゲット コモンイベント」の設定

「コモンイベントエディタ」を開き、「101番」に「お宝ゲット」という名前「コモンイベント」を作っていきます。
step18-018.jpg

 

今回のお宝ゲット「コモンイベント」は最初に作った全回復する「コモンイベント」のようにイベントの挿入で呼び出すだけの単純なものではありません。
step18-011.jpg

 

下の回復・ダメージ処理の「コモンイベント」や「戦闘発生」、「お店」、「仲間増減」の「コモンイベント」のように「コモンイベント」を呼び出してから、いくつか項目を設定する必要があるものになります。
下図でいうところの「処理内容」、「誰に?」、「何ポイント?」といった部分です。
step18-006.jpg

 

お宝ゲット「コモンイベント」で設定する必要がある項目は、「お宝ゲット コモンイベント」の設計 の最後に記載したとおり、「入手させるアイテム」「立てるフラグ」になります。

 

お宝ゲット「コモンイベント」に設定項目を追加していきます。
まずは「入手させるアイテム」の設定項目を追加し、うまく設定できるか様子を見て、最後に「立てるフラグ」の設定項目を追加します。

 

「コモンイベントエディタ」名前の下にある「入力の数」整数を「1」にして右の「▼特」ボタンを押します。
今回は「入手させるアイテム」、つまりはデータベースに登録されているアイテム番号を取り扱うため、整数としましたが、文章などを設定項目にしたい場合は整数の右にある文字列の値を増やして使います。
step18-020.jpg

 

「入力内容の設定」画面が表示されます。

  • 「入力する値の意味」数値1を「入手アイテム」、初期値を「0」にします。
    これは「コモンイベント」を呼び出した際に設定項目名として表示される文章と、設定項目のデフォルトの値になります。
  • 「特殊設定」データベース参照をチェックして、「ユーザーデータベース」「タイプ2番」(アイテム設定)とします。
    こうすることで、設定項目に値を入力する際に「ユーザーデータベース」にある「アイテム設定」の内容(アイテム名)をプルダウンメニューで参照しながら選択することができます。

設定ができたら、「OK」ボタンを押します。
step18-021.jpg

 

「コモンイベントエディタ」の右下の「OK」「更新」ボタンも忘れずに押しましょう。
step18-026.jpg

 

うまく設定できたからそうか、「コモンイベント」を呼び出してみましょう。

 

無事に「ユーザーデータベース」「アイテム設定」にあるアイテム名で値を入力できるようになっています。
ですが、問題が……武器や防具が設定できません。これは参照する「ユーザーデータベース」の場所が「アイテム」「武具」「防具」と分かれているからです。
step18-022.jpg

 

というわけで、「アイテム」「武具」「防具」の3つが設定できるように「コモンイベント」を修正していきます。
「入力の数」整数を「3」にして右の「▼特」ボタンを押します。
step18-023.jpg

 

「入力内容の設定」画面にて。

  • 「入力する値の意味」
    • 数値1を「入手アイテム」、初期値を「-1」にします。
      前回は「0」でした。「0」だと何かしらアイテム名が設定されている状態になりますので、「-1」にして何もアイテム名が設定されていないという状態にします。
      「アイテム」「武具」「防具」と項目を追加することになるため、デフォルトですべての項目が「0」になっていると、「武具」の項目だけ値を入力したい場合に、「アイテム」と「防具」の値を手動でアイテム名が設定されていない状態「-1」にする必要がありますので、利便性を考え、デフォルト値を「-1」としました。
    • 数値2を「入手武器」、初期値を「-1」にします。
    • 数値3を「入手防具」、初期値を「-1」にします。
  • 「特殊設定」
    「入力[数値1]」「入力[数値2]」「入力[数値3]」ボタンが並んでいます。
    それぞれ、「入力[数値1]」が「入手アイテム」、「入力[数値2]」が「入手武器」、「入力[数値3]」が「入手防具」と対応していますので、対応したボタンを押してから設定していきましょう。
    • 「入力[数値1]」データベース参照をチェックして、「ユーザーデータベース」「タイプ2番」(アイテム設定)とします。
      「-1」〜「-3」の項目を追加するをチェックして、-1''に「なし」と入力します。
    • 「入力[数値2]」データベース参照をチェックして、「ユーザーデータベース」「タイプ3番」(武具設定)とします。
      「-1」〜「-3」の項目を追加するをチェックして、-1''に「なし」と入力します。
    • 「入力[数値3]」データベース参照をチェックして、「ユーザーデータベース」「タイプ4番」(防具設定)とします。
      「-1」〜「-3」の項目を追加するをチェックして、-1''に「なし」と入力します。

設定ができたら、「OK」ボタンを押します。
step18-024.jpg

 

「コモンイベントエディタ」の右下の「OK」「更新」ボタンも忘れずに押しましょう。
step18-026.jpg

 

確認のため、「コモンイベント」を呼び出してみます。

 

問題なく「入手アイテム」では「アイテム名」、「入手武器」では「武器名」、「入手防具」では「防具名」が値として、参照できるようになりました。
step18-025.jpg

 

最後に、もう一つの設定項目だった「立てるフラグ」も設定していきましょう。
「入力の数」整数を「4」にして右の「▼特」ボタンを押します。
step18-027.jpg

 

「入力内容の設定」画面にて。

  • 「入力する値の意味」
    • 数値4を「フラグ」、初期値を「0」にします。
  • 「特殊設定」「入力[数値4]」データベース参照をチェックして、「システムデータベース」「タイプ14番」(通常変数)とします。

設定ができたら、「OK」ボタンを押します。
step18-028.jpg

 

「コモンイベントエディタ」の右下の「OK」「更新」ボタンも忘れずに押しましょう。

 

少し手間がかかってしまいましたが、お宝ゲット「コモンイベント」の初期設定が完了しました。

「お宝ゲット コモンイベント」の処理作成

まずは、「お宝ゲット コモンイベント」の設定で行った設定項目がこの「コモンイベント」内でのみ使用できる「コモンセルフ変数」に自動的に代入されていることを確認します。

  • 「コモンセルフ変数0」には「入手アイテム番号」
  • 「コモンセルフ変数1」には「入手武具番号」
  • 「コモンセルフ変数2」には「入手防具番号」
  • 「コモンセルフ変数3」には「フラグ:通常変数番号」

これらの「コモンセルフ変数」を使って、各処理を実行していきます。

 

 

「入手されるアイテム」が「アイテム」なのか「武器」なのか「防具」なのかを判断していきます。
この処理は「条件(変数)」コマンドを使います。
下記のような4つの条件に分岐していきます。

  • 「コモンセルフ変数0」に何かしら「入手アイテム番号」が代入されている場合。
    「-1」の場合は「なし」のためスルー。
  • 「コモンセルフ変数1」に何かしら「入手武具番号」が代入されている場合。
    「-1」の場合は「なし」のためスルー。
  • 「コモンセルフ変数2」に何かしら「防具番号」が代入されている場合。
    「-1」の場合は「なし」のためスルー。
  • 上記の条件に当てはまらなかった場合。
    何も「入手アイテム」が設定されていないということで、エラーメッセージを表示する処理を入れます。

「条件(変数)」タブを選択し、

  • 「3変数を連動」のチェックを外します。
  • 「コモンセルフ変数0」(入手アイテム番号)が「0 以上」の場合。
  • 「コモンセルフ変数1」(入手武具番号)が「0 以上」の場合。
  • 「コモンセルフ変数2」(入手防具番号)が「0 以上」の場合。
  • 「「上記以外の場合」を作成」をチェックします。

step18-030.jpg

 

続いて、分岐ごとに処理を見ていきます。
取り扱うデータが少し違うだけで、基本的な処理内容はすべて同じになっています。

 

 

「入手されるアイテム」が「アイテム」の場合。

 

「コモンセルフ変数0」(入手アイテム番号)のアイテムをパーティーがいくつ持っているか調べます。
「DB(データベース)操作」タブを選択し、「パーティーの所持アイテム」が格納されている「可変データベース 4:所持アイテムリスト」からアイテムの「所持個数」を呼び出して、「コモンセルフ変数4」に代入します。

  • 「可変DB」ボタンを押します。
    • DB番号は「名前」をチェックして、「所持アイテムリスト」を選択します。
    • データ番号は「変数」をチェックして、「コモンセルフ変数0」を選択します。
      「コモンセルフ変数0」には「入手させるアイテム番号」が入っており、「可変データベース 4:所持アイテムリスト」にある「データ(アイテム)番号」と対応しています。
    • 内容番号は「名前」をチェックして、「所持個数」を選択します。
  • 「変数に代入」ボタンを押します。
  • 「数値処理または代入先指定」をチェックして、「変数/文字列」ボタンを押し、「このコモンセルフ変数4」を選択します。
    「このコモンセルフ変数4」「アイテムの所持個数」取得用に新たに使用します。

「入力」ボタンを押します。
step18-031.jpg

 

今度は「アイテムの所持個数」を格納した「このコモンセルフ変数4」を使って、アイテムの「最大所持個数20」(今回の設定上の制限)よりも少ない「アイテムが持てる」か、それ以外「アイテムが持てない」かを調べ、分岐させます。

 

「条件(変数)」タブを選択し、

  • 「コモンセルフ変数4」(アイテムの所持個数)が「20 未満」の場合。「アイテムが持てる」場合。
  • 「「上記以外の場合」を作成」をチェックします。「アイテムが持てる」場合。

「入力」ボタンを押します。
これで「所持アイテム数の確認」ができました。
step18-034.jpg

 

「アイテムが持てる」場合と「アイテムが持てない」場合の処理に分岐しました。
まずは、「アイテムが持てる」場合の処理から見ていきます。

 

「アイテム入手メッセージ表示」「アイテム入手」の処理をします。
「その他2」タブを選択して、「コモンイベント0:アイテム増減」を呼び出します。

「入力」ボタンを押します。
step18-035.jpg

 

続いて、「フラグを立てる」処理になります。
この処理は少しややこしくなっておりますので、ご注意ください。
「コモンセルフ変数3」に格納されている「フラグ:通常変数番号」の変数に「1」を代入して、「フラグを立てる」処理としたいのですが、「コモンセルフ変数3」に格納されているのは「フラグ:通常変数番号「フラグ:通常変数」を直接表すものではありません。
そのため、「フラグ:通常変数」を呼び出せる値になるように計算を施す必要があります。

 

まずは、「コモンセルフ変数3」(フラグ:通常変数番号)から「フラグ:通常変数」を呼び出せるよう「通常変数の呼び出し値」に変換します。
「通常変数の呼び出し値」は「2000000+X」(通常変数X番)となり、ちょうどXの値は「コモンセルフ変数3」(フラグ:通常変数番号)の値なので、「コモンセルフ変数3」(フラグ:通常変数番号)に「2000000」を加算すれば「フラグ:通常変数」を呼び出せる値となるわけです。
詳しくは「変数呼び出し値 通常変数・文字列変数」を参照してください。

 

「変数操作」タブを選択します。

  • 代入先「コモンセルフ変数3」
  • 代入演算子を「+=」。
  • 「右辺」データを呼ばないにチェックして、「2000000」。
    データを呼ばないは「各種変数呼び出し値」と扱わず、そのままの数字の値とするということです。ここにチェックをいれないで、「2000000」のままだと「通常変数0番」に格納されている値が代入されることになります。

「入力」ボタンを押します。
これで「コモンセルフ変数3」「フラグ:通常変数」「通常変数の呼び出し値」が格納されました。
step18-039.jpg

 

引き続き、「変数操作」にて。

  • 代入先「コモンセルフ変数3」「X番の変数呼出」にチェック。
    「X番の変数呼出」にチェックを入れることによって、「コモンセルフ変数3」の値は「通常変数の呼び出し値」と解釈され、「フラグ:通常変数」代入先とすることが出来ます。
  • 代入演算子を「=」。
  • 「右辺」は「1」。

「入力」ボタンを押します。
これで「フラグを立てる」処理ができました。
「アイテムが持てる」場合の処理も終了です。
step18-038.jpg

 

「アイテムが持てない」場合の処理を見ていきます。

 

「アイテム入手不可メッセージ表示」をします。
文章の表示タブを選択し、「入力エリア」に「「\udb[2:\cself[0]:0]」はもう持てない。」と記述します。
「\udb[2:\cself[0]:0]」は「ユーザーデータベース タイプ2番:データ番号「コモンセルフ変数0」(入手アイテム番号):0」を参照した値を表示するという表記になります。参照した値は「アイテム名」です。
詳しくは「特殊文字 数値・文字列代入」を参照してください。
「入力」ボタンを押します。
step18-040.jpg

 

 

「入手されるアイテム」が「武器」の場合。

 

「コモンセルフ変数1」(入手武器番号)の武器をパーティーがいくつ持っているか調べます。
「DB(データベース)操作」タブを選択し、「パーティーの所持武器」が格納されている「可変データベース 5:所持武器リスト」から武器の「所持個数」を呼び出して、「コモンセルフ変数4」に代入します。

  • 「可変DB」ボタンを押します。
    • DB番号は「名前」をチェックして、「所持武器リスト」を選択します。
    • データ番号は「変数」をチェックして、「コモンセルフ変数1」を選択します。
    • 内容番号は「名前」をチェックして、「所持個数」を選択します。
  • 「変数に代入」ボタンを押します。
  • 「数値処理または代入先指定」をチェックして、「変数/文字列」ボタンを押し、「このコモンセルフ変数4」を選択します。

「入力」ボタンを押します。
step18-032.jpg

 

今度は「武器の所持個数」を格納した「このコモンセルフ変数4」を使って、「アイテムが持てる」か、「アイテムが持てない」かを調べ、分岐させます。

 

「条件(変数)」タブを選択し、

  • 「コモンセルフ変数4」(武器の所持個数)が「20 未満」の場合。「アイテムが持てる」場合。
  • 「「上記以外の場合」を作成」をチェックします。「アイテムが持てる」場合。

「入力」ボタンを押します。
これで「所持アイテム数の確認」ができました。
step18-034.jpg

 

「アイテムが持てる」場合と「アイテムが持てない」場合の処理に分岐しました。
まずは、「アイテムが持てる」場合の処理から見ていきます。

 

「アイテム入手メッセージ表示」「アイテム入手」の処理をします。
「その他2」タブを選択して、「コモンイベント1:武器増減」を呼び出します。

  • 武器番号は右のボックスをチェックして「1600001」。
    「1600001」、これは「コモンセルフ変数1」(入手武器番号)と同じになります。
  • 増減数は「1」。
  • 入手メッセージは「あり「個数無し」」。

「入力」ボタンを押します。
step18-036.jpg

 

続いて、「フラグを立てる」処理になります。
「変数操作」タブを選択します。

  • 代入先「コモンセルフ変数3」
  • 代入演算子を「+=」。
  • 「右辺」データを呼ばないにチェックして、「2000000」。

「入力」ボタンを押します。
これで「コモンセルフ変数3」「フラグ:通常変数」「通常変数の呼び出し値」が格納されました。
step18-039.jpg

 

引き続き、「変数操作」にて。

  • 代入先「コモンセルフ変数3」「X番の変数呼出」にチェック。
  • 代入演算子を「=」。
  • 「右辺」は「1」。

「入力」ボタンを押します。
これで「フラグを立てる」処理ができました。
「アイテムが持てる」場合の処理も終了です。
step18-038.jpg

 

「アイテムが持てない」場合の処理を見ていきます。

 

「アイテム入手不可メッセージ表示」をします。
文章の表示タブを選択し、「入力エリア」に「「\udb[3:\cself[1]:0]」はもう持てない。」と記述します。
「\udb[3:\cself[1]:0]」は「武器名」になります。
「入力」ボタンを押します。
step18-041.jpg

 

 

「入手されるアイテム」が「防具」の場合。

 

「コモンセルフ変数2」(入手防具番号)の防具をパーティーがいくつ持っているか調べます。
「DB(データベース)操作」タブを選択し、「パーティーの所持防具」が格納されている「可変データベース 6:所持防具リスト」から防具の「所持個数」を呼び出して、「コモンセルフ変数4」に代入します。

  • 「可変DB」ボタンを押します。
    • DB番号は「名前」をチェックして、「所持防具リスト」を選択します。
    • データ番号は「変数」をチェックして、「コモンセルフ変数2」を選択します。
    • 内容番号は「名前」をチェックして、「所持個数」を選択します。
  • 「変数に代入」ボタンを押します。
  • 「数値処理または代入先指定」をチェックして、「変数/文字列」ボタンを押し、「このコモンセルフ変数4」を選択します。

「入力」ボタンを押します。
step18-033.jpg

 

今度は「防具の所持個数」を格納した「このコモンセルフ変数4」を使って、「アイテムが持てる」か、「アイテムが持てない」かを調べ、分岐させます。

 

「条件(変数)」タブを選択し、

  • 「コモンセルフ変数4」(防具の所持個数)が「20 未満」の場合。「アイテムが持てる」場合。
  • 「「上記以外の場合」を作成」をチェックします。「アイテムが持てる」場合。

「入力」ボタンを押します。
これで「所持アイテム数の確認」ができました。
step18-034.jpg

 

「アイテムが持てる」場合と「アイテムが持てない」場合の処理に分岐しました。
まずは、「アイテムが持てる」場合の処理から見ていきます。

 

「アイテム入手メッセージ表示」「アイテム入手」の処理をします。
「その他2」タブを選択して、「コモンイベント2:防具増減」を呼び出します。

  • 防具番号は右のボックスをチェックして「1600002」。
    「1600002」、これは「コモンセルフ変数2」(入手防具番号)と同じになります。
  • 増減数は「1」。
  • 入手メッセージは「あり「個数無し」」。

「入力」ボタンを押します。
step18-037.jpg

 

続いて、「フラグを立てる」処理になります。
「変数操作」タブを選択します。

  • 代入先「コモンセルフ変数3」
  • 代入演算子を「+=」。
  • 「右辺」データを呼ばないにチェックして、「2000000」。

「入力」ボタンを押します。
これで「コモンセルフ変数3」「フラグ:通常変数」「通常変数の呼び出し値」が格納されました。
step18-039.jpg

 

引き続き、「変数操作」にて。

  • 代入先「コモンセルフ変数3」「X番の変数呼出」にチェック。
  • 代入演算子を「=」。
  • 「右辺」は「1」。

「入力」ボタンを押します。
これで「フラグを立てる」処理ができました。
「アイテムが持てる」場合の処理も終了です。
step18-038.jpg

 

「アイテムが持てない」場合の処理を見ていきます。

 

「アイテム入手不可メッセージ表示」をします。
文章の表示タブを選択し、「入力エリア」に「「\udb[4:\cself[2]:0]」はもう持てない。」と記述します。
「\udb[4:\cself[2]:0]」は「防具名」になります。
「入力」ボタンを押します。
step18-042.jpg

 

 

こちらがお宝ゲット「コモンイベント」の全処理になります。
※アイテム・武器・防具の入手時の分岐の中で行うフラグを立てる処理の「コモンセルフ変数3」に「通常変数の呼び出し値」を格納する部分は、準備処理として実際にフラグを立てる前ならどこに記述しても問題のない共通の部分なりますので、イベント処理の記述を簡略化するため、5行目に「■変数操作:このコモンEvセルフ3 += 2000000 + 0」として記述してあります。記事の内容と若干変化しておりますので、ご注意ください。
step18-043.jpg

 

多少複雑な内容になってしまいましたが、なんとか今回の「コモンイベント」が完成しました。
なかなか理解しにくいかもしれませんが、部分部分で見ていくと何かに役立つ内容があると思いますので、だんだん把握できるよう、少しずつ馴れていきましょう。

「宝箱でお宝ゲット」イベント作成

上の「コモンイベント」を組み込んで「宝箱でお宝をゲットする」イベントを作成していきます。

 

「宝箱」は森に何個か配置する予定です。
ここでは、説明用に1箇所だけ作っていきます。

 

森マップに切り替えて、適当な場所にイベントを配置します。

 

名前を「宝箱1」にして、「宝箱」の画像を設定します。

  • オプション
    • 待機時アニメのチェックを外し。
    • 方向固定のチェックを入れます。
      「宝箱」のキャラチップ画像の作り方にもよるのですが、「宝箱」に話しかけたときに画像がおかしくないためにチェックを入れました。
  • 影グラフィック番号は「装飾・影なし」
  • 起動条件は「フラグ:お宝ゲット01 が 0 と同じ」。
    この場所の宝入手フラグが立っていない時。

step18-044.jpg

 

続けて、アイテム入手済みの時の開けられた「宝箱」の設定もしておきます。
右上の「コピー」・「ペースト」ボタンで「ページ1」を複製した「ページ2」を作ります。
「ページ2」に切り替えて、開いた「宝箱」の画像を設定します。

  • 起動条件は「フラグ:お宝ゲット01 が 1 と同じ」。
    この場所の宝入手フラグが立ってる時。

step18-045.jpg

 

「ページ1」に切り替えて、「イベントコマンド」を追加していきます。
まずは「宝箱」が開く「キャラクター動作指定」を設定していきます。

 

「宝箱」のキャラチップ画像は下図のようになっています。
イベントの向きを変更していくことで、「宝箱」が開いていく動きを表現します。
「宝箱」なのでわかりにくいですが、上から「↓」「←」「→」「↑」という配置です。
step18-046.jpg

 

それでは、「キャラクター動作指定」画面を開いて、設定していきましょう。
まずは、イベントの設定で「向き固定」にしてあり、このままですと向きを変えても画像が変化しません。
この動作を行っている間は「向き固定」を解除するため「向き固定OFF」ボタンを押します。
あとは「方向転換コマンド」や「ウェイト」を使って動かしていきます。
「向き固定」は解除したままにします。
step18-047.jpg

 

作成したお宝入手の「コモンイベント」を呼び出して、「入手するアイテム」と「フラグ」を設定していきます。
「その他2」タブを選択して、「コモンイベント101:お宝ゲット」を呼び出します。

[tip]ウディタ2では?
 イベントコマンド「コモンイベント」
  • 入手武器を「硬い木の棒」。
  • フラグを「フラグ:お宝ゲット01」。

step18-048.jpg

 

無事にお宝を入手できた場合はフラグが立ち、「ページ1」の処理は中断して開いた「宝箱」状態の「ページ2」の表示に切り替わるのですが、もし同じアイテムの所持数がいっぱいでお宝を入手することが出来なかった場合はフラグは立っていませんので、「宝箱」を閉じる「キャラクター動作指定」をして、イベントを終了するようにします。

 

「キャラクター動作指定」画面を開いて、設定していきましょう。
「方向転換コマンド」や「ウェイト」を使って動かしていきます。
最後に解除していた「向き固定」を元に戻すため、「向き固定ON」ボタンを押します。
step18-049.jpg

 

こちらが「宝箱でお宝ゲット」イベントの全処理になります。
step18-050.jpg

 

「テストプレイ」で動作を確認します。
step18-051.jpg

 

「宝箱でお宝ゲット」イベントは無事完成しました。

「ツボでお宝ゲット」イベント作成

今度は「ツボでお宝をゲットする」イベントを作成していきます。

 

お宝入りの「ツボ」は村に何個か配置する予定です。「ツボ」だけじゃないかもしれません。
ここでは、説明用に1箇所だけ作っていきます。

 

村マップに切り替えて、「ツボ」がある場所にイベントを配置します。

 

名前を「ツボ1」にします。

  • 起動条件は「フラグ:お宝ゲット03 が 0 と同じ」。
    この場所の宝入手フラグが立っていない時。

step18-052.jpg

 

作成したお宝入手の「コモンイベント」を呼び出して、「入手するアイテム」と「フラグ」を設定していきます。
「その他2」タブを選択して、「コモンイベント101:お宝ゲット」を呼び出します。

  • 入手武器を「下級キズ薬」。
  • フラグを「フラグ:お宝ゲット03」。

step18-053.jpg

 

こちらが「ツボでお宝ゲット」イベントの全処理になります。
step18-054.jpg

 

テストプレイ」で動作を確認します。
step18-055.jpg

 

「ツボでお宝ゲット」イベントは無事完成しました。

 

 
 

このサイトでの「コモンイベント」の説明はこのくらいになります。
より高度な「コモンイベント」の作成については他のサイトや、ウディタの公式HPにある「WOLF RPGエディター コモンイベント集」に登録されているものや、よく使われる簡単なコモンイベントの作成方法が記載されている「WOLF RPGエディターWiki サンプル用コモンイベント」などを参考に学習してみましょう。

 

icon02.gif 続いて、「STEP19 デバッグ&調整」に進みましょう。



※TOPページでの説明どおり、コメント受付を停止させていただきました。


  • 初心者なので指摘が間違っているかもしれませんが気になった点です。お宝イベントのコモンイベントの処理作成で、フラグをたてる作業(変数操作コモンセルフ変数2000000)が武具、防具、アイテムでそれぞれ入力するよう説明されてますが、このままでは宝箱イベントをテストした時エラーがでました。絵を参考にフラグをたてるのを最初にもってくればエラーはでませんでしたが。 -- 2011-03-08 (火) 17:53:58
  • ↑ご指摘ありがとうございます。
    少し誤解を与える内容になっており、失礼しました。
    「変数操作コモンセルフ変数2000000」の処理自体は、フラグを立てる前の準備処理として、アイテム・武器・防具で共通となる部分でしたので、各分岐の前で最初に設定するようにしています。「お宝ゲット「コモンイベント」の全処理」の画像では多少簡略化した処理を読み取ってもらえればと、あえてこういった記述にしてあります。こちらは説明を追記させていただきます。
    ただ、記事文章のとおりにアイテム・武器・防具の各入手時の分岐の中で「変数操作コモンセルフ変数2000000」の処理を行っても同じことになりますので、どういったエラーとなるのかお教えいただけると助かります。
    一応、文章の説明どおりにイベント処理を記述した場合にはこちらの画像■のようになります。この内容でこちらの環境で動作を確認しましたが、特に問題は発生しませんでした。 -- 管理人 2011-03-10 (木) 05:47:59
  • すみません。どうやらこちらのミスで変数操作の順番がおかしかったようです。もういちど文章どおりに再設定すると問題なく動作しました。わざわざありがとうございました。 -- 2011-03-10 (木) 17:28:02
  • ↑ こちら承知しました。ご報告いただきありがとうございます。 -- 管理人 2011-03-10 (木) 18:53:34
  • 「その他1」タブを選択して、「コモンイベント0:アイテム増減」を呼び出します。 という説明文がありますが、下の画像で選択しているタブは「その他2」でした。 -- 2011-03-28 (月) 03:14:10
  • ↑こちらご指摘ありがとうございます。修正させていただきます。 -- 管理人 2011-03-31 (木) 14:41:06
  • すいません -- 2011-05-13 (金) 19:12:13
  • ↑途中送信です間違えました あのアイテム入手のコモンイベントをセルフ関数でやりたいんですけど・・・ -- 2011-05-13 (金) 19:13:44
  • ぴぽさんに代わって、説明いたします
    途中で200000とありますがそこを1100000に変えればできるかと・・・。 -- のと? 2011-05-14 (土) 08:55:23
  • それと、セルフ3+=のところを=にします。 -- のと? 2011-05-14 (土) 17:42:46
  • ありがとうございます できました -- 2011-05-15 (日) 10:47:47
  • のとさん 代わりに回答していただきありがとうございます! -- 管理人 2011-05-16 (月) 10:05:57
  • 質問です。セルフ関数でやる場合、記事文章に書いてあることと違う設定をしなければできませんか?だとしたら、どういう設定をしたらいいですか? -- 紅蓮? 2011-06-04 (土) 17:13:47
  • 紅蓮さん セルフ関数?セルフ変数のことでよろしいでしょうか?
    アイテム入手の際の利用を検討されているなら、コメント頂いてる前の質問で回答されているものをご覧になっていると思いますが、最初に「少し難易度が高めの内容」と説明しているものですので、ここはご自分で色々試しながらやるのがご自身の成長のためにもなります。まずは試してみるのが一番です。 -- 管理人 2011-06-04 (土) 18:37:55