1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

И ещё о MEL...

Тема в разделе "Maya", создана пользователем Alexey 181, 14 апр 2002.

Модераторы: Dark™, Skif
  1. Alexey 181

    Alexey 181 Мастер

    С нами с:
    05.04.2001
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    110
    Мне бы нужно такую переменную, чтоб она была равна положению, на котором сейчас находится TimeSlider...
    И ещё... Такую переменную, равную названию материала
    (скажем Lambert) с самой большой циферкой на конце!
    Спасибо!
     
  2. Guest

    Для операций с тайм-слайдером есть команда
    currentTime
    с флагами -q -e -u

    А вот насчет самого большого ламберта -
    я побыстрому кое-что сделал.

    string $mats[]=`ls -mat`; // загружаем в массив все материалы
    int $i=0; // счетчик
    int $max_number=0; // самая "большая" циферка
    int $number_tokens=0; // сколько частей строки получается
    // после tokenize
    string $token_buffer[]; // буфер для tokeniz-а
    for ($i=0;$i<size($mats);$i++) // проходим циклом по всем материалам
    {
    $number_tokens=`tokenize $mats[$i] "lambert" $token_buffer`;
    // убираем из каждого материала слово LAMBERT
    if ($number_tokens==1)
    // если остается только один "кусок" строки проверяем - не цифра ли это
    if ($max_number<(int($token_buffer[0])))
    $max_number=(int($token_buffer[0]));
    // если этот "кусок" преобразовывается в целое,
    // и оно больше ранее найденного - значит нашли максимум
    }
    print ("Maximum="+$max_number) // самая большая "циферка"
    string $your_var="lambert"+$max_number; // и вот твоя переменная

    Скрипт работает, но выдает предупреждения.
    (их можно избежать если делать более подробную проверку на название материала, но тогда и скрипт получится на пару строк больше)

    удачи

    Алексей Гусев
     
Модераторы: Dark™, Skif

Поделиться этой страницей