Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Страница 9 из 10 ПерваяПервая ... 7 8 9 10 ПоследняяПоследняя
Показано с 161 по 180 из 193

Тема: Скрипты

  1. #161

    По умолчанию

    Цитата Сообщение от colla
    Амели, кенга не хочет мне отвечать насчет моего вопроса про фразу вам туда не дотянуться в пилоте 1.07, может ты ответишь как исправить етот баг ? пожалуста..
    Это не баг. Ставь свежую версию пилота.

  2. #162

    По умолчанию

    Помогите плиз с хилингом - скрипт таков
    пока хиты не станут 120 тыкать в улий
    еси хиты < 120 хилиться до 150
    ну и пожрать там где нить пихнуть
    пилот 2,07 WK

  3. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #163

    По умолчанию

    Цитата Сообщение от shokolad
    Помогите плиз с хилингом
    http://uoo.ru/phpBB/viewtopic.php?t=...rt=180#2176488
    Думаююю устроит

  4. Master

    Регистрация
    06.06.2006
    Адрес
    ~HackeR~[Trance]
    Сообщений
    1,012
    #164

    По умолчанию

    есть у кого скрипт на горгетку чтоб делал?и сразу переплавлял?или попоже

  5. Neophyte

    Регистрация
    12.03.2007
    Адрес
    Warlocks
    Сообщений
    18
    #165

    По умолчанию

    дайте скрипт на поливку бонсая

  6. #166

    По умолчанию

    repeat 50
    double_left 774, 431 // клик на фертаил дёрт
    waitfortarget 4000
    left 362, 230 // бонсай
    wait 150000
    end_repeat
    repeat 50
    double_left 314, 219 // пустая бутылка
    wait 4000
    left 343, 178 //поилка
    wait 1000
    double_left 315, 222 //полная бутылка
    wait 4000
    left 361, 232 //бонсай
    wait 150000
    end_repeat
    say Пора искать ЯБЛОЧКИ!!!

    Здрасти, вот скрипт на полив и кормежку бонсая, но он сбивается, хотел бы попросить кого нибуть довести до ума так как сам немогу догнать где ставить циклы и условия...
    В реале хотелось бы чтоб реагировал на сообщения с сервака так как не всегда помогает wait...!
    Заранее благадарю

  7. Novice

    Регистрация
    23.05.2007
    Адрес
    ОдЫн, совсЭм одЫн
    Сообщений
    52
    #167

    По умолчанию

    Народ помогите плиз со скриптом на мининг. Либо чтобы копал через таргет сефл, но ходил, либо обкапывал тайлы вокруг себя.
    Заранее благодарю.

  8. #168

    По умолчанию

    Магия. Эффективно, но оставлять опасно.
    Код:

    While_not lastmsg you lack
    send F7 3000 // LastSpell WaitForTarg LastTarget
    End_while
    While_not lastmsg you must wait
    send F3 2000 // UseSkill Meditation
    End_while
    While_not lastmsg you are at
    If lastmsg you lose
    send F3 1000 // UseSkill Meditation
    End_if
    wait 200
    End_while
    send F1 // LastObject - еда


    у меня пишет Ошибка! проверьте правильность скрипта! вообщемто как с другими скриптами для майджири. подскажите как что делать?

  9. #169

    По умолчанию

    как лучше всего магию качать?

  10. Neophyte

    Регистрация
    13.08.2007
    Адрес
    [Yopt Club]
    Сообщений
    11
    #170

    По умолчанию

    ей пацаны дайте мне хороши скрипта по майнингу! если скрит на пилоте 2.12 WK сказу сюда кинту скрипта!

  11. #171

    По умолчанию

    Народ , Здрасте) я тут новенький и все дела)
    вот у меня тут прозьба маленькая. а не подскажете как сделать в том скрипте , что находится ниже , чтоб то , что я кую складывалось в одно место ?
    Цитата Сообщение от Gen
    //----------------
    move 705, 93
    wait 500
    double_left 705, 93
    wait 1000
    //----------------
    move 199, 62
    wait 500
    double_left 199, 62
    wait 1000
    move 65, 64
    wait 500
    double_left 65, 64
    wait 1000
    move 137, 65
    wait 500
    double_left 137, 65

  12. Journeyman
    [Banned]
    Регистрация
    06.08.2006
    Адрес
    sniper
    Сообщений
    308
    #172

    По умолчанию

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

  13. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #173

    По умолчанию

    Цитата Сообщение от kot5
    видел где то скрипт непомню где, что бы обкапывать все вокруг себя. в этом топе не нашел. киньте плз кто нить
    смотри такой же топ на форуме ВОПов фрии, там лежит, лчино выкладывал

  14. Journeyman
    [Banned]
    Регистрация
    06.08.2006
    Адрес
    sniper
    Сообщений
    308
    #174

    По умолчанию

    спс

  15. Journeyman
    [Banned]
    Регистрация
    06.08.2006
    Адрес
    sniper
    Сообщений
    308
    #175

    По умолчанию

    до того как переставлял клиент узал такой скрипт на магию:
    :start
    repeat 20
    send F6 3000 // LastSpell WaitForTarg LastTarget
    if lastmsg the spell
    break
    end_if
    if lastmsg you lack
    break
    end_if
    End_repeat
    double_left 1077, 597
    wait 1000
    set #i 0
    While_not lastmsg you must wait
    send 9 2000
    if lastmsg you are at
    break
    end_if
    if #i > 1000
    goto start
    end_if
    End_while
    set #i 0
    While_not lastmsg you are at
    If lastmsg you lose
    send 9 1000
    End_if
    if mana = int
    break
    end_if
    set #i #i+1
    if #i > 2000
    goto start
    end_if
    End_while

    щас чето не получается, пробывал и на UO Pilot 1,02b и на UO Pilot 1,07b4 неполучалось, в чем проблема?

  16. Journeyman
    [Banned]
    Регистрация
    06.08.2006
    Адрес
    sniper
    Сообщений
    308
    #176

    По умолчанию

    чет твой скрипт не пашет, пишит кеннот си зе таргет

  17. Expert

    Регистрация
    11.06.2001
    Адрес
    Revenge (Белые вороны)
    Сообщений
    544
    #177

    По умолчанию

    Тоже скриптик выложу.

    Автоматическое движение Ver 1.0
    Для программы UoPilot v2.12 WK

    * Скрипт на данный момент предусмотрен ТОЛЬКО для обхода касательных препятствий. Если чар упрется скрипт остановиться. Маршрут выбирать таким образом что бы не было упоров.

    *Параметр для индивидуальных настроек
    Set #ActionTimeOut 50
    50 это задержка в милисекундах на проверку выполнено действие или нет. Его подобрать индивидуально в зависимости от того как лагает у вас инет.

    *После указания этого параметра идет запись данных о точках в которые необходимо дойти. В виде

    Set #X 1
    Set #Y 1
    GoSub GoToPoint

    Set #X 2
    Set #Y 2
    GoSub GoToPoint

    и тд.

    *Вместо указанных #X и #Y указать свои.
    Точек добавлять столько сколько вам нужно

    *При необходимости после GoSub GoToPoint можно вставлять требуемые вам действия соответсвенно.
    *Остальные параметры являются служебными и редактированию не подлежат.

    Необходимые данные:
    1) Правильное отображение всех данных в пилоте
    2) стрелка вниз - Движение на SouthEast
    3) стрелка вверх - движение на NorthWes
    4) стрелка вправо - движение на NorthEast
    5) стрелка влево - движение на South West
    6) клавиша Home - движение на West
    7) клавиша PageUp - движение на North
    клавиша PageDown - движение на East
    9) клавиша End - движение на South
    * Если у вас вручную чар или не двигает или двигается не в те стороны - скрипт работать не будет.
    10) Задержку на выполнение строчек скрипта установить 1


    // Begin Script Options ================
    //Время ожидания действия, МСек.
    Set #ActionTimeOut 50
    // End Script Options ================

    Set #X 1
    Set #Y 1
    GoSub GoToPoint

    Set #X 2
    Set #Y 2
    GoSub GoToPoint


    End_Script

    //#Action
    //0 - Действие не выполнено
    //1 - Действие выполнено

    //#BeginCharDir
    //Содержит куда надо повернуть чара

    //#Blocked
    //0 - Препятствие отсутсвует
    //1 - Препятствие

    //#XBlocked #YBlocked
    //Координаты X и Y препятствия

    //#CountTurn
    //Количество шагов до цели
    //или движения по диаганали
    //до пересчета направления

    //#Barrier
    //Содержит результат функции
    //0 - Нет препятствия
    //1 - Есть препятсвие

    //Константы =======================
    Set #StrToInt 0
    // ================================

    //=================================
    // BEGIN ==========================
    // Подпрограмма для записи карты
    //=================================
    :SaveMap
    If #Blocked <> 0
    Set %arr [#XBlocked #YBlocked] 1
    Set #Blocked 0
    Set #XBlocked 0
    Set #YBlocked 0
    Else
    Set %arr [CharPosX CharPosY] 0
    End_If
    Return
    //=================================
    // END ============================
    //=================================

    //=================================
    // BEGIN ==========================
    //Подпрограмма для определения
    //дистанции до требуемой точки
    //=================================
    :GetDistance
    Set #DistanceNorth 0
    Set #DistanceNorthEast 0
    Set #DistanceEast 0
    Set #DistanceSouthEast 0
    Set #DistanceSouth 0
    Set #DistanceSouthWest 0
    Set #DistanceWest 0
    Set #DistanceNorthWest 0
    //Дистанция на North и South
    If #Y < CharPosY
    Set #DistanceNorth CharPosY - #Y
    Set #BeginCharDir 0
    Set #CountTurn #DistanceNorth
    End_If
    If #Y > CharPosY
    Set #DistanceSouth #Y - CharPosY
    Set #BeginCharDir 4
    Set #CountTurn #DistanceSouth
    End_If
    //Дистанция на West и East
    If #X < CharPosX
    Set #DistanceWest CharPosX - #X
    Set #BeginCharDir 6
    Set #CountTurn #DistanceWest
    End_If
    If #X > CharPosX
    Set #DistanceEast #X - CharPosX
    Set #BeginCharDir 2
    Set #CountTurn #DistanceEast
    End_If
    //Дистанция на NorthEast
    If (#DistanceNorth <> 0) And (#DistanceEast <> 0)
    If #DistanceNorth > #DistanceEast
    Set #DistanceNorthEast #DistanceEast
    Set #CountTurn #DistanceNorthEast
    Else
    Set #DistanceNorthEast #DistanceNorth
    Set #CountTurn #DistanceNorthEast
    End_If
    Set #BeginCharDir 1
    End_If
    //Дистанция на SoutWest
    If (#DistanceSouth <> 0) And (#DistanceWest <> 0)
    If #DistanceSouth > #DistanceWest
    Set #DistanceSouthWest #DistanceWest
    Set #CountTurn #DistanceSouthWest
    Else
    Set #DistanceSouthWest #DistanceSouth
    Set #CountTurn #DistanceSouthWest
    End_If
    Set #BeginCharDir 5
    End_If
    //Дистанция на NorthWest
    If (#DistanceNorth <> 0) And (#DistanceWest <> 0)
    If #DistanceNorth > #DistanceWest
    Set #DistanceNorthWest #DistanceWest
    Set #CountTurn #DistanceNorthWest
    Else
    Set #DistanceNorthWest #DistanceNorth
    Set #CountTurn #DistanceNorthWest
    End_If
    Set #BeginCharDir 7
    End_If
    //Дистанция на SouthEast
    If (#DistanceSouth <> 0) And (#DistanceEast <> 0)
    If #DistanceSouth > #DistanceEast
    Set #DistanceSouthEast #DistanceEast
    Set #CountTurn #DistanceSouthEast
    Else
    Set #DistanceSouthEast #DistanceSouth
    Set #CountTurn #DistanceSouthEast
    End_If
    Set #BeginCharDir 3
    End_If
    Set #Blocked 0
    GoSub SaveMap
    Return
    //=================================
    // END ============================
    //=================================

    //=================================
    // BEGIN ==========================
    //Подпрограмма поворота в сторону.
    //движения
    // ! #BeginCharDir должна содержать
    //направление куда поворачивать
    //При успехе возвращает #Action=1
    //При ошибке возвращает #Action=0
    //и записывает координаты
    //препятствия в массив
    //=================================
    :TurnToStep
    If CharDir = #BeginCharDir
    Set #Action 1
    Return
    End_If
    If #BeginCharDir = 0
    Send PageUp
    End_If
    If #BeginCharDir = 1
    Send Right
    End_If
    If #BeginCharDir = 2
    Send PageDown
    End_If
    If #BeginCharDir = 3
    Send Down
    End_If
    If #BeginCharDir = 4
    Send End
    End_If
    If #BeginCharDir = 5
    Send Left
    End_If
    If #BeginCharDir = 6
    Send Home
    End_If
    If #BeginCharDir = 7
    Send Up
    End_If
    Set #S 0
    While (#S <= #ActionTimeOut) And (CharDir <> #BeginCharDir)
    Wait 10
    Set #S #S + 10
    End_While
    If CharDir <> #BeginCharDir
    Set #Action 0
    //Запись данных о препятствии
    Set #Blocked 1
    If ((#BeginCharDir = 7) And (CharDir = 0)) Or ((#BeginCharDir = 7) And (CharDir = 6))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY - 1
    End_If
    If ((#BeginCharDir = 5) And (CharDir = 6)) Or ((#BeginCharDir = 5) And (CharDir = 4))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY + 1
    End_If
    If (#BeginCharDir = 3) And (CharDir = 4) Or ((#BeginCharDir = 3) And (CharDir = 2))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY + 1
    End_If
    If ((#BeginCharDir = 1) And (CharDir = 2)) Or ((#BeginCharDir = 1) And (CharDir = 0))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY - 1
    End_If
    GoSub SaveMap
    //END Запись данных о препятствии
    Else
    Set #Action 1
    End_If
    Return
    //=================================
    // END ============================
    //=================================

    //=================================
    // BEGIN ==========================
    //Подпрограмма движения до первого
    //Упора
    //=================================
    :RunStep
    Set #XBegin CharPosX
    Set #YBegin CharPosY
    Set #OldCharDir CharDir
    //==========================
    If #DistanceNorthEast > 0
    Send Right
    End_If
    If #DistanceNorthWest > 0
    Send Up
    End_If
    If #DistanceSouthEast > 0
    Send Down
    End_If
    If #DistanceSouthWest > 0
    Send Left
    End_If
    If (#DistanceNorth > 0) And ((#DistanceNorthWest = 0) And (#DistanceNorthEast = 0) )
    Send PageUp
    End_If
    If (#DistanceSouth > 0) And ((#DistanceSouthWest = 0) And (#DistanceSouthEast = 0) )
    Send End
    End_If
    If (#DistanceWest > 0) And ((#DistanceSouthWest = 0) And (#DistanceNorthWest = 0) )
    Send Home
    End_If
    If (#DistanceEast > 0) And ((#DistanceNorthEast = 0) And (#DistanceSouthEast = 0) )
    Send PageDown
    End_If
    //Пауза на выполнение действия
    Wait #ActionTimeOut
    Set #S 0
    While (#S <= #ActionTimeOut) And (#XBegin = CharPosX) And (#YBegin = CharPosY) And (#OldCharDir = CharDir)
    Wait 10
    Set #S #S + 10
    End_While
    //Если изменилось направление чара
    //Запись координат блокрующего
    //Предмета
    If (#BeginCharDir <> CharDir)
    Set #Blocked 1
    If ((#BeginCharDir = 7) And (CharDir = 0)) Or ((#BeginCharDir = 7) And (CharDir = 6))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY - 1
    End_If
    If ((#BeginCharDir = 5) And (CharDir = 6)) Or ((#BeginCharDir = 5) And (CharDir = 4))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY + 1
    End_If
    If (#BeginCharDir = 3) And (CharDir = 4) Or ((#BeginCharDir = 3) And (CharDir = 2))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY + 1
    End_If
    If ((#BeginCharDir = 1) And (CharDir = 2)) Or ((#BeginCharDir = 1) And (CharDir = 0))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY - 1
    End_If
    GoSub SaveMap
    End_If
    If ((#XBegin = CharPosX) And (#YBegin = CharPosY)) And (CharDir = #OldCharDir)
    Set #Action 0
    Else
    Set #Action 1
    If ((#XBegin <> CharPosX) Or (#YBegin <> CharPosY))
    Set #CountTurn #CountTurn - 1
    End_If
    End_If
    Return
    //=================================
    // END ============================
    //=================================


    //=================================
    // BEGIN ==========================
    //Подпрограмма для движения.
    //Если время шага < #StepTimeOut
    //=================================
    :Walk
    //1. Движение пока не будет упора
    While (#Action = 1) And ((#X <> CharPosX) Or (#Y <> CharPosY))
    GoSub RunStep
    If #CountTurn = 0
    GoSub GetDistance
    End_If
    End_While
    //1. END
    Return
    //=================================
    // END ============================
    //=================================


    :GoToPoint
    GoSub GetDistance
    While #Action <> 1
    GoSub TurnToStep
    End_While
    GoSub Walk
    Return

  18. Neophyte
    [Banned]
    Регистрация
    02.07.2008
    Адрес
    Мокрый Вилли
    Сообщений
    43
    #178

    По умолчанию

    Магия. Эффективно, но оставлять опасно.
    Код:

    While_not lastmsg you lack
    send F7 3000 // LastSpell WaitForTarg LastTarget
    End_while
    While_not lastmsg you must wait
    send F3 2000 // UseSkill Meditation
    End_while
    While_not lastmsg you are at
    If lastmsg you lose
    send F3 1000 // UseSkill Meditation
    End_if
    wait 200
    End_while
    send F1 // LastObject - еда


    Задержка между строк: 10

    почему у меня бегает в пиилоте курсор только на первые три строчки? а на медитацию не переходит?

  19. #179

    По умолчанию

    Цитата Сообщение от Gen
    Тоже скриптик выложу.

    Автоматическое движение Ver 1.0
    Для программы UoPilot v2.12 WK

    * Скрипт на данный момент предусмотрен ТОЛЬКО для обхода касательных препятствий. Если чар упрется скрипт остановиться. Маршрут выбирать таким образом что бы не было упоров.

    *Параметр для индивидуальных настроек
    Set #ActionTimeOut 50
    50 это задержка в милисекундах на проверку выполнено действие или нет. Его подобрать индивидуально в зависимости от того как лагает у вас инет.

    *После указания этого параметра идет запись данных о точках в которые необходимо дойти. В виде

    Set #X 1
    Set #Y 1
    GoSub GoToPoint

    Set #X 2
    Set #Y 2
    GoSub GoToPoint

    и тд.

    *Вместо указанных #X и #Y указать свои.
    Точек добавлять столько сколько вам нужно

    *При необходимости после GoSub GoToPoint можно вставлять требуемые вам действия соответсвенно.
    *Остальные параметры являются служебными и редактированию не подлежат.

    Необходимые данные:
    1) Правильное отображение всех данных в пилоте
    2) стрелка вниз - Движение на SouthEast
    3) стрелка вверх - движение на NorthWes
    4) стрелка вправо - движение на NorthEast
    5) стрелка влево - движение на South West
    6) клавиша Home - движение на West
    7) клавиша PageUp - движение на North
    клавиша PageDown - движение на East
    9) клавиша End - движение на South
    * Если у вас вручную чар или не двигает или двигается не в те стороны - скрипт работать не будет.
    10) Задержку на выполнение строчек скрипта установить 1


    // Begin Script Options ================
    //Время ожидания действия, МСек.
    Set #ActionTimeOut 50
    // End Script Options ================

    Set #X 1
    Set #Y 1
    GoSub GoToPoint

    Set #X 2
    Set #Y 2
    GoSub GoToPoint


    End_Script

    //#Action
    //0 - Действие не выполнено
    //1 - Действие выполнено

    //#BeginCharDir
    //Содержит куда надо повернуть чара

    //#Blocked
    //0 - Препятствие отсутсвует
    //1 - Препятствие

    //#XBlocked #YBlocked
    //Координаты X и Y препятствия

    //#CountTurn
    //Количество шагов до цели
    //или движения по диаганали
    //до пересчета направления

    //#Barrier
    //Содержит результат функции
    //0 - Нет препятствия
    //1 - Есть препятсвие

    //Константы =======================
    Set #StrToInt 0
    // ================================

    //=================================
    // BEGIN ==========================
    // Подпрограмма для записи карты
    //=================================
    :SaveMap
    If #Blocked <> 0
    Set %arr [#XBlocked #YBlocked] 1
    Set #Blocked 0
    Set #XBlocked 0
    Set #YBlocked 0
    Else
    Set %arr [CharPosX CharPosY] 0
    End_If
    Return
    //=================================
    // END ============================
    //=================================

    //=================================
    // BEGIN ==========================
    //Подпрограмма для определения
    //дистанции до требуемой точки
    //=================================
    :GetDistance
    Set #DistanceNorth 0
    Set #DistanceNorthEast 0
    Set #DistanceEast 0
    Set #DistanceSouthEast 0
    Set #DistanceSouth 0
    Set #DistanceSouthWest 0
    Set #DistanceWest 0
    Set #DistanceNorthWest 0
    //Дистанция на North и South
    If #Y < CharPosY
    Set #DistanceNorth CharPosY - #Y
    Set #BeginCharDir 0
    Set #CountTurn #DistanceNorth
    End_If
    If #Y > CharPosY
    Set #DistanceSouth #Y - CharPosY
    Set #BeginCharDir 4
    Set #CountTurn #DistanceSouth
    End_If
    //Дистанция на West и East
    If #X < CharPosX
    Set #DistanceWest CharPosX - #X
    Set #BeginCharDir 6
    Set #CountTurn #DistanceWest
    End_If
    If #X > CharPosX
    Set #DistanceEast #X - CharPosX
    Set #BeginCharDir 2
    Set #CountTurn #DistanceEast
    End_If
    //Дистанция на NorthEast
    If (#DistanceNorth <> 0) And (#DistanceEast <> 0)
    If #DistanceNorth > #DistanceEast
    Set #DistanceNorthEast #DistanceEast
    Set #CountTurn #DistanceNorthEast
    Else
    Set #DistanceNorthEast #DistanceNorth
    Set #CountTurn #DistanceNorthEast
    End_If
    Set #BeginCharDir 1
    End_If
    //Дистанция на SoutWest
    If (#DistanceSouth <> 0) And (#DistanceWest <> 0)
    If #DistanceSouth > #DistanceWest
    Set #DistanceSouthWest #DistanceWest
    Set #CountTurn #DistanceSouthWest
    Else
    Set #DistanceSouthWest #DistanceSouth
    Set #CountTurn #DistanceSouthWest
    End_If
    Set #BeginCharDir 5
    End_If
    //Дистанция на NorthWest
    If (#DistanceNorth <> 0) And (#DistanceWest <> 0)
    If #DistanceNorth > #DistanceWest
    Set #DistanceNorthWest #DistanceWest
    Set #CountTurn #DistanceNorthWest
    Else
    Set #DistanceNorthWest #DistanceNorth
    Set #CountTurn #DistanceNorthWest
    End_If
    Set #BeginCharDir 7
    End_If
    //Дистанция на SouthEast
    If (#DistanceSouth <> 0) And (#DistanceEast <> 0)
    If #DistanceSouth > #DistanceEast
    Set #DistanceSouthEast #DistanceEast
    Set #CountTurn #DistanceSouthEast
    Else
    Set #DistanceSouthEast #DistanceSouth
    Set #CountTurn #DistanceSouthEast
    End_If
    Set #BeginCharDir 3
    End_If
    Set #Blocked 0
    GoSub SaveMap
    Return
    //=================================
    // END ============================
    //=================================

    //=================================
    // BEGIN ==========================
    //Подпрограмма поворота в сторону.
    //движения
    // ! #BeginCharDir должна содержать
    //направление куда поворачивать
    //При успехе возвращает #Action=1
    //При ошибке возвращает #Action=0
    //и записывает координаты
    //препятствия в массив
    //=================================
    :TurnToStep
    If CharDir = #BeginCharDir
    Set #Action 1
    Return
    End_If
    If #BeginCharDir = 0
    Send PageUp
    End_If
    If #BeginCharDir = 1
    Send Right
    End_If
    If #BeginCharDir = 2
    Send PageDown
    End_If
    If #BeginCharDir = 3
    Send Down
    End_If
    If #BeginCharDir = 4
    Send End
    End_If
    If #BeginCharDir = 5
    Send Left
    End_If
    If #BeginCharDir = 6
    Send Home
    End_If
    If #BeginCharDir = 7
    Send Up
    End_If
    Set #S 0
    While (#S <= #ActionTimeOut) And (CharDir <> #BeginCharDir)
    Wait 10
    Set #S #S + 10
    End_While
    If CharDir <> #BeginCharDir
    Set #Action 0
    //Запись данных о препятствии
    Set #Blocked 1
    If ((#BeginCharDir = 7) And (CharDir = 0)) Or ((#BeginCharDir = 7) And (CharDir = 6))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY - 1
    End_If
    If ((#BeginCharDir = 5) And (CharDir = 6)) Or ((#BeginCharDir = 5) And (CharDir = 4))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY + 1
    End_If
    If (#BeginCharDir = 3) And (CharDir = 4) Or ((#BeginCharDir = 3) And (CharDir = 2))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY + 1
    End_If
    If ((#BeginCharDir = 1) And (CharDir = 2)) Or ((#BeginCharDir = 1) And (CharDir = 0))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY - 1
    End_If
    GoSub SaveMap
    //END Запись данных о препятствии
    Else
    Set #Action 1
    End_If
    Return
    //=================================
    // END ============================
    //=================================

    //=================================
    // BEGIN ==========================
    //Подпрограмма движения до первого
    //Упора
    //=================================
    :RunStep
    Set #XBegin CharPosX
    Set #YBegin CharPosY
    Set #OldCharDir CharDir
    //==========================
    If #DistanceNorthEast > 0
    Send Right
    End_If
    If #DistanceNorthWest > 0
    Send Up
    End_If
    If #DistanceSouthEast > 0
    Send Down
    End_If
    If #DistanceSouthWest > 0
    Send Left
    End_If
    If (#DistanceNorth > 0) And ((#DistanceNorthWest = 0) And (#DistanceNorthEast = 0) )
    Send PageUp
    End_If
    If (#DistanceSouth > 0) And ((#DistanceSouthWest = 0) And (#DistanceSouthEast = 0) )
    Send End
    End_If
    If (#DistanceWest > 0) And ((#DistanceSouthWest = 0) And (#DistanceNorthWest = 0) )
    Send Home
    End_If
    If (#DistanceEast > 0) And ((#DistanceNorthEast = 0) And (#DistanceSouthEast = 0) )
    Send PageDown
    End_If
    //Пауза на выполнение действия
    Wait #ActionTimeOut
    Set #S 0
    While (#S <= #ActionTimeOut) And (#XBegin = CharPosX) And (#YBegin = CharPosY) And (#OldCharDir = CharDir)
    Wait 10
    Set #S #S + 10
    End_While
    //Если изменилось направление чара
    //Запись координат блокрующего
    //Предмета
    If (#BeginCharDir <> CharDir)
    Set #Blocked 1
    If ((#BeginCharDir = 7) And (CharDir = 0)) Or ((#BeginCharDir = 7) And (CharDir = 6))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY - 1
    End_If
    If ((#BeginCharDir = 5) And (CharDir = 6)) Or ((#BeginCharDir = 5) And (CharDir = 4))
    Set #XBlocked CharPosX - 1
    Set #YBlocked CharPosY + 1
    End_If
    If (#BeginCharDir = 3) And (CharDir = 4) Or ((#BeginCharDir = 3) And (CharDir = 2))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY + 1
    End_If
    If ((#BeginCharDir = 1) And (CharDir = 2)) Or ((#BeginCharDir = 1) And (CharDir = 0))
    Set #XBlocked CharPosX + 1
    Set #YBlocked CharPosY - 1
    End_If
    GoSub SaveMap
    End_If
    If ((#XBegin = CharPosX) And (#YBegin = CharPosY)) And (CharDir = #OldCharDir)
    Set #Action 0
    Else
    Set #Action 1
    If ((#XBegin <> CharPosX) Or (#YBegin <> CharPosY))
    Set #CountTurn #CountTurn - 1
    End_If
    End_If
    Return
    //=================================
    // END ============================
    //=================================


    //=================================
    // BEGIN ==========================
    //Подпрограмма для движения.
    //Если время шага < #StepTimeOut
    //=================================
    :Walk
    //1. Движение пока не будет упора
    While (#Action = 1) And ((#X <> CharPosX) Or (#Y <> CharPosY))
    GoSub RunStep
    If #CountTurn = 0
    GoSub GetDistance
    End_If
    End_While
    //1. END
    Return
    //=================================
    // END ============================
    //=================================


    :GoToPoint
    GoSub GetDistance
    While #Action <> 1
    GoSub TurnToStep
    End_While
    GoSub Walk
    Return


    Вот это да.... а ты не пробывал научить свой пилот делать такую фишку типо PatchFind ?????

  20. #180

    По умолчанию

    Вобщем почитал я скрипты для пилота.... и понял... хотя вру.... не понял)) я всегда это знал... Сейчас только убедился ) ПИЛОТ удивительно рпимитивная программа для ультимки...... Админы... Объясните почему например нельзя пользоватся EasyUO ??? или я что то не понимаю.... в ней можно все эти скрипты реализовать очень просто.... если кто-то и может писать норм скрипты так он их пишет для себя..... возможно тут они тоже будут выкладыватся... но согласитесь.. далеко не каждый нуб сможет исправить чужой код программы и переделать его под себя??? я за легалайз EasyUO ))
    П.С. попрошу не судить строго за комент... и не судимы будете

Ваши права

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