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

 

 

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

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

 



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

Top-10


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

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

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

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

Халява, сэр!

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

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

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

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

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

 
     

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

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

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

  • delomann
  • Butterfly
  • AXP
  • SashaGopheller
  • Не Свобода
  • Oksana Quintessa
  • cKeJIeT
  • Sunnyk

Объявления


Конкурс "Русская машинима 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 (отформатированная )(перевод HELP c некоторыми дополнениями)

Автор: Ruslan      Время публикации: 16:44, 03.10.07
Темы:

КРАТКИЙ СПРАВОЧНИК ПО LSL

 

ЯЗЫК LSL

Constants

Константы в LSL это заранее заданные глобальные преременные определенного типа которые используются для удобства восприятия каких либо числовых значений.

Константы описаны в приложении : «C. КОНСТАНТЫ»

Events

LSL событийный язык и в любой вашей программе должно быть хотябы одно обьявленное и описанное событие. Все команды языка бутут выполнятся в теле события.

События описаны в приложении : «B. СОБЫТИЯ»

Functions

Набор из более чем трехсот функций опысывается в приложении: «A. БИБЛИОТЕЧНЫЕ ЛИНДЕН-ФУНКЦИИ»

Flow Control

Команды контроля выполнения программы:

 

if(условие){программа выполняется если истина} else {программа выполняется если ложь}

if(условие){программа выполняется если истина}

 

while(условие){программа выполняющаяся циклически пока условие не будет истинно - условие проверяется перед итерацией}

do{программа выполняющаяся циклически пока условие не будет истинно - условие проверяется после итеррации}while(условие)

for(инициализация переменной; условие; операция над переменной например инкремент){программа выполняющаяся циклически пока условие не будет истинно - условие проверяется после итеррации}

 

jump метка_места_перехода;

...

...

метка_места_перехода@;

...

return значение; вернуть значение функции если функция была обьявлена как функция возвращающая какоето значение.

return; выход из цикла, из функции , из события , после выхода продолжается выполнение дальнейшей программы.

Operators

Список операторов:

() [] . Parenthesis, Brackets, and Dot do this second (do this first)

(type) Typecasting message = "The result is:" + (string) result;

! ~ ++ -- NOT, One's Complement, Increment, Decrement counter++;

* / % Multiply, Divide, Modulus rollover = (count + 1)%5;

- Subtraction one = 3 - 2;

+ Addition or joining Strings two = 1+1; text = "Hello" + "World"; myList = [1, 2, 3] + [4, 5]; newList = oldList + addList;

<< >> Left Shift, Right Shift eight = 4 << 1;

< <= > >= Less Than, Less Than Or Equal To, isFalse = (6 <= 4);

== != Comparison Equal, Comparison Not Equal isFalse = ("this" == "that"irony;

& Bitwise AND zero = 4 & 2;four = 4 & 4;

^ Bitwise XOR zero = 4 ^ 4; six = 4 ^ 2;

| Bitwise OR four = 4 | 4; six = 4 | 2;

&& Comparison AND isFalse = (FALSE && TRUE);

|| Comparison OR isTrue = (FALSE || TRUE);

= += -= *= /= %= Assignment four = 4;

States

В любой программе написанной на LSL обязательно должно быть хотябы одно состояние. Начальное состояние в котором обявляются и описываются все события называется default состоянием.

Форма записи состояний:

default{событие1{}событие2{}событиеN{}} -- так описывается начальное состояние

state состояние1{событие1{}событие2{}событиеN{}} -- так описывается любое состояние определенное пользователем

Вызов любого из обьявленных и описанных состояних может быть произведен из любого места в программе описанной в событиях.

 

Форма вызова события:

default

{

событие1 { ... }

событие2 { ... ; state состояние2 ; ... ; }

событиеN { ... }

}

 

state состояние2

{

событие1 { ... }

событие2 { ... ; state default ; ... ; }

событиеN { ... }

}

Обьявление состояния default не требует ключевого слова state.

Types

integer - целочисленный тип данных

float - тип данных с плавающей точкой

string - строковый тип данных а также и символьный

key - тип данных использующийся для хранения уникальных ключей ID

vector - тип данных использующийся для хранения коордитат или схожих данных в виде < x, y, z >

rotation - тип данных использующийся для хранения угловых параметров или схожих данных в виде < x, y, z, s >

list - смешаный тип данных обьеденяющий в себе понятия структуры и масива. Можно хранить списки любых типов данных в любом порядке.

Variables

Примеры записи значений переменных разных типов:

integer - 1234567

float - 123456.789

string - "stroka"

key - "a822ff2b-ff02-461d-b45d-dcd10a2de0c2"

vector - < 0.35, 1.456, 234.23 >

rotation - < 0.35, 1.456, 234.23, 12.3 >

list - [1234567, "stroka", "a822ff2b-ff02-461d-b45d-dcd10a2de0c2", < 0.35, 1.456, 234.23, 12.3 >, < 0.35, 1.456, 234.23 >]

Errors

Сообщения о ошибках происходящих в работе програмы отправляются по специальному каналу DEBUG_CHANNEL и они все будут отображатся в тексте чата.

 

Приложение A. БИБЛИОТЕЧНЫЕ ЛИНДЕН-ФУНКЦИИ

A.1. llAbs

integer llAbs(integer val);

Возвращает абсолютное число

A.2. llAcos

float llAcos(float val);

Возвращает арккосинус числа

A.3. llAddToLandPassList

llAddToLandPassList(key avatar, float hours);

Добавить аватара avatar к пропускному списку Этой земли на время hours.

A.4. llAdjustSoundVolume

llAdjustSoundVolume(float volume);

Настроить громкость проигрывания звука прикрепленного к обьекту с этим скриптом и запущенного с помощью llPlaySound или llLoopSound. Эта функция не дает эффекта если не установлен тригер звука с помошью функции llTriggerSound.

A.5. llAllowInventoryDrop

llAllowInventoryDrop(integer add);

Если add = TRUE, юзер не сможет модифицировать права доступа для выбрасывания из инвентаря

A.6. llAngleBetween

float llAngleBetween(rotation a, rotation b);

Возвращает угол в радианах между поворотами a и b.

A.7. llApplyImpulse

llApplyImpulse(vector force, integer local);

Применить импульс force к локальной системе координат local если local = TRUE. Иначе приложенный импульс будет приложен к глобальной системе координат. Эта функция работает только с физическими обьектами.

A.8. llApplyRotationalImpulse

llApplyRotationalImpulse(vector force, integer local);

Задать импульс вращения force к системе координат local если local = TRUE. Иначе приложенный импульс будет приложен к глобальной системе координат. Эта функция работает только с физическими обьектами.

A.9. llAsin

float llAsin(float val);

Возвращает арксинус в радианах

A.10. llAtan2

float llAtan2(float y, float x);

Возвращает arctangent2 из y, x

A.11. llAttachToAvatar

llAttachToAvatar(key avatar, integer attachment);

Прикрепить к аватару в точку attachment. Требуется PERMISSION_ATTACH разрешение аватара на выполнения данной функции.

A.12. llAvatarOnSitTarget

key llAvatarOnSitTarget(void);

Если аватар сидит на обьекте предназначенном для сидения , возврашается ключ аватара, иначе возвращается NULL_KEY. Это единственная возможность обнаружить сидит ли аватар на обьекте определенном с помощью функции llSitTarget для сидения.

A.13. llAxes2Rot

rotation llAxes2Rot(vector fwd, vector left, vector up);

Возвращает свойства вращение обьекта , представленное в осевых координатах. Возвращает поворот системы заданной тремя координатами.

A.14. llAxisAngle2Rot

rotation llAxisAngle2Rot(vector axis, float angle);

Возвращает поворот rotation сгенерированный по углу angle на оси axis.

A.15. llBase64ToString

string llBase64ToString(string str);

Конвертирует строку Base 64 string в обычную строку. Если преабразование создает непонятный символ то функция конвертирует его в пробел.

A.16. llBreakAllLinks

llBreakAllLinks(void);

Разорвать связь всех обьектов в установленной связи(залинкованых или обьединеных в оди составной). Требует получения PERMISSION_CHANGE_LINKS разрешения.

A.17. llBreakLink

llBreakLink(integer linknum);

Разорвать связь с сгрупированным(залинкованным) обьектом linknum. Требует получения PERMISSION_CHANGE_LINKS разрешения после которого у нас будет право на разгрупировку.

A.18. llCSV2List

list llCSV2List(string src);

Создать список list из строки srс , данные в которой перечисляются через запятую.

A.19. llCeil

integer llCeil(float val);

Возвращает наибольшее integer значение >= val.

A.20. llCloseRemoteDataChannel

llCloseRemoteDataChannel(key channel);

Закрывает XML-RPC канал открытый с помощью функции llOpenRemoteDataChannel .

A.21. llCloud

float llCloud(vector offset);

Возвращает плотность облака по текущим координатам смещенным на вектор offset .

A.22. llCollisionFilter

llCollisionFilter(string name, key id, integer accept);

Если допуск accept == TRUE, допускается только столкновение с обьектом name и id , иначе с обьектом без имени name или id. Спецификаторы могут принимать любую последовательность или NULL_KEY если не нужен фильтр на передачу параметра.

A.23. llCollisionSound

llCollisionSound(string impact_sound, float impact_volume);

Выключить звук столкновения по умолчанию, и заменить звуком удара с impact_sound находящимся в object inventory.

A.24. llCollisionSprite

llCollisionSprite(string impact_sprite);

Запретить появление спрайта при столкновения установленный по умолчанию, заменить толчковый спрайт на установленный по умолчанию impact_sprite из инвентаря обьекта. Только запретить спрайт столкновения установленный по умолчанию если строка пуста.

A.25. llCos

float llCos(float theta);

Возвращает косинус угла theta в заданного в радианах

A.26. llCreateLink

llCreateLink(key target, integer parent);

Создает связь(линк) обьекта с другим обектом по его ключу target. Требуется получить разрешение PERMISSION_CHANGE_LINKS . Если параметр parent = TRUE , то обьект прикрепится к корневому обьекту.

A.27. llDeleteSubList

list llDeleteSubList(list src, integer start, integer end);

Удаляет елементы из списка src начиная с позиции start и заканчивая позицией end. Если промежуток между конечной и начальной позицией равен 0,-1 то удалится весь список, если 0,0 то удалится первый элемент , если напимер нач позиция больше конечной то удалится все (включая и позиции старта и конца)кроме того что было межу этими позициями.

A.28. llDeleteSubString

string llDeleteSubString(string src, integer start, integer end);

Удаляет елементы из строки src начиная с позиции start и заканчивая позицией end. Если промежуток между конечной и начальной позицией равен 0,-1 то удалится все символы, если 0,0 то удалится первый символ , если напимер нач позиция больше конечной то удалится все (включая и позиции старта и конца)кроме того что было межу этими позициями.

A.29. llDetachFromAvatar

llDetachFromAvatar(key avatar);

Отсоединяет от автара присоединеную к нему вещь содержащую этот срипт с этой функцией по его ID.

A.30. llDetectedGrab

vector llDetectedGrab(integer number);

Возвращает вектор мгновенного движения обнаруженного обьекта по его номеру обнаружения. (не ID) . Возвращает <0,0,0> если номер не действительный.

A.31. llDetectedGroup

integer llDetectedGroup(integer number);

Возвращает TRUE если обнаруженный обьект number это участник группы владельца этого скрипта.

A.32. llDetectedKey

key llDetectedKey(integer number);

Возвращает ключ обнаруженного обьекта по его номеру обнаружения(маркеру) number. Возвращает NULL_KEY если номер не действительный.

A.33. llDetectedLinkNumber

integer llDetectedLinkNumber(integer number);

Возвращает номер обьединеного(залинкованного) обьекта по которобу было произведено нажатие и в результате чего было запущенно touches событие. 0 - если обьект не залинкован(необнаружен), 1 - если корневой обьект, 2,3,4... и т.д. - если обьект дочерний .

A.34. llDetectedName

string llDetectedName(integer number);

Возвращает имя по номеру обнаружения number обьекта. Возвращает пустую строку если номер не действительный и не совпадает с обнаруженными обьтектами.

A.35. llDetectedOwner

key llDetectedOwner(integer number);

Возвращает ключ обнаруженного обьекта владельца по номеру обнаружения number. Возвращает NULL_KEY если номер недействительный.

A.36. llDetectedPos

vector llDetectedPos(integer number);

Возвращает положение обнаруженного обьекта по его номеру обнаружения number .Возвращает <0,0,0> если number недействительный.

A.37. llDetectedRot

rotation llDetectedRot(integer number);

Возвращает поворот обнаруженного обьекта по его номеру обнаружения number .Возвращает <0,0,0,1> если number недействительный.

A.38. llDetectedType

integer llDetectedType(integer number);

Возвращает тип обнаруженного обьекта по его номеру обнаружения(маркеру) number . Тип является битовым полем содержащим в себе одну или несколько констант (AGENT, ACTIVE, PASSIVE, SCRIPTED). Возвращает 0 если указанный маркер number недействительный(т.е. Указан маркер несуществующего обьекта).

Пример:

integer type = llDetectedType(0);//получаем параметр состояния обекта

if (type & AGENT)//сравниваем с помощю побитового И

{

// ...do stuff with the agent

}

A.39. llDetectedVel

vector llDetectedVel(integer number);

Возвращает вектор скорости обнаруженного обьекта по его номеру обнаружения(маркеру) number .Возвращает <0,0,0> если number недействительный.

A.40. llDialog

llDialog(key avatar, string message, list buttons, integer channel);

Открывает "бокс сообщения" в верхнем правом углу для данного аватара и выводит на экран сообщение. В сообщение может входить до 12 кнопок которые определяются в списке buttons. Когда аватар нажимает на кнопку имя кнопки передается по определенному каналу channel. Каналы используются такиеже как функцией llSay(), таким образом канал 0 может быть услышан каждым если он находится рядом так как это общественный канал.

LLDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], 4913);

