PDA

X Для форума GoHa.Ru теперь доступен мобильный стиль. Подробнее...

Просмотр полной версии : Прошу поправить макрос


Entoniel
13.03.2012, 16:20
Доброго времени суток. Толкьо начал разбиратся в макросятничестве, так что прошу строго не ругать. В общем вопрос по такому вот макросу:

юзаю его через АвтоИТ, но есть в нем проблема- он вообще не реагирует на команду Send( "R" ) , т оесть оружие не прячет. из за этого не может юзать рест и соотвецтвенно скрипт работает до окончания маны и все. Приходится вообще убирать рест из него, или ставить таймер реста в ноль... но тогда скрипт кагбэ вообще мало нужен. Может кто подсказат ьв чем проблема?


Dim $a, $b, $c, $d, $e, $f
Global $Paused
HotKeySet("`", "TogglePause")
HotKeySet("{DEL}", "Terminate")
$d = InputBox( "Question", "Кнопка для Mana Missile?", "1" )
$e = InputBox( "Question", "Кнопка для Heal Self?", "3" )
$f = InputBox( "Question", "Кнопка для for Rest?", "0" )
$b = InputBox( "Question", "Сколько пальнуть Mana Missiles?", "10" )
$c = InputBox( "Question", "Сколько юзать Rest?", "155000" )
$g = InputBox( "Question", "Жрасть хотим? 1 да, 2 я на диете.", "2" )
If $g = 1 Then
$h = InputBox( "Question", "Hotbar number for Launch?", "4" )
MsgBox( 0, "Alert", "Нажмите OK, потом Alt + Tab в Darkfall чтобы начать скрипт" )
WinWaitActive( "Darkfall Online" )

While 1
$a = 0
Sleep ( 2000 )
Send( "R" )
Sleep ( 1000 )
Call( "Launch" )
Call( "HealSelf" )

Do
Call( "ManaMissile" )
$a = $a + 1
Until $a = $b
Sleep( 500 )
Call( "Launch" )
Sleep( 500 )
Call( "HealSelf" )
Sleep( 2500 )
Call( "Rest" )
WEnd

ElseIf $g = 2 Then1
MsgBox( 0, "Alert", "Click OK then Alt + Tab into Darkfall to start the script." )
WinWaitActive( "Darkfall Online" )

While 1
$a = 0
Sleep ( 2000 )
Send( "R" )
Sleep ( 500 )
Call( "HealSelf" )

Do
Call( "ManaMissile" )
$a = $a + 1
Until $a = $b
Sleep( 3000 )
Call( "HealSelf" )
Sleep( 5000 )
Call( "Rest" )
WEnd

Else
MsgBox( 0, "Alert", "You must choose yes or no for the launch question." )
Exit
EndIf

Func HealSelf( )
Sleep( 500 )
Send( $e )
Sleep( 500 )
MouseClick( "Left" )
Sleep( 2400 )
EndFunc

Func ManaMissile( )
Sleep( 500 )
Send( $d )
Sleep( 500 )
MouseClick( "Left" )
Sleep( 2000 )
EndFunc

Func Rest( )
Sleep( 2000 )
Send( "R" )
Sleep( 1000 )
Send( $f )
Sleep( 1000 )
MouseClick( "Left" )
Sleep( $c )
Send( "{SPACE}" )
Sleep( 500 )
EndFunc

Func Launch( )
Sleep( 1000 )
Send( $h )
Sleep( 500 )
MouseClick( "Left" )
Sleep( 6000 )
EndFunc


Func TogglePause( )
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc

Func Terminate( )
Exit 0
EndFunc

По идее он должен сперва кастовать себе под ноги 10 мана мислов, затем лечится, потом включать отдых пока идет откат хилки, потом вставать, снова лечится и снвоа кастовать мана мислы.

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

Shain
13.03.2012, 16:30
Ниче так начало, далеко пойдешь.... я пользовался теми которые работали, и потихоньку изучал их, вносил иземенения и смотрел что получается из этого )

CatBehemoth
13.03.2012, 17:20
охохо)
вот тебе рабочий макрос, он несколько обрезанный, но функцию свою выполняет) для AutoIt

Global $Paused
HotKeySet("`", "TogglePause")
HotKeySet("{DEL}", "Terminate")
$a = InputBox( "Question", "Delay between clicks?", "4000" )
$b = 0
WinActivate ("Darkfall Online")
Sleep( 600 )
Sleep (600)
$i = 0
While $i <= 10000000000
Sleep (300)
Harvest()
Sleep (300)
Harvest2()
Sleep (300)
$i = $i + 1
Wend

