Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

Привет всем!
Спустя 7-8 лет решил вернуться в УО. Играю на американском шарде (ping ~160).
Ближе к сути. Нужен скрипт, который будет:

    1) включаться и выключаться по нажатии определенной клавиши;
    2) Условия:
      а) Персонаж спрятан (uo.Hidden) - главное условие,
      б) Определенное сообщение в журнале;
    3) При выполнении условий: включая бег, пробегать определенное количество тайлов;
    4) При пройденном количестве тайлов: переходить с бега на шаг и ждать следующего сообщения (п.2/б);
    5) При следующем сообщении повторять все со второго пункта.

Механика работы скилла Stealth.
При useskill 'Hiding', персонаж переходит в состояние Спрятан. Если тут же сделать шаг, то происходит проверка на скилл Stealth. Если стелса достаточно (а его ГМ), то можно сразу же начинать движение. В журнале появляется строка "You begin to move quietly." Дальше скилл стелс можно вообще не использовать, т.е. сервер сам делает проверки каждые 10 шагов. Т.е. если я зажму кнопку движения и буду просто идти, то я не выйду из стелса никогда (конечно если мне не помогут :D ) И при этом useskill 'Stealth' мне делать не надо.
Теперь самое интересное.
Если после прохождения проверки и сообщения "You begin to move quietly." перейти в режим бега (например нажав клавишу AlwaysRun, забинденую через клиент), то персонаж пробегает 4-5 тайлов, начинается новая проверка на стелс и персонаж ревелится. Но если вовремя отжать бег и пройти стелс-проверку в режиме шага, то движение продолжится в стелсе.

Что сделал я.
Начитался топиков про Always Run On|Off, Как одной кнопкой включить и выключить скрипт, еще парочку тем и схлестнул всю эту инфу в какой-то дикой угарной смеси (да, да, я не умею писать скрипты, я только их редактирую). Вот что из этого получилось:

Code: Select all

sub TEST()
###################################################
sub AR_On()
   uo.DeleteJournal()       # чищу журнал
   While uo.Hidden()       # Выполняюсь пока в хайде
###################################################
      if UO.GetGlobal('ST') == '1' then
         UO.SetGlobal('ST','2')
        #wait(5000)             # Cтрока используется для примера,
                                       # чтобы проследить как выгрузится скрипт.
         return
      else
         UO.SetGlobal('ST','1')
      endif
      while 1 == 1
         if UO.GetGlobal('ST') == '2' then
            #wait(5000)             # Cтрока используется для примера.
            UO.SetGlobal('ST','0')
            return
         endif
###################################################
         if UO.InJournal('0xABCA') then      # Если в журнале нашлось "You begin to move quietly", то
            uo.DeleteJournal()
            uo.press(120)                            # жму F9
            wait(900)                                   # Вот то, на чьих соплях держится вся эта ерунда - ТАЙМЕР!
            uo.press(120)                            # жму F9 еще раз чтобы выключить AlwaysRun.
         endif
         
      Wend
end sub
###################################################
      #wait(2000)                       # Cтрока используется для примера.
      #UO.Print("ИДЕТ ТЕСТ ...") # Cтрока используется для примера.
wend
end sub

Вот как это выглядит в динамике:
http://youtu.be/lcWd3CmXO_I

Понятно, что делать такие действия, основываясь только на задержке между нажатиями, да еще и с пингом выше 150 - это ерунда.
Сам я не осилю, но видел что на инжекте пишут какие-то космические вещи с ресурсами... сам тебе рубит, сам тебе копает, реколится, куёт, переплавляет/продает... В общем, ваха не килл плиз хелп дай шото=)

P.S. Кстати, если кому интересны пеньки, как у меня, на последних клиентах (7.0.х.х), обращайтесь, помогу.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Mirage »

Если я правильно понял вопрос то попробуй вот так:

Code: Select all

var key=120, x,y,n
sub main()                         
   Repeat   
      AR_Off()
      uo.DeleteJournal()
      If Not UO.Hidden() Then
         UO.UseSkill('Hiding')
         repeat
            wait(100)
         until UO.Hidden()
      endif
      While uo.Hidden()
         if UO.InJournal('0xABCA') then
            uo.DeleteJournal()
            AR_On()                  # <---------------
            x=UO.GetX()
            y=UO.GetY()
            n=0
            repeat    #  цикл для 10 шагов в режиме бега
               if x<>UO.GetX() or y<>UO.GetY() then
                  x=UO.GetX()
                  y=UO.GetY()
                  n=n+1
                  uo.print(str(n))
               endif
               wait(100)
            until n>=10 or not uo.Hidden()   # пока не пройдено 10 шагов или не раскрыт
            AR_Off()                    # <---------------
         endif
         wait(100)
      Wend
      (100)
   Until UO.Dead()   