LLDialog(who, "This shows only an OK button.", [], 192);

llDialog(who, "This chats so you can hear it.", ["Hooray"], 0);

A.41. llDie

llDie(void);

Удалить обьект содержащий этот скрипт.

A.42. llDumpList2String

string llDumpList2String(list src, string separator);

Создает строку из списка SRC используя SEPARATOR как разделитель элементов списка в строке

A.43. llEscapeURL

string llEscapeURL(string url);

Возвращает строку преобразованную в строку из escape кодов(например ( " )прямые ковычки преобразуются вот в такую последовательность &quotirony.

Экономит 20% пространства.

A.44. llEdgeOfWorld

integer llEdgeOfWorld(vector pos, vector dir);

Возвращает TRUE если линия от начальных координат pos до конечных координат dir выходит за края текущего сима (земли ) . Возвращает FALSE если концы линии находятся за пределами сима.

A.45. llEjectFromLand

llEjectFromLand(key pest);

Выбросить вредителя pest с земельной собственности по его ключу.

A.46. llEmail

llEmail(string address, string subject, string message);

Послать email по адрессу address от субьекта subject и сообщение message.

A.47. llEuler2Rot

rotation llEuler2Rot(vector vec);

Возвращает поворот представленный в системе Эйлера vec.

A.48. llFabs

float llFabs(float val);

Возвращает абсолютное значение числа val.

A.49. llFloor

integer llFloor(float val);

Возвращает наибольшее integer значение <= val.

A.50. llFrand

float llFrand(float mag);

Возвращает случайное число в диапазоне [0, mag).

A.51. llGetAccel

vector llGetAccel(void);

Получает ускорение.

A.52. llGetAttached

integer llGetAttached(void);

Возвращает точку крепления обьекта к аватару или возвращает 0 если обьект не прикреплен.

A.53. llGetAgentInfo

integer llGetAgentInfo(key id);

Возвращает информацию о данном агенте по его ID. Возвращает в виде битового поля которое можно прочитать с помощью констант agent info constants.

A.54. llGetAgentSize

vector llGetAgentSize(key id);

Если ключ id агента находится в этомже симе что и обьект с этим скриптом, возвращает размер аватара.

A.55. llGetAlpha

float llGetAlpha(integer face);

Возвращает коофициент прозрачности alpha данной стороны face. Если сторона face является ALL_SIDES возвращает значение среднего числа альфы всех сторон.

A.56. llGetAndResetTime

float llGetAndResetTime(void);

Возвращает в секундах продолжительность во внутренем хронометре скрипта. Таймер сбрасывается в ноль при вызове этой функции. Таймер также сбрасывает on rez, симулятор перезапускается , скрипт сбрасывается , и вызывается функция llResetTime. Выберите функцию llSetTimerEvent если вы хотите надежный механизм выбора времени.

A.57. llGetAnimation

string llGetAnimation(key id);

Возвращает имя анимации происхдящей в данное с аватаром по его ID.

A.58. llGetAnimationList

list llGetAnimationList(key id);

Возвращает список анимаций аватара происхдящих в данное время по его ID.

A.59. llGetBoundingBox

list llGetBoundingBox(key object);

Возвращает ограничивающий прямоугольник вокруг обьекта object (включающий любой соединеный примитив) по отношению к корневому примитиву. Возвращает значение в списке list в форме : [ (vector) min_corner, (vector) max_corner ]

A.60. llGetCenterOfMass

vector llGetCenterOfMass(void);

Возвращает центр массы коренного обьекта.

A.61. llGetColor

vector llGetColor(integer face);

Возвращает цвет данной стороны face. Если сторона face является ALL_SIDES возвращает среднее значение каждого цветового канала.

A.62. llGetCreator

key llGetCreator(void);

Возвращает ключ создателя обьекта который имеет этот скрипт.

A.63. llGetDate

string llGetDate(void);

Возвращает текущую UTC(универсальную) дату в виде --- YYYY-MM-DD.

A.64. llGetEnergy

float llGetEnergy(void);

Возвращает энергию обьекта как процент от максимума.

A.65. llGetForce

vector llGetForce(void);

Возвращает поток силы если скрипт физический.

A.66. llGetFreeMemory

integer llGetFreeMemory(void);

Возвращает доступное пространство скриптового потока(т.е. Оставшуюся свободную память которую может использовать текущий скрипт).

A.67. llGetGeometricCenter

vector llGetGeometricCenter(void);

Возвращает геометрический центр сгрупированных(залинкованых) и прикрепленных к аватару обьектов.

A.68. llGetGMTclock

float llGetGMTclock(void);

Возвращает время в секундах начиная с GMT полночи.

A.69. llGetInventoryCreator

key llGetInventoryCreator(string name);

Возвращает ключ(идентификатор) создателя обьекта name находящегося в личном инвентаре текущего обьекта.

A.70. llGetInventoryKey

key llGetInventoryKey(string name);

Возвращает ключ по заданному имени name записи(или обьекта) в личном инвентаре текущего обьекта.

A.71. llGetInventoryName

string llGetInventoryName(integer type, integer number);

Получает имя записи в личном инвентаре текущего обьекта по заданому порядковому номеру number и типу type. Выбери константу inventory constants для точного определения типа type.

A.72. llGetInventoryNumber

integer llGetInventoryNumber(integer type);

Получает количество записей в личном инвентаре текущего обьекта по заданому типу type. Выбери константу inventory constants для точного определения типа type.

A.73. llGetInventoryPermMask

integer llGetInventoryPermMask(string item, integer mask);

Возвращает ответ на запрос о разрешение mask на использование обьекта для указанного обьекта в инвентаре. Ответ возвращается в виде битовых констант Permission Mask Constants по которым можно определить какие разрешения доступны для пользователя.

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

integer JeansPerms = llGetInventoryPermMask("Black Jeans", MASK_NEXT);

if (JeansPerms & PERM_COPY)

{

llSay(0, "Следующи владелец может копировать 'Black Jeans'"irony;

}

A.74. llGetInventoryType

integer llGetInventoryType(string name);

Возвращает тип обьекта name находящегося в инвентаре обьекта. Константа INVENTORY_NONE возвращается если в инвентаре не было найдено обьекта по имени name. Выбери константу inventory constants для сравнения с возвращенными функцией данными.

A.75. llGetKey

key llGetKey(void);

Получить ключ(идентификатор) обьекта с этим скриптом.

A.76. llGetLandOwnerAt

key llGetLandOwnerAt(vector pos);

Возвращает ключ владельца земли в точке этой земли pos или NULL_KEY если земля общественная.

A.77. llGetLinkKey

key llGetLinkKey(integer linknum);

Возвращает ключ обьединеного (залинкованного) обьекта по его порядковому номеру linknum . 0 -если не залинкован 1-если корневой 2- если дочерний. И т.д.

A.78. llGetLinkName

string llGetLinkName(integer linknum);

Возвращает имя обьединеного (залинкованного) обьекта по его порядковому номеру linknum . 0 -если не залинкован 1-если корневой 2- если дочерний. И т.д.

A.79. llGetLinkNumber

integer llGetLinkNumber(void);

Возвращает личный порядковый номер обьекта который обьединен с другими обьектами(залинкован) . 0 -если не залинкован 1-если корневой 2- если дочерний. И т.д.

A.80. llGetListEntryType

integer llGetListEntryType(list src, integer index);

Возвращает тип type переменной по индексу index в списке src.

A.81. llGetListLength

integer llGetListLength(list src);

Возвращает количество элементов в списке src.

A.82. llGetLocalPos

vector llGetLocalPos(void);

Возвращает локальную позицию обьекта относительно корневого обьекта .

A.83. llGetLocalRot

rotation llGetLocalRot(void);

Возвращает локальный угол поворота обьекта относительно корневого обьекта.

A.84. llGetMass

float llGetMass(void);

Возвращает массу обьекта в киллограммах. Многие материалы в SL немного меньшей плотности чем в жизни , таким образом возвращается масса немного меньше чем вы можете представить.

A.85. llGetObjectMass

float llGetObjectMass(key id);

Возвращает массу обьекта в киллограммах по его идентификатору ID. Многие материалы в SL немного меньшей плотности чем в жизни , таким образом возвращается масса немного меньше чем вы можете представить.

A.86. llGetNextEmail

llGetNextEmail(string address, string subject);

Получает следующий ожидаемый емайл с соответствующего адреса address и/или от соответствующего субьекта subject. Если параметры не заданы то данные не будут отфильтрованы и поступит первый попавшийся емайл.

A.87. llGetNotecardLine

key llGetNotecardLine(string name, integer line);

Эта функция по номеру строки line блокнота name получает содержимое одной строки через dataserver событие . Нумерация строк начинается с нуля. Если линия запроса подошла к концу блокнота dataserver событие вернет константу EOF string. Ключ возвращенный этой функцией это идетификатор который будет передаваатся dataserver событию в requested параметре.

A.88. llGetNumberOfNotecardLines

key llGetNumberOfNotecardLines(string name);

Эта функция подсчитывает количество строк блокнота name (находящегося в инвентаре обьекта) и возвращает их количество через dataserver событие . Ключ возвращенный этой функцией это идетификатор который будет передаваатся dataserver событию в requested параметре , его можно использовать для сверки - на какой запрос был получен ответ.

A.89. llGetNumberOfPrims

integer llGetNumberOfPrims(void);

Возвращает количество примитивов в сгрупированном(залинкованном или составном) обьекте .

A.90. llGetNumberOfSides

integer llGetNumberOfSides(void);

Возвращает количество сторон(граней) обьекта который содержит этот скрипт.

A.91. llGetObjectDesc

string llGetObjectDesc(void);

Возвращает дескриптор (описание такоеже примерно как name) обьекта который содержит этот скрипт.

A.92. llGetObjectName

string llGetObjectName(void);

Возвращает имя обьекта который содержит этот скрипт.

A.93. llGetObjectPermMask

integer llGetObjectPermMask(integer mask);

Возвращает ответ на запрос о разрешении маски mask для прикрепления корневого обьекта . Смотри Permission Mask Constants для большей информации. Возвращаемое значение является битовым полем.

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

integer ObjectPerms = llGetObjectPermMask(MASK_NEXT);

if (ObjectPerms & PERM_COPY)

{

llSay(0, "The next owner may copy this item"irony;

}

A.94. llGetOmega

vector llGetOmega(void);

Возвращает омегу - Скорость вращения по трем осям.

A.95. llGetOwner

key llGetOwner(void);

Возвращает ключ(идетификатор) владельца обьекта (владелец это не тоже самое что создатель владелец это тот аватар который имеет текущий предмет у себя в инвентаре).

A.96. llGetOwnerKey

key llGetOwnerKey(key id);

Возвращает ключ(идентификатор) владельца обьекта по id(идентификатору) этого обьекта.

A.97. llGetPermissions

integer llGetPermissions(void);

Возвращает информацию о том какие права permissions были разрешены(выданны) . Возвращаемое значение является битовым полем (тоесть может содержать множественный ответ каждый из которых сверяется с константой).

 

Пример:

integer perm = llGetPermissions();

if((perm & PERMISSION_DEBIT) == PERMISSION_DEBIT)

{

// code goes here

}

A.98. llGetPermissionsKey

key llGetPermissionsKey(void);

Возвращает ключ аватара если для него разрешены права (у нешо есть право). Возвращает NULL_KEY если нет разрешения.

A.99. llGetPos

vector llGetPos(void);

Возвращает позицию обьекта в глобальных координатах сима(острова).

A.100. llGetPrimitiveParams

list llGetPrimitiveParams(list parameters);

Эта функция получает список установленых параметров текущего примитива. В списке parameters используются константы Primitive Constants обозначающие имя каждого параметра.

Пример:

llGetPrimitiveParams([PRIM_TYPE, PRIM_MATERIAL, PRIM_COLOR, ALL_SIDES, PRIM_POSITION]);

Эта функция веозвращает вот такой список параметров:

 

[PRIM_TYPE_BOX, PRIM_HOLE_DEFAULT, <0, 1, 0>, 0.0, <0, 0, 0>, <1, 1, 0>, <0, 0, 0>, // PRIM_TYPE

PRIM_MATERIAL_WOOD, // PRIM_MATERIAL

0, <1, 1, 1>, 1.0, // PRIM_COLOR (ALL_SIDES спцификатор, который обозначает все 6 сторон)

1, <1, 0, 0>, 0.5,

2, <0, 0, 1>, 1.0,

3, <0, 1, 0>, 1.0,

4, <0, 0, 0>, 0.5,

5, <1, 1, 1>, 1.0,

<37.341, 195.283, 31.239>] // PRIM_POSITION

A.101. llGetRegionCorner

llGetRegionCorner(void);

Возвращает вектор юго-западного угла текущего региона.

A.102. llGetRegionFPS

llGetRegionFPS(void);

Возвращает среднюю частоту кадров в текущем регионе (тоесть возвращает FPS текущего сима).

A.103. llGetRegionName

string llGetRegionName(void);

Возвращает имя текущего региона.

A.104. llGetRegionTimeDilation

float llGetRegionTimeDilation(void);

Возвращает текущее расширенное время в виде числа в промежутке от 0 до 1.

A.105. llGetRootPosition

vector llGetRootPosition(void);

Возвращает глобальное положение коренного обьекта из прикрепленного(залинкованного) к нему обьекта в котором находится этот скрипт.

A.106. llGetRootRotation

rotation llGetRootRotation(void);

Возвращает глобальное поворот коренного обьекта из прикрепленного(залинкованного) к нему обьекта в котором находится этот скрипт.

A.107. llGetRot

rotation llGetRot(void);

Возвращает поворот обьекта с этим скриптом.

A.108. llGetScale

vector llGetScale(void);

Возвращает масштаб обьекта с этим скриптом.

A.109. llGetScriptName

string llGetScriptName(void);

Возвращает имя текущего скрипта.

A.110. llGetStartParameter

integer llGetStartParameter(void);

Возвращает стартовые параметры переданные при вызове функций llRezObject или llRezAtRoot. Если обьект создан из инвентаря агента, то эта функция возвращает 0.

A.111. llGetScriptState

integer llGetScriptState(string name);

Установить Rest TRUE если скипт name запущен.

A.112. llGetStatus

integer llGetStatus(integer status);

Возвращает значение статуса status. Единственное значение будет в виде константы status constants. С помощью этой функции можно получить такие данные об оьекте как: физический обьект или нет, является ли обьект фантомом, по каким осям заблокирован поворот обьекта, можно ли его передвигать с помощью курсора мышки «Рука» и т.д.

A.113. llGetSubString

string llGetSubString(string src, integer start, integer end);

Возвращает часть строки src начиная от стартовой позиции start до конечной end, таким образом 0, 1 длина захватывает всю строку и 0,0 захватывает первый символ. Использование отрицательного номера start и/или end подсчитывает в обратном направлении в результате 0,-1 захватывает всю строку. Если start больше end то захватится вся строка за исключением символов в диапазоне от start до end. Например 6,4 захватит всю строку кроме 5 символов.

A.114. llGetSunDirection

vector llGetSunDirection(void);

Возвращает вектор направления солнца всимуляторе.

A.115. llGetTexture

string llGetTexture(integer face);

Возвращает имя текстуры с заданой стороны обьекта если такая тектстура присутствует в инвентаре обьекта

A.116. llGetTextureOffset

vector llGetTextureOffset(integer side);

Возвращает смещение текстуры на стороне обьекта side в X и Y компонентах вектора.

A.117. llGetTextureRot

float llGetTextureRot(integer side);

Возвращает поворот текстуры на стороне side.

A.118. llGetTextureScale

vector llGetTextureScale(integer side);

Возвращает маштаб текстуры на стороне side в X и Y компонентах вектора.

A.119. llGetTime

float llGetTime(void);

Возвращает второе астрономическое время из внутреннего таймера связанного со скриптом. Таймер сбрасывается on rez, симулятор перестартовывает, скрипт сбрасывается, и в вызове llGetAndResetTime или llResetTime. Выбераем llSetTimerEvent если вы хотите надежный временной механизм.

A.120. llGetTimeOfDay

float llGetTimeOfDay(void);

Получить времяв секундах осчитывая с полночи в SECOND LIFE.

A.121. llGetTimestamp

string llGetTimestamp(void);

Получить время в формате : YYYY-MM-DDThh:mm:ss.ff..fZ.

A.122. llGetTorque

vector llGetTorque(void);

Получить момент вращения если скрипт физический.

A.123. llGetVel

vector llGetVel();

Возвращает скорость.

A.124. llGetWallclock

float llGetWallclock(void);

Возвращает время в секундах с тех пор как в симуляторе наступила полночь. В настоящее время это PST.

A.125. llGiveInventory

llGiveInventory(key destination, string inventory);

Выдать деталь из инвентаря inventory Аватару или обьекту ключ которого указан в destination. Если получатель является Аватаром, тогда аватар после этого следует нормальной процедуре принятия или отказа от предложения. Если получатель является какимлибо обьектом то права доступа будут применятся как будто это были вы и перемещали в инвентаре обьекты вручную, если функция llAllowInventoryDrop была вызвана с TRUE параметрами любой другой обьект может быть пропущен в инвентарь.

A.126. llGiveInventoryList

llGiveInventoryList(key destination, string category, list inventory);

Выдать указанный перечень деталей из инвентаря аватару или обьекту ключ которого destination в томже симуляторе где находится обьект у которого это берут. Если получатель является аватаром, то он после этого следует нормальной процедуре принятия или отказа от предложения. Предложенный инвентарь после этого помещяется в папку названную category в инвентаре получателя. Если получатель является любым обьектом то к нему применяются права также как если бы это были вы и перемещали в инвентаре обьекты вручную, если llAllowInventoryDrop была вызвана с TRUE параметрами любой другой обьект может быть пропущен в инвентарь.

A.127. llGiveMoney

llGiveMoney(key destination, integer amount);

Передает сумму amount с помощью скрипта владельца в пункту назначения destination . Это вызов не будет успешным если не был установленно разрешение PERMISSION_DEBIT

A.128. llGround

float llGround(vector offset);

Возвращает высоту земли по кординатам обьекта со смещение координат offset

A.129. llGroundContour

vector llGroundContour(vector offset);

Возвращает контур земли по кординатам обьекта со смещение координат offset

A.130. llGroundNormal

vector llGroundNormal(vector offset);

Возвращает вектор нормалей земли по кординатам обьекта со смещение координат offset

A.131. llGroundRepel

llGroundRepel(float height, integer water, float tau);

Критическая аммортизация(тормоз) по высоте height , если высота в пределах height * 0.5 уровня. Height выше уровня земли вода water - FALSE , или выше уровня земли и вода если water - TRUE

A.132. llGroundSlope

vector llGroundSlope(vector offset);

Возвращает уклон земли под позицией обьекта со смещением offset

A.133. llInsertString

string llInsertString(string dst, integer position, string src);

Вставить строку src в строку dst на позицию position и вернуть результат.

A.134. llInstantMessage

llInstantMessage(key user, string message);

Послать сообщение message юзеру(по ключу) user согласно мнгновенному сообщению.

A.135. llKey2Name

string llKey2Name(key id);

Если обьект с этим ID находится в этомже симуляторе(територии), возвращается имя обьекта.

A.136. llList2CSV

string llList2CSV(list src);

Создает строку отделенную запятыми со значениями из списка src.

A.137. llList2Float

float llList2Float(list src, integer index);

Возвращает значение с плав точкой float по индексу index из списка src.

A.138. llList2Integer

integer llList2Integer(list src, integer index);

Возвращает целое integer по индексу index из списка src.

A.139. llList2Key

key llList2Key(list src, integer index);

Возвращает ключ key по индексу index из списка src.

A.140. llList2List

list llList2List(list src, integer start, integer end);

Возвращает новый список как часть списка от стартовой позиции start до конечной end из списка src . Если промежуток между конечной и начальной позицией равен 0,-1 то вернется весь список, если 0,0 то вернется первый элемент , если напимер начальная позиция больше конечной то вернется все (включая и позиции старта и конца)кроме того что было межу этими позициями.

A.141. llList2ListStrided

list llList2ListStrided(list src, integer start, integer end, integer stride);

Копирует равные доли из списка src начиная от позиции start до позиции end c шагом stride.

A.142. llList2Rot

rotation llList2Rot(list src, integer index);

Возвращает переменную типа ротация по индексу index из списка src.

A.143. llList2String

string llList2String(list src, integer index);

Возвращает строку по индексу index из списка src.

A.144. llList2Vector

llList2Vector(list src, integer index);

Возвращает вектор по индексу index из списка src.

A.145. llListFindList

integer llListFindList(list src, list test);

Возвращает позицию первого встретившегося значения test из списка src. - 1(минус один) - возвращается если в списке src нет ни одного элемента из списка test.

A.146. llListInsertList

list llListInsertList(list dest, list src, integer pos);

Возвращает созданный лист list при вставке src в dest на позицию pos.

A.147. llListRandomize

list llListRandomize(list src, integer stride);

Возвращает случайное значение из списка src в виде блока размером stride. Если длина указанного блока равна 0 то функция не производит рандомизацию.

A.148. llListReplaceList

list llListReplaceList(list dest, list src, integer start, integer end);

Возвращает созданный список после замены сегмента из dest списка на сегмент из src списка , начальная позиция которого - start и конечная - end.

A.149. llListSort

list llListSort(list src, integer stride, integer ascending);

Возвращает отсортированный список src в порядке возростания (если ascending TRUE)или убывания (если ascending FALSE) .Сортировка производится блоками с размером в ascending элементов. Запись этой сортировки работает только с одним и тем-же типом заголовка каждого сортируемого блока.

A.150. llListen

integer llListen(integer channel, string name, key id, string msg);

Активирует вызов прослушивающего Listen события при появлении сообщения msg на канале chanel от обьекта (аватара)name и обьекта(аватара)ключ которого id, можно использовать для деактивации или активации прослушивающего события Listen. Name , id и / или msn параметры могут быть пустыми если вы не хотите использовать какие либо аргументы для фильтрации прослушки. Канал 0 это канал ощественного чата , текст чата будет виден всем аватарам. Каналы от 1 до 2,147,483,648 скрытые каналы которые не посылаются аватарам.

Функция возвращает маркер который нужен для использования в таких функциях как llListenControl и llListenRemove.

A.151. llListenControl

llListenControl(integer number, integer active);

Активирует или дезактивирует Listen событие. Использует маркер полученный функцией llListen в параметре number для того чтобы определить какое событие вы контролируете. Используйте boolean значения для установки параметра active.

A.152. llListenRemove

llListenRemove(integer number);

Удаляет Listen событие. Использует маркер полученный функцией llListen в параметре number для того чтобы определить какое событие нужно удалить.

A.153. llLoadURL

llLoadURL(key avatar_id, string message, string url);

Показывает диалоговое окно юзеру avatar_id С сообщением message и предлагает перейти на вэб страницу по адресу url. Если юзер нажимает кнопку "Перейти на страницу" - запускается установленный по умолчанию браузер и направляетс на url.

url должен начинатся с "http:" или "https:", другой протокол в настоящее время не поддерживается. Диалоговый бокс показывает имя Владельца обьекта так что при злоупотреблении о спалме можно легко сообщить. Эта функция имеет 10 сек задержку.

A.154. llLog

float llLog(float val);

Возвращает натуральный логарифм (base e) числа val если val > 0 иначе возвращает ноль.

A.155. llLog10

float llLog10(float val);

Возвращает десятичный логарифм числа (base 10) val если val > 0 иначе возвращает ноль.

A.156. llLookAt

llLookAt(vector target, float strength, float damping);

Установить поворот обьекта по направлению к цели (направить взгляд или прицелится) координаты которой заносятся в параметр target - после выполнения этой функции обьект повернется к цели и ось Z обьекта будет направленна в центр цели target. Подходящее значение strength лучше установить приблизетельно равной половине массы обьекта , и подходящее значение damping лучше установить менее чем 1/10 силы. Асимметричные формы обьектов требуют меньшего демпфирования damping. Сила strength равная 0.0 отменяет поворот взгляда обьекта на цель.

A.157. llLoopSound

llLoopSound(string sound, float volume);

Эта функция подобна llPlaySound и также проигрывает музыкальный файл с именем sound и громкостью volume прикрепленный к обьекту, но как только проигрывание файла завершается файл начинает проигрыватся снова по кругу без остановок. Остановить циклическое проигрывание файла можно с помощью функции llStopSound либо перейти на одноразовое прогигрывание м помощью функции llPlaySound. Только один музыкальный файл прикрепленный к обьекту может проигрыватся одновременно . Повторный вызов этой фунции с тем-же именем файла не будет вызывать его проигрывание сначала, но новый параметр звука volume будет использован. Это позволяет контролировать излишнюю громкость звука воспроизведения файла. Установка громкости звука в ноль не тоже самое что использование функции llStopSound; звук с нулевой громкость также будет циклически воспроизводится но не будет слышен. Для рестарта проигрывания звука сначало вызовите фцнкцию llStopSound и после нее можете вызывать функцию llLoopSound снова.

A.158. llLoopSoundMaster

llLoopSoundMaster(string sound, float volume);

Поведение этой функции идентично поведению llLoopSound, но с дополнительной маркировкой источника как "Sync Master", с использованием "Slave" музыкальной синхронизации. Если будет много источников такого звука в пределах области интересов зрителя, то самый слышимый звук (с помощью механизма расстояния и объема) будет звук владельца . Использование большого количества источников в пределах маленькой области вряд ли произведет желательный эффект.

A.159. llLoopSoundSlave

llLoopSoundSlave(string sound, float volume);

Поведение этой функции идентично поведению llLoopSound, Если нет "Sync Master" звуковых файлов. Если Sync Master будет уже играть, то звук Slave начнет играть с того же самого пункта, владелеца находящегося в цикле, пункты зацикливания обоих звуков будут синхронны. Если звук Master начнет играть, когда Slave уже играет, то Slave будет пропускатся и синхронизироватся с Master.

A.160. llMakeExplosion

llMakeExplosion(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);

Создать шарообразный взрыв частиц с использованием texture находящуюся в инвентаре обьекта.

A.161. llMakeFire

llMakeFire(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);

Создать огненные частицы с использованием texture находящуюся в инвентаре обьекта.

A.162. llMakeFountain

llMakeFountain(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);

Создать фонтан из частиц с использованием texture находящуюся в инвентаре обьекта.

A.163. llMakeSmoke

llMakeSmoke(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);

Создать частицы дыма с использованием texture находящуюся в инвентаре обьекта.

A.164. llMD5String *****

string llMD5String(string str, integer nonce);

Выполняет защиту данных RSA, Inc. MD5 Message-Digest Algorithm on str with nonce. The function returns the digest as a 32 character hex string. The digest is computed on the string in the following format:

str + ":" + (string)nonce

A.165. llMessageLinked

llMessageLinked(integer linknum, integer num, string str, key id);

Послать num, str , и ID всем примитивам в установленном обьединении(залинкованным). Linknum параметр это один из двух числовых коофициентов полученых с помощью функцию llGetLinkNumber или константы link constant .

A.166. llMinEventDelay

llMinEventDelay(float delay);

Установить минимум времени между обработчиками событий.

A.167. llModifyLand

llModifyLand(integer action, integer size);

Модифицировать землю с action согласно размеру size площади параметры могут быть выбраны из land constants. Констант.

A.168. llModPow

integer llModPow(integer a, integer b, integer c);

Увеличить силу от a до b используя счетчик с. b может принимать максимум 16-и битное значение 0xFFFF (16 bits).

A.169. llMoveToTarget

llMoveToTarget(vector target, float tau);

Затухающее движение с текущей позиции в позицию target , затухание в tau секундах . Работает только с физическими обьектами. Подходящее значение для tau приблизительно = 0.2. Если tau = 0.0 то затухающее движение будет остановленно.

A.170. llOffsetTexture

llOffsetTexture(float offset_s, float offset_t, integer face);

Установить смещение текстуры S и T на стороне face. Если установлена константа ALL_SIDES текстура сместится на всех сторонах.

A.171. llOpenRemoteDataChannel

llOpenRemoteDataChannel(void);

Создать(Открыть) канал для прослушивания XML-RPC вызовов . Будет запускатся remote_data событие с типом type = REMOTE_DATA_CHANNEL и ID канала когдато может пригодится.

A.172. llOverMyLand

integer llOverMyLand(key id);

Возвращает TRUE если Обект с ключом ID не принадлежит этой земле и FALSE если принадлежит.

A.173. llParcelMediaCommandList

llParcelMediaCommandList(list command_list);

Контролирует воспроизведение видеороликов и других multimedia ресурсов на парцелле земли. Использует константы: PARCEL_MEDIA_COMMAND_PLAY, PARCEL_MEDIA_COMMAND_LOOP, PARCEL_MEDIA_COMMAND_TEXTURE, PARCEL_MEDIA_COMMAND_URL, PARCEL_MEDIA_COMMAND_TIME, PARCEL_MEDIA_COMMAND_AGENT, PARCEL_MEDIA_COMMAND_UNLOAD, or PARCEL_MEDIA_COMMAND_AUTO_ALIGN.

 

Возможно использовать только один видеоролик (или "media" ресур) на одной земляной парцеле(територии). Ролик будет проигрыватся, заменяя текстуру на объекте на видеоэкран. Пользователи будут видеть ролик, только тогда когда они будут находится на вашей части земли. Иначе они будут видеть статическую текстуру.

 

В проигрыватель мультимедиа включенна поддержка большинства QuickTime форматов например:

  • QuickTime movies (.mov)
  • Streamable stored QuickTime movies (.mov)
  • Real time QuickTime streams (rtsp://)
  • MPEG4 movies (.mp4, .mpeg4) (толко простого профиля)
  • QuickTime VR scenes and objects (.mov)
  • Flash movies (.swf) (только не интерактивных, версии 5 и выше)
  • И множество других о которых можно узнать с сайта http://www.apple.com/quicktime/products/qt/specifications.html

 

Есть хорошее правило гласящее , что если это будет проигрывать плеер QuickTime Media Player, то и в Second Life это тоже будет проигрыватся.

 

Вы можете установить воспроизведение ролика как указано ниже:

 

  • Выберите текстуру из вашего инвентаря для статичной видеотекстуры. Эта текстура не должна быть общей и присутствовать гдето еще так как видеопоток отобразится на всех таких текстурах.
  • Примените эту текстуру к обьекту.
  • Правой кнопкой мыши нажмите на вашей землю и выберите закладку "About Land...".
  • В нижней "Options" выберите статичную текстуру которую вы заранее подобрали для видеопотока.
  • Введите URL Вашего медиа потока.
  • Создайте обьект и нажмите на кнопках PLAY, STOP, PAUSE и LOOP (на стандартно меню плеера)
  • Прикрепите этот скрипт к обьекту.

 

default

{

touch_start ( integer total_number )

{

// Будет проигрывать текущий ролик для всех агентов на вашей части земли.

llParcelMediaCommandList( [PARCEL_MEDIA_COMMAND_LOOP] );

}

}

 

 

Или более функциональный пример:

 

float START_TIME = 30.0;

float RUN_LENGTH = 10.0;

 

default

{

state_entry()

{

llParcelMediaCommandList( [PARCEL_MEDIA_COMMAND_URL, "http://enter_your.url/here", PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] );

}

 

touch_start(integer num_detected)

{

llParcelMediaCommandList( [

PARCEL_MEDIA_COMMAND_AGENT, llDetectedKey(0),

PARCEL_MEDIA_COMMAND_TIME, START_TIME,

PARCEL_MEDIA_COMMAND_PLAY ] );

list Info = llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL, PARCEL_MEDIA_COMMAND_TEXTURE]);

llSay(0, "Playing '" + llList2String(Info, 0) + "' on texture '" + (string)llList2Key(Info, 1) + "' for agent " + llDetectedName(0));

llSetTimerEvent(RUN_LENGTH);

}

 

timer()

{

llParcelMediaCommandList( [ PARCEL_MEDIA_COMMAND_STOP ] );

llSetTimerEvent(0.0);

}

}

A.174. llParcelMediaQuery

list llParcelMediaQuery(list query_list);

Контролирует воспроизведение роликов и других мультимедиа ресурсов на Собственной земле. Команда может быть одной из констант PARCEL_MEDIA_COMMAND_TEXTURE или PARCEL_MEDIA_COMMAND_URL.

Это функция позволяет вам сделать запрос на текстуру или URL для медиа пакета. Для примера использования рассмотрите функцию llParcelMediaCommandList .

A.175. llParseString2List

list llParseString2List(string src, list separators, list spacers);

Разбивает строку src используя разделители описанные в списке separators и прерыватели spacers .Выдает результат в виде списка. Разделителей и прерывателей можно использовать по 8 параметров.

Пример:

llParseString2List("Parsethisnow! I dare:you to.", ["this", "!", " "], [":"]);

Результат в виде списка:

["Parse", "now", "I", "dare", ":", "you", "to"]

A.176. llParseStringKeepNulls

list llParseStringKeepNulls(string src, list separators, list spacers);

Разбивает строку src используя разделители описанные в списке separators и прерыватели spacers .Выдает результат в виде списка. Разделителей и прерывателей можно использовать по 8 параметров. Любой нулевой результат будет сохранен в виде нуля.

Пример:

llParseString2List("!Parsethisthisnow I dare::you to.", ["this", "!", " "], [":"]);

Результат в виде списка.

[NULL, "Parse", NULL, "now", "I", "dare", ":", NULL, ":", "you", "to"]

A.177. llParticleSystem

llParticleSystem(list parameters);

Создать систему частиц базирующуюся на параметрах перечисленных в List parameters. Параметры используют специальный ордер а потом его значение. Действительные параметры и значения могут быть выбранны с помошью констант particle system constants.

Пример:

llParticleSystem([PSYS_PART_FLAGS, PSYS_PART_WIND_MASK,

PSYS_PART_START_COLOR, <1,0,0>,

PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE]);

A.178. llPassCollisions

llPassCollisions(integer pass);

Если параметр pass установлен в TRUE соприкосновение с обьектом передается также и дочерним залинкованым обьектам

A.179. llPassTouches

llPassTouches(integer pass);

Если pass установлен в TRUE все клики по потомственным обьектам передаются родительскому обьекту

A.180. llPlaySound

llPlaySound(string sound, float volume);

Проигрывает музыкальный файл с именем sound и громкостью volume прикрепленный к обьекту один раз. Остановить проигрывание файла можно с помощью функции llStopSound либо перейти на многоразовое прогигрывание м помощью функции llLoopSound. Только один музыкальный файл прикрепленный к обьекту может проигрыватся одновременно . Повторный вызов этой фунции с тем-же именем файла не будет вызывать его проигрывание сначала, но новый параметр звука volume будет использован. Это позволяет контролировать излишнюю громкость звука воспроизведения файла. Установка громкости звука в ноль не тоже самое что использование функции llStopSound; звук с нулевой громкость также будет воспроизводится но не будет слышен. Для рестарта проигрывания звука сначало вызовите фцнкцию llStopSound и после нее можете вызывать функцию llPlaySound снова.

A.181. llPlaySoundSlave

llPlaySoundSlave(string sound, float volume);

Поведение этой функции идентично поведению llPlaySound, Если нет "Sync Master" звуковых файлов. Если Sync Master будет уже играть, то звук Slave начнет играть с того же самого пункта, владелеца , пункты обоих звуков будут синхронны. Если звук Master начнет играть, когда Slave уже играет, то Slave будет пропускатся и синхронизироватся с Master.

A.182. llPointAt

llPointAt(vector pos);

Сделать аватара владельцем обьекта на позиции pos // в настоящее время устарела и не работает

A.183. llPow

llPow(float base, float exp);

Возвращает результат числа base в степени exp.

A.184. llPreloadSound

llPreloadSound(string sound);

Предварительная загрузка звукового файла sound из инвентаря неподалеку от слушателя.

A.185. llPushObject

llPushObject(key id, vector impulse, vector angular_impulse, integer local);

Применить импульс(толчок) impulse и импульс вращения angular_impulse к обьекту или аватару с ключем id

Для получения массы llGetObjectMass может быть применен гденибудь в пределах сима.

Параметр local принимает булеан значение TRUE либо FALSE и включает вращение вокруг обьекта с заданым id или нет.

A.186. llReleaseControls

llReleaseControls(key avatar);

Остановить опрос команд ввода с клавиатуры для аватара.

A.187. llRemoteDataReply

llRemoteDataReply(key channel, key message_id, string sdata);

Послать XML-RPC ответное сообщение message_id по каналу со полезными строковыми данными sdata.

A.188. llRemoteDataSetRegion

llRemoteDataSetRegion(void);

В случае если любой обьект испльзуя удаленных какнал данных remote data channels, то вы должны вызвать эту функцию чтобы зарегистрировать удаленный канал данных. Вы не сможете вызывать функцию если ваш обьект не находится за пределами вашего региона и не использует дистанционный канал remote data channels.

A.189. llRemoteLoadScript

llRemoteLoadScript(void);

Устраевший(глючный). Пожалуйста выберите llRemoteLoadScriptPin

A.190. llRemoteLoadScriptPin

llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer param);

Если у владельца этого обьекта есть права на передачу скрипта в инвентарь другого обьекта, ключ которого target, и владелец имеет правильный код pin и обьекты находятся в томже регионе что и обьект передающий скрипт, то скрипт name будет скопирован из инвентаря текущего обьекта в инвентарь указанного обьекта target, если параметр running == TRUE то после того как скрипт скопируется в другой обьект он сразу запустится, параметр param (которые можно получит в созданном скрипте с помощью функции llGetStartParameter). Если имя name уже существует в инвентаре цели, то скрипт будет заменен только что полученным скриптом.

A.191. llRemoveInventory

llRemoveInventory(string inventory);

Удалить обьект или запись name из инвентаря.

A.192. llRemoveVehicleFlags

llRemoveVehicleFlags(integer flags);

Установить флаг транспортного средства в FALSE.

Используемые параметры нужно выбрать из набора констант vehicle flags constants .

A.193. llRequestAgentData

key llRequestAgentData(key id, integer data);

Эта функция нужна для запроса данных об каком либо аватаре по его id. Если информация об автаре будет собрана то результат будет возвращен через событие dataserver. Ключ который возвращает функция будет в точности такойже как и ключ возвращенный событием - это можно использовать для сверки для какого запроса были полученны данные. В параметре data и данных полученных в событии споьзуется набор констант agent data constants . По которым можно разобрать полученные данные.

A.194. llRequestInventoryData

key llRequestInventoryData(string name);

Запрашивает данные об обьекте name из инвентаря текущего обьекта. Результат запроса будет получен в событии dataserver. Если были запршенны данные о landmark то вернется результат в форме "<...,...,...>" это будут координаты земли. Ключ возвращаемый фунцией исползуется для проверки соответствия полученного ответа в событии.

A.195. llRequestPermissions

llRequestPermissions(key avatar, integer perm);

Узнать есть ли права доступа у аватара по ключу avatar на изменение чего - либо заданного константой perm. Perm параметр использует константы permission constant. Резултат будет возвращен в событии run_time_permissions

A.196. llRequestSimulatorData

key llRequestSimulatorData(string sim_name, integer data);

Эта функция запрашивает данные о симуляторе sim_name . Когда иформация собрана , запускается dataserver событие которое возвращает ключ переданный функцией в параметре requested. Смотрите simulator data constants для уточнения деталей насчет значений параметра data и значений которые возвращает dataserver событие.

A.197. llResetScript

llResetScript(void);

Перезапустить скрипт.

A.198. llResetOtherScript

llResetOtherScript(string name);

Перезапустить скрипт по его имени name.

A.199. llResetTime

llResetTime(void);

Установить внутренний скрипт таймер в ноль.

A.200. llRezAtRoot

llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param);

Создать обьект из инвентаря inventory, в позиции pos со скоростью vel и поворотом rot. Последний выбранный корневой обьект координируется в мультиобьект и веделение придет к позиции pos выделенный. Все другие обьекты в выделении будут создаватся Родственными (дочерними) до конца выделения коренной позиции. Значение Param доступно недавно созданным обьектом в on_rez событии или библиотечной функции llGetStartParameter . Параметр vel игнорируется если создаваемый обьект не физический.

A.201. llRezObject

llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param);

Создать обьект из инвентаря inventory, в позиции pos со скоростью vel и поворотом rot. Значение Param доступно недавно созданным обьектом в on_rez событии или библиотечной функции llGetStartParameter . Параметр vel игнорируется если создаваемый обьект не физический.

A.202. llRot2Angle

float llRot2Angle(rotation rot);

Возвращает угол вращения представленный в виде rot.

A.203. llRot2Axis

vector llRot2Axis(rotation rot);

Возвращает поворотные оси представленные в rot.

A.204. llRot2Euler

vector llRot2Euler(rotation rot);

Возвращает угол Эйлера представленный в виде rot.

A.205. llRot2Fwd

vector llRot2Fwd(rotation rot);

Возвращает направление осей представленных в виде rot.

A.206. llRot2Left

llRot2Left(rotation rot);

Возвращает левую ось представленных в виде rot.

A.207. llRot2Up

llRot2Up(rotation rot);

Возвращает ось вращения представленную в виде rot.

A.208. llRotBetween

rotation llRotBetween(vector a, vector b);

Возвращает угол поворота между векторами a и b.

A.209. llRotLookAt

llRotLookAt(rotation rot, float strength, float damping);

Установить поворот обьекта .Эта функция работает также как llLookAt только без использование прицела . Обьект повернется на угол заданный в параметре rotation rot. Подходящее значение strength лучше установить приблизетельно равной половине массы обьекта , и подходящее значение damping лучше установить менее чем 1/10 силы. Асимметричные формы обьектов требуют меньшего демпфирования damping. Сила strength равная 0.0 отменяет поворот обьекта.

