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

 

 

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

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

 



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

Top-10


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

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

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

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

Халява, сэр!

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

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

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

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

Русских блокируют?! Часть 2.

 
     

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

Сейчас на сайте 5 пользователей и 18 гостей.

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

  • SashaGopheller
  • Не Свобода
  • Alex
  • SOb Zemlja
  • Koshachii Xeno

Объявления


Конкурс "Мисс Россия в SL"

Dark Fairytale Story

MaxaoN. BDSM Art - галерея художественных БДСМ фото.

"LUNATIC RECORDS" - дарк психаделик организация

Гонки на Jet Ski в честь Дня ВМФ Росии на Luxory

 
     

Афиша


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

Burning Life: требуются добровольцы

Музыка мира в Second Life

Вторая Windlight-сессия – научитесь фотографировать правильно

Афиша: интересные события в Second Life 15 августа - 17 августа 2008 года

Прокатитесь в эти выходные на Поезде Мира

 
     

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

Автор: Zuba Zenovka      Время публикации: 13:51, 11.05.07
Темы:

Клиентская программа Second Life обладает не только встроенным 3D-редактором, но и инструментами для написания скриптов на языке LSL (Linden Scripting Language).
LSL представляет собой простой, но достаточно мощный язык описания поведения объектов* в Second Life.

*под объектом понимается примитив или набор связанных примитивов.

Существует несколько способов создания нового скрипта.

Способ 1

Кликнаем правой кнопкой мыши на земле, в открывшемся круглом меню выбираем Create. Затем щелкаем на земле левой кнопки мыши. Это должно привести к созданию нового объекта (по умолчанию куб) и появлению окна Edit.
В правом нижнем углу окна нажмите кнопку More>>.

Рис. 01
Рис. 01

Выбираем Content и нажмимаем New Script...

Рис. 02
Рис. 02

В папке Contents появится новый скрипт с названием New Script, при двойном клике на который откроется редактор скриптов.

Рис. 03
Рис. 03

Способ 2

Открываем инвентарь, выбираем меню Create и пункт New Script.

Рис. 04
Рис. 04

В папке скриптов появится новый скрипт с названием New Script, при двойном клике на который откроется редактор скриптов.

Способ 3

Этот вариант предполагает использование любого доступного внешнего (оффлайн) редактора скриптов с последующим копированием скрипта в редактор скриптов Second Life.

Первое время рекомендую использовать способ 1.

Если заглянуть в редактор скриптов, то можно увидеть, что там автоматически сгенерирован некий скрипт.

Рис. 05
Рис. 05

Перед нами классический пример программирования известный как "Hello, World!", но на манер Second Life. Кратко рассмотрим этот код.

Default State

Первое, что мы видим - это слово default - вызов так называемого "state", который представляет собой нечто среднее между подпрограммой и точкой входа в подпрограмму. Не будем пока останавливаться на state подробно (позже ему будет посвящена отдельная статья). Необходимо запомнить следующее: каждый скрипт LSL в обязательном порядке должен содержать default state. Это отправная точка для компилятора LSL. Весь код внутри state должен быть заключен в фигурные скобки. Также следует помнить, что код внутри state default запускается автоматически на выполнение, кроме случаев, когда вы находитесь на местности, в которой запрещено выполнение скриптов. Определить такую местность можно по значку с перечеркнутым листом, который появляется в верхнем меню клиента.

Рис. 06
Рис. 06

События (Events)

Основной частью скриптов LSL является обработка событий, происходящих с объектом и/или внешним миром (по отношению к объекту). Именно события запускают в работу скрипт, те или иные его подпрограммы (если быть точнее, обработчики событий). Появился на свет сам объект - это событие, на объект нажали - событие, мимо объекта кто-то прошел - тоже событие. На момент написания этой статьи существовало 33 события, которые можно отработать в коде объекта.

Событие state_entry

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

*Reset скрипта происходит:
- при компилировании (сохранении) скрипта;
- при нажатии на кнопку Reset в окне редактора скрипта;
- при помощи специальной функции llResetScript.

*Следует помнить, что событие срабатывает только при сбросе скрипта! Например, если положить объект в инвентарь и потом достать его, скрипт не перезапустится!

Другими словами, если вспомнить, что default state запускается автоматически, можно сказать следующее: при сбросе скрипта автоматически срабатывает state dafault и его событие state_entry. Разумеется, при условии, что это событие описано. Хотя в данном примере такое событие и идет первым, это вовсе не обязательно. Даже если событие будет находиться в конце state, то компилятор его найдет и выполнит. Код внутри событий должен быть заключен в фигурные скобки.

Событие touch_start

