<?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] == null) 
        return desc + "[kvalue:обычное приветствие; Здравствуйте!;str]";
    else
        return helloTable[desc][0];


function GetHelloSound(desc)

    if (helloTable[desc] == null)
        return [kvalue:обычный эффект;H.Percussion.fx9;fx];
    else
        return helloTable[desc][1];


-- Вызывается во время сброса скрипта на начальные настройки.
function OnInit()

    -- SetSensor определяет расстояние узнавания помощником владельца.
    -- При первом значении помощник узнает,
    -- при выходе из второго значения помощник игнорирует.
    -- Например, помощник узнает с 3 м,
    -- при удалении на 300 м игнорирует.
    H.SetSensor(3, 30);



-- Вызывается при вхождении владельца в зону узнавания помощника.
function OnUserEntered(desc)

    -- PlaySound проигрывает музыку или устанавливает label.
    -- Первая переменная - канал, вторая - музыка.
    -- Например, на канале 0 установлены два label.
    H.PlaySound(0, "r[1]r[2]");

    -- В зависимости от обнаруженного посетителя раздается звуковой эффект.
    if (GetHelloSound(desc) != null)
    
        -- SetPercussion устанавливает звук.
        H.SetPercussion(1, GetHelloSound(desc));
        -- "x" проигрывает сигнал, установленный SetPercussion.
        H.PlaySound(1, "x");
    

    -- Помощник активирует анимацию.
    -- Первая переменная 0 означает помощника.
    -- Вторая переменная 1 - label номер [1] PlaySound.
    -- Третья переменная - махание руками.
    H.StartAnimation(0, 1, [kvalue:приветственное движение;H.Emotion.wave;moti]);

    -- Помощник говорит с облаком.
    -- Первая переменная 2 - label номер [2] PlaySound.
    -- Вторая переменная - речь помощника.
    H.Say(2, GetHelloString(desc));


-- Движения для настройки:
--    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>