Func Harvest()
$m = 0
$b = 0
While $m < 6
$b = $b + 1
If $b = 1 Then Sleep(250)
If $b = 1 Then Send("1")
If $b = 1 Then sleep(250)
If $b = 1 Then Send("3")
If $b = 1 Then $m = $m + 1
If $b = 1 Then sleep(250)
If $b = 2 Then Send("2")
If $b = 2 Then sleep(250)
If $b = 2 Then Send("4")
If $b = 2 Then $m = $m + 1
If $b = 2 Then sleep(250)
If $b = 3 Then Send("1")
If $b = 3 Then sleep(250)
If $b = 3 Then Send("5")
If $b = 3 Then $m = $m + 1
If $b = 3 Then sleep(250)
If $b = 4 Then Send("2")
If $b = 4 Then sleep(250)
If $b = 4 Then Send("6")
If $b = 4 Then $m = $m + 1
If $b = 4 Then sleep(250)
If $b = 5 Then Send("1")
If $b = 5 Then sleep(250)
If $b = 5 Then Send("7")
If $b = 5 Then $m = $m + 1
If $b = 5 Then sleep(250)
If $b = 6 Then Send("2")
If $b = 6 Then sleep(250)
If $b = 6 Then Send("8")
If $b = 6 Then $m = $m + 1
If $b = 6 Then sleep(250)
If $b = 6 Then $b = 0
MouseClick( "Left" )
Sleep( $a )
WEnd
Sleep (300)
Send ("H")
Sleep (900)
Send("u")
Sleep (300)
EndFunc
Func Harvest2()
$m = 0
$b = 0
While $m < 6
$b = $b + 1
If $b = 1 Then Sleep(250)
If $b = 1 Then Send("1")
If $b = 1 Then sleep(250)
If $b = 1 Then Send("3")
If $b = 1 Then $m = $m + 1
If $b = 1 Then sleep(250)
If $b = 2 Then Send("2")
If $b = 2 Then sleep(250)
If $b = 2 Then Send("4")
If $b = 2 Then $m = $m + 1
If $b = 2 Then sleep(250)
If $b = 3 Then Send("1")
If $b = 3 Then sleep(250)
If $b = 3 Then Send("5")
If $b = 3 Then $m = $m + 1
If $b = 3 Then sleep(250)
If $b = 4 Then Send("2")
If $b = 4 Then sleep(250)
If $b = 4 Then Send("6")
If $b = 4 Then $m = $m + 1
If $b = 4 Then sleep(250)
If $b = 5 Then Send("1")
If $b = 5 Then sleep(250)
If $b = 5 Then Send("7")
If $b = 5 Then $m = $m + 1
If $b = 5 Then sleep(250)
If $b = 6 Then Send("2")
If $b = 6 Then sleep(250)
If $b = 6 Then Send("8")
If $b = 6 Then $m = $m + 1
If $b = 6 Then sleep(250)
If $b = 6 Then $b = 0
MouseClick( "Left" )
Sleep( $a )
WEnd
Sleep (300)
Send ("H")
Sleep (900)
Send("u")
Sleep (600)
EndFunc

Func Terminate( )
Exit 0
EndFunc

работает сей кусок кода примерно так - нужен 1 чистый хотбар, в слоты 1 и 2 ставишь посохи в слоты с 3 по 8 включительно, ставишь спеллы) запускаешь и он начинает перебирать палки, а затем кастовать спеллы.

где то еще были куски кода, от этого макроса, на восстановление и автозамену сломанной палки, но я хз :hapydancsmil: потерялось)

Vanderlof_renamed_671440_09032020
13.03.2012, 17:37
как хорошо что я играю без макросов :strange)
автоспринт не в счёт

makkon
14.03.2012, 14:08
юзаю его через АвтоИТ, но есть в нем проблема- он вообще не реагирует на команду Send( "R" )

в автоите вобще ноль, но обычно если не реагирует и прописано примерно так: Send( "R" )
1) у тя русская раскладка врублена, в автохоткее обычно используют виртуальные коды кнопок
2) у тя неправильный метод ввода (в автохоткее такой есть)
3) у тя неправильные тайминги

в идеале делать не таймингами, а считыванием картинок (в оконном режиме)
рест есть в игре реализованный бинд - садится сам (убирает оружие, садится)
советую еще юзать unshete weapon (т очно не помню). тоесть он на нажатие только достает, в опциях имеется такое
удачи

Entoniel
14.03.2012, 15:18
просто при бинде когда он убирает оружие и садится- ег оприцел центрируется на горизонт, а мне надо чтобы удрал оружие и сел, ни поднмиая прциела с пола. А с раскладкорй спасибо- првоерю

makkon
14.03.2012, 15:35
прицел центрируется всегда, тут никуда не уйти. в автохоткее чтобы опустить взгляд куда-то нужно прописать чонить типа:
DllCall("mouse_event", uint, 1, int, 0, int, 80, uint, o, int, 0)
регулируешь цифры для подстройки (вертикаль,Ю горизонталь и под сенсу мыши)
и вставляешь это на старт макроса или в цикл после того как чар встает
и макрос сам мышь втыкает куда нужно.

для аутоита гугли подобное. вобще в инете много скриптов уже готовых погугли. RapidMacro например

IIIaMaH
05.04.2012, 22:10
Скорее всего у тебя не работает макрос потому что раскладка не английская попробуй переключиться в Eng и запусти макрос.
Если он заработал то у тебя 3 пути либо ставь на макрос с английской раскладкой, либо вводи hex код клавиши, либо через поиск зайди на любое ру комунити аутоита и посмотри как модернизировать скрипт под мультираскладку =)
заранее пожалуйста!

