Плиз Помогите!

Ask for help

Moderators: Murderator+, Murderator

Lolikus
Posts: 19
Joined: 2013-03-01 19:59:00

Плиз Помогите!

Post by Lolikus »

когда нажимаю на Launch открывается простой клиент а окошки Инжекта нету.... переустановил инжу но проблема не устранилась, помогите Пож!
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Посмотри стоит ли в лаунчере снизу слева галочка "Use injection"
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Плиз Помогите!

Post by Juicy Fruit »

Или удали injection.xml
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Не буду создавать отдельную тему, напишу здесь. У нас на шарде если убили в ГЗ то труп лутать можно только через 600 секунд(если убил ты то через 300). При мне человек полутал труп в ГЗ сразу после убийства без ожидания. Как такое возможно, как он смог открыть труп? Так же у нас задержка на фаст лут, если лутаешь быстро то краш, но я видел как лутают моментально и их не крашит(правда чел уже давно в бане, но вопрос не в этом).
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Плиз Помогите!

Post by Mirage »

,snoop

крашит изза сообщения в журнале или в принципе крашит - настройка на сервере?
Если изза сообщения типо ОБНАРУЖЕН ФАСТ ЛУТ!!! то добавь игнор этой фразы, если второе то хз
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Вроде сообщения я такого не видел, сейчас проверю будет или нет.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Нет, никаких сообщений, причем чар даже не передвигал итем, он был слишком тяжелый и он не мог сдвинуть его с места, сфера писала Is too heavy... два раза написала и кон лост. Задержка на мув была 100.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

,snoop появляется пустой контейнер, положил в него свою вещь, забрать не могу, пишет не я убил. Как же он его полутал.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Почему не показывает расстояние до трупа? Сделал для теста

Code: Select all

uo.print(str(uo.getdistance("lastcorpse")))
, если вместо lastcorpse вставить любой id из вещей вокруг то показывает нормально а с lastcorpse не хочет, показывает 0 на любом расстоянии.

Как узнать что ты убил и появился труп? Сообщений типа You see body не появляется, пробовал типа

Code: Select all

uo.attack("0x12345678")
repeat
wait(100)
until uo.gethp("0x12345678") == 0
Так работает но с глюками, бывает срабатывает после снятия хп у атакуемого но он еще не умер. until uo.getstatus("0x12345678") == 0 не работает вообще.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Плиз Помогите!

Post by Mirage »

я делал вот так:

Code: Select all

uo.attack('finditem')
   repeat
      wait(100)
   until uo.dead() or uo.GetX('finditem')==0

Атака, ждем пока сам не умер или цель не пропала.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Отлично, спасибо. А с ласткорпс оказалось он трупы не видит, сколько ни убей, все время какой-то левый ID показывает вместо ID свежего трупа. Пока не знаю почему, сделал поиск трупов и предварительным игнором уже существующих.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Теперь такой вопрос, будут одновременно работать две функции, они непрерывно используют findtype. Для одной нужно искать на максимум расстояния, для другой всего 3 тайла хватит. Вопрос, можно ли для каждой отдельно установить нужное значение finddistanse, и стоит ли заморачиваться, исхожу из того что меньше тайлов проверять - меньше нагрузка, а парсерами инжа любит радовать.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Плиз Помогите!

Post by Mirage »

Мудришь ты все чего то. Одновременно работающие функции тебя крашнут.
Вот черновик модуля для бота-охотника.

Code: Select all

sub KillIt()
   VAR MaxVes = 600
   VAR n=1
   var animal='0x000D'
   uo.ignorereset()
   
   Repeat
      uo.Set('finddistance', n)
      uo.FindType(animal, -1, 'ground')
      if uo.FindCount() then
         uo.resend()
         n=1
         uo.attack('finditem')
         repeat
            if uo.GetDistance('finditem') > 2 then
               walker(uo.GetX('finditem'),uo.GetY('finditem'),2) ; если цель дальше чем 2 тайла шагаем к ней
            else
               wait(100) ; или ждем пока убьем или умрем
            end if
         until uo.dead() or uo.GetX('finditem')==0
         wait(100)
         Loot()
      else
         n=n+1 ; увеличиваем диапазон поиска жертвы
         if n>10 then ; если расстояние поиска больше 10 тайлов - начинаем искать рядом
            n=1
         endif
      end if
      Loot()
   Until uo.Dead() || UO.Weight > MaxVes ; все это повторяем пока не перегрузимся или не умрем
   hanthome() ; тащимся домой
