#author("2022-10-01T11:30:40+09:00","","")
*概要 [#m3a2133d]
イベントスクリプトはXML形式で記述します。~
ルートノード名は<event>を指定してください。~
イベント名は大文字小文字を区別しませんが、パラメータは大文字小文字を区別します。
#author("2023-02-10T23:50:43+09:00","","")

*目次 [#fe86f8cc]
#contents

*メッセージ表示系 [#hc449f5d]
**Message [#t79fdb81]
:概要|
~メッセージを表示します。~
このイベントは必ず同期実行されます。
:パラメータ|
--name - 名前(省略可)
--タグ内文章 - 表示するテキスト
:補足|
リッチテキストタグと独自タグに対応しています。
-- ''[color=#xxxxxxxx]~[/color]'' 
>タグで囲った文章の色を変更します。~
xxxxxxxxはRRGGBBAA形式。color=redのような予約語にも対応しています。
<
-- ''[b]~[/b]''
>タグで囲った文章を太字にします。
<
-- ''[i]~[/i]''
>タグで囲った文章を斜体にします。
<
-- ''[size=xx]~[/size]''
>テキストサイズを変更します。~
1行/1画面に表示される文字数が変わる恐れがあるので推奨しません。
<
-- ''[delay=xx]~[/delay]''
>テキストの表示速度を変更します。xxxxは表示間隔(秒単位)~
数値による指定のほか、下記の予約語にも対応しています。
---delay=default - 通常の速度(0.02s)
---delay=slow - 文字を遅く表示(0.08s)
---delay=none - 一気に表示(0s)
<
-- ''[wait=xx]~[/wait]''
>指定した秒数、メッセージを止めます。xxは止める時間(秒単位)
<
-- ''[stop]''
>このタグ以降の表示をクリック待ちします。
<
-- ''[page]''
>このタグ以降の表示を次ページ表示します。
(内部的には、既に表示されたテキストをクリアしています)
<
-- ''[pause]''
>メッセージウインドウを開いたまま、次のイベント処理を行います。~
次にMessage命令を実行した場合、このタグ以前の既に表示された文字に続いて表示されます。
<
-- ''[allowskip] [denyskip]''
>メッセージ表示中のクリックによるスキップを許可/禁止します。
<

***テクニック [#jf86a461]
:自動でメッセージを閉じる|
 [denyskip]この文章はスキップされません。また、自動で閉じられます。[wait=2]
メッセージは終了後、即時閉じられるので、表示後にクリック待ちを入れたい場合は文末に[stop]を付加してください。

:メッセージを出したまま他のイベントを実行|
>http://itadakicat.kemono.cc/wordpress/wp-content/uploads/2018/06/anim.gif
<
 <walk name='Kiruru' x='-2' y='3' z='0' speed='5' sync='false' />
 <walk name='Norapan' x='-2' y='3' z='0' speed='5' sync='false' />
 <message name='テスト'>このメッセージを表示したまま完了待ち合わせ[pause]</message>
 <waitforaction>
 <message name='テスト'>\nこのテキストは、上のアクションが全部完了してから表示される。[stop]</message>
この例では、キルルとノラパンの移動完了を待ち合わせた後、続きのテキストを表示しています。~
改行する場合は、続きのテキストの文頭に改行文字を入れてください。

**ShowTelop [#gaf2bbb7]
:概要|
画面中央にメッセージを表示します。
:パラメータ|
--text - 表示するテキスト
--time - 表示時間
:補足|
パラメータtimeに0を指定すると、メッセージ送りをクリック待ちします。~

テキスト装飾(色/スタイルなど)は、[[Message>#t79fdb81]]と同じフォーマットで変更できます。
*イベント進行管理系 [#cb32e888]
**Exit [#b736bc5e]
:概要|
すべての命令を破棄して、イベントを終了します。[[Call>#c4ce8552]]での呼び出し元の命令も破棄されます。
**Return [#fee0f99a]
:概要|
コールスタックを破棄して、呼び出し元に戻ります。
**Wait [#m05cb361]
:概要|
指定時間、次のイベントの実行を待機します。~
このイベントは必ず同期実行されます。
:パラメータ|
--time - 待機時間(秒単位)

**WaitForAction [#s6e21af2]
:概要|
現在アクション中のキャラクター等のアクション終了を待ち合わせます。~
このイベントは必ず同期実行されます。
:パラメータ|
なし
:補足|
非同期実行されたイベントも、このタグにより待機の対象となります。
*他イベント参照系 [#wfdc412f]
**Jump [#x40aad7a]
:概要|
他のイベントIDの中身に移動します。~
移動先の処理終了後、呼び出し元には戻りません。
:パラメータ|
--eventid - 移動先のイベントID
--label - 移動先のラベル(省略可)
**Call [#c4ce8552]
:概要|
他のイベントIDの中身に移動します。~
移動先の処理終了後、呼び出し元に戻ります。
:パラメータ|
--eventid - 移動先のイベントID
--label - 移動先のラベル(省略可)
**MoveMap [#x40aad7a]
:概要|
マップを切り替えます。
:パラメータ|
--mapid - 移動先のマップID
*キャラクター操作系 [#r8e55f55]
**AddCharacter [#p508cbc6]
:概要|
キャラクターをマップ上に追加します。~
このイベントは必ず同期実行されます。
:パラメータ|
--name - 追加するキャラクター名
--x - 追加するキャラクターのX座標
--y - 追加するキャラクターのY座標
--z - 追加するキャラクターのZ座標
--target - 追加時の向き(キャラクター名指定)
--alias - 追加する際の別名
:補足|
パラメータaliasを使用すると、同キャラクターを複数個配置できます。
**RemoveCharacter [#e8579c9c]
:概要|
マップ上のキャラクターを削除します。~
このイベントは必ず同期実行されます。
:パラメータ|
--name - 削除するキャラクター名
**LockPlayer /LockCharacter [#rd21b5c9]
:概要|
プレイヤーおよび指定キャラクターの操作、動作を禁止します。~
イベント実行時にプレイヤー操作を行えなくすることを想定しているので、通常、イベントの最初に実行します。
:パラメータ|
-- name - 対象キャラクター(省略時はプレイヤー)
-- type - 操作を禁止するタイプ(省略可)
---type=all - すべての行動(パラメータを省略した場合はこのタイプが適用されます)
---type=move - 移動
---type=element - 精霊アクション
---type=menu - メニュー
:補足|
プレイヤーが実体化されていない場合、命令は無視されます。
**UnlockPlayer / UnlockCharacter [#e1ac48a0]
:概要|
プレイヤーおよび指定キャラクターの操作、動作の禁止を解除します。~
通常、イベントの最後に実行します。
:パラメータ|
-- name - 対象キャラクター(省略時はプレイヤー)
-- type - 操作の禁止を解除するタイプ(省略可)
---type=all - すべての行動(パラメータを省略した場合はこのタイプが適用されます)
---type=move - 移動
---type=element - 精霊アクション
---type=menu - メニュー
:補足|
プレイヤーが実体化されていない場合、命令は無視されます。
**Walk [#m7470030]
:概要|
キャラクターを歩きアニメーションで移動させます。
:パラメータ|
--name - 対象のキャラクター名
--x - 移動先のX座標
--y - 移動先のY座標
--z - 移動先のZ座標
--speed - 移動スピード
--sync - 同期/非同期(true, false)
:補足|
指定キャラクターが移動できない座標を指定した場合、命令は無視されます。~
[[WaitForAction>#s6e21af2]]命令で待ち合わせた場合、syncの状態に関わらず待ち合わせ対象に入ります。
**Warp [#x56da79c]
:概要|
キャラクターを指定座標に瞬間移動させます。
:パラメータ|
--name - 対象のキャラクター名
--x - 移動先のX座標
--y - 移動先のY座標
--z - 移動先のZ座標
:補足|
指定キャラクターが移動できない座標を指定した場合、最も近い移動可能な座標に移動します。~
**SetDirection [#t261a8fa]
:概要|
キャラクターの向きを変更します。
:パラメータ|
--name - 対象のキャラクター名
--direction - 向き
~向きは下記の通り指定してください。下向きを0として、時計回りに8方向を指定できます。~
---0 - 下
---1 - 右下
---2 - 右
---3 - 右上
---4 - 上
---5 - 左上
---6 - 左
---7 - 左下
--target - 対象キャラクター名
--turn - 向き方
~下記から指定してください。省略時はstraightが適用されます。~
---straight - 回転せずにそのまま向く
---right - 右回転で向く
---left - 左回転で向く
:補足|
パラメータdirectionとtargetは、片方のみ指定して省略することができます。~
targetを指定した場合、対象キャラクターの方を向きます。
**PlaySpriteAnimation [#u636085b]
:概要|
キャラクターのアニメーション(スプライトアニメーション)を再生します。
:パラメータ|
--name - 対象のキャラクター名
--animation - アニメーション名
--sync - 同期/非同期(true, false)
:補足|
[[WaitForAction>#s6e21af2]]命令で待ち合わせた場合、syncの状態に関わらず待ち合わせ対象に入ります。~
また、ループ再生のアニメーションを待ち合わせた場合、~
最初にアニメーションの終端に到達した時点で終了と見なされます。
**SetCharacterColor [#ac2f46ee]
:概要|
キャラクターの表示色/透明度を変更します。
:パラメータ|
--name - 対象のキャラクター名
--color - 変更する色 #RRGGBBAA形式。
--speed - 色変更スピード
--noise - ノイズのオーバーレイ(true, false)
--sync - 同期/非同期(true, false)
**ResetCharacterColor [#edb98d77]
キャラクターの表示色/透明度を変更します。
[[SetCharacterColor>#ac2f46ee]]で変更した表示色/透明度を元に戻します。
:パラメータ|
--name - 対象のキャラクター名
--speed - 色変更スピード
--sync - 同期/非同期(true, false)
:補足|
内部的には、SetScreenColorに色#FFFFFFFFを指定しています。
**ShowEmotion [#r55f5bac]
:概要|
キャラクターにフキダシを表示します。
:パラメータ|
--name - 対象のキャラクター名
--emotion - フキダシの名前
~フキダシの名前は下記のとおりです。~
---ase1 - 汗1(しずく)
---ase2 - 汗2(3連)
---heart - ハートマーク
---leader - 「…」三点リーダー
---none - なし
---notice - 「ミ」気づきマーク
---question - 「?」ハテナマーク
---sleep - 「Zzz」眠りマーク
---surprise - 「!」びっくりマーク
---talk - 会話マーク
---keylv1 - カギレベル1
---keylv3 - カギレベル3
---keylv5 - カギレベル5
---keylv7 - カギレベル7
---keylv12 - カギレベル12
---keylv13 - カギレベル13(歯車)
---elem002 - サラマンダー使用
---elem002_disabled - サラマンダー使用(不在…グレーアウト)
---elem003 - コダマ使用
---elem003_disabled - コダマ使用(不在)
---elem004 - カワズ使用
---elem004_disabled - カワズ使用(不在)
---elem005 - ジン使用
---elem005_disabled - ジン使用(不在)
---elem006 - ナイトメア使用
---elem006_disabled - ナイトメア使用(不在)
---elem007 - スノウ使用
---elem007_disabled - スノウ使用(不在)
---elem008 - レオン使用
---elem008_disabled - レオン使用(不在)
---elem009 - レム使用
---elem009_disabled - レム使用(不在)
---elem010 - ノーム使用
---elem010_disabled - ノーム使用(不在)
---no_elem - 必要な精霊を手に入れていない
---onland - カワズ使用時上陸
--time - 表示時間(秒単位)
--sync - 同期/非同期(true, false)
:補足|
パラメータtimeに0を指定した場合、[[HideEmotion>#ufe8245a]]命令を実行するまで表示が続きます。~
フキダシが既に表示されている状態で当命令を実行した場合は、最後に実行されたフキダシで上書きされます。
**HideEmotion [#ufe8245a]
:概要|
キャラクターのフキダシを削除します。
:パラメータ|
--name - 対象のキャラクター名
**AddCharacterTrail/ RemoveCharacterTrail [#v4298b3e]
:概要|
キャラクターに残像を追加します。
:パラメータ|
--name - 対象のキャラクター名
**SetBehaviour [#k44faac0]
:概要|
キャラクターの振る舞いを変更します。
:パラメータ|
--name - 対象のキャラクター名
--type - 振る舞いのタイプ
~タイプは下記のとおりです。~
---Player - プレイヤーとして振る舞います。マウス操作による移動、精霊アクションが行えます。
---RandomMoveNPC - ランダムに移動するNPCとして振る舞います。
---NonMoveNPC - 移動を行わないNPCとして振る舞います。
---Stalker - プレイヤー(の振る舞いをするオブジェクト)に追従するキャラクターとして振る舞います。通常、選んだ精霊に対して適用します。
---Object - 特に固有のアクションをせず、マップの当たり判定に影響しないものとして振る舞います。
**AddCharacterTag [#kf056d4d]
:概要|
キャラクターにタグを追加します。
:パラメータ|
--name - 対象のキャラクター名
--tag - 追加するタグ名
~対応しているタグは下記のとおりです。~
---None - タグを所持していない状態
---Player - プレイヤー
---NPC - NPC
---Enemy - 敵
---Target - エフェクト等の対象
:補足|
タグによって振る舞いの変更はされません。振る舞いを変更する場合は、[[SetBehaviour>#k44faac0]]を使用してください。
**RemoveCharacterTag [#y9b317de]
:概要|
キャラクターのタグを削除します。
:パラメータ|
--name - 対象のキャラクター名
--tag - 削除するタグ名
**CharacterJump [#d7f1045a]
:概要|
キャラクターをジャンプさせます。
:パラメータ|
--name - 対象のキャラクター名
--x - 移動先のX座標
--y - 移動先のY座標
--z - 移動先のZ座標
--height - ジャンプの高さ
--speed - ジャンプの速度
--freezedirection - 向き固定(true, false)
--sync - 同期/非同期(true, false)
:補足|
freezeDirectionがfalseの場合は、ジャンプ移動先の座標の方向を向いてジャンプします。~
heightが2以上の場合、踏み込みと着地のアニメーションが前後に挿入されます
**SetAreaMask [#mb890963]
:概要|
キャラクターの通行可能領域を設定します。
:パラメータ|
--name - 対象のキャラクター名
--type - 領域タイプ
~対応しているタイプは下記のとおりです。~
---all - すべて通行可
---default - 地上
---water - 水上
*エフェクト系 [#oa5bd2d6]
**PlayEffect [#h7c367c6]
:概要|
エフェクトを再生します。
:パラメータ|
--name - 再生するエフェクトの名前
--target - 再生位置(キャラクター名)
--x - 再生位置のX座標
--y - 再生位置のY座標
--z - 再生位置のZ座標
--actor - 発生元(キャラクター名)
--sync - 同期/非同期(true, false)
:補足|
パラメータtargetとX,Y,Zは、片方のみ指定して省略することができます。~
パラメータactorを指定すると、発生元と再生位置の角度を考慮してエフェクトの角度が変更されます。
**PlayEffectTowards [#s86df359]
:概要|
2点間で、指定した回数分エフェクトを再生します。
:パラメータ|
--name - 再生するエフェクトの名前
--actor - 再生開始位置(キャラクター名)
--actorX - 再生開始位置のX座標
--actorY - 再生開始位置のY座標
--actorZ - 再生開始位置のZ座標
--target - 再生終了位置(キャラクター名)
--targetX - 再生終了位置のX座標
--targetY - 再生終了位置のY座標
--targetZ - 再生終了位置のZ座標
--count - エフェクトを再生する回数
--interval - エフェクト再生の間隔
--sync - 同期/非同期(true, false)
:補足|
パラメータactorとactorX,actorY,actorZ、およびtargetとtargetX,targetY,targetZは、片方のみ指定して省略することができます。
**SetScreenColor [#p7bae04d]
:概要|
画面全体の色を変更します。
:パラメータ|
--color - 変更する色 #RRGGBBAA形式。
--time - 完了までの時間(秒単位)
--ease - イージングのタイプ(省略可)
---linear - 通常(パラメータを省略した場合はこの演算子が適用されます)
---quint - 開始と終了の付近で減衰するような動き
---zero - イージングを適用せず、すぐに色変更
--sync - 同期/非同期(true, false)
**ResetScreenColor [#l3d4f4cf]
:概要|
[[SetScreenColor>#p7bae04d]]で変更した色を元に戻します。
:パラメータ|
--time - 完了までの時間(秒単位)(省略可。省略した場合は0)
--ease - イージングのタイプ(省略可。省略した場合はnormal)
--sync - 同期/非同期(true, false)(省略可。省略した場合はtrue)
**PlayBGM [#k836bcef]
:概要|
BGMを再生します。
:パラメータ|
--name - 再生するBGMの名前
**StopBGM [#t0978824]
:概要|
BGMを停止します。
:パラメータ|
--time - 停止にかける時間(フェードアウト)
**PlaySE [#ud8fbabb]
:概要|
SEを再生します。
:パラメータ|
--name - 再生するSEの名前
*カメラ操作系 [#u90c17be]
**CameraFocus [#z249129b]
:概要|
カメラを対象キャラ、もしくは対称座標にフォーカスします。
:パラメータ|
--name - 対象のキャラクター名
--x - 対象のX座標
--y - 対象のY座標
--z - 対象のZ座標
--zoom - ズームレベル(デフォルト:1)
--speed - 移動スピード(秒単位。完了までの時間)
--sync - 同期/非同期(true, false)
:補足|
パラメータnameとX,Y,Zは、片方のみ指定して省略することができます。~
パラメータnameに #タグ名 を指定することで、タグを持ったキャラクターの中心位置にフォーカスできます。~
 <CameraFocus name='Norapan' zoom='1' speed='1.0' sync='true'>
 <CameraFocus x='0' y='0' z='0' zoom='1' speed='1.0' sync='true'>
移動完了後すぐに次のイベント処理が走るため、注視させたい場合はこのイベントのあとに[[Wait>#m05cb361]]命令を追加することを推奨します。
**CameraReset [#zfdaa321]
:概要|
[[CameraFocus]]で移動したカメラをリセットします。
:パラメータ|
--speed - 移動スピード(秒単位。完了までの時間)
--sync - 同期/非同期(true, false)
*条件分岐・制御系 [#hc3e5fd0]
**If [#afcc7c8f]
:概要|
条件比較を行い、真の場合は子ノードの処理を実行します。
:パラメータ|
--operator - 演算子(省略可)
~下記の演算子を使用できます。~
---= - 値1が値2と等しい(パラメータを省略した場合はこの演算子が適用されます)
---!= - 値1が値2と等しくない
--->= - 値1が値2以上
---<= - 値1が値2以下
---> - 値1が値2より大きい
---< - 値1が値2より少ない
---and - 値1と値2の論理積
--operand1 - 比較対象の値1
--operand2 - 比較対象の値2
--子ノード - 条件に一致した場合に実行されるイベント
:補足|
operand1およびoperand2は、定数値もしくはセーブデータの値を参照できます。~
XML化の際、<および>は、&amp;lt;と&amp;gt;にエスケープする必要があります。~
**For [#jc68dd57]
:概要|
タグに一致するすべてのキャラクターに対し、子ノードの処理を実行します。
:パラメータ|
--tag - 対象となるタグ
--子ノード - 繰り返しを行う内容
:補足|
子ノードの命令のうち、nameパラメータに「%tag%」を指定した命令が、タグに一致するキャラクター名に書き換えられます。~
タグ名がanyの場合はシーン上のすべてのキャラクターに、タグ名の先頭に!がついている場合はシーン上のタグが付いていないキャラクターに対して処理が実行されます。
具体的な記述例は下記の通りです。
 <event>
     <addCharacterTag name='Norapan' tag='target' />
     <addCharacterTag name='Polaris' tag='target' />
     <addCharacterTag name='Kiruru' tag='target' />
     <for tag='target'>
         <warp name='%tag%' x='0' y='0' z='0' />
     </for>
 </event>
この例では、ノラパン、ポラリス、キルルにタグ「target」を追加し、タグ「target」を持つキャラクター~
(この場合、先にタグを追加した3キャラ)に対し、座標0,0,0にワープさせます。
**SetSelection, Choice [#q3467b11]
:概要|
選択肢を表示し、対応する子ノードの処理を実行します。
:パラメータ(SetSelection)|
--choicename - 選択肢の名前(カンマ区切り)
--choicetext - 画面に表示される選択肢のテキスト(カンマ区切り)
:パラメータ(Choice)|
--name - SetSelectionで指定されたchoicename
:補足|
具体的な記述例は下記の通りです。
 <setselection choicename='yes,no' choicetext='はい,いいえ'>
     <choice name='yes'>
         <message>選択肢「はい」が選択されました。</message>
     </choice>
     <choice name='no'>
         <message>選択肢「いいえ」が選択されました。</message>
         <if operand1='system/hoge' operand2='true'>
             <message>このように、子ノード内で分岐等もできます。</message>
         </if>
     </choice>
 </setselection>
**AddEventHandler [#r218c876]
:概要|
キャラクターもしくはマップチップに、接触やクリック、精霊アクションを行ったときに実行されるイベントを設定します。
:パラメータ|
--name - 対象のキャラクター名
--x - 対象のX座標
--y - 対象のY座標
--z - 対象のZ座標
--type - イベントハンドラ名
~下記のイベントハンドラが存在します。~
>
|OnStepEnter | 対象の上にプレイヤーが進入した時に実行されます|
|OnStepLeave | OnStepEnter後、プレイヤーが対象から離れた時に実行されます|
|OnCollisionEnter | 対象にプレイヤーが近接したときに実行されます|
|OnCollisionLeave | OnCollisionEnter後、プレイヤーが対象から離れた時に実行されます|
|OnCollisionClick | OnCollisionEnter後、クリックされた場合に実行されます|
|OnPolaris | 精霊アクションを当てた時に実行されます(ポラリス)|
|OnSalam | 精霊アクションを当てた時に実行されます(サラマンダー)|
|OnKodama | 精霊アクションを当てた時に実行されます(コダマ)|
|OnKawaz | 精霊アクションを当てた時に実行されます(カワズ)|
|OnJinn | 精霊アクションを当てた時に実行されます(ジン)|
|OnNightmare | 精霊アクションを当てた時に実行されます(ナイトメア)|
|OnSnow | 精霊アクションを当てた時に実行されます(スノウ)|
|OnLeon | 精霊アクションを当てた時に実行されます(レオン)|
|OnRem | 精霊アクションを当てた時に実行されます(レム)|
|OnGnome | 精霊アクションを当てた時に実行されます(ノーム)|
|OnAlcor | 精霊アクションを当てた時に実行されます(アルコル)|
<
--子ノード - 実行するイベントスクリプト
:補足|
パラメータnameとX,Y,Zは、片方のみ指定して省略することができます。~
具体的な記述例は下記の通りです。
 <AddEventHandler name='Chest_Lv1' type='OnCollisionClick'>
     <Message>宝箱にはカギが掛かっている…。</Message>
 </AddEventHandler>
 <AddEventHandler name='Chest_Lv1' type='OnPolaris'>
     <if operand1='system/keylv' operand2='1' operator='&lt;='>
         <Message>宝箱には○○が入っていた!</Message>
     </if>
     <if operand1='system/keylv' operand2='1' operator='&gt;'>
         <Message>宝箱にはカギが掛かっている…。</Message>
         <Message name='ポラリス'>持ってるカギじゃ開かないみたい…</Message>
     </if>
 </AddEventHandler>
**AddAlias [#ad389fdc]
:概要|
複数の命令の組み合わせを、一つの命令として登録します。
:パラメータ|
--name - エイリアス名
~運用上、他のイベント名と混在しないよう、先頭に「_」(アンダーバー)を付けます。~
--args - 引数リスト
~引数1:引数1置換文字列,引数2:引数2置換文字列,… のように記述します。~
~引数の置換文字列は、文中でヒットしない名前にしてください。運用上は「$」で囲まれた文字列を指定します。~
--子ノード - エイリアスの中身
:補足|
サブルーチンのように命令を取りまとめて別名で実行する機能を、当スクリプト内では「エイリアス」と呼びます。~
既存のイベント名と同様のエイリアス名を付けた場合、スクリプトイベントの内容が優先されます。~
引数名「child」を指定すると、エイリアス実行時の子ノードの中身が置き換わります。~
具体的な記述例は下記の通りです。
 <!-- エイリアス登録 -->
 <addAlias name='_addNPC' args='name:$name$,x:$x$,y:$y$,z:$z$,onclickEventID:$onClick$,child:$child$'>
     <addcharacter name='$name$' x='$x$' y='$y$' z='$z$' />
     <addEventHandler name='$name$' type='OnCollisionEnter'>
         <showEmotion name='$name$' emotion='talk' time='0' sync='false' />
     </addEventHandler>
     <addEventHandler name='$name$' type='OnCollisionLeave'>
         <hideEmotion name='$name$' />
     </addEventHandler>
     <addEventHandler name='Kiruru' type='OnCollisionClick'>
         <jump eventid='$name$'>
     </addEventHandler>
     <message>
         $child$
     </message>
 </addAlias>
~
 <!-- エイリアス呼び出し -->
 <_addNPC name='Kiruru' x='0' y='0' z='0' onClickEventID='0001' />
 <!-- このように、一度登録すれば、パラメータを変更して何度でも呼び出しが可能 -->
 <_addNPC name='Tote' x='1' y='0' z='1' onClickEventID='0002' />
 <!-- 引数childを指定している場合、エイリアスの子ノードの記述内容が適用される -->
 <_addNPC name='Noir' x='2' y='0' z='2' onClickEventID='0002' />
    メッセージで表示される中身
 </_addNPC>
上記の例では、座標0,0,0にキルルを、座標1,0,1にトートを配置しています。
登録時のパラメータは、それぞれ呼び出し時に指定された値に置き換えられて実行されます。
*フラグ操作系 [#p9bfec35]
**SetFlag [#r986e845]
:概要|
セーブデータに値をセットします。
:パラメータ|
--name - セーブデータの名前
--value - セットする値
--opr - 計算式(省略可:Int型のセーブデータにのみ適用されます)
~下記の演算子を使用できます。~
---~= - valueの値をセーブデータにそのままセットします。
---~+ - valueの値をセーブデータに足します。最大値を超えた場合は最大値に丸められます。
---~- - valueの値をセーブデータから引きます。最小値を超えた場合は最小値に丸められます。
---~or - valueの値とセーブデータの値の論理和をセットします。
:補足|
セーブデータ名は、[[セーブデータ一覧]]を参照してください。
**SetFlagRandom(未実装) [#t7492dba]
:概要|
フラグにランダムな値をセットします。
**AutoSave [#d85c367f]
:概要|
イベント中に明示的にセーブを行います。(オートセーブ)~
設定でオートセーブが無効化されている場合は無視されます。
*Web連携系 [#jce1214b]
**AddMenu [#p7fdc4e6]
:概要|
Web側のメニューを追加します。
:パラメータ|
--category - カテゴリ
---place - 行き先メニュー
---contents - ショップ/コンテンツメニュー
--icon - アイコン名
--name - 表示名
--eventid - クリック時実行するイベントID
:補足|
アイコン名は、[[各種リスト]]を参照してください。
**ClearMenu [#we1c6c84]
:概要|
[[AddMenu>#p7fdc4e6]]で追加したメニューを初期化します。
:パラメータ|
なし
**ShowContents [#r8d293b6]
:概要|
下メニューコンテンツを表示します。
:パラメータ|
--name - コンテンツ名
---rakugaki - ラクガキ
---sketch - スケッチブック
---offline - 同人情報
---mailform - メールフォーム
---diary - チラシの裏
--sync - 同期/非同期(true, false)
:補足|
パラメータsyncがtrueの場合、Web側のコンテンツメニューの閉じるボタンが押されるまで、以降のイベントの実行が待機されます。
**ChangeBackground [#aa1d4ff3]
:概要|
Web側の背景を変更します。
:パラメータ|
--type - 背景種類
---day - 昼背景(デフォルト)
---night - 夜背景
:補足|
当命令は、常に非同期で動作します(終了待ちをしない)。
*表示系 [#m00ba06b]
**ShowPlace [#gb5e227d]
:概要|
現在いる地名、フロア名を画面に表示します。
:パラメータ|
--id - マップID
--showtime - 昼/夜を表示するか
**ShowEventCG [#s9a6942b]
:概要|
イベントCGを表示します。
:パラメータ|
--name - 表示するイベントCG名
--time - 完了までの時間(秒単位)
--ease - イージングのタイプ(省略可)
---linear - 通常(パラメータを省略した場合はこの演算子が適用されます)
---quint - 開始と終了の付近で減衰するような動き
---zero - イージングを適用せず、すぐに色変更
--sync - 同期/非同期(true, false)
**HideEventCG [#s94eb246]
:概要|
[[ShowEventCG>#s9a6942b]]で表示したイベントCGを非表示にします。
:パラメータ|
--time - 完了までの時間(秒単位)(省略可。省略した場合は0)
--ease - イージングのタイプ(省略可。省略した場合はnormal)
--sync - 同期/非同期(true, false)(省略可。省略した場合はtrue)
**ShowFace [#fd6560e0]
:概要|
顔グラフィックを表示します。
:パラメータ|
--name - フェイス名
--position - 表示位置
~位置は下記の通り指定してください。~
---1 - 左外側
---2 - 左中央
---3 - 左内側
---4 - 右内側
---5 - 右中央
---6 - 右外側
--coscume - 衣装(省略可。省略した場合はnormal)
--emotion - 表情(省略可。省略した場合はnormal)
--sync - 同期/非同期(true, false)
:補足|
パラメータpositionについて、通常キャラクターが一人の場合は2および5、二人の場合は1と3および4と6を指定します。
**HideFace [#k29de90e]
:概要|
顔グラフィックを非表示にします。
:パラメータ|
--position - 非表示にする位置
~位置は下記の通り指定してください。~
---1 - 左外側
---2 - 左中央
---3 - 左内側
---4 - 右内側
---5 - 右中央
---6 - 右外側
--sync - 同期/非同期(true, false)
**SetMapLight [#rc6ded3c]
:概要|
マップのライティングを設定します。
:パラメータ|
--type - ライティングタイプ
~ライティングタイプは下記の通り指定してください。~
---day - 昼
---night - 夜
---dim - 暗くする(スキル発動時に使用)
*UI系 [#va278e13]
**ShowUI(未実装) [#sf56311a]
:概要|
ゲーム中のUI(ショップ等)を表示します。このイベントは必ず同期実行されます。
:パラメータ|
--name - UI名
---formation - 編成(v3)
---select_element - 連れて行く精霊を選ぶ(v2)
---scalf - スカーフショップ
:補足|
UI中の閉じるボタンや決定/キャンセルボタン等が押されるまで、以降のイベントの実行が待機されます。
**ShowSaveDialog [#n382f6d3]
:概要|
セーブダイアログを表示します。
:補足|
このイベントが実行されると、現在のセーブデータがブラウザにセーブされます。
**ShowGetItemDialog [#o77ceade]
:概要|
アイテム入手ダイアログを表示します。
:補足|
ダイアログの表示のみで実際にアイテムの追加はされません。アイテムの追加は[[SetFlag]]を使用してください。
*バトル系 [#pa711acd]
**StartBattle [#o397d7b0]
:概要|
バトルを開始します。
:パラメータ|
--param - バトルに渡すパラメータ(Json形式)
~パラメータは下記の通り指定してください。
---players - プレイヤー情報
---players[n].id - プレイヤーのエネミーID
~通常の場合(ノラパン)は0001になります。詳細は敵マスタを参照してください。
---players[n].name - プレイヤーのシーン上の名前
---players[n].command - プレイヤーのコマンドの種類
~通常の場合はdefaultを指定してください。特殊なプレイヤーコマンドを指定する場合を想定して、指定できるようにしています。
---enemys - 敵情報
---enemys[n].id - 敵のエネミーID
---enemys[n].name - 敵のシーン上の名前
---win_event_id - 勝利時実行するイベントID
~イベントバトル等の勝利時イベントを変更できます。通常の場合はbattle/default_winを指定してください。
---lose_event_id - 敗北時実行するイベントID
~イベントバトル等の敗北時イベントを変更できます。通常の場合はbattle/default_loseを指定してください。
---break_event_id - 中断時実行するイベントID
~イベントバトル等の中断時イベントを変更できます。
---turn_event_id - ターン開始時に実行するイベントID
~ターン開始時に実行するイベントを指定できます。
:補足|
命令実施までに、シーン上にプレイヤー、および敵キャラクターを配置しておいてください。~
パラメータparamのJson内で使用するダブルコーテーションは、&amp;quot;にエスケープしてください。

以下のイベントは、バトル中のみ実行可能です。
**ShowSkillName [#e7e0b831]
:概要|
現在発動しているスキル名を画面に表示します。~
スキル用のイベント時に使用してください。
**ApplyDamage [#odad0ec6]
:概要|
与えたダメージを画面に表示、適用します。~
スキル用のイベント時に使用してください。
**ShowBattleStartHUD/ShowBattleWinHUD/ShowBattleLoseHUD [#o1cea17b]
:概要|
バトル開始、勝利、敗北時の演出を表示します。
:パラメータ|
--sync - 同期/非同期(true, false)
**SetCommandList(未実装) [#f7f8df7d]
:概要|
プレイヤーのコマンドの種類を変更します。
**GainHP [#m255bc92]
:概要|
バトルキャラクターのHPを増減します。
:パラメータ|
--name - HP操作を行うキャラクター(シーン上の名前)
--hp - HPの増減値(正の値は回復/負の値はダメージ)
**GainAP [#v6826287]
:概要|
バトルキャラクターのAPを増減します。
:パラメータ|
--name - AP操作を行うキャラクター(シーン上の名前)
--ap - APの増減値(正の値は回復/負の値はダメージ)
**AddBuff [#of2ca49d]
:概要|
バトルキャラクターにバフを追加します。
:パラメータ|
--name - バフ追加を行うキャラクター(シーン上の名前)
--buffID - 追加するバフID
--stack - 追加するバフのスタック(-1の場合は永続として扱う)
**RemoveBuff [#cb4e6adc]
:概要|
バトルキャラクターのバフを削除します。
:パラメータ|
--name - バフ削除を行うキャラクター(シーン上の名前)
--buffID - 削除するバフID
**EnableGodMode/DisableGodMode [#k1a1ab13]
:概要|
バトルキャラクターの無敵状態を設定します。
:パラメータ|
--name - 操作を行うキャラクター(シーン上の名前)
**ShowBattleMessage [#raaf893c]
:概要|
バトルメッセージを表示します。
:パラメータ|
--message - 表示するメッセージ
*その他 [#wa4fc6a0]
**PositionOffset [#t0d3a86a]
:概要|
座標指定するイベント命令について、指定されたキャラクターからの差分座標を指定して実行します。~
:パラメータ|
--name - 基準となるキャラクターの名前
--offset - キャラクターが今向いている方向を正面とした方向
~方向は下記の通り指定してください。前方を0として、反時計回りに8方向を指定できます。~
---Forward - 前方
---ForwardLeft - 左前方
---Left - 左方
---BackLeft - 左後方
---Back - 後方
---BackRight - 右後方
---Right - 右方
---ForwardRight - 右前方
--distance - 距離
--heightoffset - 高さ差分(省略可)
--子ノード - 実行内容
:補足|
あるキャラクターから指定方向に指定距離離れた場所に対してイベントを実行する際に使用します。~
子ノードの命令のうち、x,y,zパラメータに「%x%,%y%,%z%」を指定した命令が、差分座標に書き換えられます。~
具体的な記述例は下記の通りです。
 <positionoffset name='Norapan' offset='Forward' distance='2'>
     <addcharacter name='Polaris' x='%x%' y='%y%' z='%z%' />
 </positionoffset>
上記の例では、ノラパンの位置から前方1進んだ位置にポラリスを追加しています。~
タグ指定のPositionOffsetのイメージは下記の通りです。~
http://itadakicat.kemono.cc/img/wiki/posoffset.png
**SavePosition [#v7838de8]
:概要|
指定されたキャラクターの現在の位置を保存します。~
:パラメータ|
--name - 位置を保存するキャラクターの名前
:補足|
保存された位置は、マップを移動するかキャラクターが削除されるまで保持されます。
**LoadPosition [#x6dc6f95]
:概要|
指定されたキャラクターの保存された位置を呼び出します。~
:パラメータ|
--name - 位置を呼び出すキャラクターの名前
--子ノード - 実行内容
:補足|
キャラクターの保存された場所に対してイベントを実行する際に使用します。~
子ノードの命令のうち、x,y,zパラメータに「%x%,%y%,%z%」を指定した命令が、保存された位置に書き換えられます。~
具体的な記述例は下記の通りです。
 <saveposition name='Norapan'/>
 <walk name='Norapan' x='5' y='1' z='5'/>
 <loadposition name='Norapan'>
     <walk name='Norapan' x='%x%' y='%y%' z='%z%'/>
 </loadposition>
上記の例では、ノラパンの位置を保存、別の場所に歩かせた後、保存された位置へ歩いて戻ります。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS