Page 1 of 2

Always Run On|Off

Posted: 2009-12-09 09:30:13
by TarantuL
Доброго времени суток..
Помогите с такой вещичкой..


Code: Select all

sub AR_On()
   UO.DeleteJournal()
   uo.press(38)
   wait(200)
   if uo.injournal ('Always Run is now on.')
      then uo.print('Бежим')
   else uo.press(38)
      uo.print('Бежим')
   endif
end sub


sub AR_Off()
   UO.DeleteJournal()
   uo.press(38)
   wait(200)
   if uo.injournal ('Always Run is now off.')
      then uo.print('Идём...')
   else uo.press(38)
      uo.print('Идём...')
   endif
end sub



Как то так чтоли?

Re: Always Run On|Off

Posted: 2009-12-09 12:02:08
by Mirage
Если у тебя на кнопке с кодом 38 забит переключатель то да так :)

Code: Select all

sub AR_On()
   UO.DeleteJournal()
   uo.press(38)
   wait(200)
   if uo.injournal ('Always Run is now on.')
   else
   uo.press(38)
   endif
      uo.print('Бежим')
end sub

sub AR_Off()
   UO.DeleteJournal()
   uo.press(38)
   wait(200)
   if uo.injournal ('Always Run is now off.')
   else
   uo.press(38)
   endif
      uo.print('Идём...')
end sub

Posted: 2009-12-09 16:01:00
by TarantuL
кнопка наобум, ваще на 115 стоит.. Но не работает, вот в чем фигня)


Там совсем криво.. вот тут вроде покрасивше, но тоже не то))


Code: Select all

sub AR_Off()
   UO.DeleteJournal()
   wait(100)
   uo.press(115)
   wait(500)
    if uo.injournal('now off') then
    wait(100)
      uo.print('Идём...')
   else
   if uo.injournal('now on') then
   wait(100)
   uo.press(115)
   wait(100)
      uo.print('Идём...')
   endif
end sub

Posted: 2009-12-09 18:26:29
by Mirage

Code: Select all

sub AR_Off()
   if uo.GetRun('self')>0 then
   uo.press(45)
   endif
      uo.print('Шаг')
end sub

sub AR_On()
   if uo.GetRun('self')==0 then
   uo.press(45)
   endif
      uo.print('Бег')
end sub
8)



Code: Select all

event macro 32 0
if #SYSMSG = ALWAYS_RUN_IS_NOW_OFF.
event macro 32 0
halt

и все :roll:

Posted: 2009-12-10 04:18:10
by TarantuL
Спс :)) Да, изи в элементарных вещах Тема :)

Posted: 2009-12-10 09:28:23
by CuHTpoH
чо за шаг бег??? как вы это контролите? без перла

Posted: 2009-12-10 10:00:51
by Mirage
uo.GetRun('self')>0 :P
она работает только на себя. При беге выдает 1 при шаге 0

Re:

Posted: 2011-02-12 18:53:32
by -=#MIB#=-
Mirage wrote:

Code: Select all

sub AR_Off()
   if uo.GetRun('self')>0 then
   uo.press(45)
   endif
      uo.print('Шаг')
end sub

sub AR_On()
   if uo.GetRun('self')==0 then
   uo.press(45)
   endif
      uo.print('Бег')
end sub
8)



Code: Select all

event macro 32 0
if #SYSMSG = ALWAYS_RUN_IS_NOW_OFF.
event macro 32 0
halt

и все :roll:


Доброго времени суток, Мirage будь добр объясни что означает 2ой код, как использовать его (для чего он вообще) :roll:

Re: Always Run On|Off

Posted: 2011-02-12 21:16:59
by Mirage
тоже самое что в первом скрипте только для изиуо

Re: Always Run On|Off

Posted: 2012-02-26 00:05:57
by Nearga
Наблюдаются траблы с этим на ДВРе.

Бег включается/выключается, но uo.GetRun('self') всегда возвращает значение 1. Посему AR_Off() переключает AlwaysRun, а AR_On() вообще ничего не делает.

Хм, пока это писал - uo.GetRun('self') стало возвращать всегда 0. Может больше подождать нужно?

Вызвал несколько раз подряд AR_On(), затем AR_Off().
Image

Re: Always Run On|Off

Posted: 2012-02-26 00:07:28
by Nearga
Упс, даблпостинг :oops:

Re: Always Run On|Off

Posted: 2012-02-26 19:43:09
by Mirage
Можно предположить что кнопка которая забиндена в игре как Always Run совпадает с кнопкой хоткеем AR_Off() либо AR_On(). В данном примере это должны быть 3 разные кнопки.
Можно сократить до 2 если использовать глобальные переменные.

PS я просто забиндил на Alt+R "Always Run" и все :roll:

Re: Always Run On|Off

Posted: 2012-02-26 19:52:54
by Nearga
Можно предположить что кнопка которая забиндена в игре как Always Run совпадает с кнопкой хоткеем AR_Off() либо AR_On(). В данном примере это должны быть 3 разные кнопки.

Предположение хорошее, но я вызываю функции в скрипте, они эмулируют нажатие на кнопку переключения бега. Тоесть всего 1 кнопка, и та эмулируется :)

Мне нужно из скрипта управлять ОлвейзРаном. Когда копаемся в шахте - ходим (ибо стелс), когда бежим домой - бег (ибо пешком дольше).
Тоесть нужно установить, что в определенный момент времени чар 100% бежит/идет.

Перепроверю хоткеи еще раз.

Re: Always Run On|Off

Posted: 2012-02-26 22:12:26
by Nmy
для меня на дрв вроде корректно работало сейчас этот скрипт

Re: Always Run On|Off

Posted: 2012-02-28 16:15:24
by Nearga
Та же срань... включается-выключается когда хочет.

Nmy, а что именно ты юзаешь?

Re: Always Run On|Off

Posted: 2013-10-04 12:18:17
by Petrovich
А как сделать чтобы он при вхождение в стеалтч выключал always run, а при выходе из стеалтч опять включал ?

Re: Always Run On|Off

Posted: 2013-10-04 14:22:16
by RL_ka
Petrovich wrote:А как сделать чтобы он при вхождение в стеалтч выключал always run, а при выходе из стеалтч опять включал ?


Через опции забиндить на кнопку AlwaysRun, а потом из скрипта ловить строчки стелса и нажимать нужную кнопку

Re: Always Run On|Off

Posted: 2013-10-04 14:32:18
by Petrovich
RL_ka wrote:
Petrovich wrote:А как сделать чтобы он при вхождение в стеалтч выключал always run, а при выходе из стеалтч опять включал ?


Через опции забиндить на кнопку AlwaysRun, а потом из скрипта ловить строчки стелса и нажимать нужную кнопку


Это все понятно... Что надо в скрипте пару строчек вставить...
Если бы знал, что вставлять и как, то не спрашивал бы

Re: Always Run On|Off

Posted: 2013-10-06 16:44:42
by Petrovich
ХЗ, туплю не могу разобраться....

sub main()
while not UO.Dead()
UO.DeleteJournal()
UO.UseSkill('Hiding')
while not (UO.InJournal('seem') or UO.InJournal('hidden'))
wait(200)
UO.Press(35)
wend
if UO.InJournal('seem') then
else
UO.Press(35)
endif
while not UO.INJournal('revealed')
UO.Press(35)
wend
wend
end sub

Re: Always Run On|Off

Posted: 2013-10-06 17:19:32
by Mirage

Code: Select all

Sub test()
UO.UseSkill('Hiding')
   AR_Off()
   while uo.Hidden()
      wait(100)
   wend
AR_On()
end sub


sub AR_Off()
   if uo.GetRun('self')>0 then
   uo.press(45)
   endif
end sub

sub AR_On()
   if uo.GetRun('self')==0 then
   uo.press(45)
   endif
end sub
как то так.
Вот прет то вас всякие костыли для ПВП делать. Руками и забинденными кнопками играть уже не прилично?