Yoko

All sides of Injection
It is currently 2024-04-16 05:59:41

All times are UTC+02:00




Post new topic  Reply to topic  [ 94 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
PostPosted: 2012-11-29 19:40:17 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Incorrect User wrote:
Так это и нужно, в начале каждого тайла ставится значение 0, и если 1 раз выкопал то ставится значение 0 + 1, и если выкопал еще раз то значение 1 + 1, а это > 1 как нам и нужно и скрипт будет переходить на новый круг.

так у тебя забивается не перед копкой тайла, а перед обкопкой вокруг себя. и обнулится только тогда, когда чар перейдёт на 5 клеток в сторону
Incorrect User wrote:
Антимакрос вводится за 1 раз одно число из двух, после ввода числа гамп исчезает и появляется заново чтобы ввести второе число, юз кирки собьет ввод и просто вызовет новый антимакрос.

Code:
                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.

Top
   
PostPosted: 2012-11-29 19:46:06 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Incorrect User wrote:
Только в пилоте у меня были совмещены два скрипта на трекинг игроков и убивание гвардов, а тут я хочу сделать 2 одинаковых, но один реагирует на появление гвардов а второй на людей, чтобы когда скрипт убивает гварла проверка на людей не прерывалась.

запускаешь проверку на пк в отдельном потоке. если проверка найдёт кого-нибудь, просто убьёт или поставит на паузу поток с минингом, сделает свои дела и запустит мининг снова. пусть килл гварда тоже будет в отдельном потоке.


Top
   
PostPosted: 2012-11-29 20:51:02 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
ZeroDX wrote:
[запускаешь проверку на пк в отдельном потоке. если проверка найдёт кого-нибудь, просто убьёт или поставит на паузу поток с минингом, сделает свои дела и запустит мининг снова. пусть килл гварда тоже будет в отдельном потоке.

Именно об этом я и говорил, мне нужно только узнать как будет происходить сравнение сообщений, точнее как именно это расписать, определять я буду по сообщениям сервера а не по треку итемов вокруг.

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 21:32:07 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
А с минингом все же пока решил остановиться на своем варианте, слегда оптимизированном благодаря твей версии, работоспособность проверить пока нет времени
Code:
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

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 21:37:32 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Не имею на руках инжекта, но хочется кое что проверить

Code:
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


Top
   
PostPosted: 2012-11-29 21:48:15 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
ZeroDX wrote:
Не имею на руках инжекта, но хочется кое что проверить

Сейчас проверю, а пока вот, конечный вариант, чар роет до упора(это до 3 удачных раз и в один тайл), ну уже что неправильно я не знаю :evil:

Code:
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

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 21:52:14 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
На 8 строке парсер
Code:
if uo.getgraphic(intruder) == "0x0190" or uo.getgraphic(intruder) == "0x0191"

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 22:11:43 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
then не хватает


Top
   
PostPosted: 2012-11-29 22:14:59 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Code:
      if not uo.injournal('far away|loosen|no ore|no line|try mining') or not circle > 1 then
        goto mine
      endif

думаю, что or надо заменить на and


Top
   
PostPosted: 2012-11-29 22:51:45 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
ZeroDX wrote:
then не хватает

Запускаю, работает, но ничего не проиходит, не пишет ничего.

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:02:42 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
И мининг заработал как надо после and. Такой странный синтаксис тут :)

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:06:04 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
это не синтаксис а логика. and - И or - ИЛИ


Top
   
PostPosted: 2012-11-29 23:13:20 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
вот именно, если сообщение пришло нужно то уходить на новый круг ИЛИ если значение > 1, то есть либо то либо то, в пилоте все так и есть а тут бред.

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:16:04 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Code:
far away|loosen|no ore|no line|try mining

такое сообщение 100% уведёт на второй круг тот тайл, который вообще копается
в ранних версиях у тебя все правильно


Top
   
PostPosted: 2012-11-29 23:17:45 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Причем если мне нужно чтобы одновременно проверялись 2 условия в пилоте я напишу if (lastmsg put) and (lastmsg marble) то есть мне нужно чтобы было слово put и вместе с ним Marble и если его не будет то скрипт не сработает, а как тут такое сделать я вообще не в курсе тогда :)

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:19:00 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
так же


Top
   
PostPosted: 2012-11-29 23:19:43 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
ZeroDX wrote:
Code:
far away|no ore|no line|try mining

такое сообщение 100% уведёт на второй круг тот тайл, который вообще копается
в ранних версиях у тебя все правильно

Все работает, копает айрон и марбл по 2 раза, все остальное по 1. Готовая версия такая
Code:
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

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:20:56 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Если так же то получается что если значение так и будет > 1 но не будет нужного сообщения то скрипт не сработает?

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:25:26 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Ладно, с этим минингом закончили, едем дальше - ходилка. Как расписать координаты в условии if? Вот нужные из пилота переделать под инжект.

Code:
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)

_________________
CodeSweeper


Top
   
PostPosted: 2012-11-29 23:43:50 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
не проще сделать так:
Code:
sub mining()
    for i = 0 to 2
        реколл по руне i
        for j = 0 to 7 step 2
            мининг вокруг себя
            шаг в сторону j
        next
    next
end sub


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 94 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited