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

From Second Life Wiki
Jump to navigation Jump to search
Line 17: Line 17:


{{#vardefine:p_{{{1|}}}_desc|[[Link/ru|Номер]] примитива (0: {{HoverText|одиночный примитив|Если объект состоит из одного примитива, то его номер 0, а не 1.}}, 1: корневой примитив, >1:дочерние примитивы) {{#if:{{{nlf|}}}||или [[flag|флаг]] типа LINK_* }}{{{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|}}}|

Revision as of 02:16, 29 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.