end sub
sub AR_Off()
   if uo.GetRun('self')>0 then
      uo.press(key)
   endif
   uo.print('Шаг')
end sub
sub AR_On()
   if uo.GetRun('self')==0 then
      uo.press(key)
   endif
   uo.print('Бег')
end sub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Nmy »

Repeat

Until uo.dead() можно заменить на это

Code: Select all

##########################################
Sub test()
##########################################
   If uo.getglobal('test')==1 then
   uo.setglobal('test',0)
   uo.print(' !!! -= Test: off =- !!! ')
   uo.exec('terminate test')
   else
   uo.setglobal('test',1)
   uo.print(' !!! -= Test: on =- !!! ')
   end if
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#

;script
;script
;script

#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
                                       
   uo.setglobal('test',0)
#   uo.print(' !!! -= Test: off =- !!! ')
##########################################
end sub
##########################################
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

Mirage и Nmy, спасибо вам за ответы!
Немного переделал и упростил ваши скрипты. В итоге получилось:

Code: Select all

Sub test()
##################################################
   var x,y,n
   DeleteJournal("0xABCA")
   while uo.Hidden()  #1111
##################################################
      if UO.GetGlobal('test')=='11' then
         UO.SetGlobal('test','00')
         UO.Exec('terminate test')
         UO.Exec('terminate test')
         UO.Exec('terminate test')
         UO.Print(' !!! -= Test: off =- !!! ')
      else
         UO.SetGlobal('test','11')
         UO.Print(' !!! -= Test: on =- !!! ')
      endif
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
      while uo.Hidden() #2222
         if UO.InJournal('0xABCA') then
            DeleteJournal("0xABCA")
            uo.press(120)
            x=UO.GetX()
            y=UO.GetY()
            n=0
            repeat    #  цикл для n шагов в режиме бега
               if x<>UO.GetX() or y<>UO.GetY() then
                  x=UO.GetX()
                  y=UO.GetY()
                  n=n+1
                  uo.print(str(n))
               endif
            until n>=2 or not uo.Hidden()
            uo.press(120)
         endif #quietly
      wend  #uo.Hidden(2222)
   wend  #uo.Hidden(1111)   
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
   uo.setglobal('test',00)
end sub


##################DeleteJournal###################

Sub DeleteJournal(msg)
   While UO.InJournal(msg)
      UO.SetJournalLine(UO.InJournal(msg) - 1,'')
   wend
end sub

Почему аж три раза UO.Exec('terminate test')? Потому что до этого почему-то не срабатывал повторный вызов test() Т.е. глобальная переменная менялась, но почему-то скрипт не останавливался при выполнении условия if UO.GetGlobal('test')=='11'
При чем, UO.Print(' !!! -= Test: off =- !!! ') я видел, но вот скрипт продолжал выполняться + запускалась еще одна копия.
При этом, если в игровом чате написать _terminate test, скрипт останавливался. Наверное дело в какой-то задержке...
Решение нашлось методом тыка, продублировал три раза строку - работает :D Можно включать и выключать скрипт по хоткею, при этом не ревелясь.
А, и еще пришлось добавить функцию Sub DeleteJournal(msg) Потому что uo.DeleteJournal() конфликтовал с соседним скриптом на авто-хайд, но это уже совсем другая история...

Беспокоит меня вот что:
Периодически пробегаю на один тайл больше, чем в скрипте, и ревелюсь. Из-за чего это может быть? Лаги? Или тормоза клиента? Есть идеи, как с этим бороться, не уменьшая количество тайлов в скрипте.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Mirage »

until n>=2
пока чар не от отбежал на 2 или более тайлов.

uo.press(120)
по моему лучше заменить на включался и выключалку бега как я привел пример. Она будет надежнее. Если ты в режиме шага твой скрипт в любом случае перейдет на бег. А мой перейдет только если ты хочешь бежать.


UO.Exec('terminate test')
UO.Print(' !!! -= Test: off =- !!! ')
надо выносить выше первого while. У тебя не срабатывает с первого раза потому что цикл где то в другом месте работает. Если вынесешь вверх то будет меньше повторов. Nmy
же написал его выше всего скрипта.

Code: Select all

Sub test()
   var x,y,n
   if UO.GetGlobal('test')=='1' then
      UO.SetGlobal('test','0')
      UO.Print(' !!! -= Test: off =- !!! ')
      UO.Exec('terminate test')
   else
      UO.SetGlobal('test','1')
      UO.Print(' !!! -= Test: on =- !!! ')
   endif
   DeleteJournal("0xABCA")
   while uo.Hidden()
      if UO.InJournal('0xABCA') then
         DeleteJournal("0xABCA")
         uo.press(120)
         x=UO.GetX()
         y=UO.GetY()
         n=0
         repeat    #  цикл для n шагов в режиме бега
            if x<>UO.GetX() or y<>UO.GetY() then
               x=UO.GetX()
               y=UO.GetY()
               n=n+1
               uo.print(str(n))
            endif
         until n=2 or not uo.Hidden()
         uo.press(120)
      endif
      wait(100) ; нужен обязательно!
   wend
   uo.setglobal('test',00)
