LlGetAnimationList/ru
Jump to navigation
Jump to search
LSL Портал | | | Функции | | | События | | | Типы | | | Константы | | | Потоки | | | Библиотека Скриптов | | | Учебники |
Общая информация
Function: list llGetAnimationList( key avatar );266 | Номер функции |
0.0 | Задержка |
10.0 | Энергия |
Возвращает of keys of playing animations for avatar.
• key | avatar | – | avatar UUID that is in the same region |
Предостережения
- Не существует внутреннего механизма для получения название воспроизводимой анимации.
- Стандартные анимации могут быть запущены и остановлены с помощью скриптов так, что в возвращаемом списке может не точно отражаться состояние аватара. Используйте llGetAgentInfo и llGetAnimation, когда это имеет значение.
- Standard animations can be started and stopped by scripts, so the list returned may not accurately reflect the avatar's state. Use llGetAgentInfo and llGetAnimation when this matters.
- Некоторые движения являются локальными для просмотра и не могут быть обнаружены с помощью скриптов.
Примеры
Этот пример очень сложен, но там далеко не все применения для этой функции. <lsl>//Простое переопределение анимации для прогулки key old_anim = "6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"; string new_anim="yoga_float"; integer status; list check; key owner;
default {
state_entry() { owner = llGetOwner(); llRequestPermissions(owner, PERMISSION_TRIGGER_ANIMATION); check = [old_anim]; } run_time_permissions(integer p) { if(p & PERMISSION_TRIGGER_ANIMATION) { llSetTimerEvent(0.2); } }
timer() { if(llGetAgentInfo(owner) & AGENT_WALKING) { list anims = llGetAnimationList(owner); if(~llListFindList(anims, check)) { status = 1; llStartAnimation(new_anim); llStopAnimation(old_anim); } } else if(status) { llStopAnimation(new_anim); status = 0; } }
on_rez(integer p) { llResetScript(); }}</lsl>