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>