
イベント会場が変わったり準備していた場所が違っていたりなど イベントではなにかとハプニングがつきものです。
そんなときでも慌てなくていいように 宣伝飛行船は最後に置いた箱だけ有効!ということになってれば安心です。
で 有効な箱だけ残ってほかが自動で消えてくれれば混乱も起きません。
写真は 最初に右奥の箱で準備をしていたけれど あとから左手前の箱を置き直した というような場合です。
新しい箱に広告画像を貼ってスタンバイ状態にすると 先に置いた右奥の箱が消えて無効になり 左手前の箱が有効で残ります。
スクリプトはこんな感じ:
link_message(integer from, integer class, string state, key id) {
if (state=="standby") {
llRegionSay(Channel,"Clear"); // "Clear" を言って飛行船やほかの箱を消す
llListen(Channel,"",NULL_KEY,"Clear"); // 自分も(ほかからの) "Clear" を聞く準備
// (...)
}
}
listen(integer ch, string na, key id, string msg) {
llDie(); // ほかの箱から "Clear" を聞いたら自分を消す
}
llListen() と listen() は自分自身の発言は聞かない仕様になってます。
なのでもし聞こえたのならほかの箱からの指令だというわけで 最後に "Clear" 指令を出した箱だけが残るというしかけです。