Difference between revisions of "LlGetObjectDetails/ru"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "{{LSL_Function |inject-2= {{LSL_Function/limits}}{{LSL_Function/uuid|id|sim=*}} {{Issues/SCR-87}}{{Issues/SVC-7592}} |func_id=332|func_sleep=0.0|func_energy=10.0 |func=llGetObjec…")
 
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function/ru
|inject-2=
|inject-2=
{{LSL_Function/limits}}{{LSL_Function/uuid|id|sim=*}}
{{LSL_Function/limits}}{{LSL_Function/uuid/ru|id|sim=*}}
{{Issues/SCR-87}}{{Issues/SVC-7592}}
{{Issues/SCR-87}}{{Issues/SVC-7592}}
|func_id=332|func_sleep=0.0|func_energy=10.0
|func_id=332|func_sleep=0.0|func_energy=10.0
Line 7: Line 7:
|p1_type=key|p1_name=id|p1_desc= or adjacent regions[[#id_Parameter|*]]
|p1_type=key|p1_name=id|p1_desc= or adjacent regions[[#id_Parameter|*]]
|p2_type=list|p2_name=params|p2_desc=OBJECT_* flags
|p2_type=list|p2_name=params|p2_desc=OBJECT_* flags
|return_type=list|return_text=of the details for '''id''', specifically those requested in '''params'''.  
|return_type=list|return_text=список атрибутов объекта/аватара с ключом '''id''', обозначенных в списке '''params'''.  
|func_footnote=An empty list if '''id''' is not found.{{PBR}}
|func_footnote=Если '''id''' не найден, возвращает пустой список.{{PBR}}
{{LSL Const|OBJECT_UNKNOWN_DETAIL|integer|-1|c=}} is returned when passed an invalid integer parameter.
Если в '''params''' задан неправильный целочисленный параметр, возвращает {{LSL Const|OBJECT_UNKNOWN_DETAIL|integer|-1|c=}}.
|spec=<div style="padding: 1px; float: left;">[[Image:LlGetObjectdetails-avatar-range.png|thumb|none|250px|Avatar detection range for SL Server 1.34]]</div>
|spec=<div style="padding: 1px; float: left;">[[Image:LlGetObjectdetails-avatar-range.png|thumb|none|250px|Зона обнаружения аватара для сервера версии 1.34]]</div>
<h5 style="margin:0;">id Parameter</h5>
<h5 style="margin:0;">Параметр id</h5>
'''id''' holds the UUID of the avatar or prim this function is going to get the details of.
'''id''' содержит уникальный ключ аватара или примитива, атрибуты которого функция должна возвратить.


If '''id''' is not found in the region, adjacent regions are searched for avatars which match '''id'''. An avatar is only considered to have been found if it is inside the region, or within a 34 meter zone outside the region boundaries (see diagram). A single valid result may be returned after the avatar leaves this zone.
Если '''id''' не найден в регионе, производится поиск аватаров в соседних регионах. Аватар считается найденным, если он находится в регионе или в зоне шириной 34 метра в соседнем регионе (жёлтая зона на рисунке). Когда аватар покидает эту зону, функция может вернуть только одно соответствующее действительности (последнее) значение.
 
<h5 style="margin:0;">Параметр params</h5>
Список '''params''' отражает атрибуты, которые требуется получить. Порядок, в котором они заданы в этом списке, соответствует порядку их в возвращаемом функцией списке.


<h5 style="margin:0;">params Parameter</h5>
The '''params''' list is used to indicate which object attributes of interest. The order they are supplied in determines the order of the corresponding return values in the return list.
{{{!}} cellpadding="0" cellspacing="0"
{{{!}} cellpadding="0" cellspacing="0"
{{!}}
{{!}}
*If '''params''' contains unsupported integer values, {{LSL Const|OBJECT_UNKNOWN_DETAIL|integer|-1|c=}} is placed in the output list.
*Если в '''params''' содержатся недопустимые целочисленные параметры, в соответствующих местах в возвращаемом списке ставится {{LSL Const|OBJECT_UNKNOWN_DETAIL|integer|-1|c=}} .
*If '''params''' contains non-[[integer]] types, those values will be silently ignored.
*Если в '''params''' содержатся не [[integer/ru|целочисленные]] параметры, они игнорируются (без сообщений об ошибке).
{{!}}}
{{!}}}
<div style="clear:both;"></div>
<div style="clear:both;"></div>
|caveats=
|caveats=


*OBJECT_ROT will return an accurate facing for Avatars seated or in mouselook, but only a rough direction otherwise.
*OBJECT_ROT возвращает точное значение поворота для аватара, когда он сидит или находится в режиме 1-го лица (мауслук). В остальных случаях это значение приблизительное.
*Adjacent regions are not searched for prims which match '''id'''.
*В отличие от аватаров, поиск примитивов в соседних регионах не производится.
*Information for avatars that can no longer be found will still be available for a short period (about 45 seconds) but it is not updated.
*Информация об аватарах, которые не могут быть обнаружены, доступна на протяжении небольшого периода времени (около 45 секунд), и она не обновляется.
*Items in '''params''' that are not integers are silently ignored, {{LSL Const|OBJECT_UNKNOWN_DETAIL|integer|-1|c=}} is not returned.
*Параметры в списке '''params''', не являющиеся целочисленными, игнорируются, {{LSL Const|OBJECT_UNKNOWN_DETAIL|integer|-1|c=}} в соответствующем месте в возвращаемом списке не ставится.
*This function does not return information about items in inventory.
*Эта функция неприменима к вещам в инвентаре.
*[[llTargetOmega]] will only effect the return of [[OBJECT_ROT]] if the object is [[STATUS_PHYSICS|physical]]. If the object is not physical then the original start rotation is returned, [[llTargetOmega]] is a {{LSLGC|Effects|client side effect}}.
*[[llTargetOmega]] влияет на параметр [[OBJECT_ROT]] только если объект [[STATUS_PHYSICS|физический]]. Иначе возвращается изначальный поворот объекта, т.к. [[llTargetOmega]] для нефизических объектов является {{LSLGC|Effects|клиентским эффектом}}.
*{{LSL Const|OBJECT_SCRIPT_MEMORY|integer|11|c=}} reports the maximum memory that all scripts in an object could use, not the actual amount of real memory currently used. In particular, Mono scripts only use the amount of memory currently needed, not the max possible. In practice, this makes the number reported a worst case scenario that will never normally be reached by most objects.
*{{LSL Const|OBJECT_SCRIPT_MEMORY|integer|11|c=}} сообщает максимальный объём памяти, которые могут использовать скрипты в данном объекте, а не действительный потребляемый на данный момент объём. Скрипты, работающие под Mono, используют только необходимое им количество памяти, а не максимально возможное. На практике, этот параметр показывает, сколько памяти в наихудшем случае будут потреблять скрипты. На самом деле, практически всегда они потребляют объём памяти меньше этого показателя.
*{{LSL Const|OBJECT_RUNNING_SCRIPT_COUNT|integer|9|c=}} includes crashed scripts in its count.
*{{LSL Const|OBJECT_RUNNING_SCRIPT_COUNT|integer|9|c=}} включает в себя и зависшие скрипты тоже (т.е. скрипты, чья работа была прервана вследствие ошибки).
|examples=
|examples=
<lsl>default
<lsl>default
Line 102: Line 103:
</lsl>
</lsl>
|spec
|spec
|constants={{LSL Constants/Object Details}}
|constants={{LSL Constants/Object Details/ru}}
|helpers=See {{LSLGC|Link/Get}} for some {{LSLGC|Link|link}} related helper functions. Also see [[llGetLinkPrimitiveParams]] if you need to get the position and rotation of a linked prim.
|helpers=На странице {{LSLGC|Link/Get}} Вы найдёте полезные функции, касающиеся {{LSLGC|Link|связанных объектов}}. Также обратите внимане на функцию [[llGetLinkPrimitiveParams]], если вам нужно получить позицию и поворот примитива в связанном объекте.
|also_functions={{LSL DefineRow||[[llKey2Name]]}}
|also_functions={{LSL DefineRow||[[llKey2Name]]}}
{{LSL DefineRow||[[llGetPrimitiveParams]]}}
{{LSL DefineRow||[[llGetPrimitiveParams]]}}
Line 114: Line 115:
{{LSL DefineRow||[[Prim Attribute Overloading]]}}
{{LSL DefineRow||[[Prim Attribute Overloading]]}}
|notes
|notes
|history=Introduced in SL 1.18.3(2)
|history=Введено в версии 1.18.3(2)
|cat1=Object
|cat1=Object
|cat2=Prim
|cat2=Prim

Latest revision as of 10:42, 10 December 2013

Общая информация

Function: list llGetObjectDetails( key id, list params );

Возвращает список атрибутов объекта/аватара с ключом id, обозначенных в списке params.

• key id UUID аватара или примитива, находящегося в том же регионе or adjacent regions*
• list params OBJECT_* flags

Если id не найден, возвращает пустой список. Если в params задан неправильный целочисленный параметр, возвращает OBJECT_UNKNOWN_DETAIL.

Характеристики

Зона обнаружения аватара для сервера версии 1.34
Параметр id

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

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

Параметр params

Список params отражает атрибуты, которые требуется получить. Порядок, в котором они заданы в этом списке, соответствует порядку их в возвращаемом функцией списке.

  • Если в params содержатся недопустимые целочисленные параметры, в соответствующих местах в возвращаемом списке ставится OBJECT_UNKNOWN_DETAIL .
  • Если в params содержатся не целочисленные параметры, они игнорируются (без сообщений об ошибке).

Параметры Описание Максимальная длина Тип Альтернативные функции Для примитива со скриптом
OBJECT_NAME 1 Возвращает имя примитива. 63 Characters string llGetObjectName
OBJECT_DESC 2 Возвращает описание примитива.
Если id является аватаром, возвращает пустую строку.
127 Characters string llGetObjectDesc
OBJECT_POS 3 Возвращает позицию примитива в региональных координатах.
Если id является аватаром, находящимся вне региона (см. рисунок выше), позиция считается относительно региона, в котором находится скрипт.
(37 Characters) vector llGetPos
OBJECT_ROT 4 Возвращает поворот объекта. (48 Characters) rotation llGetRot
OBJECT_VELOCITY 5 Возвращает вектор скорости объекта. (36 Characters) vector llGetVel
OBJECT_OWNER 6 Возвращает ключ владельца объекта.
Если id является аватаром, возвращается ключ этого аватара (равный id).
Если id находится во владении группы, возвращается нулевой ключ NULL_KEY.
(36 Characters) key llGetOwner
OBJECT_GROUP 7 Возвращает ключ группы, за которой закреплен данный примитив.
Если id является аватаром, возвращается нулевой ключ NULL_KEY.
(36 Characters) key Group
OBJECT_CREATOR 8 Возвращает ключ создателя объекта.
Если id является аватаром, возвращается нулевой ключ NULL_KEY.
(36 Characters) key Creator llGetCreator
OBJECT_RUNNING_SCRIPT_COUNT 9 Возвращает количество работающих скриптов в объекте или во всех объектах, прицепленных к аватару. (11 Characters) integer llGetScriptState
OBJECT_TOTAL_SCRIPT_COUNT 10 Возвращает общее количество скриптов в объекте или во всех объектах, прицепленных к аватару. (11 Characters) integer llGetInventoryNumber
OBJECT_SCRIPT_MEMORY 11 Возвращает общий объем памяти выделенный скриптам объекта или аватара. (11 Characters) integer
OBJECT_SCRIPT_TIME 12 Возвращает среднее процессорное время, затрачиваемое всеми скриптами объекта или аватара, в секундах. (15 Characters) float Top Scripts
OBJECT_PRIM_EQUIVALENCE 13 Возвращает примитивную эквивалентность данного объекта. (Понятия не имею, чё это такое. Видимо речь идёт о мешах.) (11 Characters) integer Calculating land impact
OBJECT_SERVER_COST 14 Возвращает серверный вес объекта. (15 Characters) float Server cost
OBJECT_STREAMING_COST 15 Возвращает сетевой вес объекта. (15 Characters) float Streaming (download) cost
OBJECT_PHYSICS_COST 16 Возвращает физический вес объекта. (15 Characters) float Physics cost
Максимальные длины в (скобках) показывают, сколько данный параметр занимает символов при переводе его в символьную строку.

Предостережения

  • OBJECT_ROT возвращает точное значение поворота для аватара, когда он сидит или находится в режиме 1-го лица (мауслук). В остальных случаях это значение приблизительное.
  • В отличие от аватаров, поиск примитивов в соседних регионах не производится.
  • Информация об аватарах, которые не могут быть обнаружены, доступна на протяжении небольшого периода времени (около 45 секунд), и она не обновляется.
  • Параметры в списке params, не являющиеся целочисленными, игнорируются, OBJECT_UNKNOWN_DETAIL в соответствующем месте в возвращаемом списке не ставится.
  • Эта функция неприменима к вещам в инвентаре.
  • llTargetOmega влияет на параметр OBJECT_ROT только если объект физический. Иначе возвращается изначальный поворот объекта, т.к. llTargetOmega для нефизических объектов является клиентским эффектом.
  • OBJECT_SCRIPT_MEMORY сообщает максимальный объём памяти, которые могут использовать скрипты в данном объекте, а не действительный потребляемый на данный момент объём. Скрипты, работающие под Mono, используют только необходимое им количество памяти, а не максимально возможное. На практике, этот параметр показывает, сколько памяти в наихудшем случае будут потреблять скрипты. На самом деле, практически всегда они потребляют объём памяти меньше этого показателя.
  • OBJECT_RUNNING_SCRIPT_COUNT включает в себя и зависшие скрипты тоже (т.е. скрипты, чья работа была прервана вследствие ошибки).

Примеры

<lsl>default {

   collision_start(integer i)
   {
       list a = llGetObjectDetails(llDetectedKey(0), ([OBJECT_NAME, 
                   OBJECT_DESC, OBJECT_POS, OBJECT_ROT, OBJECT_VELOCITY,
                   OBJECT_OWNER, OBJECT_GROUP, OBJECT_CREATOR]));
       llWhisper(0,"UUID: "         + (string)llDetectedKey(0) +
                 "\nName: \""       + llList2String(a,0) + "\"" +
                 "\nDescription: \"" + llList2String(a,1) + "\"" +
                 "\nPosition: "     + llList2String(a,2) +
                 "\nRotation: "     + llList2String(a,3) +
                 "\nVelocity: "     + llList2String(a,4) +
                 "\nOwner: "        + llList2String(a,5) +
                 "\nGroup: "        + llList2String(a,6) +
                 "\nCreator: "      + llList2String(a,7));
   }

}</lsl> <lsl>// Group join inviter default {

   touch_start(integer num_detected)
   {
       llInstantMessage(llDetectedKey(0),"Click on Join in my group profile:\n" +
           " secondlife:///app/group/" + llList2String(llGetObjectDetails(llGetKey(), [OBJECT_GROUP]), 0) + "/about ");
   }

}</lsl> <lsl>// aim & shoot default { state_entry()

   {   llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS);
   }
   control(key id, integer pressed, integer change) 
   {   if(change & pressed & CONTROL_ML_LBUTTON)
llSensor("", "", AGENT

Полезные вырезки

На странице Link/Get Вы найдёте полезные функции, касающиеся связанных объектов. Также обратите внимане на функцию llGetLinkPrimitiveParams, если вам нужно получить позицию и поворот примитива в связанном объекте.

См. также

Функции

•  llKey2Name
•  llGetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llSetPrimitiveParams
•  llGetParcelDetails

Статьи

•  Limits SL limits and constrictions
•  Detected
•  Prim Attribute Overloading

Углублённые заметки

История

Введено в версии 1.18.3(2)

All Issues

~ Search JIRA for related Issues
   OBJECT_DISPLAY_NAME and OBJECT_USERNAME to llGetObjectDetails()
   [Won't Fix] OBJECT_RUNNING_SCRIPT_COUNT includes the crashed scripts in the count of running scripts.

Описания

function list llGetObjectDetails( key id, list params );
integer OBJECT_SERVER_COST = 14;//Gets the server cost of the object.
integer OBJECT_STREAMING_COST = 15;//Gets the streaming (download) cost of the object.
integer OBJECT_PHYSICS_COST = 16;//Gets the physics cost of the object.