A.210. llRotTarget

integer llRotTarget(rotation rot, float error);

Установить постоянное вращение обьекта(цели) в пределах error с коэфициентом вращения rotation после чего обьект будет рассматриватся как цель вращения и функция вернет маркер(типа ключа) цели. После чего можно будет использовать этот маргер как указатель на обьект и производит разннообразные операции над ним например с помощью функции llRotTargetRemove - котрорая остановит вращение цели по ее маркеру.

A.211. llRotTargetRemove

llRotTargetRemove(integer number);

Остановить постоянное вращение цели(обьекта) по его маркеру number.

A.212. llRotateTexture

llRotateTexture(float radians, integer face);

Установить поворот текстуры в радианах radians на стороне face.

A.213. llRound

integer llRound(float val);

Возвращает округленное целое значение числа val

A.214. llSameGroup

integer llSameGroup(key id);

Возвращает TRUE если обьект или аватар id входит в Группу которой принадлежит текущая земля . Иначе вернет FALSE.

A.215. llSay

llSay(integer channel, string text);

Сказать текст text по каналу channel .

A.216. llScaleTexture

llScaleTexture(integer scale_s, integer scale_t, integer face);

Установить масштаб текстуры на стороне face по scale_s и scale_t параметрам. Если в параметре face используется константа ALL_SIDES масштаб текстур будет установлен на всех сторонах обьекта

