Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Показано с 1 по 6 из 6
  1. Grandmaster

    Регистрация
    19.10.2002
    Адрес
    <void>
    Сообщений
    1,653
    #1

    По умолчанию Вложенные if'ы в UOPilot.

    Допустимы ли сабж?

    Например такой скрипт работает некорректно:

    for #i 0 20
    send f3 4000
    if #i > 0
    if lastmsg you must wait
    continue
    end_if
    if lastmsg you fail
    continue
    end_if
    break
    end_if
    end_for
    send f1 200

    не реагирует на if lastmsg

  2. не беспокойте мертвых
    Аватар для baal
    Регистрация
    14.02.2002
    Адрес
    главный диджей Ада
    Сообщений
    10,476
    #2

    По умолчанию

    Вообще говоря допустимы, но ты явно тут намудрил, поэтому и не пашет скорее всего.
    Распиши чтоли что ты хочешь и каждую строчку распиши что должна делать и т.д.
    А то что-то не очень ясно Поможем исправить тогда хоть

    ЗЫ: сразу бросается ошибка в 1ой строчке где шаг не указан for #i 0 20 1 скорее, не так ли? И вообще тут лучше рипит поставить...

  3. Grandmaster

    Регистрация
    19.10.2002
    Адрес
    <void>
    Сообщений
    1,653
    #3

    По умолчанию

    1. А чего тут можно намудрить?
    2. В первой строке нет ошибки: шаг - необязательный параметр (по умолчанию 1).

    for #i 0 20 // цикл от 0 до 20
    send f3 4000 // некоторое действие
    if #i > 0 // если не первый шаг цикла, то
    if lastmsg you must wait // если поторопились ждем еще 4с
    continue
    end_if
    if lastmsg you fail // если не вышло, пробуем еще раз
    continue
    end_if
    break // если все получилось, прерываем цикл и идем все сначала
    end_if
    end_for
    send f1 200

  4. Grandmaster

    Регистрация
    19.10.2002
    Адрес
    <void>
    Сообщений
    1,653
    #4

    По умолчанию

    А если поставить репит, тогда надо будет заводить итерационную переменную i, которая в цикле for есть по умолчанию.

  5. не беспокойте мертвых
    Аватар для baal
    Регистрация
    14.02.2002
    Адрес
    главный диджей Ада
    Сообщений
    10,476
    #5

    По умолчанию

    По большому счету там эта i не особо то и нужна =)
    Попробуй вейты перед проверкой на месагу поставить по 100. Убрать задержку 4000 при посылке кнопки, и в репит загнать проверки на месаги все.

    ЗЫ: может таки напишешь что ты хочешь этим скриптом сделать? =)

  6. Grandmaster

    Регистрация
    19.10.2002
    Адрес
    <void>
    Сообщений
    1,653
    #6

    По умолчанию

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

    скрипт, который сейчас работает:
    (я думаю, из него несложно понять, для чего он )

    say all release
    repeat 20
    send f3 1000 // use skill taming LastTarget
    if lastmsg you fail
    break
    end_if
    if lastmsg you are too far
    break
    end_if
    if lastmsg already
    break
    end_if
    if lastmsg you are your
    break
    end_if
    if lastmsg you must wait
    wait 4000
    continue
    end_if
    wait 4000
    if lastmsg it seems
    break
    end_if
    if lastmsg remembers you
    break
    end_if
    end_repeat
    send f1 200 / TargetNext

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения