OnRequestPropertyとOnRequestValues、そして、ごーすとじてんたちが要求するもの†
アリス「ねえ、ボブ。」
ボブ「どうしたんだい、アリス。」
アリス「ごーすとじてんやきゅーぴっどに対応してわたしのゴーストと他のゴーストを戦わせたいんだけど、どうすればいいのか良くわからないのよ」
ボブ「HAHAHA! そのへんにいっぱいテンプレートが配布されているじゃまいか」
アリス「でも、テンプレートそのまま使うのも釈然としないのよ」
ボブ「しょうがないなぁ。確かに資料が散逸してて良くわからないからね。特別にボクが資料をまとめたから参考にするといいよ」
アリス「わぁ。さすがはボブね」
各種イベントについて†
- 「ぬるぽいんたーはい」や「ごーすとじてん」、「きゅーぴっど」が他ゴーストに対して情報を要求する際に投げてくるイベント。
- 要求された側のゴーストは要求に対する応答をOnGetPropertyイベントを投げ返す必要がある。
- OnGetPropertyイベントを投げ返さなければ非対応ということになる。
パラメータ†
名前 | 概要 | 値の例 |
Reference0 | 要求元(sakura.name) | 斗月 |
Reference1 | 要求された側(\0,\1…) | 0 |
Reference2 | 要求されたプロパティ名称(nameとか) | 種族 |
他ゴーストからのOnRequestPropertyイベントに対応するゴースト作者はOnRequestPropertyイベントに対するトークの中で、OnGetPropertyイベントを\![raiseother]を用いて送り返す必要がある。
- OnRequestPropertyイベントに対する応答として要求元に対して応答を投げ返すためのイベント。
- OnRequestPropertyイベントに対するトークの中で\![raiseother]を用いてOnGetPropertyイベントを投げ返すという形で用いる。
パラメータ†
名前 | 概要 | 値の例 |
Reference0 | 応答したゴーストの名前(sakura.name) | 天羽ちはる |
Reference1 | OnRequestPropertyイベントの送信者に要求された側(\0,\1…) | 0 |
Reference2 | OnRequestPropertyイベントの送信者に要求されたプロパティ名称(nameとか) | 種族 |
Reference3 | 要求されたプロパティの値 | 天使 |
他ゴーストからのOnRequestPropertyイベントに対応するゴースト作者は上記のようなReference値を持ったOnGetPropertyイベントを、OnRequestPropertyイベントに対するトークの中で\![raiseother]を用いて投げ返してやる必要がある。
上記の例に対応したOnGetPropertyイベントを投げるさくらスクリプト(SSP拡張)は以下の通り。
\![raiseother,斗月,OnGetProperty,天羽ちはる,0,種族,天使]
OnRequestPropertyとOnGetPropertyのサンプル†
ここでは、斗月(ぬるぽいんたーはい)で天羽ちはる(天羽ちはる)の種族を確認した場合の流れをあげます。
①斗月(ぬるぽいんたーはい)→本体(SSP)
SHIORI/3.0 200 OK
Value: \0\s[0]\1\s[10]\1\_w[12]\0心の目で種族を調べます。\_w[72]わからなくても勘弁。\_w[60]\n\![raiseother,天羽ちはる,OnRequestProperty,斗月,0,種族]\_w[12]\e
Charset: Shift_JIS
※イベントの本体(SSP)への応答。応答メッセージの中の\![raiseother]により、天羽ちはるに対してOnRequestPropertyイベントが投げられる。
②本体(SSP)→天羽ちはる(天羽ちはる)
GET SHIORI/3.0
Sender: 斗月
Charset: UTF-8
SecurityLevel: local
ID: OnRequestProperty
Reference0: 斗月
Reference1: 0
Reference2: 種族
※斗月から\![raiseother]されたOnRequestPropertyイベントが天羽ちはるに届いた。
③天羽ちはる(天羽ちはる)→本体(SSP)
SHIORI/3.0 200 OK
Sender: AYA
Charset: UTF-8
Value: \![raiseother,斗月,OnGetProperty,天羽ちはる,0,種族,天使]\e
※②で送られたOnRequestPropertyイベントの応答メッセージ。\![raiseother]により、斗月に対してOnGetPropertyイベントが投げられる。
OnGetPropertyイベントのReference3には天羽ちはるの種族である『天使』が乗っている。
④本体(SSP)→斗月(ぬるぽいんたーはい)
GET SHIORI/3.0
Sender: 天羽ちはる
Charset: Shift_JIS
SecurityLevel: local
Status: talking
ID: OnGetProperty
Reference0: 天羽ちはる
Reference1: 0
Reference2: 種族
Reference3: 天使
※天羽ちはるから\![raiseother]されたOnGetPropertyイベントが斗月に届いた。
この後、斗月(ぬるぽいんたーはい)内部で取得した値が処理される。
- 「ぬるぽいんたーはい」や「ごーすとじてん」、「きゅーぴっど」が他ゴーストに対して情報を要求する際に投げてくるイベント。
- OnRequestPropertyが一度に一つしか値を取得することができないという問題に対して提唱されたイベントで、一度に複数の値を取得することができる。
- 要求された側のゴーストは要求に対する応答をOnGetValuesイベントを投げ返す必要がある。
- OnGetValuesイベントを投げ返さなければ非対応ということになる。
パラメータ†
名前 | 概要 | 値の例 |
Reference0 | 要求元(sakura.name) | ごーすとじてん |
Reference1 | 要求されたキー名称1 | 0キャラクター名 |
Reference2 | 要求されたキー名称2 | 0世代 |
… | … | … |
OnRequestValuesはReference1以降に1個以上の要求するキーを設定していく。
他ゴーストからのOnRequestValuesイベントに対応するゴースト作者はOnRequestValuesイベントに対するトークの中で、OnGetValuesイベントを\![raiseother]を用いて送り返す必要がある。
- OnRequestValuesイベントに対する応答として要求元に対して応答を投げ返すためのイベント。
- OnRequestValuesイベントに対するトークの中で\![raiseother]を用いてOnGetValuesイベントを投げ返すという形で用いる。
パラメータ†
名前 | 概要 | 値の例 |
Reference0 | 応答したゴーストの名前(sakura.name) | 天羽ちはる |
Reference1 | 要求されたキー名称1=キーの値1 | 0キャラクター名=天羽ちはる |
Reference2 | 要求されたキー名称2=キーの値2 | 0世代=子供 |
… | … | … |
他ゴーストからのOnRequestValuesイベントに対応するゴースト作者は上記のようなReference値を持ったOnGetValuesイベントを、OnRequestValuesイベントに対するトークの中で\![raiseother]を用いて投げ返してやる必要がある。
上記の例に対応したOnGetValuesイベントを投げるさくらスクリプト(SSP拡張)は以下の通り。
\![raiseother,ごーすとじてん,OnGetValues,天羽ちはる,0キャラクター名=天羽ちはる,0世代=子供,…]
OnRequestValuesとOnGetValuesのサンプル†
ここでは、ごーすとじてん(ごーすとじてん)で天羽ちはる(天羽ちはる)のプロフィール確認を実施した場合の流れをあげます。
①ごーすとじてん(ごーすとじてん)→本体(SSP)
SHIORI/3.0 200 OK
Sender: AYA
Charset: Shift_JIS
Value: \![raiseother,天羽ちはる,OnRequestValues,ごーすとじてん,dummy,0キャラクター名,0世代,0性別,0種族,0種族タイプ,0行動タイプ,0プロフィール,1キャラクター名,1世代,1性別,1種族,1種族タイプ,1行動タイプ,1プロフィール]\e
※イベントの本体(SSP)への応答。応答メッセージの中の\![raiseother]により、天羽ちはるに対してOnRequestValuesイベントが投げられる。
②本体(SSP)→天羽ちはる(天羽ちはる)
GET SHIORI/3.0
Sender: ごーすとじてん
Charset: Shift_JIS
SecurityLevel: local
ID: OnRequestValues
Reference0: ごーすとじてん
Reference1: dummy
Reference2: 0キャラクター名
Reference3: 0世代
Reference4: 0性別
Reference5: 0種族
Reference6: 0種族タイプ
Reference7: 0行動タイプ
Reference8: 0プロフィール
Reference9: 1キャラクター名
Reference10: 1世代
Reference11: 1性別
Reference12: 1種族
Reference13: 1種族タイプ
Reference14: 1行動タイプ
Reference15: 1プロフィール
※ごーすとじてんから\![raiseother]されたOnRequestValuesイベントが天羽ちはるに届いた。
③天羽ちはる(天羽ちはる)→本体(SSP)
SHIORI/3.0 200 OK
Charset: Shift_JIS
Sender: 天羽ちはる
Value: \![raiseother,ごーすとじてん,OnGetValues,天羽ちはる,0キャラクター名=天羽ちはる,0世代=子供,0性別=女性,0種族=天使,0種族タイプ=人型,0行動タイプ=精神攻撃,0プロフィール=かみゅう神に仕える天使,1キャラクター名=町埜アンナ,1世代=子供,1性別=女性,1種族=人間,1種族タイプ=人型,1行動タイプ=精神攻撃,1プロフィール=ふつーの女の子]\e
※OnRequestValuesイベントの応答メッセージ。\![raiseother]により、ごーすとじてんに対してOnGetValuesイベントが投げられる。
OnGetValuesイベントのReference1以降にごーすとじてんから要求されたキーと値の組が設定されている。
③本体(SSP)→ごーすとじてん(ごーすとじてん)
GET SHIORI/3.0
Sender: 天羽ちはる
Charset: Shift_JIS
SecurityLevel: local
Status: talking
ID: OnGetValues
Reference0: 天羽ちはる
Reference1: 0キャラクター名=天羽ちはる
Reference2: 0世代=子供
Reference3: 0性別=女性
Reference4: 0種族=天使
Reference5: 0種族タイプ=人型
Reference6: 0行動タイプ=精神攻撃
Reference7: 0プロフィール=かみゅう神に仕える天使
Reference8: 1キャラクター名=町埜アンナ
Reference9: 1世代=子供
Reference10: 1性別=女性
Reference11: 1種族=人間
Reference12: 1種族タイプ=人型
Reference13: 1行動タイプ=精神攻撃
Reference14: 1プロフィール=ふつーの女の子
※天羽ちはるから\![raiseother]されたOnGetValuesイベントがごーすとじてんに届いた。
ごーすとじてんたちが要求するもの†
ぬるぽいんたーはいが要求するもの†
「ぬるぽいんたーはい」がOnRequestPropertyやOnRequestValuesで要求してくる値のリスト
ごーすとじてんが要求するもの†
「ごーすとじてん」がOnRequestPropertyやOnRequestValuesで要求してくる値のリスト
メニュー名称 | サブメニュー名 | イベント名 | 要求される値 | 備考 |
データ収集(全部) | - | OnRequestValues | 0LIFE | \0側の体力 |
0STR | \0側の腕力・物理攻撃力 |
0DEX | \0側の器用さ・物理攻撃命中率 |
0AGL | \0側の敏捷さ・物理攻撃回避率 |
0MIN | \0側の精神力・精神攻撃力 |
0INT | \0側の知力・精神攻撃命中率 |
0SEN | \0側の感性・精神攻撃回避率 |
1LIFE | \1側の体力 |
1STR | \1側の腕力・物理攻撃力 |
1DEX | \1側の器用さ・物理攻撃命中率 |
1AGL | \1側の敏捷さ・物理攻撃回避率 |
1MIN | \1側の精神力・精神攻撃力 |
1INT | \1側の知力・精神攻撃命中率 |
1SEN | \1側の感性・精神攻撃回避率 |
2LIFE | \1側の体力 |
2STR | \p[2]の腕力・物理攻撃力 |
2DEX | \p[2]の器用さ・物理攻撃命中率 |
2AGL | \p[2]の敏捷さ・物理攻撃回避率 |
2MIN | \p[2]の精神力・精神攻撃力 |
2INT | \p[2]の知力・精神攻撃命中率 |
2SEN | \p[2]の感性・精神攻撃回避率 |
0キャラクター名 | \0側のキャラクター名(name) |
0name | (過去互換) |
0世代 | \0側の世代(年齢層) |
0年齢層 | (過去互換) |
0性別 | \0側の性別 |
0種族 | \0側の種族 |
0種族タイプ | \0側の種族タイプ |
0行動タイプ | \0側の行動タイプ |
0プロフィール | \0側のプロフィール |
0カード画像パス | \0側を表示する画像ファイルへの絶対Pathまたは相対Path(送信元のSHIORIディレクトリ基準) |
1キャラクター名 | \1側のキャラクター名 |
1name | (過去互換) |
1世代 | \1側の世代(年齢層) |
1年齢層 | (過去互換) |
1性別 | \1側の性別 |
1種族 | \1側の種族 |
1種族タイプ | \1側の種族タイプ |
1行動タイプ | \1側の行動タイプ |
1プロフィール | \1側のプロフィール |
1カード画像パス | \1側を表示する画像ファイルへの絶対Pathまたは相対Path(送信元のSHIORIディレクトリ基準) |
2キャラクター名 | \p[2]のキャラクター名 |
2name | (過去互換) |
2世代 | \p[2]の世代(年齢層) |
2年齢層 | (過去互換) |
2性別 | \p[2]の性別 |
2種族 | \p[2]の種族 |
2種族タイプ | \p[2]の種族タイプ |
2行動タイプ | \p[2]の行動タイプ |
2プロフィール | \p[2]のプロフィール |
2カード画像パス | \p[2]を表示する画像ファイルへの絶対Pathまたは相対Path(送信元のSHIORIディレクトリ基準) |
-1NOB | 模擬戦闘に参加できるキャラクタ数(0:模擬戦闘しない 1:\0だけ 2:タッグマッチ可) |
データ収集(一部) | \0のプロフィール | OnRequestProperty | 0プロフィール | - |
\0の年齢層 | 0年齢層 | - |
\0の性別 | 0性別 | - |
\0の種族 | 0種族 | - |
\0の種族タイプ | 0種族タイプ | - |
\0の行動タイプ | 0行動タイプ | - |
\1のプロフィール | 1プロフィール | - |
\1の年齢層 | 1年齢層 | - |
\1の性別 | 1性別 | - |
\1の種族 | 1種族 | - |
\1の種族タイプ | 1種族タイプ | - |
\1の行動タイプ | 1行動タイプ | - |
\2のプロフィール | 2プロフィール | - |
\2の年齢層 | 2年齢層 | - |
\2の性別 | 2性別 | - |
\2の種族 | 2種族 | - |
\2の種族タイプ | 2種族タイプ | - |
\2の行動タイプ | 2行動タイプ | - |
\0の名前 | 0name | - |
\1の名前 | 1name | - |
\2の名前 | 2name | - |
\0のステータス | 0LIFE | - |
0STR |
0DEX |
0AGL |
0MIN |
0INT |
0SEN |
\1のステータス | 1LIFE | - |
1STR |
1DEX |
1AGL |
1MIN |
1INT |
1SEN |
\2のステータス | 2LIFE | - |
2STR |
2DEX |
2AGL |
2MIN |
2INT |
2SEN |
模擬戦闘対応情報 | -1NOB | - |
きゅーぴっどが要求するもの†
「きゅーぴっど」がOnRequestPropertyやOnRequestValuesで要求してくる値のリスト
メニュー名称 | イベント名 | 対象キャラクター | 要求される値 | 備考 |
模擬戦闘 | OnRequestValues | - | 0LIFE | \0側の体力 |
0STR | \0側の腕力・物理攻撃力 |
0DEX | \0側の器用さ・物理攻撃命中率 |
0AGL | \0側の敏捷さ・物理攻撃回避率 |
0MIN | \0側の精神力・精神攻撃力 |
0INT | \0側の知力・精神攻撃命中率 |
0SEN | \0側の感性・精神攻撃回避率 |
1LIFE | \1側の体力 |
1STR | \1側の腕力・物理攻撃力 |
1DEX | \1側の器用さ・物理攻撃命中率 |
1AGL | \1側の敏捷さ・物理攻撃回避率 |
1MIN | \1側の精神力・精神攻撃力 |
1INT | \1側の知力・精神攻撃命中率 |
1SEN | \1側の感性・精神攻撃回避率 |
-1NOB | 模擬戦闘に参加できるキャラクタ数(0:模擬戦闘しない 1:\0だけ 2:タッグマッチ可) |
-1NOC | プロパティを持つキャラクタ数(\nまでの情報を収集。デフォルト2。Emily/Phase4みたいな3人組は3。ソロゴーストは1。旧仕様につき未使用。) |
-1NOBと-1NOCの詳細はにこらとてすらの拍手レス 2008/07/22分を参照のこと。
華和梨での実装例†
上記2ファイルで一組。
なお、華和梨での実装において、"-1NOB"の"-"はエントリ名として使えないことに注意して実装すること。
関連リンク†
コメント†
- カード画像パスとは言うけれど、使用可能な画像サイズはどのぐらいの大きさなのだろう? -- そずべねぐ
- まだ決めてません、ごめんなさい>< -- Don