Difference between revisions of "Template:LSL Function/link/ru"

From Second Life Wiki
Jump to navigation Jump to search
Line 16: Line 16:
}}
}}


{{#vardefine:p_{{{1|}}}_desc|[[Link]] number (0: {{HoverText|unlinked|When an object is made up of only one prim, the link number of the (root) prim is zero.}}, 1: root prim, >1: child prims) {{#if:{{{nlf|}}}||or a LINK_* [[flag]]}}{{{2|}}} }}
{{#vardefine:p_{{{1|}}}_desc|[[Link/ru|Номер]] примитива (0: {{HoverText|одиночный примитив|Если объект состоит из одного примитива, то его номер 0, а не 1.}}, 1: корневой примитив, >1:дочерние примитивы) {{#if:{{{nlf|}}}||или [[flag|флаг]] типа LINK_* }}{{{2|}}} }}
{{#vardefine:p_{{{1|}}}_hover|Link number (0: unlinked, 1: root prim, >1: child prims) {{#if:{{{nlf|}}}||or a LINK_* flag}}{{#if:{{{3|}}}|{{{3|}}}|{{{2|}}}}} }}
{{#vardefine:p_{{{1|}}}_hover|Link number (0: unlinked, 1: root prim, >1: child prims) {{#if:{{{nlf|}}}||or a LINK_* flag}}{{#if:{{{3|}}}|{{{3|}}}|{{{2|}}}}} }}


Line 28: Line 28:
{{#vardefine:notes|
{{#vardefine:notes|
<h3>Link Numbers</h3>
<h3>Link Numbers</h3>
Each prim that makes up an object has an address, a link number. To access a specific prim in the object, the prim's link number must be known. In addition to prims having link numbers, avatars seated upon the object do as well.
Каждый примитив в связанном объекте имеет свой порядковый номер. Для получения доступа к определенному примитиву внутри объекта необходимо знать его номер. Номера имеют также аватары, которые сидят на данном объекте.
* If an object consists of only one prim, and there are no avatars seated upon it, the (root) prim's link number is zero.
* Если объект состоит из одного примитива, и на нём не сидит аватар, то номер этого (корневого) примитива равен 0 (не 1).
* However, if the object is made up of multiple prims or there is an avatar seated upon the object, the root prim's link number is one.
* Однако, если объект состоит из нескольких примитивов и<nowiki>/</nowiki>или на нём сидит аватар, то номер корневого примитива равен 1.


When an avatar sits on an object, it is added to the end of the link set and will have the largest link number. In addition to this, while an avatar is seated upon an object, the object is unable to link or unlink prims without unseating the avatars first.
Когда аватар садится на объект, он становится в конце списка примитивов и ему присваивается наибольший номер. В дополнение к этому, когда аватар сидит на объекте, этот объект не может прикреплять или откреплять примитивы, не заставив аватар встать.
<h4>Counting Prims & Avatars</h4>
There are two functions of interest when trying to find the number of prims and avatars on an object.
* <code>[[llGetNumberOfPrims]]()</code> - Returns the number of prims and seated avatars.
* <code>[[llGetObjectPrimCount]]([[llGetKey]]())</code> - Returns only the number of prims in the object but will return zero for attachments.


<lsl>integer GetPrimCount() { //always returns only the number of prims
<h4>Вывод количества примитивов и аватаров</h4>
     if(llGetAttached())//Is it attached?
Для вывода количества примитивов и сидящих аватаров есть две функции.
         return llGetNumberOfPrims();//returns avatars and prims but attachments can't be sat on.
* <code>[[llGetNumberOfPrims]]()</code> - Возвращает количество примитивов и сидящих аватаров.
     return llGetObjectPrimCount(llGetKey());//returns only prims but won't work on attachments.
* <code>[[llGetObjectPrimCount]]([[llGetKey]]())</code> - Возвращает только количество примитивов в объекте. Не работает (возвращает всегда 0) для объектов, прикрепленных к аватару (т.н. аттачментов).
}</lsl>See [[llGetNumberOfPrims]] for more about counting prims and avatars.{{PBR}}
 
<lsl>integer GetPrimCount() { //Всегда возвращает только количество примитивов в объекте
     if(llGetAttached())//Объект прицеплен к аватару
         return llGetNumberOfPrims();//т.к. на аттачментах нельзя сидеть, возвращает только примитивы
     return llGetObjectPrimCount(llGetKey());//только число примитивов для не аттачмента
}</lsl>Более подробно смотрите в статье [[llGetNumberOfPrims]].{{PBR}}
{{#var:notes}}
{{#var:notes}}
}}
}}

Revision as of 00:16, 28 July 2012

#var value
p__desc Номер примитива (0: одиночный примитив, 1: корневой примитив, >1:дочерние примитивы) или флаг типа LINK_*
also_functions
•  llGetLinkNumber Returns the link number of the prim the script is in.
constants_nb
Флаг и значение Описание
LINK_ROOT 1 для корневого примитива[1]
LINK_SET -1 для всех примитивов
LINK_ALL_OTHERS -2 для всех других примитивов
Флаг и значение Описание
LINK_ALL_CHILDREN -3 для всех дочерних примитивов (т.е. все, кроме корневого)
LINK_THIS -4 для примитива, в котором находится данный скрипт
notes

Link Numbers

Каждый примитив в связанном объекте имеет свой порядковый номер. Для получения доступа к определенному примитиву внутри объекта необходимо знать его номер. Номера имеют также аватары, которые сидят на данном объекте.

  • Если объект состоит из одного примитива, и на нём не сидит аватар, то номер этого (корневого) примитива равен 0 (не 1).
  • Однако, если объект состоит из нескольких примитивов и/или на нём сидит аватар, то номер корневого примитива равен 1.

Когда аватар садится на объект, он становится в конце списка примитивов и ему присваивается наибольший номер. В дополнение к этому, когда аватар сидит на объекте, этот объект не может прикреплять или откреплять примитивы, не заставив аватар встать.

Вывод количества примитивов и аватаров

Для вывода количества примитивов и сидящих аватаров есть две функции.

  • llGetNumberOfPrims() - Возвращает количество примитивов и сидящих аватаров.
  • llGetObjectPrimCount(llGetKey()) - Возвращает только количество примитивов в объекте. Не работает (возвращает всегда 0) для объектов, прикрепленных к аватару (т.н. аттачментов).

<lsl>integer GetPrimCount() { //Всегда возвращает только количество примитивов в объекте

   if(llGetAttached())//Объект прицеплен к аватару
       return llGetNumberOfPrims();//т.к. на аттачментах нельзя сидеть, возвращает только примитивы
   return llGetObjectPrimCount(llGetKey());//только число примитивов для не аттачмента

}</lsl>Более подробно смотрите в статье llGetNumberOfPrims.