Incorrect User wrote:Так это и нужно, в начале каждого тайла ставится значение 0, и если 1 раз выкопал то ставится значение 0 + 1, и если выкопал еще раз то значение 1 + 1, а это > 1 как нам и нужно и скрипт будет переходить на новый круг.
так у тебя забивается не перед копкой тайла, а перед обкопкой вокруг себя. и обнулится только тогда, когда чар перейдёт на 5 клеток в сторону
Incorrect User wrote:Антимакрос вводится за 1 раз одно число из двух, после ввода числа гамп исчезает и появляется заново чтобы ввести второе число, юз кирки собьет ввод и просто вызовет новый антимакрос.
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 милисекунд хватит на то, чтобы вылезло ещё окно
Last edited by ZeroDX on 2012-11-29 19:47:08, edited 1 time in total.
Incorrect User wrote:Только в пилоте у меня были совмещены два скрипта на трекинг игроков и убивание гвардов, а тут я хочу сделать 2 одинаковых, но один реагирует на появление гвардов а второй на людей, чтобы когда скрипт убивает гварла проверка на людей не прерывалась.
запускаешь проверку на пк в отдельном потоке. если проверка найдёт кого-нибудь, просто убьёт или поставит на паузу поток с минингом, сделает свои дела и запустит мининг снова. пусть килл гварда тоже будет в отдельном потоке.
ZeroDX wrote:[запускаешь проверку на пк в отдельном потоке. если проверка найдёт кого-нибудь, просто убьёт или поставит на паузу поток с минингом, сделает свои дела и запустит мининг снова. пусть килл гварда тоже будет в отдельном потоке.
Именно об этом я и говорил, мне нужно только узнать как будет происходить сравнение сообщений, точнее как именно это расписать, определять я буду по сообщениям сервера а не по треку итемов вокруг.
А с минингом все же пока решил остановиться на своем варианте, слегда оптимизированном благодаря твей версии, работоспособность проверить пока нет времени
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
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
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
Причем если мне нужно чтобы одновременно проверялись 2 условия в пилоте я напишу if (lastmsg put) and (lastmsg marble) то есть мне нужно чтобы было слово put и вместе с ним Marble и если его не будет то скрипт не сработает, а как тут такое сделать я вообще не в курсе тогда
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
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)