====== VirtualCast1.5.6a VCI更新(メッセージ) ====== メッセージシステムを更新しました。 メッセージシステムには以下の機能があります。 * VCIからVCIへメッセージを飛ばす * 飛んできたメッセージを受信する * システムのコメントを受信する ===== 実装済みのメッセージ ===== ^ バージョン ^ name ^ 内容 ^ | 1.5.4a | 任意の文字列 | VCIスクリプトから送信(vci.message.Emit)されたメッセージです | | 1.5.6a | comment | システムから送信されたコメントメッセージです | ===== コメントをデバッグログに表示する ===== function onMessage(sender, name, message) -- ユーザー名 print(sender["name"]) -- コメント本文 print(message) end vci.message.On('comment', onMessage) **sender["name"]**に代入されるのは以下の値になります。\\ * ユーザーネームが代入されます。\\ \\ **message**に代入されるのは以下の値になります。\\ * コメント本文が代入されます。 ===== メッセージを受信する(vci.message.On) ===== 受信関数は3つの引数を受けます。 * sender: 送信者情報 * name: メッセージの名前 * message: メッセージの内容 function onMessage(sender, name, message) for k, v in pairs(sender) do print(k .. ":" .. v) end print(name) print(message) end -- vciアイテムのメッセージを受け取る場合 vci.message.On('MSG_NAME', onMessage) -- コメントを受け取る場合 vci.message.On('comment', onMessage) ==== コメントメッセージの受信 ===== function onMessage(sender, name, message) end ^ 引数 ^ 内容 ^ | sender["name"] | 送信者の名前 | | sender["type"] | 送信者の種類 | | name | | | message | メッセージの本文 | { type: "comment" name: "コメントを送ったuserの名前" } senderは上記のような構造になります。\\ sender["name"]は送信者の名前、sender["type"]は送信者の種類を意味します。 ==== vciメッセージの受信 ===== function onMessage(sender, name, message) end senderは以下のようになります。 { type: "vci" name: "vciの名前" } name は、vci.message.Emit の第1引数です。 message は、vci.message.Emit の第2引数です。 ===== vciメッセージを送る(vci.message.Emit) ===== * メッセージを送信します。 * メッセージは、自分自身を含む全ユーザーの全VCIに送信されます。 function onUse(self) -- メッセージ名: MSG_NAME -- メッセージの内容: 1 vci.message.Emit('MSG_NAME', 1) end