LlGetLinkNumberOfSides/ru

From Second Life Wiki
< LlGetLinkNumberOfSides
Revision as of 00:41, 25 August 2012 by Highstaker Resident (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Function: integer llGetLinkNumberOfSides( integer link );

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

• integer link Номер примитива (0: одиночный примитив, 1: корневой примитив, >1:дочерние примитивы) или флаг типа LINK_*

Подробнее о сторонах примитива и условиях изменения их количества читайте в статье Face.

Флаг и значение Описание
LINK_ROOT 1 для корневого примитива[1]
Флаг и значение Описание
LINK_THIS -4 для примитива, в котором находится данный скрипт

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

All Issues ~ Search JIRA for related Bugs

Примеры

<lsl>default {

   state_entry()
   {
       // Set the hovertext to indicate the number of sides
       integer numOfSides = llGetLinkNumberOfSides(LINK_ROOT);
       llOwnerSay( "The root prim has " + (string)numOfSides + " sides." );
   }
}</lsl>

Заметки

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

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

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

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

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

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

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

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

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

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

См. также

Функции

•  llGetLinkNumber Возвращает номер в линке примитива, в котором находится скрипт.
•  llSetLinkColor
•  llSetLinkTexture

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

Search JIRA for related Issues

Сноски

  1. ^ LINK_ROOT не работает с объектами, состоящими из одного примитива!

Описания

function integer llGetLinkNumberOfSides( integer link );