Хочешь узнать как попасть в Second Life?

 

 

Русификатор для клиента Second Life версии 1.20.15.92456

Патч загружен 9735 раз
Подробнее о русификаторе

 



Зарегистрироваться
Вспомнить пароль

Top-10


Первые шаги в Second Life. Часть 1

Регистрация аккаунта

Как заработать в Second Life легко и быстро!

Русификация SL-клиента

Халява, сэр!

LSL. Основы. Часть 1

Системные требования

Любовь единорога - это прекрасно!

Управляем "собой"

Москва в Second Life – это, безусловно, товарищество. Часть 1

 
     

Сейчас на сайте

Сейчас на сайте 8 пользователей и 22 гостя.

Пользователи на сайте

  • Butterfly
  • Елена115
  • Marie
  • Oksana Quintessa
  • Не Свобода
  • Sunnyk
  • SOb Zemlja
  • HaruHaru

Объявления


Конкурс "Русская машинима Second Life"

BCC present: HALLOWEEN

GOA party

Школа "SecondRussia"

Награждение участников конкурса "Здравствуй, школа!"

 
     

Афиша


В ближайшие дни в Second Life:

Афиша: интересные события в Second Life 21 ноября – 23 ноября 2008 года

Концерт из Санкт-Петербурга

Афиша: интересные события в Second Life 14 ноября – 16 ноября 2008 года

Ежемесячная фотосессия: Cienega Soon

Международный день борьбы со СПИДом в Second Life

 
     

LSL. Основы. Часть 5.2

Автор: Zuba Zenovka      Время публикации: 16:19, 05.07.07
Темы:

Продолжим рассмотрение функции llSensor.

range - максимальное расстояние поиска. Т.е. если этот параметр будет равняться 20 метрам, то поиск будет производиться не больше чем на 20 метров от объекта. Максимально допустимое значение - 96 метров. Функция llSensor может обнаруживать объекты и агенты только на текущем симе. Например, если вы стоите рядом с границей двух симов, и на соседнем симе есть агенты, сенсор их не найдет.

arc - угол (дуга), в котором производится поиск. Угол указывается в радианах (НЕ ГРАДУСАХ!) по вектору вдоль оси Х. Не стоит пугаться умных слов! Даже если вы ничего не смыслите в тригонометрии, с этим параметром вы разберетесь довольно быстро - нужно всего лишь запомнить несколько простых констант. Воспользуемся для наглядности иллюстрациями с сайта www.lslwiki.net.

arc=PI/4 - сканирование будет произведено в радиусе 45 градусов вокруг оси X.

arc=PI/4

arc= PI_BY_TWO - 90 градусов вокруг оси Х (полушарие).

arc= PI_BY_TWO

arc=PI - 180 градусов вокруг оси Х (сфера).

arc=PI

Что ж, теперь ваших знаний хватит, чтобы расшифровать следующую запись llSensor("", NULL_KEY, AGENT, 96, PI).

Как вы, наверняка, уже и сами ответили, по этой команде запустится на сканирование одиночный сенсор, который будет искать всех агентов (аватар) вокруг себя (сфера) на максимальном расстоянии 96 метров.

А что произойдет, когда сенсор найдет или не найдет какой-либо объект? Для этого необходимо применить события sensor() и no_sensor(), но об этом позже. А сейчас переходим к следующей функции.

Функция llSensorRepeat
Синтаксис llSensorRepeat(string name, key id, integer type, float range, float arc, float rate)

Эта функция создает постоянный сенсор, который производит сканирование с интервалом rate. Он почти во всем соответствует llSensor за исключением дополнительного параметра и некоторых деталей. Именно эту функцию мы будем использовать в нашем радаре.

rate - задает интервал сканирования в секундах.

Сенсор с указанием времени сканирования может быть только один в скрипте. Любой вызов еще одного llSensorRepeat или простого llSensor приведет к остановке текущего llSensorRepeat (прерывание также можно сделать с помощью специальной функцией llSensorRemove).

В некоторых источниках сообщается, что якобы с помощью функции llSensorRepat можно сканировать объекты и агентов на соседних симах с интервалом не чаще одного раза в 5 секунд. Я провел ряд экспериментов с текущим клиентом (1.17.0). Оказалось, что эта недокументированная функция работает, но далеко не всегда и не везде, так что использовать ее я не рекомендую.

Функция llSensorRemove
Cинтаксис llSensorRemove()

Удаляет сенсор, установленный функцией llSenosorRepeat. Никаких дополнительных параметров указывать не нужно, так как в объекте может содержаться только один сенсор с интервалом времени.

Любое удачное или неудачное сканирование приведет к срабатыванию соответствующих событий. Рассмотрим их.

Событие sensor
Cинтаксис sensor(integer num_detected) { }

Данное событие срабатывает каждый раз, когда запущенный на сканирование сенсор обнаруживает объекты и/или аватары согласно условиям поиска. Событие также возвращает количество обнаруженных объектов/агентов. Датчик позволяет обнаружить максимум 16 объектов и/или агентов. Информация о найденных агентах/объектах доступна через функции llDetected*. Найденные агенты/объекты сортируются в порядке отдаления от объекта, содержащего сенсор.

Пример использования (example_001):

example_001

При клике на объекте запускается на сканирование один сенсор, который будет искать аватары в радиусе 10 метров. В случае обнаружения, он прошепчет их имена в общий чат. Если по каким-то причинам ничего обнаружить не удалось, дополнительных действий не произойдет, т.к. событие no_sensor() не описано.

Событие no_sensor()
Cинтаксис no_sensor() { }

Срабатывает всякий раз, когда запущенный на сканирование сенсор ничего не обнаружил.

Пример использования (example_002):

example_002

Данный пример практически идентичен предыдущему, но здесь добавлено событие no_sensor, которое сработает, если наш сенсор ничего не найдет. Также будет выведено соответствующее сообщение в чат. Следует помнить, что мы применили "обычный" сенсор поз повтора сканирования, поэтому после одной удачной или неудачной попытки сканирования работа приостановится, и для нового сканирования надо будет заново нажать на объект.

Начальные сведения по сенсорам получены! Для тех, кто хочет изучить эту тему поглубже, полезные ссылки:
http://www.lslwiki.net/lslwiki/wakka.php?wakka=sensors
http://wiki.secondlife.com/wiki/Category:LSL_Sensor

Продолжение следует...

Нет комментариев



Свежие комментарии


Не Свобода пишет в Настоящие лица резидентов  

Oksana Quintessa пишет в The Three Graces  

Oksana Quintessa пишет в LindenLab забанили Вторую Москву  

SashaGopheller пишет в Количество участков в Second Life продолжает падать  

Manoul Carnell пишет в 80% пользователей Интернет уйдут в Second Life  

Koshachii Xeno пишет в Oksana Quintessa RL  

Manoul Carnell пишет в Трон Фараона  

Ane пишет в Концерт из Санкт-Петербурга  

Ane пишет в Oxy Jewell: Эфирные отголоски забытых мечтаний  

Ane пишет в Goоgle закрывает Lively  

 
   

Галерея


Последнее добавленное изображение.
Самое популярное изображениеСлучайное изображение
 
     

Подписка

RSS лента статей

RSS лента новостей

RSS лента блогов

Партнеры

sm_sl.gif

rz_sl.gif

Статистика




Rambler's Top100

количество читателей онлайн и всего