end sub
##################DeleteJournal###################
Sub DeleteJournal(msg)
   While UO.InJournal(msg)
      UO.SetJournalLine(UO.InJournal(msg) - 1,'')
   wend
end sub




PS он работает? :lol: Я писал "на коленке". :roll:
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

Работает!))) Ну я докручивал в нем что-то очень долго по незнанию, но основа работает)
Спасибо тебе за помощь, все сделал как ты сказал - все работает. Не идеально конечно, но наверное выжать из этой темы больше уже нельзя...
Я теперь извращаюсь в другой теме: Упрощение snooping'a вору.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Nmy »

а что за сервер такой?
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

uoforever.com
Хороший сервер) Там по ходу за последние пол года меньше 400 онлайна не было)
Image
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Nmy »

Не могу зайти на инже или голым клиентом. Только разор работает :oops:
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

Да, там нужен у них обязательный разор, но я на инже играю без проблем.
Вот мои настройки:
Image
Image
Клиент у меня 7.0.31.0
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Juicy Fruit »

Пора обновить инжект :D
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Nmy »

Заработало. Только время на уо уже нету больше :lol:

Зайду как нить в другой раз.

з.ы. не заходило из за ignoresocket 400x
Lemah
Posts: 16
Joined: 2013-09-29 14:17:07

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Lemah »

File_, можешь подробнее расписать процесс подключения инжекта к uoforever.com?
Я пробовал комбинации клиентов 7.0.15.1 и 7.0.32.x c Injection'ами 1309.15, 1308.26, 1307.18 с различной комбинацией настроек - ни с одним вариантом зайти не смог. С твоими скринами настроек включительно.
Правда с момента твоего поста с настройками там было 1-2 апдейта, могли что-то пофиксить. Не мог бы ты подтвердить что сейчас у тебя нормально коннектится с инжектом. Спасибо.

Такое впечатление что сервер не отвечает даже на первый пакет, если захожу с инжектом (по логам CommView), как будно выставлен энкрипшен, хотя Encription в инжекте None(ignition).
Те же клиенты с Razor-ом и AssistUO заходят нормально, Stealth Client коннектится успешно без энкрипта.

П.С. Если кто-то может проверить - login.uoforever.com:2599, Game runs RunUO 2.2 Engine.
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

Подтверждаю. Коннектится и работает.
Вот моя папка с инжектом и клиент:

http://www.ex.ua/385710230574
ключ: 385710230574
Lemah
Posts: 16
Joined: 2013-09-29 14:17:07

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by Lemah »

Спасибо. Уже сам разобрался.
Сегодня буду опробовать твои макросы и портировать свои с Ассиста на Инжект.
Как раз щас вором в основном играю :mrgreen:
File_
Posts: 8
Joined: 2005-09-18 15:22:30
Contact:

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by File_ »

Lemah wrote:Спасибо. Уже сам разобрался.
Сегодня буду опробовать твои макросы и портировать свои с Ассиста на Инжект.
Как раз щас вором в основном играю :mrgreen:


Хорошо)
Правда там обновление вышло несколько недель назад, после которого я перехотел играть.
Добавили задержку между стилингом и хайдом.
infainfa
Posts: 6
Joined: 2013-10-13 01:58:15

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by infainfa »

File_ wrote:
Lemah wrote:Спасибо. Уже сам разобрался.
Сегодня буду опробовать твои макросы и портировать свои с Ассиста на Инжект.
Как раз щас вором в основном играю :mrgreen:


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



А можешь выложить еще раз клиент на ex ? заранее благодарен!
infainfa
Posts: 6
Joined: 2013-10-13 01:58:15

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by infainfa »

infainfa wrote:
File_ wrote:
Lemah wrote:Спасибо. Уже сам разобрался.
Сегодня буду опробовать твои макросы и портировать свои с Ассиста на Инжект.
Как раз щас вором в основном играю :mrgreen:


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



А можешь выложить еще раз клиент на ex ? заранее благодарен!


Спасибо,уже не надо. Рад буду только скриптам)
uotime
Posts: 8
Joined: 2014-02-06 11:50:03

Re: Хочу бегать и чтобы никто не видел! (Нужен скрипт).

Post by uotime »

Hello everyone.

I just decided to come back to UO after many many years. Was very happy to see that injection is still under development, it has always been my favourite tool.

Does anyone have to client to work with UOForever? Would be very much appreciated!
Post Reply