大根2の問題点を補完する案。

もくじ

OnRequestValues & OnGetValuesではダメな理由

  • 「複数の変数を受け取る」イベントがOnGetValuesで固定されている。
    • 大根2を連鎖させる時に不便!(主にじゃんけん等のミニゲームで)

OnRequestValues & 指定した任意のイベント

  • 送信側が相手がこちらに送ってくるイベントを指定できるようにする。
  • 大根2と一応互換が保てる?

機能概要

  • 大根2の拡張。

実装案

1.ゴーストAの送信

\![raiseother,ゴーストB,OnRequestValues,(FMO0name),返して欲しい任意のイベント,key1,key2,...]

2.ゴーストBの受信(OnRequestValues

Reference0: ゴースト名A
Reference1: OnRequestValues
Reference2: 返して欲しい任意のイベント
Reference3: key1
Reference4: key2
Reference...

3.ゴーストBの返信(OnRequestValues

\![raiseother,ゴーストA,返して欲しいイベント名,ゴーストB,返して欲しい任意のイベント=,key1=value1,key2=value2,...]

4.ゴーストAの受信(任意のイベント)

Reference0: ゴースト名B
Reference1: 返して欲しい任意のイベント
Reference2: key=value
Reference3: key=value
Reference4: key=value
Reference...

実装案

里々での実装

レゴキチ/里々自作関数まとめ#大根2(OnGetValues)への対応」の関数を使用します

要求側

*hoge
\![raiseother,要求相手,OnRequestValues,(FMO0name),OnGetJanken,key1]
*OnGetValues
(SetGetValues)
(何かしらの処理)
(ResetGetValues)
*OnGetJanken
(SetGetValues)
(じゃんけん的な処理)
(ResetGetValues)
$○○タイマ【タブ】2

相手

  • 大根2
    *OnRequestValues
    \![raiseother,(R0),OnGetValues,(FMO0name)(call,GetResponseString,1)]
  • 大根3
    *OnRequestValues
    \![raiseother,(R0),(R1),(FMO0name)(call,GetResponseString,2)]

こめんと

  • 返して欲しいイベントにOnGetValuesを指定することで下位互換が保てる気がする。 -- レゴキチ 2007-12-11 (火) 01:52:31
  • 大根2を既に搭載している立場からすると、Referenceの順番が変わるのはちょっと困る・・・。(言わんとしていることはわかります) -- Don 2007-12-11 (火) 12:36:11
  • 要求側で送信前にフラグを立てて、受信時に適当な場所へジャンプさせるってのはやったことがあります。大根3を新しく作るなら、既に仕様が固定したイベントに誤爆しないよう新しいイベント名を作るとか、Referenceに3.0とかバージョン名を含めた方がいいかも? -- Don 2007-12-11 (火) 12:41:15
  • 大根2はkeyとvalueが結びついているのでreferenceの順番は関係ないと思ったのですよ。だが大いにあったようでorz -- レゴキチ 2007-12-11 (火) 22:48:28
  • イベント名を変えて「OnRequestValues2」とか?うーむ -- レゴキチ 2007-12-11 (火) 22:48:45


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