A.217. llScriptDanger

integer llScriptDanger(vector pos);

Возвращает true если коррдинаты pos находятся на чужой територии

A.218. llSendRemoteData

key llSendRemoteData(key channel, string dest, integer idata, string sdata);

Посылает XML-RPC запрос в dest через канал chennel с полезным грузом в виде целого числа idata и строки sdata.

Любой XML-RPC ответ запускает remote_data событие с типом type = REMOTE_DATA_REPLY. Событие возвращает message_id который может быть использован для идентификации XML-RPC ответа соответстыует ли он своему запросу.

A.219. llSensor

llSensor(string name, key id, integer type, float range, float arc);

Выполняет одиночное сканирование(т.е. Сканирование производится только один раз ) по имени обьекта name и по его ID по типу искомого обьекта type в радиусе range метров и в пределах угла arc в радианах из переданного вектора . Задавая пустое имя или ключ, не будут фильтроватся результаты по этим параметрам. Дистанция 0.0 делает сканирование не выполнимым. Дистанция ограничена 96.0 метрами. Параметр type должен быть соответствовать одной из констант object type constant . Если что нибудь обнаружено запускаетс событие sensor .Максимум 16 обнаруженных обьектов может быть переданно в событие. Если при сканировании ничего не обнаруженно запускается событие no_sensor . После того как цель была обнаружена и ее параметы были переданны событию sensor , с помощью разнообразных функций типа llDetection* можно собрать обширную информацию об обнаруженном обьекте.

