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

From Second Life Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
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|Номер примитива (0: одиночный примитив, 1: корневой примитив, >1: дочерние примитивы) {{#if:{{{nlf|}}}||или флаг типа LINK_*}}{{#if:{{{3|}}}|{{{3|}}}|{{{2|}}}}} }}


{{#if:{{{nocaveats|}}}||{{#if:{{{nogroup|}}}|
{{#if:{{{nocaveats|}}}||{{#if:{{{nogroup|}}}|
{{#vardefine:caveats|
{{#vardefine:caveats|
*{{LSLP|{{{1|}}}}} needs to be either an actual [[llGetLinkNumber|link number]] or a link constants that equate to a single prim, such as [[LINK_ROOT]] and [[LINK_THIS]].
*{{LSLP|{{{1|}}}}} должен быть либо численным значением [[llGetLinkNumber|номера примитива]] либо константой, как например [[LINK_ROOT]] и [[LINK_THIS]].
**[[LINK_SET]], [[LINK_ALL_CHILDREN]] and [[LINK_ALL_OTHERS]] will not work.
**[[LINK_SET]], [[LINK_ALL_CHILDREN]] и [[LINK_ALL_OTHERS]] здесь не работают.
{{#var:caveats}}}}
{{#var:caveats}}}}
}}}}
}}}}


{{#vardefine:notes|
{{#vardefine:notes|
<h3>Link Numbers</h3>
<h3> Номера примитивов в объекте</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}}
}}
}}


{{#vardefine:also_functions|{{#var:also_functions}}
{{#vardefine:also_functions|{{#var:also_functions}}
{{LSL DefineRow||[[llGetLinkNumber]]|Returns the link number of the prim the script is in.}}}}
{{LSL DefineRow||[[llGetLinkNumber]]|Возвращает номер в линке примитива, в котором находится скрипт.}}}}


}}<noinclude>
}}<noinclude>

Latest revision as of 02:56, 24 August 2012

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

Номера примитивов в объекте

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

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

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

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

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

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

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

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

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