Events概要

Eventsに分類される要素は、特殊イベントを表す要素です。

walk要素による文脈制御はシナリオを含むキャラクタを何らかのユーザ入力手段で選択可能にします。RPGにおいては、プレイヤーが移動可能になり、キャラクタに対して接触することでキャラクタに関連付けられたシナリオが再生されます。

select要素はシナリオ分岐を発生させる選択肢を表示します。またこの要素から、戦闘シーンを表すbattle要素と、アイテム売買などの「サービス」を表すservice要素が派生します。

イベントキャラクタの上書き

マップ上のキャラクタは、シナリオ進行の前後で同じキャラクタであっても違うメッセージを発します。これはシナリオ進行の結果、あるキャラクタのもつシナリオへの参照先が変更された、とみなすことができます。

本仕様ではこの挙動をイベントキャラクタの上書きという方法で表現します。シナリオ共通部分の前後で同じキャラクタが保有するシナリオが別々に記述されていた場合、シナリオ進行が共通部分を過ぎると、キャラクタによって再生されるシナリオは後者の位置で記述されている方です。


シナリオ再生位置がw1であるときは、イベントAによってシナリオs1が再生される。 しかし、シナリオ再生位置がw2に進行すると、イベントAはシナリオs2を再生する。 (シナリオの関連付けがs1からs2へ変更される。)

参考:Core階層との比較

CoreContext ControlEvents
scene walk, battle
cutchoose ifevent, service, select
linea, variable, value-of

event要素, final要素

属性役割
targetatlasオブジェクトへの関連
trigger内容が再生される条件(発動条件)

triggerとしては、onContact(接触時), onFocusAtOnce(フォーカス取得時に一度だけ、RPGツクールの「自動的に始まる」), onAction(Action実行時)およびXML Eventsで定義されたイベントをとる。

final要素はeventと同じ子要素を持てるが、共通シナリオとの区別をするならば子をもたないほうが良い。

*final要素にあたるキャラクタに複数回接触しなければならない場合は、eventからa要素で共通シナリオに飛んだほうが書きやすい?

battle要素

戦闘シーンを表します。条件によって戦闘途中にシナリオを再生させることも可能です。

declare要素, player要素, enemy要素

戦闘キャラクタとその状態を指定します。player要素下に置くことでプレイヤー、enemy要素下で敵キャラクタとして指定します。

指定はcharacter要素によって行います。各パラメータを明示することでキャラクタのパラメータを上書きできます。

player要素の子要素のデフォルト値は現在のプレイヤーパーティ、enemy要素の子要素のデフォルト値は空要素です。子要素を明示するとデフォルト値は初期化された上で明示された要素が設定されます。(特にplayer要素の場合。デフォルト値に追加はされず、指定したキャラクタだけがプレイヤーとして設定されます。) →追加用に<currentParty/>みたいな要素が必要?

例:ゴードンが毒に犯された状態でゲルと戦う。

<battle>
	<declare>
		<player>
			<character name="ゴードン">
				<status>
					<state name="毒">
				</status>
			</character>
		</player>
		<enemy>
			<character name="ゲル"/>
		</enemy>
	</declare>
</battle>

*name属性でなくref属性で指定するべき?

event要素, final要素

属性役割
test条件式
timing発動タイミング

walk要素下のものと同名ですが、battle要素下にあるときは、戦闘中に再生されるシナリオ(戦闘中イベント)を表します。条件が成立した時に、指定したタイミングでイベントの子要素が再生されます。

*発動タイミングはラウンド冒頭、各フェイズ前後、各自の行動前後、ラウンド終わり。 final要素が実行されると、それ以降は同一戦闘シーン内でevent要素の条件が成立しても無視されます。

select要素, caption要素, item要素

ユーザによる選択を表します。子要素の内容が選択肢として表示されます。表示された選択肢はユーザーによって選択可能で、選ばれた選択肢によって文脈を分岐します。

caption要素

属性役割
なし

選択肢の表題を表します。テキストを内容とします。

item要素

属性役割
hrefハイパーリンクの参照先(URI)

選択肢の項目を表します。選択時にはa要素と同様の挙動で参照先のシナリオに移動します。

service要素, item要素

属性役割
typeservice区分
item要素に付加する属性
属性役割
costパラメータの消費量(金額)

ユーザ選択によるプレイヤーキャラクタのパラメータ変化、狭義には金銭を伴うパラメータ変化を表します。 type属性値はinn, church, shopから選択します。(拡張する予定)

serviceの子要素には変化するパラメータや販売するアイテムを記述します。 *現在のところは金銭の変動だけだが、将来は任意のパラメータを変動できるようにする。

例:

 <service type="shop">
 	<action name="銀のタロット" cost="2300"/>
 	<action name="ローズサークレット" cost="1400"/>
 </service>

そもそもinn, church, shopはそれぞれ挙動が違うので、service要素でまとめておきながらtypeで分けるのは二度手間。しかし内部の動作はかなり似通っているため、一つにまとめている次第。(単純サービス:inn、複合サービス:church, shop)

generated on Thu Jun 17 15:43:35 JST 2004
Copyright ? 2004 Static All rights reserved.
制作 せはやみ