Замечания: Сенсор не обнаруживает обьект где находится сам сенсор и не обнаруживает агента к которому прикреплен этот сенсор(других агентов и обьекты он обнаруживает).

Тип искомого обьекта должен быт определенн с помощю одной или несколгих констант из набора: AGENT, ACTIVE, PASSIVE и/или SCRIPTED.

Типы искомого обьекта можно комбинировать с помощью побитового OR (|). Например, AGENT | ACTIVE.

Сочетание типа SCRIPTED с другими может привести к несколько неожиданным результатам:

SCRIPTED будет обнаруживать активные скрипты или двигающиеся объекты, содержащие скрипт.

AGENT | SCRIPTED будет обнаруживать активные скрипты или двигающиеся объекты, содержащие скрипт; АГЕНТЫ НЕ БУДУТ НАЙДЕНЫ!

ACTIVE | SCRIPTED будет обнаруживать активные скрипты или двигающиеся объекты, которые содержат скрипт; не будут найдены физические перемещающиеся объекты без скриптов.

PASSIVE | SCRIPTED будет обнаруживать активные скрипты, нефизические объекты без скриптов и физические объекты, содержащие скрипт; не будут найдены физические неподвижные объекты, в которых нет скрипта.

A.220. llSensorRemove

llSensorRemove(void);

