====== 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