Сначала вам необходимо сделать из примов дверь, которую вы поставите в своем доме. После где-нибудь на стене дома создайте кнопку из прима, например, в виде маленького кубика.
Принцип действия создаваемых нами дверей будет следующим: вы нажимаете на кнопку, которая посылает сообщение двери, та открывается, вы проходите, и через 60 секунд дверь сама автоматически закрывается. Отмечу, что из-за ограничений Linden Lab на функции перемещения дверь может менять свое местоположение только в пределах десяти метров.
Ну, а теперь переходим к делу. Сначала создадим кнопку.
Зайдите в режим редактирования "Edit" прима кнопки, перейдите в раздел "Content", нажмите там "New Script" - появится файл "New Script".
Кликните два раза на этом файле - откроется окно редактирования скрипта. Удалите все, что там написано, и вставьте скрипт кнопкиdefault
{
touch_start(integer total_number)
{
llSay(2501, "openbox2");
}
}
Далее в редакторе скрипта нажмите кнопку "Save", подождите пока скрипт откомпилируется, после чего закройте все окна редактирования.
Ну, вот, ваша кнопка готова.
Теперь необходимо вставить скрипт в дверь-integer Handle;
default {
state_entry() {
Handle = llListen(2501, "", NULL_KEY, ""); // start listening
}
listen(integer channel, string name, key id, string message) {
vector vopen=<0.643,177.622,48.885>;
vector vclose=<0.643,187.062,48.885>;
if (message == "openbox2") {
llSetPos(vopen);
llSleep(60.0);
llSetPos(vclose);
}
else {
if (message == "closebox2") {
llSetPos(vclose);
}
}
}
}
Проделаем для двери все то же самое, что мы делали для кнопки для того, чтобы вставить скрипт. Но перед нажатием кнопки "Save" вам будет необходимо проставить в скрипте правильные позиции именно вашей двери.
Этих позиций всего две:
- дверь открыта ("vector vopen");
- дверь закрыта ("vector vclose").
Нужные координаты вы можете посмотреть в свойствах самой двери в режиме редактирования в разделе "Object".
Двигая дверь вручную в режиме редактирования, можно получить координаты открытой и закрытой двери, после чего их необходимо записать в вышеуказанные переменные.
В примере кнопка и дверь общаются на канале 2501, это число вы можете изменить в обоих скриптах на любое другое, кроме нуля. Если же вы решите воспользоваться именно нулем, то сообщения кнопки будут слышать все рядом находящиеся резиденты, ведь ноль - это общий канал чата.
Не ставьте и слишком большое число - количество каналов ограничено.
Постарайтесь расположить кнопку не слишком далеко от двери, иначе дверь может просто ее не "услышать".
Команду на открытие/закрытие двери можно дать и вручную, написав в чате:
/2501openbox2 (или /2501closebox2 – но дверь должна сама автоматически закрываться, эта возможность оставлена на всякий случай).
Имена команд - openbox2 и closebox2 - можно менять на свои команды так же, как и номер канала, например, на "openmydoor". Главное, не забудьте сделать это в обоих скриптах!