AShkavro_renamed_657711_13032020
04.05.2012, 09:10
Научил бы кто нибудь основам боя без макросов, быстрого переключения оружия и прочим мелким радостям. На EU-сервере.
В общем, я из серии "дайте мне удочку, рыбу буду сам ловить".

Shain
04.05.2012, 09:33
Конкретней спрашивай. Основы боя - достал меч подошел зарубал, или лук, магия... Если тебя пресуют, что бы отойти используй щит. В спину дамаг двойной от любого оружия/магии. Так что свою старайся не подставлять, и пытайся таргету навалять по спине. И макросы это не мелкие радости, а очень весомый аргумент в пвп. Если тебе их влом использовать, покупай спец девайсы. В ДФе сложное управление, очень сложное, и небольшой затупняк может поменять исход боя.

Outflight
04.05.2012, 09:35
Научил бы кто нибудь основам боя без макросов, быстрого переключения оружия и прочим мелким радостям. На EU-сервере.
В общем, я из серии "дайте мне удочку, рыбу буду сам ловить".
А чему тут учиться? кнопки перебирать? бинди просто как тебе удобно и все

AShkavro_renamed_657711_13032020
04.05.2012, 13:15
И макросы это не мелкие радости, а очень весомый аргумент в пвп. Если тебе их влом использовать, покупай спец девайсы. В ДФе сложное управление, очень сложное, и небольшой затупняк может поменять исход боя.
Всё таки игра играется на макросах? жаль-жаль... Макросы "не влом" использовать, макросы писать не умею и не умею их активировать настраивать, следовательно надо оттолмутить мануалы по автохоткею (забавно, да: Хочешь расслабиться в игре после работы? Иди изучай мануалы по ахк!), либо постоянно ныть и клянчить макросы на каждое действие. Спец.девайсы помогут? Какие нужны, G13 ? Или всетаки любой мало мальски грамотный в макросописаниях укатает меня в любом случае?

В спину дамаг двойной от любого оружия/магии. Так что свою старайся не подставлять, и пытайся таргету навалять по спине.
Вот это уже толковый совет. То есть нуб обречен, если столкнется с ганкером-ПК, даже убежать не сможет...

А чему тут учиться? кнопки перебирать? бинди просто как тебе удобно и все
Примерно год назад активировал триал и пересекался с одним пареньком (случайно), он мне много чего ценного показал, только все забылось.
Типа:
переключение таким образом оружия, что бы сразу в одной руке щит и меч, и сразу в режиме боя. Если цель отбежала или далеко, нажал кнопку и мгновенно в руке лук в режиме боя. Несколько раз мы с ним дуэлились(не до смерти конечно), я даже что-то вроде стал понимать. А потом как-то все закрутилось, завертелось, в итоге я за год понял что кроме БФ3 и ДФа играть не во что, и решил снова попробовать, но больше "толковые пареньки готовые научить что и как" мне не попадаются. Вчера предлагали взять броню крафтовую 75 уровня, а зачем она мне, если я только с ней выйду меня тут же пришибут и снимут.

Shain
04.05.2012, 14:05
Всё таки игра играется на макросах? жаль-жаль... Макросы "не влом" использовать, макросы писать не умею и не умею их активировать настраивать, следовательно надо оттолмутить мануалы по автохоткею (забавно, да: Хочешь расслабиться в игре после работы? Иди изучай мануалы по ахк!), либо постоянно ныть и клянчить макросы на каждое действие. Спец.девайсы помогут? Какие нужны, G13 ? Или всетаки любой мало мальски грамотный в макросописаниях укатает меня в любом случае?

Обьясняю на пальцах. Макросы дают возможность "забиндить" на 1 кнопку несколько действий. Типа активировать нужную панель, достать скинер, кликнуть мышкой. Таким образом этот бинд можно перенести на менее удобную клавишу освободив при етом легкодоступную. Говорю же в игре много чего нажимать надо, даже такие мелочи со временем ничинают раздражать. Играть можно и без макросов, но это неудобно имхо. G13 пойдет, это все на любителя, мне например на мыше доп кнопки важней. ДФ не та игра чтоб расслабляться ) ДФ ПВП, скилл игра с фуллутом, какое расслабление ? Люди сюда за адреналином приходят.


Вот это уже толковый совет. То есть нуб обречен, если столкнется с ганкером-ПК, даже убежать не сможет...
На маунта и ноги, почему обречен.

Outflight
05.05.2012, 09:49
Сейчас мало новичков играет. В основном играет те, которым нравится атмосфера ДФа, нравится сама игра и ее стиль. Таким образом сейчас редко выйдешь в поле и встретишь какого нибудь фармящего нуба. Тебе, что бы убивать, надо просто тренироваться, и смотреть dfmovies.com по возможности.
Макросы не есть скил. Решает аим, и понимание того как двигаться и что делать. Поставь себе автоспринт, ротатор реев и меч+щит. Остальное - под свой стиль игры.

Рейтинг@Mail.ru