Page 3 of 5
Re: Миниг и рекол.
Posted: 2012-11-29 19:40:17
by ZeroDX
Incorrect User wrote:Так это и нужно, в начале каждого тайла ставится значение 0, и если 1 раз выкопал то ставится значение 0 + 1, и если выкопал еще раз то значение 1 + 1, а это > 1 как нам и нужно и скрипт будет переходить на новый круг.
так у тебя забивается не перед копкой тайла, а перед обкопкой вокруг себя. и обнулится только тогда, когда чар перейдёт на 5 клеток в сторону
Incorrect User wrote:Антимакрос вводится за 1 раз одно число из двух, после ввода числа гамп исчезает и появляется заново чтобы ввести второе число, юз кирки собьет ввод и просто вызовет новый антимакрос.
Code: Select all
repeat
wait(100)
if not uo.lastgump("replyed") then
while not uo.lastgump("replyed") and uo.lastgump("text", 0) == "Antimacros System"
antimacros()
wait(500)
wend
uo.usetype("0x0E85")
end if
until uo.injournal(msg) ot timer + 50 <= uo.timer()
думаю 500 милисекунд хватит на то, чтобы вылезло ещё окно
Re: Миниг и рекол.
Posted: 2012-11-29 19:46:06
by ZeroDX
Incorrect User wrote:Только в пилоте у меня были совмещены два скрипта на трекинг игроков и убивание гвардов, а тут я хочу сделать 2 одинаковых, но один реагирует на появление гвардов а второй на людей, чтобы когда скрипт убивает гварла проверка на людей не прерывалась.
запускаешь проверку на пк в отдельном потоке. если проверка найдёт кого-нибудь, просто убьёт или поставит на паузу поток с минингом, сделает свои дела и запустит мининг снова. пусть килл гварда тоже будет в отдельном потоке.
Re: Миниг и рекол.
Posted: 2012-11-29 20:51:02
by Incorrect User
ZeroDX wrote:[запускаешь проверку на пк в отдельном потоке. если проверка найдёт кого-нибудь, просто убьёт или поставит на паузу поток с минингом, сделает свои дела и запустит мининг снова. пусть килл гварда тоже будет в отдельном потоке.
Именно об этом я и говорил, мне нужно только узнать как будет происходить сравнение сообщений, точнее как именно это расписать, определять я буду по сообщениям сервера а не по треку итемов вокруг.
Re: Миниг и рекол.
Posted: 2012-11-29 21:32:07
by Incorrect User
А с минингом все же пока решил остановиться на своем варианте, слегда оптимизированном благодаря твей версии, работоспособность проверить пока нет времени
Code: Select all
sub Mining()
var circle
for x = -2 to 2
for y = -2 to 2
circle = 0
mine:
uo.deletejournal()
uo.waittargettile(1339, uo.getx() + x, uo.gety + y, uo.getz())
uo.usetype(0x0E85, 0x0000)
wait(500)
if not uo.LastGump('replyed') and uo.LastGump('text', 0) == 'Antimacros System' then
while not uo.injournal('Success')
AntiMacros()
wait(500)
wend
goto mine
endif
while not uo.injournal('put the|fail|far away|loosen|no ore|no line|try mining')
wait(100)
wend
if uo.injournal('put the iron|put the Marble') then
circle = circle + 1
else
if uo.injournal('put the') then
circle = 2
endif
endif
if not uo.injournal('far away|loosen|no ore|no line|try mining') or not circle > 1 then
goto mine
endif
next
next
end sub
Re: Миниг и рекол.
Posted: 2012-11-29 21:37:32
by ZeroDX
Не имею на руках инжекта, но хочется кое что проверить
Code: Select all
sub test123()
var intruder
uo.deletejournal()
repeat
wait(100)
until uo.injournal(":")
intruder = uo.journalserial(uo.injournal(":") - 1)
if uo.getgraphic(intruder) == "0x0190" or uo.getgraphic(intruder) == "0x0191" ; типы игроков, не уверен, писал по памяти
uo.say("player found")
else
uo.say("not a player")
end if
end sub
Re: Миниг и рекол.
Posted: 2012-11-29 21:48:15
by Incorrect User
ZeroDX wrote:Не имею на руках инжекта, но хочется кое что проверить
Сейчас проверю, а пока вот, конечный вариант, чар роет до упора(это до 3 удачных раз и в один тайл), ну уже что неправильно я не знаю
Code: Select all
sub Mining()
var circle, x, y
for x = -2 to 2
for y = -2 to 2
circle = 0
mine:
uo.deletejournal()
uo.waittargettile(1339, uo.getx() + x, uo.gety() + y, uo.getz())
uo.usetype(0x0E85, 0x048C)
wait(500)
if not uo.LastGump('replyed') and uo.LastGump('text', 0) == 'Antimacros System' then
while not uo.injournal('Success')
AntiMacros()
wait(500)
wend
goto mine
endif
while not uo.injournal('put the|fail|far away|loosen|no ore|no line|try mining')
wait(100)
wend
if uo.injournal('put the iron|put the Marble') then
circle = circle + 1
else
if uo.injournal('put the') then
circle = 2
endif
endif
if not uo.injournal('far away|loosen|no ore|no line|try mining') or not circle > 1 then
goto mine
endif
next
next
end sub
Re: Миниг и рекол.
Posted: 2012-11-29 21:52:14
by Incorrect User
На 8 строке парсер
Code: Select all
if uo.getgraphic(intruder) == "0x0190" or uo.getgraphic(intruder) == "0x0191"
Re: Миниг и рекол.
Posted: 2012-11-29 22:11:43
by ZeroDX
then не хватает
Re: Миниг и рекол.
Posted: 2012-11-29 22:14:59
by ZeroDX
Code: Select all
if not uo.injournal('far away|loosen|no ore|no line|try mining') or not circle > 1 then
goto mine
endif
думаю, что or надо заменить на and
Re: Миниг и рекол.
Posted: 2012-11-29 22:51:45
by Incorrect User
ZeroDX wrote:then не хватает
Запускаю, работает, но ничего не проиходит, не пишет ничего.
Re: Миниг и рекол.
Posted: 2012-11-29 23:02:42
by Incorrect User
И мининг заработал как надо после and. Такой странный синтаксис тут

Re: Миниг и рекол.
Posted: 2012-11-29 23:06:04
by ZeroDX
это не синтаксис а логика. and - И or - ИЛИ
Re: Миниг и рекол.
Posted: 2012-11-29 23:13:20
by Incorrect User
вот именно, если сообщение пришло нужно то уходить на новый круг ИЛИ если значение > 1, то есть либо то либо то, в пилоте все так и есть а тут бред.
Re: Миниг и рекол.
Posted: 2012-11-29 23:16:04
by ZeroDX
Code: Select all
far away|loosen|no ore|no line|try mining
такое сообщение 100% уведёт на второй круг тот тайл, который вообще копается
в ранних версиях у тебя все правильно
Re: Миниг и рекол.
Posted: 2012-11-29 23:17:45
by Incorrect User
Причем если мне нужно чтобы одновременно проверялись 2 условия в пилоте я напишу if (lastmsg put) and (lastmsg marble) то есть мне нужно чтобы было слово put и вместе с ним Marble и если его не будет то скрипт не сработает, а как тут такое сделать я вообще не в курсе тогда

Re: Миниг и рекол.
Posted: 2012-11-29 23:19:00
by ZeroDX
так же
Re: Миниг и рекол.
Posted: 2012-11-29 23:19:43
by Incorrect User
ZeroDX wrote:Code: Select all
far away|no ore|no line|try mining
такое сообщение 100% уведёт на второй круг тот тайл, который вообще копается
в ранних версиях у тебя все правильно
Все работает, копает айрон и марбл по 2 раза, все остальное по 1. Готовая версия такая
Code: Select all
sub Mining()
var circle, x, y
for x = -2 to 2
for y = -2 to 2
circle = 0
mine:
uo.deletejournal()
uo.waittargettile(1339, uo.getx() + x, uo.gety() + y, uo.getz())
uo.usetype(0x0E85, 0x048C)
wait(500)
if not uo.LastGump('replyed') and uo.LastGump('text', 0) == 'Antimacros System' then
while not uo.injournal('Success')
AntiMacros()
wait(500)
wend
uo.usetype(0x0E85, 0x048C)
endif
while not uo.injournal('put the|fail|far away|loosen|no ore|no line|try mining')
wait(100)
wend
if uo.injournal('put the iron|put the Agapite|put the Marble') then
circle = circle + 1
else
if uo.injournal('put the') then
circle = 2
endif
endif
if not uo.injournal('far away|no ore|no line|try mining') and not circle > 1 then
goto mine
endif
next
next
end sub
Re: Миниг и рекол.
Posted: 2012-11-29 23:20:56
by Incorrect User
Если так же то получается что если значение так и будет > 1 но не будет нужного сообщения то скрипт не сработает?
Re: Миниг и рекол.
Posted: 2012-11-29 23:25:26
by Incorrect User
Ладно, с этим минингом закончили, едем дальше - ходилка. Как расписать координаты в условии if? Вот нужные из пилота переделать под инжект.
Code: Select all
if ((charposx = 383) and (charposy = 1443)) or((charposx = 373) and (charposy = 1438)) or ((charposx = 388) and (charposy = 1433)) or ((charposx = 383) and (charposy = 1428)) or ((charposx = 378) and (charposy = 1433)) or ((charposx = 373) and (charposy = 1438)) or ((charposx = 368) and (charposy = 1438)) or ((charposx = 363) and (charposy = 1438)) or ((charposx = 358) and (charposy = 1457)) or ((charposx = 353) and (charposy = 1452)) or ((charposx = 363) and (charposy = 1452)) or ((charposx = 4038) and (charposy = 434)) or ((charposx = 4033) and (charposy = 429)) or ((charposx = 4028) and (charposy = 429)) or ((charposx = 4048) and (charposy = 460)) or ((charposx = 4043) and (charposy = 460)) or ((charposx = 4038) and (charposy = 465)) or ((charposx = 4033) and (charposy = 465)) or ((charposx = 2447) and (charposy = 882)) or ((charposx = 2442) and (charposy = 882)) or ((charposx = 2437) and (charposy = 882)) or ((charposx = 2448) and (charposy = 892)) or ((charposx = 2443) and (charposy = 897)) or ((charposx = 2438) and (charposy = 902))
Когда чар прорыл вокруг себя и проверяет координаты в которых он находится, и если совпало из списка то начинает делать шаги в нужную сторону, в данном случае на W по карте(Кнопка Home)
Re: Миниг и рекол.
Posted: 2012-11-29 23:43:50
by ZeroDX
не проще сделать так:
Code: Select all
sub mining()
for i = 0 to 2
реколл по руне i
for j = 0 to 7 step 2
мининг вокруг себя
шаг в сторону j
next
next
end sub