<?xml version="1.0" encoding="UTF-16"?>
<lboxes>
  <lbox>
    <id>102</id>
    <name><![CDATA[Привет!]]></name>
    <desc><![CDATA[Если приблизиться к дому, помощник поздоровается.]]></desc>
    <script><![CDATA[-- Можно сделать так, чтобы помощник произносил разные приветствия в зависимости от посетителя.
-- Для этого введите в таблицу ниже имя персонажа и приветствие, активируемое, когда он посещает дом.

helloTable = {
    ["[kvalue:имя_персонажа1;имя_персонажа1;str]"] = {
        "[kvalue:приветствие1;Привет!;str]",
        [kvalue:эффект приветствия1;H.Percussion.fx2;fx]
    },

    ["[kvalue:имя_персонажа2;имя_персонажа2;str]"] = {
        "[kvalue:приветствие2;Приветствую!;str]",
        [kvalue:эффект приветствия2;H.Percussion.fx11;fx]
    },

    ["[kvalue:имя_персонажа3;имя_персонажа3;str]"] = {
        "[kvalue:приветствие3;Добро пожаловать!;str]",
        [kvalue:эффект приветствия3;H.Percussion.fx6;fx]
    }
}

function GetHelloString(desc)
    if helloTable[desc] == nil then
        return desc .. "[kvalue:обычное приветствие; Здравствуйте!;str]"
    else
        return helloTable[desc][1]
    end
end

function GetHelloSound(desc)
    if helloTable[desc] == nil then
        return [kvalue:обычный эффект;H.Percussion.fx9;fx]
    else
        return helloTable[desc][2]
    end
end

-- Вызывается во время установки/сброса скрипта на начальные настройки.
function OnInit()
    -- SetSensor определяет расстояние узнавания помощником владельца.
    -- При первом значении помощник узнает,
    -- при выходе из второго значения помощник игнорирует.
    -- Например, помощник узнает с 3 м,
    -- при удалении на 30 м игнорирует.
    H.SetSensor(3, 30)
end

-- Called when a user enters the sensor range.
function OnUserEntered(desc)

    -- PlaySound проигрывает музыку или устанавливает label.
    -- Первая переменная - канал, вторая - музыка.
    -- Например, на канале 0 установлены два label.
    H.PlaySound(0, "r[1]r[2]")

    -- В зависимости от обнаруженного посетителя раздается звуковой эффект.
    local sound = GetHelloSound(desc)

    if sound ~= nil then
        -- SetPercussion устанавливает звук.
        H.SetPercussion(1, sound)
        -- "x" проигрывает сигнал, установленный SetPercussion.
        H.PlaySound(1, "x")
    end

    -- Помощник активирует анимацию.
    -- Первая переменная 0 означает помощника.
    -- Вторая переменная 1 - label номер [1] PlaySound.
    -- Третья переменная - махание руками.
    H.StartAnimation(0, 1, [kvalue:Greet Motion;H.Emotion.wave;moti])

    -- Помощник говорит с облаком.
    -- Первая переменная 2 - label номер [2] PlaySound.
    -- Вторая переменная - речь помощника.
    H.Say(2, GetHelloString(desc))
end

-- Движения для настройки:
--    point, sleep, angry, blush, dance, clap, comfort, drink, eat, laugh, kneel, no, 
--    otl, pat, plead, ready, sad, slap, surprise, taunt, thanks, thunder,
--    useup, victory, yes, wave, boo, charge, dislike, panic, salute, smile,
--    sorry, think, blueflag, twoflag, whiteflag, sing, jump]]></script>
    <icon>4</icon>
  </lbox>
</lboxes>