Это событие происходит всякий раз, когда кто-то прикасается к объекту путем простого клика мышкой или выбора пункта Touch в круглом меню. Отличие от state_entry сразу заметно - это функция, которой передаются некие параметры (integer total_number). Можно использовать параметры, которые передаются вам в обработчике событий (Statements), можно не использовать, но они в любом случае передаются вам от SL. В приведеннм примере вам передается количество агентов (аватар), которые прикоснулись в данным момент к объекту.

Statements

Заявления - это тот самый код, который находится внутри обработчика событий. В нашем случае это функция llSay, с некоторыми параметрами в скобках, которая выведет текст в общий чат клиента, и обязательная точка с запятой в конце ( всегда завершайте команды точкой с запятой!). Помните также, что не принято писать больше одной команды в строке, хотя такое и допускается.

Сохранение скрипта

Нажмите кнопку Save, если она активна. Произойдет компиляция, сохранение и сброс скрипта. Сработает событие state_entry, state default и объект произнесет в общий чат:

Рис. 07
Рис. 07

Состояние скрипта

Следует помнить, что скрипт сохраняет свое состояние. Что это значит? Фактически работа скрипта не завершается, но может приостановиться. Например, вы кладете объект со скриптом в свой инвентарь и через какое-то время достаете его снова. State_entry выполняться не будет, так как это уже произошло при сбросе скрипта. Если бы в скрипте были какие-то переменные, они бы также сохранили свои значения. Получается, что скрипт как бы ставится на паузу, со следующим полным восстановлением в работе.

Примечание

Некоторое число русских резидентов устанавливают русские меню и кнопки в клиенте Second Life. Почему я не использую русский интерфейс в клиенте Second Life? Хочу напомнить, что русский интерфейс не входит в число официально поддерживаемых Second Life и является самодельным дополнением группы энтузиастов. Даже официально доступные языки интерфейса (кроме, естественно, английского) имеют статус беты. Поэтому 99% резидентов используют английский интерфейс.
Представьте себе ситуацию, в которой вы просите помощи у резидента, не имеющего русского интерфейса (или он просит у вас) - легко ли вам будет договориться, на какие кнопки нажимать и какое меню открывать?
Кроме того, в случае возникновения специфических проблем с клиентом, вы не сможете обратиться в официальную службу поддержки Second Life, если пользуетесь русским интерфейсом - они-то, естественно, используют английский язык в клиенте, и вы попросту не сможете понять друг друга.
Поверьте, даже с минимальным знанием английского языка достаточно просто разобраться в оригинальном интерфейсе. Используйте английский интерфейс - так будет лучше и проще!

Полезные ссылки
http://www.lslwiki.net
http://wiki.secondlife.com/wiki/LSL_Portal

Комментарии
Ivus 14:56, 11.05.07 ссылка

С нетерпением буду ждать выхода следующей статьи. Написано понятно и доходчиво :-) . Жалко, что несколько месяцев назад не было этого сайта и возможности прочесть на русском языке документацию по LSL - приходилось разбираться в англоязычной документации, которая сильно проигрывает статье Зубы :-) .

Ответить
zaha 15:01, 11.05.07 ссылка

Очень полезная статья!

Ответить
Alex 19:10, 11.05.07 ссылка

Про On Rezz надо было еще сказать сразу.

Ответить
Koshachii Xeno 02:55, 12.05.07 ссылка

Это только первая статья из цикла. Все будет. rolleyes

Ответить
Freemsk1 18:44, 06.07.07 ссылка

Полезно, очень... clap

Ответить
Za.vodila 21:52, 01.12.07 ссылка

этого не хватало, спасибо thumbup1

Ответить
Dolly 00:35, 08.12.07 ссылка

blushing Я еще не играла в игру и не знаю как начать, но эта статья мне пригодится когда узнаю.Вы мне поможете вступить в игру? blushing

Ответить
Umka 04:04, 08.12.07 ссылка

Чтобы "вступить" в этот клуб, начни читать этот раздел FAQ

Ответить
Selena-irina 13:33, 16.12.07 ссылка

помогите, пожалуйста, разобраться с игрой.

Ответить



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


Alex пишет в Обменный сервис L$ -> USD и USD ->L$  

Flar Baxton пишет в Конкурс "Мисс Россия в SL"  

Diky пишет в 1C в SL (1SL)  

Alex пишет в Путеводитель по русским землям. Русский Архипелаг  

MaxFromRussia пишет в Luxory Russia: день рождения Vanilnaya Blanco и Lele Carling  

WertAhn пишет в где узнать статистику запросов в SL?  

Lienna Lowey пишет в Маленький дружок  

thoughtless пишет в Вторая Windlight-сессия – научитесь фотографировать правильно  

Pavel EF пишет в Религии в Second Life. Иудаизм  

thoughtless пишет в Dark portrait  

 
   

Галерея


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

Каталог

русскоязычных ресурсов, посвященных Second Life
 
     

Подписка

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

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

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

Партнеры

sm_sl.gif

rz_sl.gif

Статистика




Rambler's Top100

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