end sub
Sub Loot()
   var a
   DIM G[7]
   G[1] = '0x0EED'; деньги
   G[2] = '0x0E76'; мешки
   G[3] = '0x09AA'; пандоры
   G[4] = '0x1BFB'; болты
   G[5] = '0x0F3F'; стрелы
   G[6] = '0x1087'; серьги
   G[7] = '0x108A'; кольца
   var body = '0x2006' ; тип трупа
   var corpse
   UO.Set('quiet','1')
   uo.set('finddistance', '3')
   ###Вот это сообщение которое вылезает при быстром луте.###
   UO.filterspeech('clear')
   UO.filterspeech('add','[Surprize ! Fast loot detected!]')
   UO.filterspeech('on')
   ###########################################################
   uo.findtype(body, -1, 'ground')
   if uo.findcount() and Uo.GetDistance( body ) < 4 then ; если труп ближе чем 4 тайла
      corpse = uo.getSerial('finditem')
      uo.deletejournal()
      uo.useobject(corpse)
      checklag()
      if NOT uo.injournal("You can't do it here") then ; если ты можешь достать до трупа и можешь открыть его
         For a=1 to 7 ; ищем предметы в трупе
            UO.FindType( G[a], -1, corpse )
            while UO.FindCount()
               uo.moveitem('finditem','0','backpack')
               wait(100)
               UO.FindType( G[a], -1, corpse )
            wend
         next
      endif
      UO.Hide(corpse) ; скрываем труп
      UO.Ignore(corpse) ; игнорируем для дальнейшего поиска
   else
      For a=1 to 7 ; ищем предметы на земле
         UO.FindType(G[a],-1,'ground')
         while UO.FindCount()
            uo.moveitem('finditem','0','backpack')
            wait(100)
            UO.FindType(G[a],-1,'ground')
         wend
      next
   endif
   uo.Set('finddistance', 1)
   UO.Set('quiet','0')
endsub

Это для охоты. Сканим вокруг себя начиная от 1 тайла до 10 тайлов. Если нашли - идем бить, убили - лутаем.
Тут можно посмотреть нужные тебе фишки и использовать в своем творении. Ходилки и каких то var возможно не хватает.
Будет глючить если рядом с тобой ктото убивает зверьков. Может пытаться открыть не тобой убитый труп а тот который ближе к тебе. Но когда охотишься в одиночку или ПВП 1 на 1 то сойдет. Зато просто используя LOOT можно облутить неограниченное количество трупов в куче. Пока хватит веса чара.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

У меня работали так 2 скрипта, с ZeroDX делали, парсер вылетал но довольно редко, терпимо. Просто скриптов не осталось, сейчас пишу все по новому, и все как-то по другому, немного лучше чем тогда выходит. Самое важное для меня в скрипте это моментальная рекация, потому что хватает читерков, но все равно успевали меня в стены поставить(я на экран смотрю редко) но все же не упал ни разу, скрипт спасал. Поэтому хочется еще лучше чем было в тот раз. Буду пробовать по журналу искать без файндтайпа, ждем ":" и проверяем.

Еще есть вопрос такой, как сделать чтобы искал из массива тип не 1 раз, а до тех пор пока перестанет находить вещь этого типа. Я сделал так(пример)

Code: Select all

var i
dim Item[3]
Item[1] = 0x0001
Item[2] = 0x0002
Item[3] = 0x0003
for i = 1 to 3
  repeat
    uo.findcount(Item[i], "-1", "ground")
    if uo.findcount() then
      uo.print("+1")
    else
      wait(100)
    end if
  until not uo.findcount() ; Искать повторно итем до тех пор пока не найдет такой тип.
next

Но так не работает, находит один и после него ищет следующие по списку хотя такие же типы как у него есть в месте поиска.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Плиз Помогите!

Post by Mirage »

Code: Select all

var i
dim Item[3]
Item[1] = 0x0001
Item[2] = 0x0002
Item[3] = 0x0003
for i = 1 to 3
   repeat
      uo.findcount(Item[i], "-1", "ground")
      if uo.findcount() then
         uo.print("+1")
         wait(100)
      end if
   Until uo.FindCount()<1 or uo.Dead()
next
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Как игнорировать свои сообщения, чтобы в журнале небыло сообщений которые появляются над чаром?
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Почему не срабатывает такого плана скрипт

Code: Select all

if uo.gethp("0x0000000") > 50 then
      uo.attack("0x0000000")
end if

То есть если у обьекта менее более 50 хп то нужно его атаковать. Но скрипт не атакует до тех пор, пока не набросишь таргет любой на обьект который нужно атаковать, любой таргет.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Плиз Помогите!

Post by Mirage »

Потому что ни одна программа не умеет снимать количество жизней оппонента если они не показаны гампом или текстом явно. Там есть какая то шкала - чтото типо 100%, 20%... Можно попытаться оттолкнуться от неё.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Мне для кача это, нужно бить или игрока или животное(смотря что качаешь), до определенного хп и останавливаться ожидая пока отхилится, не могу придумать как сделать.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Плиз Помогите!

Post by Incorrect User »

Со своими сообщениями решил так

Code: Select all

var msg = ":"
  Deljournal(msg)
  repeat
    wait(100)
  until uo.injournal(msg) and not uo.JournalSerial(uo.InJournal(msg)-1) == "свой id"

Теперь не идет на проверку если сообщение от меня, он знает это заранее. С тем как проверять ХП ничего не придумал. Хотя оно показывает иногда ХП например

Code: Select all

uo.print(uo.gethp(id объекта))

и пишет сколько у него реально сейчас хп, но потом через время перестает, просто не пишет ничего :? Я помню как в уо пилоте делал подобное, через readmem, в артмани находил значение хп существа и потом его забивал в пилот.
Post Reply