Удалить сенсор установленный с помощью функции llSensorRepeat

A.221. llSensorRepeat

llSensorRepeat(string name, key id, integer type, float range, float arc, float rate);

Выполняет сканирование пространства на нахождение обьекта имя которого name и ID , сканирование можно фильтровать выберая одну или несколько масок из набора констант Object Type Constants, помимо этого нужно задать дальность сканирования range и угол в пределах которого производить сканирование в заданном радиусе периметра сканирования, Эта функция включает сканирование каждые заданные rate секунд. Пустое имя определяется NULL_KEY и индефикация не фильтрует результаты ID и работает для любых имен и ID. C диапазоном range равным 0.0 сканирование будет приостановленно. Предел радиуса сканирования 96.0 метров. Параметры типа должны быть любыми

object type constant значениями. Если что либо найдено во время сканирования запускается событие sensor . Максимум , возможно передать 16 предметов к этому событию. Если ничего не найдено во время сканирования то взамен будет запущено событие no sensor. Работает абсолютно также как и llSensor за исключение того что сканирование будут атоматически повторятся через заданный промежуток времени

A.222. llSetAlpha

llSetAlpha(float alpha, integer face);

Установить альфа значение на сторону face. Если fase является ALL_SIDES , устанавливает альфу на все стороны

A.223. llSetBuoyancy

llSetBuoyancy(float buoyancy);

Установить плавучесть buoyancy обьекта. Значение 0 - неплавучий, меньше чем 1.0 плавучий, и больше чем 1.0 повышенная плавучесть.

A.224. llSetCameraAtOffset

