OnRequestPropertyとOnRequestValues、そして、ごーすとじてんたちが要求するもの

アリス「ねえ、ボブ。」
ボブ「どうしたんだい、アリス。」
アリス「ごーすとじてんやきゅーぴっどに対応してわたしのゴーストと他のゴーストを戦わせたいんだけど、どうすればいいのか良くわからないのよ」
ボブ「HAHAHA! そのへんにいっぱいテンプレートが配布されているじゃまいか」
アリス「でも、テンプレートそのまま使うのも釈然としないのよ」
ボブ「しょうがないなぁ。確かに資料が散逸してて良くわからないからね。特別にボクが資料をまとめたから参考にするといいよ」
アリス「わぁ。さすがはボブね」

目次

各種イベントについて

OnRequestProperty

  • ぬるぽいんたーはい」や「ごーすとじてん」、「きゅーぴっど」が他ゴーストに対して情報を要求する際に投げてくるイベント。
  • 要求された側のゴーストは要求に対する応答をOnGetPropertyイベントを投げ返す必要がある。
  • OnGetPropertyイベントを投げ返さなければ非対応ということになる。

パラメータ

名前概要値の例
Reference0要求元(sakura.name)斗月
Reference1要求された側(\0,\1…)0
Reference2要求されたプロパティ名称(nameとか)種族

他ゴーストからのOnRequestPropertyイベントに対応するゴースト作者はOnRequestPropertyイベントに対するトークの中で、OnGetPropertyイベントを\![raiseother]を用いて送り返す必要がある。

OnGetProperty

  • OnRequestPropertyイベントに対する応答として要求元に対して応答を投げ返すためのイベント。
  • OnRequestPropertyイベントに対するトークの中で\![raiseother]を用いてOnGetPropertyイベントを投げ返すという形で用いる。

パラメータ

名前概要値の例
Reference0応答したゴーストの名前(sakura.name)天羽ちはる
Reference1OnRequestPropertyイベントの送信者に要求された側(\0,\1…)0
Reference2OnRequestPropertyイベントの送信者に要求されたプロパティ名称(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イベントが斗月に届いた。
この後、斗月(ぬるぽいんたーはい)内部で取得した値が処理される。

OnRequestValues

  • 「ぬるぽいんたーはい」や「ごーすとじてん」、「きゅーぴっど」が他ゴーストに対して情報を要求する際に投げてくるイベント。
  • OnRequestPropertyが一度に一つしか値を取得することができないという問題に対して提唱されたイベントで、一度に複数の値を取得することができる。
  • 要求された側のゴーストは要求に対する応答をOnGetValuesイベントを投げ返す必要がある。
  • OnGetValuesイベントを投げ返さなければ非対応ということになる。

パラメータ

名前概要値の例
Reference0要求元(sakura.name)ごーすとじてん
Reference1要求されたキー名称10キャラクター名
Reference2要求されたキー名称20世代

OnRequestValuesはReference1以降に1個以上の要求するキーを設定していく。 他ゴーストからのOnRequestValuesイベントに対応するゴースト作者はOnRequestValuesイベントに対するトークの中で、OnGetValuesイベントを\![raiseother]を用いて送り返す必要がある。

OnGetValues

  • OnRequestValuesイベントに対する応答として要求元に対して応答を投げ返すためのイベント。
  • OnRequestValuesイベントに対するトークの中で\![raiseother]を用いてOnGetValuesイベントを投げ返すという形で用いる。

パラメータ

名前概要値の例
Reference0応答したゴーストの名前(sakura.name)天羽ちはる
Reference1要求されたキー名称1=キーの値10キャラクター名=天羽ちはる
Reference2要求されたキー名称2=キーの値20世代=子供

他ゴーストからの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で要求してくる値のリスト

メニュー名称イベント名対象キャラクター要求される値
○○をまとめてスキャンしろOnRequestValues-0LIFE
0STR
0DEX
0AGL
0MIN
0INT
0SEN
○○の生い立ちを調べろOnGetProperty0プロフィール
○○をスキャンしろ*1OnGetProperty0LIFE
0STR
0DEX
0AGL
0MIN
0INT
0SEN
○○の年齢層を確認しろOnRequestProperty0年齢層
○○の性別を確認しろOnRequestProperty0性別
○○の種族を確認しろOnRequestProperty0種族
○○の体形を確認しろOnRequestProperty0種族タイプ


ごーすとじてんが要求するもの

「ごーすとじてん」がOnRequestPropertyやOnRequestValuesで要求してくる値のリスト

メニュー名称サブメニュー名イベント名要求される値備考
データ収集(全部)-OnRequestValues0LIFE\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のプロフィールOnRequestProperty0プロフィール-
\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"の"-"はエントリ名として使えないことに注意して実装すること。

関連リンク

  • LR/大根2
  • Don/OnRequestValues/OnGetValues対応法
  • Don/OnJitenBattle対応法

コメント

  • カード画像パスとは言うけれど、使用可能な画像サイズはどのぐらいの大きさなのだろう? -- そずべねぐ 2008-07-29 (火) 05:11:36
  • まだ決めてません、ごめんなさい>< -- Don 2008-07-29 (火) 06:35:34


*1 OnRequestPropertyを連続して送信し、1つづつ値を取得していきます

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-11-17 (月) 20:05:22