LlGetAgentInfo/ru

From Second Life Wiki
< LlGetAgentInfo
Revision as of 10:40, 22 August 2012 by Highstaker Resident (talk | contribs) (Created page with "{{LSL_Function/ru |inject-2={{Issues/SVC-91}}{{Issues/SVC-3177}}{{LSL Function/avatar|id|sim=*}} |func=llGetAgentInfo |sort=GetAgentInfo |func_id=206|func_sleep=0.0|func_energy=1…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Function: integer llGetAgentInfo( key id );

Возвращает битовое поле (в виде целочисленного значения), содержащее информацию об аватаре с ключом id.

• key id avatar UUID that is in the same region

Constant Val Returned if agent...
AGENT_ALWAYS_RUN 0x1000 has running ("Always Run") enabled, or is using tap-tap-hold
AGENT_ATTACHMENTS 0x0002 has attachments
AGENT_AUTOPILOT 0x2000 is in "autopilot" mode
AGENT_AWAY 0x0040 is in "away" mode
AGENT_BUSY 0x0800 is in "busy" mode
AGENT_CROUCHING 0x0400 is crouching
AGENT_FLYING 0x0001 is flying or hovering
AGENT_IN_AIR 0x0100 is in the air (jumping, flying or falling)
AGENT_MOUSELOOK 0x0008 is in mouselook
AGENT_ON_OBJECT 0x0020 is sitting on an object (and linked to it)[1]
AGENT_SCRIPTED 0x0004 has scripted attachments
AGENT_SITTING 0x0010 is sitting
AGENT_TYPING 0x0200 is typing
AGENT_WALKING 0x0080 is walking, running or crouch walking

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

  • AGENT_BUSY означает, что данный аватар проигрывает встроенную анимацию "busy", даже если он на самом деле не находится в режиме "занят" ("busy").
  • На серверах версии до 1.40 включительно, AGENT_TYPING обозначал, что аватар проигрывает встроенную анимацию "type" ("печатание"), и не возвращался, если у пользователя была отключена функция проигрывания анимации печатания (см. PlayTypingAnim). На серверах версии 1.42 и выше, он обозначает, что приходят сообщения о начале/конце печатания от программы-клиента, и более не зависит от анимации. Если требуется обнаружение по старому механизму, используйте функцию llGetAnimationList и проверяйте присутствие анимации "c541c47f-e0c0-058b-ad1a-d6ae3a4584d9"SVC-787
  • AGENT_ALWAYS_RUN | AGENT_WALKING означает, что пользователь задал настройку "всегда бежать" в опциях программы-просмотрщика. Используйте llGetAnimation для обнаружения бега, вызванного физическими воздействиями.
  • Эта функция не возвращает достоверной информации сразу после пересечения границы сима. Используйте llGetAnimation при необходимости. — SVC-3177

Примеры

<lsl> default {

   touch_start(integer buf)
   {
       buf = llGetAgentInfo(llDetectedKey(0));
       string out;
       if(buf & AGENT_FLYING)
           out += "The agent is flying.\n";
       else
           out += "The agent is not flying.\n";
       
       if(buf & AGENT_ATTACHMENTS)
       {
           if(buf & AGENT_SCRIPTED)
               out += "The agent has scripted attachments.\n";
           else
               out += "The agent's attachments are unscripted.\n";
       }
       else
           out += "The agent does not have attachments.\n";
       
       if(buf & AGENT_MOUSELOOK)
           out += "the agent is in mouselook.";
       else
           out += "the agent is in normal camera mode.";
       llWhisper(0, out);
   }

}

</lsl>

Заметки

Эта функция - не лучший способ определить, находится ли аватар в регионе, используйте llGetAgentSize (или, с недавнего времени, llGetAgentList --прим. пер.).

См. также

Функции

•  llRequestAgentData
•  llGetAnimation
•  llGetAnimationList

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

История

All Issues

~ Search JIRA for related Issues
   agent_info() event
   llGetAgentInfo() returns unreliable info after a sim border crossing

Tests

•  llGetAgentInfo_Test

Сноски

  1. ^ "Sit down" on the avatar context menu allows ground sits anywhere: atop the terrain, on objects or even in the air, so it is possible to sit "on" an object without linking.

Описания

function integer llGetAgentInfo( key id );