目次

VirtualCast1.5.6a VCI更新(メッセージ)

メッセージシステムを更新しました。

メッセージシステムには以下の機能があります。

実装済みのメッセージ

バージョン name 内容
1.5.4a 任意の文字列 VCIスクリプトから送信(vci.message.Emit)されたメッセージです
1.5.6a comment システムから送信されたコメントメッセージです

コメントをデバッグログに表示する

main.lua
function onMessage(sender, name, message)
 
    -- ユーザー名
    print(sender["name"])
 
    -- コメント本文
    print(message)
end
 
vci.message.On('comment', onMessage)

sender[“name”]に代入されるのは以下の値になります。


messageに代入されるのは以下の値になります。

メッセージを受信する(vci.message.On)

受信関数は3つの引数を受けます。

main.lua
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)

コメントメッセージの受信

main.lua
function onMessage(sender, name, message)   
end
引数 内容
sender[“name”] 送信者の名前
sender[“type”] 送信者の種類
name
message メッセージの本文
main.lua
{
   type: "comment"
   name: "コメントを送ったuserの名前"
}

senderは上記のような構造になります。
sender[“name”]は送信者の名前、sender[“type”]は送信者の種類を意味します。

vciメッセージの受信

main.lua
function onMessage(sender, name, message)   
end

senderは以下のようになります。

main.lua
{
   type: "vci"
   name: "vciの名前"
}

name は、vci.message.Emit の第1引数です。

message は、vci.message.Emit の第2引数です。

vciメッセージを送る(vci.message.Emit)

main.lua
function onUse(self)
    -- メッセージ名: MSG_NAME
    -- メッセージの内容: 1
    vci.message.Emit('MSG_NAME', 1)
end