ユーザ用ツール

サイト用ツール


vci:updatelog:messagesystem

メッセージシステム(VCIアップデート)

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

  • VCIから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つの引数を受けます。

  • sender: 送信者情報
  • name: メッセージの名前
  • message: メッセージの内容
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)

  • メッセージを送信します。
  • メッセージは、自分自身を含む全ユーザーの全VCIに送信されます。
main.lua
function onUse(self)
    -- メッセージ名: MSG_NAME
    -- メッセージの内容: 1
    vci.message.Emit('MSG_NAME', 1)
end
vci/updatelog/messagesystem.txt · 最終更新: 2019/05/28 16:29 by navana

ページ用ツール