llSetCameraAtOffset(vector offset);

Установить смещение камеры относительно обьекта на который присел аватар.

A.225. llForceMouselook

llForceMouselook(integer mouselook);

Перевести камеру в MouseLook-вид относительно обьекта на котором сидит аватар. Параметр mouselook может принимать значение TRUE либо FALSE.

A.226. llSetCameraEyeOffset

llSetCameraEyeOffset(vector offset);

Установить смещение координат камеры если аватар сидит на этом обьекте.

A.227. llSetColor

llSetColor(vector color, integer face);

Установить цвет color на сторону face. Если в параметре face написать константу ALL_SIDES то цвет будет установлен на все стороны обьекта.

A.228. llSetDamage

llSetDamage(float damage);

Установить индикатор повреждения. Этот обьект будет разрушен если он будет задет другим оьектом наносящим повреждения.

A.229. llSetForce

llSetForce(vector force, integer local);

Если обьект физический то эта функция устанавливает силу force. Чтобы установить вектор в локальных координатах параметр local надо установить в TRUE, а в глобальн коорд в FALSE.

A.230. llSetForceAndTorque

llSetForceAndTorque(vector force, vector torque, integer local);

Если обьект физический то эта функция задает силу force и вращающий момент torque обьекта. Чтобы установить вектор в локальных координатах параметр local надо установить в TRUE, а в глобальн коорд в FALSE.

A.231. llSetHoverHeight

llSetHoverHeight(float height, float water, float tau);

Установить минимальную высоту от земли и от воды на которой будет находится(парить) физический обьект. Высота будет установленна для земли и воды если флаг water будет TRUE.

A.232. llSetLinkAlpha

llSetLinkAlpha(integer linknumber, float alpha, integer face);

Устанавливает прозрачность связаного(залинкованного) обьекта с текушим по его номере связи linknumber , прозрачность можно установить на определенную сторону обекта по указателю face Ели использовать константу ALL_SIDES, то прозрачность будет установлена на все стороны.

A.233. llSetLinkColor

llSetLinkColor(integer linknumber, vector color, integer face);

Устанавливает цвет связаного(залинкованного) обьекта с текушим по его номере связи linknumber , цвет монжо установить на определенную сторону обекта по указателю face Ели использовать константу ALL_SIDES, то цвет будет установлен на все стороны.

A.234. llSetLocalRot

llSetLocalRot(rotation rot);

Устанавливает поворот обьекта относительно локальных координат оьекта(относительно координат корневого обьекта)

A.235. llSetObjectDesc

llSetObjectDesc(string description);

Установить описание description обьекта.

A.236. llSetObjectName

llSetObjectName(string name);

Установить Имя name обьекта.

A.237. llSetParcelMusicURL

llSetParcelMusicURL(string url);

Установить URL audio поток для той земли где расположен в настоящее время обьект в котором этот скрипт. URL должен быть любой http указывающий на поток mp3 или ogg данных.

A.238. llSetPayPrice

llSetPayPrice(integer default_price, list quick_pay_buttons);

Установить цену по умолчанию из прайса и добавочную цену .И установить кнопки в платежном окне когда кто то платит обьекту. Смотрите Pay Button Constants.

A.239. llSetPos

llSetPos(vector pos);

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

A.240. llSetPrimitiveParams

llSetPrimitiveParams(list rules);

Установить базовые парметры(параметры которые используются для редактирования обьекта) примитива по правилу rules. Rules это точно определенный список параметров и значений. Действующие значения могут быть выбранны и из констант Primitive Constants . Вот простой пример:

llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, PRIM_HOLE_DEFAULT, <0,1,0>,0.5, <-0.2, 0.2, 0>, <0.5,0.5,0>,<-0.5,0.5,0>]);

A.241. llSetRemoteScriptAccessPin

llSetRemoteScriptAccessPin(integer pin);

Если pin установлен не в-ноль, задача будет принята отдаленным скриптом загружаемым через llRemoteLoadScriptPin если пин корректный. Иначе функция llRemoteLoadScriptPin будет проигнорированна.

A.242. llSetRot

llSetRot(rotation rot);

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

A.243. llSetScale

llSetScale(vector scale);

Установить маштаб(размер) обьекта.

A.244. llSetScriptState

llSetScriptState(string name, integer run);

Установить состояние запуска скрипта name, в состояние "запущен" либо "незапущен" TRUE либо FALSE

A.245. llSetSitText

llSetSitText(string text);

Установить (заменить) текстовую команду "Присесть" которая отображается в меню после нажатия правой клавиши мыши на предмете.

A.246. llSetSoundQueueing

llSetSoundQueueing(integer queue);

Настройка свойств звука - прерываются ли звуки игры функциями llPlaySound, llLoopSound . По умолчанию для всех обьектов это свойство звука равно FALSE. Установите значение TRUE для того чтобы ожидать окончания игрового звука а затем продолжать по очереди пользовательский звук. Параметр queue является уровнем глубины очереди.

A.247. llSetStatus

llSetStatus(integer status, integer value);

Установить статус обьекта с помощью констант status constants переданных в параметр status со значением value. С помощью этой функции можно устанновить статус обьекта такой как: физический обьект или нет, является ли обьект фантомом, по каким осям заблокирован поворот обьекта, можно ли его передвигать с помощью курсора мышки «Рука» и т.д.

A.248. llSetText

llSetText(string text, vector color, float alpha);

Установить текст text который будет парить над обьектом, текст будет указанного цвета color и прозрачности alpha.

A.249. llSetTexture

llSetTexture(string texture, integer face);

Установить текстуру texture из инвентаря (либо по ключу текстуры который надо написать в каквычках) на сторону face. Если face задан константой ALL_SIDES текстура установится на все стороны.

A.250. llSetTextureAnim

llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate);

Включает анимацию текстуры с установленными параметрами маштаба и смещения тайла(одного кадра из множества размещенных в одной картинке). Параметр mode используетс для передачи одной из констант из набора texture animation constants. Вы можете выбрать толбьо один набор текстурных анимаций для одного обьекта. Повторный вызов этой функции сбросит текущую анимацию и установит новую. Вы можете одновременно использовать только одну традиционную анимацию ROTATE или SCALE. Вы не можете комбинировать маски друг с другом. Анимации ROTATE или SCALE будут игнорировать параметры sizex и sizey, а параметры start и lenght будут использованны для анимации. Для вращения start и length нужно задавать в радианах.

Параметр face определяет на каких сторонах(гранях) примитива будет происходить анимация. Если face равен константе ALL_SIDES то анимация будет со всеми текстурами на всех сторонах обьекта. Параметр sizex и sizey описывают размер одного кадра(фрэйма,тайла) анимации в пределах одной текстуры (т.е. Все кадры должны распологатся на одной текстуре). Фреймы нумеруются в порядке слева на право и сверху вниз , номер стартового фрейма будет 0. Фреймы должны вписыватся в одну текстуру тоесть не выходить за ее края.

Параметр rate задается в секундах и определяет сколько времени будет длится один кадр анимации. Например этот параметр равен 1.0 секунде а кадров у нас в текстуре поместилось 10 то анимация всей текстуры будет происходить 10 секунд.

Пример 1:

llSetTextureAnim(ANIM_ON | SMOOTH | ROTATE | LOOP, ALL_SIDES,1,1,0, TWO_PI, 2*TWO_PI);

Пример 2:

llSetTextureAnim(ANIM_ON | SMOOTH | LOOP , ALL_SIDES, 1, 1, 1, 1, 1);

Пример 3:

llSetTextureAnim(ANIM_ON | SMOOTH | SCALE | PING_PONG | LOOP, ALL_SIDES, 1, 1, 1, 3, 2);

A.251. llSetTimerEvent

llSetTimerEvent(float sec);

Установить вызов timer события с переодичностью указанной в параметре sec. Значение параметра равное 0.0 прекратит вызов события.

A.252. llSetTorque

llSetTorque(vector torque, integer local);

Если обьект физический то эта функция устанавливает момент вращения по вектору torque . Вектор вращения будет определятся локальными координатами если local = TRUE и глобальными если FALSE

A.253. llSetTouchText

llSetTouchText(string text);

Установить (заменить) текстовую команду "Дотронутся" которая отображается в меню после нажатия правой клавиши мыши на предмете.

A.254. llSetVehicleFlags

llSetVehicleFlags(integer flags);

Устанавливает Флаг транспортного средства в TRUE. Доступные параметры нужно использовать из vehicle flags constants констант.

A.255. llSetVehicleFloatParam

llSetVehicleFloatParam(integer param_name, float param_value);

Устанавливает динамические параметры передвижного средства param_name c параметрами param_value. Доступные параметры могут быть найдены в секции vehicle parameter constants констант.

A.256. llSetVehicleType

llSetVehicleType(integer type);

Активирует передвижное средство и выбирает его тип type. Доступные параметры и разьяснения их особенностей могут быть н